summaryrefslogtreecommitdiff
path: root/src/main/java/lance5057/tDefense/finishingAnvil
diff options
context:
space:
mode:
authorLance5057 <Lance5057@gmail.com>2016-08-06 21:47:17 -0500
committerLance5057 <Lance5057@gmail.com>2016-08-06 21:47:17 -0500
commitd10fd21692bad49e75a7d665005df940c91942f8 (patch)
treefdc1be156df395c88a934f6f97487e78b36a8138 /src/main/java/lance5057/tDefense/finishingAnvil
parentff41fd97eb377dd1ebd78b4b56e81c59ca786667 (diff)
Launch update
Only a week behind...
Diffstat (limited to 'src/main/java/lance5057/tDefense/finishingAnvil')
-rw-r--r--src/main/java/lance5057/tDefense/finishingAnvil/blocks/finishingAnvil/Container_FinishingAnvil.java3
-rw-r--r--src/main/java/lance5057/tDefense/finishingAnvil/blocks/finishingAnvil/FinishingAnvil.java33
-rw-r--r--src/main/java/lance5057/tDefense/finishingAnvil/blocks/finishingAnvil/Gui_FinishingAnvil.java348
-rw-r--r--src/main/java/lance5057/tDefense/finishingAnvil/blocks/finishingAnvil/ModelFinishingAnvil.java54
-rw-r--r--src/main/java/lance5057/tDefense/finishingAnvil/blocks/finishingAnvil/RenderItem_FinishingAnvil.java16
-rw-r--r--src/main/java/lance5057/tDefense/finishingAnvil/blocks/finishingAnvil/Renderer_FinishingAnvil.java9
-rw-r--r--src/main/java/lance5057/tDefense/finishingAnvil/blocks/finishingAnvil/TileEntity_FinishingAnvil.java24
-rw-r--r--src/main/java/lance5057/tDefense/finishingAnvil/utilities/FileGetter.java21
-rw-r--r--src/main/java/lance5057/tDefense/finishingAnvil/utilities/Injector.java200
-rw-r--r--src/main/java/lance5057/tDefense/finishingAnvil/utilities/ToolCoreTip.java16
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 "";