diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/moba/kit/HeroKit.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/moba/kit/HeroKit.java index 97a0523fb..67a9f445f 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/moba/kit/HeroKit.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/moba/kit/HeroKit.java @@ -90,7 +90,11 @@ public class HeroKit extends Kit public boolean ownsKit(Player player) { MobaProgression progression = ((Moba) Manager.GetGame()).getProgression(); - return _unlockLevel == 0 || Manager.GetDonation().Get(player).ownsUnknownSalesPackage(progression.getPackageName(this)) || Manager.GetClients().hasRank(player, Rank.MODERATOR); + return _unlockLevel == 0 || + Manager.GetDonation().Get(player).ownsUnknownSalesPackage(progression.getPackageName(this)) || + Manager.GetClients().hasRank(player, Rank.MODERATOR) || + Manager.hasKitsUnlocked(player) + ; } public void setAmmo(ItemStack ammo, long giveTime) diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/moba/kit/HeroSkill.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/moba/kit/HeroSkill.java index 965129a52..f7b7aadcf 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/moba/kit/HeroSkill.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/moba/kit/HeroSkill.java @@ -269,7 +269,6 @@ public class HeroSkill extends Perk return; } - Moba moba = (Moba) Manager.GetGame(); long current = System.currentTimeMillis(); for (Player player : Manager.GetGame().GetPlayers(true)) diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/moba/util/MobaUtil.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/moba/util/MobaUtil.java index 0a56168fe..301d8deed 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/moba/util/MobaUtil.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/game/games/moba/util/MobaUtil.java @@ -211,12 +211,12 @@ public class MobaUtil public static void setTeamEntity(LivingEntity entity, GameTeam team) { - entity.setMetadata(MobaConstants.TEAM_METADATA, new FixedMetadataValue(UtilServer.getPlugin(), team.GetName())); + UtilEnt.addFlag(entity, MobaConstants.TEAM_METADATA + team.GetName()); } public static boolean isTeamEntity(LivingEntity entity, GameTeam team) { - return entity.hasMetadata(MobaConstants.TEAM_METADATA) && entity.getMetadata(MobaConstants.TEAM_METADATA).get(0).asString().equals(team.GetName()); + return UtilEnt.hasFlag(entity, MobaConstants.TEAM_METADATA + team.GetName()); } public static void heal(LivingEntity entity, Player source, double health) diff --git a/Plugins/mineplex-game-gemhunters/src/mineplex/gemhunters/map/ItemMapModule.java b/Plugins/mineplex-game-gemhunters/src/mineplex/gemhunters/map/ItemMapModule.java index c556b8273..f53f6848a 100644 --- a/Plugins/mineplex-game-gemhunters/src/mineplex/gemhunters/map/ItemMapModule.java +++ b/Plugins/mineplex-game-gemhunters/src/mineplex/gemhunters/map/ItemMapModule.java @@ -693,16 +693,6 @@ public class ItemMapModule extends MiniPlugin _mapInfo.remove(event.getPlayer().getName()); } - //@EventHandler - public void onServerTransfer(ServerTransferEvent event) - { - Player p = event.getPlayer(); - - p.sendMessage(C.cDRed + C.Bold + "WARNING!"); - p.sendMessage(C.cYellow + "There's a bug where switching servers will freeze the Clans Map!"); - p.sendMessage(C.cYellow + "If you want to play on Clans again, rejoin the Mineplex server!"); - } - private void rebuildScan() { for (int x = -HALF_WORLD_SIZE; x < HALF_WORLD_SIZE; x += BLOCK_SCAN_INTERVAL) diff --git a/Plugins/mineplex-game-gemhunters/src/mineplex/gemhunters/mount/GHMount.java b/Plugins/mineplex-game-gemhunters/src/mineplex/gemhunters/mount/GHMount.java new file mode 100644 index 000000000..f63d2d958 --- /dev/null +++ b/Plugins/mineplex-game-gemhunters/src/mineplex/gemhunters/mount/GHMount.java @@ -0,0 +1,23 @@ +package mineplex.gemhunters.mount; + +import org.bukkit.entity.LivingEntity; + +import mineplex.core.disguise.disguises.DisguiseLiving; + +public class GHMount +{ + + private final LivingEntity _entity; + private final DisguiseLiving _disguise; + + public GHMount(LivingEntity entity, DisguiseLiving disguise) + { + _entity = entity; + _disguise = disguise; + } + + public LivingEntity getEntity() + { + return _entity; + } +} diff --git a/Plugins/mineplex-game-gemhunters/src/mineplex/gemhunters/mount/MountData.java b/Plugins/mineplex-game-gemhunters/src/mineplex/gemhunters/mount/MountData.java new file mode 100644 index 000000000..ea08c0083 --- /dev/null +++ b/Plugins/mineplex-game-gemhunters/src/mineplex/gemhunters/mount/MountData.java @@ -0,0 +1,11 @@ +package mineplex.gemhunters.mount; + +import org.bukkit.entity.LivingEntity; + +public class MountData +{ + + private LivingEntity _entity; + + +} diff --git a/Plugins/mineplex-game-gemhunters/src/mineplex/gemhunters/mount/MountModule.java b/Plugins/mineplex-game-gemhunters/src/mineplex/gemhunters/mount/MountModule.java new file mode 100644 index 000000000..dcac93f38 --- /dev/null +++ b/Plugins/mineplex-game-gemhunters/src/mineplex/gemhunters/mount/MountModule.java @@ -0,0 +1,72 @@ +package mineplex.gemhunters.mount; + +import java.util.UUID; + +import org.bukkit.entity.Player; +import org.bukkit.event.EventHandler; +import org.bukkit.event.player.PlayerInteractEvent; + +import mineplex.core.MiniClientPlugin; +import mineplex.core.ReflectivelyCreateMiniPlugin; +import mineplex.core.common.util.UtilEvent; +import mineplex.core.common.util.UtilEvent.ActionType; +import mineplex.core.gadget.GadgetManager; +import mineplex.gemhunters.loot.LootItem; +import mineplex.gemhunters.loot.LootModule; + +@ReflectivelyCreateMiniPlugin +public class MountModule extends MiniClientPlugin +{ + + private final LootModule _loot; + private final GadgetManager _gadget; + + private MountModule() + { + super("Mount"); + + _loot = require(LootModule.class); + _gadget = require(GadgetManager.class); + } + + @Override + protected MountData addPlayer(UUID uuid) + { + return new MountData(); + } + + @EventHandler + public void playerInteract(PlayerInteractEvent event) + { + if (event.isCancelled() || !UtilEvent.isAction(event, ActionType.R)) + { + return; + } + + Player player = event.getPlayer(); + LootItem lootItem = _loot.fromItemStack(player.getItemInHand()); + + if (lootItem == null || lootItem.getMetadata() == null) + { + return; + } + + String metadata = lootItem.getMetadata(); + + if (!metadata.startsWith("MOUNT")) + { + return; + } + + String[] split = metadata.split(" "); + + if (split.length < 2) + { + return; + } + + int cooldown = Integer.parseInt(split[1]) * 1000; + + + } +} diff --git a/Plugins/mineplex-game-gemhunters/src/mineplex/gemhunters/supplydrop/SupplyDrop.java b/Plugins/mineplex-game-gemhunters/src/mineplex/gemhunters/supplydrop/SupplyDrop.java index 6977976c2..a8d827ce1 100644 --- a/Plugins/mineplex-game-gemhunters/src/mineplex/gemhunters/supplydrop/SupplyDrop.java +++ b/Plugins/mineplex-game-gemhunters/src/mineplex/gemhunters/supplydrop/SupplyDrop.java @@ -46,9 +46,9 @@ public class SupplyDrop private Location _current; private Location _blade; + private final Set _lastHelicopter; + private final Set _bladeBlocks; private Schematic _schematic; - private Set _lastHelicopter; - private Set _bladeBlocks; private boolean _diagonal; public SupplyDrop(String name, Location spawn, Location destination, Location despawn) @@ -57,6 +57,8 @@ public class SupplyDrop _destination = destination.clone(); _despawn = despawn.clone(); _current = spawn.clone().add(-2, 0, 0); + _lastHelicopter = new HashSet<>(100); + _bladeBlocks = new HashSet<>(20); try { @@ -65,12 +67,7 @@ public class SupplyDrop catch (IOException e) { e.printStackTrace(); - return; } - - _lastHelicopter = new HashSet<>(100); - _bladeBlocks = new HashSet<>(20); - _diagonal = false; } public boolean advancePath() @@ -100,7 +97,7 @@ public class SupplyDrop if (_blade != null) { - if (UtilMath.offset2d(_blade, _despawn) < 1) + if (UtilMath.offset2dSquared(_blade, _despawn) < 4) { for (Block block : _bladeBlocks) {