package chbachman.armour.proxy; import java.util.LinkedList; import java.util.List; import net.minecraft.client.Minecraft; import net.minecraft.client.audio.SoundCategory; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Items; import net.minecraft.world.World; import net.minecraftforge.client.event.TextureStitchEvent; import chbachman.api.registry.UpgradeRegistry; import chbachman.api.upgrade.IUpgrade; import chbachman.armour.register.Vanilla; import chbachman.armour.upgrade.KeybindUpgrade; import cofh.core.key.CoFHKeyHandler; import cofh.core.render.IconRegistry; import cpw.mods.fml.client.FMLClientHandler; import cpw.mods.fml.common.eventhandler.SubscribeEvent; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; public class ClientProxy extends CommonProxy { @Override public void registerKeyBinds() { super.registerKeyBinds(); for (IUpgrade normalUpgrade : UpgradeRegistry.getUpgradeList()) { if (normalUpgrade instanceof KeybindUpgrade) { KeybindUpgrade upgrade = (KeybindUpgrade) normalUpgrade; CoFHKeyHandler.addKeyBind(upgrade); } } } @Override @SideOnly(Side.CLIENT) @SubscribeEvent public void registerIcons(TextureStitchEvent.Pre event) { if (event.map.getTextureType() == 0) { } else if (event.map.getTextureType() == 1) { IconRegistry.addIcon("IconRecipe", Items.paper.getIconFromDamage(0)); IconRegistry.addIcon("IconUpgrade", Vanilla.chestplateModular.getIconFromDamage(0)); } } /* SERVER UTILS */ @Override public boolean isOp(String playerName) { return true; } @Override public boolean isClient() { return true; } @Override public boolean isServer() { return false; } @Override public World getClientWorld() { return Minecraft.getMinecraft().theWorld; } /* PLAYER UTILS */ @Override public EntityPlayer findPlayer(String playerName) { for (Object a : FMLClientHandler.instance().getClient().theWorld.playerEntities) { EntityPlayer player = (EntityPlayer) a; if (player.getCommandSenderName().toLowerCase().equals(playerName.toLowerCase())) { return player; } } return null; } @Override public EntityPlayer getClientPlayer() { return Minecraft.getMinecraft().thePlayer; } @Override public List<EntityPlayer> getPlayerList() { return new LinkedList<EntityPlayer>(); } /* SOUND UTILS */ @Override public float getSoundVolume(int category) { if (category > SoundCategory.values().length) { return 0; } return FMLClientHandler.instance().getClient().gameSettings.getSoundLevel(SoundCategory.values()[category]); } }