diff --git a/Plugins/Mineplex.Hub/src/mineplex/hub/gadget/types/ItemGadget.java b/Plugins/Mineplex.Hub/src/mineplex/hub/gadget/types/ItemGadget.java index 65937b27b..059360092 100644 --- a/Plugins/Mineplex.Hub/src/mineplex/hub/gadget/types/ItemGadget.java +++ b/Plugins/Mineplex.Hub/src/mineplex/hub/gadget/types/ItemGadget.java @@ -119,13 +119,13 @@ public abstract class ItemGadget extends Gadget } //Recharge - if (!Recharge.Instance.use(player, GetName(), _recharge, true, false)) + if (!Recharge.Instance.use(player, GetName(), _recharge, _recharge > 1000, false)) return; //Use Gems if (_gemsPerUse > 0) { - if (Manager.Manager.GetDonation().Get(player.getName()).GetGems() > _gemsPerUse) + if (Manager.Manager.GetDonation().Get(player.getName()).GetGems() >= _gemsPerUse) { Manager.Manager.GetDonation().RewardGemsLater(GetName(), player.getName(), -_gemsPerUse); } diff --git a/Plugins/Mineplex.MapParser/plugin.yml b/Plugins/Mineplex.MapParser/plugin.yml index 49dfd0c3d..12fc5665c 100644 --- a/Plugins/Mineplex.MapParser/plugin.yml +++ b/Plugins/Mineplex.MapParser/plugin.yml @@ -1,3 +1,3 @@ name: MapParser -main: Mineplex.MapParser +main: mineplex.mapparser.MapParser version: 1 \ No newline at end of file diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/castlesiege/CastleSiege.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/castlesiege/CastleSiege.java index 1a3c532ab..96a106ec4 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/castlesiege/CastleSiege.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/castlesiege/CastleSiege.java @@ -2,6 +2,7 @@ package nautilus.game.arcade.game.games.castlesiege; import java.util.ArrayList; import java.util.HashMap; +import java.util.HashSet; import java.util.Iterator; import org.bukkit.Bukkit; @@ -70,8 +71,10 @@ public class CastleSiege extends TeamGame private long _tntSpawn = 0; private ArrayList _tntSpawns = new ArrayList(); private ArrayList _tntWeakness = new ArrayList(); + private HashMap _tntCarry = new HashMap(); - + private HashSet _tntCarryEnd = new HashSet(); + private ArrayList _kingLocs; private Creature _king; private Location _kingLoc; @@ -593,7 +596,12 @@ public class CastleSiege extends TeamGame if (!_tntCarry.containsKey(player)) return; - _tntCarry.remove(player).remove(); + //Remove the TNT + _tntCarry.get(player).remove(); + + //Flag for Removal + _tntCarryEnd.add(player); + TNTPrimed tnt = player.getWorld().spawn(player.getEyeLocation(), TNTPrimed.class); tnt.setFuseTicks(0); @@ -603,8 +611,12 @@ public class CastleSiege extends TeamGame @EventHandler(priority = EventPriority.LOWEST) public void TNTDamageDivert(ProjectileHitEvent event) { - for (Player player : _tntCarry.keySet()) + Iterator playerIterator = _tntCarry.keySet().iterator(); + + while (playerIterator.hasNext()) { + Player player = playerIterator.next(); + if (player.getPassenger() == null) continue; @@ -621,7 +633,14 @@ public class CastleSiege extends TeamGame event.getEntity().remove(); } + + if (_tntCarryEnd.contains(player)) + { + playerIterator.remove(); + } } + + _tntCarryEnd.clear(); }