Added Enjin Translator poll ability.

Fixed up kits for arcade.
Fixed disguise for enderman to not teleport on fire ticks.
This commit is contained in:
Jonathan Williams 2013-08-30 16:37:21 -07:00
parent da08321de4
commit 13110356aa
35 changed files with 143 additions and 2517 deletions

View File

@ -2,7 +2,6 @@
<classpath> <classpath>
<classpathentry kind="src" path="src"/> <classpathentry kind="src" path="src"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jre7"/> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jre7"/>
<classpathentry kind="var" path="REPO_DIR/Plugins/Libraries/bukkit.jar"/> <classpathentry kind="var" path="REPO_DIR/Plugins/bin/craftbukkit.jar"/>
<classpathentry kind="var" path="REPO_DIR/Plugins/Libraries/craftbukkit.jar" sourcepath="/REPO_DIR/GitHubLibraries/CraftBukkit/src"/>
<classpathentry kind="output" path="bin"/> <classpathentry kind="output" path="bin"/>
</classpath> </classpath>

View File

@ -6,6 +6,7 @@ import java.util.LinkedList;
import net.minecraft.server.v1_6_R2.EntityCreature; import net.minecraft.server.v1_6_R2.EntityCreature;
import net.minecraft.server.v1_6_R2.EntityHuman; import net.minecraft.server.v1_6_R2.EntityHuman;
import net.minecraft.server.v1_6_R2.EntityMonster;
import net.minecraft.server.v1_6_R2.EntityInsentient; import net.minecraft.server.v1_6_R2.EntityInsentient;
import net.minecraft.server.v1_6_R2.PathfinderGoalLookAtPlayer; import net.minecraft.server.v1_6_R2.PathfinderGoalLookAtPlayer;
import net.minecraft.server.v1_6_R2.PathfinderGoalMoveTowardsRestriction; import net.minecraft.server.v1_6_R2.PathfinderGoalMoveTowardsRestriction;
@ -69,6 +70,11 @@ public class UtilEnt
_bsRestrictionGoal.set(creature, new PathfinderGoalMoveTowardsRestriction(creature, 0D)); _bsRestrictionGoal.set(creature, new PathfinderGoalMoveTowardsRestriction(creature, 0D));
} }
if (((CraftEntity)entity).getHandle() instanceof EntityMonster)
{
((EntityMonster)((CraftEntity)entity).getHandle()).Vegetated = true;
}
if (((CraftEntity)entity).getHandle() instanceof EntityInsentient) if (((CraftEntity)entity).getHandle() instanceof EntityInsentient)
{ {
EntityInsentient creature = (EntityInsentient)((CraftEntity)entity).getHandle(); EntityInsentient creature = (EntityInsentient)((CraftEntity)entity).getHandle();

View File

@ -25,6 +25,11 @@ public abstract class DisguiseBase
{ {
DataWatcher.watch(0, Entity.getDataWatcher().getByte(0)); DataWatcher.watch(0, Entity.getDataWatcher().getByte(0));
DataWatcher.watch(1, Entity.getDataWatcher().getShort(1)); DataWatcher.watch(1, Entity.getDataWatcher().getShort(1));
if (this instanceof DisguiseEnderman)
{
DataWatcher.watch(0, Byte.valueOf((byte)(DataWatcher.getByte(0) & ~(1 << 0))));
}
} }
public abstract Packet GetSpawnPacket(); public abstract Packet GetSpawnPacket();

View File

@ -1,5 +1,11 @@
package mineplex.core.disguise.disguises; package mineplex.core.disguise.disguises;
import java.util.Arrays;
import net.minecraft.server.v1_6_R2.MobEffect;
import net.minecraft.server.v1_6_R2.MobEffectList;
import net.minecraft.server.v1_6_R2.PotionBrewer;
public class DisguiseEnderman extends DisguiseMonster public class DisguiseEnderman extends DisguiseMonster
{ {
public DisguiseEnderman(org.bukkit.entity.Entity entity) public DisguiseEnderman(org.bukkit.entity.Entity entity)
@ -9,6 +15,10 @@ public class DisguiseEnderman extends DisguiseMonster
DataWatcher.a(16, new Byte((byte)0)); DataWatcher.a(16, new Byte((byte)0));
DataWatcher.a(17, new Byte((byte)0)); DataWatcher.a(17, new Byte((byte)0));
DataWatcher.a(18, new Byte((byte)0)); DataWatcher.a(18, new Byte((byte)0));
int i = PotionBrewer.a(Arrays.asList(new MobEffect(MobEffectList.FIRE_RESISTANCE.id, 777)));
DataWatcher.watch(8, Byte.valueOf((byte)(PotionBrewer.b(Arrays.asList(new MobEffect(MobEffectList.FIRE_RESISTANCE.id, 777))) ? 1 : 0)));
DataWatcher.watch(7, Integer.valueOf(i));
} }
public void SetCarriedId(int i) public void SetCarriedId(int i)

View File

@ -16,9 +16,9 @@ public abstract class DisguiseLiving extends DisguiseBase
{ {
super.UpdateDataWatcher(); super.UpdateDataWatcher();
DataWatcher.watch(6, Entity.getDataWatcher().getFloat(6)); //DataWatcher.watch(6, Entity.getDataWatcher().getFloat(6));
DataWatcher.watch(7, Entity.getDataWatcher().getInt(7)); //DataWatcher.watch(7, Entity.getDataWatcher().getInt(7));
DataWatcher.watch(8, Entity.getDataWatcher().getByte(8)); //DataWatcher.watch(8, Entity.getDataWatcher().getByte(8));
DataWatcher.watch(9, Entity.getDataWatcher().getByte(9)); //DataWatcher.watch(9, Entity.getDataWatcher().getByte(9));
} }
} }

View File

@ -47,7 +47,7 @@ public class Enjin extends MiniPlugin implements CommandExecutor
if (event.getType() != UpdateType.MIN_01) if (event.getType() != UpdateType.MIN_01)
return; return;
@SuppressWarnings("serial") //@SuppressWarnings("serial")
//List<EnjinPurchase> purchases = new JsonWebCall("http://www.mineplex.com/api/m-shopping-purchases/m/14702725").Execute(new TypeToken<List<EnjinPurchase>>(){}.getType(), null); //List<EnjinPurchase> purchases = new JsonWebCall("http://www.mineplex.com/api/m-shopping-purchases/m/14702725").Execute(new TypeToken<List<EnjinPurchase>>(){}.getType(), null);
//_lastPoll = System.currentTimeMillis(); //_lastPoll = System.currentTimeMillis();
} }

View File

@ -0,0 +1,8 @@
package mineplex.enjinTranslator;
import java.util.List;
public class EnjinLastPurchases
{
public List<EnjinPurchase> purchases;
}

View File

@ -0,0 +1,37 @@
package mineplex.enjinTranslator;
import java.util.List;
public class EnjinPurchase
{
public User user;
public List<Item> items;
public long purchase_date;
public String currency;
public String character;
public List<String> commands;
public String toString()
{
String itemStr = " items: {";
if (items != null)
{
for (Item item : items)
{
itemStr += " item_id:" + item.item_id + " item_name:" + item.item_name + " item_price:" + item.item_price;
}
}
itemStr += "}";
String userStr = " user : ";
if (user != null)
{
userStr += "user_id:" + user.user_id + " username:" + user.username;
}
return "EnjinePurchase - " + userStr + " " + itemStr + " purchase_date:" + purchase_date + " currency:" + currency + " character:" + character;
}
}

View File

@ -0,0 +1,7 @@
package mineplex.enjinTranslator;
public class User
{
public int user_id;
public String username;
}

View File

@ -1,452 +0,0 @@
package nautilus.game.arcade;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.DataInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileWriter;
import java.io.InputStreamReader;
import me.chiss.Core.Config.Config;
import mineplex.core.account.CoreClientManager;
import mineplex.core.blockrestore.BlockRestore;
import mineplex.core.command.CommandCenter;
import mineplex.core.common.util.FileUtil;
import mineplex.core.common.util.UtilServer;
import mineplex.core.creature.Creature;
import mineplex.core.donation.DonationManager;
import mineplex.core.energy.Energy;
import mineplex.core.explosion.Explosion;
import mineplex.core.itemstack.ItemStackFactory;
import me.chiss.Core.Loot.LootFactory;
import me.chiss.Core.Module.ModuleManager;
import me.chiss.Core.Modules.*;
import me.chiss.Core.Plugin.IPlugin;
import me.chiss.Core.Scheduler.Scheduler;
import mineplex.core.message.MessageManager;
import mineplex.core.npc.NpcManager;
import mineplex.core.packethandler.PacketHandler;
import mineplex.core.pet.PetManager;
import mineplex.core.projectile.ProjectileManager;
import mineplex.core.punish.Punish;
import mineplex.core.recharge.Recharge;
import mineplex.core.spawn.Spawn;
import mineplex.core.teleport.Teleport;
import mineplex.core.updater.Updater;
import mineplex.minecraft.game.core.combat.CombatManager;
import mineplex.minecraft.game.core.condition.ConditionManager;
import mineplex.minecraft.game.core.damage.DamageManager;
import mineplex.minecraft.game.core.fire.Fire;
import nautilus.game.arcade.game.GameServerConfig;
import nautilus.minecraft.core.INautilusPlugin;
import org.bukkit.Location;
import org.bukkit.Server;
import org.bukkit.entity.Player;
import org.bukkit.plugin.PluginManager;
import org.bukkit.plugin.java.JavaPlugin;
public class Arcade extends JavaPlugin implements INautilusPlugin, IPlugin
{
private String WEB_CONFIG = "webServer";
//Modules
private ModuleManager _moduleManager;
private Config _config;
private CoreClientManager _clientManager;
private DonationManager _donationManager;
private DamageManager _damageManager;
private Utility _utility;
private BlockRegenerate _blockRegenerate;
private BlockRestore _blockRestore;
private Blood _blood;
private ConditionManager _condition;
private Creature _creature;
private Fire _fire;
private Logger _logger;
private LootFactory _lootFactory;
private Observer _observer;
private PetManager _petManager;
private me.chiss.Core.Server.Server _serverModule;
private Spawn _spawn;
private Teleport _teleport;
private ProjectileManager _throw;
private ArcadeManager _gameManager;
@Override
public void onEnable()
{
//Delete Old Games Folders
DeleteFolders();
//Configs
getConfig().addDefault(WEB_CONFIG, "http://api.mineplex.com/");
getConfig().set(WEB_CONFIG, getConfig().getString(WEB_CONFIG));
saveConfig();
//Init Modules
GetModules();
_clientManager = CoreClientManager.Initialize(this, GetWebServerAddress());
_donationManager = new DonationManager(this, GetWebServerAddress());
CommandCenter.Initialize(this, _clientManager);
ItemStackFactory.Initialize(this, false);
Recharge.Initialize(this);
ConditionManager conditionManager = new ConditionManager(this);
Explosion explosion = new Explosion(this, new BlockRestore(this));
explosion.SetDebris(false);
new MessageManager(this, _clientManager);
GetBlood();
GetCreature();
GetSpawn();
GetTeleport();
_damageManager = new DamageManager(this, new CombatManager(this), new NpcManager(this, GetCreature()));
//Arcade Manager
_gameManager = new ArcadeManager(this, ReadServerConfig(), _clientManager, _donationManager, conditionManager, _damageManager, GetCreature(), new PacketHandler(this));
//Unreferenced Modules
//new AntiStack();
Scheduler.Initialize(this);
//new Information(this);
new Punish(this, GetWebServerAddress());
//Updates
getServer().getScheduler().scheduleSyncRepeatingTask(this, new Updater(this), 1, 1);
}
@Override
public void onDisable()
{
GetModules().onDisable();
for (Player player : UtilServer.getPlayers())
player.kickPlayer("Server Shutdown");
if (_gameManager.GetGame() != null)
if (_gameManager.GetGame().WorldData != null)
_gameManager.GetGame().WorldData.Uninitialize();
}
public GameServerConfig ReadServerConfig()
{
GameServerConfig config = new GameServerConfig();
//Load Track Data
String line = null;
try
{
File file = new File("ArcadeSettings.config");
if (!file.exists())
WriteServerConfig(GetDefaultConfig());
FileInputStream fstream = new FileInputStream("ArcadeSettings.config");
DataInputStream in = new DataInputStream(fstream);
BufferedReader br = new BufferedReader(new InputStreamReader(in));
while ((line = br.readLine()) != null)
{
String[] tokens = line.split("=");
if (tokens.length < 2)
continue;
if (tokens[0].equals("SERVER_TYPE"))
{
config.ServerType = tokens[1];
}
else if (tokens[0].equals("PLAYERS_MIN"))
{
config.MinPlayers = Integer.parseInt(tokens[1]);
}
else if (tokens[0].equals("PLAYERS_MAX"))
{
config.MaxPlayers = Integer.parseInt(tokens[1]);
}
//Games
else
{
try
{
GameType type = GameType.valueOf(tokens[0]);
boolean enabled = Boolean.valueOf(tokens[1]);
if (enabled)
config.GameList.add(type);
}
catch (Exception e)
{
}
}
}
in.close();
}
catch (Exception e)
{
}
if (!config.IsValid())
config = GetDefaultConfig();
WriteServerConfig(config);
return config;
}
public GameServerConfig GetDefaultConfig()
{
GameServerConfig config = new GameServerConfig();
config.ServerType = "Minigames";
config.MinPlayers = 8;
config.MaxPlayers = 16;
return config;
}
public void WriteServerConfig(GameServerConfig config)
{
try
{
FileWriter fstream = new FileWriter("ArcadeSettings.config");
BufferedWriter out = new BufferedWriter(fstream);
out.write("SERVER_TYPE=" + config.ServerType + "\n");
out.write("PLAYERS_MIN=" + config.MinPlayers + "\n");
out.write("PLAYERS_MAX=" + config.MaxPlayers + "\n");
out.write("\n\nGames List;\n");
for (GameType type : GameType.values())
{
out.write(type.toString() + "=" + config.GameList.contains(type) + "\n");
}
out.close();
}
catch (Exception e)
{
}
}
private void DeleteFolders()
{
File curDir = new File(".");
File[] filesList = curDir.listFiles();
for(File file : filesList)
{
if (!file.isDirectory())
continue;
if (file.getName().length() < 4)
continue;
if (!file.getName().substring(0, 4).equalsIgnoreCase("Game"))
continue;
FileUtil.DeleteFolder(file);
System.out.println("Deleted Old Game: " + file.getName());
}
}
@Override
public JavaPlugin GetPlugin()
{
return this;
}
@Override
public String GetWebServerAddress()
{
String webServerAddress = getConfig().getString(WEB_CONFIG);
return webServerAddress;
}
@Override
public Server GetRealServer()
{
return getServer();
}
@Override
public PluginManager GetPluginManager()
{
return GetRealServer().getPluginManager();
}
@Override
public void Log(String moduleName, String data)
{
System.out.println(moduleName + " : " + data);
}
@Override
public ModuleManager GetModules()
{
if (_moduleManager == null)
_moduleManager = new ModuleManager();
return _moduleManager;
}
@Override
public Config GetConfig()
{
if (_config == null)
_config = new Config(this);
return _config;
}
@Override
public Utility GetUtility()
{
if (_utility == null)
_utility = new Utility(this);
return _utility;
}
@Override
public BlockRegenerate GetBlockRegenerate()
{
if (_blockRegenerate == null)
_blockRegenerate = new BlockRegenerate(this);
return _blockRegenerate;
}
@Override
public BlockRestore GetBlockRestore()
{
if (_blockRestore == null)
_blockRestore = new BlockRestore(this);
return _blockRestore;
}
@Override
public Blood GetBlood()
{
if (_blood == null)
_blood = new Blood(this);
return _blood;
}
@Override
public Creature GetCreature()
{
if (_creature == null)
_creature = new Creature(this);
return _creature;
}
@Override
public Fire GetFire()
{
if (_fire == null)
_fire = new Fire(this, _condition, _damageManager);
return _fire;
}
@Override
public Logger GetLogger()
{
if (_logger == null)
_logger = new Logger(this);
return _logger;
}
@Override
public LootFactory GetLoot()
{
if (_lootFactory == null)
_lootFactory = new LootFactory(this);
return _lootFactory;
}
@Override
public Observer GetObserver()
{
if (_observer == null)
_observer = new Observer(this);
return _observer;
}
@Override
public me.chiss.Core.Server.Server GetServer()
{
if (_serverModule == null)
_serverModule = new me.chiss.Core.Server.Server(this, _clientManager);
return _serverModule;
}
@Override
public Spawn GetSpawn()
{
if (_spawn == null)
_spawn = new Spawn(this);
return _spawn;
}
@Override
public Teleport GetTeleport()
{
if (_teleport == null)
_teleport = new Teleport(this, _clientManager, GetSpawn());
return _teleport;
}
@Override
public ProjectileManager GetThrow()
{
if (_throw == null)
_throw = new ProjectileManager(this);
return _throw;
}
@Override
public Location GetSpawnLocation()
{
return null;
}
@Override
public PetManager GetPetManager()
{
return _petManager;
}
@Override
public Energy GetEnergy()
{
return null;
}
}

View File

@ -1,436 +0,0 @@
package nautilus.game.arcade;
import java.io.File;
import java.util.ArrayList;
import nautilus.game.arcade.addons.*;
import nautilus.game.arcade.command.*;
import nautilus.game.arcade.game.Game;
import nautilus.game.arcade.game.Game.GameState;
import nautilus.game.arcade.game.GameServerConfig;
import nautilus.game.arcade.game.GameTeam;
import nautilus.game.arcade.managers.*;
import nautilus.game.arcade.shop.ArcadeShop;
import nautilus.game.arcade.world.FireworkHandler;
import org.bukkit.ChatColor;
import org.bukkit.GameMode;
import org.bukkit.Material;
import org.bukkit.craftbukkit.v1_6_R2.entity.CraftPlayer;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.player.AsyncPlayerChatEvent;
import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.event.player.PlayerQuitEvent;
import org.bukkit.event.server.ServerListPingEvent;
import org.bukkit.plugin.java.JavaPlugin;
import mineplex.minecraft.game.core.IRelation;
import mineplex.minecraft.game.core.condition.ConditionManager;
import mineplex.minecraft.game.core.condition.Condition.ConditionType;
import mineplex.minecraft.game.core.damage.DamageManager;
import mineplex.minecraft.game.core.fire.Fire;
import me.chiss.Core.Chat.Chat;
import mineplex.core.MiniPlugin;
import mineplex.core.itemstack.ItemStackFactory;
import me.chiss.Core.Plugin.IChat;
import mineplex.core.account.CoreClientManager;
import mineplex.core.common.util.*;
import mineplex.core.creature.Creature;
import mineplex.core.disguise.DisguiseManager;
import mineplex.core.donation.DonationManager;
import mineplex.core.packethandler.PacketHandler;
import mineplex.core.portal.Portal;
public class ArcadeManager extends MiniPlugin implements IRelation, IChat
{
//Modules
private Chat _chat;
private CoreClientManager _clientManager;
private DisguiseManager _disguiseManager;
private DonationManager _donationManager;
private ConditionManager _conditionManager;
private Creature _creature;
private DamageManager _damageManager;
private Fire _fire;
private FireworkHandler _firework;
private Portal _portal;
private ArcadeShop _arcadeShop;
//Managers
private GameFactory _gameFactory;
private GameChatManager _gameChatManager;
private GameCreationManager _gameCreationManager;
private GameGemManager _gameGemManager;
private GameManager _gameManager;
private GameLobbyManager _gameLobbyManager;
private GameWorldManager _gameWorldManager;
//Server Games
private GameServerConfig _serverConfig;
//Games
private Game _game;
public ArcadeManager(JavaPlugin plugin, GameServerConfig serverConfig, CoreClientManager clientManager, DonationManager donationManager, ConditionManager conditionManager, DamageManager damageManager, Creature creature, PacketHandler packetHandler)
{
super("Game Manager", plugin);
_serverConfig = serverConfig;
//Modules
_conditionManager = conditionManager;
_clientManager = clientManager;
_chat = new Chat(plugin, _clientManager, this);
_creature = creature;
_damageManager = damageManager;
_damageManager.UseDefaultWeaponDamage = true;
_disguiseManager = new DisguiseManager(plugin, packetHandler);
_donationManager = donationManager;
_firework = new FireworkHandler();
_fire = new Fire(plugin, conditionManager, damageManager);
_portal = new Portal(plugin);
//Shop
_arcadeShop = new ArcadeShop(this, clientManager, donationManager);
//Game Factory
_gameFactory = new GameFactory(this);
//Managers
System.out.println("WOOF");
_gameChatManager = new GameChatManager(this);
_gameCreationManager = new GameCreationManager(this);
_gameGemManager = new GameGemManager(this);
_gameManager = new GameManager(this);
_gameLobbyManager = new GameLobbyManager(this, packetHandler);
new GameFlagManager(this);
new GamePlayerManager(this);
_gameWorldManager = new GameWorldManager(this);
new MiscManager(this);
//Game Addons
new CompassAddon(plugin, this);
new SoupAddon(plugin, this);
}
@Override
public void AddCommands()
{
AddCommand(new GameCommand(this));
AddCommand(new ParseCommand(this));
AddCommand(new GemCommand(this));
AddCommand(new WriteCommand(this));
}
public GameServerConfig GetServerConfig()
{
return _serverConfig;
}
public ArrayList<GameType> GetGameList()
{
return GetServerConfig().GameList;
}
public Chat GetChat()
{
return _chat;
}
public CoreClientManager GetClients()
{
return _clientManager;
}
public ConditionManager GetCondition()
{
return _conditionManager;
}
public Creature GetCreature()
{
return _creature;
}
public DisguiseManager GetDisguise()
{
return _disguiseManager;
}
public DamageManager GetDamage()
{
return _damageManager;
}
public DonationManager GetDonation()
{
return _donationManager;
}
public Fire GetFire()
{
return _fire;
}
public FireworkHandler GetFirework()
{
return _firework;
}
public GameLobbyManager GetLobby()
{
return _gameLobbyManager;
}
public ArcadeShop GetShop()
{
return _arcadeShop;
}
public GameCreationManager GetGameCreationManager()
{
return _gameCreationManager;
}
public GameFactory GetGameFactory()
{
return _gameFactory;
}
public GameManager GetGameManager()
{
return _gameManager;
}
public GameGemManager GetGameGemManager()
{
return _gameGemManager;
}
public GameWorldManager GetGameWorldManager()
{
return _gameWorldManager;
}
public ChatColor GetColor(Player player)
{
if (_game == null)
return ChatColor.GRAY;
GameTeam team = _game.GetTeam(player);
if (team == null)
return ChatColor.GRAY;
return team.GetColor();
}
@Override
public void HandleChat(AsyncPlayerChatEvent event, String filteredMessage)
{
_gameChatManager.HandleChat(event, filteredMessage);
}
@Override
public boolean CanHurt(String a, String b)
{
return CanHurt(UtilPlayer.searchExact(a), UtilPlayer.searchExact(b));
}
public boolean CanHurt(Player pA, Player pB)
{
if (pA == null || pB == null)
return false;
if (!_game.Damage)
return false;
if (!_game.DamagePvP)
return false;
//Self Damage
if (pA.equals(pB))
return _game.DamageSelf;
GameTeam tA = _game.GetTeam(pA);
if (tA == null)
return false;
GameTeam tB = _game.GetTeam(pB);
if (tB == null)
return false;
if (tA.equals(tB) && !_game.DamageTeamSelf)
return false;
if (!tA.equals(tB) && !_game.DamageTeamOther)
return false;
return true;
}
@Override
public boolean IsSafe(Player player)
{
if (_game == null)
return true;
if (_game.IsPlaying(player))
return false;
return true;
}
@EventHandler
public void MessageMOTD(ServerListPingEvent event)
{
if (_game == null || _game.GetState() == GameState.Recruit)
{
if (_game != null && _game.GetCountdown() != -1)
{
event.setMotd(ChatColor.GREEN + "Starting in " + _game.GetCountdown() + " Seconds");
}
else
{
event.setMotd(ChatColor.GREEN + "Recruiting");
}
}
else
{
event.setMotd(ChatColor.YELLOW + "In Progress");
}
}
@EventHandler
public void MessageJoin(PlayerJoinEvent event)
{
event.setJoinMessage(F.sys("Join", event.getPlayer().getName()));
}
@EventHandler
public void MessageQuit(PlayerQuitEvent event)
{
event.setQuitMessage(F.sys("Quit", GetColor(event.getPlayer()) + event.getPlayer().getName()));
}
public Game GetGame()
{
return _game;
}
public void SetGame(Game game)
{
_game = game;
}
public int GetPlayerMin()
{
return GetServerConfig().MinPlayers;
}
public int GetPlayerFull()
{
return GetServerConfig().MaxPlayers;
}
public void HubClock(Player player)
{
player.getInventory().setItem(1, ItemStackFactory.Instance.CreateStack(Material.WATCH, (byte)0, 1, (short)0, C.cGreen + "Return to Hub",
new String[] {"", ChatColor.RESET + "Click while holding this", ChatColor.RESET + "to return to the Hub."}));
}
@EventHandler(priority = EventPriority.LOWEST)
public void HubClockInteract(PlayerInteractEvent event)
{
Player player = event.getPlayer();
if (player.getItemInHand() == null)
return;
if (player.getItemInHand().getType() != Material.WATCH)
return;
if (_game != null && _game.IsAlive(player))
return;
_portal.SendPlayerToServer(player, "Lobby");
}
public boolean IsAlive(Player player)
{
if (_game == null)
return false;
return _game.IsAlive(player);
}
public void Clear(Player player)
{
player.setGameMode(GameMode.SURVIVAL);
UtilInv.Clear(player);
player.setFoodLevel(20);
player.setHealth(20);
player.setFireTicks(0);
player.setFallDistance(0);
player.setLevel(0);
player.setExp(0f);
((CraftPlayer)player).getHandle().spectating = false;
((CraftPlayer)player).getHandle().m = true;
GetCondition().EndCondition(player, ConditionType.CLOAK, "Spectator");
HubClock(player);
GetDisguise().Undisguise(player);
}
public ArrayList<String> LoadFiles(String gameName)
{
File folder = new File("maps" + File.separatorChar + gameName);
if (!folder.exists()) folder.mkdirs();
ArrayList<String> maps = new ArrayList<String>();
System.out.println("Searching Maps in: " + folder);
for (File file : folder.listFiles())
{
if (!file.isFile())
continue;
String name = file.getName();
if (name.length() < 5)
continue;
name = name.substring(name.length()-4, name.length());
if (file.getName().equals(".zip"))
continue;
maps.add(file.getName().substring(0, file.getName().length()-4));
}
for (String map : maps)
System.out.println("Found Map: " + map);
return maps;
}
}

View File

@ -1,7 +1,7 @@
package nautilus.game.arcade.game.minigames.deathtag.kits; package nautilus.game.arcade.game.minigames.deathtag.kits;
import org.bukkit.Material; import org.bukkit.Material;
import org.bukkit.entity.Creature; import org.bukkit.entity.LivingEntity;
import org.bukkit.entity.EntityType; import org.bukkit.entity.EntityType;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
@ -46,7 +46,7 @@ public class KitArcher extends Kit
} }
@Override @Override
public void SpawnCustom(Creature ent) public void SpawnCustom(LivingEntity ent)
{ {
ent.getEquipment().setHelmet(new ItemStack(Material.CHAINMAIL_HELMET)); ent.getEquipment().setHelmet(new ItemStack(Material.CHAINMAIL_HELMET));
ent.getEquipment().setChestplate(new ItemStack(Material.CHAINMAIL_CHESTPLATE)); ent.getEquipment().setChestplate(new ItemStack(Material.CHAINMAIL_CHESTPLATE));

View File

@ -1,7 +1,7 @@
package nautilus.game.arcade.game.minigames.dragons.kits; package nautilus.game.arcade.game.minigames.dragons.kits;
import org.bukkit.Material; import org.bukkit.Material;
import org.bukkit.entity.Creature; import org.bukkit.entity.LivingEntity;
import org.bukkit.entity.EntityType; import org.bukkit.entity.EntityType;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
@ -46,7 +46,7 @@ public class KitCoward extends Kit
} }
@Override @Override
public void SpawnCustom(Creature ent) public void SpawnCustom(LivingEntity ent)
{ {
ent.getEquipment().setHelmet(new ItemStack(Material.LEATHER_HELMET)); ent.getEquipment().setHelmet(new ItemStack(Material.LEATHER_HELMET));
ent.getEquipment().setChestplate(new ItemStack(Material.LEATHER_CHESTPLATE)); ent.getEquipment().setChestplate(new ItemStack(Material.LEATHER_CHESTPLATE));

View File

@ -1,7 +1,7 @@
package nautilus.game.arcade.game.minigames.dragons.kits; package nautilus.game.arcade.game.minigames.dragons.kits;
import org.bukkit.Material; import org.bukkit.Material;
import org.bukkit.entity.Creature; import org.bukkit.entity.LivingEntity;
import org.bukkit.entity.EntityType; import org.bukkit.entity.EntityType;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
@ -45,7 +45,7 @@ public class KitMarksman extends Kit
} }
@Override @Override
public void SpawnCustom(Creature ent) public void SpawnCustom(LivingEntity ent)
{ {
ent.getEquipment().setHelmet(new ItemStack(Material.CHAINMAIL_HELMET)); ent.getEquipment().setHelmet(new ItemStack(Material.CHAINMAIL_HELMET));
ent.getEquipment().setChestplate(new ItemStack(Material.CHAINMAIL_CHESTPLATE)); ent.getEquipment().setChestplate(new ItemStack(Material.CHAINMAIL_CHESTPLATE));

View File

@ -1,7 +1,7 @@
package nautilus.game.arcade.game.minigames.dragons.kits; package nautilus.game.arcade.game.minigames.dragons.kits;
import org.bukkit.Material; import org.bukkit.Material;
import org.bukkit.entity.Creature; import org.bukkit.entity.LivingEntity;
import org.bukkit.entity.EntityType; import org.bukkit.entity.EntityType;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
@ -43,7 +43,7 @@ public class KitPyrotechnic extends Kit
} }
@Override @Override
public void SpawnCustom(Creature ent) public void SpawnCustom(LivingEntity ent)
{ {
ent.getEquipment().setHelmet(new ItemStack(Material.GOLD_HELMET)); ent.getEquipment().setHelmet(new ItemStack(Material.GOLD_HELMET));
ent.getEquipment().setChestplate(new ItemStack(Material.GOLD_CHESTPLATE)); ent.getEquipment().setChestplate(new ItemStack(Material.GOLD_CHESTPLATE));

View File

@ -1,7 +1,7 @@
package nautilus.game.arcade.game.minigames.horsecharge.kits; package nautilus.game.arcade.game.minigames.horsecharge.kits;
import org.bukkit.Material; import org.bukkit.Material;
import org.bukkit.entity.Creature; import org.bukkit.entity.LivingEntity;
import org.bukkit.entity.EntityType; import org.bukkit.entity.EntityType;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
@ -44,7 +44,7 @@ public class KitDefenceArcher extends Kit
} }
@Override @Override
public void SpawnCustom(Creature ent) public void SpawnCustom(LivingEntity ent)
{ {
ent.getEquipment().setHelmet(new ItemStack(Material.LEATHER_HELMET)); ent.getEquipment().setHelmet(new ItemStack(Material.LEATHER_HELMET));
ent.getEquipment().setChestplate(new ItemStack(Material.LEATHER_CHESTPLATE)); ent.getEquipment().setChestplate(new ItemStack(Material.LEATHER_CHESTPLATE));

View File

@ -1,7 +1,7 @@
package nautilus.game.arcade.game.minigames.horsecharge.kits; package nautilus.game.arcade.game.minigames.horsecharge.kits;
import org.bukkit.Material; import org.bukkit.Material;
import org.bukkit.entity.Creature; import org.bukkit.entity.LivingEntity;
import org.bukkit.entity.EntityType; import org.bukkit.entity.EntityType;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
@ -44,7 +44,7 @@ public class KitHorseKnight extends Kit
} }
@Override @Override
public void SpawnCustom(Creature ent) public void SpawnCustom(LivingEntity ent)
{ {
ent.getEquipment().setHelmet(new ItemStack(Material.IRON_HELMET)); ent.getEquipment().setHelmet(new ItemStack(Material.IRON_HELMET));
ent.getEquipment().setChestplate(new ItemStack(Material.IRON_CHESTPLATE)); ent.getEquipment().setChestplate(new ItemStack(Material.IRON_CHESTPLATE));

View File

@ -1,7 +1,7 @@
package nautilus.game.arcade.game.minigames.quiver.kits; package nautilus.game.arcade.game.minigames.quiver.kits;
import org.bukkit.Material; import org.bukkit.Material;
import org.bukkit.entity.Creature; import org.bukkit.entity.LivingEntity;
import org.bukkit.entity.EntityType; import org.bukkit.entity.EntityType;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
@ -46,7 +46,7 @@ public class KitBrawler extends Kit
} }
@Override @Override
public void SpawnCustom(Creature ent) public void SpawnCustom(LivingEntity ent)
{ {
} }

View File

@ -1,7 +1,7 @@
package nautilus.game.arcade.game.minigames.quiver.kits; package nautilus.game.arcade.game.minigames.quiver.kits;
import org.bukkit.Material; import org.bukkit.Material;
import org.bukkit.entity.Creature; import org.bukkit.entity.LivingEntity;
import org.bukkit.entity.EntityType; import org.bukkit.entity.EntityType;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
@ -46,7 +46,7 @@ public class KitElementalist extends Kit
} }
@Override @Override
public void SpawnCustom(Creature ent) public void SpawnCustom(LivingEntity ent)
{ {
} }

View File

@ -1,7 +1,7 @@
package nautilus.game.arcade.game.minigames.quiver.kits; package nautilus.game.arcade.game.minigames.quiver.kits;
import org.bukkit.Material; import org.bukkit.Material;
import org.bukkit.entity.Creature; import org.bukkit.entity.LivingEntity;
import org.bukkit.entity.EntityType; import org.bukkit.entity.EntityType;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
@ -46,7 +46,7 @@ public class KitLeaper extends Kit
} }
@Override @Override
public void SpawnCustom(Creature ent) public void SpawnCustom(LivingEntity ent)
{ {
} }

View File

@ -1,7 +1,7 @@
package nautilus.game.arcade.game.minigames.turfforts.kits; package nautilus.game.arcade.game.minigames.turfforts.kits;
import org.bukkit.Material; import org.bukkit.Material;
import org.bukkit.entity.Creature; import org.bukkit.entity.LivingEntity;
import org.bukkit.entity.EntityType; import org.bukkit.entity.EntityType;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
@ -48,7 +48,7 @@ public class KitInfiltrator extends Kit
} }
@Override @Override
public void SpawnCustom(Creature ent) public void SpawnCustom(LivingEntity ent)
{ {
} }

View File

@ -1,7 +1,7 @@
package nautilus.game.arcade.game.minigames.turfforts.kits; package nautilus.game.arcade.game.minigames.turfforts.kits;
import org.bukkit.Material; import org.bukkit.Material;
import org.bukkit.entity.Creature; import org.bukkit.entity.LivingEntity;
import org.bukkit.entity.EntityType; import org.bukkit.entity.EntityType;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
@ -47,7 +47,7 @@ public class KitMarksman extends Kit
} }
@Override @Override
public void SpawnCustom(Creature ent) public void SpawnCustom(LivingEntity ent)
{ {
} }

View File

@ -1,7 +1,7 @@
package nautilus.game.arcade.game.minigames.turfforts.kits; package nautilus.game.arcade.game.minigames.turfforts.kits;
import org.bukkit.Material; import org.bukkit.Material;
import org.bukkit.entity.Creature; import org.bukkit.entity.LivingEntity;
import org.bukkit.entity.EntityType; import org.bukkit.entity.EntityType;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
@ -48,7 +48,7 @@ public class KitShredder extends Kit
} }
@Override @Override
public void SpawnCustom(Creature ent) public void SpawnCustom(LivingEntity ent)
{ {
} }

View File

@ -1,8 +1,8 @@
package nautilus.game.arcade.game.standalone.castlesiege.kits; package nautilus.game.arcade.game.standalone.castlesiege.kits;
import org.bukkit.Material; import org.bukkit.Material;
import org.bukkit.entity.Creature;
import org.bukkit.entity.EntityType; import org.bukkit.entity.EntityType;
import org.bukkit.entity.LivingEntity;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler; import org.bukkit.event.EventHandler;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
@ -69,7 +69,7 @@ public class KitHumanElementalist extends Kit
} }
@Override @Override
public void SpawnCustom(Creature ent) public void SpawnCustom(LivingEntity ent)
{ {
ent.getEquipment().setHelmet(new ItemStack(Material.GOLD_HELMET)); ent.getEquipment().setHelmet(new ItemStack(Material.GOLD_HELMET));
ent.getEquipment().setChestplate(new ItemStack(Material.GOLD_CHESTPLATE)); ent.getEquipment().setChestplate(new ItemStack(Material.GOLD_CHESTPLATE));

View File

@ -1,8 +1,8 @@
package nautilus.game.arcade.game.standalone.castlesiege.kits; package nautilus.game.arcade.game.standalone.castlesiege.kits;
import org.bukkit.Material; import org.bukkit.Material;
import org.bukkit.entity.Creature;
import org.bukkit.entity.EntityType; import org.bukkit.entity.EntityType;
import org.bukkit.entity.LivingEntity;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler; import org.bukkit.event.EventHandler;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
@ -76,7 +76,7 @@ public class KitHumanKnight extends Kit
} }
@Override @Override
public void SpawnCustom(Creature ent) public void SpawnCustom(LivingEntity ent)
{ {
ent.getEquipment().setHelmet(new ItemStack(Material.IRON_HELMET)); ent.getEquipment().setHelmet(new ItemStack(Material.IRON_HELMET));
ent.getEquipment().setChestplate(new ItemStack(Material.IRON_CHESTPLATE)); ent.getEquipment().setChestplate(new ItemStack(Material.IRON_CHESTPLATE));

View File

@ -1,8 +1,8 @@
package nautilus.game.arcade.game.standalone.castlesiege.kits; package nautilus.game.arcade.game.standalone.castlesiege.kits;
import org.bukkit.Material; import org.bukkit.Material;
import org.bukkit.entity.Creature;
import org.bukkit.entity.EntityType; import org.bukkit.entity.EntityType;
import org.bukkit.entity.LivingEntity;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler; import org.bukkit.event.EventHandler;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
@ -71,7 +71,7 @@ public class KitHumanMarksman extends Kit
} }
@Override @Override
public void SpawnCustom(Creature ent) public void SpawnCustom(LivingEntity ent)
{ {
ent.getEquipment().setHelmet(new ItemStack(Material.CHAINMAIL_HELMET)); ent.getEquipment().setHelmet(new ItemStack(Material.CHAINMAIL_HELMET));
ent.getEquipment().setChestplate(new ItemStack(Material.CHAINMAIL_CHESTPLATE)); ent.getEquipment().setChestplate(new ItemStack(Material.CHAINMAIL_CHESTPLATE));

View File

@ -1,8 +1,8 @@
package nautilus.game.arcade.game.standalone.castlesiege.kits; package nautilus.game.arcade.game.standalone.castlesiege.kits;
import org.bukkit.Material; import org.bukkit.Material;
import org.bukkit.entity.Creature;
import org.bukkit.entity.EntityType; import org.bukkit.entity.EntityType;
import org.bukkit.entity.LivingEntity;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler; import org.bukkit.event.EventHandler;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
@ -61,7 +61,7 @@ public class KitHumanPeasant extends Kit
} }
@Override @Override
public void SpawnCustom(Creature ent) public void SpawnCustom(LivingEntity ent)
{ {
} }

View File

@ -63,6 +63,7 @@ public class KitEnderman extends SmashKit
DisguiseEnderman disguise = new DisguiseEnderman(player); DisguiseEnderman disguise = new DisguiseEnderman(player);
disguise.SetName(Manager.GetGame().GetTeam(player).GetColor() + player.getName()); disguise.SetName(Manager.GetGame().GetTeam(player).GetColor() + player.getName());
disguise.SetCustomNameVisible(true); disguise.SetCustomNameVisible(true);
disguise.a(false);
Manager.GetDisguise().Disguise(disguise); Manager.GetDisguise().Disguise(disguise);
_disguises.put(player, disguise); _disguises.put(player, disguise);

View File

@ -1,8 +1,8 @@
package nautilus.game.arcade.game.standalone.zombiesurvival.kits; package nautilus.game.arcade.game.standalone.zombiesurvival.kits;
import org.bukkit.Material; import org.bukkit.Material;
import org.bukkit.entity.Creature;
import org.bukkit.entity.EntityType; import org.bukkit.entity.EntityType;
import org.bukkit.entity.LivingEntity;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
@ -46,7 +46,7 @@ public class KitSurvivorArcher extends Kit
} }
@Override @Override
public void SpawnCustom(Creature ent) public void SpawnCustom(LivingEntity ent)
{ {
ent.getEquipment().setHelmet(new ItemStack(Material.CHAINMAIL_HELMET)); ent.getEquipment().setHelmet(new ItemStack(Material.CHAINMAIL_HELMET));
ent.getEquipment().setChestplate(new ItemStack(Material.CHAINMAIL_CHESTPLATE)); ent.getEquipment().setChestplate(new ItemStack(Material.CHAINMAIL_CHESTPLATE));

View File

@ -1,7 +1,7 @@
package nautilus.game.arcade.game.standalone.zombiesurvival.kits; package nautilus.game.arcade.game.standalone.zombiesurvival.kits;
import org.bukkit.Material; import org.bukkit.Material;
import org.bukkit.entity.Creature; import org.bukkit.entity.LivingEntity;
import org.bukkit.entity.EntityType; import org.bukkit.entity.EntityType;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
@ -45,7 +45,7 @@ public class KitSurvivorKnight extends Kit
} }
@Override @Override
public void SpawnCustom(Creature ent) public void SpawnCustom(LivingEntity ent)
{ {
ent.getEquipment().setHelmet(new ItemStack(Material.IRON_HELMET)); ent.getEquipment().setHelmet(new ItemStack(Material.IRON_HELMET));
ent.getEquipment().setChestplate(new ItemStack(Material.IRON_CHESTPLATE)); ent.getEquipment().setChestplate(new ItemStack(Material.IRON_CHESTPLATE));

View File

@ -1,7 +1,7 @@
package nautilus.game.arcade.game.standalone.zombiesurvival.kits; package nautilus.game.arcade.game.standalone.zombiesurvival.kits;
import org.bukkit.Material; import org.bukkit.Material;
import org.bukkit.entity.Creature; import org.bukkit.entity.LivingEntity;
import org.bukkit.entity.EntityType; import org.bukkit.entity.EntityType;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
@ -45,7 +45,7 @@ public class KitSurvivorRogue extends Kit
} }
@Override @Override
public void SpawnCustom(Creature ent) public void SpawnCustom(LivingEntity ent)
{ {
ent.getEquipment().setHelmet(new ItemStack(Material.LEATHER_HELMET)); ent.getEquipment().setHelmet(new ItemStack(Material.LEATHER_HELMET));
ent.getEquipment().setChestplate(new ItemStack(Material.LEATHER_CHESTPLATE)); ent.getEquipment().setChestplate(new ItemStack(Material.LEATHER_CHESTPLATE));

View File

@ -1,7 +1,7 @@
package nautilus.game.arcade.game.standalone.zombiesurvival.kits; package nautilus.game.arcade.game.standalone.zombiesurvival.kits;
import org.bukkit.Material; import org.bukkit.Material;
import org.bukkit.entity.Creature; import org.bukkit.entity.LivingEntity;
import org.bukkit.entity.EntityType; import org.bukkit.entity.EntityType;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.entity.Skeleton; import org.bukkit.entity.Skeleton;
@ -52,7 +52,7 @@ public class KitUndeadAlpha extends Kit
} }
@Override @Override
public void SpawnCustom(Creature ent) public void SpawnCustom(LivingEntity ent)
{ {
if (ent instanceof Skeleton) if (ent instanceof Skeleton)
{ {

View File

@ -9,8 +9,9 @@ import nautilus.game.arcade.ArcadeManager;
import org.bukkit.ChatColor; import org.bukkit.ChatColor;
import org.bukkit.Location; import org.bukkit.Location;
import org.bukkit.entity.Creature; import org.bukkit.entity.Entity;
import org.bukkit.entity.EntityType; import org.bukkit.entity.EntityType;
import org.bukkit.entity.LivingEntity;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.event.Listener; import org.bukkit.event.Listener;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
@ -95,26 +96,27 @@ public abstract class Kit implements Listener
public abstract void GiveItems(Player player); public abstract void GiveItems(Player player);
public Creature SpawnEntity(Location loc) public Entity SpawnEntity(Location loc)
{ {
EntityType type = _entityType; EntityType type = _entityType;
if (type == EntityType.PLAYER) if (type == EntityType.PLAYER)
type = EntityType.ZOMBIE; type = EntityType.ZOMBIE;
Creature ent = (Creature)Manager.GetCreature().SpawnEntity(loc, type); LivingEntity entity = (LivingEntity) Manager.GetCreature().SpawnEntity(loc, type);
ent.setRemoveWhenFarAway(false);
ent.setCustomName(GetAvailability().GetColor() + GetName() + " Kit" + (GetAvailability() == KitAvailability.Blue ? ChatColor.GRAY + " (" + ChatColor.WHITE + "Ultra" + ChatColor.GRAY + ")" : ""));
ent.setCustomNameVisible(true);
ent.getEquipment().setItemInHand(_itemInHand);
UtilEnt.Vegetate(ent); entity.setRemoveWhenFarAway(false);
entity.setCustomName(GetAvailability().GetColor() + GetName() + " Kit" + (GetAvailability() == KitAvailability.Blue ? ChatColor.GRAY + " (" + ChatColor.WHITE + "Ultra" + ChatColor.GRAY + ")" : ""));
entity.setCustomNameVisible(true);
entity.getEquipment().setItemInHand(_itemInHand);
SpawnCustom(ent); UtilEnt.Vegetate(entity);
return ent; SpawnCustom(entity);
return entity;
} }
public void SpawnCustom(Creature ent) { } public void SpawnCustom(LivingEntity ent) { }
public void DisplayDesc(Player player) public void DisplayDesc(Player player)
{ {

View File

@ -23,6 +23,7 @@ import org.bukkit.entity.Entity;
import org.bukkit.entity.EntityType; import org.bukkit.entity.EntityType;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.entity.Sheep; import org.bukkit.entity.Sheep;
import org.bukkit.entity.Slime;
import org.bukkit.event.EventHandler; import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority; import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener; import org.bukkit.event.Listener;
@ -80,11 +81,11 @@ public class GameLobbyManager implements IPacketRunnable, Listener
private Location spawn; private Location spawn;
private HashMap<Creature, LobbyEnt> _kits = new HashMap<Creature, LobbyEnt>(); private NautHashMap<Entity, LobbyEnt> _kits = new NautHashMap<Entity, LobbyEnt>();
private HashMap<Block, Material> _kitBlocks = new HashMap<Block, Material>(); private NautHashMap<Block, Material> _kitBlocks = new NautHashMap<Block, Material>();
private HashMap<Creature, LobbyEnt> _teams = new HashMap<Creature, LobbyEnt>(); private NautHashMap<Entity, LobbyEnt> _teams = new NautHashMap<Entity, LobbyEnt>();
private HashMap<Block, Material> _teamBlocks = new HashMap<Block, Material>(); private NautHashMap<Block, Material> _teamBlocks = new NautHashMap<Block, Material>();
private long _fireworkStart; private long _fireworkStart;
private Color _fireworkColor; private Color _fireworkColor;
@ -376,7 +377,7 @@ public class GameLobbyManager implements IPacketRunnable, Listener
entLoc.getChunk().load(); entLoc.getChunk().load();
Creature ent = kit.SpawnEntity(entLoc); Entity ent = kit.SpawnEntity(entLoc);
if (ent == null) if (ent == null)
continue; continue;
@ -385,7 +386,7 @@ public class GameLobbyManager implements IPacketRunnable, Listener
} }
} }
public void SetKitTeamBlocks(Location loc, int id, byte data, HashMap<Block, Material> blockMap) public void SetKitTeamBlocks(Location loc, int id, byte data, NautHashMap<Block, Material> blockMap)
{ {
//Coloring //Coloring
Block block = loc.clone().add( 0.5, 0, 0.5).getBlock(); Block block = loc.clone().add( 0.5, 0, 0.5).getBlock();
@ -488,7 +489,7 @@ public class GameLobbyManager implements IPacketRunnable, Listener
{ {
for (Entity ent : UtilWorld.getWorld("world").getEntities()) for (Entity ent : UtilWorld.getWorld("world").getEntities())
{ {
if (ent instanceof Creature) if (ent instanceof Creature || ent instanceof Slime)
{ {
if (_kits.containsKey(ent)) if (_kits.containsKey(ent))
continue; continue;