From 9d08d6c58a0622d31494d612d5b401a1fed186df Mon Sep 17 00:00:00 2001 From: OnyxDarkKnight Date: Fri, 8 May 2015 18:12:00 +0100 Subject: Fixed a few things as well as working towards having the ability to translate everything --- .../jewelrycraft/block/BlockSmelter.java | 19 ++-- .../jewelrycraft/client/gui/GuiGuide.java | 1 - .../darkknight/jewelrycraft/client/gui/GuiTab.java | 6 +- .../jewelrycraft/client/gui/GuiTabBlocks.java | 9 +- .../client/gui/GuiTabGemsAndIngots.java | 9 +- .../client/gui/GuiTabIntroduction.java | 15 ++- .../jewelrycraft/client/gui/GuiTabItems.java | 9 +- .../jewelrycraft/client/gui/GuiTabModifiers.java | 9 +- .../client/gui/GuiTabOresToIngots.java | 9 +- .../jewelrycraft/client/gui/GuiTabRitual.java | 9 +- .../jewelrycraft/config/ConfigHandler.java | 4 +- .../darkknight/jewelrycraft/curses/CurseBlind.java | 4 +- .../jewelrycraft/curses/CurseFlamingSoul.java | 4 +- .../darkknight/jewelrycraft/curses/CurseGreed.java | 4 +- .../jewelrycraft/curses/CurseHumbleBundle.java | 4 +- .../jewelrycraft/curses/CurseInfamy.java | 3 +- .../jewelrycraft/curses/CurseMidasTouch.java | 4 +- .../jewelrycraft/curses/CursePentagram.java | 3 +- .../jewelrycraft/curses/CurseRabbitsPaw.java | 7 +- .../jewelrycraft/curses/CurseRottenHeart.java | 4 +- .../jewelrycraft/curses/CurseVampireHunger.java | 4 +- .../jewelrycraft/effects/EffectEnderEye.java | 4 +- .../jewelrycraft/effects/EffectFeather.java | 3 +- .../jewelrycraft/entities/EntityHalfHeart.java | 22 ++--- .../jewelrycraft/entities/EntityHeart.java | 102 ++++++++++++++------- .../jewelrycraft/entities/renders/HeartRender.java | 41 +++++++-- .../jewelrycraft/events/EntityEventHandler.java | 2 +- .../darkknight/jewelrycraft/thirdparty/EE3.java | 3 +- .../jewelrycraft/tileentity/TileEntitySmelter.java | 6 +- .../tileentity/renders/TileEntityMolderRender.java | 4 +- .../jewelrycraft/util/JewelrycraftUtil.java | 9 +- .../worldGen/village/ComponentJewelry.java | 8 +- 32 files changed, 239 insertions(+), 105 deletions(-) (limited to 'src/main/java') diff --git a/src/main/java/darkknight/jewelrycraft/block/BlockSmelter.java b/src/main/java/darkknight/jewelrycraft/block/BlockSmelter.java index ed03a45..e6e74cc 100644 --- a/src/main/java/darkknight/jewelrycraft/block/BlockSmelter.java +++ b/src/main/java/darkknight/jewelrycraft/block/BlockSmelter.java @@ -137,17 +137,20 @@ public class BlockSmelter extends BlockContainer for(int a = 0; a < JewelrycraftUtil.jamcraftPlayers.size(); a++) if (entityPlayer.getUniqueID().toString().equals(JewelrycraftUtil.jamcraftPlayers.get(a))) index = a; if(entityPlayer.capabilities.isCreativeMode) index = 1; - boolean canPlace = item != null && (JewelrycraftUtil.isMetal(item) || JewelrycraftUtil.isOre(item) || index >= 0); + boolean canPlace = item != null && (JewelrycraftUtil.isMetal(item) || JewelrycraftUtil.isOre(item) || index >= 0 || JewelryNBT.ingot(item) != null); boolean isOre = false, oreCoincidesWithMetal = false, itemCoincidesWithMetal = false, itemCoincidesWithMoltenMetal = false, overflow = false; isOre = JewelrycraftUtil.isOre(item); - if (te.metal != null && te.metal.getItem() != null) itemCoincidesWithMetal = item.getItem().equals(te.metal.getItem()) && item.getItemDamage() == te.metal.getItemDamage(); + if (te.metal != null && te.metal.getItem() != null) { + if(JewelryNBT.ingot(item) == null) itemCoincidesWithMetal = item.getItem().equals(te.metal.getItem()) && item.getItemDamage() == te.metal.getItemDamage(); + else itemCoincidesWithMetal = item.getItem().equals(te.metal.getItem()) && item.getItemDamage() == te.metal.getItemDamage() && JewelryNBT.ingot(item).getItem().equals(JewelryNBT.ingot(te.metal).getItem()) && JewelryNBT.ingot(item).getItemDamage() == JewelryNBT.ingot(te.metal).getItemDamage(); + } if (te.moltenMetal != null && te.moltenMetal.getItem() != null){ - itemCoincidesWithMoltenMetal = item.getItem().equals(te.moltenMetal.getItem()) && item.getItemDamage() == te.moltenMetal.getItemDamage(); + if(JewelryNBT.ingot(item) == null) itemCoincidesWithMoltenMetal = item.getItem().equals(te.moltenMetal.getItem()) && item.getItemDamage() == te.moltenMetal.getItemDamage(); + else itemCoincidesWithMoltenMetal = JewelryNBT.ingot(item).getItem().equals(te.moltenMetal.getItem()) && JewelryNBT.ingot(item).getItemDamage() == te.moltenMetal.getItemDamage(); if (isOre) oreCoincidesWithMetal = te.moltenMetal.getItem().equals(JewelrycraftUtil.getIngotFromOre(item).getItem()) && te.moltenMetal.getItemDamage() == JewelrycraftUtil.getIngotFromOre(item).getItemDamage(); } - overflow = isOre ? te.metal.stackSize * 0.2f + te.quantity < 0.8f : te.metal.stackSize + te.quantity < 0.9f; + overflow = isOre ? te.metal.stackSize * 0.2f + te.quantity < 0.8f : te.metal.stackSize*0.1f + te.quantity < 0.9f; boolean isValid = te.hasMoltenMetal ? isOre ? oreCoincidesWithMetal : itemCoincidesWithMoltenMetal : true; - System.out.println(te.quantity); if (te.quantity < 0.9f && !te.pouring && canPlace && isValid){ boolean check = isOre ? oreCoincidesWithMetal && te.quantity < 0.8f : itemCoincidesWithMoltenMetal; boolean check2 = isOre ? oreCoincidesWithMetal : itemCoincidesWithMetal; @@ -170,8 +173,9 @@ public class BlockSmelter extends BlockContainer } te.isDirty = true; }else if (item != null && (te.hasMetal || te.hasMoltenMetal) && !itemCoincidesWithMoltenMetal && te.quantity < .9f) entityPlayer.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("chatmessage." + Variables.MODID + ".smelter.contentdoesnotmatch"))); - else if (item != null && !item.getUnlocalizedName().toLowerCase().contains("ingot") && te.quantity < .9f) entityPlayer.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("chatmessage." + Variables.MODID + ".smelter.itemrenamedtoingot"))); + else if (item != null && !item.getUnlocalizedName().toLowerCase().contains("ingot") && item.getDisplayName().toLowerCase().contains("ingot") && te.quantity < .9f) entityPlayer.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("chatmessage." + Variables.MODID + ".smelter.itemrenamedtoingot"))); else if (item != null && te.quantity >= .9f) entityPlayer.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("chatmessage." + Variables.MODID + ".smelter.full"))); + else entityPlayer.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("chatmessage." + Variables.MODID + ".smelter.cannotsmelt"))); }else if (item != null && item.getItem() != null && item.getItem() instanceof ItemMoltenMetalBucket && !te.hasMoltenMetal && !te.hasMetal){ te.hasMoltenMetal = true; ItemStack ingot = JewelryNBT.ingot(item); @@ -183,7 +187,8 @@ public class BlockSmelter extends BlockContainer --item.stackSize; dropItem(world, entityPlayer.posX, entityPlayer.posY, entityPlayer.posZ, new ItemStack(Items.bucket)); } - }else if (item == null && te.hasMoltenMetal && te.moltenMetal.getItem() != null) entityPlayer.addChatMessage(new ChatComponentText(StatCollector.translateToLocalFormatted("chatmessage." + Variables.MODID + ".smelter.hasmolteningot", te.moltenMetal.getDisplayName().substring(0, te.moltenMetal.getDisplayName().indexOf(" Ingot"))))); + } + else if (item == null && te.hasMoltenMetal && te.moltenMetal.getItem() != null) entityPlayer.addChatMessage(new ChatComponentText(StatCollector.translateToLocalFormatted("chatmessage." + Variables.MODID + ".smelter.hasmolteningot", te.moltenMetal.getDisplayName().replace(" Ingot","")))); world.setTileEntity(i, j, k, te); } return true; diff --git a/src/main/java/darkknight/jewelrycraft/client/gui/GuiGuide.java b/src/main/java/darkknight/jewelrycraft/client/gui/GuiGuide.java index 48542f8..a0b2e6d 100644 --- a/src/main/java/darkknight/jewelrycraft/client/gui/GuiGuide.java +++ b/src/main/java/darkknight/jewelrycraft/client/gui/GuiGuide.java @@ -184,7 +184,6 @@ public class GuiGuide extends GuiContainer GL11.glRotatef(160.0F, 1.0F, 0.0F, 0.0F); if (rotate) GL11.glRotatef(rot, 0.0F, 1.0F, 0.0F); else{ - // GL11.glRotatef(entityitem.getEntityItem().getItemDamage() % 8 / 8F * 360, 0, 1, 0); GL11.glRotatef(xRot, 1, 0, 0); GL11.glRotatef(yRot, 0, 1, 0); GL11.glRotatef(zRot, 0, 0, 1); diff --git a/src/main/java/darkknight/jewelrycraft/client/gui/GuiTab.java b/src/main/java/darkknight/jewelrycraft/client/gui/GuiTab.java index e2632ac..8258cfc 100644 --- a/src/main/java/darkknight/jewelrycraft/client/gui/GuiTab.java +++ b/src/main/java/darkknight/jewelrycraft/client/gui/GuiTab.java @@ -8,16 +8,14 @@ public abstract class GuiTab extends GuiRectangle { protected int values; protected int del; - protected String name; /** * @param name * @param id */ - public GuiTab(String name, int id) + public GuiTab(int id) { super(-62, 10 + 19 * id, 19, 18); - this.name = name; values = 0; del = 0; } @@ -27,7 +25,7 @@ public abstract class GuiTab extends GuiRectangle */ public String getName() { - return name; + return ""; } /** diff --git a/src/main/java/darkknight/jewelrycraft/client/gui/GuiTabBlocks.java b/src/main/java/darkknight/jewelrycraft/client/gui/GuiTabBlocks.java index 478d5fe..ef7eabc 100644 --- a/src/main/java/darkknight/jewelrycraft/client/gui/GuiTabBlocks.java +++ b/src/main/java/darkknight/jewelrycraft/client/gui/GuiTabBlocks.java @@ -6,9 +6,11 @@ import net.minecraft.init.Blocks; import net.minecraft.init.Items; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.StatCollector; import darkknight.jewelrycraft.block.BlockList; import darkknight.jewelrycraft.client.Page; import darkknight.jewelrycraft.item.ItemList; +import darkknight.jewelrycraft.util.Variables; public class GuiTabBlocks extends GuiTab { @@ -18,7 +20,12 @@ public class GuiTabBlocks extends GuiTab */ public GuiTabBlocks(int id) { - super("Blocks", id); + super(id); + } + + public String getName() + { + return StatCollector.translateToLocal("guide." + Variables.MODID + ".tab.blocks"); } /** diff --git a/src/main/java/darkknight/jewelrycraft/client/gui/GuiTabGemsAndIngots.java b/src/main/java/darkknight/jewelrycraft/client/gui/GuiTabGemsAndIngots.java index 4648ecd..33d94f2 100644 --- a/src/main/java/darkknight/jewelrycraft/client/gui/GuiTabGemsAndIngots.java +++ b/src/main/java/darkknight/jewelrycraft/client/gui/GuiTabGemsAndIngots.java @@ -3,8 +3,10 @@ package darkknight.jewelrycraft.client.gui; import net.minecraft.init.Items; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.StatCollector; import org.lwjgl.opengl.GL11; import darkknight.jewelrycraft.util.JewelrycraftUtil; +import darkknight.jewelrycraft.util.Variables; public class GuiTabGemsAndIngots extends GuiTab { @@ -14,7 +16,12 @@ public class GuiTabGemsAndIngots extends GuiTab */ public GuiTabGemsAndIngots(int id) { - super("Gems, ores and ingots", id); + super(id); + } + + public String getName() + { + return StatCollector.translateToLocal("guide." + Variables.MODID + ".tab.misc"); } /** diff --git a/src/main/java/darkknight/jewelrycraft/client/gui/GuiTabIntroduction.java b/src/main/java/darkknight/jewelrycraft/client/gui/GuiTabIntroduction.java index de84af0..25acf21 100644 --- a/src/main/java/darkknight/jewelrycraft/client/gui/GuiTabIntroduction.java +++ b/src/main/java/darkknight/jewelrycraft/client/gui/GuiTabIntroduction.java @@ -2,14 +2,16 @@ package darkknight.jewelrycraft.client.gui; import net.minecraft.init.Items; import net.minecraft.item.ItemStack; +import net.minecraft.util.StatCollector; import darkknight.jewelrycraft.client.Page; import darkknight.jewelrycraft.item.ItemList; +import darkknight.jewelrycraft.util.Variables; public class GuiTabIntroduction extends GuiTab { public GuiTabIntroduction(int id) { - super("Introduction", id); + super(id); } @Override @@ -17,6 +19,11 @@ public class GuiTabIntroduction extends GuiTab { return new ItemStack(ItemList.ring); } + + public String getName() + { + return StatCollector.translateToLocal("guide." + Variables.MODID + ".tab.introduction"); + } @Override public void drawBackground(GuiGuide gui, int x, int y, int page) @@ -26,15 +33,15 @@ public class GuiTabIntroduction extends GuiTab switch(page) { case 1: - text = "Welcome to Jewelrycraft 2! This mod is about making jewelry that you can modify to your own will. To find out how to create a jewelry, please consult the book and look at the Smelter block. To add modifiers to it you need to perform a ritual. To see how to do that, look at the Cursed Eye"; + text = StatCollector.translateToLocal("guide." + Variables.MODID + ".tab.introduction."+page); Page.addTextPage(gui, gui.getLeft() + xPos, gui.getTop(), text); break; case 2: - text = "block in this guide. Please be aware that even if you can add anything as a modifier and can have multiple modifiers on one jewelry, this mod is still in alpha and does not have that many modifiers implemented and currently don't have any different effects depending on"; + text = StatCollector.translateToLocal("guide." + Variables.MODID + ".tab.introduction."+page); Page.addTextPage(gui, gui.getLeft() + xPos, gui.getTop(), text); break; case 3: - text = "the gem used. To see what modifiers are currently implemented, just look in the Modifiers tab located in this guide (it is the one with the blaze powder as an icon). This mod was made by OnyxDarkKnight and the help of domi1819, pau101, Damien Hazard, boni and MineMarteen."; + text = StatCollector.translateToLocal("guide." + Variables.MODID + ".tab.introduction."+page); Page.addTextPage(gui, gui.getLeft() + xPos, gui.getTop(), text); break; } diff --git a/src/main/java/darkknight/jewelrycraft/client/gui/GuiTabItems.java b/src/main/java/darkknight/jewelrycraft/client/gui/GuiTabItems.java index 02f9640..a1818e0 100644 --- a/src/main/java/darkknight/jewelrycraft/client/gui/GuiTabItems.java +++ b/src/main/java/darkknight/jewelrycraft/client/gui/GuiTabItems.java @@ -6,11 +6,13 @@ import net.minecraft.init.Blocks; import net.minecraft.init.Items; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.StatCollector; import darkknight.jewelrycraft.block.BlockList; import darkknight.jewelrycraft.client.Page; import darkknight.jewelrycraft.item.ItemList; import darkknight.jewelrycraft.util.JewelryNBT; import darkknight.jewelrycraft.util.JewelrycraftUtil; +import darkknight.jewelrycraft.util.Variables; public class GuiTabItems extends GuiTab { @@ -20,7 +22,12 @@ public class GuiTabItems extends GuiTab */ public GuiTabItems(int id) { - super("Items", id); + super(id); + } + + public String getName() + { + return StatCollector.translateToLocal("guide." + Variables.MODID + ".tab.items"); } /** diff --git a/src/main/java/darkknight/jewelrycraft/client/gui/GuiTabModifiers.java b/src/main/java/darkknight/jewelrycraft/client/gui/GuiTabModifiers.java index 79f7e92..1f92967 100644 --- a/src/main/java/darkknight/jewelrycraft/client/gui/GuiTabModifiers.java +++ b/src/main/java/darkknight/jewelrycraft/client/gui/GuiTabModifiers.java @@ -3,14 +3,21 @@ package darkknight.jewelrycraft.client.gui; import net.minecraft.init.Blocks; import net.minecraft.init.Items; import net.minecraft.item.ItemStack; +import net.minecraft.util.StatCollector; import darkknight.jewelrycraft.client.Page; +import darkknight.jewelrycraft.util.Variables; public class GuiTabModifiers extends GuiTab { int maxPages; public GuiTabModifiers(int id) { - super("Modifiers", id); + super(id); + } + + public String getName() + { + return StatCollector.translateToLocal("guide." + Variables.MODID + ".tab.modifiers"); } /** diff --git a/src/main/java/darkknight/jewelrycraft/client/gui/GuiTabOresToIngots.java b/src/main/java/darkknight/jewelrycraft/client/gui/GuiTabOresToIngots.java index 074ab64..b7f192d 100644 --- a/src/main/java/darkknight/jewelrycraft/client/gui/GuiTabOresToIngots.java +++ b/src/main/java/darkknight/jewelrycraft/client/gui/GuiTabOresToIngots.java @@ -4,9 +4,11 @@ import java.util.HashMap; import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; +import net.minecraft.util.StatCollector; import org.lwjgl.opengl.GL11; import darkknight.jewelrycraft.block.BlockList; import darkknight.jewelrycraft.util.JewelrycraftUtil; +import darkknight.jewelrycraft.util.Variables; public class GuiTabOresToIngots extends GuiTab { @@ -15,7 +17,12 @@ public class GuiTabOresToIngots extends GuiTab */ public GuiTabOresToIngots(int id) { - super("Ores to ingots", id); + super(id); + } + + public String getName() + { + return StatCollector.translateToLocal("guide." + Variables.MODID + ".tab.oretoingot"); } /** diff --git a/src/main/java/darkknight/jewelrycraft/client/gui/GuiTabRitual.java b/src/main/java/darkknight/jewelrycraft/client/gui/GuiTabRitual.java index ffb58d9..5e3c06e 100644 --- a/src/main/java/darkknight/jewelrycraft/client/gui/GuiTabRitual.java +++ b/src/main/java/darkknight/jewelrycraft/client/gui/GuiTabRitual.java @@ -4,14 +4,21 @@ import org.lwjgl.opengl.GL11; import net.minecraft.init.Blocks; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.StatCollector; import darkknight.jewelrycraft.block.BlockList; import darkknight.jewelrycraft.client.Page; +import darkknight.jewelrycraft.util.Variables; public class GuiTabRitual extends GuiTab { public GuiTabRitual(int id) { - super("Ritual", id); + super(id); + } + + public String getName() + { + return StatCollector.translateToLocal("guide." + Variables.MODID + ".tab.ritual"); } @Override diff --git a/src/main/java/darkknight/jewelrycraft/config/ConfigHandler.java b/src/main/java/darkknight/jewelrycraft/config/ConfigHandler.java index 9553111..309494c 100644 --- a/src/main/java/darkknight/jewelrycraft/config/ConfigHandler.java +++ b/src/main/java/darkknight/jewelrycraft/config/ConfigHandler.java @@ -11,12 +11,13 @@ public class ConfigHandler { public static Configuration config; public static final ConfigHandler INSTANCE = new ConfigHandler(); - public static final String[] categories = { "Timers", "Village Generation"}; + public static final String[] categories = {"Timers", "Village Generation"}; public static int INGOT_COOLING_TIME; public static int INGOT_MELTING_TIME; public static int GEM_PLACEMENT_TIME; public static int RITUAL_TIME; + public static int HEART_DESPAWN_TIME; public static boolean GENERATE_VILLAGE_NETHERSTAR; public static boolean CAN_FURNACE_GENERATE_INGOTS; @@ -43,6 +44,7 @@ public class ConfigHandler INGOT_MELTING_TIME = config.getInt("Ingot Melting Time", categories[0], 1500, 5, Integer.MAX_VALUE, "This sets the number of ticks you need to wait before an ingot is completely smelted."); GEM_PLACEMENT_TIME = config.getInt( "Jewelry Crafting Time", categories[0], 200, 5, Integer.MAX_VALUE, "This sets the number of ticks it takes for a jewel to be modified."); RITUAL_TIME = config.getInt( "Ritual Time", categories[0], 1000, 5, Integer.MAX_VALUE, "This sets the number of ticks it takes for the ritual to end."); + HEART_DESPAWN_TIME = config.getInt( "Hearts Despawn Time", categories[0], 600, 20, Integer.MAX_VALUE, "This sets the number of ticks it takes for hearts to despawn, 20=1 second"); GENERATE_VILLAGE_NETHERSTAR = config.getBoolean("Netherstar Generation", categories[1], false, "If set to true Nether Stars will be able to generate in Jewelers chests."); CAN_FURNACE_GENERATE_INGOTS = config.getBoolean("Furnace Ingots Generation", categories[1], true, "If set to true jewelers will generate ingots in furnaces."); diff --git a/src/main/java/darkknight/jewelrycraft/curses/CurseBlind.java b/src/main/java/darkknight/jewelrycraft/curses/CurseBlind.java index 2a9f94e..e751822 100644 --- a/src/main/java/darkknight/jewelrycraft/curses/CurseBlind.java +++ b/src/main/java/darkknight/jewelrycraft/curses/CurseBlind.java @@ -1,9 +1,11 @@ package darkknight.jewelrycraft.curses; import darkknight.jewelrycraft.api.Curse; +import darkknight.jewelrycraft.util.Variables; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.potion.Potion; import net.minecraft.potion.PotionEffect; +import net.minecraft.util.StatCollector; import net.minecraft.world.World; public class CurseBlind extends Curse @@ -21,6 +23,6 @@ public class CurseBlind extends Curse public String getDescription() { - return "You see the light slowly fading in front of you"; + return StatCollector.translateToLocal("curse." + Variables.MODID + ".blind.description"); } } diff --git a/src/main/java/darkknight/jewelrycraft/curses/CurseFlamingSoul.java b/src/main/java/darkknight/jewelrycraft/curses/CurseFlamingSoul.java index 8e38255..d1c6515 100644 --- a/src/main/java/darkknight/jewelrycraft/curses/CurseFlamingSoul.java +++ b/src/main/java/darkknight/jewelrycraft/curses/CurseFlamingSoul.java @@ -1,8 +1,10 @@ package darkknight.jewelrycraft.curses; import darkknight.jewelrycraft.api.Curse; +import darkknight.jewelrycraft.util.Variables; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.util.StatCollector; import net.minecraft.world.World; public class CurseFlamingSoul extends Curse @@ -19,6 +21,6 @@ public class CurseFlamingSoul extends Curse public String getDescription() { - return "Is it me or is it getting hot in here?"; + return StatCollector.translateToLocal("curse." + Variables.MODID + ".flamingsoul.description"); } } diff --git a/src/main/java/darkknight/jewelrycraft/curses/CurseGreed.java b/src/main/java/darkknight/jewelrycraft/curses/CurseGreed.java index cc45877..de555b9 100644 --- a/src/main/java/darkknight/jewelrycraft/curses/CurseGreed.java +++ b/src/main/java/darkknight/jewelrycraft/curses/CurseGreed.java @@ -1,9 +1,11 @@ package darkknight.jewelrycraft.curses; import darkknight.jewelrycraft.api.Curse; +import darkknight.jewelrycraft.util.Variables; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.potion.Potion; import net.minecraft.potion.PotionEffect; +import net.minecraft.util.StatCollector; import net.minecraft.world.World; public class CurseGreed extends Curse @@ -26,6 +28,6 @@ public class CurseGreed extends Curse public String getDescription() { - return "You might need that later"; + return StatCollector.translateToLocal("curse." + Variables.MODID + ".greed.description"); } } diff --git a/src/main/java/darkknight/jewelrycraft/curses/CurseHumbleBundle.java b/src/main/java/darkknight/jewelrycraft/curses/CurseHumbleBundle.java index 4ced57a..8ad6b12 100644 --- a/src/main/java/darkknight/jewelrycraft/curses/CurseHumbleBundle.java +++ b/src/main/java/darkknight/jewelrycraft/curses/CurseHumbleBundle.java @@ -10,9 +10,11 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; +import net.minecraft.util.StatCollector; import net.minecraft.world.World; import net.minecraftforge.event.world.BlockEvent; import darkknight.jewelrycraft.api.Curse; +import darkknight.jewelrycraft.util.Variables; /** * @author Sorin @@ -53,6 +55,6 @@ public class CurseHumbleBundle extends Curse public String getDescription() { - return "Get two for the price of one"; + return StatCollector.translateToLocal("curse." + Variables.MODID + ".humblebundle.description"); } } diff --git a/src/main/java/darkknight/jewelrycraft/curses/CurseInfamy.java b/src/main/java/darkknight/jewelrycraft/curses/CurseInfamy.java index fbc3a88..82f3b97 100644 --- a/src/main/java/darkknight/jewelrycraft/curses/CurseInfamy.java +++ b/src/main/java/darkknight/jewelrycraft/curses/CurseInfamy.java @@ -11,6 +11,7 @@ import net.minecraft.entity.SharedMonsterAttributes; import net.minecraft.entity.monster.EntityMob; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.StatCollector; import net.minecraft.world.World; import net.minecraftforge.client.event.RenderPlayerEvent; import darkknight.jewelrycraft.api.Curse; @@ -66,6 +67,6 @@ public class CurseInfamy extends Curse public String getDescription() { - return "What have you done?!"; + return StatCollector.translateToLocal("curse." + Variables.MODID + ".infamy.description"); } } diff --git a/src/main/java/darkknight/jewelrycraft/curses/CurseMidasTouch.java b/src/main/java/darkknight/jewelrycraft/curses/CurseMidasTouch.java index 68a1440..3ce54cf 100644 --- a/src/main/java/darkknight/jewelrycraft/curses/CurseMidasTouch.java +++ b/src/main/java/darkknight/jewelrycraft/curses/CurseMidasTouch.java @@ -19,6 +19,7 @@ import net.minecraft.item.ItemSpade; import net.minecraft.item.ItemStack; import net.minecraft.item.ItemSword; import net.minecraft.util.MathHelper; +import net.minecraft.util.StatCollector; import net.minecraft.world.World; import darkknight.jewelrycraft.api.Curse; import darkknight.jewelrycraft.block.BlockList; @@ -27,6 +28,7 @@ import darkknight.jewelrycraft.entities.EntityHeart; import darkknight.jewelrycraft.item.ItemList; import darkknight.jewelrycraft.tileentity.TileEntityMidasTouch; import darkknight.jewelrycraft.util.JewelryNBT; +import darkknight.jewelrycraft.util.Variables; public class CurseMidasTouch extends Curse { @@ -90,6 +92,6 @@ public class CurseMidasTouch extends Curse public String getDescription() { - return "Be careful what you wish for..."; + return StatCollector.translateToLocal("curse." + Variables.MODID + ".midastouch.description"); } } diff --git a/src/main/java/darkknight/jewelrycraft/curses/CursePentagram.java b/src/main/java/darkknight/jewelrycraft/curses/CursePentagram.java index e2a41f0..a794a75 100644 --- a/src/main/java/darkknight/jewelrycraft/curses/CursePentagram.java +++ b/src/main/java/darkknight/jewelrycraft/curses/CursePentagram.java @@ -6,6 +6,7 @@ import net.minecraft.client.renderer.texture.TextureManager; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.util.ResourceLocation; +import net.minecraft.util.StatCollector; import net.minecraft.world.World; import net.minecraftforge.client.event.RenderPlayerEvent; import org.lwjgl.opengl.GL11; @@ -75,6 +76,6 @@ public class CursePentagram extends Curse public String getDescription() { - return "The Dark Lord has misterious ways of showing you his love."; + return StatCollector.translateToLocal("curse." + Variables.MODID + ".pentagram.description"); } } diff --git a/src/main/java/darkknight/jewelrycraft/curses/CurseRabbitsPaw.java b/src/main/java/darkknight/jewelrycraft/curses/CurseRabbitsPaw.java index 5bee390..f853217 100644 --- a/src/main/java/darkknight/jewelrycraft/curses/CurseRabbitsPaw.java +++ b/src/main/java/darkknight/jewelrycraft/curses/CurseRabbitsPaw.java @@ -7,6 +7,8 @@ import java.util.ArrayList; import darkknight.jewelrycraft.api.Curse; import darkknight.jewelrycraft.entities.EntityHalfHeart; import darkknight.jewelrycraft.entities.EntityHeart; +import darkknight.jewelrycraft.util.JewelrycraftUtil; +import darkknight.jewelrycraft.util.Variables; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.item.EntityItem; @@ -14,6 +16,7 @@ import net.minecraft.entity.item.EntityXPOrb; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.util.MathHelper; +import net.minecraft.util.StatCollector; import net.minecraft.world.World; public class CurseRabbitsPaw extends Curse @@ -37,7 +40,7 @@ public class CurseRabbitsPaw extends Curse { String[] types = {"Red", "Blue", "White", "Black"}; String type = types[rand.nextInt(4)]; - if (rand.nextInt(3) == 0){ + if (rand.nextInt(3) == 0 && target.getCreatureAttribute() != JewelrycraftUtil.HEART){ if (type == "White"){ EntityHeart h = new EntityHalfHeart(world); h.setType(type); @@ -58,6 +61,6 @@ public class CurseRabbitsPaw extends Curse public String getDescription() { - return "The Dark One is giving you a gift. Don't lose it."; + return StatCollector.translateToLocal("curse." + Variables.MODID + ".rabbitspaw.description"); } } diff --git a/src/main/java/darkknight/jewelrycraft/curses/CurseRottenHeart.java b/src/main/java/darkknight/jewelrycraft/curses/CurseRottenHeart.java index 4cfd635..471d0e5 100644 --- a/src/main/java/darkknight/jewelrycraft/curses/CurseRottenHeart.java +++ b/src/main/java/darkknight/jewelrycraft/curses/CurseRottenHeart.java @@ -1,9 +1,11 @@ package darkknight.jewelrycraft.curses; import darkknight.jewelrycraft.api.Curse; +import darkknight.jewelrycraft.util.Variables; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.potion.Potion; import net.minecraft.potion.PotionEffect; +import net.minecraft.util.StatCollector; import net.minecraft.world.World; public class CurseRottenHeart extends Curse @@ -21,6 +23,6 @@ public class CurseRottenHeart extends Curse public String getDescription() { - return "Your heart slowly rots inside"; + return StatCollector.translateToLocal("curse." + Variables.MODID + ".rottenheart.description"); } } diff --git a/src/main/java/darkknight/jewelrycraft/curses/CurseVampireHunger.java b/src/main/java/darkknight/jewelrycraft/curses/CurseVampireHunger.java index 18b676a..8c72e8e 100644 --- a/src/main/java/darkknight/jewelrycraft/curses/CurseVampireHunger.java +++ b/src/main/java/darkknight/jewelrycraft/curses/CurseVampireHunger.java @@ -5,8 +5,10 @@ package darkknight.jewelrycraft.curses; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.util.StatCollector; import net.minecraft.world.World; import darkknight.jewelrycraft.api.Curse; +import darkknight.jewelrycraft.util.Variables; /** * @author Sorin @@ -26,6 +28,6 @@ public class CurseVampireHunger extends Curse public String getDescription() { - return "You feel the need for blood"; + return StatCollector.translateToLocal("curse." + Variables.MODID + ".vampirehunger.description"); } } diff --git a/src/main/java/darkknight/jewelrycraft/effects/EffectEnderEye.java b/src/main/java/darkknight/jewelrycraft/effects/EffectEnderEye.java index 39a1613..afaa376 100644 --- a/src/main/java/darkknight/jewelrycraft/effects/EffectEnderEye.java +++ b/src/main/java/darkknight/jewelrycraft/effects/EffectEnderEye.java @@ -13,6 +13,7 @@ import net.minecraft.potion.PotionEffect; import net.minecraft.util.ChatComponentText; import net.minecraft.util.DamageSource; import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.StatCollector; import net.minecraft.util.Vec3; import net.minecraft.world.ChunkPosition; import net.minecraft.world.biome.BiomeGenBase; @@ -23,6 +24,7 @@ import darkknight.jewelrycraft.item.ItemEarrings; import darkknight.jewelrycraft.item.ItemNecklace; import darkknight.jewelrycraft.item.ItemRing; import darkknight.jewelrycraft.util.JewelryNBT; +import darkknight.jewelrycraft.util.Variables; public class EffectEnderEye extends ModifierEffects { @@ -74,7 +76,7 @@ public class EffectEnderEye extends ModifierEffects for(int i = (int)player.posX - 2; i <= (int)player.posX + 2; i++) for(int j = (int)player.posY - 2; j <= (int)player.posY + 2; j++) for(int k = (int)player.posZ - 2; k <= (int)player.posZ + 2; k++) - if (player.worldObj.getBlock(i, j, k) instanceof BlockOre) player.addChatComponentMessage(new ChatComponentText(EnumChatFormatting.GRAY + "You sense some " + player.worldObj.getBlock(i, j, k).getLocalizedName() + " around you.")); + if (player.worldObj.getBlock(i, j, k) instanceof BlockOre) player.addChatComponentMessage(new ChatComponentText(EnumChatFormatting.GRAY + StatCollector.translateToLocal("chatmessage." + Variables.MODID + ".effect.endereye.1")+" " + player.worldObj.getBlock(i, j, k).getLocalizedName() + " "+StatCollector.translateToLocal("chatmessage." + Variables.MODID + ".effect.endereye.2"))); } } diff --git a/src/main/java/darkknight/jewelrycraft/effects/EffectFeather.java b/src/main/java/darkknight/jewelrycraft/effects/EffectFeather.java index c0e2ff8..aa427b1 100644 --- a/src/main/java/darkknight/jewelrycraft/effects/EffectFeather.java +++ b/src/main/java/darkknight/jewelrycraft/effects/EffectFeather.java @@ -16,6 +16,7 @@ import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.ChatComponentText; import net.minecraft.util.DamageSource; import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.StatCollector; import darkknight.jewelrycraft.api.ModifierEffects; import darkknight.jewelrycraft.damage.DamageSourceList; import darkknight.jewelrycraft.item.ItemBracelet; @@ -86,7 +87,7 @@ public class EffectFeather extends ModifierEffects NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); // Positive necklace if (jewelry instanceof ItemNecklace && exists && rand.nextInt(3 + JewelryNBT.numberOfModifiers(item)) == 0 && source != DamageSourceList.weak && source != DamageSource.inFire && source != DamageSource.onFire && source != DamageSource.lava){ - player.addChatComponentMessage(new ChatComponentText(EnumChatFormatting.GRAY + "The necklace protected you from taking damage!")); + player.addChatComponentMessage(new ChatComponentText(EnumChatFormatting.GRAY + StatCollector.translateToLocal("chatmessage." + Variables.MODID + ".effect.feather"))); playerInfo.setBoolean("negateDamage", true); } // Negative necklace diff --git a/src/main/java/darkknight/jewelrycraft/entities/EntityHalfHeart.java b/src/main/java/darkknight/jewelrycraft/entities/EntityHalfHeart.java index 4fad309..c538f86 100644 --- a/src/main/java/darkknight/jewelrycraft/entities/EntityHalfHeart.java +++ b/src/main/java/darkknight/jewelrycraft/entities/EntityHalfHeart.java @@ -24,23 +24,15 @@ public class EntityHalfHeart extends EntityHeart super(world); } + protected void entityInit() + { + super.entityInit(); + this.dataWatcher.updateObject(17, 1f); + } + @Override public void onCollideWithPlayer(EntityPlayer player) { - if (!player.worldObj.isRemote){ - NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); - if (getType().equals("Red") && player.getHealth() < player.getMaxHealth()){ - player.heal(1f); - this.setDead(); - }else if (getType().equals("White") && playerInfo.getFloat("WhiteHeart") > 0.1F){ - playerInfo.setFloat(getType() + "Heart", 0F); - player.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(player.getMaxHealth() + 2f); - this.setDead(); - }else if (!getType().equals("Red")){ - playerInfo.setFloat(getType() + "Heart", playerInfo.getFloat(getType() + "Heart") + 1.0F); - this.setDead(); - } - } - else JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + super.onCollideWithPlayer(player); } } diff --git a/src/main/java/darkknight/jewelrycraft/entities/EntityHeart.java b/src/main/java/darkknight/jewelrycraft/entities/EntityHeart.java index 899c075..75c0015 100644 --- a/src/main/java/darkknight/jewelrycraft/entities/EntityHeart.java +++ b/src/main/java/darkknight/jewelrycraft/entities/EntityHeart.java @@ -3,24 +3,21 @@ */ package darkknight.jewelrycraft.entities; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import darkknight.jewelrycraft.JewelrycraftMod; -import darkknight.jewelrycraft.network.PacketRequestPlayerInfo; -import darkknight.jewelrycraft.util.PlayerUtils; -import darkknight.jewelrycraft.util.Variables; -import net.minecraft.block.material.Material; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLiving; -import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.EnumCreatureAttribute; import net.minecraft.entity.SharedMonsterAttributes; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.potion.Potion; -import net.minecraft.util.DamageSource; import net.minecraft.world.World; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import darkknight.jewelrycraft.JewelrycraftMod; +import darkknight.jewelrycraft.config.ConfigHandler; +import darkknight.jewelrycraft.network.PacketRequestPlayerInfo; +import darkknight.jewelrycraft.util.JewelrycraftUtil; +import darkknight.jewelrycraft.util.PlayerUtils; +import darkknight.jewelrycraft.util.Variables; /** * @author Sorin @@ -33,54 +30,81 @@ public class EntityHeart extends EntityLiving this.setSize(0.4F, 0.4F); } - public boolean isEntityInvulnerable() + protected void applyEntityAttributes() { - return true; + super.applyEntityAttributes(); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(getQuantity()); } - protected boolean canDespawn() + @Override + public void updateEntityActionState() { - return false; + ++this.entityAge; } - @Override - public void onCollideWithPlayer(EntityPlayer player) + public void onLivingUpdate() { - NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); - if (getType() == "Red" && player.getHealth() < player.getMaxHealth()){ - player.heal(2f); - this.setDead(); - } - else if (getType() != "Red"){ - playerInfo.setFloat(getType() + "Heart", playerInfo.getFloat(getType() + "Heart") + 2.0F); - JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); - this.setDead(); + super.onLivingUpdate(); + if (this.entityAge > ConfigHandler.HEART_DESPAWN_TIME) this.setDead(); + } + + protected void collideWithEntity(Entity entity) + { + super.collideWithEntity(entity); + if (!this.worldObj.isRemote && entity instanceof EntityHeart && getType().equals(((EntityHeart)entity).getType())){ + setQuantity(getQuantity() + ((EntityHeart)entity).getQuantity()); + getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(getQuantity() + ((EntityHeart)entity).getQuantity()); + this.heal(getQuantity()); + entity.setDead(); } } @Override - protected void updateEntityActionState() + public void onCollideWithPlayer(EntityPlayer player) { + if (!this.worldObj.isRemote){ + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + if (getType() == "Red" && player.getHealth() < player.getMaxHealth()){ + float healAmount = player.getMaxHealth() - player.getHealth(); + if (getQuantity() > healAmount){ + player.heal(healAmount); + this.setQuantity(getQuantity() - healAmount); + }else{ + player.heal(getQuantity()); + this.setDead(); + } + }else if (getType().equals("White") && playerInfo.getFloat("WhiteHeart") > 0.1F){ + playerInfo.setFloat(getType() + "Heart", 0F); + player.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(player.getMaxHealth() + playerInfo.getFloat("WhiteHeart")); + this.setDead(); + }else if (getType() != "Red"){ + playerInfo.setFloat(getType() + "Heart", playerInfo.getFloat(getType() + "Heart") + getQuantity()); + JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); + this.setDead(); + } + } } - @SideOnly(Side.CLIENT) + @SideOnly (Side.CLIENT) public boolean canRenderOnFire() { return false; } - + protected void entityInit() { super.entityInit(); this.dataWatcher.addObject(16, "Red"); + this.dataWatcher.addObject(17, 2f); } public void writeEntityToNBT(NBTTagCompound nbt) { super.writeEntityToNBT(nbt); nbt.setString("Type", getType()); + nbt.setFloat("Quantity", getQuantity()); } - + /** * (abstract) Protected helper method to read subclass entity data from NBT. */ @@ -88,21 +112,31 @@ public class EntityHeart extends EntityLiving { super.readEntityFromNBT(nbt); setType(nbt.getString("Type")); + setQuantity(nbt.getFloat("Quantity")); } - + public String getType() { return this.dataWatcher.getWatchableObjectString(16); } - + public void setType(String type) { this.dataWatcher.updateObject(16, type); } + public Float getQuantity() + { + return this.dataWatcher.getWatchableObjectFloat(17); + } + + public void setQuantity(Float qty) + { + this.dataWatcher.updateObject(17, qty); + } + public EnumCreatureAttribute getCreatureAttribute() { - return EnumCreatureAttribute.UNDEAD; + return JewelrycraftUtil.HEART; } - } diff --git a/src/main/java/darkknight/jewelrycraft/entities/renders/HeartRender.java b/src/main/java/darkknight/jewelrycraft/entities/renders/HeartRender.java index f9da0da..d951340 100644 --- a/src/main/java/darkknight/jewelrycraft/entities/renders/HeartRender.java +++ b/src/main/java/darkknight/jewelrycraft/entities/renders/HeartRender.java @@ -1,9 +1,12 @@ package darkknight.jewelrycraft.entities.renders; +import java.util.Random; import org.lwjgl.opengl.GL11; +import net.minecraft.client.Minecraft; import net.minecraft.client.model.ModelBase; import net.minecraft.client.renderer.entity.RenderLiving; import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLiving; import net.minecraft.entity.EntityLivingBase; import net.minecraft.util.ResourceLocation; import darkknight.jewelrycraft.entities.EntityHeart; @@ -15,27 +18,51 @@ import darkknight.jewelrycraft.util.Variables; public class HeartRender extends RenderLiving { protected ResourceLocation texture; - + Random rnd = new Random(); + public HeartRender(ModelBase modelBase, float shadowSize) { super(modelBase, shadowSize); } - + + protected void renderModel(EntityLivingBase entity, float x, float y, float z, float rot1, float rot2, float rot3) + { + super.renderModel(entity, x, y, z, rot1, rot2, rot3); + rnd.setSeed(1542372345); + if (((EntityHeart)entity).getQuantity() > 2f){ + for(int i = 0; i < ((EntityHeart)entity).getQuantity() / 10f; i++){ + float posX = rnd.nextFloat() * 0.2f * (rnd.nextBoolean()?1:-1); + float posY = rnd.nextFloat() * 0.2f * (rnd.nextBoolean()?1:-1); + float posZ = rnd.nextFloat() * 0.2f * (rnd.nextBoolean()?1:-1); + float rotX = rnd.nextFloat() * 35f * (rnd.nextBoolean()?1:-1); + float rotY = rnd.nextFloat() * 35f * (rnd.nextBoolean()?1:-1); + float rotZ = rnd.nextFloat() * 35f * (rnd.nextBoolean()?1:-1); + GL11.glTranslatef(-0.15F, 0.0F, 0.0F); + GL11.glTranslatef(posX, posY, 0F); + GL11.glRotatef(rotY, 0F, 1F, 0F); + GL11.glRotatef(rotZ, 0F, 0F, 1F); + GL11.glPushMatrix(); + this.mainModel.render(entity, x, y, z, rot1, rot2, rot3); + GL11.glPopMatrix(); + } + } + } + @Override protected void preRenderCallback(EntityLivingBase entity, float f) { - preRenderCallbackHeart((EntityHeart) entity, f); + preRenderCallbackHeart((EntityHeart)entity, f); } - + protected void preRenderCallbackHeart(EntityHeart entity, float f) { GL11.glScalef(0.4F, 0.4F, 0.4F); GL11.glRotatef(55F, 1F, 0F, 0F); String type = entity.getType(); - if(type == "" || type == null) type = "Red"; - texture = new ResourceLocation(Variables.MODID, "textures/entities/"+type+"Heart.png"); + if (type == "" || type == null) type = "Red"; + texture = new ResourceLocation(Variables.MODID, "textures/entities/" + type + "Heart.png"); } - + @Override protected ResourceLocation getEntityTexture(Entity par1Entity) { diff --git a/src/main/java/darkknight/jewelrycraft/events/EntityEventHandler.java b/src/main/java/darkknight/jewelrycraft/events/EntityEventHandler.java index 14f74cd..a106e2a 100644 --- a/src/main/java/darkknight/jewelrycraft/events/EntityEventHandler.java +++ b/src/main/java/darkknight/jewelrycraft/events/EntityEventHandler.java @@ -358,7 +358,7 @@ public class EntityEventHandler if (!entity.worldObj.isRemote && !(entity instanceof EntityPlayer) && entity instanceof EntityLiving){ EntityLiving live = (EntityLiving)entity; String type = types[rand.nextInt(4)]; - if (rand.nextInt(6) == 0){ + if (rand.nextInt(6) == 0 && live.getCreatureAttribute() != JewelrycraftUtil.HEART){ if (type == "White"){ EntityHeart h = new EntityHalfHeart(live.worldObj); h.setType(type); diff --git a/src/main/java/darkknight/jewelrycraft/thirdparty/EE3.java b/src/main/java/darkknight/jewelrycraft/thirdparty/EE3.java index 1222d7c..b375521 100644 --- a/src/main/java/darkknight/jewelrycraft/thirdparty/EE3.java +++ b/src/main/java/darkknight/jewelrycraft/thirdparty/EE3.java @@ -15,7 +15,8 @@ public class EE3 implements IThirdParty EnergyValueRegistryProxy.addPostAssignedEnergyValue(new ItemStack(BlockList.shadowOre), 4096); EnergyValueRegistryProxy.addPostAssignedEnergyValue(new ItemStack(ItemList.shadowIngot), 4096); EnergyValueRegistryProxy.addPostAssignedEnergyValue(new ItemStack(ItemList.clayMolds), 128); - EnergyValueRegistryProxy.addPostAssignedEnergyValue(new ItemStack(ItemList.molds), 128);} + EnergyValueRegistryProxy.addPostAssignedEnergyValue(new ItemStack(ItemList.molds), 128); + } @Override public void init() diff --git a/src/main/java/darkknight/jewelrycraft/tileentity/TileEntitySmelter.java b/src/main/java/darkknight/jewelrycraft/tileentity/TileEntitySmelter.java index 6df0f07..745eb51 100644 --- a/src/main/java/darkknight/jewelrycraft/tileentity/TileEntitySmelter.java +++ b/src/main/java/darkknight/jewelrycraft/tileentity/TileEntitySmelter.java @@ -9,6 +9,7 @@ import net.minecraft.network.Packet; import net.minecraft.network.play.server.S35PacketUpdateTileEntity; import net.minecraft.tileentity.TileEntity; import darkknight.jewelrycraft.config.ConfigHandler; +import darkknight.jewelrycraft.util.JewelryNBT; import darkknight.jewelrycraft.util.JewelrycraftUtil; public class TileEntitySmelter extends TileEntity @@ -107,7 +108,10 @@ public class TileEntitySmelter extends TileEntity if (melting > 0) melting--; if (melting == 0){ hasMetal = false; - if (!isOre) moltenMetal = metal; + if (!isOre){ + if(JewelryNBT.ingot(metal) == null) moltenMetal = metal; + else moltenMetal = JewelryNBT.ingot(metal); + } else{ moltenMetal = JewelrycraftUtil.getIngotFromOre(metal); moltenMetal.stackSize *= 2; diff --git a/src/main/java/darkknight/jewelrycraft/tileentity/renders/TileEntityMolderRender.java b/src/main/java/darkknight/jewelrycraft/tileentity/renders/TileEntityMolderRender.java index 6ff27db..62e3945 100644 --- a/src/main/java/darkknight/jewelrycraft/tileentity/renders/TileEntityMolderRender.java +++ b/src/main/java/darkknight/jewelrycraft/tileentity/renders/TileEntityMolderRender.java @@ -104,8 +104,8 @@ public class TileEntityMolderRender extends TileEntitySpecialRenderer EntityItem moltenMetal = new EntityItem(te.getWorldObj(), 0.0D, 0.0D, 0.0D, metal); moltenMetal.getEntityItem().stackSize = 1; moltenMetal.hoverStart = 0.0F; - GL11.glTranslatef(-0F, 1.38f - 0.005f * me.quantity, -0.29F); - GL11.glScalef(1.1F, 1.0F, 1.4F); + GL11.glTranslatef(-0F, 1.4f - 0.005f * me.quantity, -0.29F); + GL11.glScalef(1.2F, 1.0F, 1.4F); GL11.glRotatef(90F, 1F, 0F, 0f); RenderItem.renderInFrame = true; RenderManager.instance.renderEntityWithPosYaw(moltenMetal, 0.0D, 0.0D, 0.0D, 0.0F, 0.0F); diff --git a/src/main/java/darkknight/jewelrycraft/util/JewelrycraftUtil.java b/src/main/java/darkknight/jewelrycraft/util/JewelrycraftUtil.java index 4374c70..45eddd1 100644 --- a/src/main/java/darkknight/jewelrycraft/util/JewelrycraftUtil.java +++ b/src/main/java/darkknight/jewelrycraft/util/JewelrycraftUtil.java @@ -4,12 +4,12 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.Random; +import net.minecraft.entity.EnumCreatureAttribute; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; -import net.minecraft.item.crafting.CraftingManager; import net.minecraft.item.crafting.FurnaceRecipes; import net.minecraft.nbt.NBTTagCompound; import net.minecraftforge.oredict.OreDictionary; @@ -31,6 +31,7 @@ public class JewelrycraftUtil public static ArrayList jamcraftPlayers = new ArrayList(); private static ArrayList items = new ArrayList(); public static Random rand = new Random(); + public static EnumCreatureAttribute HEART; /** * Adds gems and jewelry to their appropriate list @@ -146,10 +147,8 @@ public class JewelrycraftUtil { ores.add(nextStack); oreToIngot.put(nextStack, ingot); - JewelrycraftMod.logger.info("Original: " + nextStack); - JewelrycraftMod.logger.info("Adding " + nextStack.getDisplayName() + " with damage value " + nextStack.getItemDamage() + " and with " + nextStack.stackSize + " in stack"); - JewelrycraftMod.logger.info("Original ingot: " + ingot); - JewelrycraftMod.logger.info("Adding ingot " + ingot.getDisplayName() + " with damage value " + ingot.getItemDamage() + " and with " + ingot.stackSize + " in stack\n"); + JewelrycraftMod.logger.info(nextStack + " Adding " + nextStack.getDisplayName() + " with damage value " + nextStack.getItemDamage() + " and with " + nextStack.stackSize + " in stack"); + JewelrycraftMod.logger.info(ingot + " Adding ingot " + ingot.getDisplayName() + " with damage value " + ingot.getItemDamage() + " and with " + ingot.stackSize + " in stack\n"); } } } diff --git a/src/main/java/darkknight/jewelrycraft/worldGen/village/ComponentJewelry.java b/src/main/java/darkknight/jewelrycraft/worldGen/village/ComponentJewelry.java index 275b522..dfcdaba 100644 --- a/src/main/java/darkknight/jewelrycraft/worldGen/village/ComponentJewelry.java +++ b/src/main/java/darkknight/jewelrycraft/worldGen/village/ComponentJewelry.java @@ -9,6 +9,7 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntityChest; import net.minecraft.tileentity.TileEntityFurnace; +import net.minecraft.util.StatCollector; import net.minecraft.world.World; import net.minecraft.world.gen.structure.StructureBoundingBox; import net.minecraft.world.gen.structure.StructureComponent; @@ -23,6 +24,7 @@ import darkknight.jewelrycraft.tileentity.TileEntityMolder; import darkknight.jewelrycraft.tileentity.TileEntitySmelter; import darkknight.jewelrycraft.util.JewelryNBT; import darkknight.jewelrycraft.util.JewelrycraftUtil; +import darkknight.jewelrycraft.util.Variables; public class ComponentJewelry extends StructureVillagePieces.House1 { @@ -224,7 +226,7 @@ public class ComponentJewelry extends StructureVillagePieces.House1 TileEntityChest chest = (TileEntityChest)world.getTileEntity(i1, j1, k1); while (chest != null && t > 0 && JewelrycraftUtil.gem.size() > 0){ ItemStack jewels = JewelrycraftUtil.gem.get(random.nextInt(JewelrycraftUtil.gem.size())); - chest.func_145976_a("Jeweler's Chest"); + chest.func_145976_a(StatCollector.translateToLocal("jeweler." + Variables.MODID + ".jewelerchest")); if (jewels.getItem() == Items.nether_star && ConfigHandler.GENERATE_VILLAGE_NETHERSTAR) chest.setInventorySlotContents(random.nextInt(chest.getSizeInventory()), jewels); else if (random.nextBoolean() && jewels.getItem() != Items.nether_star) chest.setInventorySlotContents(random.nextInt(chest.getSizeInventory()), jewels); t--; @@ -253,7 +255,7 @@ public class ComponentJewelry extends StructureVillagePieces.House1 placeBlockAtCurrentPosition(world, chestB, metadata, i, j, k, sbb); TileEntityChest chest = (TileEntityChest)world.getTileEntity(i1, j1, k1); while (chest != null && t > 0 && JewelrycraftUtil.metal.size() > 0){ - chest.func_145976_a("Ingot Chest"); + chest.func_145976_a(StatCollector.translateToLocal("jeweler." + Variables.MODID + ".ingotchest")); int metalID = random.nextInt(JewelrycraftUtil.metal.size()); ItemStack metal = JewelrycraftUtil.metal.get(metalID).copy(); metal.stackSize = 2 + random.nextInt(randomAmount); @@ -284,7 +286,7 @@ public class ComponentJewelry extends StructureVillagePieces.House1 placeBlockAtCurrentPosition(world, chestB, metadata, i, j, k, sbb); TileEntityChest chest = (TileEntityChest)world.getTileEntity(i1, j1, k1); while (chest != null && t > 0 && JewelrycraftUtil.ores.size() > 0){ - chest.func_145976_a("Ores Chest"); + chest.func_145976_a(StatCollector.translateToLocal("jeweler." + Variables.MODID + ".orechest")); int oreID = random.nextInt(JewelrycraftUtil.ores.size()); ItemStack ores = JewelrycraftUtil.ores.get(oreID).copy(); ores.stackSize = 2 + random.nextInt(randomAmount); -- cgit v1.2.3