From 8fdbfc1bdc8d27d67a5fefe60ad6a17a37c169c7 Mon Sep 17 00:00:00 2001 From: Mohammad-Ali Minaie Date: Sun, 12 Mar 2017 20:19:25 -0400 Subject: [PATCH] the crafting of tool parts, the upgrading of tool parts is complete --- 1.11/To-Dos | 17 +- .../nmd/primal/forgecraft/blocks/Anvil.java | 421 +++++++++++++++--- .../nmd/primal/forgecraft/blocks/Forge.java | 20 +- .../forgecraft/gui/GuiForgingManual.java | 1 + .../nmd/primal/forgecraft/init/ModItems.java | 4 +- .../forgecraft/items/ItemStoneTongs.java | 21 +- .../forgecraft/renders/TileAnvilRender.java | 168 ++++--- .../forgecraft/renders/TileForgeRender.java | 48 ++ .../primal/forgecraft/tiles/TileForge.java | 2 +- .../item/stonetongs_pickaxe_default.json | 154 +++++++ .../models/item/stonetongs_pickaxe_hot.json | 10 + 11 files changed, 712 insertions(+), 154 deletions(-) create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/stonetongs_pickaxe_default.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/stonetongs_pickaxe_hot.json diff --git a/1.11/To-Dos b/1.11/To-Dos index b98b5446..f6b26366 100644 --- a/1.11/To-Dos +++ b/1.11/To-Dos @@ -2,18 +2,15 @@ To-Dos *** Priority *** -- [ ] Fix renderings in the Anvil -- [ ] Fix Renderings in the Forge -- [ ] Fix StoneTongs rendering for NBT 8 -- [ ] Add forgehammer to oreDict - +- [ ] Create all the textures for all the NBT types - [ ] Create Crafting Block for Tools and Weapons - [ ] Create PickAxe Tool which ingests NBT + *** Backlog *** -- [ ] Tool Rendering -- [ ] Toolhead Recipes +- [ ] Add forgehammer to oreDict +- [ ] Finish Toolhead Recipes - [ ] WeaponHead recipes - [ ] Stone Anvil Bounding Box @@ -27,9 +24,15 @@ To-Dos - [ ] Bellows Sounds - [ ] Bloomery Sound? - [ ] Forge Sound? +- [ ] Fix Flame creator from Forge and Bloomery *** Completed *** +- [x] Check for if the pickaxe head is hot before removing from forge +- [x] fix rotation rendering for Anvil +- [x] Fix renderings in the Anvil +- [x] Fix Renderings in the Forge +- [x] Fix StoneTongs rendering for NBT 8 - [x] Allow redstone, lapis, and shards in the anvil - [x] Create toolHead Item 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 a4541356..1717508e 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 @@ -8,6 +8,7 @@ import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Items; +import net.minecraft.item.EnumDyeColor; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; @@ -100,50 +101,76 @@ public class Anvil extends CustomContainerFacing { } if(recipe.getOutput().getItem() instanceof ToolPart){ - NBTTagCompound tempNBT = tile.getSlotStack(12).getSubCompound("tags"); - ItemStack outputStack = recipe.getOutput(); - outputStack.setTagCompound(new NBTTagCompound()); - outputStack.getTagCompound().setTag("tags", tempNBT); - outputStack.getSubCompound("tags").setBoolean("hot", false); - if(outputStack.getSubCompound("tags").getInteger("modifiers") < 3){ + if(!tile.getSlotStack(12).getItem().equals(recipe.getOutput().getItem())) { + ItemStack tempStack = recipe.getOutput(); + tempStack.setTagCompound(new NBTTagCompound()); + NBTTagCompound tags = new NBTTagCompound(); - //Upgrade emerald - if(recipe.getUpgrade() == "emerald"){ - outputStack.getSubCompound("tags").setInteger("emerald", - (outputStack.getSubCompound("tags").getInteger("emerald") + 1) ); - outputStack.getSubCompound("tags").setInteger("modifiers", - (outputStack.getSubCompound("tags").getInteger("modifiers") + 1) ); - } + tempStack.getTagCompound().setTag("tags", tags); + tempStack.getSubCompound("tags").setBoolean("hot", false); - //Upgrade diamond - if(recipe.getUpgrade() == "diamond"){ - outputStack.getSubCompound("tags").setInteger("diamond", - (outputStack.getSubCompound("tags").getInteger("diamond") + 1) ); - outputStack.getSubCompound("tags").setInteger("modifiers", - (outputStack.getSubCompound("tags").getInteger("modifiers") + 1) ); - } + tempStack.getSubCompound("tags").setBoolean("emerald", false); + tempStack.getSubCompound("tags").setInteger("diamond", 0); + tempStack.getSubCompound("tags").setInteger("redstone", 0); + tempStack.getSubCompound("tags").setInteger("lapis", 0); - //Upgrade redstone - if(recipe.getUpgrade() == "redstone"){ - outputStack.getSubCompound("tags").setInteger("redstone", - (outputStack.getSubCompound("tags").getInteger("redstone") + 1) ); - outputStack.getSubCompound("tags").setInteger("modifiers", - (outputStack.getSubCompound("tags").getInteger("modifiers") + 1) ); - } + tempStack.getSubCompound("tags").setInteger("modifiers", 0); + CommonUtils.spawnItemEntityFromWorld(world, pos, tempStack); + } - //Upgrade lapis - if(recipe.getUpgrade() == "lapis"){ - if(outputStack.getSubCompound("tags").getInteger("emerald") == 0 ) { - outputStack.getSubCompound("tags").setInteger("lapis", - (outputStack.getSubCompound("tags").getInteger("lapis") + 1)); + if(tile.getSlotStack(12).getItem().equals(recipe.getOutput().getItem())) { + + + NBTTagCompound tempNBT = tile.getSlotStack(12).getSubCompound("tags"); + ItemStack outputStack = recipe.getOutput(); + outputStack.setTagCompound(new NBTTagCompound()); + outputStack.getTagCompound().setTag("tags", tempNBT); + outputStack.getSubCompound("tags").setBoolean("hot", false); + + if (outputStack.getSubCompound("tags").getInteger("modifiers") < 3) { + + //Upgrade emerald + if (recipe.getUpgrade() == "emerald") { + if (outputStack.getSubCompound("tags").getInteger("lapis") == 0) { + if (outputStack.getSubCompound("tags").getBoolean("emerald") == false) { + outputStack.getSubCompound("tags").setInteger("emerald", + (outputStack.getSubCompound("tags").getInteger("emerald") + 1)); + outputStack.getSubCompound("tags").setInteger("modifiers", + (outputStack.getSubCompound("tags").getInteger("modifiers") + 1)); + } + } + } + + //Upgrade diamond + if (recipe.getUpgrade() == "diamond") { + outputStack.getSubCompound("tags").setInteger("diamond", + (outputStack.getSubCompound("tags").getInteger("diamond") + 1)); outputStack.getSubCompound("tags").setInteger("modifiers", (outputStack.getSubCompound("tags").getInteger("modifiers") + 1)); } - } + //Upgrade redstone + if (recipe.getUpgrade() == "redstone") { + outputStack.getSubCompound("tags").setInteger("redstone", + (outputStack.getSubCompound("tags").getInteger("redstone") + 1)); + outputStack.getSubCompound("tags").setInteger("modifiers", + (outputStack.getSubCompound("tags").getInteger("modifiers") + 1)); + } + + //Upgrade lapis + if (recipe.getUpgrade() == "lapis") { + if (outputStack.getSubCompound("tags").getBoolean("emerald") == false) { + outputStack.getSubCompound("tags").setInteger("lapis", + (outputStack.getSubCompound("tags").getInteger("lapis") + 1)); + outputStack.getSubCompound("tags").setInteger("modifiers", + (outputStack.getSubCompound("tags").getInteger("modifiers") + 1)); + } + } + + } + CommonUtils.spawnItemEntityFromWorld(world, pos, outputStack); } - CommonUtils.spawnItemEntityFromWorld(world, pos, outputStack); } else { CommonUtils.spawnItemEntityFromWorld(world, pos, recipe.getOutput()); @@ -218,27 +245,26 @@ public class Anvil extends CustomContainerFacing { if (pItem.getTagCompound().getInteger("type") == 8) { ItemStack tempStack = new ItemStack (ModItems.pickaxehead, 1); tempStack.setTagCompound(new NBTTagCompound()); - NBTTagCompound tempNBT = pItem.getSubCompound("tags"); - tempStack.getTagCompound().setTag("tags", tempNBT); - + 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 (pItem.equals(ItemStack.EMPTY)) { if (tile.getSlotStack(counter).getItem().equals(Items.DIAMOND)) { CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter)); tile.setSlotStack(counter, ItemStack.EMPTY); @@ -265,6 +291,12 @@ public class Anvil extends CustomContainerFacing { 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){ @@ -277,7 +309,7 @@ public class Anvil extends CustomContainerFacing { if (pItem.getItem().equals(Items.DIAMOND)) { if (tile.getSlotStack(counter).isEmpty()) { - tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1, pItem.getItemDamage())); + tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1)); pItem.shrink(1); return true; } @@ -285,7 +317,7 @@ public class Anvil extends CustomContainerFacing { if (pItem.getItem().equals(Items.EMERALD)) { if (tile.getSlotStack(counter).isEmpty()) { - tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1, pItem.getItemDamage())); + tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1)); pItem.shrink(1); return true; } @@ -293,7 +325,7 @@ public class Anvil extends CustomContainerFacing { if (pItem.getItem().equals(PrimalItems.EMERALD_KNAPP)) { if (tile.getSlotStack(counter).isEmpty()) { - tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1, pItem.getItemDamage())); + tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1)); pItem.shrink(1); return true; } @@ -301,7 +333,7 @@ public class Anvil extends CustomContainerFacing { if (pItem.getItem().equals(PrimalItems.DIAMOND_KNAPP)) { if (tile.getSlotStack(counter).isEmpty()) { - tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1, pItem.getItemDamage())); + tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1)); pItem.shrink(1); return true; } @@ -309,22 +341,19 @@ public class Anvil extends CustomContainerFacing { if (pItem.getItem().equals(Items.REDSTONE)) { if (tile.getSlotStack(counter).isEmpty()) { - tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1, pItem.getItemDamage())); + tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1)); pItem.shrink(1); return true; } } - if (pItem.equals(new ItemStack(Items.DYE, 1, 4))) { + 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; } } - - - //4 } } counter++; @@ -354,6 +383,7 @@ public class Anvil extends CustomContainerFacing { //System.out.println(counter); return true; } + } } @@ -369,19 +399,112 @@ public class Anvil extends CustomContainerFacing { //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; + } } } } + //System.out.println("1" + pItem); + + if (pItem.getItem().equals(Items.AIR) && player.isSneaking()) { - if (pItem.equals(ItemStack.EMPTY)) { 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 (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); @@ -403,7 +526,7 @@ public class Anvil extends CustomContainerFacing { 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") == 0)) { + if ((pItem.getTagCompound().getInteger("type") == 6) || (pItem.getTagCompound().getInteger("type") == 7) || (pItem.getTagCompound().getInteger("type") == 8)|| (pItem.getTagCompound().getInteger("type") == 0)) { if (!tile.getSlotStack(counter).isEmpty()) { if (pItem.getTagCompound().getInteger("type") == 0) { @@ -418,6 +541,7 @@ public class Anvil extends CustomContainerFacing { //System.out.println(counter); return true; } + } } @@ -433,19 +557,112 @@ public class Anvil extends CustomContainerFacing { //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; + } } } } + //System.out.println("1" + pItem); + + if (pItem.getItem().equals(Items.AIR) && player.isSneaking()) { - if (pItem.equals(ItemStack.EMPTY)) { 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 (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); @@ -467,7 +684,7 @@ public class Anvil extends CustomContainerFacing { 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") == 0)) { + if ((pItem.getTagCompound().getInteger("type") == 6) || (pItem.getTagCompound().getInteger("type") == 7) || (pItem.getTagCompound().getInteger("type") == 8)|| (pItem.getTagCompound().getInteger("type") == 0)) { if (!tile.getSlotStack(counter).isEmpty()) { if (pItem.getTagCompound().getInteger("type") == 0) { @@ -482,6 +699,7 @@ public class Anvil extends CustomContainerFacing { //System.out.println(counter); return true; } + } } @@ -497,19 +715,112 @@ public class Anvil extends CustomContainerFacing { //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; + } } } } + //System.out.println("1" + pItem); + + if (pItem.getItem().equals(Items.AIR) && player.isSneaking()) { - if (pItem.equals(ItemStack.EMPTY)) { 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 (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); diff --git a/1.11/src/main/java/nmd/primal/forgecraft/blocks/Forge.java b/1.11/src/main/java/nmd/primal/forgecraft/blocks/Forge.java index 0003970c..93aa53b8 100644 --- a/1.11/src/main/java/nmd/primal/forgecraft/blocks/Forge.java +++ b/1.11/src/main/java/nmd/primal/forgecraft/blocks/Forge.java @@ -157,7 +157,7 @@ public class Forge extends CustomContainerFacing implements ITileEntityProvider/ if(facing == EnumFacing.UP ) { if (pItem.isEmpty()) { for (int i = 2; i < tile.getSlotListSize(); i++) { - System.out.println(i); + //System.out.println(i); if (!tile.getSlotStack(i).isEmpty()) { if (tile.getSlotStack(i).getItem().equals(new ItemStack(ModBlocks.ironchunk).getItem())) { CommonUtils.spawnItemEntity(world, player, tile.getSlotStack(i)); @@ -204,9 +204,9 @@ public class Forge extends CustomContainerFacing implements ITileEntityProvider/ if(pItem.getItem() instanceof ToolPart){ if(tile.getSlotStack(4).isEmpty()){ - System.out.println("Adding player Item to slot"); + //System.out.println("Adding player Item to slot"); tile.setSlotStack(4, pItem); - System.out.println(tile.getSlotStack(4)); + //System.out.println(tile.getSlotStack(4)); player.inventory.setInventorySlotContents(player.inventory.currentItem, ItemStack.EMPTY); return true; } @@ -214,13 +214,13 @@ public class Forge extends CustomContainerFacing implements ITileEntityProvider/ } } - System.out.println(tile.getSlotStack(0)); - System.out.println(tile.getSlotStack(1)); - System.out.println(tile.getSlotStack(2)); - System.out.println(tile.getSlotStack(3)); - System.out.println(tile.getSlotStack(4)); - System.out.println(tile.getSlotStack(5)); - System.out.println(tile.getSlotStack(6)); + //System.out.println(tile.getSlotStack(0)); + //System.out.println(tile.getSlotStack(1)); + //System.out.println(tile.getSlotStack(2)); + //System.out.println(tile.getSlotStack(3)); + //System.out.println(tile.getSlotStack(4)); + //System.out.println(tile.getSlotStack(5)); + //System.out.println(tile.getSlotStack(6)); } return false; } diff --git a/1.11/src/main/java/nmd/primal/forgecraft/gui/GuiForgingManual.java b/1.11/src/main/java/nmd/primal/forgecraft/gui/GuiForgingManual.java index 818d89b2..77cb6618 100644 --- a/1.11/src/main/java/nmd/primal/forgecraft/gui/GuiForgingManual.java +++ b/1.11/src/main/java/nmd/primal/forgecraft/gui/GuiForgingManual.java @@ -1,5 +1,6 @@ package nmd.primal.forgecraft.gui; +import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiButton; import net.minecraft.client.gui.GuiScreen; 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 e0433564..ada863e6 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 @@ -128,7 +128,7 @@ public class ModItems { new ResourceLocation(ModInfo.MOD_ID, "stonetongs_hotironfailed"), new ResourceLocation(ModInfo.MOD_ID, "stonetongs_ingot"), new ResourceLocation(ModInfo.MOD_ID, "stonetongs_chunk"), - new ResourceLocation(ModInfo.MOD_ID, "stonetongs_pickaxe") + new ResourceLocation(ModInfo.MOD_ID, "stonetongs_pickaxe_hot") ); ModelLoader.setCustomMeshDefinition(ModItems.stonetongs, new ItemMeshDefinition() { @@ -160,7 +160,7 @@ public class ModItems { return new ModelResourceLocation(stack.getItem().getRegistryName() + "_chunk", "inventory"); } else if (stack.getTagCompound().getInteger("type") == 8 ) { - return new ModelResourceLocation(stack.getItem().getRegistryName() + "_pickaxe", "inventory"); + return new ModelResourceLocation(stack.getItem().getRegistryName() + "_pickaxe_hot", "inventory"); } else 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 20397b20..a7e6796f 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 @@ -59,6 +59,8 @@ public class ItemStoneTongs extends Item { item.getSubCompound("tags").setInteger("modifiers", 0); } + + } @@ -83,8 +85,8 @@ public class ItemStoneTongs extends Item { if(!world.isRemote) { ItemStack itemstack = player.getHeldItem(hand); - System.out.println(itemstack.getTagCompound().getInteger("type")); - System.out.println(itemstack.getSubCompound("tags")); + //System.out.println(itemstack.getTagCompound().getInteger("type")); + //System.out.println(itemstack.getSubCompound("tags")); /***** Picks Up Hot Ingots from the Ground @@ -261,13 +263,14 @@ public class ItemStoneTongs extends Item { return EnumActionResult.SUCCESS; } if (tile.getSlotStack(i).getItem().equals(ModItems.pickaxehead)) { - itemstack.getTagCompound().setInteger("type", 8); - - NBTTagCompound tempNBT = tile.getSlotStack(i).getSubCompound("tags"); - itemstack.getTagCompound().setTag("tags", tempNBT); - itemstack.getSubCompound("tags").setBoolean("hot", true); - tile.setSlotStack(i, ItemStack.EMPTY); - return EnumActionResult.SUCCESS; + if(tile.getSlotStack(i).getSubCompound("tags").getBoolean("hot") == true) { + itemstack.getTagCompound().setInteger("type", 8); + 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/renders/TileAnvilRender.java b/1.11/src/main/java/nmd/primal/forgecraft/renders/TileAnvilRender.java index 763076b6..d5cafac5 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 @@ -4,15 +4,20 @@ import net.minecraft.block.state.IBlockState; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.OpenGlHelper; import net.minecraft.client.renderer.RenderItem; +import net.minecraft.client.renderer.block.model.ItemCameraTransforms; import net.minecraft.client.renderer.texture.TextureMap; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.init.Items; +import net.minecraft.item.EnumDyeColor; import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumFacing; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; +import nmd.primal.core.api.PrimalItems; import nmd.primal.forgecraft.blocks.Anvil; import nmd.primal.forgecraft.init.ModBlocks; +import nmd.primal.forgecraft.init.ModItems; import nmd.primal.forgecraft.tiles.TileAnvil; import nmd.primal.forgecraft.tiles.TileBloomery; import org.lwjgl.opengl.GL11; @@ -45,7 +50,6 @@ public class TileAnvilRender extends TileEntitySpecialRenderer int bright = tile.getWorld().getCombinedLight(pos.up(), 0); OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, bright % 65536, bright / 65536); - /* NORTH SLOT | X | Y @@ -80,21 +84,34 @@ public class TileAnvilRender extends TileEntitySpecialRenderer 24 | 14/16 | 14/16 */ - - - - if(state.getValue(Anvil.FACING) == EnumFacing.NORTH){ int counter = 0; for(int i=0; i < 5; i++){ for(int a=0; a<5; a++){ if(!tile.getSlotStack(counter).isEmpty()){ - GL11.glPushMatrix(); + + 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.0D, tile.getNormalZ(i) ); - renderItem.renderItem(tile.getSlotStack(counter), renderItem.getItemModelMesher().getItemModel(tile.getSlotStack(counter))); - GL11.glPopMatrix(); + GL11.glTranslated(tile.getNormalX(a), -0.435D, tile.getNormalZ(i)); + renderItem.renderItem(tile.getSlotStack(counter), ItemCameraTransforms.TransformType.FIXED); + GL11.glPopMatrix(); + } + } counter++; } @@ -105,12 +122,28 @@ public class TileAnvilRender extends TileEntitySpecialRenderer for(int i=0; i < 5; i++){ for(int a=0; a<5; a++){ if(!tile.getSlotStack(counter).isEmpty()){ - GL11.glPushMatrix(); - double scale = 1.0D; - GL11.glScaled(scale, scale, scale); - GL11.glTranslated( tile.getReverseX(a), 0.0D, tile.getReverseZ(i) ); - renderItem.renderItem(tile.getSlotStack(counter), renderItem.getItemModelMesher().getItemModel(tile.getSlotStack(counter))); - GL11.glPopMatrix(); + + 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.getReverseX(a), -0.49D, tile.getReverseZ(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.getReverseX(a), -0.435D, tile.getReverseZ(i) ); + renderItem.renderItem(tile.getSlotStack(counter), ItemCameraTransforms.TransformType.FIXED); + GL11.glPopMatrix(); + } + } counter++; } @@ -121,12 +154,30 @@ public class TileAnvilRender extends TileEntitySpecialRenderer for(int a=0; a < 5; a++){ for(int i=0; i<5; i++){ if(!tile.getSlotStack(counter).isEmpty()){ - GL11.glPushMatrix(); - double scale = 1.0D; - GL11.glScaled(scale, scale, scale); - GL11.glTranslated( tile.getNormalX(a), 0.0D, tile.getReverseZ(i) ); - renderItem.renderItem(tile.getSlotStack(counter), renderItem.getItemModelMesher().getItemModel(tile.getSlotStack(counter))); - GL11.glPopMatrix(); + + 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.getReverseZ(i) ); + GL11.glRotated(-90.0F, 1.0F, -0.0F, 0.0F); + GL11.glScaled(0.25D, 0.25D, 0.25D); + GL11.glRotated(-90.0F, 0.0F, 0.0F, 1.0F); + 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.getReverseZ(i) ); + GL11.glRotated(-90.0F, 0.0F, 1.0F, 0.0F); + renderItem.renderItem(tile.getSlotStack(counter), ItemCameraTransforms.TransformType.FIXED); + GL11.glPopMatrix(); + } + } counter++; } @@ -137,61 +188,38 @@ public class TileAnvilRender extends TileEntitySpecialRenderer for(int a=0; a < 5; a++){ for(int i=0; i<5; i++){ if(!tile.getSlotStack(counter).isEmpty()){ - GL11.glPushMatrix(); - double scale = 1.0D; - GL11.glScaled(scale, scale, scale); - GL11.glTranslated( tile.getReverseX(a), 0.0D, tile.getNormalZ(i) ); - renderItem.renderItem(tile.getSlotStack(counter), renderItem.getItemModelMesher().getItemModel(tile.getSlotStack(counter))); - GL11.glPopMatrix(); + + //GL11.glTranslated( tile.getReverseX(a), 0.0D, tile.getNormalZ(i) ); + 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.getReverseX(a), -0.49D, tile.getNormalZ(i) ); + GL11.glRotated(-90.0F, 1.0F, 0.0F, 0.0F); + GL11.glScaled(0.25D, 0.25D, 0.25D); + GL11.glRotated(-90.0F, 0.0F, 0.0F, 1.0F); + //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.pickaxehead)){ + 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, 0.0F, 1.0F, 0.0F); + renderItem.renderItem(tile.getSlotStack(counter), ItemCameraTransforms.TransformType.FIXED); + GL11.glPopMatrix(); + } + } counter++; } } } - - - /*if(!stack0.isEmpty()){ - GL11.glPushMatrix(); - //System.out.println("Should render " + stack0.getItem()); - double scale = 1.0D; - GL11.glScaled(scale, scale, scale); - GL11.glTranslated( (double)2/(double)16, 0.0D, (double)2/(double)16 ); - renderItem.renderItem(stack0, renderItem.getItemModelMesher().getItemModel(stack0)); - GL11.glPopMatrix(); - } - /*if (!stack0.isEmpty()) { - - boolean is_block = stack0.getItem() instanceof ItemBlock; - float scale = is_block ? 0.1725F : 0.3F; - double xTrans = is_block ? -1.6D : -0.45D; - double yTrans = is_block ? -1.26D : -0.7D; - int stackRotation = stack0.getCount(); - - GL11.glPushMatrix(); - GL11.glScalef(scale, scale, scale); - GL11.glRotated(90.0F, 1.0F, 0.0F, 0.0F); - renderItem.renderItem(stack0, renderItem.getItemModelMesher().getItemModel(stack0)); - GL11.glPopMatrix(); - - for(int i = 0; i < Math.ceil(stackRotation/8) + 1; i++){ - GL11.glPushMatrix(); - GL11.glScalef(scale, scale, scale); - GL11.glRotated(45.0F * i, 0.0F, 1.0F, 0.0F); - GL11.glRotated(90.0F, 1.0F, 0.0F, 0.0F); - GL11.glTranslated(xTrans, yTrans, 0.0D); - renderItem.renderItem(stack0, renderItem.getItemModelMesher().getItemModel(stack0)); - GL11.glPopMatrix(); - } - } - - if(!stack1.isEmpty()){ - GL11.glPushMatrix(); - GL11.glTranslated(0, 0.50D, 0); - renderItem.renderItem(stack1, renderItem.getItemModelMesher().getItemModel(stack1)); - GL11.glPopMatrix(); - }*/ - OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, prevLGTX, prevLGTY); GL11.glPopMatrix(); } 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 9f19a0ff..e9067938 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 @@ -3,6 +3,7 @@ package nmd.primal.forgecraft.renders; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.OpenGlHelper; import net.minecraft.client.renderer.RenderItem; +import net.minecraft.client.renderer.block.model.ItemCameraTransforms; import net.minecraft.client.renderer.texture.TextureMap; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; import net.minecraft.item.ItemBlock; @@ -56,6 +57,53 @@ public class TileForgeRender extends TileEntitySpecialRenderer } } + for(int i=2; i < tile.getSlotListSize(); i++){ + if(!tile.getSlotStack(i).isEmpty()){ + GL11.glPushMatrix(); + float tempScale = 0.8F; + GL11.glScalef(tempScale, tempScale, tempScale); + GL11.glTranslated(0.0F, 0.1D, 0.0F); + if(i == 2){ + GL11.glTranslated(-0.3, -0.05D, -0.3D); + } + if(i == 3){ + GL11.glTranslated(-0.3, -0.05D, 0.3D); + } + if(i == 4){ + //GL11.glScalef(0.6F, 0.6F, 0.6F); + GL11.glRotated(180.0F, 0.0F, 1.0F, 0.0F); + } + if(i == 5){ + GL11.glTranslated(0.3, -0.05D, -0.3D); + } + if(i == 6){ + GL11.glTranslated(0.3, -0.05D, 0.3D); + } + + renderItem.renderItem(tile.getSlotStack(i), ItemCameraTransforms.TransformType.FIXED); + //renderItem.renderItem(tile.getSlotStack(i), renderItem.getItemModelMesher().getItemModel(tile.getSlotStack(i))); + GL11.glPopMatrix(); + } + } + + /*if (!stack1.isEmpty()) { + int stackRotation = stack1.getCount(); + GL11.glPushMatrix(); + GL11.glScalef(scale, scale, scale); + GL11.glRotated(90.0F, 1.0F, 0.0F, 0.0F); + renderItem.renderItem(stack1, renderItem.getItemModelMesher().getItemModel(stack1)); + GL11.glPopMatrix(); + for(int i = 0; i < Math.ceil(stackRotation/8) + 1; i++){ + GL11.glPushMatrix(); + GL11.glScalef(scale, scale, scale); + GL11.glRotated(45.0F * i, 0.0F, 1.0F, 0.0F); + GL11.glRotated(90.0F, 1.0F, 0.0F, 0.0F); + GL11.glTranslated(xTrans, yTrans, 0.0D); + renderItem.renderItem(stack1, renderItem.getItemModelMesher().getItemModel(stack1)); + GL11.glPopMatrix(); + } + }*/ + OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, prevLGTX, prevLGTY); GL11.glPopMatrix(); } diff --git a/1.11/src/main/java/nmd/primal/forgecraft/tiles/TileForge.java b/1.11/src/main/java/nmd/primal/forgecraft/tiles/TileForge.java index ef4757b5..08f6ba68 100644 --- a/1.11/src/main/java/nmd/primal/forgecraft/tiles/TileForge.java +++ b/1.11/src/main/java/nmd/primal/forgecraft/tiles/TileForge.java @@ -142,7 +142,7 @@ public class TileForge extends TileBaseSlot implements ITickable { if (cookCounter4 >= recipe.getIdealTime()) { if(this.getSlotStack(i).hasTagCompound()){ this.getSlotStack(i).getSubCompound("tags").setBoolean("hot", true); - System.out.println("its hot now"); + //System.out.println("its hot now"); } else this.setSlotStack(i, recipe.getOutput()); cookCounter4 = 0; } diff --git a/1.11/src/main/resources/assets/forgecraft/models/item/stonetongs_pickaxe_default.json b/1.11/src/main/resources/assets/forgecraft/models/item/stonetongs_pickaxe_default.json new file mode 100644 index 00000000..186fb66a --- /dev/null +++ b/1.11/src/main/resources/assets/forgecraft/models/item/stonetongs_pickaxe_default.json @@ -0,0 +1,154 @@ +{ + "__comment": "Designed by Kitsushadow with Cubik Studio - https://cubik.studio", + "textures": { + "particle": "blocks/planks_oak", + "texture": "blocks/planks_oak", + "texture1": "forgecraft:blocks/stone_slab", + "texture2": "forgecraft:blocks/iron_ingot_hot" + }, + "elements": [ + { + "__comment": "Cube1", + "from": [ 6, 0, 1 ], + "to": [ 7, 1, 4 ], + "faces": { + "down": { "uv": [ 4, 12, 5, 15 ], "texture": "#texture1" }, + "up": { "uv": [ 4, 1, 5, 4 ], "texture": "#texture1" }, + "north": { "uv": [ 11, 13, 12, 14 ], "texture": "#texture1" }, + "south": { "uv": [ 4, 13, 5, 14 ], "texture": "#texture1" }, + "west": { "uv": [ 1, 14, 4, 15 ], "texture": "#texture1" }, + "east": { "uv": [ 12, 14, 15, 15 ], "texture": "#texture1" } + } + }, + { + "__comment": "Cube2", + "from": [ 9, 0, 1 ], + "to": [ 10, 1, 4 ], + "faces": { + "down": { "uv": [ 4, 12, 5, 15 ], "texture": "#texture1" }, + "up": { "uv": [ 4, 1, 5, 4 ], "texture": "#texture1" }, + "north": { "uv": [ 11, 13, 12, 14 ], "texture": "#texture1" }, + "south": { "uv": [ 4, 13, 5, 14 ], "texture": "#texture1" }, + "west": { "uv": [ 1, 14, 4, 15 ], "texture": "#texture1" }, + "east": { "uv": [ 12, 14, 15, 15 ], "texture": "#texture1" } + } + }, + { + "__comment": "Cube3", + "from": [ 6, 0, 4 ], + "to": [ 7, 1, 9 ], + "rotation": { "origin": [ 6, 0, 4 ], "axis": "y", "angle": 45 }, + "faces": { + "down": { "uv": [ 7, 0, 8, 7 ], "texture": "#texture" }, + "up": { "uv": [ 4, 3, 5, 10 ], "texture": "#texture" }, + "north": { "uv": [ 11, 15, 12, 16 ], "texture": "#texture" }, + "south": { "uv": [ 4, 15, 5, 16 ], "texture": "#texture" }, + "west": { "uv": [ 3, 15, 10, 16 ], "texture": "#texture" }, + "east": { "uv": [ 7, 15, 14, 16 ], "texture": "#texture" } + } + }, + { + "__comment": "Cube5", + "from": [ 6, 0, 7 ], + "to": [ 7, 1, 16 ], + "faces": { + "down": { "uv": [ 6, 0, 7, 9 ], "texture": "#texture" }, + "up": { "uv": [ 6, 0, 7, 9 ], "texture": "#texture" }, + "north": { "uv": [ 9, 15, 10, 16 ], "texture": "#texture" }, + "south": { "uv": [ 7, 15, 8, 16 ], "texture": "#texture" }, + "west": { "uv": [ 7, 15, 16, 16 ], "texture": "#texture" }, + "east": { "uv": [ 0, 15, 9, 16 ], "texture": "#texture" } + } + }, + { + "__comment": "Cube6", + "from": [ 9, 0, 7 ], + "to": [ 10, 1, 16 ], + "faces": { + "down": { "uv": [ 6, 0, 7, 9 ], "texture": "#texture" }, + "up": { "uv": [ 6, 7, 7, 16 ], "texture": "#texture" }, + "north": { "uv": [ 9, 15, 10, 16 ], "texture": "#texture" }, + "south": { "uv": [ 7, 15, 8, 16 ], "texture": "#texture" }, + "west": { "uv": [ 7, 15, 16, 16 ], "texture": "#texture" }, + "east": { "uv": [ 0, 15, 9, 16 ], "texture": "#texture" } + } + }, + { + "__comment": "Cube3", + "from": [ 9, 0, 4 ], + "to": [ 10, 1, 9 ], + "rotation": { "origin": [ 10, 1, 4 ], "axis": "y", "angle": -45 }, + "faces": { + "down": { "uv": [ 4, 3, 5, 10 ], "texture": "#texture", "rotation": 180 }, + "up": { "uv": [ 4, 2, 5, 9 ], "texture": "#texture", "rotation": 180 }, + "north": { "uv": [ 12, 16, 11, 15 ], "texture": "#texture" }, + "south": { "uv": [ 5, 16, 4, 15 ], "texture": "#texture" }, + "west": { "uv": [ 7, 15, 14, 16 ], "texture": "#texture", "rotation": 180 }, + "east": { "uv": [ 3, 15, 10, 16 ], "texture": "#texture", "rotation": 180 } + } + }, + { + "__comment": "Cube12", + "from": [ 7, 0, -4.5 ], + "to": [ 9, 1, 2.5 ], + "faces": { + "down": { "uv": [ 7, 4.5, 9, 11.5 ], "texture": "#texture2" }, + "up": { "uv": [ 7, 4.5, 9, 11.5 ], "texture": "#texture2" }, + "north": { "uv": [ 7, 2, 9, 3 ], "texture": "#texture2" }, + "south": { "uv": [ 7, 2, 9, 3 ], "texture": "#texture2" }, + "west": { "uv": [ 4.5, 2, 11.5, 3 ], "texture": "#texture2" }, + "east": { "uv": [ 4.5, 2, 11.5, 3 ], "texture": "#texture2" } + } + }, + { + "__comment": "Cube12", + "from": [ 7.5, 0, -7.5 ], + "to": [ 8.5, 1, -4 ], + "rotation": { "origin": [ 8.5, 0, -4 ], "axis": "x", "angle": 22.5 }, + "faces": { + "down": { "uv": [ 14, 0, 15, 3.5 ], "texture": "#texture2", "rotation": 180 }, + "up": { "uv": [ 14, 12.5, 15, 16 ], "texture": "#texture2", "rotation": 180 }, + "north": { "uv": [ 14, 15, 15, 16 ], "texture": "#texture2" }, + "south": { "uv": [ 1, 15, 2, 16 ], "texture": "#texture2" }, + "west": { "uv": [ 0, 15, 3.5, 16 ], "texture": "#texture2" }, + "east": { "uv": [ 12.5, 15, 16, 16 ], "texture": "#texture2" } + } + }, + { + "__comment": "Cube12", + "from": [ 7.5, 0, 2.5 ], + "to": [ 8.5, 1, 6 ], + "rotation": { "origin": [ 7.5, 0, 2.5 ], "axis": "x", "angle": -22.5 }, + "faces": { + "down": { "uv": [ 14, 0, 15, 3.5 ], "texture": "#texture2" }, + "up": { "uv": [ 14, 12.5, 15, 16 ], "texture": "#texture2" }, + "north": { "uv": [ 1, 15, 2, 16 ], "texture": "#texture2" }, + "south": { "uv": [ 14, 15, 15, 16 ], "texture": "#texture2" }, + "west": { "uv": [ 12.5, 15, 16, 16 ], "texture": "#texture2" }, + "east": { "uv": [ 0, 15, 3.5, 16 ], "texture": "#texture2" } + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [ 60, 0, 0 ], + "translation": [ 0, 8.33, 3.5 ] + }, + "firstperson_righthand": { + "rotation": [ 20, 0, 0 ], + "translation": [ 0, 8, -2 ] + }, + "gui": { + "rotation": [ 90, -45, 0 ], + "translation": [ -1.5, -1.5, 6 ], + "scale": [ 0.75, 0.75, 0.75 ] + }, + "ground": { + "translation": [ 0, 4, 0 ] + }, + "fixed": { + "rotation": [ -90, 135, 0 ], + "translation": [ 2.5, -2.5, -7 ] + } + } +} \ No newline at end of file diff --git a/1.11/src/main/resources/assets/forgecraft/models/item/stonetongs_pickaxe_hot.json b/1.11/src/main/resources/assets/forgecraft/models/item/stonetongs_pickaxe_hot.json new file mode 100644 index 00000000..68a6512d --- /dev/null +++ b/1.11/src/main/resources/assets/forgecraft/models/item/stonetongs_pickaxe_hot.json @@ -0,0 +1,10 @@ +{ + "forge_marker":1, + "textures": { + "particle": "blocks/planks_oak", + "texture": "blocks/planks_oak", + "texture1": "forgecraft:blocks/stone_slab", + "texture2": "forgecraft:blocks/iron_ingot_hot" + }, + "parent": "forgecraft:item/stonetongs_pickaxe_default" +} \ No newline at end of file