diff options
| author | Lance5057 <Lance5057@gmail.com> | 2016-08-06 21:47:17 -0500 |
|---|---|---|
| committer | Lance5057 <Lance5057@gmail.com> | 2016-08-06 21:47:17 -0500 |
| commit | d10fd21692bad49e75a7d665005df940c91942f8 (patch) | |
| tree | fdc1be156df395c88a934f6f97487e78b36a8138 /src/main/java/lance5057/tDefense/finishingAnvil | |
| parent | ff41fd97eb377dd1ebd78b4b56e81c59ca786667 (diff) | |
Launch update
Only a week behind...
Diffstat (limited to 'src/main/java/lance5057/tDefense/finishingAnvil')
10 files changed, 423 insertions, 301 deletions
diff --git a/src/main/java/lance5057/tDefense/finishingAnvil/blocks/finishingAnvil/Container_FinishingAnvil.java b/src/main/java/lance5057/tDefense/finishingAnvil/blocks/finishingAnvil/Container_FinishingAnvil.java index f137076..c10f3b2 100644 --- a/src/main/java/lance5057/tDefense/finishingAnvil/blocks/finishingAnvil/Container_FinishingAnvil.java +++ b/src/main/java/lance5057/tDefense/finishingAnvil/blocks/finishingAnvil/Container_FinishingAnvil.java @@ -21,7 +21,8 @@ public class Container_FinishingAnvil extends Container { for(int x = 0; x < 9; x++) { - addSlotToContainer(new Slot(inventoryPlayer, x + y * 9 + 9, 8 + 18 * x, 84 + y * 18)); + addSlotToContainer(new Slot(inventoryPlayer, x + y * 9 + 9, + 8 + 18 * x, 84 + y * 18)); } } } diff --git a/src/main/java/lance5057/tDefense/finishingAnvil/blocks/finishingAnvil/FinishingAnvil.java b/src/main/java/lance5057/tDefense/finishingAnvil/blocks/finishingAnvil/FinishingAnvil.java index e12586a..c94648b 100644 --- a/src/main/java/lance5057/tDefense/finishingAnvil/blocks/finishingAnvil/FinishingAnvil.java +++ b/src/main/java/lance5057/tDefense/finishingAnvil/blocks/finishingAnvil/FinishingAnvil.java @@ -27,7 +27,7 @@ public class FinishingAnvil extends BlockContainer public FinishingAnvil() { super(Material.iron); - this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F); + setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F); } @Override @@ -40,11 +40,9 @@ public class FinishingAnvil extends BlockContainer @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int metadata, float what, float these, float are) { - TileEntity tileEntity = world.getTileEntity(x, y, z); + final TileEntity tileEntity = world.getTileEntity(x, y, z); if(tileEntity == null || player.isSneaking()) - { return false; - } //code to open gui explained later player.openGui(TinkersDefense.instance, TinkersDefense.GUI_ANVIL_INV, player.worldObj, x, y, z); return true; @@ -59,33 +57,33 @@ public class FinishingAnvil extends BlockContainer private void dropItems(World world, int x, int y, int z) { - Random rand = new Random(); + final Random rand = new Random(); - TileEntity tileEntity = world.getTileEntity(x, y, z); + final TileEntity tileEntity = world.getTileEntity(x, y, z); if(!(tileEntity instanceof IInventory)) - { return; - } - IInventory inventory = (IInventory) tileEntity; + final IInventory inventory = (IInventory) tileEntity; for(int i = 0; i < inventory.getSizeInventory(); i++) { - ItemStack item = inventory.getStackInSlot(i); + final ItemStack item = inventory.getStackInSlot(i); if(item != null && item.stackSize > 0) { - float rx = rand.nextFloat() * 0.8F + 0.1F; - float ry = rand.nextFloat() * 0.8F + 0.1F; - float rz = rand.nextFloat() * 0.8F + 0.1F; + final float rx = rand.nextFloat() * 0.8F + 0.1F; + final float ry = rand.nextFloat() * 0.8F + 0.1F; + final float rz = rand.nextFloat() * 0.8F + 0.1F; - EntityItem entityItem = new EntityItem(world, x + rx, y + ry, z + rz, new ItemStack(item.getItem(), item.stackSize, item.getItemDamage())); + final EntityItem entityItem = new EntityItem(world, x + rx, + y + ry, z + rz, new ItemStack(item.getItem(), + item.stackSize, item.getItemDamage())); if(item.hasTagCompound()) { entityItem.getEntityItem().setTagCompound((NBTTagCompound) item.getTagCompound().copy()); } - float factor = 0.05F; + final float factor = 0.05F; entityItem.motionX = rand.nextGaussian() * factor; entityItem.motionY = rand.nextGaussian() * factor + 0.2F; entityItem.motionZ = rand.nextGaussian() * factor; @@ -110,6 +108,7 @@ public class FinishingAnvil extends BlockContainer } //It's not a normal block, so you need this too. + @Override public boolean renderAsNormalBlock() { return false; @@ -120,13 +119,13 @@ public class FinishingAnvil extends BlockContainer @Override public void registerBlockIcons(IIconRegister icon) { - this.blockIcon = icon.registerIcon("tinkersdefense:WIP"); + blockIcon = icon.registerIcon("tinkersdefense:item_armoranvil"); } @Override public TileEntity createNewTileEntity(World w, int md) { - TileEntity_FinishingAnvil te = new TileEntity_FinishingAnvil(); + final TileEntity_FinishingAnvil te = new TileEntity_FinishingAnvil(); return te; } diff --git a/src/main/java/lance5057/tDefense/finishingAnvil/blocks/finishingAnvil/Gui_FinishingAnvil.java b/src/main/java/lance5057/tDefense/finishingAnvil/blocks/finishingAnvil/Gui_FinishingAnvil.java index 0395b61..ea56f5a 100644 --- a/src/main/java/lance5057/tDefense/finishingAnvil/blocks/finishingAnvil/Gui_FinishingAnvil.java +++ b/src/main/java/lance5057/tDefense/finishingAnvil/blocks/finishingAnvil/Gui_FinishingAnvil.java @@ -9,7 +9,7 @@ import lance5057.tDefense.armor.renderers.ArmorRenderer; import lance5057.tDefense.core.network.Message_FinishingAnvil; import lance5057.tDefense.finishingAnvil.utilities.Injector; import lance5057.tDefense.finishingAnvil.utilities.ToolCoreTip; -import net.minecraft.client.entity.AbstractClientPlayer; +import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiButton; import net.minecraft.client.gui.ScaledResolution; import net.minecraft.client.gui.inventory.GuiContainer; @@ -17,7 +17,6 @@ import net.minecraft.client.model.ModelBiped; import net.minecraft.client.model.ModelRenderer; import net.minecraft.client.renderer.RenderHelper; import net.minecraft.client.renderer.entity.RenderItem; -import net.minecraft.client.renderer.texture.ITextureObject; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; @@ -34,35 +33,34 @@ import cpw.mods.fml.client.config.GuiButtonExt; public class Gui_FinishingAnvil extends GuiContainer { - private float xSize_lo; - private float ySize_lo; - private ItemStack bigCopy; + NBTTagCompound bigCopyTags; + private final RenderItem bigRender = new RenderItem_FinishingAnvil( + this, + 3.5f, + 3.5f, 1.0f); + + private ItemStack rightCopy1, rightCopy2, rightCopy3; + NBTTagCompound rightCopyTags1, rightCopyTags2, + rightCopyTags3; + private final RenderItem normalRender = new RenderItem_FinishingAnvil( + this, 1.0f, + 1.0f, 1.0f); + //private Boolean isNull = true; private ItemStack editItem; - private final RenderItem bigRender = new RenderItem_FinishingAnvil( - this); public final TileEntity_FinishingAnvil inventory; private ResourceLocation forGui; private int leftButtonPosX = 0; - private final int leftButtonPosY = 0; - private int xLIcon_one, yLIcon_one; - private int xLIcon_two, yLIcon_two; - private int xLIcon_three, yLIcon_three; private int leftSelect = 0; - private int rightButtonPosX = 0; - private int rightButtonPosY = 0; - private int xRIcon_one, yRIcon_one; - private int xRIcon_two, yRIcon_two; - private int xRIcon_three, yRIcon_three; + private int rightButtonPos = 0; + private final int rightSelect = 0; String[] renders; - NBTTagCompound tags; - boolean renderFlat = true; boolean renderBiped = true; int rotation = 0; @@ -70,8 +68,8 @@ public class Gui_FinishingAnvil extends GuiContainer InventoryPlayer player; private static final ResourceLocation iconLocation = new ResourceLocation( - "tinkersdefense", - "textures/gui/finishinganvil.png"); + "tinkersdefense", + "textures/gui/finishinganvil.png"); public Gui_FinishingAnvil(InventoryPlayer invPlayer, TileEntity_FinishingAnvil te) { @@ -92,20 +90,20 @@ public class Gui_FinishingAnvil extends GuiContainer { super.initGui(); buttonList.add(new GuiButtonExt(1, guiLeft + 25, guiTop + 11, 10, 10, - "⇑")); + "")); buttonList.add(new GuiButtonExt(2, guiLeft + 25, guiTop + 61, 10, 10, - "⇓")); + "")); buttonList.add(new GuiButtonExt(3, guiLeft + 38, guiTop + 53, 18, 18, - "✓")); + "")); buttonList.add(new GuiButtonExt(4, guiLeft + 5, guiTop + 11, 20, 20, "")); buttonList.add(new GuiButtonExt(5, guiLeft + 5, guiTop + 31, 20, 20, "")); buttonList.add(new GuiButtonExt(6, guiLeft + 5, guiTop + 51, 20, 20, "")); buttonList.add(new GuiButtonExt(7, guiLeft + 141, guiTop + 11, 10, 10, - "⇑")); + "")); buttonList.add(new GuiButtonExt(8, guiLeft + 141, guiTop + 61, 10, 10, - "⇓")); + "")); buttonList.add(new GuiButtonExt(9, guiLeft + 151, guiTop + 11, 20, 20, "")); @@ -115,7 +113,7 @@ public class Gui_FinishingAnvil extends GuiContainer "")); buttonList.add(new GuiButtonExt(12, guiLeft + 38, guiTop + 11, 18, 18, - "∅")); + "")); buttonList.add(new GuiButtonExt(13, guiLeft + 120, guiTop + 11, 18, 18, "3D")); buttonList.add(new GuiButtonExt(14, guiLeft + 120, guiTop + 53, 18, 18, @@ -130,7 +128,7 @@ public class Gui_FinishingAnvil extends GuiContainer @Override protected void actionPerformed(GuiButton button) { - if(tags != null) + if(bigCopy != null && bigCopyTags != null) { switch(button.id) { @@ -155,27 +153,26 @@ public class Gui_FinishingAnvil extends GuiContainer case 4: leftSelect = 0 + leftButtonPosX; - rightButtonPosY = 0 + (leftButtonPosX * 3); + rightButtonPos = 0; + setRenders(); break; case 5: leftSelect = 1 + leftButtonPosX; - rightButtonPosY = 3 + (leftButtonPosX * 3); + rightButtonPos = 0; + setRenders(); break; case 6: leftSelect = 2 + leftButtonPosX; - rightButtonPosY = 6 + (leftButtonPosX * 3); + rightButtonPos = 0; + setRenders(); break; case 7: - if(rightButtonPosX > 0) + if(rightButtonPos > 0) { - rightButtonPosX--; - } - else if(rightButtonPosY > (0 + leftSelect * 4)) - { - rightButtonPosY--; - rightButtonPosX = 15; + rightButtonPos--; } + setRenders(); break; case 13: @@ -220,55 +217,53 @@ public class Gui_FinishingAnvil extends GuiContainer switch(id) { case 9: - if(tags.hasKey("Render" + renders[leftSelect])) + if(bigCopyTags.hasKey("Render" + renders[leftSelect])) { - tags.setInteger("Render" + renders[leftSelect], bigCopy.getTagCompound().getCompoundTag("InfiTool").getInteger(renders[leftSelect]) + ((rightButtonPosX + ((rightButtonPosY % 3) * 16)) * TinkersDefense.config.MaterialIndex)); - if(rightButtonPosX > 0) + bigCopyTags.setInteger("Render" + renders[leftSelect], bigCopy.getTagCompound().getCompoundTag("InfiTool").getInteger(renders[leftSelect]) + (rightButtonPos * TinkersDefense.config.MaterialIndex)); + if(rightButtonPos > 0) { - tags.setInteger(renders[leftSelect] + "Color", TConstructRegistry.getMaterial(tags.getInteger(renders[leftSelect])).primaryColor()); + bigCopyTags.setInteger(renders[leftSelect] + "Color", TConstructRegistry.getMaterial(bigCopyTags.getInteger(renders[leftSelect])).primaryColor()); } else { - tags.removeTag(renders[leftSelect] + "Color"); + bigCopyTags.removeTag(renders[leftSelect] + "Color"); } } break; case 10: - if(tags.hasKey("Render" + renders[leftSelect])) + if(bigCopyTags.hasKey("Render" + renders[leftSelect])) { - tags.setInteger("Render" + renders[leftSelect], bigCopy.getTagCompound().getCompoundTag("InfiTool").getInteger(renders[leftSelect]) + ((rightButtonPosX + 1 + ((rightButtonPosY % 3) * 16)) * TinkersDefense.config.MaterialIndex)); - tags.setInteger(renders[leftSelect] + "Color", TConstructRegistry.getMaterial(tags.getInteger(renders[leftSelect])).primaryColor()); + bigCopyTags.setInteger("Render" + renders[leftSelect], bigCopy.getTagCompound().getCompoundTag("InfiTool").getInteger(renders[leftSelect]) + ((rightButtonPos + 1) * TinkersDefense.config.MaterialIndex)); + bigCopyTags.setInteger(renders[leftSelect] + "Color", TConstructRegistry.getMaterial(bigCopyTags.getInteger(renders[leftSelect])).primaryColor()); } break; case 11: - if(tags.hasKey("Render" + renders[leftSelect])) + if(bigCopyTags.hasKey("Render" + renders[leftSelect])) { - tags.setInteger("Render" + renders[leftSelect], bigCopy.getTagCompound().getCompoundTag("InfiTool").getInteger(renders[leftSelect]) + ((rightButtonPosX + 2 + ((rightButtonPosY % 3) * 16)) * TinkersDefense.config.MaterialIndex)); - tags.setInteger(renders[leftSelect] + "Color", TConstructRegistry.getMaterial(tags.getInteger(renders[leftSelect])).primaryColor()); + bigCopyTags.setInteger("Render" + renders[leftSelect], bigCopy.getTagCompound().getCompoundTag("InfiTool").getInteger(renders[leftSelect]) + ((rightButtonPos + 2) * TinkersDefense.config.MaterialIndex)); + bigCopyTags.setInteger(renders[leftSelect] + "Color", TConstructRegistry.getMaterial(bigCopyTags.getInteger(renders[leftSelect])).primaryColor()); } break; case 12: - tags.setInteger("RenderHead", bigCopy.getTagCompound().getCompoundTag("InfiTool").getInteger(renders[0])); - tags.setInteger("RenderAccessory", bigCopy.getTagCompound().getCompoundTag("InfiTool").getInteger(renders[1])); - tags.setInteger("RenderHandle", bigCopy.getTagCompound().getCompoundTag("InfiTool").getInteger(renders[2])); - tags.setInteger("RenderExtra", bigCopy.getTagCompound().getCompoundTag("InfiTool").getInteger(renders[3])); - - tags.removeTag(renders[0] + "Color"); - tags.removeTag(renders[1] + "Color"); - tags.removeTag(renders[2] + "Color"); - tags.removeTag(renders[3] + "Color"); + bigCopyTags.setInteger("RenderHead", bigCopy.getTagCompound().getCompoundTag("InfiTool").getInteger(renders[0])); + bigCopyTags.setInteger("RenderAccessory", bigCopy.getTagCompound().getCompoundTag("InfiTool").getInteger(renders[1])); + bigCopyTags.setInteger("RenderHandle", bigCopy.getTagCompound().getCompoundTag("InfiTool").getInteger(renders[2])); + bigCopyTags.setInteger("RenderExtra", bigCopy.getTagCompound().getCompoundTag("InfiTool").getInteger(renders[3])); + + bigCopyTags.removeTag(renders[0] + "Color"); + bigCopyTags.removeTag(renders[1] + "Color"); + bigCopyTags.removeTag(renders[2] + "Color"); + bigCopyTags.removeTag(renders[3] + "Color"); + + setRenders(); break; case 8: - rightButtonPosX++; - if(rightButtonPosX >= 16) - { - rightButtonPosY++; - rightButtonPosX = 0; - } + rightButtonPos++; + setRenders(); break; } @@ -276,40 +271,32 @@ public class Gui_FinishingAnvil extends GuiContainer public void doArmorEdit(int id) { - final NBTTagCompound aTags = bigCopy.getTagCompound().getCompoundTag("ArmorRenderer"); + NBTTagCompound aTags = bigCopy.getTagCompound().getCompoundTag("ArmorRenderer"); final ArmorCore armor = (ArmorCore) bigCopy.getItem(); final List<ModelRenderer> boxes = armor.getRenderer().boxList; switch(id) { case 9: - aTags.setBoolean(boxes.get(rightButtonPosX + 9).boxName, !aTags.getBoolean(boxes.get(rightButtonPosX + (rightButtonPosY % 3) + 9).boxName)); + aTags.setBoolean(boxes.get(rightButtonPos + 9).boxName, !aTags.getBoolean(boxes.get(rightButtonPos + 9).boxName)); break; case 10: - aTags.setBoolean(boxes.get(rightButtonPosX + 1 + 9).boxName, !aTags.getBoolean(boxes.get(rightButtonPosX + 1 + (rightButtonPosY % 3) + 9).boxName)); + aTags.setBoolean(boxes.get(rightButtonPos + 1 + 9).boxName, !aTags.getBoolean(boxes.get(rightButtonPos + 1 + 9).boxName)); break; case 11: - aTags.setBoolean(boxes.get(rightButtonPosX + 2 + 9).boxName, !aTags.getBoolean(boxes.get(rightButtonPosX + 2 + (rightButtonPosY % 3) + 9).boxName)); + aTags.setBoolean(boxes.get(rightButtonPos + 2 + 9).boxName, !aTags.getBoolean(boxes.get(rightButtonPos + 2 + 9).boxName)); break; case 12: - tags.setInteger("RenderHead", bigCopy.getTagCompound().getCompoundTag("InfiTool").getInteger(renders[0])); - tags.setInteger("RenderAccessory", bigCopy.getTagCompound().getCompoundTag("InfiTool").getInteger(renders[1])); - tags.setInteger("RenderHandle", bigCopy.getTagCompound().getCompoundTag("InfiTool").getInteger(renders[2])); - tags.setInteger("RenderExtra", bigCopy.getTagCompound().getCompoundTag("InfiTool").getInteger(renders[3])); - - tags.removeTag(renders[0] + "Color"); - tags.removeTag(renders[1] + "Color"); - tags.removeTag(renders[2] + "Color"); - tags.removeTag(renders[3] + "Color"); + aTags = armor.getRenderer().defaultTags; break; case 8: - if(rightButtonPosX < boxes.size() - 12) + if(rightButtonPos < boxes.size() - 12) { - rightButtonPosX++; + rightButtonPos++; } break; @@ -320,17 +307,20 @@ public class Gui_FinishingAnvil extends GuiContainer public void drawScreen(int x, int y, float par3) { - if(inventory.getStackInSlot(0) != null) + if(inventory.getStackInSlot(0) != null && inventory.getStackInSlot(0).getItem() instanceof ToolCore) { if(bigCopy == null) { + rightButtonPos = 0; + leftButtonPosX = 0; bigCopy = inventory.getStackInSlot(0).copy(); if(bigCopy.hasTagCompound() && bigCopy.getTagCompound().hasKey("InfiTool")) { - tags = bigCopy.getTagCompound().getCompoundTag("InfiTool"); + bigCopyTags = bigCopy.getTagCompound().getCompoundTag("InfiTool"); } + setRenders(); } - else if(inventory.getStackInSlot(0).getItem() != bigCopy.getItem() || inventory.getStackInSlot(0).getItemDamage() != bigCopy.getItemDamage()) + else if(bigCopy != null && inventory.getStackInSlot(0).getItem() != bigCopy.getItem() || inventory.getStackInSlot(0).getItemDamage() != bigCopy.getItemDamage()) { bigCopy = null; } @@ -342,95 +332,52 @@ public class Gui_FinishingAnvil extends GuiContainer super.drawScreen(x, y, par3); drawTooltip(x, y); - xSize_lo = x; - ySize_lo = y; } @Override protected void drawGuiContainerForegroundLayer(int par1, int par2) { + mc.getTextureManager().bindTexture(iconLocation); + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + + drawTexturedModalRect(144, 14, 5, 167, 5, 3); + drawTexturedModalRect(144, 64, 0, 167, 5, 3); + drawTexturedModalRect(39, 54, 32, 176, 16, 16); + drawTexturedModalRect(39, 12, 48, 176, 16, 16); + drawTexturedModalRect(28, 14, 5, 167, 5, 3); + drawTexturedModalRect(28, 64, 0, 167, 5, 3); drawTexturedModalRect(121, 54, 16, 176, 16, 16); - xLIcon_one = 0; - yLIcon_one = 176; - xLIcon_two = 0; - yLIcon_two = 176; - xLIcon_three = 0; - yLIcon_three = 176; - - xRIcon_one = 0; - yRIcon_one = 176; - xRIcon_two = 0; - yRIcon_two = 176; - xRIcon_three = 0; - yRIcon_three = 176; - - if(inventory.getStackInSlot(0) != null) + if(bigCopy != null) { - editItem = inventory.getStackInSlot(0); - if(editItem.getItem() instanceof ToolCore) - { - //this.drawTexturedModelRectFromIcon(this.guiLeft+4, this.guiTop+14, - // ((ToolCore)this.inventorySlots.inventorySlots.get(0)).getHeadItem(), 16, 16); - - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - forGui = new ResourceLocation( - "tinkersdefense", - "textures/gui/" + ((ToolCore) editItem.getItem()).getDefaultFolder() + ".png"); - xLIcon_one = 32; - yLIcon_one = 0; - xLIcon_two = 48; - yLIcon_two = 0; - xLIcon_three = 64; - yLIcon_three = 0; - - xRIcon_one = 0; - yRIcon_one = 32; - xRIcon_two = 16; - yRIcon_two = 32; - xRIcon_three = 32; - yRIcon_three = 32; - } - } - if(forGui != null && bigCopy != null) - { if(!(bigCopy.getItem() instanceof ArmorCore)) { - mc.getTextureManager().bindTexture(forGui); - - if(inventory.getStackInSlot(0) != null) + if(renderFlat) { - // int leftMax = leftSelect; - // if(leftMax > 2) - // leftMax = 2; - drawTexturedModalRect(7, 13 + ((leftSelect - leftButtonPosX) * 20), 16, 0, 16, 16); - } - - drawTexturedModalRect(7, 13, xLIcon_one + (leftButtonPosX * 16), yLIcon_one + 0, 16, 16); - drawTexturedModalRect(7, 33, xLIcon_two + (leftButtonPosX * 16), yLIcon_two + 0, 16, 16); - drawTexturedModalRect(7, 53, xLIcon_three + (leftButtonPosX * 16), yLIcon_three + 0, 16, 16); + if(leftSelect > 2) + { + drawTexturedModalRect(7, 13, 16, 192, 16, 16); + drawTexturedModalRect(7, 33, 32, 192, 16, 16); + drawTexturedModalRect(7, 53, 48, 192, 16, 16); + } + else + { + drawTexturedModalRect(7, 13, 0, 192, 16, 16); + drawTexturedModalRect(7, 33, 16, 192, 16, 16); + drawTexturedModalRect(7, 53, 32, 192, 16, 16); + } - drawTexturedModalRect(153, 13, xRIcon_one + (rightButtonPosX * 16), yRIcon_one + (rightButtonPosY * 16), 16, 16); + ((GuiButtonExt) buttonList.get(14)).enabled = false; + ((GuiButtonExt) buttonList.get(15)).enabled = false; + ((GuiButtonExt) buttonList.get(12)).displayString = "3D"; - if(rightButtonPosX + 1 < 16) - { - drawTexturedModalRect(153, 33, xRIcon_two + (rightButtonPosX * 16), yRIcon_two + (rightButtonPosY * 16), 16, 16); - } - else - { - drawTexturedModalRect(153, 33, xRIcon_two + ((rightButtonPosX - 16) * 16), yRIcon_two + ((rightButtonPosY + 1) * 16), 16, 16); - } + normalRender.renderItemAndEffectIntoGUI(fontRendererObj, mc.getTextureManager(), rightCopy1, 153, 13); + normalRender.renderItemAndEffectIntoGUI(fontRendererObj, mc.getTextureManager(), rightCopy2, 153, 33); + normalRender.renderItemAndEffectIntoGUI(fontRendererObj, mc.getTextureManager(), rightCopy3, 153, 53); - if(rightButtonPosX + 2 < 16) - { - drawTexturedModalRect(153, 53, xRIcon_three + (rightButtonPosX * 16), yRIcon_three + (rightButtonPosY * 16), 16, 16); - } - else - { - drawTexturedModalRect(153, 53, xRIcon_three + ((rightButtonPosX - 16) * 16), yRIcon_three + ((rightButtonPosY + 1) * 16), 16, 16); } } else @@ -443,37 +390,32 @@ public class Gui_FinishingAnvil extends GuiContainer drawTexturedModalRect(7, 33, 0, 176, 16, 16); drawTexturedModalRect(7, 53, 0, 176, 16, 16); - //drawTexturedModalRect(153, 13, xRIcon_one + (rightButtonPosX * 16), yRIcon_one + (rightButtonPosY * 16), 16, 16); + //drawTexturedModalRect(153, 13, xRIcon_one + (rightButtonPos * 16), yRIcon_one + (rightButtonPosY * 16), 16, 16); - drawTexturedModalRect(153, 13, 64 + ((aTags.getBoolean(boxes.get(rightButtonPosX + 9).boxName) ? 0 : 1) * 16), 176, 16, 16); - drawTexturedModalRect(153, 33, 64 + ((aTags.getBoolean(boxes.get(rightButtonPosX + 1 + 9).boxName) ? 0 : 1) * 16), 176, 16, 16); - drawTexturedModalRect(153, 53, 64 + ((aTags.getBoolean(boxes.get(rightButtonPosX + 2 + 9).boxName) ? 0 : 1) * 16), 176, 16, 16); + drawTexturedModalRect(153, 13, 64 + ((aTags.getBoolean(boxes.get(rightButtonPos + 9).boxName) ? 0 : 1) * 16), 176, 16, 16); + drawTexturedModalRect(153, 33, 64 + ((aTags.getBoolean(boxes.get(rightButtonPos + 1 + 9).boxName) ? 0 : 1) * 16), 176, 16, 16); + drawTexturedModalRect(153, 53, 64 + ((aTags.getBoolean(boxes.get(rightButtonPos + 2 + 9).boxName) ? 0 : 1) * 16), 176, 16, 16); + + } + if(renderFlat) + { + bigRender.renderItemAndEffectIntoGUI(fontRendererObj, mc.getTextureManager(), bigCopy, 17, 4); } + } - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + } @Override protected void drawGuiContainerBackgroundLayer(float par1, int par2, int par3) { - mc.getTextureManager().bindTexture(iconLocation); final int k = ((width - xSize) / 2); final int l = (height - ySize) / 2; drawTexturedModalRect(k, l, 0, 0, xSize + 80, ySize); - if(renderFlat) - { - ((GuiButtonExt) buttonList.get(14)).enabled = false; - ((GuiButtonExt) buttonList.get(15)).enabled = false; - ((GuiButtonExt) buttonList.get(12)).displayString = "3D"; - - final ScaledResolution scaledresolution = new ScaledResolution(mc, - mc.displayWidth, mc.displayHeight); - bigRender.renderItemAndEffectIntoGUI(fontRendererObj, mc.getTextureManager(), bigCopy, (int) (((scaledresolution.getScaledWidth() - 58) / 2) / 3.4), (int) (((scaledresolution.getScaledHeight() - 136) / 2) / 3.4)); - } - else + if(!renderFlat) { if(bigCopy != null && bigCopy.getItem() instanceof ArmorCore) { @@ -487,8 +429,6 @@ public class Gui_FinishingAnvil extends GuiContainer final ArmorRenderer renderer = (ArmorRenderer) armor.getArmorModel(null, bigCopy, 0); renderer.isChild = false; - final float yaw = player.player.prevRotationYawHead + (player.player.rotationYawHead - player.player.prevRotationYawHead); - final float yawOffset = player.player.prevRenderYawOffset + (player.player.renderYawOffset - player.player.prevRenderYawOffset); final float limbs = player.player.prevLimbSwingAmount + (player.player.limbSwingAmount - player.player.prevLimbSwingAmount); final float limbSwing = player.player.limbSwing - player.player.limbSwingAmount * (1.0F); @@ -525,16 +465,17 @@ public class Gui_FinishingAnvil extends GuiContainer final ModelBiped biped = new ModelBiped(0f); //biped.bipedHeadwear.isHidden = true; //biped.bipedHead.isHidden = true; - ResourceLocation rc = AbstractClientPlayer.getLocationSkin(player.player.getDisplayName()); - ; + final ResourceLocation rc = new ResourceLocation( + Minecraft.getMinecraft().thePlayer.getLocationSkin().toString()); + FMLClientHandler.instance().getClient().renderEngine.bindTexture(rc); - final ITextureObject tex = FMLClientHandler.instance().getClient().getTextureManager().getTexture(rc); - if(tex.getGlTextureId() == 1) - { - rc = new ResourceLocation( - "minecraft:textures/entity/steve.png"); - FMLClientHandler.instance().getClient().renderEngine.bindTexture(rc); - } + // final ITextureObject tex = FMLClientHandler.instance().getClient().getTextureManager().getTexture(rc); + // if(tex.getGlTextureId() == 1) + // { + // rc = new ResourceLocation( + // "minecraft:textures/entity/steve.png"); + // FMLClientHandler.instance().getClient().renderEngine.bindTexture(rc); + // } biped.isChild = false; biped.render(player.player, limbSwing, limbs, player.player.ticksExisted, 0, 0, 0.0625f); @@ -556,6 +497,7 @@ public class Gui_FinishingAnvil extends GuiContainer renderFlat = true; } } + } protected void drawTooltip(int x, int y) @@ -572,7 +514,8 @@ public class Gui_FinishingAnvil extends GuiContainer if(bigCopy != null && bigCopy.getItem() instanceof ToolCore) { final ToolCore tool = (ToolCore) bigCopy.getItem(); - final ToolCoreTip tt = ((Injector) TinkersDefense.tcInject).tools.get(tool.getToolName()); + final String toolName = tool.getUnlocalizedName().toLowerCase().substring(tool.getUnlocalizedName().lastIndexOf('.') + 1, tool.getUnlocalizedName().length()); + final ToolCoreTip tt = ((Injector) TinkersDefense.tcInject).tools.get(toolName); final List<String> list = new ArrayList(); if(tt != null) @@ -582,25 +525,25 @@ public class Gui_FinishingAnvil extends GuiContainer case 0: list.add(tt.getPart(1 + leftButtonPosX)); break; - case 1: + case 2: list.add(tt.getPart(3 + leftButtonPosX)); break; - case 2: + case 1: list.add(tt.getPart(2 + leftButtonPosX)); break; case 3: - list.add(tt.getPartName(leftSelect + 1, (rightButtonPosX + ((rightButtonPosY % 3) * 16)))); + list.add(tt.getPartName(leftSelect + 1, (rightButtonPos))); break; case 4: - list.add(tt.getPartName(leftSelect + 1, (rightButtonPosX + 1 + ((rightButtonPosY % 3) * 16)))); + list.add(tt.getPartName(leftSelect + 1, (rightButtonPos + 1))); break; case 5: - list.add(tt.getPartName(leftSelect + 1, (rightButtonPosX + 2 + ((rightButtonPosY % 3) * 16)))); + list.add(tt.getPartName(leftSelect + 1, (rightButtonPos + 2))); break; } - if(list.get(0).contains("Metallurgy")) + if(list.get(0).contains("m5")) { list.add(" -by Shadowclaimer"); } @@ -608,7 +551,7 @@ public class Gui_FinishingAnvil extends GuiContainer } else if(bigCopy.getItem() instanceof ArmorCore) { - final NBTTagCompound aTags = bigCopy.getTagCompound().getCompoundTag("ArmorRenderer"); + bigCopy.getTagCompound().getCompoundTag("ArmorRenderer"); final ArmorCore armor = (ArmorCore) bigCopy.getItem(); final List<ModelRenderer> boxes = armor.getRenderer().boxList; @@ -620,13 +563,13 @@ public class Gui_FinishingAnvil extends GuiContainer break; case 3: - list.add(boxes.get(rightButtonPosX + 9).boxName); + list.add(boxes.get(rightButtonPos + 9).boxName); break; case 4: - list.add(boxes.get(rightButtonPosX + 1 + 9).boxName); + list.add(boxes.get(rightButtonPos + 1 + 9).boxName); break; case 5: - list.add(boxes.get(rightButtonPosX + 2 + 9).boxName); + list.add(boxes.get(rightButtonPos + 2 + 9).boxName); break; } func_146283_a(list, x, y); @@ -640,4 +583,25 @@ public class Gui_FinishingAnvil extends GuiContainer } } } + + void setRenders() + { + rightCopy1 = bigCopy.copy(); + rightCopyTags1 = (NBTTagCompound) bigCopyTags.copy(); + rightCopyTags1.setInteger("Render" + renders[leftSelect], bigCopy.getTagCompound().getCompoundTag("InfiTool").getInteger(renders[leftSelect]) + ((rightButtonPos) * TinkersDefense.config.MaterialIndex)); + rightCopyTags1.setInteger(renders[leftSelect] + "Color", TConstructRegistry.getMaterial(bigCopyTags.getInteger(renders[leftSelect])).primaryColor()); + rightCopy1.getTagCompound().setTag("InfiTool", rightCopyTags1); + + rightCopy2 = bigCopy.copy(); + rightCopyTags2 = (NBTTagCompound) bigCopyTags.copy(); + rightCopyTags2.setInteger("Render" + renders[leftSelect], bigCopy.getTagCompound().getCompoundTag("InfiTool").getInteger(renders[leftSelect]) + ((rightButtonPos + 1) * TinkersDefense.config.MaterialIndex)); + rightCopyTags2.setInteger(renders[leftSelect] + "Color", TConstructRegistry.getMaterial(bigCopyTags.getInteger(renders[leftSelect])).primaryColor()); + rightCopy2.getTagCompound().setTag("InfiTool", rightCopyTags2); + + rightCopy3 = bigCopy.copy(); + rightCopyTags3 = (NBTTagCompound) bigCopyTags.copy(); + rightCopyTags3.setInteger("Render" + renders[leftSelect], bigCopy.getTagCompound().getCompoundTag("InfiTool").getInteger(renders[leftSelect]) + ((rightButtonPos + 2) * TinkersDefense.config.MaterialIndex)); + rightCopyTags3.setInteger(renders[leftSelect] + "Color", TConstructRegistry.getMaterial(bigCopyTags.getInteger(renders[leftSelect])).primaryColor()); + rightCopy3.getTagCompound().setTag("InfiTool", rightCopyTags3); + } } diff --git a/src/main/java/lance5057/tDefense/finishingAnvil/blocks/finishingAnvil/ModelFinishingAnvil.java b/src/main/java/lance5057/tDefense/finishingAnvil/blocks/finishingAnvil/ModelFinishingAnvil.java index cf7253a..843b6c9 100644 --- a/src/main/java/lance5057/tDefense/finishingAnvil/blocks/finishingAnvil/ModelFinishingAnvil.java +++ b/src/main/java/lance5057/tDefense/finishingAnvil/blocks/finishingAnvil/ModelFinishingAnvil.java @@ -19,38 +19,38 @@ public class ModelFinishingAnvil extends ModelBase public ModelFinishingAnvil() { - this.textureWidth = 64; - this.textureHeight = 64; - this.AnvilTop = new ModelRenderer(this, 0, 22); - this.AnvilTop.setRotationPoint(-4.0F, 6.0F, -6.0F); - this.AnvilTop.addBox(0.0F, 0.0F, 0.0F, 8, 6, 12, 0.0F); - this.HammerHead = new ModelRenderer(this, 15, 21); - this.HammerHead.setRotationPoint(-1.3F, 4.0F, 0.0F); - this.HammerHead.addBox(0.0F, 0.0F, 0.0F, 3, 2, 2, 0.0F); - this.setRotateAngle(HammerHead, 0.091106186954104F, -0.5462880558742251F, 0.0F); - this.AnvilStem = new ModelRenderer(this, 10, 32); - this.AnvilStem.setRotationPoint(-2.0F, 12.0F, -3.0F); - this.AnvilStem.addBox(0.0F, 0.0F, 0.0F, 4, 2, 6, 0.0F); - this.HammerHandle = new ModelRenderer(this, 17, 47); - this.HammerHandle.setRotationPoint(1.0F, 0.5F, -6.0F); - this.HammerHandle.addBox(0.0F, 0.0F, 0.0F, 1, 1, 6, 0.0F); - this.AnvilBase = new ModelRenderer(this, 2, 28); - this.AnvilBase.setRotationPoint(-4.0F, 14.0F, -5.0F); - this.AnvilBase.addBox(0.0F, 0.0F, 0.0F, 8, 2, 10, 0.0F); - this.Log = new ModelRenderer(this, 0, 40); - this.Log.setRotationPoint(-8.0F, 16.0F, -8.0F); - this.Log.addBox(0.0F, 0.0F, 0.0F, 16, 8, 16, 0.0F); - this.HammerHead.addChild(this.HammerHandle); + textureWidth = 64; + textureHeight = 64; + AnvilTop = new ModelRenderer(this, 0, 22); + AnvilTop.setRotationPoint(-4.0F, 6.0F, -6.0F); + AnvilTop.addBox(0.0F, 0.0F, 0.0F, 8, 6, 12, 0.0F); + HammerHead = new ModelRenderer(this, 15, 21); + HammerHead.setRotationPoint(-1.3F, 4.0F, 0.0F); + HammerHead.addBox(0.0F, 0.0F, 0.0F, 3, 2, 2, 0.0F); + setRotateAngle(HammerHead, 0.091106186954104F, -0.5462880558742251F, 0.0F); + AnvilStem = new ModelRenderer(this, 10, 32); + AnvilStem.setRotationPoint(-2.0F, 12.0F, -3.0F); + AnvilStem.addBox(0.0F, 0.0F, 0.0F, 4, 2, 6, 0.0F); + HammerHandle = new ModelRenderer(this, 17, 47); + HammerHandle.setRotationPoint(1.0F, 0.5F, -6.0F); + HammerHandle.addBox(0.0F, 0.0F, 0.0F, 1, 1, 6, 0.0F); + AnvilBase = new ModelRenderer(this, 2, 28); + AnvilBase.setRotationPoint(-4.0F, 14.0F, -5.0F); + AnvilBase.addBox(0.0F, 0.0F, 0.0F, 8, 2, 10, 0.0F); + Log = new ModelRenderer(this, 0, 40); + Log.setRotationPoint(-8.0F, 16.0F, -8.0F); + Log.addBox(0.0F, 0.0F, 0.0F, 16, 8, 16, 0.0F); + HammerHead.addChild(HammerHandle); } @Override public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { - this.AnvilTop.render(f5); - this.HammerHead.render(f5); - this.AnvilStem.render(f5); - this.AnvilBase.render(f5); - this.Log.render(f5); + AnvilTop.render(f5); + HammerHead.render(f5); + AnvilStem.render(f5); + AnvilBase.render(f5); + Log.render(f5); } /** diff --git a/src/main/java/lance5057/tDefense/finishingAnvil/blocks/finishingAnvil/RenderItem_FinishingAnvil.java b/src/main/java/lance5057/tDefense/finishingAnvil/blocks/finishingAnvil/RenderItem_FinishingAnvil.java index edbd414..834b583 100644 --- a/src/main/java/lance5057/tDefense/finishingAnvil/blocks/finishingAnvil/RenderItem_FinishingAnvil.java +++ b/src/main/java/lance5057/tDefense/finishingAnvil/blocks/finishingAnvil/RenderItem_FinishingAnvil.java @@ -11,31 +11,35 @@ import org.lwjgl.opengl.GL11; public class RenderItem_FinishingAnvil extends RenderItem { - private Gui_FinishingAnvil anvilGui; + private final Gui_FinishingAnvil anvilGui; + float sx; + float sy; + float sz; - RenderItem_FinishingAnvil(Gui_FinishingAnvil gui) + RenderItem_FinishingAnvil(Gui_FinishingAnvil gui, float sx, float sy, float sz) { super(); anvilGui = gui; + this.sx = sx; + this.sy = sy; + this.sz = sz; } @Override public void renderItemAndEffectIntoGUI(FontRenderer fontRenderer, TextureManager textureManager, ItemStack itemStack, int x, int y) { if(itemStack == null) - { return; - } RenderHelper.enableGUIStandardItemLighting(); - Slot slot = anvilGui.inventorySlots.getSlotFromInventory(anvilGui.inventory, 0); + final Slot slot = anvilGui.inventorySlots.getSlotFromInventory(anvilGui.inventory, 0); if(slot.getStack() != null) { GL11.glPushMatrix(); - GL11.glScalef(3.438f, 3.43f, 1.0f); + GL11.glScalef(sx, sy, sz); super.renderItemAndEffectIntoGUI(fontRenderer, textureManager, itemStack, x, y); GL11.glPopMatrix(); diff --git a/src/main/java/lance5057/tDefense/finishingAnvil/blocks/finishingAnvil/Renderer_FinishingAnvil.java b/src/main/java/lance5057/tDefense/finishingAnvil/blocks/finishingAnvil/Renderer_FinishingAnvil.java index db95e9f..c3013e4 100644 --- a/src/main/java/lance5057/tDefense/finishingAnvil/blocks/finishingAnvil/Renderer_FinishingAnvil.java +++ b/src/main/java/lance5057/tDefense/finishingAnvil/blocks/finishingAnvil/Renderer_FinishingAnvil.java @@ -14,7 +14,7 @@ public class Renderer_FinishingAnvil extends TileEntitySpecialRenderer public Renderer_FinishingAnvil() { - this.model = new ModelFinishingAnvil(); + model = new ModelFinishingAnvil(); } @Override @@ -25,17 +25,18 @@ public class Renderer_FinishingAnvil extends TileEntitySpecialRenderer GL11.glTranslatef((float) x + 0.5F, (float) y + 1.5F, (float) z + 0.5F); - ResourceLocation textures = (new ResourceLocation("tinkersdefense:textures/blocks/ArmorAnvil.png")); + final ResourceLocation textures = (new ResourceLocation( + "tinkersdefense:textures/blocks/armoranvil.png")); Minecraft.getMinecraft().renderEngine.bindTexture(textures); GL11.glPushMatrix(); - int meta = te.getBlockMetadata(); + te.getBlockMetadata(); GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F); - this.model.render((Entity) null, 0.0F, 0.0F, -0.1F, 0.0F, 0.0F, 0.0625F); + model.render((Entity) null, 0.0F, 0.0F, -0.1F, 0.0F, 0.0F, 0.0625F); GL11.glPopMatrix(); GL11.glPopMatrix(); diff --git a/src/main/java/lance5057/tDefense/finishingAnvil/blocks/finishingAnvil/TileEntity_FinishingAnvil.java b/src/main/java/lance5057/tDefense/finishingAnvil/blocks/finishingAnvil/TileEntity_FinishingAnvil.java index 3e68d51..e0567bb 100644 --- a/src/main/java/lance5057/tDefense/finishingAnvil/blocks/finishingAnvil/TileEntity_FinishingAnvil.java +++ b/src/main/java/lance5057/tDefense/finishingAnvil/blocks/finishingAnvil/TileEntity_FinishingAnvil.java @@ -33,7 +33,7 @@ public class TileEntity_FinishingAnvil extends TileEntity implements IInventory @Override public Packet getDescriptionPacket() { - NBTTagCompound tag = new NBTTagCompound(); + final NBTTagCompound tag = new NBTTagCompound(); writeToNBT(tag); return new S35PacketUpdateTileEntity(xCoord, yCoord, zCoord, 0, tag); } @@ -76,7 +76,7 @@ public class TileEntity_FinishingAnvil extends TileEntity implements IInventory setInventorySlotContents(slot, null); } - this.markDirty(); + markDirty(); } return stack; } @@ -84,7 +84,7 @@ public class TileEntity_FinishingAnvil extends TileEntity implements IInventory @Override public ItemStack getStackInSlotOnClosing(int slot) { - ItemStack stack = getStackInSlot(slot); + final ItemStack stack = getStackInSlot(slot); if(stack != null) { @@ -96,14 +96,14 @@ public class TileEntity_FinishingAnvil extends TileEntity implements IInventory @Override public void setInventorySlotContents(int slot, ItemStack itemstack) { - this.inventory[slot] = itemstack; + inventory[slot] = itemstack; - if(itemstack != null && itemstack.stackSize > this.getInventoryStackLimit()) + if(itemstack != null && itemstack.stackSize > getInventoryStackLimit()) { - itemstack.stackSize = this.getInventoryStackLimit(); + itemstack.stackSize = getInventoryStackLimit(); } - this.markDirty(); + markDirty(); } @Override @@ -164,11 +164,11 @@ public class TileEntity_FinishingAnvil extends TileEntity implements IInventory public void readInventoryFromNBT(NBTTagCompound tags) { - NBTTagList nbttaglist = tags.getTagList("Items", Constants.NBT.TAG_COMPOUND); + final NBTTagList nbttaglist = tags.getTagList("Items", Constants.NBT.TAG_COMPOUND); for(int iter = 0; iter < nbttaglist.tagCount(); iter++) { - NBTTagCompound tagList = (NBTTagCompound) nbttaglist.getCompoundTagAt(iter); - byte slotID = tagList.getByte("Slot"); + final NBTTagCompound tagList = nbttaglist.getCompoundTagAt(iter); + final byte slotID = tagList.getByte("Slot"); if(slotID >= 0 && slotID < inventory.length) { inventory[slotID] = ItemStack.loadItemStackFromNBT(tagList); @@ -178,12 +178,12 @@ public class TileEntity_FinishingAnvil extends TileEntity implements IInventory public void writeInventoryToNBT(NBTTagCompound tags) { - NBTTagList nbttaglist = new NBTTagList(); + final NBTTagList nbttaglist = new NBTTagList(); for(int iter = 0; iter < inventory.length; iter++) { if(inventory[iter] != null) { - NBTTagCompound tagList = new NBTTagCompound(); + final NBTTagCompound tagList = new NBTTagCompound(); tagList.setByte("Slot", (byte) iter); inventory[iter].writeToNBT(tagList); nbttaglist.appendTag(tagList); diff --git a/src/main/java/lance5057/tDefense/finishingAnvil/utilities/FileGetter.java b/src/main/java/lance5057/tDefense/finishingAnvil/utilities/FileGetter.java new file mode 100644 index 0000000..9221376 --- /dev/null +++ b/src/main/java/lance5057/tDefense/finishingAnvil/utilities/FileGetter.java @@ -0,0 +1,21 @@ +package lance5057.tDefense.finishingAnvil.utilities; + +import java.nio.file.FileVisitResult; +import java.nio.file.Path; +import java.nio.file.SimpleFileVisitor; +import java.nio.file.attribute.BasicFileAttributes; +import java.util.ArrayList; +import java.util.List; + +public class FileGetter extends SimpleFileVisitor<Path> +{ + final public List<String> filenames = new ArrayList<String>(); + + @Override + public FileVisitResult visitFile(Path file, + BasicFileAttributes attr) + { + filenames.add(file.getFileName().toString()); + return FileVisitResult.CONTINUE; + } +} diff --git a/src/main/java/lance5057/tDefense/finishingAnvil/utilities/Injector.java b/src/main/java/lance5057/tDefense/finishingAnvil/utilities/Injector.java index 375b2e5..2b754f0 100644 --- a/src/main/java/lance5057/tDefense/finishingAnvil/utilities/Injector.java +++ b/src/main/java/lance5057/tDefense/finishingAnvil/utilities/Injector.java @@ -1,14 +1,23 @@ package lance5057.tDefense.finishingAnvil.utilities; +import java.io.IOException; +import java.net.URISyntaxException; +import java.nio.file.FileSystem; +import java.nio.file.FileSystems; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import lance5057.tDefense.TinkersDefense; +import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.item.Item; import net.minecraft.util.IIcon; +import net.minecraft.util.ResourceLocation; import tconstruct.library.TConstructRegistry; import tconstruct.library.crafting.PatternBuilder; import tconstruct.library.crafting.PatternBuilder.MaterialSet; @@ -28,12 +37,53 @@ public class Injector extends ToolCore super(0); } - protected void loadHeads(IIconRegister iconRegister) + protected void loadHeads(IIconRegister iconRegister) throws IOException, URISyntaxException { + // final URL jarFile = + // TinkersDefense.class.getResource("assets/tinkersdefense/textures/items/"); + final int toolLength = TConstructRegistry.tools.size(); for(int i = 0; i < toolLength; i++) { + final String toolName = TConstructRegistry.tools.get(i).getUnlocalizedName().toLowerCase().substring(TConstructRegistry.tools.get(i).getUnlocalizedName().lastIndexOf('.') + 1, TConstructRegistry.tools.get(i).getUnlocalizedName().length()); + final String path = "/assets/tinkersdefense/textures/items/" + toolName + "/"; + + final ResourceLocation loc = new ResourceLocation( + "tinkersdefense:textures/items/"); + //final InputStream in = Minecraft.getMinecraft().getResourceManager().getResource(loc).getInputStream(); + //final List<String> filenames = new ArrayList<String>(); + //final File files = new File(Minecraft.getMinecraft().mcDataDir.getPath() + "/mods/tinkersdefense-1.3.6.jar"); + + final Path zipfile = Paths.get(Minecraft.getMinecraft().mcDataDir.getPath() + "/mods/tinkersdefense-1.3.6.jar"); + final FileSystem fs = FileSystems.newFileSystem(zipfile, Minecraft.class.getClassLoader()); + + final Path root = fs.getPath(path); + //final Iterable<FileStore> files = fs.getFileStores(); + final FileGetter fileget = new FileGetter(); + + Files.walkFileTree(root, fileget); + + //IDE + //final File files = new File(url.toURI()); + + if(TinkersDefense.config.debug) + { + for(final String file : fileget.filenames) + { + System.out.println(file); + } + } + setup(TConstructRegistry.tools.get(i), toolName, fileget.filenames, iconRegister); + } + } + + //} + //} + + private void setup(ToolCore tool, String name, List<String> filenames, IIconRegister iconRegister) + { + { heads.clear(); accessories.clear(); handles.clear(); @@ -48,45 +98,116 @@ public class Injector extends ToolCore extraStrings.clear(); extraIcons.clear(); - final ToolCore tool = TConstructRegistry.tools.get(i); - final IIcon origHead = tool.headIcons.get(-1); final IIcon origAccessory = tool.accessoryIcons.get(-1); final IIcon origHandle = tool.handleIcons.get(-1); final IIcon origExtra = tool.extraIcons.get(-1); - if(tool.getToolName().equals("Battleaxe")) - { - BattleAxe(); - } - if(tool.getToolName().equals("Arrow")) - { - Arrow(); - } - if(tool.getToolName().equals("Broadsword")) - { - Broadsword(); - } - if(tool.getToolName().equals("Battlesign")) - { - Battlesign(); - } - if(tool.getToolName().equals("Hatchet")) - { - Axe(); - } - if(tool.getToolName().equals("Mattock")) - { - Mattock(); - } - if(tool.getToolName().equals("Longbow")) - { - Longbow(); - } - if(tool.getToolName().equals("HeaterShield")) + final ToolCoreTip tt = new ToolCoreTip(); + + tt.accessory = "Accessory"; + tt.head = "Head"; + tt.handle = "Handle"; + tt.extra = "Extra"; + + tt.headTT.add("Standard"); + tt.accessoryTT.add("Standard"); + tt.handleTT.add("Standard"); + tt.extraTT.add("Standard"); + + for(int i = 0; i < filenames.size(); i++) { - HeaterShield(); + final String filename = filenames.get(i); + + if(filename.contains("head")) + { + String formatted = filename.substring(0, filename.indexOf(".png")); + heads.add(formatted); + formatted = formatted.substring(1, formatted.length()); + formatted = formatted.replace('_', ' '); + tt.headTT.add(formatted); + } + + if(filename.contains("accessory")) + { + String formatted = filename.substring(0, filename.indexOf(".png")); + accessories.add(formatted); + formatted = formatted.substring(1, formatted.length()); + formatted.replace("_", " "); + tt.accessoryTT.add(formatted); + } + + if(filename.contains("handle")) + { + String formatted = filename.substring(0, filename.indexOf(".png")); + handles.add(formatted); + formatted = formatted.substring(1, formatted.length()); + formatted.replace("_", " "); + tt.handleTT.add(formatted); + } + + if(filename.contains("extra")) + { + String formatted = filename.substring(0, filename.indexOf(".png")); + extras.add(formatted); + formatted = formatted.substring(1, formatted.length()); + formatted.replace("_", " "); + tt.extraTT.add(formatted); + } } + // tt.headTT.add("Magic Backhead"); + // tt.headTT.add("Scythe Backhead"); + // + // extras.add("_magic_extra"); + // extras.add("_scythe_extra"); + // extras.add("_halbard_extra"); + // extras.add("_ornate_extra"); + // + // tt.extraTT.add("Halbard Head"); + // tt.extraTT.add("Magic Head"); + // tt.extraTT.add("Scythe Head"); + // tt.extraTT.add("Ornate Head"); + // + // accessories.add("_magic_accessory"); + // accessories.add("_halbard_accessory"); + // accessories.add("_knob_accessory"); + + //Metallurgy 5 + + tools.put(name, tt); + + // if(tool.getToolName().equals("Battleaxe")) + // { + // BattleAxe(); + // } + // if(tool.getToolName().equals("Arrow")) + // { + // Arrow(); + // } + // if(tool.getToolName().equals("Broadsword")) + // { + // Broadsword(); + // } + // if(tool.getToolName().equals("Battlesign")) + // { + // Battlesign(); + // } + // if(tool.getToolName().equals("Hatchet")) + // { + // Axe(); + // } + // if(tool.getToolName().equals("Mattock")) + // { + // Mattock(); + // } + // if(tool.getToolName().equals("Longbow")) + // { + // Longbow(); + // } + // if(tool.getToolName().equals("HeaterShield")) + // { + // HeaterShield(); + // } setupIcons(tool, iconRegister, heads, headStrings, headIcons); setupIcons(tool, iconRegister, accessories, accessoryStrings, accessoryIcons); setupIcons(tool, iconRegister, handles, handleStrings, handleIcons); @@ -114,7 +235,18 @@ public class Injector extends ToolCore @Override public void registerIcons(IIconRegister iconRegister) { - loadHeads(iconRegister); + try + { + loadHeads(iconRegister); + } + catch(final IOException e) + { + System.out.print("No Finishing Anvil for you"); + } + catch(final URISyntaxException e) + { + System.out.print("No Finishing Anvil for you"); + } } @Override diff --git a/src/main/java/lance5057/tDefense/finishingAnvil/utilities/ToolCoreTip.java b/src/main/java/lance5057/tDefense/finishingAnvil/utilities/ToolCoreTip.java index 7da31f0..e93a11d 100644 --- a/src/main/java/lance5057/tDefense/finishingAnvil/utilities/ToolCoreTip.java +++ b/src/main/java/lance5057/tDefense/finishingAnvil/utilities/ToolCoreTip.java @@ -25,9 +25,9 @@ public class ToolCoreTip { case 1: return head; - case 2: - return handle; case 3: + return handle; + case 2: return accessory; case 4: return extra; @@ -41,16 +41,16 @@ public class ToolCoreTip switch(partId) { case 1: - if(headTT.size() > 0 && headTT.size() >= id - 1 && headTT.get(id) != null) + if(headTT.size() > 0 && headTT.size() - 1 >= id && headTT.get(id) != null) return headTT.get(id); - case 2: - if(handleTT.size() > 0 && handleTT.size() >= id - 1 && handleTT.get(id) != null) - return handleTT.get(id); case 3: - if(accessoryTT.size() > 0 && accessoryTT.size() >= id - 1 && accessoryTT.get(id) != null) + if(handleTT.size() > 0 && handleTT.size() - 1 >= id && handleTT.get(id) != null) + return handleTT.get(id); + case 2: + if(accessoryTT.size() > 0 && accessoryTT.size() - 1 >= id && accessoryTT.get(id) != null) return accessoryTT.get(id); case 4: - if(extraTT.size() > 0 && extraTT.size() >= id - 1 && extraTT.get(id) != null) + if(extraTT.size() > 0 && extraTT.size() - 1 >= id && extraTT.get(id) != null) return extraTT.get(id); default: return ""; |
