diff options
| author | Lance5057 <Lance5057@gmail.com> | 2015-08-01 14:27:22 -0500 |
|---|---|---|
| committer | Lance5057 <Lance5057@gmail.com> | 2015-08-01 14:27:22 -0500 |
| commit | 93b7f5b337187a95011b336c7bdc1201d24dd18c (patch) | |
| tree | 5097c2ba05b7745179ad086995fcacbe25c02ba1 /src/main/java/gmail | |
| parent | 28e0f71e68e8b94a1b5249f38fab54d0f796c1fd (diff) | |
Finishing Anvil Gui WIP
Diffstat (limited to 'src/main/java/gmail')
7 files changed, 133 insertions, 35 deletions
diff --git a/src/main/java/gmail/Lance5057/TD_Config.java b/src/main/java/gmail/Lance5057/TD_Config.java index bcd08d3..c8a86ed 100644 --- a/src/main/java/gmail/Lance5057/TD_Config.java +++ b/src/main/java/gmail/Lance5057/TD_Config.java @@ -1,5 +1,7 @@ package gmail.Lance5057; +import java.util.Vector; + import cpw.mods.fml.common.event.FMLPreInitializationEvent; import net.minecraftforge.common.config.Configuration; import net.minecraftforge.common.config.Property; diff --git a/src/main/java/gmail/Lance5057/containers/Container_FinishingAnvil.java b/src/main/java/gmail/Lance5057/containers/Container_FinishingAnvil.java index 5a445c9..ab7d15a 100644 --- a/src/main/java/gmail/Lance5057/containers/Container_FinishingAnvil.java +++ b/src/main/java/gmail/Lance5057/containers/Container_FinishingAnvil.java @@ -11,8 +11,7 @@ public class Container_FinishingAnvil extends Container { public Container_FinishingAnvil(InventoryPlayer inventoryPlayer, TileEntity_FinishingAnvil te) { - addSlotToContainer(new Slot(te, 0, 26, 32)); - addSlotToContainer(new Slot(te, 1, 62, 28)); + addSlotToContainer(new Slot(te, 0, 48, 32)); for (int x = 0; x < 9; x++) { diff --git a/src/main/java/gmail/Lance5057/gui/Gui_FinishingAnvil.java b/src/main/java/gmail/Lance5057/gui/Gui_FinishingAnvil.java index 7c2fb0a..d268b02 100644 --- a/src/main/java/gmail/Lance5057/gui/Gui_FinishingAnvil.java +++ b/src/main/java/gmail/Lance5057/gui/Gui_FinishingAnvil.java @@ -9,10 +9,15 @@ import gmail.Lance5057.tileentities.TileEntity_FinishingAnvil; import org.lwjgl.opengl.GL11; +import tconstruct.library.tools.ToolCore; import net.minecraft.client.gui.GuiButton; import net.minecraft.client.gui.inventory.GuiContainer; +import net.minecraft.client.renderer.entity.RenderItem; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.inventory.Container; +import net.minecraft.inventory.Slot; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; import net.minecraft.util.ResourceLocation; public class Gui_FinishingAnvil extends GuiContainer @@ -20,9 +25,18 @@ public class Gui_FinishingAnvil extends GuiContainer private float xSize_lo; private float ySize_lo; - private final TileEntity_FinishingAnvil inventory; + private ItemStack bigCopy; + private ItemStack editItem; + private RenderItem bigRender = new RenderItem_FinishingAnvil(this); - private static int buttonIndex = 0; + public final TileEntity_FinishingAnvil inventory; + private ResourceLocation forGui; + + private int leftButtonPosX = 0; + private int leftButtonPosY = 0; + private int xIcon_one, yIcon_one; + private int xIcon_two, yIcon_two; + private int xIcon_three, yIcon_three; private static final ResourceLocation iconLocation = new ResourceLocation("tinkersdefense", "textures/gui/finishinganvil.png"); @@ -36,11 +50,16 @@ public class Gui_FinishingAnvil extends GuiContainer public void initGui() { super.initGui(); - this.buttonList.add(new GuiButton(buttonIndex++ ,this.guiLeft+7, this.guiTop+13, 18, 18,"")); - this.buttonList.add(new GuiButton(buttonIndex++ ,this.guiLeft+183, this.guiTop+13, 33, 10,"Part")); - this.buttonList.add(new GuiButton(buttonIndex++ ,this.guiLeft+215, this.guiTop+13, 33, 10,"Sets")); - this.buttonList.add(new GuiButton(buttonIndex++ ,this.guiLeft+183, this.guiTop+33, 65, 10,"^")); - this.buttonList.add(new GuiButton(buttonIndex++ ,this.guiLeft+183, this.guiTop+148, 65, 10,"v")); + this.buttonList.add(new GuiButton(1 ,this.guiLeft+25, this.guiTop+10, 10, 10,"▲")); + this.buttonList.add(new GuiButton(2 ,this.guiLeft+25, this.guiTop+59, 10, 10,"▼")); + this.buttonList.add(new GuiButton(3 ,this.guiLeft+47, this.guiTop+49, 18, 18,"✓")); + + this.buttonList.add(new GuiButton(4 ,this.guiLeft+5, this.guiTop+10, 20, 20,"")); + this.buttonList.add(new GuiButton(5 ,this.guiLeft+5, this.guiTop+30, 20, 20,"")); + this.buttonList.add(new GuiButton(6 ,this.guiLeft+5, this.guiTop+50, 20, 20,"")); + + this.buttonList.add(new GuiButton(7 ,this.guiLeft+120, this.guiTop+10, 10, 10,"▲")); + this.buttonList.add(new GuiButton(8 ,this.guiLeft+120, this.guiTop+59, 10, 10,"▼")); //((GuiButton)this.buttonList.get(0)).displayString = "9"; } @@ -48,24 +67,61 @@ public class Gui_FinishingAnvil extends GuiContainer @Override protected void actionPerformed(GuiButton button) { -// for(int i = 1; i<5; i++) -// { -// if(button.id == i) -// { -// -// } -// } + switch(button.id) + { + case 1: if(this.leftButtonPosX > 0) this.leftButtonPosX--; break; + case 2: this.leftButtonPosX++; break; + } } public void drawScreen(int par1, int par2, float par3) { - super.drawScreen(par1, par2, par3); - this.xSize_lo = (float)par1; - this.ySize_lo = (float)par2; + if(inventory.getStackInSlot(0) != null //&& + /*inventory.getStackInSlot(0).getItem() != this.bigCopy*/) + this.bigCopy = inventory.getStackInSlot(0).copy(); + else + this.bigCopy = null; + super.drawScreen(par1, par2, par3); + this.xSize_lo = (float)par1; + this.ySize_lo = (float)par2; } protected void drawGuiContainerForegroundLayer(int par1, int par2) { + this.forGui = new ResourceLocation("tinkersdefense", "textures/gui/finishinganvil.png"); + + this.xIcon_one = 0; + this.yIcon_one = 176; + this.xIcon_two = 0; + this.yIcon_two = 176; + this.xIcon_three = 0; + this.yIcon_three = 176; + if(inventory.getStackInSlot(0) != 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); + this.forGui = new ResourceLocation("tinkersdefense","textures/gui/"+((ToolCore)editItem.getItem()).getDefaultFolder()+".png"); + this.xIcon_one = 16; + this.yIcon_one = 0; + this.xIcon_two = 32; + this.yIcon_two = 0; + this.xIcon_three = 48; + this.yIcon_three = 0; + } + } + + this.mc.getTextureManager().bindTexture(this.forGui); + this.drawTexturedModalRect(7,12,this.xIcon_one+(this.leftButtonPosX*16),this.yIcon_one+(this.leftButtonPosY*16),16,16); + this.drawTexturedModalRect(7,32,this.xIcon_two+(this.leftButtonPosX*16),this.yIcon_two+(this.leftButtonPosY*16),16,16); + this.drawTexturedModalRect(7,52,this.xIcon_three+(this.leftButtonPosX*16),this.yIcon_three+(this.leftButtonPosY*16),16,16); + + bigRender.renderItemAndEffectIntoGUI(fontRendererObj, this.mc.getTextureManager(), bigCopy, 23, 5); + } protected void drawGuiContainerBackgroundLayer(float par1, int par2, int par3) diff --git a/src/main/java/gmail/Lance5057/gui/RenderItem_FinishingAnvil.java b/src/main/java/gmail/Lance5057/gui/RenderItem_FinishingAnvil.java new file mode 100644 index 0000000..6c67d44 --- /dev/null +++ b/src/main/java/gmail/Lance5057/gui/RenderItem_FinishingAnvil.java @@ -0,0 +1,43 @@ +package gmail.Lance5057.gui; + +import org.lwjgl.opengl.GL11; + +import net.minecraft.client.gui.FontRenderer; +import net.minecraft.client.renderer.RenderHelper; +import net.minecraft.client.renderer.entity.RenderItem; +import net.minecraft.client.renderer.texture.TextureManager; +import net.minecraft.inventory.Slot; +import net.minecraft.item.ItemStack; + +public class RenderItem_FinishingAnvil extends RenderItem +{ + private Gui_FinishingAnvil anvilGui; + RenderItem_FinishingAnvil(Gui_FinishingAnvil gui) + { + super(); + anvilGui = gui; + } + + @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); + + if(slot.getStack() != null) + { + GL11.glPushMatrix(); + + GL11.glScalef(3.0f,3.0f,1.0f); + super.renderItemAndEffectIntoGUI(fontRenderer, textureManager, itemStack, x, y); + + GL11.glPopMatrix(); + } + } +} diff --git a/src/main/java/gmail/Lance5057/items/Injector.java b/src/main/java/gmail/Lance5057/items/Injector.java index 6ab5ff0..f475e6e 100644 --- a/src/main/java/gmail/Lance5057/items/Injector.java +++ b/src/main/java/gmail/Lance5057/items/Injector.java @@ -16,10 +16,10 @@ public class Injector extends ToolCore // TODO Auto-generated constructor stub } - int headsIndex; - int accessoryIndex; - int handleIndex; - int extraIndex; + String[] heads; + String[] accessorys; + String[] handles; + String[] extras; @Override public void registerIcons(IIconRegister iconRegister) diff --git a/src/main/java/gmail/Lance5057/proxy/CommonProxy.java b/src/main/java/gmail/Lance5057/proxy/CommonProxy.java index a46a2d5..2ff33b3 100644 --- a/src/main/java/gmail/Lance5057/proxy/CommonProxy.java +++ b/src/main/java/gmail/Lance5057/proxy/CommonProxy.java @@ -13,11 +13,10 @@ import net.minecraft.world.World; import cpw.mods.fml.common.network.IGuiHandler; import cpw.mods.fml.common.network.simpleimpl.MessageContext; -public class CommonProxy implements IGuiHandler { - - // Client stuff - public void registerRenderers() { - // Nothing here as the server doesn't render graphics or entities! +public class CommonProxy implements IGuiHandler +{ + public void registerRenderers() + { } public void registerTileEntitySpecialRenderer() @@ -25,9 +24,10 @@ public class CommonProxy implements IGuiHandler { } - public EntityPlayer getPlayerEntity(MessageContext ctx) { + public EntityPlayer getPlayerEntity(MessageContext ctx) + { return ctx.getServerHandler().playerEntity; - } + } public ModelBiped getArmorModel(int id) { @@ -41,16 +41,14 @@ public class CommonProxy implements IGuiHandler { @Override public Object getServerGuiElement(int ID, EntityPlayer player, - World world, int x, int y, int z) { - // Hooray, no 'magic' numbers - we know exactly which Gui this refers to + World world, int x, int y, int z) + { if (ID == TinkersDefense.GUI_CREST_INV) { - // Use the player's held item to create the inventory return new Container_CrestMount(player.inventory, (TileEntity_CrestMount)world.getTileEntity(x, y, z)); } if (ID == TinkersDefense.GUI_ANVIL_INV) { - // Use the player's held item to create the inventory return new Container_FinishingAnvil(player.inventory, (TileEntity_FinishingAnvil)world.getTileEntity(x, y, z)); } diff --git a/src/main/java/gmail/Lance5057/tileentities/TileEntity_FinishingAnvil.java b/src/main/java/gmail/Lance5057/tileentities/TileEntity_FinishingAnvil.java index 91188b1..164048e 100644 --- a/src/main/java/gmail/Lance5057/tileentities/TileEntity_FinishingAnvil.java +++ b/src/main/java/gmail/Lance5057/tileentities/TileEntity_FinishingAnvil.java @@ -13,7 +13,7 @@ import net.minecraftforge.common.util.Constants; public class TileEntity_FinishingAnvil extends TileEntity implements IInventory { - public static int invSize = 2; + public static int invSize = 1; public ItemStack[] inventory; private final String name = "Anvil Inventory"; |
