From 6b3f2114f2ba0510a42aae339de1294f2419b7b6 Mon Sep 17 00:00:00 2001 From: Shaun Bennett Date: Tue, 10 Feb 2015 13:27:29 -0500 Subject: [PATCH 1/6] Holy debug code! --- .../arcade/managers/GameLobbyManager.java | 25 ------------------- 1 file changed, 25 deletions(-) diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameLobbyManager.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameLobbyManager.java index 9b1028065..c94fe36af 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameLobbyManager.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameLobbyManager.java @@ -1303,29 +1303,4 @@ public class GameLobbyManager implements Listener, IPacketHandler event.setCancelled(true); } - /** - * DEBUG - */ - @EventHandler - public void command(PlayerCommandPreprocessEvent event) - { - Player player = event.getPlayer(); - if (event.getMessage().startsWith("/enable")) - { - player.setGameMode(GameMode.CREATIVE); - player.setFlying(true); - player.setFlySpeed(0.1f); - ((CraftPlayer) player).getHandle().spectating = true; - ((CraftPlayer) player).getHandle().k = false; - } - else if (event.getMessage().startsWith("/disable")) - { - player.setGameMode(GameMode.SURVIVAL); - player.setFlying(false); - player.setFlySpeed(0.1f); - ((CraftPlayer) player).getHandle().spectating = false; - ((CraftPlayer) player).getHandle().k = true; - } - } - } From cafa59d7e875f3e5ede79aa7077d4c40684c116d Mon Sep 17 00:00:00 2001 From: Mini-Chiss Date: Wed, 11 Feb 2015 14:16:08 +1300 Subject: [PATCH 2/6] adjusted reward rarities --- .../Mineplex.Core/src/mineplex/core/reward/RewardType.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Plugins/Mineplex.Core/src/mineplex/core/reward/RewardType.java b/Plugins/Mineplex.Core/src/mineplex/core/reward/RewardType.java index 1ac3424f1..7083771e8 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/reward/RewardType.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/reward/RewardType.java @@ -4,9 +4,9 @@ public enum RewardType { //% Chances Mythic Legend Rare Uncommon GameLoot( 0.000001, 0.00001, 0.0001, 3), - OldChest( 0, 0.01, 0.04, 5), + OldChest( 0, 0.1, 0.0, 5), AncientChest( 0, 1, 4, 25), - MythicalChest( 0.5, 2.5, 10, 40); + MythicalChest( 0.5, 3, 12, 75); private double _mythicalChance; private double _legendaryChance; From 92d3a7dab8c52aff343fbe3c29664d7821dea4c8 Mon Sep 17 00:00:00 2001 From: Mini-Chiss Date: Wed, 11 Feb 2015 14:42:41 +1300 Subject: [PATCH 3/6] all chests purchasable by coins --- .../src/mineplex/core/reward/RewardType.java | 2 +- .../{OldChest.java => ChestPackage.java} | 9 +++---- ...icChestButton.java => BuyChestButton.java} | 26 +++++++++++------- .../core/treasure/gui/TreasurePage.java | 27 ++++++++++++------- 4 files changed, 38 insertions(+), 26 deletions(-) rename Plugins/Mineplex.Core/src/mineplex/core/treasure/{OldChest.java => ChestPackage.java} (66%) rename Plugins/Mineplex.Core/src/mineplex/core/treasure/gui/{BuyBasicChestButton.java => BuyChestButton.java} (60%) diff --git a/Plugins/Mineplex.Core/src/mineplex/core/reward/RewardType.java b/Plugins/Mineplex.Core/src/mineplex/core/reward/RewardType.java index 7083771e8..dfd9f77f6 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/reward/RewardType.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/reward/RewardType.java @@ -4,7 +4,7 @@ public enum RewardType { //% Chances Mythic Legend Rare Uncommon GameLoot( 0.000001, 0.00001, 0.0001, 3), - OldChest( 0, 0.1, 0.0, 5), + OldChest( 0, 0.1, 0.4, 5), AncientChest( 0, 1, 4, 25), MythicalChest( 0.5, 3, 12, 75); diff --git a/Plugins/Mineplex.Core/src/mineplex/core/treasure/OldChest.java b/Plugins/Mineplex.Core/src/mineplex/core/treasure/ChestPackage.java similarity index 66% rename from Plugins/Mineplex.Core/src/mineplex/core/treasure/OldChest.java rename to Plugins/Mineplex.Core/src/mineplex/core/treasure/ChestPackage.java index b3c65dd94..ef550b390 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/treasure/OldChest.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/treasure/ChestPackage.java @@ -1,18 +1,17 @@ package mineplex.core.treasure; -import org.bukkit.ChatColor; import org.bukkit.Material; import org.bukkit.entity.Player; import mineplex.core.common.CurrencyType; import mineplex.core.shop.item.SalesPackageBase; -public class OldChest extends SalesPackageBase +public class ChestPackage extends SalesPackageBase { - public OldChest() + public ChestPackage(String name, Material mat, int cost) { - super("Old Chest", Material.CHEST, (byte) 0, new String[] {}, 1000); - + super(name, mat, (byte) 0, new String[] {}, cost); + KnownPackage = false; OneTimePurchaseOnly = false; } diff --git a/Plugins/Mineplex.Core/src/mineplex/core/treasure/gui/BuyBasicChestButton.java b/Plugins/Mineplex.Core/src/mineplex/core/treasure/gui/BuyChestButton.java similarity index 60% rename from Plugins/Mineplex.Core/src/mineplex/core/treasure/gui/BuyBasicChestButton.java rename to Plugins/Mineplex.Core/src/mineplex/core/treasure/gui/BuyChestButton.java index 990211b26..f71cefe74 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/treasure/gui/BuyBasicChestButton.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/treasure/gui/BuyChestButton.java @@ -1,5 +1,6 @@ package mineplex.core.treasure.gui; +import org.bukkit.Material; import org.bukkit.entity.Player; import org.bukkit.event.inventory.ClickType; @@ -9,24 +10,29 @@ import mineplex.core.donation.DonationManager; import mineplex.core.inventory.InventoryManager; import mineplex.core.shop.item.IButton; import mineplex.core.shop.page.ConfirmationPage; -import mineplex.core.treasure.OldChest; +import mineplex.core.treasure.ChestPackage; import mineplex.core.treasure.TreasureManager; -public class BuyBasicChestButton implements IButton +public class BuyChestButton implements IButton { - private Player _player; - private InventoryManager _inventoryManager; private TreasurePage _page; - public BuyBasicChestButton(Player player, InventoryManager inventoryManager, TreasurePage page) - { - _player = player; - + private String _chestName; + private Material _chestMat; + private int _chestCost; + + public BuyChestButton(Player player, InventoryManager inventoryManager, TreasurePage page, + String chestName, Material chestMat, int chestCost) + { _inventoryManager = inventoryManager; _page = page; + + _chestName = chestName; + _chestMat = chestMat; + _chestCost = chestCost; } @Override @@ -37,9 +43,9 @@ public class BuyBasicChestButton implements IButton { public void run() { - _inventoryManager.addItemToInventory(player, "Item", "Old Chest", 1); + _inventoryManager.addItemToInventory(player, "Item", _chestName, 1); _page.Refresh(); } - }, _page, new OldChest(), CurrencyType.Coins, player)); + }, _page, new ChestPackage(_chestName, _chestMat, _chestCost), CurrencyType.Coins, player)); } } \ No newline at end of file diff --git a/Plugins/Mineplex.Core/src/mineplex/core/treasure/gui/TreasurePage.java b/Plugins/Mineplex.Core/src/mineplex/core/treasure/gui/TreasurePage.java index d392959c0..113626ad3 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/treasure/gui/TreasurePage.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/treasure/gui/TreasurePage.java @@ -60,8 +60,9 @@ public class TreasurePage extends ShopPageBase basicLore.add(ChatColor.RESET + C.cGreen + "Click to Open!"); else { - basicLore.add(ChatColor.RESET + "Cost: " + C.cYellow + "1000 Coins"); - basicLore.add(ChatColor.RESET + "Click to Purchase!"); + basicLore.add(ChatColor.RESET + "Click to Purchase for " + C.cYellow + "1000 Coins"); + basicLore.add(" "); + basicLore.add(ChatColor.RESET + "or Purchase at: " + C.cYellow + "www.mineplex.com/shop"); } List heroicLore = new ArrayList(); @@ -76,7 +77,9 @@ public class TreasurePage extends ShopPageBase heroicLore.add(ChatColor.RESET + C.cGreen + "Click to Open!"); else { - heroicLore.add(ChatColor.RESET + "Purchase at: " + C.cYellow + "www.mineplex.com/shop"); + heroicLore.add(ChatColor.RESET + "Click to Purchase for " + C.cYellow + "5000 Coins"); + heroicLore.add(" "); + heroicLore.add(ChatColor.RESET + "or Purchase at: " + C.cYellow + "www.mineplex.com/shop"); } List legendaryLore = new ArrayList(); @@ -94,18 +97,22 @@ public class TreasurePage extends ShopPageBase legendaryLore.add(ChatColor.RESET + C.cGreen + "Click to Open!"); else { - legendaryLore.add(ChatColor.RESET + "Purchase at: " + C.cYellow + "www.mineplex.com/shop"); + legendaryLore.add(ChatColor.RESET + "Click to Purchase for " + C.cYellow + "10000 Coins"); + legendaryLore.add(" "); + legendaryLore.add(ChatColor.RESET + "or Purchase at: " + C.cYellow + "www.mineplex.com/shop"); } ShopItem basic = new ShopItem(Material.CHEST, C.cGreen + C.Bold + "Old Chest", basicLore.toArray(new String[0]), 0, false, false); ShopItem heroic = new ShopItem(Material.TRAPPED_CHEST, C.cGold + C.Bold + "Ancient Chest", heroicLore.toArray(new String[0]), 0, false, false); ShopItem legendary = new ShopItem(Material.ENDER_CHEST, C.cRed + C.Bold + "Mythical Chest", legendaryLore.toArray(new String[0]), 0, false, false); - if (basicCount > 0) - AddButton(2, basic, new OpenTreasureButton(Player, _treasureLocation, TreasureType.OLD)); - else - AddButton(2, basic, new BuyBasicChestButton(Player, _inventoryManager, this)); - AddButton(4, heroic, new OpenTreasureButton(Player, _treasureLocation, TreasureType.ANCIENT)); - AddButton(6, legendary, new OpenTreasureButton(Player, _treasureLocation, TreasureType.MYTHICAL)); + if (basicCount > 0) AddButton(2, basic, new OpenTreasureButton(Player, _treasureLocation, TreasureType.OLD)); + else AddButton(2, basic, new BuyChestButton(Player, _inventoryManager, this, "Old Chest", Material.CHEST, 1000)); + + if (heroicCount > 0) AddButton(4, heroic, new OpenTreasureButton(Player, _treasureLocation, TreasureType.ANCIENT)); + else AddButton(4, heroic, new BuyChestButton(Player, _inventoryManager, this, "Ancient Chest", Material.CHEST, 5000)); + + if (legendaryCount > 0) AddButton(6, legendary, new OpenTreasureButton(Player, _treasureLocation, TreasureType.MYTHICAL)); + else AddButton(6, legendary, new BuyChestButton(Player, _inventoryManager, this, "Mythical Chest", Material.CHEST, 10000)); } } From 500e37a61845b45e2c1ed60675596961b0309cc4 Mon Sep 17 00:00:00 2001 From: Mini-Chiss Date: Wed, 11 Feb 2015 14:44:14 +1300 Subject: [PATCH 4/6] fixed ender chest shop item --- .../src/mineplex/core/treasure/gui/TreasurePage.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Plugins/Mineplex.Core/src/mineplex/core/treasure/gui/TreasurePage.java b/Plugins/Mineplex.Core/src/mineplex/core/treasure/gui/TreasurePage.java index 113626ad3..d55024764 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/treasure/gui/TreasurePage.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/treasure/gui/TreasurePage.java @@ -113,6 +113,6 @@ public class TreasurePage extends ShopPageBase else AddButton(4, heroic, new BuyChestButton(Player, _inventoryManager, this, "Ancient Chest", Material.CHEST, 5000)); if (legendaryCount > 0) AddButton(6, legendary, new OpenTreasureButton(Player, _treasureLocation, TreasureType.MYTHICAL)); - else AddButton(6, legendary, new BuyChestButton(Player, _inventoryManager, this, "Mythical Chest", Material.CHEST, 10000)); + else AddButton(6, legendary, new BuyChestButton(Player, _inventoryManager, this, "Mythical Chest", Material.ENDER_CHEST, 10000)); } } From 264ecfc36277507bc28f0d399f9bb3b520bf5e97 Mon Sep 17 00:00:00 2001 From: Mini-Chiss Date: Wed, 11 Feb 2015 15:13:33 +1300 Subject: [PATCH 5/6] lowered legendary chance on old chest slightly --- Plugins/Mineplex.Core/src/mineplex/core/reward/RewardType.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Plugins/Mineplex.Core/src/mineplex/core/reward/RewardType.java b/Plugins/Mineplex.Core/src/mineplex/core/reward/RewardType.java index dfd9f77f6..556c7f5e0 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/reward/RewardType.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/reward/RewardType.java @@ -4,7 +4,7 @@ public enum RewardType { //% Chances Mythic Legend Rare Uncommon GameLoot( 0.000001, 0.00001, 0.0001, 3), - OldChest( 0, 0.1, 0.4, 5), + OldChest( 0, 0.05, 0.4, 5), AncientChest( 0, 1, 4, 25), MythicalChest( 0.5, 3, 12, 75); From 58eaaaa2eebaab1bd0714beb60ea17ef471980e0 Mon Sep 17 00:00:00 2001 From: Shaun Bennett Date: Tue, 10 Feb 2015 21:15:44 -0500 Subject: [PATCH 6/6] Treasure fixes --- Plugins/.idea/libraries/NoCheatPlus.xml | 9 ++++ Plugins/Mineplex.Core/Mineplex.Core.iml | 1 + .../src/mineplex/core/treasure/Treasure.java | 2 + .../core/treasure/TreasureLocation.java | 51 +++++++++++-------- .../src/mineplex/game/clans/Clans.java | 9 ++-- .../Mineplex.MapParser/Mineplex.MapParser.iml | 4 +- 6 files changed, 50 insertions(+), 26 deletions(-) create mode 100644 Plugins/.idea/libraries/NoCheatPlus.xml diff --git a/Plugins/.idea/libraries/NoCheatPlus.xml b/Plugins/.idea/libraries/NoCheatPlus.xml new file mode 100644 index 000000000..92bd59440 --- /dev/null +++ b/Plugins/.idea/libraries/NoCheatPlus.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/Plugins/Mineplex.Core/Mineplex.Core.iml b/Plugins/Mineplex.Core/Mineplex.Core.iml index d331f2503..1a3abf88d 100644 --- a/Plugins/Mineplex.Core/Mineplex.Core.iml +++ b/Plugins/Mineplex.Core/Mineplex.Core.iml @@ -19,5 +19,6 @@ + \ No newline at end of file diff --git a/Plugins/Mineplex.Core/src/mineplex/core/treasure/Treasure.java b/Plugins/Mineplex.Core/src/mineplex/core/treasure/Treasure.java index 463224286..e93f556da 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/treasure/Treasure.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/treasure/Treasure.java @@ -277,6 +277,8 @@ public class Treasure _rewards[_currentReward].giveReward("Treasure", _player); } + _currentReward = _rewards.length; + // Remove any extra blocks resetBlockInfo(_chestBlockInfo); resetBlockInfo(_openedChestBlockInfo); diff --git a/Plugins/Mineplex.Core/src/mineplex/core/treasure/TreasureLocation.java b/Plugins/Mineplex.Core/src/mineplex/core/treasure/TreasureLocation.java index 60571e757..8911e6d3a 100644 --- a/Plugins/Mineplex.Core/src/mineplex/core/treasure/TreasureLocation.java +++ b/Plugins/Mineplex.Core/src/mineplex/core/treasure/TreasureLocation.java @@ -169,7 +169,7 @@ public class TreasureLocation implements Listener treasure.update(); - if (treasure.isFinished() && treasure.getFinishedTickCount() >= 80) + if (!treasure.getPlayer().isOnline() || (treasure.isFinished() && treasure.getFinishedTickCount() >= 80)) { treasure.cleanup(); @@ -191,24 +191,6 @@ public class TreasureLocation implements Listener } } - @EventHandler - public void preventGadgetBlockEvent(GadgetBlockEvent event) - { - if (isTreasureInProgress()) - { - List blocks = event.getBlocks(); - - for (Block block : blocks) - { - if (_currentTreasure.containsBlock(block)) - { - event.setCancelled(true); - return; - } - } - } - } - @EventHandler(priority = EventPriority.HIGH) public void interact(PlayerInteractEvent event) { @@ -237,6 +219,10 @@ public class TreasureLocation implements Listener @EventHandler public void inventoryOpen(InventoryOpenEvent event) { + // Ignore punish gui + if (event.getInventory().getTitle() != null && event.getInventory().getTitle().contains("Punish")) + return; + if (isTreasureInProgress() && event.getPlayer().equals(_currentTreasure.getPlayer())) { event.setCancelled(true); @@ -268,7 +254,7 @@ public class TreasureLocation implements Listener Location centerLocation = _currentTreasure.getCenterBlock().getLocation().add(0.5, 1.5, 0.5); double toDistanceFromCenter = centerLocation.distanceSquared(toLocation); - if (toDistanceFromCenter <= 16 && player.getVelocity().lengthSquared() < 10) + if (toDistanceFromCenter <= 16) { // Only cancel movement if they are moving towards the center double fromDistanceFromCenter = centerLocation.distanceSquared(fromLocation); @@ -276,7 +262,7 @@ public class TreasureLocation implements Listener { Location spawnLocation = new Location(player.getWorld(), 0, 64, 0); UtilAction.velocity(player, UtilAlg.getTrajectory(player.getLocation(), spawnLocation).multiply(-1), 1.5, true, 0.8, 0, 1.0, true); - event.setTo(event.getFrom()); +// event.setTo(event.getFrom()); } } } @@ -293,6 +279,29 @@ public class TreasureLocation implements Listener } } + @EventHandler + public void preventGadgetBlockEvent(GadgetBlockEvent event) + { + List blocks = event.getBlocks(); + + int x = _chestBlock.getX(); + int y = _chestBlock.getY(); + int z = _chestBlock.getZ(); + + for (Block block : blocks) + { + int dx = Math.abs(x - block.getX()); + int dy = Math.abs(y - block.getY()); + int dz = Math.abs(z - block.getZ()); + + if (dx <= 4 && dz <= 4 && dy <= 4) + { + event.setCancelled(true); + return; + } + } + } + @EventHandler public void quit(PlayerQuitEvent event) { diff --git a/Plugins/Mineplex.Game.Clans/src/mineplex/game/clans/Clans.java b/Plugins/Mineplex.Game.Clans/src/mineplex/game/clans/Clans.java index 01f0ff5fa..cf3f18f75 100644 --- a/Plugins/Mineplex.Game.Clans/src/mineplex/game/clans/Clans.java +++ b/Plugins/Mineplex.Game.Clans/src/mineplex/game/clans/Clans.java @@ -10,6 +10,7 @@ import mineplex.core.command.CommandCenter; import mineplex.core.donation.DonationManager; import mineplex.core.explosion.Explosion; import mineplex.core.friend.FriendManager; +import mineplex.core.ignore.IgnoreManager; import mineplex.core.inventory.InventoryManager; import mineplex.core.itemstack.ItemStackFactory; import mineplex.core.memory.MemoryFix; @@ -62,7 +63,6 @@ public class Clans extends JavaPlugin new ServerConfiguration(this); PreferencesManager preferenceManager = new PreferencesManager(this, _clientManager, _donationManager); - new MessageManager(this, _clientManager, preferenceManager); ServerStatusManager serverStatusManager = new ServerStatusManager(this, _clientManager, new LagMeter(this, _clientManager)); new Spawn(this, serverStatusManager.getCurrentServerName()); @@ -74,9 +74,12 @@ public class Clans extends JavaPlugin Punish punish = new Punish(this, webServerAddress, _clientManager); AntiHack.Initialize(this, punish, portal, preferenceManager, _clientManager); AntiHack.Instance.setKick(false); - + BlockRestore blockRestore = new BlockRestore(this); - + + IgnoreManager ignoreManager = new IgnoreManager(this, _clientManager, preferenceManager, portal); + new MessageManager(this, _clientManager, preferenceManager, ignoreManager, punish); + new MemoryFix(this); new Explosion(this, blockRestore); new FriendManager(this, _clientManager, preferenceManager, portal); diff --git a/Plugins/Mineplex.MapParser/Mineplex.MapParser.iml b/Plugins/Mineplex.MapParser/Mineplex.MapParser.iml index d4443f18f..86ec89ce9 100644 --- a/Plugins/Mineplex.MapParser/Mineplex.MapParser.iml +++ b/Plugins/Mineplex.MapParser/Mineplex.MapParser.iml @@ -9,6 +9,6 @@ + - - + \ No newline at end of file