package Oskar13.TheCharacters; import java.util.HashMap; import Oskar13.OskarStart; import Oskar13.TheCharacters.ModelSystem.ModelGhast; import Oskar13.TheCharacters.ModelSystem.ModelHuman; import Oskar13.TheCharacters.ModelSystem.ModelHumanArmor; import Oskar13.TheCharacters.ModelSystem.PlayerModel; import net.minecraft.client.entity.EntityPlayerSP; import net.minecraft.entity.player.EntityPlayer; public class Characters { // Arrary of player public static final HashMap<String, Characters> PLAYERS = new HashMap<String, Characters>(); // Arrary of models public static final HashMap<String, PlayerModel> MODELS = new HashMap<String, PlayerModel>(); public static final String skinURL = "null"; // Models static PlayerModel human; static PlayerModel ghast; public EntityPlayer player; public Stats stats; public Characters(EntityPlayer player, Stats stats) { this.player = player; this.stats = stats; } public static void addPlayer(String player, Characters chara) { if (!PLAYERS.containsKey(player)) { PLAYERS.put(player, chara); } } public static void removePlayer(String player) { PLAYERS.remove(player); } public static Characters getPlayer(String nick) { if (!PLAYERS.containsKey(nick)) { OskarStart.debug("Player isnt added"); return null; } return PLAYERS.get(nick); } public Stats getStats() { return stats; } public static PlayerModel OtherPlayerModel(EntityPlayer player) { if(player instanceof EntityPlayerSP) { return ghast; } String username = player.username; if(PLAYERS.containsKey(username)) { String pmName = PLAYERS.get(username).getStats().modelName; return getModel(pmName, 1); }else { OskarStart.debug("This player isn't in HashMap"); return ghast; } } public static boolean isModelInstalled(String name) { return MODELS.containsKey(name); } public static void addModel(PlayerModel pm) { String pmName = pm.name; if (isModelInstalled(pmName)) { OskarStart.debug("Model " + pmName + " is already installed"); return; } pm.base.init(0F); MODELS.put(pmName, pm); return; } public static PlayerModel getModel(String nick) { Characters c = getPlayer(nick); if(c == null) return (PlayerModel)MODELS.get("Ghast"); return (PlayerModel) MODELS.get(c.getStats().modelName); } public static PlayerModel getModel(String name, int NotUse){ return (PlayerModel) MODELS.get(name); } static { human = new PlayerModel("Human", new ModelHuman(), new ModelHumanArmor()).setRenderScale(3F); ghast = new PlayerModel("Ghast", new ModelGhast(), null).setEyeHeight(0.12F).setRenderScale(0.9375F); addModel(human); addModel(ghast); OskarStart.debug("Added models"); } }