From 2ac7f72327cbd01a071814cc9399413485c55236 Mon Sep 17 00:00:00 2001 From: AlexTheCoder Date: Sun, 18 Sep 2016 21:31:35 -0400 Subject: [PATCH] Fix clans water exploit and ruined pickaxe duping exploit --- .../game/clans/gameplay/Gameplay.java | 49 ------------------- .../game/clans/items/rares/RunedPickaxe.java | 5 +- 2 files changed, 4 insertions(+), 50 deletions(-) diff --git a/Plugins/Mineplex.Game.Clans/src/mineplex/game/clans/gameplay/Gameplay.java b/Plugins/Mineplex.Game.Clans/src/mineplex/game/clans/gameplay/Gameplay.java index df5d6e2cb..2c7a971f1 100644 --- a/Plugins/Mineplex.Game.Clans/src/mineplex/game/clans/gameplay/Gameplay.java +++ b/Plugins/Mineplex.Game.Clans/src/mineplex/game/clans/gameplay/Gameplay.java @@ -86,8 +86,6 @@ public class Gameplay extends MiniPlugin private WeightSet _foodDecrease; // Weighted probability sets for // food decrease event outcomes - private Map _bucketWater = new HashMap(); - public Gameplay(JavaPlugin plugin, ClansManager clansManager, BlockRestore blockRestore, DamageManager damageManager) { super("PvP Gameplay", plugin); @@ -179,29 +177,6 @@ public class Gameplay extends MiniPlugin } } } - @EventHandler - public void BucketEmpty(PlayerBucketEmptyEvent event) - { - event.setCancelled(true); - - Block block = event.getBlockClicked().getRelative(event.getBlockFace()); - - if (event.getBucket() == Material.WATER_BUCKET) - { - block.setTypeIdAndData(8, (byte) 1, true); - _blockRestore.add(event.getBlockClicked().getRelative(event.getBlockFace()), 8, (byte) 0, 1000); - _bucketWater.put(block, System.currentTimeMillis()); - } - - if (event.getBucket() == Material.LAVA_BUCKET) - { - block.setTypeIdAndData(10, (byte) 6, true); - _blockRestore.add(event.getBlockClicked().getRelative(event.getBlockFace()), 10, (byte) 0, 2000); - } - - event.getPlayer().setItemInHand(ItemStackFactory.Instance.CreateStack(Material.BUCKET)); - UtilInv.Update(event.getPlayer()); - } /** * Decreases the hunger rate decrease speed by arbitrarily canceling a @@ -222,30 +197,6 @@ public class Gameplay extends MiniPlugin } } - @EventHandler - public void BucketFill(PlayerBucketFillEvent event) - { - event.setCancelled(true); - - if (event.getItemStack().getType() == Material.WATER_BUCKET) if (!_bucketWater.containsKey(event.getBlockClicked())) event.getPlayer().setItemInHand(ItemStackFactory.Instance.CreateStack(Material.WATER_BUCKET)); - - UtilInv.Update(event.getPlayer()); - } - - @EventHandler - public void BucketWaterExpire(UpdateEvent event) - { - if (event.getType() != UpdateType.FAST) return; - - HashSet remove = new HashSet(); - - for (Block cur : _bucketWater.keySet()) - if (UtilTime.elapsed(_bucketWater.get(cur).longValue(), 2000)) remove.add(cur); - - for (Block cur : remove) - _bucketWater.remove(cur); - } - @EventHandler(priority = EventPriority.LOWEST) public void ObsidianCancel(BlockPlaceEvent event) { diff --git a/Plugins/Mineplex.Game.Clans/src/mineplex/game/clans/items/rares/RunedPickaxe.java b/Plugins/Mineplex.Game.Clans/src/mineplex/game/clans/items/rares/RunedPickaxe.java index 8905742d1..9072d0dfe 100644 --- a/Plugins/Mineplex.Game.Clans/src/mineplex/game/clans/items/rares/RunedPickaxe.java +++ b/Plugins/Mineplex.Game.Clans/src/mineplex/game/clans/items/rares/RunedPickaxe.java @@ -87,12 +87,15 @@ public class RunedPickaxe extends RareItem if (territory != null && !territory.Owner.equals(playerClan)) return; - if (event.getBlock().getType() == Material.BEDROCK) + if (event.getBlock().getType() == Material.BEDROCK || event.getBlock().getType() == Material.BARRIER) return; if (ClansManager.getInstance().getNetherManager().getNetherWorld().equals(event.getBlock().getWorld())) return; + if (ClansManager.getInstance().getBlockRestore().contains(event.getBlock())) + return; + if (!UtilTime.elapsed(pick._instamineEnabled, 12000)) { event.getBlock().breakNaturally();