From 4f7ad220df0438b6f3382110577b53f29da46453 Mon Sep 17 00:00:00 2001 From: bculkin2442 Date: Thu, 24 May 2018 15:50:07 -0400 Subject: Update of all changes --- .../jewelrycraft/events/BlockEventHandler.java | 85 +- .../jewelrycraft/events/BucketHandler.java | 73 +- .../jewelrycraft/events/EntityEventHandler.java | 1058 +++++++++++++------- .../jewelrycraft/events/EventCommonHandler.java | 19 +- .../darkknight/jewelrycraft/events/EventList.java | 57 +- .../jewelrycraft/events/KeyBindings.java | 58 +- .../jewelrycraft/events/PlayerRenderHandler.java | 472 +++++++-- .../jewelrycraft/events/ScreenHandler.java | 60 +- .../jewelrycraft/events/TextureEvent.java | 18 +- 9 files changed, 1325 insertions(+), 575 deletions(-) mode change 100644 => 100755 src/main/java/darkknight/jewelrycraft/events/BlockEventHandler.java mode change 100644 => 100755 src/main/java/darkknight/jewelrycraft/events/BucketHandler.java mode change 100644 => 100755 src/main/java/darkknight/jewelrycraft/events/EntityEventHandler.java mode change 100644 => 100755 src/main/java/darkknight/jewelrycraft/events/EventCommonHandler.java mode change 100644 => 100755 src/main/java/darkknight/jewelrycraft/events/EventList.java mode change 100644 => 100755 src/main/java/darkknight/jewelrycraft/events/KeyBindings.java mode change 100644 => 100755 src/main/java/darkknight/jewelrycraft/events/PlayerRenderHandler.java mode change 100644 => 100755 src/main/java/darkknight/jewelrycraft/events/ScreenHandler.java mode change 100644 => 100755 src/main/java/darkknight/jewelrycraft/events/TextureEvent.java (limited to 'src/main/java/darkknight/jewelrycraft/events') diff --git a/src/main/java/darkknight/jewelrycraft/events/BlockEventHandler.java b/src/main/java/darkknight/jewelrycraft/events/BlockEventHandler.java old mode 100644 new mode 100755 index 82af0de..fc4cacc --- a/src/main/java/darkknight/jewelrycraft/events/BlockEventHandler.java +++ b/src/main/java/darkknight/jewelrycraft/events/BlockEventHandler.java @@ -20,40 +20,53 @@ import net.minecraftforge.event.world.BlockEvent; /** * @author Sorin */ -public class BlockEventHandler -{ - @SubscribeEvent - public void onBlockDestroyed(BlockEvent.BreakEvent event) - { - if (event.getPlayer() != null){ - ItemStack item = event.getPlayer().inventory.getCurrentItem(); - if (event.block instanceof BlockMidasTouch && item != null && item.getItem().getHarvestLevel(item, "pickaxe") >= event.block.getHarvestLevel(event.blockMetadata)){ - TileEntityMidasTouch te = (TileEntityMidasTouch)event.world.getTileEntity(event.x, event.y, event.z); - if (te.target != null) dropItem(te.getWorldObj(), te.xCoord, te.yCoord, te.zCoord, new ItemStack(Items.gold_nugget, (int)(te.target.width * te.target.height * 100), 0)); - } - NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(event.getPlayer(), Variables.MODID); - for(Curse curse: Curse.getCurseList()) - if (playerInfo.getInteger(curse.getName()) > 0) curse.onBlockDestroyed(event.getPlayer(), event); - } - } - - @SubscribeEvent - public void onBlockItemsDrop(BlockEvent.HarvestDropsEvent event) - { - EntityPlayer player = event.harvester; - if (player != null){ - NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); - for(Curse curse: Curse.getCurseList()) - if (playerInfo.getInteger(curse.getName()) > 0) curse.onBlockItemsDrop(player, event); - } - } - - public void dropItem(World world, double x, double y, double z, ItemStack stack) - { - EntityItem entityitem = new EntityItem(world, x + 0.5D, y + 0.5D, z + 0.5D, stack); - entityitem.motionX = 0; - entityitem.motionZ = 0; - entityitem.motionY = 0.11000000298023224D; - world.spawnEntityInWorld(entityitem); - } +public class BlockEventHandler { + @SubscribeEvent + public void onBlockDestroyed(BlockEvent.BreakEvent event) { + if (event.getPlayer() != null) { + ItemStack item = event.getPlayer().inventory.getCurrentItem(); + if (event.block instanceof BlockMidasTouch && item != null + && item.getItem().getHarvestLevel(item, + "pickaxe") >= event.block.getHarvestLevel( + event.blockMetadata)) { + TileEntityMidasTouch te = + (TileEntityMidasTouch) event.world + .getTileEntity(event.x, event.y, event.z); + if (te.target != null) + dropItem(te.getWorldObj(), te.xCoord, te.yCoord, + te.zCoord, + new ItemStack(Items.gold_nugget, + (int) (te.target.width + * te.target.height * 100), + 0)); + } + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag( + event.getPlayer(), Variables.MODID); + for (Curse curse : Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) + curse.onBlockDestroyed(event.getPlayer(), event); + } + } + + @SubscribeEvent + public void onBlockItemsDrop(BlockEvent.HarvestDropsEvent event) { + EntityPlayer player = event.harvester; + if (player != null) { + NBTTagCompound playerInfo = PlayerUtils + .getModPlayerPersistTag(player, Variables.MODID); + for (Curse curse : Curse.getCurseList()) + if (playerInfo.getInteger(curse.getName()) > 0) + curse.onBlockItemsDrop(player, event); + } + } + + public void dropItem(World world, double x, double y, double z, + ItemStack stack) { + EntityItem entityitem = + new EntityItem(world, x + 0.5D, y + 0.5D, z + 0.5D, stack); + entityitem.motionX = 0; + entityitem.motionZ = 0; + entityitem.motionY = 0.11000000298023224D; + world.spawnEntityInWorld(entityitem); + } } diff --git a/src/main/java/darkknight/jewelrycraft/events/BucketHandler.java b/src/main/java/darkknight/jewelrycraft/events/BucketHandler.java old mode 100644 new mode 100755 index 9aae0d7..1b79a0b --- a/src/main/java/darkknight/jewelrycraft/events/BucketHandler.java +++ b/src/main/java/darkknight/jewelrycraft/events/BucketHandler.java @@ -1,14 +1,15 @@ /** * Copyright (c) SpaceToad, 2011 http://www.mod-buildcraft.com * - * BuildCraft is distributed under the terms of the Minecraft Mod Public License - * 1.0, or MMPL. Please check the contents of the license located in - * http://www.mod-buildcraft.com/MMPL-1.0.txt + * BuildCraft is distributed under the terms of the Minecraft Mod Public + * License 1.0, or MMPL. Please check the contents of the license located + * in http://www.mod-buildcraft.com/MMPL-1.0.txt */ package darkknight.jewelrycraft.events; import java.util.HashMap; import java.util.Map; + import cpw.mods.fml.common.eventhandler.Event.Result; import cpw.mods.fml.common.eventhandler.SubscribeEvent; import darkknight.jewelrycraft.block.BlockMoltenMetal; @@ -21,32 +22,42 @@ import net.minecraft.util.MovingObjectPosition; import net.minecraft.world.World; import net.minecraftforge.event.entity.player.FillBucketEvent; -public class BucketHandler -{ - public static BucketHandler INSTANCE = new BucketHandler(); - public Map buckets = new HashMap(); - - private BucketHandler() - {} - - @SubscribeEvent - public void onBucketFill(FillBucketEvent event) - { - ItemStack result = fillCustomBucket(event.world, event.target); - if (result == null) return; - event.result = result; - event.setResult(Result.ALLOW); - } - - private ItemStack fillCustomBucket(World world, MovingObjectPosition pos) - { - Block block = world.getBlock(pos.blockX, pos.blockY, pos.blockZ); - Item bucket = buckets.get(block); - if (bucket != null && world.getBlock(pos.blockX, pos.blockY, pos.blockZ) != Blocks.air && world.getBlock(pos.blockX, pos.blockY, pos.blockZ) instanceof BlockMoltenMetal){ - ItemStack item = new ItemStack(bucket); - if(BlockMoltenMetal.getTileEntity(world, pos.blockX, pos.blockY, pos.blockZ) != null) JewelryNBT.addMetal(item, BlockMoltenMetal.getTileEntity(world, pos.blockX, pos.blockY, pos.blockZ).getMetal()); - world.setBlockToAir(pos.blockX, pos.blockY, pos.blockZ); - return item; - }else return null; - } +public class BucketHandler { + public static BucketHandler INSTANCE = new BucketHandler(); + public Map buckets = new HashMap(); + + private BucketHandler() { + } + + @SubscribeEvent + public void onBucketFill(FillBucketEvent event) { + ItemStack result = fillCustomBucket(event.world, event.target); + if (result == null) + return; + event.result = result; + event.setResult(Result.ALLOW); + } + + private ItemStack fillCustomBucket(World world, + MovingObjectPosition pos) { + Block block = world.getBlock(pos.blockX, pos.blockY, pos.blockZ); + Item bucket = buckets.get(block); + if (bucket != null + && world.getBlock(pos.blockX, pos.blockY, + pos.blockZ) != Blocks.air + && world.getBlock(pos.blockX, pos.blockY, + pos.blockZ) instanceof BlockMoltenMetal) { + ItemStack item = new ItemStack(bucket); + if (BlockMoltenMetal.getTileEntity(world, pos.blockX, + pos.blockY, pos.blockZ) != null) + JewelryNBT.addMetal(item, + BlockMoltenMetal + .getTileEntity(world, pos.blockX, + pos.blockY, pos.blockZ) + .getMetal()); + world.setBlockToAir(pos.blockX, pos.blockY, pos.blockZ); + return item; + } else + return null; + } } \ No newline at end of file diff --git a/src/main/java/darkknight/jewelrycraft/events/EntityEventHandler.java b/src/main/java/darkknight/jewelrycraft/events/EntityEventHandler.java old mode 100644 new mode 100755 index 9d9a3bd..6806f65 --- a/src/main/java/darkknight/jewelrycraft/events/EntityEventHandler.java +++ b/src/main/java/darkknight/jewelrycraft/events/EntityEventHandler.java @@ -46,345 +46,723 @@ import net.minecraftforge.event.entity.living.LivingAttackEvent; import net.minecraftforge.event.entity.living.LivingDeathEvent; import net.minecraftforge.event.entity.living.LivingDropsEvent; import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent; +import net.minecraftforge.event.entity.living.LivingHealEvent; import net.minecraftforge.event.entity.player.PlayerEvent; +import net.minecraftforge.event.entity.player.PlayerSleepInBedEvent; -public class EntityEventHandler{ - - int updateTime = 0, totalUnavailableCurses = 0, luck = 0; - boolean addedCurses = false; - public static Random rand = new Random(); - public static ArrayList types = new ArrayList(); - - @SubscribeEvent - public void onEntityJoinWorld(EntityJoinWorldEvent event) { - if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); - final Entity entity = event.entity; - if (!event.world.isRemote && entity instanceof EntityPlayer) { - EntityPlayer player = (EntityPlayer)entity; - NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); - boolean shouldGiveManual = ItemList.guide != null && !persistTag.getBoolean("givenGuide"); - if (shouldGiveManual) { - ItemStack manual = new ItemStack(ItemList.guide); - if (!player.inventory.addItemStackToInventory(manual)) BlockUtils.dropItemStackInWorld(player.worldObj, player.posX, player.posY, player.posZ, manual); - persistTag.setBoolean("givenGuide", true); - } - boolean render = persistTag.getBoolean("fancyRender"); - JewelrycraftMod.fancyRender = render; - if (ConfigHandler.CURSES_ENABLED) for(Curse curse: Curse.getCurseList()) - if (curse.canCurseBeActivated(event.world) && !persistTag.hasKey(curse.getName())) persistTag.setInteger(curse.getName(), 0); - for(Curse curse: Curse.getCurseList()) - if (!curse.canCurseBeActivated(event.world)) { - Curse.availableCurses.remove(curse); - persistTag.setInteger(curse.getName(), 0); - totalUnavailableCurses++; - }else if (!Curse.availableCurses.contains(curse)) Curse.availableCurses.add(curse); - persistTag.setBoolean("sendInfo", true); - luck = calculateLuck((EntityPlayer)entity); - } - if (ConfigHandler.CAN_RED_HEARTS_SPAWN) types.add("Red"); - if (ConfigHandler.CAN_BLUE_HEARTS_SPAWN) types.add("Blue"); - if (ConfigHandler.CAN_HOLY_HEARTS_SPAWN) types.add("White"); - if (ConfigHandler.CAN_BLACK_HEARTS_SPAWN) types.add("Black"); - } - - /** - * @param event - */ - @SubscribeEvent - public void onEntityUpdate(LivingUpdateEvent event) { - Entity entity = event.entity; - EntityLivingBase entityLiving = event.entityLiving; - for(PotionBase potion: PotionBase.getPotionList()) - if (entityLiving.isPotionActive(potion)) potion.action(entityLiving); - if (entity instanceof EntityPlayer) { - EntityPlayer player = (EntityPlayer)entity; - NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); - playerInfo.setBoolean("fancyRender", JewelrycraftMod.fancyRender); - if (updateTime > 0) updateTime--; - for(int i = 0; i < 18; i++) - if (getJewelryItems(playerInfo, i) != null) { - if (getJewelryItems(playerInfo, i).getItem() instanceof ItemBaseJewelry) ((ItemBaseJewelry)getJewelryItems(playerInfo, i).getItem()).action(getJewelryItems(playerInfo, i), player); - if (getJewelryItems(playerInfo, i).getItem() instanceof IJewelryItem) ((IJewelryItem)getJewelryItems(playerInfo, i).getItem()).onWearAction(getJewelryItems(playerInfo, i), player); - } - if (!player.worldObj.isRemote) { - timeUntilYouCanResetCurses(playerInfo); - updateCurses(playerInfo, player); - if (updateTime == 0) { - JewelrycraftMod.netWrapper.sendToAll(new PacketSendServerPlayersInfo()); - updateTime = 200; - } - if (ConfigHandler.CURSES_ENABLED) for(Curse curse: Curse.getCurseList()) - if (curse.canCurseBeActivated(player.worldObj) && playerInfo.getInteger(curse.getName()) > 0) curse.action(player.worldObj, player); - } - } - } - - public void updateCurses(NBTTagCompound playerInfo, EntityPlayer player) { - if (playerInfo.hasKey("playerCursePointsChanged") && playerInfo.getBoolean("playerCursePointsChanged")) { - int points = playerInfo.getInteger("cursePoints"); - int maxCurses = playerInfo.getInteger("cursePoints") / Variables.CURSE_POINTS_PER_LEVEL + 1; - if (points > 0 && playerInfo.getInteger("activeCurses") < maxCurses) while (playerInfo.getInteger("activeCurses") < maxCurses && Curse.availableCurses.size() > 0 && playerInfo.getInteger("activeCurses") < Curse.getCurseList().size()) - addCurse(player, playerInfo); - if (!playerInfo.hasKey("curseTime") || !playerInfo.hasKey("reselectCurses") || playerInfo.getBoolean("reselectCurses")) { - playerInfo.setInteger("curseTime", 23000); - playerInfo.setBoolean("reselectCurses", false); - } - JewelrycraftMod.netWrapper.sendTo(new PacketSendClientPlayerInfo(playerInfo), (EntityPlayerMP)player); - if (addedCurses) { - JewelrycraftMod.netWrapper.sendToAll(new PacketSendServerPlayersInfo()); - player.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("curse." + Variables.MODID + ".activated"))); - addedCurses = false; - } - } - if (playerInfo.getBoolean("playerCursePointsChanged")) playerInfo.setBoolean("playerCursePointsChanged", false); - luck = calculateLuck(player); - } - - public void timeUntilYouCanResetCurses(NBTTagCompound playerInfo) { - if (playerInfo.hasKey("reselectCurses") && !playerInfo.getBoolean("reselectCurses")) { - playerInfo.setInteger("curseTime", playerInfo.getInteger("curseTime") - 10000); - if (playerInfo.getInteger("curseTime") <= 0) playerInfo.setBoolean("reselectCurses", true); - } - } - - public ItemStack getJewelryItems(NBTTagCompound playerInfo, int i) { - if (playerInfo.hasKey("ext" + i)) { - NBTTagCompound nbt = (NBTTagCompound)playerInfo.getTag("ext" + i); - ItemStack item = ItemStack.loadItemStackFromNBT(nbt); - if (item != null) return item; - } - return null; - } - - @SubscribeEvent - public void onEntityLivingDropItems(LivingDropsEvent event) { - if (event.source.getEntity() != null && event.source.getEntity() instanceof EntityPlayer) { - EntityPlayer player = (EntityPlayer)event.source.getEntity(); - NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); - if (ConfigHandler.CURSES_ENABLED) for(Curse curse: Curse.getCurseList()) - if (curse.canCurseBeActivated(player.worldObj) && playerInfo.getInteger(curse.getName()) > 0) curse.entityDropItems(player, event.entityLiving, event.drops); - } - } - - @SubscribeEvent - public void onEntityAttacked(LivingAttackEvent event) { - EntityLivingBase entity = event.entityLiving; - if (event.source.getEntity() != null && event.source.getEntity() instanceof EntityLivingBase && ((EntityLivingBase)event.source.getEntity()).isPotionActive(PotionList.stun)) event.setCanceled(true); - if (entity instanceof EntityPlayer) { - EntityPlayer player = (EntityPlayer)entity; - NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); - if (!(event.source.getEntity() instanceof EntityPlayer) && !player.capabilities.isCreativeMode) { - if (!player.worldObj.isRemote) for(int i = 0; i < 18; i++) - if (getJewelryItems(playerInfo, i) != null) { - if (getJewelryItems(playerInfo, i).getItem() instanceof ItemBaseJewelry) { - ((ItemBaseJewelry)getJewelryItems(playerInfo, i).getItem()).onPlayerAttacked(getJewelryItems(playerInfo, i), player, event.source, event.ammount); - if (((ItemBaseJewelry)getJewelryItems(playerInfo, i).getItem()).onPlayerAttackedCacellable(getJewelryItems(playerInfo, i), player, event.source, event.ammount)) event.setCanceled(true); - } - if (getJewelryItems(playerInfo, i).getItem() instanceof IJewelryItem) ((IJewelryItem)getJewelryItems(playerInfo, i).getItem()).onPlayerAttackedAction(getJewelryItems(playerInfo, i), player, event.source, event.ammount); - } - if (ConfigHandler.CURSES_ENABLED) for(Curse curse: Curse.getCurseList()) - if (curse.canCurseBeActivated(player.worldObj) && playerInfo.getInteger(curse.getName()) > 0) curse.attackedAction(player.worldObj, player); - } - removeHearts(event, player, playerInfo); - JewelrycraftMod.netWrapper.sendToAll(new PacketSendServerPlayersInfo()); - JewelrycraftMod.netWrapper.sendTo(new PacketSendClientPlayerInfo(playerInfo), (EntityPlayerMP)player); - } - if (event.source.getEntity() instanceof EntityPlayer) { - EntityPlayer player = (EntityPlayer)event.source.getEntity(); - NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); - for(int i = 0; i < 18; i++) - if (getJewelryItems(playerInfo, i) != null) { - if (getJewelryItems(playerInfo, i).getItem() instanceof ItemBaseJewelry) { - ((ItemBaseJewelry)getJewelryItems(playerInfo, i).getItem()).onEntityAttacked(getJewelryItems(playerInfo, i), player, entity, event.ammount); - if (((ItemBaseJewelry)getJewelryItems(playerInfo, i).getItem()).onEntityAttackedCacellable(getJewelryItems(playerInfo, i), player, entity, event.ammount)) event.setCanceled(true); - } - if (getJewelryItems(playerInfo, i).getItem() instanceof IJewelryItem) ((IJewelryItem)getJewelryItems(playerInfo, i).getItem()).onEntityAttackedByPlayer(getJewelryItems(playerInfo, i), player, entity, event.ammount); - } - if (ConfigHandler.CURSES_ENABLED) for(Curse curse: Curse.getCurseList()) - if (curse.canCurseBeActivated(player.worldObj) && playerInfo.getInteger(curse.getName()) > 0) { - curse.attackedByPlayerAction(event, entity.worldObj, player, entity); - if (curse.attackedByPlayerActionCancelable(event, player.worldObj, player, entity)) event.setCanceled(true); - } - if (entity instanceof EntityHeart && entity.getAge() < 30) event.setCanceled(true); - if (event.source.getEntity() instanceof EntityPlayerMP) { - JewelrycraftMod.netWrapper.sendToAll(new PacketSendServerPlayersInfo()); - JewelrycraftMod.netWrapper.sendTo(new PacketSendClientPlayerInfo(playerInfo), (EntityPlayerMP)player); - } - } - } - - public void removeHearts(LivingAttackEvent event, EntityPlayer player, NBTTagCompound playerInfo) { - if (!player.worldObj.isRemote && !player.capabilities.isCreativeMode && (float)player.hurtResistantTime <= (float)player.maxHurtResistantTime / 2.0F) { - if (playerInfo.getFloat("WhiteHeart") > 0) { - playerInfo.setFloat("WhiteHeart", 0f); - } - if (playerInfo.getFloat("BlueHeart") > 0) { - float damage = playerInfo.getFloat("BlueHeart") - event.ammount; - if (damage >= 0) playerInfo.setFloat("BlueHeart", damage); - else playerInfo.setFloat("BlueHeart", 0f); - if (damage < 0) { - System.out.println(damage); - player.attackEntityFrom(event.source, Math.abs(damage)); - } - player.hurtResistantTime = player.maxHurtResistantTime; - player.hurtTime = player.maxHurtTime = 10; - player.worldObj.playSoundAtEntity(player, "game.player.hurt", 1.0F, (this.rand.nextFloat() - this.rand.nextFloat()) * 0.2F + 1.0F); - event.setCanceled(true); - }else if (playerInfo.getFloat("BlackHeart") > 0) { - AxisAlignedBB axisalignedbb = player.boundingBox.expand(6.0D, 6.0D, 6.0D); - List enemies = player.worldObj.getEntitiesWithinAABBExcludingEntity(player, axisalignedbb, EntitySelector.selectMonsters); - if (enemies != null && !enemies.isEmpty() && event.source != DamageSourceList.blackHeart) { - Iterator iterator = enemies.iterator(); - while (iterator.hasNext()){ - Entity enemy = (Entity)iterator.next(); - enemy.attackEntityFrom(DamageSourceList.blackHeart, 6f); - } - } - float damage = playerInfo.getFloat("BlackHeart") - event.ammount; - if (damage >= 0) playerInfo.setFloat("BlackHeart", damage); - else playerInfo.setFloat("BlackHeart", 0f); - if (damage < 0) player.attackEntityFrom(event.source, Math.abs(damage)); - player.hurtResistantTime = player.maxHurtResistantTime; - player.hurtTime = player.maxHurtTime = 10; - player.worldObj.playSoundAtEntity(player, "game.player.hurt", 1.0F, (this.rand.nextFloat() - this.rand.nextFloat()) * 0.2F + 1.0F); - event.setCanceled(true); - } - } - } - - @SubscribeEvent - public void onPlayerRespawn(PlayerEvent.Clone event) { - EntityPlayer player = event.entityPlayer; - if (!player.worldObj.isRemote) { - NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); - if (playerInfo.hasKey("cursePoints")) { - int points = playerInfo.getInteger("cursePoints"); - int maxCurses = playerInfo.getInteger("cursePoints") / Variables.CURSE_POINTS_PER_LEVEL + 1; - if (points > 0 && playerInfo.getInteger("activeCurses") < maxCurses) while (playerInfo.getInteger("activeCurses") < maxCurses && Curse.availableCurses.size() > 0 && playerInfo.getInteger("activeCurses") < Curse.getCurseList().size()) - addCurse(player, playerInfo); - if (!playerInfo.hasKey("curseTime") || !playerInfo.hasKey("reselectCurses") || playerInfo.getBoolean("reselectCurses")) { - playerInfo.setInteger("curseTime", 23000); - playerInfo.setBoolean("reselectCurses", false); - } - } - playerInfo.setFloat("BlueHeart", 0f); - playerInfo.setFloat("BlackHeart", 0f); - playerInfo.setFloat("WhiteHeart", 0f); - if (ConfigHandler.CURSES_ENABLED) for(Curse curse: Curse.getCurseList()) - if (curse.canCurseBeActivated(player.worldObj) && playerInfo.getInteger(curse.getName()) > 0) curse.respawnAction(player.worldObj, player); - for(int i = 0; i < 18; i++) - if (getJewelryItems(playerInfo, i) != null) { - if (getJewelryItems(playerInfo, i).getItem() instanceof ItemBaseJewelry) ((ItemBaseJewelry)getJewelryItems(playerInfo, i).getItem()).onPlayerRespawn(getJewelryItems(playerInfo, i), event); - if (getJewelryItems(playerInfo, i).getItem() instanceof IJewelryItem) ((IJewelryItem)getJewelryItems(playerInfo, i).getItem()).onPlayerRespawnAction(getJewelryItems(playerInfo, i), event); - } - JewelrycraftMod.netWrapper.sendTo(new PacketSendClientPlayerInfo(playerInfo), (EntityPlayerMP)player); - if (addedCurses) { - JewelrycraftMod.netWrapper.sendToAll(new PacketSendServerPlayersInfo()); - addedCurses = false; - } - } - } - - public void addCurse(EntityPlayer player, NBTTagCompound playerInfo) { - if (ConfigHandler.CURSES_ENABLED && Curse.availableCurses.size() > 0) { - Curse cur = ((WeightedRandomCurse)WeightedRandom.getRandomItem(rand, JewelrycraftUtil.getCurses(player.worldObj, player, rand))).getCurse(rand); - playerInfo.setInteger(cur.getName(), 1); - Curse.availableCurses.remove(cur); - addedCurses = true; - if (playerInfo.getInteger("activeCurses") == 0) playerInfo.setInteger("activeCurses", 1); - else playerInfo.setInteger("activeCurses", playerInfo.getInteger("activeCurses") + 1); - JewelrycraftMod.netWrapper.sendToAll(new PacketSendServerPlayersInfo()); - JewelrycraftMod.netWrapper.sendTo(new PacketSendClientPlayerInfo(playerInfo), (EntityPlayerMP)player); - } - } - - @SubscribeEvent - public void itemToss(ItemTossEvent event) { - NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(event.player, Variables.MODID); - if (ConfigHandler.CURSES_ENABLED) for(Curse curse: Curse.getCurseList()) - if (event.player != null && curse.canCurseBeActivated(event.player.worldObj) && playerInfo.getInteger(curse.getName()) > 0 && curse.itemToss()) { - EntityItem entityitem = new EntityItem(event.player.worldObj, event.player.posX + 0.5D, event.player.posY + 0.5D, event.player.posZ + 0.5D, event.entityItem.getEntityItem()); - if (entityitem != null) { - entityitem.motionX = 0; - entityitem.motionZ = 0; - entityitem.motionY = 0.11000000298023224D; - event.player.worldObj.spawnEntityInWorld(entityitem); - MinecraftServer.getServer().getConfigurationManager().sendChatMsg(new ChatComponentText("<" + event.player.getDisplayName() + "> I shouldn't drop this. I might need it later.")); - event.setCanceled(true); - } - } - } - - @SubscribeEvent - public void playerFileSave(PlayerEvent.SaveToFile event) { - if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); - } - - public int calculateLuck(EntityPlayer player) { - int luck = 0; - NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); - if (ConfigHandler.CURSES_ENABLED) for(Curse curse: Curse.getCurseList()) - if (curse.canCurseBeActivated(player.worldObj) && playerInfo.getInteger(curse.getName()) > 0) luck += curse.luck(); - return luck; - } - - public static void spawnHearts(Entity entity, int chance) { - EntityLiving live = (EntityLiving)entity; - String type = types.get(rand.nextInt(types.size())); - if (rand.nextInt(chance) == 0 && live.getCreatureAttribute() != JewelrycraftUtil.HEART) { - if (type == "White") { - EntityHeart h = new EntityHalfHeart(live.worldObj); - h.setType(type); - h.setLocationAndAngles(live.posX, live.posY, live.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F); - live.worldObj.spawnEntityInWorld(h); - }else{ - for(int i = 1; i <= 1 + rand.nextInt(1 + (int)(live.getMaxHealth() / 2)); i++){ - EntityHeart[] hearts = {new EntityHeart(live.worldObj), new EntityHalfHeart(entity.worldObj)}; - EntityHeart h = hearts[rand.nextInt(2)]; - h.setType(type); - h.setLocationAndAngles(live.posX, live.posY, live.posZ, MathHelper.wrapAngleTo180_float(rand.nextFloat() * 360.0F), 0.0F); - live.worldObj.spawnEntityInWorld(h); - } - } - } - } - - @SubscribeEvent - public void onEntityDead(LivingDeathEvent event) { - final Entity entity = event.entity; - if (!entity.worldObj.isRemote && !(entity instanceof EntityPlayer) && entity instanceof EntityLiving && event.source.getEntity() != null && event.source.getEntity() instanceof EntityPlayer) { - System.out.println(luck); - spawnHearts(entity, Math.max(2, 20 - luck)); - EntityPlayer player = (EntityPlayer)event.source.getEntity(); - NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); - if (ConfigHandler.CURSES_ENABLED) for(Curse curse: Curse.getCurseList()) - if (curse.canCurseBeActivated(player.worldObj) && playerInfo.getInteger(curse.getName()) > 0) curse.entityDeathAction(player.worldObj, event.entityLiving, player); - } - if (entity instanceof EntityPlayer) { - EntityPlayer player = (EntityPlayer)entity; - NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); - playerInfo.setFloat("BlueHeart", 0f); - playerInfo.setFloat("BlackHeart", 0f); - playerInfo.setFloat("WhiteHeart", 0f); - if (playerInfo.hasKey("reselectCurses") && playerInfo.getBoolean("reselectCurses")) { - playerInfo.setInteger("activeCurses", 0); - if (ConfigHandler.CURSES_ENABLED) for(Curse l: Curse.getCurseList()){ - if (l.canCurseBeActivated(player.worldObj) && playerInfo.getInteger(l.getName()) == 1) { - playerInfo.setInteger(l.getName(), 0); - l.setTicksActive(0); - if (!Curse.availableCurses.contains(l)) Curse.availableCurses.add(l); - }else if (l.canCurseBeActivated(player.worldObj) && playerInfo.getInteger(l.getName()) >= 2) playerInfo.setInteger(l.getName(), 1); - } - if (entity.worldObj.isRemote) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); - } - if (ConfigHandler.CURSES_ENABLED) for(Curse curse: Curse.getCurseList()) - if (curse.canCurseBeActivated(player.worldObj) && playerInfo.getInteger(curse.getName()) > 0) curse.playerDeathAction(player.worldObj, player); - for(int i = 0; i < 18; i++) - if (getJewelryItems(playerInfo, i) != null) { - if (getJewelryItems(playerInfo, i).getItem() instanceof ItemBaseJewelry) ((ItemBaseJewelry)getJewelryItems(playerInfo, i).getItem()).onPlayerDead(getJewelryItems(playerInfo, i), player, event.source); - if (getJewelryItems(playerInfo, i).getItem() instanceof IJewelryItem) ((IJewelryItem)getJewelryItems(playerInfo, i).getItem()).onPlayerDeadAction(getJewelryItems(playerInfo, i), player, event.source); - } - } - if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); - } -} +public class EntityEventHandler { + int updateTime = 0, + totalUnavailableCurses = 0, luck = 0; + + boolean addedCurses = false; + + public static Random rand = new Random(); + + public static ArrayList types = new ArrayList(); + + @SubscribeEvent + public void onEntityJoinWorld(EntityJoinWorldEvent event) { + if (event.entity instanceof EntityPlayer + && !(event.entity instanceof EntityPlayerMP)) { + JewelrycraftMod.netWrapper + .sendToServer(new PacketRequestPlayerInfo()); + } + + final Entity entity = event.entity; + + if (!event.world.isRemote && entity instanceof EntityPlayer) { + EntityPlayer player = (EntityPlayer) entity; + + NBTTagCompound persistTag = PlayerUtils + .getModPlayerPersistTag(player, Variables.MODID); + + boolean shouldGiveManual = ItemList.guide != null + && !persistTag.getBoolean("givenGuide"); + + if (shouldGiveManual) { + ItemStack manual = new ItemStack(ItemList.guide); + + if (!player.inventory.addItemStackToInventory(manual)) { + BlockUtils.dropItemStackInWorld(player.worldObj, + player.posX, player.posY, player.posZ, manual); + } + + persistTag.setBoolean("givenGuide", true); + } + + boolean render = persistTag.getBoolean("fancyRender"); + + JewelrycraftMod.fancyRender = render; + + if (ConfigHandler.CURSES_ENABLED) { + for (Curse curse : Curse.getCurseList()) { + if (curse.canCurseBeActivated(event.world) + && !persistTag.hasKey(curse.getName())) { + persistTag.setInteger(curse.getName(), 0); + } + } + } + + for (Curse curse : Curse.getCurseList()) { + if (!curse.canCurseBeActivated(event.world)) { + Curse.availableCurses.remove(curse); + persistTag.setInteger(curse.getName(), 0); + totalUnavailableCurses++; + } else if (!Curse.availableCurses.contains(curse)) + Curse.availableCurses.add(curse); + } + + persistTag.setBoolean("sendInfo", true); + luck = calculateLuck((EntityPlayer) entity); + } + + if (ConfigHandler.CAN_RED_HEARTS_SPAWN) { + types.add("Red"); + } + + if (ConfigHandler.CAN_BLUE_HEARTS_SPAWN) { + types.add("Blue"); + } + + if (ConfigHandler.CAN_HOLY_HEARTS_SPAWN) { + types.add("White"); + } + + if (ConfigHandler.CAN_BLACK_HEARTS_SPAWN) { + types.add("Black"); + } + } + + /** + * @param event + */ + @SubscribeEvent + public void onEntityUpdate(LivingUpdateEvent event) { + Entity entity = event.entity; + EntityLivingBase entityLiving = event.entityLiving; + + for (PotionBase potion : PotionBase.getPotionList()) { + if (entityLiving.isPotionActive(potion)) { + potion.action(entityLiving); + } + } + + if (entity instanceof EntityPlayer) { + EntityPlayer player = (EntityPlayer) entity; + + NBTTagCompound playerInfo = PlayerUtils + .getModPlayerPersistTag(player, Variables.MODID); + + playerInfo.setBoolean("fancyRender", + JewelrycraftMod.fancyRender); + + if (updateTime > 0) { + updateTime--; + } + + for (int i = 0; i < 18; i++) { + if (getJewelryItems(playerInfo, i) != null) { + if (getJewelryItems(playerInfo, i) + .getItem() instanceof ItemBaseJewelry) { + ((ItemBaseJewelry) getJewelryItems(playerInfo, i) + .getItem()).action( + getJewelryItems(playerInfo, i), + player); + } + + if (getJewelryItems(playerInfo, i) + .getItem() instanceof IJewelryItem) { + ((IJewelryItem) getJewelryItems(playerInfo, i) + .getItem()).onWearAction( + getJewelryItems(playerInfo, i), + player); + } + } + } + + if (!player.worldObj.isRemote) { + timeUntilYouCanResetCurses(playerInfo); + updateCurses(playerInfo, player); + + if (updateTime == 0) { + JewelrycraftMod.netWrapper + .sendToAll(new PacketSendServerPlayersInfo()); + updateTime = 200; + } + + if (ConfigHandler.CURSES_ENABLED) { + for (Curse curse : Curse.getCurseList()) { + if (curse.canCurseBeActivated(player.worldObj) + && playerInfo + .getInteger(curse.getName()) > 0) { + curse.action(player.worldObj, player); + } + } + } + } + } + } + + public void updateCurses(NBTTagCompound playerInfo, + EntityPlayer player) { + if (playerInfo.hasKey("playerCursePointsChanged") + && playerInfo.getBoolean("playerCursePointsChanged")) { + int points = playerInfo.getInteger("cursePoints"); + int maxCurses = playerInfo.getInteger("cursePoints") + / Variables.CURSE_POINTS_PER_LEVEL + 1; + + if (points > 0 + && playerInfo.getInteger("activeCurses") < maxCurses) { + while (playerInfo.getInteger("activeCurses") < maxCurses + && Curse.availableCurses.size() > 0 + && playerInfo.getInteger("activeCurses") < Curse + .getCurseList().size()) { + addCurse(player, playerInfo); + } + } + + if (!playerInfo.hasKey("curseTime") + || !playerInfo.hasKey("reselectCurses") + || playerInfo.getBoolean("reselectCurses")) { + playerInfo.setInteger("curseTime", 23000); + playerInfo.setBoolean("reselectCurses", false); + } + + JewelrycraftMod.netWrapper.sendTo( + new PacketSendClientPlayerInfo(playerInfo), + (EntityPlayerMP) player); + + if (addedCurses) { + JewelrycraftMod.netWrapper + .sendToAll(new PacketSendServerPlayersInfo()); + player.addChatMessage(new ChatComponentText( + StatCollector.translateToLocal("curse." + + Variables.MODID + ".activated"))); + addedCurses = false; + } + } + + if (playerInfo.getBoolean("playerCursePointsChanged")) { + playerInfo.setBoolean("playerCursePointsChanged", false); + } + + luck = calculateLuck(player); + } + + public void timeUntilYouCanResetCurses(NBTTagCompound playerInfo) { + if (playerInfo.hasKey("reselectCurses") + && !playerInfo.getBoolean("reselectCurses")) { + playerInfo.setInteger("curseTime", + playerInfo.getInteger("curseTime") - 10000); + + if (playerInfo.getInteger("curseTime") <= 0) + playerInfo.setBoolean("reselectCurses", true); + } + } + + public ItemStack getJewelryItems(NBTTagCompound playerInfo, int i) { + if (playerInfo.hasKey("ext" + i)) { + NBTTagCompound nbt = (NBTTagCompound) playerInfo + .getTag("ext" + i); + + ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + + if (item != null) { + return item; + } + } + + return null; + } + + @SubscribeEvent + public void onEntityLivingDropItems(LivingDropsEvent event) { + if (event.source.getEntity() != null + && event.source.getEntity() instanceof EntityPlayer) { + EntityPlayer player = (EntityPlayer) event.source.getEntity(); + NBTTagCompound playerInfo = PlayerUtils + .getModPlayerPersistTag(player, Variables.MODID); + if (ConfigHandler.CURSES_ENABLED) + for (Curse curse : Curse.getCurseList()) + if (curse.canCurseBeActivated(player.worldObj) + && playerInfo.getInteger(curse.getName()) > 0) + curse.entityDropItems(player, event.entityLiving, + event.drops); + } + } + + @SubscribeEvent + public void onEntityAttacked(LivingAttackEvent event) { + EntityLivingBase entity = event.entityLiving; + + if (event.source.getEntity() != null + && event.source.getEntity() instanceof EntityLivingBase + && ((EntityLivingBase) event.source.getEntity()) + .isPotionActive(PotionList.stun)) + event.setCanceled(true); + if (entity instanceof EntityPlayer) { + EntityPlayer player = (EntityPlayer) entity; + NBTTagCompound playerInfo = PlayerUtils + .getModPlayerPersistTag(player, Variables.MODID); + + if (!(event.source.getEntity() instanceof EntityPlayer) + && !player.capabilities.isCreativeMode) { + if (!player.worldObj.isRemote) + for (int i = 0; i < 18; i++) + if (getJewelryItems(playerInfo, i) != null) { + if (getJewelryItems(playerInfo, i) + .getItem() instanceof ItemBaseJewelry) { + ((ItemBaseJewelry) getJewelryItems( + playerInfo, i).getItem()) + .onPlayerAttacked( + getJewelryItems( + playerInfo, + i), + player, + event.source, + event.ammount); + + if (((ItemBaseJewelry) getJewelryItems( + playerInfo, i).getItem()) + .onPlayerAttackedCacellable( + getJewelryItems( + playerInfo, + i), + player, + event.source, + event.ammount)) { + event.setCanceled(true); + } + } + + if (getJewelryItems(playerInfo, i) + .getItem() instanceof IJewelryItem) { + ((IJewelryItem) getJewelryItems(playerInfo, + i).getItem()) + .onPlayerAttackedAction( + getJewelryItems( + playerInfo, + i), + player, + event.source, + event.ammount); + } + } + + if (ConfigHandler.CURSES_ENABLED) { + for (Curse curse : Curse.getCurseList()) { + if (curse.canCurseBeActivated(player.worldObj) + && playerInfo + .getInteger(curse.getName()) > 0) { + curse.attackedAction(player.worldObj, player, + event, event.source.getEntity()); + } + } + } + } + + removeHearts(event, player, playerInfo); + JewelrycraftMod.netWrapper + .sendToAll(new PacketSendServerPlayersInfo()); + JewelrycraftMod.netWrapper.sendTo( + new PacketSendClientPlayerInfo(playerInfo), + (EntityPlayerMP) player); + } + + if (event.source.getEntity() instanceof EntityPlayer) { + EntityPlayer player = (EntityPlayer) event.source.getEntity(); + NBTTagCompound playerInfo = PlayerUtils + .getModPlayerPersistTag(player, Variables.MODID); + for (int i = 0; i < 18; i++) + if (getJewelryItems(playerInfo, i) != null) { + if (getJewelryItems(playerInfo, i) + .getItem() instanceof ItemBaseJewelry) { + ((ItemBaseJewelry) getJewelryItems(playerInfo, i) + .getItem()).onEntityAttacked( + getJewelryItems(playerInfo, i), + player, entity, event.ammount); + if (((ItemBaseJewelry) getJewelryItems(playerInfo, + i).getItem()).onEntityAttackedCacellable( + getJewelryItems(playerInfo, i), + player, entity, event.ammount)) + event.setCanceled(true); + } + if (getJewelryItems(playerInfo, i) + .getItem() instanceof IJewelryItem) + ((IJewelryItem) getJewelryItems(playerInfo, i) + .getItem()).onEntityAttackedByPlayer( + getJewelryItems(playerInfo, i), + player, entity, event.ammount); + } + if (ConfigHandler.CURSES_ENABLED) + for (Curse curse : Curse.getCurseList()) + if (curse.canCurseBeActivated(player.worldObj) + && playerInfo + .getInteger(curse.getName()) > 0) { + curse.attackedByPlayerAction(event, + entity.worldObj, player, entity); + if (curse.attackedByPlayerActionCancelable(event, + player.worldObj, player, entity)) + event.setCanceled(true); + } + if (entity instanceof EntityHeart && entity.getAge() < 30) + event.setCanceled(true); + if (event.source.getEntity() instanceof EntityPlayerMP) { + JewelrycraftMod.netWrapper + .sendToAll(new PacketSendServerPlayersInfo()); + JewelrycraftMod.netWrapper.sendTo( + new PacketSendClientPlayerInfo(playerInfo), + (EntityPlayerMP) player); + } + } + } + + public void removeHearts(LivingAttackEvent event, EntityPlayer player, + NBTTagCompound playerInfo) { + if (!player.worldObj.isRemote + && !player.capabilities.isCreativeMode + && (float) player.hurtResistantTime <= (float) player.maxHurtResistantTime + / 2.0F) { + if (playerInfo.getFloat("WhiteHeart") > 0) { + playerInfo.setFloat("WhiteHeart", 0f); + } + + if (playerInfo.getFloat("BlueHeart") > 0) { + float damage = playerInfo.getFloat("BlueHeart") + - event.ammount; + if (damage >= 0) { + playerInfo.setFloat("BlueHeart", damage); + } else { + playerInfo.setFloat("BlueHeart", 0f); + } + + if (damage < 0) { + System.out.println(damage); + player.attackEntityFrom(event.source, + Math.abs(damage)); + } + + player.hurtResistantTime = player.maxHurtResistantTime; + player.hurtTime = player.maxHurtTime = 10; + player.worldObj.playSoundAtEntity(player, + "game.player.hurt", 1.0F, + (EntityEventHandler.rand.nextFloat() + - EntityEventHandler.rand.nextFloat()) + * 0.2F + 1.0F); + event.setCanceled(true); + } else if (playerInfo.getFloat("BlackHeart") > 0) { + AxisAlignedBB axisalignedbb = player.boundingBox + .expand(6.0D, 6.0D, 6.0D); + List enemies = player.worldObj + .getEntitiesWithinAABBExcludingEntity(player, + axisalignedbb, + EntitySelector.selectMonsters); + if (enemies != null && !enemies.isEmpty() + && event.source != DamageSourceList.blackHeart) { + Iterator iterator = enemies.iterator(); + while (iterator.hasNext()) { + Entity enemy = (Entity) iterator.next(); + enemy.attackEntityFrom(DamageSourceList.blackHeart, + 6f); + } + } + float damage = playerInfo.getFloat("BlackHeart") + - event.ammount; + if (damage >= 0) + playerInfo.setFloat("BlackHeart", damage); + else + playerInfo.setFloat("BlackHeart", 0f); + if (damage < 0) + player.attackEntityFrom(event.source, + Math.abs(damage)); + player.hurtResistantTime = player.maxHurtResistantTime; + player.hurtTime = player.maxHurtTime = 10; + player.worldObj.playSoundAtEntity(player, + "game.player.hurt", 1.0F, + (EntityEventHandler.rand.nextFloat() + - EntityEventHandler.rand.nextFloat()) + * 0.2F + 1.0F); + event.setCanceled(true); + } + } + } + + @SubscribeEvent + public void onPlayerRespawn(PlayerEvent.Clone event) { + EntityPlayer player = event.entityPlayer; + if (!player.worldObj.isRemote) { + NBTTagCompound playerInfo = PlayerUtils + .getModPlayerPersistTag(player, Variables.MODID); + if (playerInfo.hasKey("cursePoints")) { + int points = playerInfo.getInteger("cursePoints"); + int maxCurses = playerInfo.getInteger("cursePoints") + / Variables.CURSE_POINTS_PER_LEVEL + 1; + if (points > 0 && playerInfo + .getInteger("activeCurses") < maxCurses) + while (playerInfo + .getInteger("activeCurses") < maxCurses + && Curse.availableCurses.size() > 0 + && playerInfo + .getInteger("activeCurses") < Curse + .getCurseList().size()) + addCurse(player, playerInfo); + if (!playerInfo.hasKey("curseTime") + || !playerInfo.hasKey("reselectCurses") + || playerInfo.getBoolean("reselectCurses")) { + playerInfo.setInteger("curseTime", 23000); + playerInfo.setBoolean("reselectCurses", false); + } + } + playerInfo.setFloat("BlueHeart", 0f); + playerInfo.setFloat("BlackHeart", 0f); + playerInfo.setFloat("WhiteHeart", 0f); + if (ConfigHandler.CURSES_ENABLED) + for (Curse curse : Curse.getCurseList()) + if (curse.canCurseBeActivated(player.worldObj) + && playerInfo.getInteger(curse.getName()) > 0) + curse.respawnAction(player.worldObj, player); + for (int i = 0; i < 18; i++) + if (getJewelryItems(playerInfo, i) != null) { + if (getJewelryItems(playerInfo, i) + .getItem() instanceof ItemBaseJewelry) + ((ItemBaseJewelry) getJewelryItems(playerInfo, i) + .getItem()).onPlayerRespawn( + getJewelryItems(playerInfo, i), + event); + if (getJewelryItems(playerInfo, i) + .getItem() instanceof IJewelryItem) + ((IJewelryItem) getJewelryItems(playerInfo, i) + .getItem()).onPlayerRespawnAction( + getJewelryItems(playerInfo, i), + event); + } + JewelrycraftMod.netWrapper.sendTo( + new PacketSendClientPlayerInfo(playerInfo), + (EntityPlayerMP) player); + if (addedCurses) { + JewelrycraftMod.netWrapper + .sendToAll(new PacketSendServerPlayersInfo()); + addedCurses = false; + } + } + } + + public void addCurse(EntityPlayer player, NBTTagCompound playerInfo) { + if (ConfigHandler.CURSES_ENABLED + && Curse.availableCurses.size() > 0) { + Curse cur = ((WeightedRandomCurse) WeightedRandom + .getRandomItem(rand, JewelrycraftUtil + .getCurses(player.worldObj, player, rand))) + .getCurse(rand); + playerInfo.setInteger(cur.getName(), 1); + Curse.availableCurses.remove(cur); + addedCurses = true; + if (playerInfo.getInteger("activeCurses") == 0) + playerInfo.setInteger("activeCurses", 1); + else + playerInfo.setInteger("activeCurses", + playerInfo.getInteger("activeCurses") + 1); + JewelrycraftMod.netWrapper + .sendToAll(new PacketSendServerPlayersInfo()); + JewelrycraftMod.netWrapper.sendTo( + new PacketSendClientPlayerInfo(playerInfo), + (EntityPlayerMP) player); + } + } + + @SubscribeEvent + public void itemToss(ItemTossEvent event) { + NBTTagCompound playerInfo = PlayerUtils + .getModPlayerPersistTag(event.player, Variables.MODID); + if (ConfigHandler.CURSES_ENABLED) + for (Curse curse : Curse.getCurseList()) + if (event.player != null + && curse.canCurseBeActivated(event.player.worldObj) + && playerInfo.getInteger(curse.getName()) > 0 + && curse.itemToss()) { + EntityItem entityitem = new EntityItem( + event.player.worldObj, + event.player.posX + 0.5D, + event.player.posY + 0.5D, + event.player.posZ + 0.5D, + event.entityItem.getEntityItem()); + if (entityitem != null) { + entityitem.motionX = 0; + entityitem.motionZ = 0; + entityitem.motionY = 0.11000000298023224D; + event.player.worldObj + .spawnEntityInWorld(entityitem); + MinecraftServer.getServer() + .getConfigurationManager() + .sendChatMsg(new ChatComponentText("<" + + event.player.getDisplayName() + + "> I shouldn't drop this. I might need it later.")); + event.setCanceled(true); + } + } + } + + @SubscribeEvent + public void playerFileSave(PlayerEvent.SaveToFile event) { + if (event.entity instanceof EntityPlayer + && !(event.entity instanceof EntityPlayerMP)) + JewelrycraftMod.netWrapper + .sendToServer(new PacketRequestPlayerInfo()); + } + + public int calculateLuck(EntityPlayer player) { + int luck = 0; + NBTTagCompound playerInfo = PlayerUtils + .getModPlayerPersistTag(player, Variables.MODID); + if (ConfigHandler.CURSES_ENABLED) + for (Curse curse : Curse.getCurseList()) + if (curse.canCurseBeActivated(player.worldObj) + && playerInfo.getInteger(curse.getName()) > 0) + luck += curse.luck(); + return luck; + } + + public static void spawnHearts(Entity entity, int chance) { + EntityLiving live = (EntityLiving) entity; + String type = types.get(rand.nextInt(types.size())); + if (rand.nextInt(chance) == 0 && live + .getCreatureAttribute() != JewelrycraftUtil.HEARTS) { + if (type == "White") { + EntityHeart h = new EntityHalfHeart(live.worldObj); + h.setType(type); + h.setLocationAndAngles(live.posX, live.posY, live.posZ, + MathHelper.wrapAngleTo180_float( + rand.nextFloat() * 360.0F), + 0.0F); + live.worldObj.spawnEntityInWorld(h); + } else { + for (int i = 1; + i <= 1 + rand.nextInt( + 1 + (int) (live.getMaxHealth() / 2)); + i++) { + EntityHeart[] hearts = { + new EntityHeart(live.worldObj), + new EntityHalfHeart(entity.worldObj) }; + EntityHeart h = hearts[rand.nextInt(2)]; + h.setType(type); + h.setLocationAndAngles(live.posX, live.posY, live.posZ, + MathHelper.wrapAngleTo180_float( + rand.nextFloat() * 360.0F), + 0.0F); + live.worldObj.spawnEntityInWorld(h); + } + } + } + } + + @SubscribeEvent + public void onEntityDead(LivingDeathEvent event) { + final Entity entity = event.entity; + if (!entity.worldObj.isRemote && !(entity instanceof EntityPlayer) + && entity instanceof EntityLiving + && event.source.getEntity() != null + && event.source.getEntity() instanceof EntityPlayer) { + System.out.println(luck); + spawnHearts(entity, Math.max(2, 20 - luck)); + EntityPlayer player = (EntityPlayer) event.source.getEntity(); + NBTTagCompound playerInfo = PlayerUtils + .getModPlayerPersistTag(player, Variables.MODID); + if (ConfigHandler.CURSES_ENABLED) + for (Curse curse : Curse.getCurseList()) + if (curse.canCurseBeActivated(player.worldObj) + && playerInfo.getInteger(curse.getName()) > 0) + curse.entityDeathAction(player.worldObj, + event.entityLiving, player); + } + if (entity instanceof EntityPlayer) { + EntityPlayer player = (EntityPlayer) entity; + NBTTagCompound playerInfo = PlayerUtils + .getModPlayerPersistTag(player, Variables.MODID); + playerInfo.setFloat("BlueHeart", 0f); + playerInfo.setFloat("BlackHeart", 0f); + playerInfo.setFloat("WhiteHeart", 0f); + if (playerInfo.hasKey("reselectCurses") + && playerInfo.getBoolean("reselectCurses")) { + playerInfo.setInteger("activeCurses", 0); + if (ConfigHandler.CURSES_ENABLED) + for (Curse l : Curse.getCurseList()) { + if (l.canCurseBeActivated(player.worldObj) + && playerInfo + .getInteger(l.getName()) == 1) { + playerInfo.setInteger(l.getName(), 0); + l.setTicksActive(0); + if (!Curse.availableCurses.contains(l)) + Curse.availableCurses.add(l); + } else if (l.canCurseBeActivated(player.worldObj) + && playerInfo.getInteger(l.getName()) >= 2) + playerInfo.setInteger(l.getName(), 1); + } + if (entity.worldObj.isRemote) + JewelrycraftMod.netWrapper + .sendToServer(new PacketRequestPlayerInfo()); + } + + if (ConfigHandler.CURSES_ENABLED) { + for (Curse curse : Curse.getCurseList()) + if (curse.canCurseBeActivated(player.worldObj) + && playerInfo.getInteger(curse.getName()) > 0) + curse.playerDeathAction(player.worldObj, player, + event); + } + + for (int i = 0; i < 18; i++) + if (getJewelryItems(playerInfo, i) != null) { + if (getJewelryItems(playerInfo, i) + .getItem() instanceof ItemBaseJewelry) + ((ItemBaseJewelry) getJewelryItems(playerInfo, i) + .getItem()).onPlayerDead( + getJewelryItems(playerInfo, i), + player, event.source); + if (getJewelryItems(playerInfo, i) + .getItem() instanceof IJewelryItem) + ((IJewelryItem) getJewelryItems(playerInfo, i) + .getItem()).onPlayerDeadAction( + getJewelryItems(playerInfo, i), + player, event.source); + } + } + if (event.entity instanceof EntityPlayer + && !(event.entity instanceof EntityPlayerMP)) + JewelrycraftMod.netWrapper + .sendToServer(new PacketRequestPlayerInfo()); + } + + @SubscribeEvent + public void onEntityHeal(LivingHealEvent event) { + if (event.entity instanceof EntityPlayer) { + EntityPlayer player = (EntityPlayer) event.entity; + NBTTagCompound playerInfo = PlayerUtils + .getModPlayerPersistTag(player, Variables.MODID); + + if (ConfigHandler.CURSES_ENABLED) { + for (Curse curse : Curse.getCurseList()) + if (curse.canCurseBeActivated(player.worldObj) + && playerInfo.getInteger(curse.getName()) > 0) + curse.playerHealAction(player.worldObj, player, + event); + } + } + } + + @SubscribeEvent + public void onPlayerSleep(PlayerSleepInBedEvent event) { + if (event.entity instanceof EntityPlayer) { + EntityPlayer player = (EntityPlayer) event.entity; + NBTTagCompound playerInfo = PlayerUtils + .getModPlayerPersistTag(player, Variables.MODID); + + if (ConfigHandler.CURSES_ENABLED) { + for (Curse curse : Curse.getCurseList()) + if (curse.canCurseBeActivated(player.worldObj) + && playerInfo.getInteger(curse.getName()) > 0) + curse.playerSleepAction(player.worldObj, player, + event); + } + } + } +} \ No newline at end of file diff --git a/src/main/java/darkknight/jewelrycraft/events/EventCommonHandler.java b/src/main/java/darkknight/jewelrycraft/events/EventCommonHandler.java old mode 100644 new mode 100755 index 4430f5f..1aa45e1 --- a/src/main/java/darkknight/jewelrycraft/events/EventCommonHandler.java +++ b/src/main/java/darkknight/jewelrycraft/events/EventCommonHandler.java @@ -8,15 +8,12 @@ import cpw.mods.fml.common.gameevent.TickEvent; * @author Sorin * */ -public class EventCommonHandler -{ - @SubscribeEvent - public void onItemCrafted(PlayerEvent.ItemCraftedEvent event) - { - } - - @SubscribeEvent - public void onPlayerTick(TickEvent.PlayerTickEvent event) - { - } +public class EventCommonHandler { + @SubscribeEvent + public void onItemCrafted(PlayerEvent.ItemCraftedEvent event) { + } + + @SubscribeEvent + public void onPlayerTick(TickEvent.PlayerTickEvent event) { + } } diff --git a/src/main/java/darkknight/jewelrycraft/events/EventList.java b/src/main/java/darkknight/jewelrycraft/events/EventList.java old mode 100644 new mode 100755 index 4955cbb..2098345 --- a/src/main/java/darkknight/jewelrycraft/events/EventList.java +++ b/src/main/java/darkknight/jewelrycraft/events/EventList.java @@ -19,33 +19,32 @@ import darkknight.jewelrycraft.util.JewelrycraftUtil; import darkknight.jewelrycraft.worldGen.Generation; import net.minecraftforge.common.MinecraftForge; -public class EventList -{ - public static void preInit(FMLPreInitializationEvent e) - { - MinecraftForge.EVENT_BUS.register(new EntityEventHandler()); - MinecraftForge.EVENT_BUS.register(new BlockEventHandler()); - MinecraftForge.EVENT_BUS.register(BucketHandler.INSTANCE); - FMLCommonHandler.instance().bus().register(new EventCommonHandler()); - BucketHandler.INSTANCE.buckets.put(BlockList.moltenMetal, ItemList.bucket); - JewelrycraftMod.proxy.preInit(); - } - - public static void init(FMLInitializationEvent e) - { - GameRegistry.registerWorldGenerator(new Generation(), 0); - JewelrycraftMod.proxy.init(); - new GuiHandler(); - FMLCommonHandler.instance().bus().register(ConfigHandler.INSTANCE); - } - - public static void postInit(FMLPostInitializationEvent e) - { - JewelrycraftUtil.addMetals(); - JewelrycraftUtil.jamcrafters(); - EffectsList.postInit(e); - DamageSourceList.postInit(e); - JewelrycraftMod.proxy.postInit(); - JewelrycraftUtil.addStuff(); - } +public class EventList { + public static void preInit(FMLPreInitializationEvent e) { + MinecraftForge.EVENT_BUS.register(new EntityEventHandler()); + MinecraftForge.EVENT_BUS.register(new BlockEventHandler()); + MinecraftForge.EVENT_BUS.register(BucketHandler.INSTANCE); + + FMLCommonHandler.instance().bus() + .register(new EventCommonHandler()); + BucketHandler.INSTANCE.buckets.put(BlockList.moltenMetal, + ItemList.bucket); + JewelrycraftMod.proxy.preInit(); + } + + public static void init(FMLInitializationEvent e) { + GameRegistry.registerWorldGenerator(new Generation(), 0); + JewelrycraftMod.proxy.init(); + new GuiHandler(); + FMLCommonHandler.instance().bus().register(ConfigHandler.INSTANCE); + } + + public static void postInit(FMLPostInitializationEvent e) { + JewelrycraftUtil.addMetals(); + JewelrycraftUtil.jamcrafters(); + EffectsList.postInit(e); + DamageSourceList.postInit(e); + JewelrycraftMod.proxy.postInit(); + JewelrycraftUtil.addStuff(); + } } diff --git a/src/main/java/darkknight/jewelrycraft/events/KeyBindings.java b/src/main/java/darkknight/jewelrycraft/events/KeyBindings.java old mode 100644 new mode 100755 index 3e4a2c3..c7f5bef --- a/src/main/java/darkknight/jewelrycraft/events/KeyBindings.java +++ b/src/main/java/darkknight/jewelrycraft/events/KeyBindings.java @@ -1,6 +1,7 @@ package darkknight.jewelrycraft.events; import org.lwjgl.input.Keyboard; + import cpw.mods.fml.client.registry.ClientRegistry; import cpw.mods.fml.common.eventhandler.SubscribeEvent; import cpw.mods.fml.common.gameevent.InputEvent; @@ -9,30 +10,35 @@ import darkknight.jewelrycraft.network.PacketKeyPressEvent; import darkknight.jewelrycraft.util.Variables; import net.minecraft.client.settings.KeyBinding; -public class KeyBindings -{ - public static KeyBinding render = new KeyBinding("Pretty Render", Keyboard.KEY_Z, Variables.MODNAME); - public static KeyBinding inventory = new KeyBinding("Jewelry Inventory", Keyboard.KEY_J, Variables.MODNAME); - public static KeyBinding curses = new KeyBinding("Curses Tab", Keyboard.KEY_C, Variables.MODNAME); - - /** - * - */ - public KeyBindings() - { - ClientRegistry.registerKeyBinding(render); - ClientRegistry.registerKeyBinding(inventory); - ClientRegistry.registerKeyBinding(curses); - } - - /** - * @param event - */ - @SubscribeEvent - public void onKeyInput(InputEvent.KeyInputEvent event) - { - if (render.isPressed()) JewelrycraftMod.fancyRender = !JewelrycraftMod.fancyRender; - if (inventory.isPressed()) JewelrycraftMod.netWrapper.sendToServer(new PacketKeyPressEvent(0)); - if (curses.isPressed()) JewelrycraftMod.netWrapper.sendToServer(new PacketKeyPressEvent(1)); - } +public class KeyBindings { + public static KeyBinding render = new KeyBinding( + "Pretty Render", Keyboard.KEY_Z, Variables.MODNAME); + public static KeyBinding inventory = new KeyBinding( + "Jewelry Inventory", Keyboard.KEY_J, Variables.MODNAME); + public static KeyBinding curses = new KeyBinding("Curses Tab", + Keyboard.KEY_C, Variables.MODNAME); + + /** + * + */ + public KeyBindings() { + ClientRegistry.registerKeyBinding(render); + ClientRegistry.registerKeyBinding(inventory); + ClientRegistry.registerKeyBinding(curses); + } + + /** + * @param event + */ + @SubscribeEvent + public void onKeyInput(InputEvent.KeyInputEvent event) { + if (render.isPressed()) + JewelrycraftMod.fancyRender = !JewelrycraftMod.fancyRender; + if (inventory.isPressed()) + JewelrycraftMod.netWrapper + .sendToServer(new PacketKeyPressEvent(0)); + if (curses.isPressed()) + JewelrycraftMod.netWrapper + .sendToServer(new PacketKeyPressEvent(1)); + } } \ No newline at end of file diff --git a/src/main/java/darkknight/jewelrycraft/events/PlayerRenderHandler.java b/src/main/java/darkknight/jewelrycraft/events/PlayerRenderHandler.java old mode 100644 new mode 100755 index f0fd1c2..4bbb2c5 --- a/src/main/java/darkknight/jewelrycraft/events/PlayerRenderHandler.java +++ b/src/main/java/darkknight/jewelrycraft/events/PlayerRenderHandler.java @@ -1,7 +1,9 @@ package darkknight.jewelrycraft.events; import java.util.Iterator; + import org.lwjgl.opengl.GL11; + import cpw.mods.fml.common.Loader; import cpw.mods.fml.common.eventhandler.SubscribeEvent; import darkknight.jewelrycraft.api.Curse; @@ -31,11 +33,13 @@ public class PlayerRenderHandler { @SubscribeEvent public void renderScreen(RenderPlayerEvent.Specials.Post event) { GL11.glPushMatrix(); - ModelRenderer rightArm = event.renderer.modelBipedMain.bipedRightArm; + ModelRenderer rightArm = + event.renderer.modelBipedMain.bipedRightArm; ModelRenderer leftArm = event.renderer.modelBipedMain.bipedLeftArm; ModelRenderer head = event.renderer.modelBipedMain.bipedHead; ModelRenderer body = event.renderer.modelBipedMain.bipedBody; - Iterator players = event.entityPlayer.worldObj.playerEntities.iterator(); + Iterator players = + event.entityPlayer.worldObj.playerEntities.iterator(); float rotAngleX = 0F, rotAngleY = 0F, rotAngleZ = 0F; if (playersInfo != null) { while (players.hasNext()) { @@ -44,147 +48,435 @@ public class PlayerRenderHandler { int gem = -1; int ingot = -1; EntityPlayer player = players.next(); - NBTTagCompound playerInfo = (NBTTagCompound) playersInfo.getTag(player.getDisplayName()); - if (ConfigHandler.CURSES_ENABLED) for (Curse curse : Curse.getCurseList()) - if (curse != null && curse.canCurseBeActivated(player.worldObj) && playerInfo != null && curse.getName() != null && playerInfo.getInteger(curse.getName()) > 0 && event.entityPlayer != null && player != null && event.entityPlayer.getDisplayName().equals(player.getDisplayName()) && playerInfo.getInteger("cursePoints") > 0) curse.playerRender(player, event); + NBTTagCompound playerInfo = (NBTTagCompound) playersInfo + .getTag(player.getDisplayName()); + if (ConfigHandler.CURSES_ENABLED) + for (Curse curse : Curse.getCurseList()) + if (curse != null + && curse.canCurseBeActivated( + player.worldObj) + && playerInfo != null + && curse.getName() != null + && playerInfo + .getInteger(curse.getName()) > 0 + && event.entityPlayer != null + && player != null + && event.entityPlayer.getDisplayName() + .equals(player.getDisplayName()) + && playerInfo + .getInteger("cursePoints") > 0) + curse.playerRender(player, event); int no = 0; ModelRenderer arm = rightArm; for (int i = 0; i <= 9; i++) - if (playerInfo != null && event.entityPlayer != null && player != null && playerInfo.hasKey("ext" + i) && event.entityPlayer.getDisplayName().equals(player.getDisplayName())) { + if (playerInfo != null && event.entityPlayer != null + && player != null + && playerInfo.hasKey("ext" + i) + && event.entityPlayer.getDisplayName() + .equals(player.getDisplayName())) { gem = -1; ingot = -1; - if (i > 4) arm = leftArm; + if (i > 4) + arm = leftArm; float s = 0.055F; - NBTTagCompound nbt = (NBTTagCompound) playerInfo.getTag("ext" + i); - ItemStack item = ItemStack.loadItemStackFromNBT(nbt); - if (Loader.isModLoaded("alpaca") /*&& fiskfille.alpaca.AlpacaAPI.isAlpacaClient(event.entityPlayer)*/) arm = body; + NBTTagCompound nbt = (NBTTagCompound) playerInfo + .getTag("ext" + i); + ItemStack item = + ItemStack.loadItemStackFromNBT(nbt); + if (Loader.isModLoaded( + "alpaca") /* + * && + * fiskfille.alpaca.AlpacaAPI. + * isAlpacaClient(event. + * entityPlayer) + */) + arm = body; GL11.glPushMatrix(); - if (arm.rotateAngleX == 0.0F && arm.rotateAngleY == 0.0F && arm.rotateAngleZ == 0.0F) { - if ((arm.rotationPointX + rotAngleX) != 0.0F || (arm.rotationPointY + rotAngleY) != 0.0F || (arm.rotationPointZ + rotAngleZ) != 0.0F) GL11.glTranslatef((arm.rotationPointX + rotAngleX) * s, (arm.rotationPointY + rotAngleY) * s, (arm.rotationPointZ + rotAngleZ) * s); - } else if (!Loader.isModLoaded("alpaca") /*|| (Loader.isModLoaded("alpaca") && !fiskfille.alpaca.AlpacaAPI.isAlpacaClient(event.entityPlayer))*/) { - GL11.glTranslatef((arm.rotationPointX + rotAngleX) * s, (arm.rotationPointY + rotAngleY) * s, (arm.rotationPointZ + rotAngleZ) * s); - if (arm.rotateAngleZ != 0.0F) GL11.glRotatef(arm.rotateAngleZ * (180F / (float) Math.PI), 0.0F, 0.0F, 1.0F); - if (arm.rotateAngleY != 0.0F) GL11.glRotatef(arm.rotateAngleY * (180F / (float) Math.PI), 0.0F, 1.0F, 0.0F); - if (arm.rotateAngleX != 0.0F) GL11.glRotatef(arm.rotateAngleX * (180F / (float) Math.PI), 1.0F, 0.0F, 0.0F); + if (arm.rotateAngleX == 0.0F + && arm.rotateAngleY == 0.0F + && arm.rotateAngleZ == 0.0F) { + if ((arm.rotationPointX + rotAngleX) != 0.0F + || (arm.rotationPointY + + rotAngleY) != 0.0F + || (arm.rotationPointZ + + rotAngleZ) != 0.0F) + GL11.glTranslatef( + (arm.rotationPointX + rotAngleX) + * s, + (arm.rotationPointY + rotAngleY) + * s, + (arm.rotationPointZ + rotAngleZ) + * s); + } else if (!Loader.isModLoaded( + "alpaca") /* + * || (Loader.isModLoaded( + * "alpaca") && + * !fiskfille.alpaca.AlpacaAPI. + * isAlpacaClient(event. + * entityPlayer)) + */) { + GL11.glTranslatef( + (arm.rotationPointX + rotAngleX) * s, + (arm.rotationPointY + rotAngleY) * s, + (arm.rotationPointZ + rotAngleZ) * s); + if (arm.rotateAngleZ != 0.0F) + GL11.glRotatef( + arm.rotateAngleZ + * (180F / (float) Math.PI), + 0.0F, 0.0F, 1.0F); + if (arm.rotateAngleY != 0.0F) + GL11.glRotatef( + arm.rotateAngleY + * (180F / (float) Math.PI), + 0.0F, 1.0F, 0.0F); + if (arm.rotateAngleX != 0.0F) + GL11.glRotatef( + arm.rotateAngleX + * (180F / (float) Math.PI), + 1.0F, 0.0F, 0.0F); } - if (JewelryNBT.ingot(item) != null) ingot = JewelrycraftUtil.getColor(JewelryNBT.ingot(item)); - if (JewelryNBT.gem(item) != null) gem = JewelrycraftUtil.getColor(JewelryNBT.gem(item)); + if (JewelryNBT.ingot(item) != null) + ingot = JewelrycraftUtil + .getColor(JewelryNBT.ingot(item)); + if (JewelryNBT.gem(item) != null) + gem = JewelrycraftUtil + .getColor(JewelryNBT.gem(item)); float scale = 0.1f; - if (Loader.isModLoaded("alpaca") /*&& fiskfille.alpaca.AlpacaAPI.isAlpacaClient(event.entityPlayer)*/) { + if (Loader.isModLoaded( + "alpaca") /* + * && + * fiskfille.alpaca.AlpacaAPI. + * isAlpacaClient(event. + * entityPlayer) + */) { if (i <= 4) { - GL11.glTranslatef(0.35F, -4.35F, -2.8F + 0.15F * i); + GL11.glTranslatef(0.35F, -4.35F, + -2.8F + 0.15F * i); GL11.glRotatef(90f, 0F, 1F, 0F); } else { - GL11.glTranslatef(-0.35F, -4.35F, 1.48F + 0.15F * i); + GL11.glTranslatef(-0.35F, -4.35F, + 1.48F + 0.15F * i); GL11.glRotatef(-90f, 0F, 1F, 0F); } scale = 0.3F; } else { - if (i <= 4) GL11.glTranslatef(0.64F + 0.05F * i, -1.15F, 0.07F); - else GL11.glTranslatef(0.59F + 0.05F * i, -1.15F, 0.07F); + if (i <= 4) + GL11.glTranslatef(0.64F + 0.05F * i, + -1.15F, 0.07F); + else + GL11.glTranslatef(0.59F + 0.05F * i, + -1.15F, 0.07F); } GL11.glScalef(scale, scale + scale / 2, scale); - ring.doRender(event.entityPlayer, 0F, 0F, (float) ingot, (float) gem, 0F); + ring.doRender(event.entityPlayer, 0F, 0F, + (float) ingot, (float) gem, 0F); GL11.glPopMatrix(); -// no++; + // no++; } for (int i = 10; i <= 13; i++) - if (playerInfo != null && event.entityPlayer != null && player != null && playerInfo.hasKey("ext" + i) && event.entityPlayer.getDisplayName().equals(player.getDisplayName())) { - NBTTagCompound nbt = (NBTTagCompound) playerInfo.getTag("ext" + i); - ItemStack item = ItemStack.loadItemStackFromNBT(nbt); - if (JewelryNBT.ingot(item) != null) ingotColor[i - 10] = JewelrycraftUtil.getColor(JewelryNBT.ingot(item)); - if (JewelryNBT.gem(item) != null) gemColor[i - 10] = JewelrycraftUtil.getColor(JewelryNBT.gem(item)); + if (playerInfo != null && event.entityPlayer != null + && player != null + && playerInfo.hasKey("ext" + i) + && event.entityPlayer.getDisplayName() + .equals(player.getDisplayName())) { + NBTTagCompound nbt = (NBTTagCompound) playerInfo + .getTag("ext" + i); + ItemStack item = + ItemStack.loadItemStackFromNBT(nbt); + if (JewelryNBT.ingot(item) != null) + ingotColor[i - 10] = JewelrycraftUtil + .getColor(JewelryNBT.ingot(item)); + if (JewelryNBT.gem(item) != null) + gemColor[i - 10] = JewelrycraftUtil + .getColor(JewelryNBT.gem(item)); } - if (playerInfo != null && event.entityPlayer != null && player != null && (playerInfo.hasKey("ext10") || playerInfo.hasKey("ext11")) && event.entityPlayer.getDisplayName().equals(player.getDisplayName())) { + if (playerInfo != null && event.entityPlayer != null + && player != null + && (playerInfo.hasKey("ext10") + || playerInfo.hasKey("ext11")) + && event.entityPlayer.getDisplayName() + .equals(player.getDisplayName())) { GL11.glPushMatrix(); GL11.glColor4f(1, 1, 1, 1); - if (Loader.isModLoaded("alpaca") /*&& fiskfille.alpaca.AlpacaAPI.isAlpacaClient(event.entityPlayer)*/) { + if (Loader.isModLoaded( + "alpaca") /* + * && fiskfille.alpaca.AlpacaAPI. + * isAlpacaClient(event. + * entityPlayer) + */) { rightArm = body; GL11.glTranslatef(0.0F, 0.05F, 0.0F); GL11.glRotatef(-30F, 0.0F, 1.0F, 0.0F); } - if (rightArm.rotateAngleX == 0.0F && rightArm.rotateAngleY == 0.0F && rightArm.rotateAngleZ == 0.0F) { - if ((rightArm.rotationPointX + rotAngleX) != 0.0F || (rightArm.rotationPointY + rotAngleY) != 0.0F || (rightArm.rotationPointZ + rotAngleZ) != 0.0F) GL11.glTranslatef((rightArm.rotationPointX + rotAngleX) * size, (rightArm.rotationPointY + rotAngleY) * size, (rightArm.rotationPointZ + rotAngleZ) * size); - } else if (!Loader.isModLoaded("alpaca") /*|| (Loader.isModLoaded("alpaca") && fiskfille.alpaca.AlpacaAPI.isAlpacaClient(event.entityPlayer))*/) { - GL11.glTranslatef((rightArm.rotationPointX + rotAngleX) * size, (rightArm.rotationPointY + rotAngleY) * size, (rightArm.rotationPointZ + rotAngleZ) * size); - if (rightArm.rotateAngleZ != 0.0F) GL11.glRotatef(rightArm.rotateAngleZ * (180F / (float) Math.PI), 0.0F, 0.0F, 1.0F); - if (rightArm.rotateAngleY != 0.0F) GL11.glRotatef(rightArm.rotateAngleY * (180F / (float) Math.PI), 0.0F, 1.0F, 0.0F); - if (rightArm.rotateAngleX != 0.0F) GL11.glRotatef(rightArm.rotateAngleX * (180F / (float) Math.PI), 1.0F, 0.0F, 0.0F); + if (rightArm.rotateAngleX == 0.0F + && rightArm.rotateAngleY == 0.0F + && rightArm.rotateAngleZ == 0.0F) { + if ((rightArm.rotationPointX + rotAngleX) != 0.0F + || (rightArm.rotationPointY + + rotAngleY) != 0.0F + || (rightArm.rotationPointZ + + rotAngleZ) != 0.0F) + GL11.glTranslatef( + (rightArm.rotationPointX + rotAngleX) + * size, + (rightArm.rotationPointY + rotAngleY) + * size, + (rightArm.rotationPointZ + rotAngleZ) + * size); + } else if (!Loader.isModLoaded( + "alpaca") /* + * || (Loader.isModLoaded("alpaca") + * && fiskfille.alpaca.AlpacaAPI. + * isAlpacaClient(event. + * entityPlayer)) + */) { + GL11.glTranslatef( + (rightArm.rotationPointX + rotAngleX) + * size, + (rightArm.rotationPointY + rotAngleY) + * size, + (rightArm.rotationPointZ + rotAngleZ) + * size); + if (rightArm.rotateAngleZ != 0.0F) + GL11.glRotatef( + rightArm.rotateAngleZ + * (180F / (float) Math.PI), + 0.0F, 0.0F, 1.0F); + if (rightArm.rotateAngleY != 0.0F) + GL11.glRotatef( + rightArm.rotateAngleY + * (180F / (float) Math.PI), + 0.0F, 1.0F, 0.0F); + if (rightArm.rotateAngleX != 0.0F) + GL11.glRotatef( + rightArm.rotateAngleX + * (180F / (float) Math.PI), + 1.0F, 0.0F, 0.0F); } GL11.glScalef(0.05f, 0.03f, 0.05f); - bracelet.doRender(event.entityPlayer, (float) ingotColor[0], (float) gemColor[0], (float) ingotColor[1], (float) gemColor[1], 0.0F); + bracelet.doRender(event.entityPlayer, + (float) ingotColor[0], (float) gemColor[0], + (float) ingotColor[1], (float) gemColor[1], + 0.0F); GL11.glPopMatrix(); } - if (playerInfo != null && event.entityPlayer != null && player != null && (playerInfo.hasKey("ext12") || playerInfo.hasKey("ext13")) && event.entityPlayer.getDisplayName().equals(player.getDisplayName())) { + if (playerInfo != null && event.entityPlayer != null + && player != null + && (playerInfo.hasKey("ext12") + || playerInfo.hasKey("ext13")) + && event.entityPlayer.getDisplayName() + .equals(player.getDisplayName())) { GL11.glPushMatrix(); GL11.glColor4f(1, 1, 1, 1); - if (Loader.isModLoaded("alpaca") /*&& fiskfille.alpaca.AlpacaAPI.isAlpacaClient(event.entityPlayer)*/) { + if (Loader.isModLoaded( + "alpaca") /* + * && fiskfille.alpaca.AlpacaAPI. + * isAlpacaClient(event. + * entityPlayer) + */) { leftArm = body; GL11.glTranslatef(-0.1F, 0.0F, 0.1F); GL11.glRotatef(-140F, 0.0F, 1.0F, 0.0F); } - if (leftArm.rotateAngleX == 0.0F && leftArm.rotateAngleY == 0.0F && leftArm.rotateAngleZ == 0.0F) { - if ((leftArm.rotationPointX + rotAngleX) != 0.0F || (leftArm.rotationPointY + rotAngleY) != 0.0F || (leftArm.rotationPointZ + rotAngleZ) != 0.0F) GL11.glTranslatef((leftArm.rotationPointX + rotAngleX) * size, (leftArm.rotationPointY + rotAngleY) * size, (leftArm.rotationPointZ + rotAngleZ) * size); - } else if (!Loader.isModLoaded("alpaca") /*|| (Loader.isModLoaded("alpaca") && !fiskfille.alpaca.AlpacaAPI.isAlpacaClient(event.entityPlayer))*/) { - GL11.glTranslatef((leftArm.rotationPointX + rotAngleX) * size + 0.2F, (leftArm.rotationPointY + rotAngleY) * size, (leftArm.rotationPointZ + rotAngleZ) * size); - if (leftArm.rotateAngleZ != 0.0F) GL11.glRotatef(leftArm.rotateAngleZ * (180F / (float) Math.PI), 0.0F, 0.0F, 1.0F); - if (leftArm.rotateAngleY != 0.0F) GL11.glRotatef(leftArm.rotateAngleY * (180F / (float) Math.PI), 0.0F, 1.0F, 0.0F); - if (leftArm.rotateAngleX != 0.0F) GL11.glRotatef(leftArm.rotateAngleX * (180F / (float) Math.PI), 1.0F, 0.0F, 0.0F); + if (leftArm.rotateAngleX == 0.0F + && leftArm.rotateAngleY == 0.0F + && leftArm.rotateAngleZ == 0.0F) { + if ((leftArm.rotationPointX + rotAngleX) != 0.0F + || (leftArm.rotationPointY + + rotAngleY) != 0.0F + || (leftArm.rotationPointZ + + rotAngleZ) != 0.0F) + GL11.glTranslatef( + (leftArm.rotationPointX + rotAngleX) + * size, + (leftArm.rotationPointY + rotAngleY) + * size, + (leftArm.rotationPointZ + rotAngleZ) + * size); + } else if (!Loader.isModLoaded( + "alpaca") /* + * || (Loader.isModLoaded("alpaca") + * && !fiskfille.alpaca.AlpacaAPI. + * isAlpacaClient(event. + * entityPlayer)) + */) { + GL11.glTranslatef( + (leftArm.rotationPointX + rotAngleX) * size + + 0.2F, + (leftArm.rotationPointY + rotAngleY) + * size, + (leftArm.rotationPointZ + rotAngleZ) + * size); + if (leftArm.rotateAngleZ != 0.0F) + GL11.glRotatef( + leftArm.rotateAngleZ + * (180F / (float) Math.PI), + 0.0F, 0.0F, 1.0F); + if (leftArm.rotateAngleY != 0.0F) + GL11.glRotatef( + leftArm.rotateAngleY + * (180F / (float) Math.PI), + 0.0F, 1.0F, 0.0F); + if (leftArm.rotateAngleX != 0.0F) + GL11.glRotatef( + leftArm.rotateAngleX + * (180F / (float) Math.PI), + 1.0F, 0.0F, 0.0F); } GL11.glScalef(0.05f, 0.03f, 0.05f); - bracelet.doRender(event.entityPlayer, (float) ingotColor[2], (float) gemColor[2], (float) ingotColor[3], (float) gemColor[3], 0F); + bracelet.doRender(event.entityPlayer, + (float) ingotColor[2], (float) gemColor[2], + (float) ingotColor[3], (float) gemColor[3], + 0F); GL11.glPopMatrix(); } no = 0; for (int i = 14; i <= 16; i++) - if (playerInfo != null && event.entityPlayer != null && player != null && playerInfo.hasKey("ext" + i) && event.entityPlayer.getDisplayName().equals(player.getDisplayName())) { + if (playerInfo != null && event.entityPlayer != null + && player != null + && playerInfo.hasKey("ext" + i) + && event.entityPlayer.getDisplayName() + .equals(player.getDisplayName())) { gem = -1; ingot = -1; - NBTTagCompound nbt = (NBTTagCompound) playerInfo.getTag("ext" + i); - ItemStack item = ItemStack.loadItemStackFromNBT(nbt); + NBTTagCompound nbt = (NBTTagCompound) playerInfo + .getTag("ext" + i); + ItemStack item = + ItemStack.loadItemStackFromNBT(nbt); GL11.glPushMatrix(); - if (body.rotateAngleX == 0.0F && body.rotateAngleY == 0.0F && body.rotateAngleZ == 0.0F) { - if (body.rotationPointX != 0.0F || body.rotationPointY != 0.0F || body.rotationPointZ != 0.0F) GL11.glTranslatef(body.rotationPointX * size, body.rotationPointY * size, body.rotationPointZ * size); - } else if (!Loader.isModLoaded("alpaca") /*|| (Loader.isModLoaded("alpaca") && !fiskfille.alpaca.AlpacaAPI.isAlpacaClient(event.entityPlayer))*/) { - GL11.glTranslatef(body.rotationPointX * size, body.rotationPointY * size, body.rotationPointZ * size); - if (body.rotateAngleZ != 0.0F) GL11.glRotatef(body.rotateAngleZ * (180F / (float) Math.PI), 0.0F, 0.0F, 1.0F); - if (body.rotateAngleY != 0.0F) GL11.glRotatef(body.rotateAngleY * (180F / (float) Math.PI), 0.0F, 1.0F, 0.0F); - if (body.rotateAngleX != 0.0F) GL11.glRotatef(body.rotateAngleX * (180F / (float) Math.PI), 1.0F, 0.0F, 0.0F); + if (body.rotateAngleX == 0.0F + && body.rotateAngleY == 0.0F + && body.rotateAngleZ == 0.0F) { + if (body.rotationPointX != 0.0F + || body.rotationPointY != 0.0F + || body.rotationPointZ != 0.0F) + GL11.glTranslatef( + body.rotationPointX * size, + body.rotationPointY * size, + body.rotationPointZ * size); + } else if (!Loader.isModLoaded( + "alpaca") /* + * || (Loader.isModLoaded( + * "alpaca") && + * !fiskfille.alpaca.AlpacaAPI. + * isAlpacaClient(event. + * entityPlayer)) + */) { + GL11.glTranslatef(body.rotationPointX * size, + body.rotationPointY * size, + body.rotationPointZ * size); + if (body.rotateAngleZ != 0.0F) + GL11.glRotatef( + body.rotateAngleZ + * (180F / (float) Math.PI), + 0.0F, 0.0F, 1.0F); + if (body.rotateAngleY != 0.0F) + GL11.glRotatef( + body.rotateAngleY + * (180F / (float) Math.PI), + 0.0F, 1.0F, 0.0F); + if (body.rotateAngleX != 0.0F) + GL11.glRotatef( + body.rotateAngleX + * (180F / (float) Math.PI), + 1.0F, 0.0F, 0.0F); } - if (Loader.isModLoaded("alpaca") /*&& fiskfille.alpaca.AlpacaAPI.isAlpacaClient(event.entityPlayer)*/) GL11.glTranslatef(0.0F, 0.55F, -0.28F); + if (Loader.isModLoaded( + "alpaca") /* + * && + * fiskfille.alpaca.AlpacaAPI. + * isAlpacaClient(event. + * entityPlayer) + */) + GL11.glTranslatef(0.0F, 0.55F, -0.28F); GL11.glScalef(0.0625f, 0.0625f, 0.0625f); - if (JewelryNBT.ingot(item) != null) ingot = JewelrycraftUtil.getColor(JewelryNBT.ingot(item)); - if (JewelryNBT.gem(item) != null) gem = JewelrycraftUtil.getColor(JewelryNBT.gem(item)); + if (JewelryNBT.ingot(item) != null) + ingot = JewelrycraftUtil + .getColor(JewelryNBT.ingot(item)); + if (JewelryNBT.gem(item) != null) + gem = JewelrycraftUtil + .getColor(JewelryNBT.gem(item)); if (no > 0) { - GL11.glRotatef(no == 1 ? 25f : -25f, 0F, 0f, 1f); - GL11.glRotatef(no == 1 ? -5f : -10f, 1F, 0f, 0f); + GL11.glRotatef(no == 1 ? 25f : -25f, 0F, 0f, + 1f); + GL11.glRotatef(no == 1 ? -5f : -10f, 1F, 0f, + 0f); } - necklace.doRender(event.entityPlayer, 0F, 0F, (float) ingot, (float) gem, 0F); + necklace.doRender(event.entityPlayer, 0F, 0F, + (float) ingot, (float) gem, 0F); GL11.glPopMatrix(); no++; } - if (playerInfo != null && event.entityPlayer != null && player != null && playerInfo.hasKey("ext17") && event.entityPlayer.getDisplayName().equals(player.getDisplayName())) { + if (playerInfo != null && event.entityPlayer != null + && player != null && playerInfo.hasKey("ext17") + && event.entityPlayer.getDisplayName() + .equals(player.getDisplayName())) { gem = -1; ingot = -1; - NBTTagCompound nbt = (NBTTagCompound) playerInfo.getTag("ext17"); + NBTTagCompound nbt = + (NBTTagCompound) playerInfo.getTag("ext17"); ItemStack item = ItemStack.loadItemStackFromNBT(nbt); GL11.glPushMatrix(); float s = 0.0625F; - if (Loader.isModLoaded("alpaca") /*&& fiskfille.alpaca.AlpacaAPI.isAlpacaClient(event.entityPlayer)*/) head = body; - if (head.rotateAngleX == 0.0F && head.rotateAngleY == 0.0F && head.rotateAngleZ == 0.0F) { - if (head.rotationPointX != 0.0F || head.rotationPointY != 0.0F || head.rotationPointZ != 0.0F) GL11.glTranslatef(head.rotationPointX * size, head.rotationPointY * size, head.rotationPointZ * size); - } else if (!Loader.isModLoaded("alpaca") /*|| (Loader.isModLoaded("alpaca") && !fiskfille.alpaca.AlpacaAPI.isAlpacaClient(event.entityPlayer))*/) { - GL11.glTranslatef(head.rotationPointX * size, head.rotationPointY * size, head.rotationPointZ * size); - if (head.rotateAngleZ != 0.0F) GL11.glRotatef(head.rotateAngleZ * (180F / (float) Math.PI), 0.0F, 0.0F, 1.0F); - if (head.rotateAngleY != 0.0F) GL11.glRotatef(head.rotateAngleY * (180F / (float) Math.PI), 0.0F, 1.0F, 0.0F); - if (head.rotateAngleX != 0.0F) GL11.glRotatef(head.rotateAngleX * (180F / (float) Math.PI), 1.0F, 0.0F, 0.0F); + if (Loader.isModLoaded( + "alpaca") /* + * && fiskfille.alpaca.AlpacaAPI. + * isAlpacaClient(event. + * entityPlayer) + */) + head = body; + if (head.rotateAngleX == 0.0F + && head.rotateAngleY == 0.0F + && head.rotateAngleZ == 0.0F) { + if (head.rotationPointX != 0.0F + || head.rotationPointY != 0.0F + || head.rotationPointZ != 0.0F) + GL11.glTranslatef(head.rotationPointX * size, + head.rotationPointY * size, + head.rotationPointZ * size); + } else if (!Loader.isModLoaded( + "alpaca") /* + * || (Loader.isModLoaded("alpaca") + * && !fiskfille.alpaca.AlpacaAPI. + * isAlpacaClient(event. + * entityPlayer)) + */) { + GL11.glTranslatef(head.rotationPointX * size, + head.rotationPointY * size, + head.rotationPointZ * size); + if (head.rotateAngleZ != 0.0F) + GL11.glRotatef( + head.rotateAngleZ + * (180F / (float) Math.PI), + 0.0F, 0.0F, 1.0F); + if (head.rotateAngleY != 0.0F) + GL11.glRotatef( + head.rotateAngleY + * (180F / (float) Math.PI), + 0.0F, 1.0F, 0.0F); + if (head.rotateAngleX != 0.0F) + GL11.glRotatef( + head.rotateAngleX + * (180F / (float) Math.PI), + 1.0F, 0.0F, 0.0F); } - if (Loader.isModLoaded("alpaca") /*&& fiskfille.alpaca.AlpacaAPI.isAlpacaClient(event.entityPlayer)*/) GL11.glTranslatef(0.0F, 0.7F, -0.2F); + if (Loader.isModLoaded( + "alpaca") /* + * && fiskfille.alpaca.AlpacaAPI. + * isAlpacaClient(event. + * entityPlayer) + */) + GL11.glTranslatef(0.0F, 0.7F, -0.2F); GL11.glScalef(s, s, s); GL11.glTranslatef(0.0F, 1.0F, -2.0F); - if (JewelryNBT.ingot(item) != null) ingot = JewelrycraftUtil.getColor(JewelryNBT.ingot(item)); - if (JewelryNBT.gem(item) != null) gem = JewelrycraftUtil.getColor(JewelryNBT.gem(item)); - earrings.doRender(event.entityPlayer, 0F, 0F, (float) ingot, (float) gem, 0F); + if (JewelryNBT.ingot(item) != null) + ingot = JewelrycraftUtil + .getColor(JewelryNBT.ingot(item)); + if (JewelryNBT.gem(item) != null) + gem = JewelrycraftUtil + .getColor(JewelryNBT.gem(item)); + earrings.doRender(event.entityPlayer, 0F, 0F, + (float) ingot, (float) gem, 0F); GL11.glPopMatrix(); } } @@ -192,16 +484,26 @@ public class PlayerRenderHandler { GL11.glPopMatrix(); } - float rot = 0F; + float rot = 0F; @SubscribeEvent public void renderHand(RenderHandEvent event) { if (playersInfo != null) { EntityPlayer player = Minecraft.getMinecraft().thePlayer; if (player != null) { - NBTTagCompound playerInfo = (NBTTagCompound) playersInfo.getTag(player.getDisplayName()); - if (ConfigHandler.CURSES_ENABLED) for (Curse curse : Curse.getCurseList()) - if (curse.canCurseBeActivated(player.worldObj) && curse != null && playerInfo != null && playerInfo.hasKey(curse.getName()) && playerInfo.getInteger(curse.getName()) > 0 && playerInfo.hasKey("cursePoints") && playerInfo.getInteger("cursePoints") > 0) curse.playerHandRender(player, event); + NBTTagCompound playerInfo = (NBTTagCompound) playersInfo + .getTag(player.getDisplayName()); + if (ConfigHandler.CURSES_ENABLED) + for (Curse curse : Curse.getCurseList()) + if (curse.canCurseBeActivated(player.worldObj) + && curse != null && playerInfo != null + && playerInfo.hasKey(curse.getName()) + && playerInfo + .getInteger(curse.getName()) > 0 + && playerInfo.hasKey("cursePoints") + && playerInfo + .getInteger("cursePoints") > 0) + curse.playerHandRender(player, event); } } } diff --git a/src/main/java/darkknight/jewelrycraft/events/ScreenHandler.java b/src/main/java/darkknight/jewelrycraft/events/ScreenHandler.java old mode 100644 new mode 100755 index 4b7553e..cf02d9e --- a/src/main/java/darkknight/jewelrycraft/events/ScreenHandler.java +++ b/src/main/java/darkknight/jewelrycraft/events/ScreenHandler.java @@ -1,6 +1,7 @@ package darkknight.jewelrycraft.events; import org.lwjgl.opengl.GL11; + import cpw.mods.fml.common.eventhandler.SubscribeEvent; import darkknight.jewelrycraft.util.Variables; import net.minecraft.client.Minecraft; @@ -23,28 +24,73 @@ public class ScreenHandler extends Gui { @SubscribeEvent public void renderScreen(RenderGameOverlayEvent event) { - if (event.isCancelable() || event.type != ElementType.ALL || tagCache == null) return; + if (event.isCancelable() || event.type != ElementType.ALL + || tagCache == null) + return; int count = 0; int size = 32; - ScaledResolution resolution = new ScaledResolution(mc, mc.displayWidth, mc.displayHeight); + ScaledResolution resolution = new ScaledResolution(mc, + mc.displayWidth, mc.displayHeight); GL11.glPushMatrix(); GL11.glColor4f(1f, 1f, 1f, 1.0f); mc.renderEngine.bindTexture(Variables.MISC_TEXTURE); count = 0; size = 16; if (tagCache.getFloat("BlueHeart") > 0) { - drawTexturedModalRect(resolution.getScaledWidth() / 2 + 90 + 35 * count, resolution.getScaledHeight() - 40, 0 * size, 0 * size, size, size); - mc.fontRenderer.drawStringWithShadow("x" + (MathHelper.ceiling_float_int(tagCache.getFloat("BlueHeart")) / 2.0F), resolution.getScaledWidth() / 2 + 105 + 35 * count, resolution.getScaledHeight() - 36, 16777215); + drawTexturedModalRect( + resolution.getScaledWidth() / 2 + 90 + 35 * count, + resolution.getScaledHeight() - 40, 0 * size, 0 * size, + size, size); + mc.fontRenderer.drawStringWithShadow( + "x" + (MathHelper.ceiling_float_int( + tagCache.getFloat("BlueHeart")) / 2.0F), + resolution.getScaledWidth() / 2 + 105 + 35 * count, + resolution.getScaledHeight() - 36, 16777215); } count++; mc.renderEngine.bindTexture(Variables.MISC_TEXTURE); if (tagCache.getFloat("BlackHeart") > 0) { - drawTexturedModalRect(resolution.getScaledWidth() / 2 + 90 + (mc.fontRenderer.getStringWidth(String.valueOf((MathHelper.ceiling_float_int(tagCache.getFloat("BlueHeart")) / 2.0F))) - 14) + 35 * count, resolution.getScaledHeight() - 40, 1 * size, 0 * size, size, size); - mc.fontRenderer.drawStringWithShadow("x" + (MathHelper.ceiling_float_int(tagCache.getFloat("BlackHeart")) / 2.0F), resolution.getScaledWidth() / 2 + 105 + (mc.fontRenderer.getStringWidth(String.valueOf((MathHelper.ceiling_float_int(tagCache.getFloat("BlueHeart")) / 2.0F))) - 14) + 35 * count, resolution.getScaledHeight() - 36, 16777215); + drawTexturedModalRect( + resolution.getScaledWidth() / 2 + 90 + + (mc.fontRenderer.getStringWidth(String + .valueOf((MathHelper.ceiling_float_int( + tagCache.getFloat("BlueHeart")) + / 2.0F))) + - 14) + + 35 * count, + resolution.getScaledHeight() - 40, 1 * size, 0 * size, + size, size); + mc.fontRenderer.drawStringWithShadow( + "x" + (MathHelper.ceiling_float_int( + tagCache.getFloat("BlackHeart")) / 2.0F), + resolution.getScaledWidth() / 2 + 105 + + (mc.fontRenderer.getStringWidth(String + .valueOf((MathHelper.ceiling_float_int( + tagCache.getFloat("BlueHeart")) + / 2.0F))) + - 14) + + 35 * count, + resolution.getScaledHeight() - 36, 16777215); } count++; mc.renderEngine.bindTexture(Variables.MISC_TEXTURE); - if (tagCache.getFloat("WhiteHeart") > 0) drawTexturedModalRect(resolution.getScaledWidth() / 2 + 90 + (mc.fontRenderer.getStringWidth(String.valueOf((MathHelper.ceiling_float_int(tagCache.getFloat("BlueHeart")) / 2.0F))) - 14) + (mc.fontRenderer.getStringWidth(String.valueOf((MathHelper.ceiling_float_int(tagCache.getFloat("BlackHeart")) / 2.0F))) - 14) + 35 * count, resolution.getScaledHeight() - 40, 2 * size, 1 * size, size, size); + if (tagCache.getFloat("WhiteHeart") > 0) + drawTexturedModalRect( + resolution.getScaledWidth() / 2 + 90 + + (mc.fontRenderer.getStringWidth(String + .valueOf((MathHelper.ceiling_float_int( + tagCache.getFloat("BlueHeart")) + / 2.0F))) + - 14) + + (mc.fontRenderer.getStringWidth(String + .valueOf((MathHelper.ceiling_float_int( + tagCache.getFloat( + "BlackHeart")) + / 2.0F))) + - 14) + + 35 * count, + resolution.getScaledHeight() - 40, 2 * size, 1 * size, + size, size); GL11.glPopMatrix(); } } \ No newline at end of file diff --git a/src/main/java/darkknight/jewelrycraft/events/TextureEvent.java b/src/main/java/darkknight/jewelrycraft/events/TextureEvent.java old mode 100644 new mode 100755 index e570da6..9ab9958 --- a/src/main/java/darkknight/jewelrycraft/events/TextureEvent.java +++ b/src/main/java/darkknight/jewelrycraft/events/TextureEvent.java @@ -1,19 +1,17 @@ package darkknight.jewelrycraft.events; - import cpw.mods.fml.common.eventhandler.SubscribeEvent; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import darkknight.jewelrycraft.block.BlockList; import net.minecraftforge.client.event.TextureStitchEvent; -public class TextureEvent -{ - @SubscribeEvent - @SideOnly(Side.CLIENT) - public void textureFix(TextureStitchEvent.Post e) - { - if (e.map.getTextureType() == 0) - BlockList.moltenMetalFluid.setIcons(BlockList.moltenMetal.getBlockTextureFromSide(0)); - } +public class TextureEvent { + @SubscribeEvent + @SideOnly(Side.CLIENT) + public void textureFix(TextureStitchEvent.Post e) { + if (e.map.getTextureType() == 0) + BlockList.moltenMetalFluid.setIcons( + BlockList.moltenMetal.getBlockTextureFromSide(0)); + } } \ No newline at end of file -- cgit v1.2.3