From 958633ff2ac5b03996663c59821eef0054cea3fa Mon Sep 17 00:00:00 2001 From: Mohammad-Ali Minaie Date: Tue, 21 Mar 2017 22:31:33 -0400 Subject: [PATCH] all tools complete --- 1.11/To-Dos | 6 +- .../nmd/primal/forgecraft/CommonEvents.java | 34 + .../nmd/primal/forgecraft/blocks/Anvil.java | 974 +++++------------- .../primal/forgecraft/init/ModCrafting.java | 79 ++ .../nmd/primal/forgecraft/init/ModItems.java | 22 +- .../forgecraft/items/ItemStoneTongs.java | 10 + .../forgecraft/items/tools/CustomHoe.java | 353 +++++++ .../forgecraft/items/tools/CustomShovel.java | 353 +++++++ .../forgecraft/renders/TileAnvilRender.java | 149 ++- .../forgecraft/renders/TileForgeRender.java | 4 + .../forgecraft/models/item/e_texture.png | Bin 0 -> 141 bytes .../assets/forgecraft/models/item/hoe.json | 78 +- .../assets/forgecraft/models/item/hoe2.json | 122 +++ .../forgecraft/models/item/hoehead.json | 108 +- .../forgecraft/models/item/hoehead2.json | 118 +++ .../forgecraft/models/item/ironhoe.json | 33 + .../forgecraft/models/item/ironhoe_0.json | 8 + .../forgecraft/models/item/ironhoe_1.json | 8 + .../forgecraft/models/item/ironhoe_10.json | 8 + .../forgecraft/models/item/ironhoe_11.json | 8 + .../forgecraft/models/item/ironhoe_12.json | 8 + .../forgecraft/models/item/ironhoe_13.json | 8 + .../forgecraft/models/item/ironhoe_14.json | 8 + .../forgecraft/models/item/ironhoe_15.json | 8 + .../forgecraft/models/item/ironhoe_16.json | 8 + .../forgecraft/models/item/ironhoe_17.json | 8 + .../forgecraft/models/item/ironhoe_18.json | 8 + .../forgecraft/models/item/ironhoe_19.json | 8 + .../forgecraft/models/item/ironhoe_2.json | 8 + .../forgecraft/models/item/ironhoe_20.json | 8 + .../forgecraft/models/item/ironhoe_21.json | 8 + .../forgecraft/models/item/ironhoe_3.json | 8 + .../forgecraft/models/item/ironhoe_4.json | 8 + .../forgecraft/models/item/ironhoe_5.json | 8 + .../forgecraft/models/item/ironhoe_6.json | 8 + .../forgecraft/models/item/ironhoe_7.json | 8 + .../forgecraft/models/item/ironhoe_8.json | 8 + .../forgecraft/models/item/ironhoe_9.json | 8 + .../forgecraft/models/item/ironhoehead.json | 37 + .../forgecraft/models/item/ironhoehead_0.json | 8 + .../forgecraft/models/item/ironhoehead_1.json | 8 + .../models/item/ironhoehead_10.json | 8 + .../models/item/ironhoehead_11.json | 8 + .../models/item/ironhoehead_12.json | 8 + .../models/item/ironhoehead_13.json | 8 + .../models/item/ironhoehead_14.json | 8 + .../models/item/ironhoehead_15.json | 8 + .../models/item/ironhoehead_16.json | 8 + .../models/item/ironhoehead_17.json | 8 + .../models/item/ironhoehead_18.json | 8 + .../models/item/ironhoehead_19.json | 8 + .../forgecraft/models/item/ironhoehead_2.json | 8 + .../models/item/ironhoehead_20.json | 8 + .../models/item/ironhoehead_21.json | 8 + .../forgecraft/models/item/ironhoehead_3.json | 8 + .../forgecraft/models/item/ironhoehead_4.json | 8 + .../forgecraft/models/item/ironhoehead_5.json | 8 + .../forgecraft/models/item/ironhoehead_6.json | 8 + .../forgecraft/models/item/ironhoehead_7.json | 8 + .../forgecraft/models/item/ironhoehead_8.json | 8 + .../forgecraft/models/item/ironhoehead_9.json | 8 + .../forgecraft/models/item/ironshovel.json | 33 + .../forgecraft/models/item/ironshovel_0.json | 8 + .../forgecraft/models/item/ironshovel_1.json | 8 + .../forgecraft/models/item/ironshovel_10.json | 8 + .../forgecraft/models/item/ironshovel_11.json | 8 + .../forgecraft/models/item/ironshovel_12.json | 8 + .../forgecraft/models/item/ironshovel_13.json | 8 + .../forgecraft/models/item/ironshovel_14.json | 8 + .../forgecraft/models/item/ironshovel_15.json | 8 + .../forgecraft/models/item/ironshovel_16.json | 8 + .../forgecraft/models/item/ironshovel_17.json | 8 + .../forgecraft/models/item/ironshovel_18.json | 8 + .../forgecraft/models/item/ironshovel_19.json | 8 + .../forgecraft/models/item/ironshovel_2.json | 8 + .../forgecraft/models/item/ironshovel_20.json | 8 + .../forgecraft/models/item/ironshovel_21.json | 8 + .../forgecraft/models/item/ironshovel_3.json | 8 + .../forgecraft/models/item/ironshovel_4.json | 8 + .../forgecraft/models/item/ironshovel_5.json | 8 + .../forgecraft/models/item/ironshovel_6.json | 8 + .../forgecraft/models/item/ironshovel_7.json | 8 + .../forgecraft/models/item/ironshovel_8.json | 8 + .../forgecraft/models/item/ironshovel_9.json | 8 + .../models/item/stonetongs_hoe_default.json | 193 ++++ .../models/item/stonetongs_hoe_hot.json | 10 + .../item/stonetongs_shovel_default.json | 8 +- 87 files changed, 2428 insertions(+), 824 deletions(-) create mode 100644 1.11/src/main/java/nmd/primal/forgecraft/items/tools/CustomHoe.java create mode 100644 1.11/src/main/java/nmd/primal/forgecraft/items/tools/CustomShovel.java create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/e_texture.png create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/hoe2.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/hoehead2.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/ironhoe.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/ironhoe_0.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/ironhoe_1.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/ironhoe_10.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/ironhoe_11.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/ironhoe_12.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/ironhoe_13.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/ironhoe_14.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/ironhoe_15.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/ironhoe_16.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/ironhoe_17.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/ironhoe_18.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/ironhoe_19.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/ironhoe_2.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/ironhoe_20.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/ironhoe_21.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/ironhoe_3.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/ironhoe_4.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/ironhoe_5.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/ironhoe_6.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/ironhoe_7.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/ironhoe_8.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/ironhoe_9.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/ironhoehead.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/ironhoehead_0.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/ironhoehead_1.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/ironhoehead_10.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/ironhoehead_11.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/ironhoehead_12.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/ironhoehead_13.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/ironhoehead_14.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/ironhoehead_15.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/ironhoehead_16.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/ironhoehead_17.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/ironhoehead_18.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/ironhoehead_19.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/ironhoehead_2.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/ironhoehead_20.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/ironhoehead_21.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/ironhoehead_3.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/ironhoehead_4.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/ironhoehead_5.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/ironhoehead_6.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/ironhoehead_7.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/ironhoehead_8.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/ironhoehead_9.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/ironshovel.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/ironshovel_0.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/ironshovel_1.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/ironshovel_10.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/ironshovel_11.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/ironshovel_12.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/ironshovel_13.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/ironshovel_14.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/ironshovel_15.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/ironshovel_16.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/ironshovel_17.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/ironshovel_18.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/ironshovel_19.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/ironshovel_2.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/ironshovel_20.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/ironshovel_21.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/ironshovel_3.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/ironshovel_4.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/ironshovel_5.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/ironshovel_6.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/ironshovel_7.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/ironshovel_8.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/ironshovel_9.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/stonetongs_hoe_default.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/stonetongs_hoe_hot.json diff --git a/1.11/To-Dos b/1.11/To-Dos index 880f1f7f..7ee499c1 100644 --- a/1.11/To-Dos +++ b/1.11/To-Dos @@ -2,9 +2,9 @@ To-Dos *** Priority *** - [ ] Create the hoe Item -- [x] Create the axe Item -- [ ] Create the shovel Item + - [ ] Create the Sword Model +- [ ] Add randomInt to anvil *** Backlog *** - [ ] Create a method which adds the types of NBT upgrades and creates a unique float instead of using magic numbers @@ -25,6 +25,8 @@ To-Dos *** Completed *** +- [x] Create the axe Item +- [x] Create the shovel Item - [x] Create the axe Model - [x] Create the shovel model - [x] Create the hoe model diff --git a/1.11/src/main/java/nmd/primal/forgecraft/CommonEvents.java b/1.11/src/main/java/nmd/primal/forgecraft/CommonEvents.java index 297e40b8..192ed4dc 100644 --- a/1.11/src/main/java/nmd/primal/forgecraft/CommonEvents.java +++ b/1.11/src/main/java/nmd/primal/forgecraft/CommonEvents.java @@ -75,6 +75,40 @@ public class CommonEvents implements ToolNBT{ } } } + if (event.crafting.getItem() == ModItems.ironshovel) { + NBTTagCompound tempTag = new NBTTagCompound(); + for (int i = 0; i < event.craftMatrix.getSizeInventory(); i++) { // Checks all the slots + + if (event.craftMatrix.getStackInSlot(i) != null) { // If there is an item + ItemStack a = event.craftMatrix.getStackInSlot(i); // Gets the item + if (a.getItem() instanceof ToolPart) { + tempTag = a.getSubCompound("tags").copy(); + event.crafting.getTagCompound().setTag("tags", tempTag); + event.crafting.getItem().updateItemStackNBT(event.crafting.getTagCompound()); + //if( getDiamondLevel(event.crafting) > 0 ){ + // event.crafting.getItem().setHarvestLevel("pickaxe", 3); + //} + } + } + } + } + if (event.crafting.getItem() == ModItems.ironhoe) { + NBTTagCompound tempTag = new NBTTagCompound(); + for (int i = 0; i < event.craftMatrix.getSizeInventory(); i++) { // Checks all the slots + + if (event.craftMatrix.getStackInSlot(i) != null) { // If there is an item + ItemStack a = event.craftMatrix.getStackInSlot(i); // Gets the item + if (a.getItem() instanceof ToolPart) { + tempTag = a.getSubCompound("tags").copy(); + event.crafting.getTagCompound().setTag("tags", tempTag); + event.crafting.getItem().updateItemStackNBT(event.crafting.getTagCompound()); + //if( getDiamondLevel(event.crafting) > 0 ){ + // event.crafting.getItem().setHarvestLevel("pickaxe", 3); + //} + } + } + } + } } } diff --git a/1.11/src/main/java/nmd/primal/forgecraft/blocks/Anvil.java b/1.11/src/main/java/nmd/primal/forgecraft/blocks/Anvil.java index fa4560d9..dc2fd69a 100644 --- a/1.11/src/main/java/nmd/primal/forgecraft/blocks/Anvil.java +++ b/1.11/src/main/java/nmd/primal/forgecraft/blocks/Anvil.java @@ -37,25 +37,25 @@ import nmd.primal.forgecraft.tiles.TileForge; public class Anvil extends CustomContainerFacing { - double[] normalMin = {0.0625,0.25,0.4375,0.625,0.8125}; + double[] normalMin = {0.0625, 0.25, 0.4375, 0.625, 0.8125}; public double getNormalMin(Integer x) { return normalMin[x]; } - double[] normalMax = {0.1875,0.375,0.5625,0.75,0.9375}; + double[] normalMax = {0.1875, 0.375, 0.5625, 0.75, 0.9375}; public double getNormalMax(Integer x) { return normalMax[x]; } - double[] reverseMin = {0.8125,0.625,0.4375,0.25,0.0625}; + double[] reverseMin = {0.8125, 0.625, 0.4375, 0.25, 0.0625}; public double getReverseMin(Integer x) { return reverseMin[x]; } - double[] reverseMax = {0.9375,0.75,0.5625,0.375,0.1875}; + double[] reverseMax = {0.9375, 0.75, 0.5625, 0.375, 0.1875}; public double getReverseMax(Integer x) { return reverseMax[x]; @@ -72,19 +72,18 @@ public class Anvil extends CustomContainerFacing { } @Override - public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, EnumFacing facing, float hitx, float hity, float hitz) - { + public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, EnumFacing facing, float hitx, float hity, float hitz) { if (!world.isRemote) { TileAnvil tile = (TileAnvil) world.getTileEntity(pos); if (tile != null) { ItemStack pItem = player.inventory.getCurrentItem(); /****************************************************************************** - Crafting Anvil Recipes + Crafting Anvil Recipes *****************************************************************************/ - if((pItem.getItem().equals(PrimalItems.STONE_GALLAGHER)) || (pItem.getItem() == ModItems.forgehammer)){ - String [] tempArray = new String[25]; - for(int i=0; i < 25 ; i++){ + if ((pItem.getItem().equals(PrimalItems.STONE_GALLAGHER)) || (pItem.getItem() == ModItems.forgehammer)) { + String[] tempArray = new String[25]; + for (int i = 0; i < 25; i++) { tempArray[i] = tile.getSlotStack(i).getItem().getRegistryName().toString(); //System.out.println(i + " || " + tempArray[i] + " || " + tile.getSlotStack(i).getItem()); @@ -92,17 +91,17 @@ public class Anvil extends CustomContainerFacing { AnvilCrafting recipe = AnvilCrafting.getRecipe(tempArray); - if(recipe != null) { - if(pItem.getItem().equals(PrimalItems.STONE_GALLAGHER)) { + if (recipe != null) { + if (pItem.getItem().equals(PrimalItems.STONE_GALLAGHER)) { pItem.damageItem(15, player); } - if(pItem.getItem().equals(ModItems.forgehammer)) { + if (pItem.getItem().equals(ModItems.forgehammer)) { pItem.damageItem(1, player); } - if(recipe.getOutput().getItem() instanceof ToolPart){ + if (recipe.getOutput().getItem() instanceof ToolPart) { - if(!tile.getSlotStack(12).getItem().equals(recipe.getOutput().getItem())) { + if (!tile.getSlotStack(12).getItem().equals(recipe.getOutput().getItem())) { ItemStack tempStack = recipe.getOutput(); tempStack.setTagCompound(new NBTTagCompound()); NBTTagCompound tags = new NBTTagCompound(); @@ -119,7 +118,7 @@ public class Anvil extends CustomContainerFacing { CommonUtils.spawnItemEntityFromWorld(world, pos, tempStack); } - if(tile.getSlotStack(12).getItem().equals(recipe.getOutput().getItem())) { + if (tile.getSlotStack(12).getItem().equals(recipe.getOutput().getItem())) { NBTTagCompound tempNBT = tile.getSlotStack(12).getSubCompound("tags"); @@ -197,11 +196,11 @@ public class Anvil extends CustomContainerFacing { /***************************************************************************** - Adding and Removing Inventory With Tongs + Adding and Removing Inventory With Tongs *****************************************************************************/ - if( (pItem.getItem() != PrimalItems.STONE_GALLAGHER) || (pItem.getItem() != ModItems.forgehammer) ) { + if ((pItem.getItem() != PrimalItems.STONE_GALLAGHER) || (pItem.getItem() != ModItems.forgehammer)) { if (state.getValue(FACING) == EnumFacing.NORTH) { int counter = 0; @@ -210,202 +209,7 @@ public class Anvil extends CustomContainerFacing { if (hitx >= this.getNormalMin(x) && hitx <= this.getNormalMax(x)) { if (hitz >= this.getNormalMin(z) && hitz <= this.getNormalMax(z)) { - if (pItem.getItem().equals(ModItems.stonetongs)) { - //System.out.println("Level 1"); - if ((pItem.getTagCompound().getInteger("type") == 6) || (pItem.getTagCompound().getInteger("type") == 7) || - (pItem.getTagCompound().getInteger("type") == 8) || - (pItem.getTagCompound().getInteger("type") == 9) || - (pItem.getTagCompound().getInteger("type") == 10) || - (pItem.getTagCompound().getInteger("type") == 0)) { - - if (!tile.getSlotStack(counter).isEmpty()) { - if (pItem.getTagCompound().getInteger("type") == 0) { - if (tile.getSlotStack(counter).getItem().equals(ModItems.ironingotballhot)) { - pItem.getTagCompound().setInteger("type", 6); - tile.setSlotStack(counter, ItemStack.EMPTY); - return true; - } - if (tile.getSlotStack(counter).getItem().equals(ModItems.ironchunkhot)) { - pItem.getTagCompound().setInteger("type", 7); - tile.setSlotStack(counter, ItemStack.EMPTY); - //System.out.println(counter); - return true; - } - - } - } - - if (tile.getSlotStack(counter).isEmpty()) { - //System.out.println("Activating"); - if (pItem.getTagCompound().getInteger("type") == 6) { - tile.setSlotStack((counter), new ItemStack(ModItems.ironingotballhot, 1)); - pItem.getTagCompound().setInteger("type", 0); - return true; - } - if (pItem.getTagCompound().getInteger("type") == 7) { - tile.setSlotStack((counter), new ItemStack(ModItems.ironchunkhot, 1)); - pItem.getTagCompound().setInteger("type", 0); - //System.out.println(counter); - return true; - } - if (pItem.getTagCompound().getInteger("type") == 8) { - ItemStack tempStack = new ItemStack (ModItems.pickaxehead, 1); - tempStack.setTagCompound(new NBTTagCompound()); - NBTTagCompound tags = pItem.getSubCompound("tags").copy(); - tempStack.getTagCompound().setTag("tags", tags); - tile.setSlotStack((counter), tempStack); - - pItem.getTagCompound().setInteger("type", 0); - pItem.getSubCompound("tags").setBoolean("hot", false); - pItem.getSubCompound("tags").setBoolean("emerald", false); - pItem.getSubCompound("tags").setInteger("diamond", 0); - pItem.getSubCompound("tags").setInteger("redstone", 0); - pItem.getSubCompound("tags").setInteger("lapis", 0); - pItem.getSubCompound("tags").setInteger("modifiers", 0); - return true; - } - if (pItem.getTagCompound().getInteger("type") == 9) { - ItemStack tempStack = new ItemStack (ModItems.ironaxehead, 1); - tempStack.setTagCompound(new NBTTagCompound()); - NBTTagCompound tags = pItem.getSubCompound("tags").copy(); - tempStack.getTagCompound().setTag("tags", tags); - tile.setSlotStack((counter), tempStack); - - pItem.getTagCompound().setInteger("type", 0); - pItem.getSubCompound("tags").setBoolean("hot", false); - pItem.getSubCompound("tags").setBoolean("emerald", false); - pItem.getSubCompound("tags").setInteger("diamond", 0); - pItem.getSubCompound("tags").setInteger("redstone", 0); - pItem.getSubCompound("tags").setInteger("lapis", 0); - pItem.getSubCompound("tags").setInteger("modifiers", 0); - return true; - } - if (pItem.getTagCompound().getInteger("type") == 10) { - ItemStack tempStack = new ItemStack (ModItems.ironshovelhead, 1); - tempStack.setTagCompound(new NBTTagCompound()); - NBTTagCompound tags = pItem.getSubCompound("tags").copy(); - tempStack.getTagCompound().setTag("tags", tags); - tile.setSlotStack((counter), tempStack); - - pItem.getTagCompound().setInteger("type", 0); - pItem.getSubCompound("tags").setBoolean("hot", false); - pItem.getSubCompound("tags").setBoolean("emerald", false); - pItem.getSubCompound("tags").setInteger("diamond", 0); - pItem.getSubCompound("tags").setInteger("redstone", 0); - pItem.getSubCompound("tags").setInteger("lapis", 0); - pItem.getSubCompound("tags").setInteger("modifiers", 0); - return true; - } - } - } - } - //System.out.println("1" + pItem); - - if (pItem.getItem().equals(Items.AIR) && player.isSneaking()) { - - if (tile.getSlotStack(counter).getItem().equals(Items.DIAMOND)) { - CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter)); - tile.setSlotStack(counter, ItemStack.EMPTY); - return true; - } - if (tile.getSlotStack(counter).getItem().equals(PrimalItems.DIAMOND_KNAPP)) { - CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter)); - tile.setSlotStack(counter, ItemStack.EMPTY); - return true; - } - if (tile.getSlotStack(counter).getItem().equals(Items.EMERALD)) { - CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter)); - tile.setSlotStack(counter, ItemStack.EMPTY); - return true; - } - if (tile.getSlotStack(counter).getItem().equals(PrimalItems.EMERALD_KNAPP)) { - CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter)); - tile.setSlotStack(counter, ItemStack.EMPTY); - return true; - } - if (tile.getSlotStack(counter).getItem().equals(Items.REDSTONE)) { - CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter)); - tile.setSlotStack(counter, ItemStack.EMPTY); - return true; - } - - if (tile.getSlotStack(counter).getItem().equals(Items.DYE) && tile.getSlotStack(counter).getItemDamage() == EnumDyeColor.BLUE.getDyeDamage()) { - CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter)); - tile.setSlotStack(counter, ItemStack.EMPTY); - return true; - } - - - if (tile.getSlotStack(counter).getItem().equals(ModItems.pickaxehead)) { - if(tile.getSlotStack(counter).getSubCompound("tags").getBoolean("hot") == false){ - CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter)); - tile.setSlotStack(counter, ItemStack.EMPTY); - return true; - } - } - if (tile.getSlotStack(counter).getItem().equals(ModItems.ironaxehead)) { - if(tile.getSlotStack(counter).getSubCompound("tags").getBoolean("hot") == false){ - CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter)); - tile.setSlotStack(counter, ItemStack.EMPTY); - return true; - } - } - if (tile.getSlotStack(counter).getItem().equals(ModItems.ironshovelhead)) { - if(tile.getSlotStack(counter).getSubCompound("tags").getBoolean("hot") == false){ - CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter)); - tile.setSlotStack(counter, ItemStack.EMPTY); - return true; - } - } - } - - if (pItem.getItem().equals(Items.DIAMOND)) { - if (tile.getSlotStack(counter).isEmpty()) { - tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1)); - pItem.shrink(1); - return true; - } - } - - if (pItem.getItem().equals(Items.EMERALD)) { - if (tile.getSlotStack(counter).isEmpty()) { - tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1)); - pItem.shrink(1); - return true; - } - } - - if (pItem.getItem().equals(PrimalItems.EMERALD_KNAPP)) { - if (tile.getSlotStack(counter).isEmpty()) { - tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1)); - pItem.shrink(1); - return true; - } - } - - if (pItem.getItem().equals(PrimalItems.DIAMOND_KNAPP)) { - if (tile.getSlotStack(counter).isEmpty()) { - tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1)); - pItem.shrink(1); - return true; - } - } - - if (pItem.getItem().equals(Items.REDSTONE)) { - if (tile.getSlotStack(counter).isEmpty()) { - tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1)); - pItem.shrink(1); - return true; - } - } - - if (pItem.getItem().equals(Items.DYE) && pItem.getItemDamage() == EnumDyeColor.BLUE.getDyeDamage()) { - if (tile.getSlotStack(counter).isEmpty()) { - tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1, pItem.getItemDamage())); - pItem.shrink(1); - return true; - } - } + return doWork(pItem, counter, tile, world, pos, player); } } counter++; @@ -419,177 +223,7 @@ public class Anvil extends CustomContainerFacing { if (hitx >= this.getReverseMin(x) && hitx <= this.getReverseMax(x)) { if (hitz >= this.getReverseMin(z) && hitz <= this.getReverseMax(z)) { - if (pItem.getItem().equals(ModItems.stonetongs)) { - if ((pItem.getTagCompound().getInteger("type") == 6) || - (pItem.getTagCompound().getInteger("type") == 7) || - (pItem.getTagCompound().getInteger("type") == 8) || - (pItem.getTagCompound().getInteger("type") == 9) || - (pItem.getTagCompound().getInteger("type") == 0)) { - - if (!tile.getSlotStack(counter).isEmpty()) { - if (pItem.getTagCompound().getInteger("type") == 0) { - if (tile.getSlotStack(counter).getItem().equals(ModItems.ironingotballhot)) { - pItem.getTagCompound().setInteger("type", 6); - tile.setSlotStack(counter, ItemStack.EMPTY); - return true; - } - if (tile.getSlotStack(counter).getItem().equals(ModItems.ironchunkhot)) { - pItem.getTagCompound().setInteger("type", 7); - tile.setSlotStack(counter, ItemStack.EMPTY); - //System.out.println(counter); - return true; - } - - } - } - - if (tile.getSlotStack(counter).isEmpty()) { - if (pItem.getTagCompound().getInteger("type") == 6) { - tile.setSlotStack((counter), new ItemStack(ModItems.ironingotballhot, 1)); - pItem.getTagCompound().setInteger("type", 0); - return true; - } - if (pItem.getTagCompound().getInteger("type") == 7) { - tile.setSlotStack((counter), new ItemStack(ModItems.ironchunkhot, 1)); - pItem.getTagCompound().setInteger("type", 0); - //System.out.println(counter); - return true; - } - if (pItem.getTagCompound().getInteger("type") == 8) { - ItemStack tempStack = new ItemStack (ModItems.pickaxehead, 1); - tempStack.setTagCompound(new NBTTagCompound()); - NBTTagCompound tags = pItem.getSubCompound("tags").copy(); - tempStack.getTagCompound().setTag("tags", tags); - tile.setSlotStack((counter), tempStack); - - pItem.getTagCompound().setInteger("type", 0); - pItem.getSubCompound("tags").setBoolean("hot", false); - pItem.getSubCompound("tags").setBoolean("emerald", false); - pItem.getSubCompound("tags").setInteger("diamond", 0); - pItem.getSubCompound("tags").setInteger("redstone", 0); - pItem.getSubCompound("tags").setInteger("lapis", 0); - pItem.getSubCompound("tags").setInteger("modifiers", 0); - return true; - } - if (pItem.getTagCompound().getInteger("type") == 9) { - ItemStack tempStack = new ItemStack (ModItems.ironaxehead, 1); - tempStack.setTagCompound(new NBTTagCompound()); - NBTTagCompound tags = pItem.getSubCompound("tags").copy(); - tempStack.getTagCompound().setTag("tags", tags); - tile.setSlotStack((counter), tempStack); - - pItem.getTagCompound().setInteger("type", 0); - pItem.getSubCompound("tags").setBoolean("hot", false); - pItem.getSubCompound("tags").setBoolean("emerald", false); - pItem.getSubCompound("tags").setInteger("diamond", 0); - pItem.getSubCompound("tags").setInteger("redstone", 0); - pItem.getSubCompound("tags").setInteger("lapis", 0); - pItem.getSubCompound("tags").setInteger("modifiers", 0); - return true; - } - } - } - } - //System.out.println("1" + pItem); - - if (pItem.getItem().equals(Items.AIR) && player.isSneaking()) { - - if (tile.getSlotStack(counter).getItem().equals(Items.DIAMOND)) { - CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter)); - tile.setSlotStack(counter, ItemStack.EMPTY); - return true; - } - if (tile.getSlotStack(counter).getItem().equals(PrimalItems.DIAMOND_KNAPP)) { - CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter)); - tile.setSlotStack(counter, ItemStack.EMPTY); - return true; - } - if (tile.getSlotStack(counter).getItem().equals(Items.EMERALD)) { - CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter)); - tile.setSlotStack(counter, ItemStack.EMPTY); - return true; - } - if (tile.getSlotStack(counter).getItem().equals(PrimalItems.EMERALD_KNAPP)) { - CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter)); - tile.setSlotStack(counter, ItemStack.EMPTY); - return true; - } - if (tile.getSlotStack(counter).getItem().equals(Items.REDSTONE)) { - CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter)); - tile.setSlotStack(counter, ItemStack.EMPTY); - return true; - } - - if (tile.getSlotStack(counter).getItem().equals(Items.DYE) && tile.getSlotStack(counter).getItemDamage() == EnumDyeColor.BLUE.getDyeDamage()) { - CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter)); - tile.setSlotStack(counter, ItemStack.EMPTY); - return true; - } - - - if (tile.getSlotStack(counter).getItem().equals(ModItems.pickaxehead)) { - if(tile.getSlotStack(counter).getSubCompound("tags").getBoolean("hot") == false){ - CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter)); - tile.setSlotStack(counter, ItemStack.EMPTY); - return true; - } - } - if (tile.getSlotStack(counter).getItem().equals(ModItems.ironaxehead)) { - if(tile.getSlotStack(counter).getSubCompound("tags").getBoolean("hot") == false){ - CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter)); - tile.setSlotStack(counter, ItemStack.EMPTY); - return true; - } - } - } - - if (pItem.getItem().equals(Items.DIAMOND)) { - if (tile.getSlotStack(counter).isEmpty()) { - tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1)); - pItem.shrink(1); - return true; - } - } - - if (pItem.getItem().equals(Items.EMERALD)) { - if (tile.getSlotStack(counter).isEmpty()) { - tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1)); - pItem.shrink(1); - return true; - } - } - - if (pItem.getItem().equals(PrimalItems.EMERALD_KNAPP)) { - if (tile.getSlotStack(counter).isEmpty()) { - tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1)); - pItem.shrink(1); - return true; - } - } - - if (pItem.getItem().equals(PrimalItems.DIAMOND_KNAPP)) { - if (tile.getSlotStack(counter).isEmpty()) { - tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1)); - pItem.shrink(1); - return true; - } - } - - if (pItem.getItem().equals(Items.REDSTONE)) { - if (tile.getSlotStack(counter).isEmpty()) { - tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1)); - pItem.shrink(1); - return true; - } - } - - if (pItem.getItem().equals(Items.DYE) && pItem.getItemDamage() == EnumDyeColor.BLUE.getDyeDamage()) { - if (tile.getSlotStack(counter).isEmpty()) { - tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1, pItem.getItemDamage())); - pItem.shrink(1); - return true; - } - } + return doWork(pItem, counter, tile, world, pos, player); } } @@ -604,177 +238,7 @@ public class Anvil extends CustomContainerFacing { if (hitx >= this.getNormalMin(x) && hitx <= this.getNormalMax(x)) { if (hitz >= this.getReverseMin(z) && hitz <= this.getReverseMax(z)) { - if (pItem.getItem().equals(ModItems.stonetongs)) { - if ((pItem.getTagCompound().getInteger("type") == 6) || - (pItem.getTagCompound().getInteger("type") == 7) || - (pItem.getTagCompound().getInteger("type") == 8) || - (pItem.getTagCompound().getInteger("type") == 9) || - (pItem.getTagCompound().getInteger("type") == 0)) { - - if (!tile.getSlotStack(counter).isEmpty()) { - if (pItem.getTagCompound().getInteger("type") == 0) { - if (tile.getSlotStack(counter).getItem().equals(ModItems.ironingotballhot)) { - pItem.getTagCompound().setInteger("type", 6); - tile.setSlotStack(counter, ItemStack.EMPTY); - return true; - } - if (tile.getSlotStack(counter).getItem().equals(ModItems.ironchunkhot)) { - pItem.getTagCompound().setInteger("type", 7); - tile.setSlotStack(counter, ItemStack.EMPTY); - //System.out.println(counter); - return true; - } - - } - } - - if (tile.getSlotStack(counter).isEmpty()) { - if (pItem.getTagCompound().getInteger("type") == 6) { - tile.setSlotStack((counter), new ItemStack(ModItems.ironingotballhot, 1)); - pItem.getTagCompound().setInteger("type", 0); - return true; - } - if (pItem.getTagCompound().getInteger("type") == 7) { - tile.setSlotStack((counter), new ItemStack(ModItems.ironchunkhot, 1)); - pItem.getTagCompound().setInteger("type", 0); - //System.out.println(counter); - return true; - } - if (pItem.getTagCompound().getInteger("type") == 8) { - ItemStack tempStack = new ItemStack (ModItems.pickaxehead, 1); - tempStack.setTagCompound(new NBTTagCompound()); - NBTTagCompound tags = pItem.getSubCompound("tags").copy(); - tempStack.getTagCompound().setTag("tags", tags); - tile.setSlotStack((counter), tempStack); - - pItem.getTagCompound().setInteger("type", 0); - pItem.getSubCompound("tags").setBoolean("hot", false); - pItem.getSubCompound("tags").setBoolean("emerald", false); - pItem.getSubCompound("tags").setInteger("diamond", 0); - pItem.getSubCompound("tags").setInteger("redstone", 0); - pItem.getSubCompound("tags").setInteger("lapis", 0); - pItem.getSubCompound("tags").setInteger("modifiers", 0); - return true; - } - if (pItem.getTagCompound().getInteger("type") == 9) { - ItemStack tempStack = new ItemStack (ModItems.ironaxehead, 1); - tempStack.setTagCompound(new NBTTagCompound()); - NBTTagCompound tags = pItem.getSubCompound("tags").copy(); - tempStack.getTagCompound().setTag("tags", tags); - tile.setSlotStack((counter), tempStack); - - pItem.getTagCompound().setInteger("type", 0); - pItem.getSubCompound("tags").setBoolean("hot", false); - pItem.getSubCompound("tags").setBoolean("emerald", false); - pItem.getSubCompound("tags").setInteger("diamond", 0); - pItem.getSubCompound("tags").setInteger("redstone", 0); - pItem.getSubCompound("tags").setInteger("lapis", 0); - pItem.getSubCompound("tags").setInteger("modifiers", 0); - return true; - } - } - } - } - //System.out.println("1" + pItem); - - if (pItem.getItem().equals(Items.AIR) && player.isSneaking()) { - - if (tile.getSlotStack(counter).getItem().equals(Items.DIAMOND)) { - CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter)); - tile.setSlotStack(counter, ItemStack.EMPTY); - return true; - } - if (tile.getSlotStack(counter).getItem().equals(PrimalItems.DIAMOND_KNAPP)) { - CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter)); - tile.setSlotStack(counter, ItemStack.EMPTY); - return true; - } - if (tile.getSlotStack(counter).getItem().equals(Items.EMERALD)) { - CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter)); - tile.setSlotStack(counter, ItemStack.EMPTY); - return true; - } - if (tile.getSlotStack(counter).getItem().equals(PrimalItems.EMERALD_KNAPP)) { - CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter)); - tile.setSlotStack(counter, ItemStack.EMPTY); - return true; - } - if (tile.getSlotStack(counter).getItem().equals(Items.REDSTONE)) { - CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter)); - tile.setSlotStack(counter, ItemStack.EMPTY); - return true; - } - - if (tile.getSlotStack(counter).getItem().equals(Items.DYE) && tile.getSlotStack(counter).getItemDamage() == EnumDyeColor.BLUE.getDyeDamage()) { - CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter)); - tile.setSlotStack(counter, ItemStack.EMPTY); - return true; - } - - - if (tile.getSlotStack(counter).getItem().equals(ModItems.pickaxehead)) { - if(tile.getSlotStack(counter).getSubCompound("tags").getBoolean("hot") == false){ - CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter)); - tile.setSlotStack(counter, ItemStack.EMPTY); - return true; - } - } - if (tile.getSlotStack(counter).getItem().equals(ModItems.ironaxehead)) { - if(tile.getSlotStack(counter).getSubCompound("tags").getBoolean("hot") == false){ - CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter)); - tile.setSlotStack(counter, ItemStack.EMPTY); - return true; - } - } - } - - if (pItem.getItem().equals(Items.DIAMOND)) { - if (tile.getSlotStack(counter).isEmpty()) { - tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1)); - pItem.shrink(1); - return true; - } - } - - if (pItem.getItem().equals(Items.EMERALD)) { - if (tile.getSlotStack(counter).isEmpty()) { - tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1)); - pItem.shrink(1); - return true; - } - } - - if (pItem.getItem().equals(PrimalItems.EMERALD_KNAPP)) { - if (tile.getSlotStack(counter).isEmpty()) { - tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1)); - pItem.shrink(1); - return true; - } - } - - if (pItem.getItem().equals(PrimalItems.DIAMOND_KNAPP)) { - if (tile.getSlotStack(counter).isEmpty()) { - tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1)); - pItem.shrink(1); - return true; - } - } - - if (pItem.getItem().equals(Items.REDSTONE)) { - if (tile.getSlotStack(counter).isEmpty()) { - tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1)); - pItem.shrink(1); - return true; - } - } - - if (pItem.getItem().equals(Items.DYE) && pItem.getItemDamage() == EnumDyeColor.BLUE.getDyeDamage()) { - if (tile.getSlotStack(counter).isEmpty()) { - tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1, pItem.getItemDamage())); - pItem.shrink(1); - return true; - } - } + return doWork(pItem, counter, tile, world, pos, player); } } @@ -789,177 +253,7 @@ public class Anvil extends CustomContainerFacing { if (hitx >= this.getReverseMin(x) && hitx <= this.getReverseMax(x)) { if (hitz >= this.getNormalMin(z) && hitz <= this.getNormalMax(z)) { - if (pItem.getItem().equals(ModItems.stonetongs)) { - if ((pItem.getTagCompound().getInteger("type") == 6) || - (pItem.getTagCompound().getInteger("type") == 7) || - (pItem.getTagCompound().getInteger("type") == 8) || - (pItem.getTagCompound().getInteger("type") == 9) || - (pItem.getTagCompound().getInteger("type") == 0)) { - - if (!tile.getSlotStack(counter).isEmpty()) { - if (pItem.getTagCompound().getInteger("type") == 0) { - if (tile.getSlotStack(counter).getItem().equals(ModItems.ironingotballhot)) { - pItem.getTagCompound().setInteger("type", 6); - tile.setSlotStack(counter, ItemStack.EMPTY); - return true; - } - if (tile.getSlotStack(counter).getItem().equals(ModItems.ironchunkhot)) { - pItem.getTagCompound().setInteger("type", 7); - tile.setSlotStack(counter, ItemStack.EMPTY); - //System.out.println(counter); - return true; - } - - } - } - - if (tile.getSlotStack(counter).isEmpty()) { - if (pItem.getTagCompound().getInteger("type") == 6) { - tile.setSlotStack((counter), new ItemStack(ModItems.ironingotballhot, 1)); - pItem.getTagCompound().setInteger("type", 0); - return true; - } - if (pItem.getTagCompound().getInteger("type") == 7) { - tile.setSlotStack((counter), new ItemStack(ModItems.ironchunkhot, 1)); - pItem.getTagCompound().setInteger("type", 0); - //System.out.println(counter); - return true; - } - if (pItem.getTagCompound().getInteger("type") == 8) { - ItemStack tempStack = new ItemStack (ModItems.pickaxehead, 1); - tempStack.setTagCompound(new NBTTagCompound()); - NBTTagCompound tags = pItem.getSubCompound("tags").copy(); - tempStack.getTagCompound().setTag("tags", tags); - tile.setSlotStack((counter), tempStack); - - pItem.getTagCompound().setInteger("type", 0); - pItem.getSubCompound("tags").setBoolean("hot", false); - pItem.getSubCompound("tags").setBoolean("emerald", false); - pItem.getSubCompound("tags").setInteger("diamond", 0); - pItem.getSubCompound("tags").setInteger("redstone", 0); - pItem.getSubCompound("tags").setInteger("lapis", 0); - pItem.getSubCompound("tags").setInteger("modifiers", 0); - return true; - } - if (pItem.getTagCompound().getInteger("type") == 9) { - ItemStack tempStack = new ItemStack (ModItems.ironaxehead, 1); - tempStack.setTagCompound(new NBTTagCompound()); - NBTTagCompound tags = pItem.getSubCompound("tags").copy(); - tempStack.getTagCompound().setTag("tags", tags); - tile.setSlotStack((counter), tempStack); - - pItem.getTagCompound().setInteger("type", 0); - pItem.getSubCompound("tags").setBoolean("hot", false); - pItem.getSubCompound("tags").setBoolean("emerald", false); - pItem.getSubCompound("tags").setInteger("diamond", 0); - pItem.getSubCompound("tags").setInteger("redstone", 0); - pItem.getSubCompound("tags").setInteger("lapis", 0); - pItem.getSubCompound("tags").setInteger("modifiers", 0); - return true; - } - } - } - } - //System.out.println("1" + pItem); - - if (pItem.getItem().equals(Items.AIR) && player.isSneaking()) { - - if (tile.getSlotStack(counter).getItem().equals(Items.DIAMOND)) { - CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter)); - tile.setSlotStack(counter, ItemStack.EMPTY); - return true; - } - if (tile.getSlotStack(counter).getItem().equals(PrimalItems.DIAMOND_KNAPP)) { - CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter)); - tile.setSlotStack(counter, ItemStack.EMPTY); - return true; - } - if (tile.getSlotStack(counter).getItem().equals(Items.EMERALD)) { - CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter)); - tile.setSlotStack(counter, ItemStack.EMPTY); - return true; - } - if (tile.getSlotStack(counter).getItem().equals(PrimalItems.EMERALD_KNAPP)) { - CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter)); - tile.setSlotStack(counter, ItemStack.EMPTY); - return true; - } - if (tile.getSlotStack(counter).getItem().equals(Items.REDSTONE)) { - CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter)); - tile.setSlotStack(counter, ItemStack.EMPTY); - return true; - } - - if (tile.getSlotStack(counter).getItem().equals(Items.DYE) && tile.getSlotStack(counter).getItemDamage() == EnumDyeColor.BLUE.getDyeDamage()) { - CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter)); - tile.setSlotStack(counter, ItemStack.EMPTY); - return true; - } - - - if (tile.getSlotStack(counter).getItem().equals(ModItems.pickaxehead)) { - if(tile.getSlotStack(counter).getSubCompound("tags").getBoolean("hot") == false){ - CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter)); - tile.setSlotStack(counter, ItemStack.EMPTY); - return true; - } - } - if (tile.getSlotStack(counter).getItem().equals(ModItems.ironaxehead)) { - if(tile.getSlotStack(counter).getSubCompound("tags").getBoolean("hot") == false){ - CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter)); - tile.setSlotStack(counter, ItemStack.EMPTY); - return true; - } - } - } - - if (pItem.getItem().equals(Items.DIAMOND)) { - if (tile.getSlotStack(counter).isEmpty()) { - tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1)); - pItem.shrink(1); - return true; - } - } - - if (pItem.getItem().equals(Items.EMERALD)) { - if (tile.getSlotStack(counter).isEmpty()) { - tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1)); - pItem.shrink(1); - return true; - } - } - - if (pItem.getItem().equals(PrimalItems.EMERALD_KNAPP)) { - if (tile.getSlotStack(counter).isEmpty()) { - tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1)); - pItem.shrink(1); - return true; - } - } - - if (pItem.getItem().equals(PrimalItems.DIAMOND_KNAPP)) { - if (tile.getSlotStack(counter).isEmpty()) { - tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1)); - pItem.shrink(1); - return true; - } - } - - if (pItem.getItem().equals(Items.REDSTONE)) { - if (tile.getSlotStack(counter).isEmpty()) { - tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1)); - pItem.shrink(1); - return true; - } - } - - if (pItem.getItem().equals(Items.DYE) && pItem.getItemDamage() == EnumDyeColor.BLUE.getDyeDamage()) { - if (tile.getSlotStack(counter).isEmpty()) { - tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1, pItem.getItemDamage())); - pItem.shrink(1); - return true; - } - } + return doWork(pItem, counter, tile, world, pos, player); } } @@ -975,6 +269,232 @@ public class Anvil extends CustomContainerFacing { return false; } + private boolean doWork(ItemStack pItem, Integer counter, TileAnvil tile, World world, BlockPos pos, EntityPlayer player) { + if (pItem.getItem().equals(ModItems.stonetongs)) { + //System.out.println("Level 1"); + if ((pItem.getTagCompound().getInteger("type") == 6) || (pItem.getTagCompound().getInteger("type") == 7) || + (pItem.getTagCompound().getInteger("type") == 8) || + (pItem.getTagCompound().getInteger("type") == 9) || + (pItem.getTagCompound().getInteger("type") == 10) || + (pItem.getTagCompound().getInteger("type") == 11) || + (pItem.getTagCompound().getInteger("type") == 0)) { + + if (!tile.getSlotStack(counter).isEmpty()) { + if (pItem.getTagCompound().getInteger("type") == 0) { + if (tile.getSlotStack(counter).getItem().equals(ModItems.ironingotballhot)) { + pItem.getTagCompound().setInteger("type", 6); + tile.setSlotStack(counter, ItemStack.EMPTY); + return true; + } + if (tile.getSlotStack(counter).getItem().equals(ModItems.ironchunkhot)) { + pItem.getTagCompound().setInteger("type", 7); + tile.setSlotStack(counter, ItemStack.EMPTY); + //System.out.println(counter); + return true; + } + + } + } + + if (tile.getSlotStack(counter).isEmpty()) { + //System.out.println("Activating"); + if (pItem.getTagCompound().getInteger("type") == 6) { + tile.setSlotStack((counter), new ItemStack(ModItems.ironingotballhot, 1)); + pItem.getTagCompound().setInteger("type", 0); + return true; + } + if (pItem.getTagCompound().getInteger("type") == 7) { + tile.setSlotStack((counter), new ItemStack(ModItems.ironchunkhot, 1)); + pItem.getTagCompound().setInteger("type", 0); + //System.out.println(counter); + return true; + } + if (pItem.getTagCompound().getInteger("type") == 8) { + ItemStack tempStack = new ItemStack(ModItems.pickaxehead, 1); + tempStack.setTagCompound(new NBTTagCompound()); + NBTTagCompound tags = pItem.getSubCompound("tags").copy(); + tempStack.getTagCompound().setTag("tags", tags); + tile.setSlotStack((counter), tempStack); + + pItem.getTagCompound().setInteger("type", 0); + pItem.getSubCompound("tags").setBoolean("hot", false); + pItem.getSubCompound("tags").setBoolean("emerald", false); + pItem.getSubCompound("tags").setInteger("diamond", 0); + pItem.getSubCompound("tags").setInteger("redstone", 0); + pItem.getSubCompound("tags").setInteger("lapis", 0); + pItem.getSubCompound("tags").setInteger("modifiers", 0); + return true; + } + if (pItem.getTagCompound().getInteger("type") == 9) { + ItemStack tempStack = new ItemStack(ModItems.ironaxehead, 1); + tempStack.setTagCompound(new NBTTagCompound()); + NBTTagCompound tags = pItem.getSubCompound("tags").copy(); + tempStack.getTagCompound().setTag("tags", tags); + tile.setSlotStack((counter), tempStack); + + pItem.getTagCompound().setInteger("type", 0); + pItem.getSubCompound("tags").setBoolean("hot", false); + pItem.getSubCompound("tags").setBoolean("emerald", false); + pItem.getSubCompound("tags").setInteger("diamond", 0); + pItem.getSubCompound("tags").setInteger("redstone", 0); + pItem.getSubCompound("tags").setInteger("lapis", 0); + pItem.getSubCompound("tags").setInteger("modifiers", 0); + return true; + } + if (pItem.getTagCompound().getInteger("type") == 10) { + ItemStack tempStack = new ItemStack(ModItems.ironshovelhead, 1); + tempStack.setTagCompound(new NBTTagCompound()); + NBTTagCompound tags = pItem.getSubCompound("tags").copy(); + tempStack.getTagCompound().setTag("tags", tags); + tile.setSlotStack((counter), tempStack); + + pItem.getTagCompound().setInteger("type", 0); + pItem.getSubCompound("tags").setBoolean("hot", false); + pItem.getSubCompound("tags").setBoolean("emerald", false); + pItem.getSubCompound("tags").setInteger("diamond", 0); + pItem.getSubCompound("tags").setInteger("redstone", 0); + pItem.getSubCompound("tags").setInteger("lapis", 0); + pItem.getSubCompound("tags").setInteger("modifiers", 0); + return true; + } + if (pItem.getTagCompound().getInteger("type") == 11) { + ItemStack tempStack = new ItemStack(ModItems.ironhoehead, 1); + tempStack.setTagCompound(new NBTTagCompound()); + NBTTagCompound tags = pItem.getSubCompound("tags").copy(); + tempStack.getTagCompound().setTag("tags", tags); + tile.setSlotStack((counter), tempStack); + + pItem.getTagCompound().setInteger("type", 0); + pItem.getSubCompound("tags").setBoolean("hot", false); + pItem.getSubCompound("tags").setBoolean("emerald", false); + pItem.getSubCompound("tags").setInteger("diamond", 0); + pItem.getSubCompound("tags").setInteger("redstone", 0); + pItem.getSubCompound("tags").setInteger("lapis", 0); + pItem.getSubCompound("tags").setInteger("modifiers", 0); + return true; + } + } + } + } + //System.out.println("1" + pItem); + + if (pItem.getItem().equals(Items.AIR) && player.isSneaking()) { + + if (tile.getSlotStack(counter).getItem().equals(Items.DIAMOND)) { + CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter)); + tile.setSlotStack(counter, ItemStack.EMPTY); + return true; + } + if (tile.getSlotStack(counter).getItem().equals(PrimalItems.DIAMOND_KNAPP)) { + CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter)); + tile.setSlotStack(counter, ItemStack.EMPTY); + return true; + } + if (tile.getSlotStack(counter).getItem().equals(Items.EMERALD)) { + CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter)); + tile.setSlotStack(counter, ItemStack.EMPTY); + return true; + } + if (tile.getSlotStack(counter).getItem().equals(PrimalItems.EMERALD_KNAPP)) { + CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter)); + tile.setSlotStack(counter, ItemStack.EMPTY); + return true; + } + if (tile.getSlotStack(counter).getItem().equals(Items.REDSTONE)) { + CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter)); + tile.setSlotStack(counter, ItemStack.EMPTY); + return true; + } + + if (tile.getSlotStack(counter).getItem().equals(Items.DYE) && tile.getSlotStack(counter).getItemDamage() == EnumDyeColor.BLUE.getDyeDamage()) { + CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter)); + tile.setSlotStack(counter, ItemStack.EMPTY); + return true; + } + + + if (tile.getSlotStack(counter).getItem().equals(ModItems.pickaxehead)) { + if (tile.getSlotStack(counter).getSubCompound("tags").getBoolean("hot") == false) { + CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter)); + tile.setSlotStack(counter, ItemStack.EMPTY); + return true; + } + } + if (tile.getSlotStack(counter).getItem().equals(ModItems.ironaxehead)) { + if (tile.getSlotStack(counter).getSubCompound("tags").getBoolean("hot") == false) { + CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter)); + tile.setSlotStack(counter, ItemStack.EMPTY); + return true; + } + } + if (tile.getSlotStack(counter).getItem().equals(ModItems.ironshovelhead)) { + if (tile.getSlotStack(counter).getSubCompound("tags").getBoolean("hot") == false) { + CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter)); + tile.setSlotStack(counter, ItemStack.EMPTY); + return true; + } + } + if (tile.getSlotStack(counter).getItem().equals(ModItems.ironhoehead)) { + if (tile.getSlotStack(counter).getSubCompound("tags").getBoolean("hot") == false) { + CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter)); + tile.setSlotStack(counter, ItemStack.EMPTY); + return true; + } + } + } + + if (pItem.getItem().equals(Items.DIAMOND)) { + if (tile.getSlotStack(counter).isEmpty()) { + tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1)); + pItem.shrink(1); + return true; + } + } + + if (pItem.getItem().equals(Items.EMERALD)) { + if (tile.getSlotStack(counter).isEmpty()) { + tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1)); + pItem.shrink(1); + return true; + } + } + + if (pItem.getItem().equals(PrimalItems.EMERALD_KNAPP)) { + if (tile.getSlotStack(counter).isEmpty()) { + tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1)); + pItem.shrink(1); + return true; + } + } + + if (pItem.getItem().equals(PrimalItems.DIAMOND_KNAPP)) { + if (tile.getSlotStack(counter).isEmpty()) { + tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1)); + pItem.shrink(1); + return true; + } + } + + if (pItem.getItem().equals(Items.REDSTONE)) { + if (tile.getSlotStack(counter).isEmpty()) { + tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1)); + pItem.shrink(1); + return true; + } + } + + if (pItem.getItem().equals(Items.DYE) && pItem.getItemDamage() == EnumDyeColor.BLUE.getDyeDamage()) { + if (tile.getSlotStack(counter).isEmpty()) { + tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1, pItem.getItemDamage())); + pItem.shrink(1); + return true; + } + } + return false; + } + + + @Override public void breakBlock(World world, BlockPos pos, IBlockState state) { diff --git a/1.11/src/main/java/nmd/primal/forgecraft/init/ModCrafting.java b/1.11/src/main/java/nmd/primal/forgecraft/init/ModCrafting.java index 5ed3085f..76bf5648 100644 --- a/1.11/src/main/java/nmd/primal/forgecraft/init/ModCrafting.java +++ b/1.11/src/main/java/nmd/primal/forgecraft/init/ModCrafting.java @@ -78,6 +78,14 @@ public class ModCrafting { GameRegistry.addShapedRecipe(new ItemStack(ModItems.ironaxe, 1), " X ", " Y ", 'X', ModItems.ironaxehead, 'Y', Items.STICK); + /***Shovel Crafting***/ + GameRegistry.addShapedRecipe(new ItemStack(ModItems.ironshovel, 1), + " X ", " Y ", 'X', ModItems.ironshovelhead, 'Y', Items.STICK); + + /***Hoe Crafting***/ + GameRegistry.addShapedRecipe(new ItemStack(ModItems.ironhoe, 1), + " X ", " Y ", 'X', ModItems.ironhoehead, 'Y', Items.STICK); + /***Bloomery Crafting***/ //Makes the Empty Crucible @@ -200,6 +208,16 @@ public class ModCrafting { 1.0f, 1.0f ); + //Makes a Hot HoeHead + ForgeCrafting.addRecipe( + ModItems.ironhoehead, + new ItemStack(ModItems.ironhoehead, 1 ), + 800, + 160, + 400, + 1.0f, + 1.0f + ); /****************************************************************************** @@ -219,6 +237,7 @@ public class ModCrafting { String pickaxehead = ModItems.pickaxehead.getRegistryName().toString(); String ironaxehead = ModItems.ironaxehead.getRegistryName().toString(); String ironshovelhead = ModItems.ironshovelhead.getRegistryName().toString(); + String ironhoehead = ModItems.ironhoehead.getRegistryName().toString(); /* Empty = 0 @@ -442,6 +461,66 @@ public class ModCrafting { "lapis" ); + /*** Hoe Head ***/ + AnvilCrafting.addRecipe( + new String[] { + empty,empty,empty,hotChunk,hotChunk, + empty,empty,hotChunk,empty,empty, + empty,hotChunk,empty,empty,empty, + hotChunk,empty,empty,empty,empty, + empty,empty,empty,empty,empty }, + new ItemStack(ModItems.ironhoehead, 1), + "null" + ); + + /*** Emerald Upgrade to Hoe Head ***/ + AnvilCrafting.addRecipe( + new String[] { + empty,empty,empty,empty,empty, + empty,empty,emeraldShard,empty,empty, + empty,empty,ironhoehead,empty,empty, + empty,empty,empty,empty,empty, + empty,empty,empty,empty,empty }, + new ItemStack(ModItems.ironhoehead, 1), + "emerald" + ); + + /*** Diamond Upgrade to Hoe Head ***/ + AnvilCrafting.addRecipe( + new String[] { + empty,empty,empty,empty,empty, + empty,empty,diamondShard,empty,empty, + empty,empty,ironhoehead,empty,empty, + empty,empty,empty,empty,empty, + empty,empty,empty,empty,empty }, + new ItemStack(ModItems.ironhoehead, 1), + "diamond" + ); + + /*** Redstone Upgrade to Hoe Head ***/ + AnvilCrafting.addRecipe( + new String[] { + empty,empty,empty,empty,empty, + empty,empty,redstone,empty,empty, + empty,empty,ironhoehead,empty,empty, + empty,empty,empty,empty,empty, + empty,empty,empty,empty,empty }, + new ItemStack(ModItems.ironhoehead, 1), + "redstone" + ); + + /*** Lapis Upgrade to Hoe Head ***/ + AnvilCrafting.addRecipe( + new String[] { + empty,empty,empty,empty,empty, + empty,empty,lapis,empty,empty, + empty,empty,ironhoehead,empty,empty, + empty,empty,empty,empty,empty, + empty,empty,empty,empty,empty }, + new ItemStack(ModItems.ironhoehead, 1), + "lapis" + ); + } } diff --git a/1.11/src/main/java/nmd/primal/forgecraft/init/ModItems.java b/1.11/src/main/java/nmd/primal/forgecraft/init/ModItems.java index 47f6c455..d66fabc6 100644 --- a/1.11/src/main/java/nmd/primal/forgecraft/init/ModItems.java +++ b/1.11/src/main/java/nmd/primal/forgecraft/init/ModItems.java @@ -25,7 +25,9 @@ import nmd.primal.forgecraft.blocks.IngotBall; import nmd.primal.forgecraft.items.*; import nmd.primal.forgecraft.items.toolparts.ToolPart; import nmd.primal.forgecraft.items.tools.CustomAxe; +import nmd.primal.forgecraft.items.tools.CustomHoe; import nmd.primal.forgecraft.items.tools.CustomPickaxe; +import nmd.primal.forgecraft.items.tools.CustomShovel; /** * Created by kitsu on 11/26/2016. @@ -43,9 +45,12 @@ public class ModItems { public static Item pickaxehead; public static Item ironaxehead; public static Item ironshovelhead; + public static Item ironhoehead; public static Item ironpickaxe; public static Item ironaxe; + public static Item ironshovel; + public static Item ironhoe; //public static Item forgingmanual; @@ -58,10 +63,12 @@ public class ModItems { pickaxehead = new ToolPart("ironpickaxehead"); ironaxehead = new ToolPart("ironaxehead"); ironshovelhead = new ToolPart("ironshovelhead"); + ironhoehead = new ToolPart("ironhoehead"); ironpickaxe = new CustomPickaxe("ironpickaxe", Item.ToolMaterial.IRON); ironaxe = new CustomAxe("ironaxe", Item.ToolMaterial.IRON); - + ironshovel = new CustomShovel("ironshovel", Item.ToolMaterial.IRON); + ironhoe = new CustomHoe("ironhoe", Item.ToolMaterial.IRON); //ironingotballcool = new BaseMultiItem("ironingotcool") {}; //test = new ItemTest(); @@ -114,10 +121,12 @@ public class ModItems { GameRegistry.register(pickaxehead); GameRegistry.register(ironaxehead); GameRegistry.register(ironshovelhead); - + GameRegistry.register(ironhoehead); GameRegistry.register(ironpickaxe); GameRegistry.register(ironaxe); + GameRegistry.register(ironshovel); + GameRegistry.register(ironhoe); //GameRegistry.register(forgingmanual); } @@ -133,9 +142,12 @@ public class ModItems { registerRender(pickaxehead); registerRender(ironaxehead); registerRender(ironshovelhead); + registerRender(ironhoehead); registerRender(ironpickaxe); registerRender(ironaxe); + registerRender(ironshovel); + registerRender(ironhoe); //registerRender(forgingmanual); } @@ -153,7 +165,8 @@ public class ModItems { new ResourceLocation(ModInfo.MOD_ID, "stonetongs_chunk"), new ResourceLocation(ModInfo.MOD_ID, "stonetongs_pickaxe_hot"), new ResourceLocation(ModInfo.MOD_ID, "stonetongs_axe_hot"), - new ResourceLocation(ModInfo.MOD_ID, "stonetongs_shovel_hot") + new ResourceLocation(ModInfo.MOD_ID, "stonetongs_shovel_hot"), + new ResourceLocation(ModInfo.MOD_ID, "stonetongs_hoe_hot") ); ModelLoader.setCustomMeshDefinition(ModItems.stonetongs, new ItemMeshDefinition() { @@ -193,6 +206,9 @@ public class ModItems { else if (stack.getTagCompound().getInteger("type") == 10 ) { return new ModelResourceLocation(stack.getItem().getRegistryName() + "_shovel_hot", "inventory"); } + else if (stack.getTagCompound().getInteger("type") == 11 ) { + return new ModelResourceLocation(stack.getItem().getRegistryName() + "_hoe_hot", "inventory"); + } else return new ModelResourceLocation(stack.getItem().getRegistryName(), "inventory"); } return new ModelResourceLocation(stack.getItem().getRegistryName(), "inventory"); diff --git a/1.11/src/main/java/nmd/primal/forgecraft/items/ItemStoneTongs.java b/1.11/src/main/java/nmd/primal/forgecraft/items/ItemStoneTongs.java index 82fa38a8..73d4f877 100644 --- a/1.11/src/main/java/nmd/primal/forgecraft/items/ItemStoneTongs.java +++ b/1.11/src/main/java/nmd/primal/forgecraft/items/ItemStoneTongs.java @@ -292,6 +292,16 @@ public class ItemStoneTongs extends Item { return EnumActionResult.SUCCESS; } } + if (tile.getSlotStack(i).getItem().equals(ModItems.ironhoehead)) { + if(tile.getSlotStack(i).getSubCompound("tags").getBoolean("hot") == true) { + itemstack.getTagCompound().setInteger("type", 11); + NBTTagCompound tags = tile.getSlotStack(i).getSubCompound("tags").copy(); + itemstack.getTagCompound().setTag("tags", tags); + //itemstack.getSubCompound("tags").setBoolean("hot", true); + tile.setSlotStack(i, ItemStack.EMPTY); + return EnumActionResult.SUCCESS; + } + } } } } diff --git a/1.11/src/main/java/nmd/primal/forgecraft/items/tools/CustomHoe.java b/1.11/src/main/java/nmd/primal/forgecraft/items/tools/CustomHoe.java new file mode 100644 index 00000000..4ed12f3c --- /dev/null +++ b/1.11/src/main/java/nmd/primal/forgecraft/items/tools/CustomHoe.java @@ -0,0 +1,353 @@ +package nmd.primal.forgecraft.items.tools; + +import com.mojang.realmsclient.gui.ChatFormatting; +import net.minecraft.block.state.IBlockState; +import net.minecraft.enchantment.Enchantment; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.IItemPropertyGetter; +import net.minecraft.item.Item; +import net.minecraft.item.ItemHoe; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.ResourceLocation; +import net.minecraft.util.math.BlockPos; +import net.minecraft.world.World; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; +import nmd.primal.forgecraft.ModInfo; +import nmd.primal.forgecraft.ToolNBT; + +import javax.annotation.Nullable; +import java.util.List; + +/** + * Created by mminaie on 3/21/17. + */ +public class CustomHoe extends ItemHoe implements ToolNBT { + + public CustomHoe(String name, Item.ToolMaterial material) { + super(material); + this.setUnlocalizedName(name); + this.setRegistryName(name); + this.setCreativeTab(ModInfo.TAB_FORGECRAFT); + this.setMaxStackSize(1); + this.setNoRepair(); + + this.addPropertyOverride(new ResourceLocation("type"), new IItemPropertyGetter() { + + /*** + + hot . emerald . diamond . redstone . lapis + 0 . 0 . 0 . 0 . 0 + + ***/ + + @SideOnly(Side.CLIENT) + public float apply(ItemStack item, @Nullable World worldIn, @Nullable EntityLivingBase entityIn) { + if (item.hasTagCompound()) { + + if (getHot(item) == false) { + if (getModifiers(item) != 0) { + if ( (getEmerald(item) == true) && + (getDiamondLevel(item) == 0) && + (getRedstoneLevel(item) == 0) && + (getLapisLevel(item) == 0)) { + return 0.1F; + } + + if ( (getEmerald(item) == true) && + (getDiamondLevel(item) == 1) && + (getRedstoneLevel(item) == 0) && + (getLapisLevel(item) == 0)) { + return 0.11F; + } + + if ( (getEmerald(item) == true) && + (getDiamondLevel(item) == 2) && + (getRedstoneLevel(item) == 0) && + (getLapisLevel(item) == 0)) { + return 0.12F; + } + + if ( (getEmerald(item) == true) && + (getDiamondLevel(item) == 1) && + (getRedstoneLevel(item) == 1) && + (getLapisLevel(item) == 0)) { + return 0.111F; + } + + if ( (getEmerald(item) == true) && + (getDiamondLevel(item) == 0) && + (getRedstoneLevel(item) == 2) && + (getLapisLevel(item) == 0)) { + return 0.102F; + } + + // ============ + + if ( (getEmerald(item) == false) && + (getDiamondLevel(item) == 1) && + (getRedstoneLevel(item) == 0) && + (getLapisLevel(item) == 0)) { + return 0.01F; + } + + if ( (getEmerald(item) == false) && + (getDiamondLevel(item) == 2) && + (getRedstoneLevel(item) == 0) && + (getLapisLevel(item) == 0)) { + return 0.02F; + } + + if ( (getEmerald(item) == false) && + (getDiamondLevel(item) == 3) && + (getRedstoneLevel(item) == 0) && + (getLapisLevel(item) == 0)) { + return 0.03F; + } + + //======= + + if ( (getEmerald(item) == false) && + (getDiamondLevel(item) == 0) && + (getRedstoneLevel(item) == 1) && + (getLapisLevel(item) == 0)) { + return 0.001F; + } + + if ( (getEmerald(item) == false) && + (getDiamondLevel(item) == 0) && + (getRedstoneLevel(item) == 2) && + (getLapisLevel(item) == 0)) { + return 0.002F; + } + + if ( (getEmerald(item) == false) && + (getDiamondLevel(item) == 0) && + (getRedstoneLevel(item) == 3) && + (getLapisLevel(item) == 0)) { + return 0.003F; + } + + //========= + + if ( (getEmerald(item) == false) && + (getDiamondLevel(item) == 0) && + (getRedstoneLevel(item) == 0) && + (getLapisLevel(item) == 1)) { + return 0.0001F; + } + + if ( (getEmerald(item) == false) && + (getDiamondLevel(item) == 0) && + (getRedstoneLevel(item) == 0) && + (getLapisLevel(item) == 2)) { + return 0.0002F; + } + + if ( (getEmerald(item) == false) && + (getDiamondLevel(item) == 0) && + (getRedstoneLevel(item) == 0) && + (getLapisLevel(item) == 3)) { + return 0.0003F; + } + + //======= + + if ( (getEmerald(item) == false) && + (getDiamondLevel(item) == 1) && + (getRedstoneLevel(item) == 1) && + (getLapisLevel(item) == 1)) { + return 0.0111F; + } + + if ( (getEmerald(item) == false) && + (getDiamondLevel(item) == 2) && + (getRedstoneLevel(item) == 1) && + (getLapisLevel(item) == 0)) { + return 0.021F; + } + + if ( (getEmerald(item) == false) && + (getDiamondLevel(item) == 1) && + (getRedstoneLevel(item) == 2) && + (getLapisLevel(item) == 0)) { + return 0.012F; + } + + if ( (getEmerald(item) == false) && + (getDiamondLevel(item) == 0) && + (getRedstoneLevel(item) == 1) && + (getLapisLevel(item) == 2)) { + return 0.0012F; + } + + if ( (getEmerald(item) == false) && + (getDiamondLevel(item) == 0) && + (getRedstoneLevel(item) == 2) && + (getLapisLevel(item) == 1)) { + return 0.0021F; + } + + if ( (getEmerald(item) == false) && + (getDiamondLevel(item) == 1) && + (getRedstoneLevel(item) == 0) && + (getLapisLevel(item) == 2) ) { + return 0.0102F; + } + } + } + if (getHot(item) == true) { + return 1.0F; + } + + if (getHot(item) == false) { + if (item.getSubCompound("tags").getInteger("modifiers") == 0) { + return 0.0F; + } + } + } + return 0.0F; + } + }); + } + + public static boolean isHidden() + { + return false; + } + + @Override + public void onCreated(ItemStack item, World world, EntityPlayer playerIn) { + + if(!world.isRemote) { + if (!item.hasTagCompound()) { + item.setTagCompound(new NBTTagCompound()); + NBTTagCompound tags = new NBTTagCompound(); + + item.getTagCompound().setTag("tags", tags); + + /*setHot(item, false); + + setHot(item, false); + setEmerald(item, false); + setDiamondLevel(item, 0); + setRedstoneLevel(item, 0); + setLapisLevel(item, 0); + setModifiers(item, 0);*/ + } + } + + } + + @Override + public void onUpdate(ItemStack item, World world, Entity player, int itemSlot, boolean isSelected) { + if(!world.isRemote) { + if (!item.hasTagCompound()) { + item.setTagCompound(new NBTTagCompound()); + NBTTagCompound tags = new NBTTagCompound(); + + item.getTagCompound().setTag("tags", tags); + + setHot(item, false); + setEmerald(item, false); + setDiamondLevel(item, 0); + setRedstoneLevel(item, 0); + setLapisLevel(item, 0); + setModifiers(item, 0); + + } + } + } + + //public void onItemTooltip(ItemTooltipEvent event){ + + @Override + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack item, EntityPlayer player, List tooltip, boolean advanced) + { + if(player.getEntityWorld().isRemote) { + + if(item.hasTagCompound()) { + + tooltip.add(ChatFormatting.GRAY + "Upgrades Left: " + (3 - getModifiers(item)) ); + if (item.getSubCompound("tags").getBoolean("emerald") == true) { + tooltip.add(ChatFormatting.DARK_GREEN + "Emerald"); + } + if (item.getSubCompound("tags").getInteger("diamond") > 0) { + tooltip.add(ChatFormatting.AQUA + "Diamond Level: " + getDiamondLevel(item)); + } + if (item.getSubCompound("tags").getInteger("redstone") > 0) { + tooltip.add(ChatFormatting.RED + "Redstone Level: " + getRedstoneLevel(item) ); + } + if (item.getSubCompound("tags").getInteger("lapis") > 0) { + tooltip.add(ChatFormatting.BLUE + "Lapis Level: " + getLapisLevel(item) ); + } + } + } + + + } + + @Override + public boolean onBlockStartBreak(ItemStack itemstack, BlockPos pos, EntityPlayer player) + { + if(!player.world.isRemote){ + World world = player.getEntityWorld(); + System.out.println(world.getBlockState(pos).getBlock()); + if(itemstack.getItem() instanceof CustomPickaxe){ + if( getEmerald(itemstack)){ + itemstack.addEnchantment(Enchantment.getEnchantmentByID(33), 1); + } + if( getDiamondLevel(itemstack) > 0 ){ + itemstack.addEnchantment(Enchantment.getEnchantmentByID(34), getDiamondLevel(itemstack)); + itemstack.getItem().setHarvestLevel("hoe", 3); + } + if( getRedstoneLevel(itemstack) > 0 ){ + itemstack.addEnchantment(Enchantment.getEnchantmentByID(32), getRedstoneLevel(itemstack)); + } + if ( getLapisLevel(itemstack) > 0) { + itemstack.addEnchantment(Enchantment.getEnchantmentByID(35), getLapisLevel(itemstack)); + } + } + } + + return false; + } + + @Override + public boolean onBlockDestroyed(ItemStack stack, World worldIn, IBlockState state, BlockPos pos, EntityLivingBase entityLiving) + { + if (!worldIn.isRemote && (double)state.getBlockHardness(worldIn, pos) != 0.0D) + { + + stack.getTagCompound().removeTag("ench"); + //System.out.println(stack.getTagCompound()); + + stack.damageItem(1, entityLiving); + } + + return true; + } + + @SideOnly(Side.CLIENT) + @Override + public boolean hasEffect(ItemStack stack) + { + return false; + } + + @Override + public boolean isRepairable() + { + return false; + } + + public int getItemEnchantability(ItemStack stack) + { + return 0; + } + +} diff --git a/1.11/src/main/java/nmd/primal/forgecraft/items/tools/CustomShovel.java b/1.11/src/main/java/nmd/primal/forgecraft/items/tools/CustomShovel.java new file mode 100644 index 00000000..8168c10c --- /dev/null +++ b/1.11/src/main/java/nmd/primal/forgecraft/items/tools/CustomShovel.java @@ -0,0 +1,353 @@ +package nmd.primal.forgecraft.items.tools; + +import com.mojang.realmsclient.gui.ChatFormatting; +import net.minecraft.block.state.IBlockState; +import net.minecraft.enchantment.Enchantment; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.IItemPropertyGetter; +import net.minecraft.item.Item; +import net.minecraft.item.ItemSpade; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.ResourceLocation; +import net.minecraft.util.math.BlockPos; +import net.minecraft.world.World; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; +import nmd.primal.forgecraft.ModInfo; +import nmd.primal.forgecraft.ToolNBT; + +import javax.annotation.Nullable; +import java.util.List; + +/** + * Created by mminaie on 3/21/17. + */ +public class CustomShovel extends ItemSpade implements ToolNBT { + + public CustomShovel(String name, Item.ToolMaterial material) { + super(material); + this.setUnlocalizedName(name); + this.setRegistryName(name); + this.setCreativeTab(ModInfo.TAB_FORGECRAFT); + this.setMaxStackSize(1); + this.setNoRepair(); + + this.addPropertyOverride(new ResourceLocation("type"), new IItemPropertyGetter() { + + /*** + + hot . emerald . diamond . redstone . lapis + 0 . 0 . 0 . 0 . 0 + + ***/ + + @SideOnly(Side.CLIENT) + public float apply(ItemStack item, @Nullable World worldIn, @Nullable EntityLivingBase entityIn) { + if (item.hasTagCompound()) { + + if (getHot(item) == false) { + if (getModifiers(item) != 0) { + if ( (getEmerald(item) == true) && + (getDiamondLevel(item) == 0) && + (getRedstoneLevel(item) == 0) && + (getLapisLevel(item) == 0)) { + return 0.1F; + } + + if ( (getEmerald(item) == true) && + (getDiamondLevel(item) == 1) && + (getRedstoneLevel(item) == 0) && + (getLapisLevel(item) == 0)) { + return 0.11F; + } + + if ( (getEmerald(item) == true) && + (getDiamondLevel(item) == 2) && + (getRedstoneLevel(item) == 0) && + (getLapisLevel(item) == 0)) { + return 0.12F; + } + + if ( (getEmerald(item) == true) && + (getDiamondLevel(item) == 1) && + (getRedstoneLevel(item) == 1) && + (getLapisLevel(item) == 0)) { + return 0.111F; + } + + if ( (getEmerald(item) == true) && + (getDiamondLevel(item) == 0) && + (getRedstoneLevel(item) == 2) && + (getLapisLevel(item) == 0)) { + return 0.102F; + } + + // ============ + + if ( (getEmerald(item) == false) && + (getDiamondLevel(item) == 1) && + (getRedstoneLevel(item) == 0) && + (getLapisLevel(item) == 0)) { + return 0.01F; + } + + if ( (getEmerald(item) == false) && + (getDiamondLevel(item) == 2) && + (getRedstoneLevel(item) == 0) && + (getLapisLevel(item) == 0)) { + return 0.02F; + } + + if ( (getEmerald(item) == false) && + (getDiamondLevel(item) == 3) && + (getRedstoneLevel(item) == 0) && + (getLapisLevel(item) == 0)) { + return 0.03F; + } + + //======= + + if ( (getEmerald(item) == false) && + (getDiamondLevel(item) == 0) && + (getRedstoneLevel(item) == 1) && + (getLapisLevel(item) == 0)) { + return 0.001F; + } + + if ( (getEmerald(item) == false) && + (getDiamondLevel(item) == 0) && + (getRedstoneLevel(item) == 2) && + (getLapisLevel(item) == 0)) { + return 0.002F; + } + + if ( (getEmerald(item) == false) && + (getDiamondLevel(item) == 0) && + (getRedstoneLevel(item) == 3) && + (getLapisLevel(item) == 0)) { + return 0.003F; + } + + //========= + + if ( (getEmerald(item) == false) && + (getDiamondLevel(item) == 0) && + (getRedstoneLevel(item) == 0) && + (getLapisLevel(item) == 1)) { + return 0.0001F; + } + + if ( (getEmerald(item) == false) && + (getDiamondLevel(item) == 0) && + (getRedstoneLevel(item) == 0) && + (getLapisLevel(item) == 2)) { + return 0.0002F; + } + + if ( (getEmerald(item) == false) && + (getDiamondLevel(item) == 0) && + (getRedstoneLevel(item) == 0) && + (getLapisLevel(item) == 3)) { + return 0.0003F; + } + + //======= + + if ( (getEmerald(item) == false) && + (getDiamondLevel(item) == 1) && + (getRedstoneLevel(item) == 1) && + (getLapisLevel(item) == 1)) { + return 0.0111F; + } + + if ( (getEmerald(item) == false) && + (getDiamondLevel(item) == 2) && + (getRedstoneLevel(item) == 1) && + (getLapisLevel(item) == 0)) { + return 0.021F; + } + + if ( (getEmerald(item) == false) && + (getDiamondLevel(item) == 1) && + (getRedstoneLevel(item) == 2) && + (getLapisLevel(item) == 0)) { + return 0.012F; + } + + if ( (getEmerald(item) == false) && + (getDiamondLevel(item) == 0) && + (getRedstoneLevel(item) == 1) && + (getLapisLevel(item) == 2)) { + return 0.0012F; + } + + if ( (getEmerald(item) == false) && + (getDiamondLevel(item) == 0) && + (getRedstoneLevel(item) == 2) && + (getLapisLevel(item) == 1)) { + return 0.0021F; + } + + if ( (getEmerald(item) == false) && + (getDiamondLevel(item) == 1) && + (getRedstoneLevel(item) == 0) && + (getLapisLevel(item) == 2) ) { + return 0.0102F; + } + } + } + if (getHot(item) == true) { + return 1.0F; + } + + if (getHot(item) == false) { + if (item.getSubCompound("tags").getInteger("modifiers") == 0) { + return 0.0F; + } + } + } + return 0.0F; + } + }); + } + + public static boolean isHidden() + { + return false; + } + + @Override + public void onCreated(ItemStack item, World world, EntityPlayer playerIn) { + + if(!world.isRemote) { + if (!item.hasTagCompound()) { + item.setTagCompound(new NBTTagCompound()); + NBTTagCompound tags = new NBTTagCompound(); + + item.getTagCompound().setTag("tags", tags); + + /*setHot(item, false); + + setHot(item, false); + setEmerald(item, false); + setDiamondLevel(item, 0); + setRedstoneLevel(item, 0); + setLapisLevel(item, 0); + setModifiers(item, 0);*/ + } + } + + } + + @Override + public void onUpdate(ItemStack item, World world, Entity player, int itemSlot, boolean isSelected) { + if(!world.isRemote) { + if (!item.hasTagCompound()) { + item.setTagCompound(new NBTTagCompound()); + NBTTagCompound tags = new NBTTagCompound(); + + item.getTagCompound().setTag("tags", tags); + + setHot(item, false); + setEmerald(item, false); + setDiamondLevel(item, 0); + setRedstoneLevel(item, 0); + setLapisLevel(item, 0); + setModifiers(item, 0); + + } + } + } + + //public void onItemTooltip(ItemTooltipEvent event){ + + @Override + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack item, EntityPlayer player, List tooltip, boolean advanced) + { + if(player.getEntityWorld().isRemote) { + + if(item.hasTagCompound()) { + + tooltip.add(ChatFormatting.GRAY + "Upgrades Left: " + (3 - getModifiers(item)) ); + if (item.getSubCompound("tags").getBoolean("emerald") == true) { + tooltip.add(ChatFormatting.DARK_GREEN + "Emerald"); + } + if (item.getSubCompound("tags").getInteger("diamond") > 0) { + tooltip.add(ChatFormatting.AQUA + "Diamond Level: " + getDiamondLevel(item)); + } + if (item.getSubCompound("tags").getInteger("redstone") > 0) { + tooltip.add(ChatFormatting.RED + "Redstone Level: " + getRedstoneLevel(item) ); + } + if (item.getSubCompound("tags").getInteger("lapis") > 0) { + tooltip.add(ChatFormatting.BLUE + "Lapis Level: " + getLapisLevel(item) ); + } + } + } + + + } + + @Override + public boolean onBlockStartBreak(ItemStack itemstack, BlockPos pos, EntityPlayer player) + { + if(!player.world.isRemote){ + World world = player.getEntityWorld(); + System.out.println(world.getBlockState(pos).getBlock()); + if(itemstack.getItem() instanceof CustomShovel){ + if( getEmerald(itemstack)){ + itemstack.addEnchantment(Enchantment.getEnchantmentByID(33), 1); + } + if( getDiamondLevel(itemstack) > 0 ){ + itemstack.addEnchantment(Enchantment.getEnchantmentByID(34), getDiamondLevel(itemstack)); + itemstack.getItem().setHarvestLevel("shovel", 3); + } + if( getRedstoneLevel(itemstack) > 0 ){ + itemstack.addEnchantment(Enchantment.getEnchantmentByID(32), getRedstoneLevel(itemstack)); + } + if ( getLapisLevel(itemstack) > 0) { + itemstack.addEnchantment(Enchantment.getEnchantmentByID(35), getLapisLevel(itemstack)); + } + } + } + + return false; + } + + @Override + public boolean onBlockDestroyed(ItemStack stack, World worldIn, IBlockState state, BlockPos pos, EntityLivingBase entityLiving) + { + if (!worldIn.isRemote && (double)state.getBlockHardness(worldIn, pos) != 0.0D) + { + + stack.getTagCompound().removeTag("ench"); + //System.out.println(stack.getTagCompound()); + + stack.damageItem(1, entityLiving); + } + + return true; + } + + @SideOnly(Side.CLIENT) + @Override + public boolean hasEffect(ItemStack stack) + { + return false; + } + + @Override + public boolean isRepairable() + { + return false; + } + + public int getItemEnchantability(ItemStack stack) + { + return 0; + } + +} diff --git a/1.11/src/main/java/nmd/primal/forgecraft/renders/TileAnvilRender.java b/1.11/src/main/java/nmd/primal/forgecraft/renders/TileAnvilRender.java index 757b14d0..47509f3d 100644 --- a/1.11/src/main/java/nmd/primal/forgecraft/renders/TileAnvilRender.java +++ b/1.11/src/main/java/nmd/primal/forgecraft/renders/TileAnvilRender.java @@ -129,6 +129,15 @@ public class TileAnvilRender extends TileEntitySpecialRenderer renderItem.renderItem(tile.getSlotStack(counter), ItemCameraTransforms.TransformType.FIXED); GL11.glPopMatrix(); } + if(tile.getSlotStack(counter).getItem().equals(ModItems.ironhoehead)){ + GL11.glPushMatrix(); + double scale = 1.0D; + GL11.glScaled(scale, scale, scale); + GL11.glTranslated(tile.getNormalX(a), -0.435D, tile.getNormalZ(i)); + GL11.glRotated(180.0F, 1.0F, 0.0F, 0.0F); + renderItem.renderItem(tile.getSlotStack(counter), ItemCameraTransforms.TransformType.FIXED); + GL11.glPopMatrix(); + } if(tile.getSlotStack(counter).getItem() == ModItems.ironingotballhot ){ GL11.glPushMatrix(); double scale = 1.0D; @@ -181,16 +190,34 @@ public class TileAnvilRender extends TileEntitySpecialRenderer GL11.glPushMatrix(); double scale = 1.0D; GL11.glScaled(scale, scale, scale); - GL11.glTranslated(tile.getNormalX(a), -0.435D, tile.getNormalZ(i)); + GL11.glTranslated( tile.getReverseX(a), -0.435D, tile.getReverseZ(i) ); GL11.glRotated(90.0F, 1.0F, 0.0F, 0.0F); renderItem.renderItem(tile.getSlotStack(counter), ItemCameraTransforms.TransformType.FIXED); GL11.glPopMatrix(); } + if(tile.getSlotStack(counter).getItem().equals(ModItems.ironshovelhead)){ + GL11.glPushMatrix(); + double scale = 1.0D; + GL11.glScaled(scale, scale, scale); + GL11.glTranslated( tile.getReverseX(a), -0.435D, tile.getReverseZ(i) ); + GL11.glRotated(90.0F, 1.0F, 0.0F, 0.0F); + renderItem.renderItem(tile.getSlotStack(counter), ItemCameraTransforms.TransformType.FIXED); + GL11.glPopMatrix(); + } + if(tile.getSlotStack(counter).getItem().equals(ModItems.ironhoehead)){ + GL11.glPushMatrix(); + double scale = 1.0D; + GL11.glScaled(scale, scale, scale); + GL11.glTranslated( tile.getReverseX(a), -0.435D, tile.getReverseZ(i) ); + GL11.glRotated(180.0F, 1.0F, 0.0F, 0.0F); + renderItem.renderItem(tile.getSlotStack(counter), ItemCameraTransforms.TransformType.FIXED); + GL11.glPopMatrix(); + } if(tile.getSlotStack(counter).getItem() == ModItems.ironingotballhot ){ GL11.glPushMatrix(); double scale = 1.0D; GL11.glScaled(scale, scale, scale); - GL11.glTranslated(tile.getNormalX(a), -0.44D, tile.getNormalZ(i)); + GL11.glTranslated( tile.getReverseX(a), -0.44D, tile.getReverseZ(i) ); renderItem.renderItem(tile.getSlotStack(counter), ItemCameraTransforms.TransformType.FIXED); GL11.glPopMatrix(); } @@ -198,7 +225,7 @@ public class TileAnvilRender extends TileEntitySpecialRenderer GL11.glPushMatrix(); double scale = 1.0D; GL11.glScaled(scale, scale, scale); - GL11.glTranslated(tile.getNormalX(a), -0.455D, tile.getNormalZ(i)); + GL11.glTranslated( tile.getReverseX(a), -0.455D, tile.getReverseZ(i) ); renderItem.renderItem(tile.getSlotStack(counter), ItemCameraTransforms.TransformType.FIXED); GL11.glPopMatrix(); } @@ -240,16 +267,34 @@ public class TileAnvilRender extends TileEntitySpecialRenderer GL11.glPushMatrix(); double scale = 1.0D; GL11.glScaled(scale, scale, scale); - GL11.glTranslated(tile.getNormalX(a), -0.435D, tile.getNormalZ(i)); + GL11.glTranslated( tile.getNormalX(a), -0.435D, tile.getReverseZ(i) ); GL11.glRotated(90.0F, 1.0F, 0.0F, 0.0F); renderItem.renderItem(tile.getSlotStack(counter), ItemCameraTransforms.TransformType.FIXED); GL11.glPopMatrix(); } + if(tile.getSlotStack(counter).getItem().equals(ModItems.ironshovelhead)){ + GL11.glPushMatrix(); + double scale = 1.0D; + GL11.glScaled(scale, scale, scale); + GL11.glTranslated( tile.getNormalX(a), -0.435D, tile.getReverseZ(i) ); + GL11.glRotated(90.0F, 1.0F, 0.0F, 0.0F); + renderItem.renderItem(tile.getSlotStack(counter), ItemCameraTransforms.TransformType.FIXED); + GL11.glPopMatrix(); + } + if(tile.getSlotStack(counter).getItem().equals(ModItems.ironhoehead)){ + GL11.glPushMatrix(); + double scale = 1.0D; + GL11.glScaled(scale, scale, scale); + GL11.glTranslated( tile.getNormalX(a), -0.435D, tile.getReverseZ(i) ); + GL11.glRotated(180.0F, 1.0F, 0.0F, 0.0F); + renderItem.renderItem(tile.getSlotStack(counter), ItemCameraTransforms.TransformType.FIXED); + GL11.glPopMatrix(); + } if(tile.getSlotStack(counter).getItem() == ModItems.ironingotballhot ){ GL11.glPushMatrix(); double scale = 1.0D; GL11.glScaled(scale, scale, scale); - GL11.glTranslated(tile.getNormalX(a), -0.44D, tile.getNormalZ(i)); + GL11.glTranslated( tile.getNormalX(a), -0.44D, tile.getReverseZ(i) ); renderItem.renderItem(tile.getSlotStack(counter), ItemCameraTransforms.TransformType.FIXED); GL11.glPopMatrix(); } @@ -257,7 +302,7 @@ public class TileAnvilRender extends TileEntitySpecialRenderer GL11.glPushMatrix(); double scale = 1.0D; GL11.glScaled(scale, scale, scale); - GL11.glTranslated(tile.getNormalX(a), -0.455D, tile.getNormalZ(i)); + GL11.glTranslated( tile.getNormalX(a), -0.455D, tile.getReverseZ(i) ); renderItem.renderItem(tile.getSlotStack(counter), ItemCameraTransforms.TransformType.FIXED); GL11.glPopMatrix(); } @@ -301,16 +346,34 @@ public class TileAnvilRender extends TileEntitySpecialRenderer GL11.glPushMatrix(); double scale = 1.0D; GL11.glScaled(scale, scale, scale); - GL11.glTranslated(tile.getNormalX(a), -0.435D, tile.getNormalZ(i)); + GL11.glTranslated( tile.getReverseX(a), -0.435D, tile.getNormalZ(i) ); GL11.glRotated(90.0F, 1.0F, 0.0F, 0.0F); renderItem.renderItem(tile.getSlotStack(counter), ItemCameraTransforms.TransformType.FIXED); GL11.glPopMatrix(); } + if(tile.getSlotStack(counter).getItem().equals(ModItems.ironshovelhead)){ + GL11.glPushMatrix(); + double scale = 1.0D; + GL11.glScaled(scale, scale, scale); + GL11.glTranslated( tile.getReverseX(a), -0.435D, tile.getNormalZ(i) ); + GL11.glRotated(90.0F, 1.0F, 0.0F, 0.0F); + renderItem.renderItem(tile.getSlotStack(counter), ItemCameraTransforms.TransformType.FIXED); + GL11.glPopMatrix(); + } + if(tile.getSlotStack(counter).getItem().equals(ModItems.ironhoehead)){ + GL11.glPushMatrix(); + double scale = 1.0D; + GL11.glScaled(scale, scale, scale); + GL11.glTranslated( tile.getReverseX(a), -0.435D, tile.getNormalZ(i) ); + GL11.glRotated(180.0F, 1.0F, 0.0F, 0.0F); + renderItem.renderItem(tile.getSlotStack(counter), ItemCameraTransforms.TransformType.FIXED); + GL11.glPopMatrix(); + } if(tile.getSlotStack(counter).getItem() == ModItems.ironingotballhot ){ GL11.glPushMatrix(); double scale = 1.0D; GL11.glScaled(scale, scale, scale); - GL11.glTranslated(tile.getNormalX(a), -0.44D, tile.getNormalZ(i)); + GL11.glTranslated( tile.getReverseX(a), -0.44D, tile.getNormalZ(i) ); renderItem.renderItem(tile.getSlotStack(counter), ItemCameraTransforms.TransformType.FIXED); GL11.glPopMatrix(); } @@ -318,7 +381,7 @@ public class TileAnvilRender extends TileEntitySpecialRenderer GL11.glPushMatrix(); double scale = 1.0D; GL11.glScaled(scale, scale, scale); - GL11.glTranslated(tile.getNormalX(a), -0.455D, tile.getNormalZ(i)); + GL11.glTranslated( tile.getReverseX(a), -0.455D, tile.getNormalZ(i) ); renderItem.renderItem(tile.getSlotStack(counter), ItemCameraTransforms.TransformType.FIXED); GL11.glPopMatrix(); } @@ -332,4 +395,72 @@ public class TileAnvilRender extends TileEntitySpecialRenderer OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, prevLGTX, prevLGTY); GL11.glPopMatrix(); } + + private void doRendering(TileAnvil tile, Integer counter, Integer i, Integer a){ + if(tile.getSlotStack(counter).getItem().equals(Items.REDSTONE) || + (tile.getSlotStack(counter).getItem().equals(Items.DYE) && tile.getSlotStack(counter).getItemDamage() == EnumDyeColor.BLUE.getDyeDamage()) || + tile.getSlotStack(counter).getItem().equals(PrimalItems.EMERALD_KNAPP) || + tile.getSlotStack(counter).getItem().equals(PrimalItems.DIAMOND_KNAPP) + ){ + GL11.glPushMatrix(); + + GL11.glTranslated( tile.getNormalX(a), -0.49D, tile.getNormalZ(i) ); + GL11.glRotated(-90.0F, 1.0F, -0.0F, 0.0F); + GL11.glScaled(0.25D, 0.25D, 0.25D); + renderItem.renderItem(tile.getSlotStack(counter), ItemCameraTransforms.TransformType.FIXED); + GL11.glPopMatrix(); + } + if(tile.getSlotStack(counter).getItem().equals(ModItems.pickaxehead)){ + GL11.glPushMatrix(); + double scale = 1.0D; + GL11.glScaled(scale, scale, scale); + GL11.glTranslated(tile.getNormalX(a), -0.435D, tile.getNormalZ(i)); + renderItem.renderItem(tile.getSlotStack(counter), ItemCameraTransforms.TransformType.FIXED); + GL11.glPopMatrix(); + } + if(tile.getSlotStack(counter).getItem().equals(ModItems.ironaxehead)){ + GL11.glPushMatrix(); + double scale = 1.0D; + GL11.glScaled(scale, scale, scale); + GL11.glTranslated(tile.getNormalX(a), -0.435D, tile.getNormalZ(i)); + GL11.glRotated(90.0F, 1.0F, 0.0F, 0.0F); + renderItem.renderItem(tile.getSlotStack(counter), ItemCameraTransforms.TransformType.FIXED); + GL11.glPopMatrix(); + } + if(tile.getSlotStack(counter).getItem().equals(ModItems.ironshovelhead)){ + GL11.glPushMatrix(); + double scale = 1.0D; + GL11.glScaled(scale, scale, scale); + GL11.glTranslated(tile.getNormalX(a), -0.435D, tile.getNormalZ(i)); + GL11.glRotated(90.0F, 1.0F, 0.0F, 0.0F); + renderItem.renderItem(tile.getSlotStack(counter), ItemCameraTransforms.TransformType.FIXED); + GL11.glPopMatrix(); + } + if(tile.getSlotStack(counter).getItem().equals(ModItems.ironhoehead)){ + GL11.glPushMatrix(); + double scale = 1.0D; + GL11.glScaled(scale, scale, scale); + GL11.glTranslated(tile.getNormalX(a), -0.435D, tile.getNormalZ(i)); + GL11.glRotated(180.0F, 1.0F, 0.0F, 0.0F); + renderItem.renderItem(tile.getSlotStack(counter), ItemCameraTransforms.TransformType.FIXED); + GL11.glPopMatrix(); + } + if(tile.getSlotStack(counter).getItem() == ModItems.ironingotballhot ){ + GL11.glPushMatrix(); + double scale = 1.0D; + GL11.glScaled(scale, scale, scale); + GL11.glTranslated(tile.getNormalX(a), -0.44D, tile.getNormalZ(i)); + renderItem.renderItem(tile.getSlotStack(counter), ItemCameraTransforms.TransformType.FIXED); + GL11.glPopMatrix(); + } + if(tile.getSlotStack(counter).getItem() == ModItems.ironchunkhot){ + GL11.glPushMatrix(); + double scale = 1.0D; + GL11.glScaled(scale, scale, scale); + GL11.glTranslated(tile.getNormalX(a), -0.455D, tile.getNormalZ(i)); + renderItem.renderItem(tile.getSlotStack(counter), ItemCameraTransforms.TransformType.FIXED); + GL11.glPopMatrix(); + } + } + } \ No newline at end of file diff --git a/1.11/src/main/java/nmd/primal/forgecraft/renders/TileForgeRender.java b/1.11/src/main/java/nmd/primal/forgecraft/renders/TileForgeRender.java index 5af4a6d6..975563bc 100644 --- a/1.11/src/main/java/nmd/primal/forgecraft/renders/TileForgeRender.java +++ b/1.11/src/main/java/nmd/primal/forgecraft/renders/TileForgeRender.java @@ -81,6 +81,10 @@ public class TileForgeRender extends TileEntitySpecialRenderer if(tile.getSlotStack(i).getItem() == ModItems.ironshovelhead) { GL11.glRotated(90.0F, 1.0F, 0.0F, 0.0F); } + if(tile.getSlotStack(i).getItem() == ModItems.ironhoehead) { + GL11.glRotated(180.0F, 1.0F, 0.0F, 0.0F); + GL11.glTranslated(0.0, 0.025D, 0.0D); + } } if(i == 5){ diff --git a/1.11/src/main/resources/assets/forgecraft/models/item/e_texture.png b/1.11/src/main/resources/assets/forgecraft/models/item/e_texture.png new file mode 100644 index 0000000000000000000000000000000000000000..7291f2ea2b524eccecb6678f7bd40262c849bf2f GIT binary patch literal 141 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|A)YRdAsV8|HWeQfm^B+%SKK&v zuFpfaoliDNDM&L$@~vsZp9Y?WbuQ1CZf4l2-1K~5=5VI@Msu3kk+ey<5-m~}Y