Skip to content

Commit

Permalink
ToolStation/Forge GUI for the new weapons
Browse files Browse the repository at this point in the history
  • Loading branch information
bonii-xx committed Oct 24, 2014
1 parent 5bfdb0d commit 4c18525
Show file tree
Hide file tree
Showing 11 changed files with 68 additions and 13 deletions.
Binary file modified resources/assets/tinker/textures/gui/icons.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
2 changes: 1 addition & 1 deletion src/main/java/tconstruct/client/AmmoItemRenderer.java
Expand Up @@ -48,7 +48,7 @@ public void renderAmmoCount(ItemStack item)

GL11.glScalef(0.7f, 0.7f, 0.7f);
FontRenderer fontRenderer = Minecraft.getMinecraft().fontRenderer;
fontRenderer.drawStringWithShadow(str, 7 + 19 - 2 - fontRenderer.getStringWidth(str), 7 + 6 + 3, 16777215);
//fontRenderer.drawStringWithShadow(str, 7 + 19 - 2 - fontRenderer.getStringWidth(str), 7 + 6 + 3, 16777215);

GL11.glEnable(GL11.GL_LIGHTING);
GL11.glEnable(GL11.GL_DEPTH_TEST);
Expand Down
2 changes: 2 additions & 0 deletions src/main/java/tconstruct/tools/TinkerTools.java
Expand Up @@ -212,6 +212,8 @@ public void preInit (FMLPreInitializationEvent event)
TinkerTools.hammer = new Hammer();
TinkerTools.battleaxe = new Battleaxe();

TinkerTools.arrow = new Arrow(); // to prevent nullpointers

Item[] tools = { TinkerTools.pickaxe, TinkerTools.shovel, TinkerTools.hatchet, TinkerTools.broadsword, TinkerTools.longsword, TinkerTools.rapier, TinkerTools.dagger, TinkerTools.cutlass, TinkerTools.frypan, TinkerTools.battlesign, TinkerTools.mattock, TinkerTools.chisel, TinkerTools.lumberaxe, TinkerTools.cleaver, TinkerTools.scythe, TinkerTools.excavator, TinkerTools.hammer, TinkerTools.battleaxe};
String[] toolStrings = { "pickaxe", "shovel", "hatchet", "broadsword", "longsword", "rapier", "dagger", "cutlass", "frypan", "battlesign", "mattock", "chisel", "lumberaxe", "cleaver", "scythe", "excavator", "hammer", "battleaxe"};

Expand Down
3 changes: 0 additions & 3 deletions src/main/java/tconstruct/tools/ToolProxyClient.java
Expand Up @@ -427,9 +427,6 @@ void addToolButtons ()
addToolButton(itemIconsT1[i][0], itemIconsT1[i][1], itemIconsT1[i][2], iconCoordsT1[i * 2], iconCoordsT1[i * 2 + 1], tier1Tools[i].getLocalizedToolName(), locString);
}

addToolButton(3, 9, 1, new int[] { 0, 10, 0, 13 }, new int[] { 3, 3, 3, 13 }, TinkerTools.shortbow.getLocalizedToolName(), "gui.toolstation.chisel.desc");
addToolButton(7, 10, 1, new int[] { 11, 0, 12, 13 }, new int[] { 3, 3, 3, 13 }, TinkerTools.arrow.getLocalizedToolName(), "gui.toolstation.arrow.desc");

// tier 2 tools
for (int i = 0; i < tier2Tools.length; i++)
{
Expand Down
8 changes: 8 additions & 0 deletions src/main/java/tconstruct/tools/gui/ToolForgeGui.java
Expand Up @@ -117,6 +117,14 @@ void setSlotType (int type)
slotX = new int[] { 56, 56, 56, 14 }; // Three parts reverse
slotY = new int[] { 19, 37, 55, 37 };
break;
case 8:
slotX = new int[] { 20, 38, 56, 38 }; // Double head middle
slotY = new int[] { 28, 46, 28, 28 };
break;
case 9:
slotX = new int[] { 38, 56, 47, 47 }; // Four parts, crossbow.
slotY = new int[] { 37, 37, 55, 19 };
break;
}
toolSlots.resetSlots(slotX, slotY);
}
Expand Down
4 changes: 2 additions & 2 deletions src/main/java/tconstruct/weaponry/TinkerWeaponry.java
Expand Up @@ -133,7 +133,7 @@ private void registerItems()
throwingknife = new ThrowingKnife();
javelin = new Javelin();
// create projectile weapons
shortbow = new ShortBow();
TinkerTools.shortbow = shortbow = new ShortBow();
longbow = new LongBow();
crossbow = new Crossbow();
// create ammo
Expand All @@ -144,7 +144,7 @@ private void registerItems()
metalPattern = new WeaponryPattern("cast_", "Cast");

// register tool parts
GameRegistry.registerItem(bowstring, "bowstring"); // 1.8 todo: rename properly
GameRegistry.registerItem(bowstring, "bowstring"); // 1.8 todo: rename properly?
GameRegistry.registerItem(arrowhead, "arrowhead");
GameRegistry.registerItem(fletching, "fletching");
GameRegistry.registerItem(partShuriken, "ShurikenPart");
Expand Down
62 changes: 55 additions & 7 deletions src/main/java/tconstruct/weaponry/WeaponryClientProxy.java
Expand Up @@ -21,6 +21,8 @@
import tconstruct.library.tools.ToolCore;
import tconstruct.tools.TinkerTools;

import static tconstruct.weaponry.TinkerWeaponry.*;

public class WeaponryClientProxy extends WeaponryCommonProxy {
public static AmmoItemRenderer renderer;

Expand Down Expand Up @@ -98,17 +100,63 @@ private void registerMaterialRendering()

private void buttons()
{
TConstructClientRegistry.addStencilButton2(11, 3, 21, Reference.RESOURCE, "textures/gui/icons.png"); // arrow head
TConstructClientRegistry.addStencilButton2(12, 3, 22, Reference.RESOURCE, "textures/gui/icons.png"); // fletchling
final String tex = "textures/gui/icons.png";

// Stencil Table
TConstructClientRegistry.addStencilButton2(11, 3, 21, Reference.RESOURCE, tex); // arrow head
TConstructClientRegistry.addStencilButton2(12, 3, 22, Reference.RESOURCE, tex); // fletchling
TConstructClientRegistry.addStencilButton2(0,0, -1, null, null);
TConstructClientRegistry.addStencilButton2(0,0, -1, null, null);

TConstructClientRegistry.addStencilButton2(3, 4, 27, Reference.RESOURCE, "textures/gui/icons.png"); // bow limb
TConstructClientRegistry.addStencilButton2(10, 3, 23, Reference.RESOURCE, "textures/gui/icons.png"); // bowstring
TConstructClientRegistry.addStencilButton2(1, 4, 25, Reference.RESOURCE, "textures/gui/icons.png"); // crossbow limb
TConstructClientRegistry.addStencilButton2(2, 4, 26, Reference.RESOURCE, "textures/gui/icons.png"); // crossbow body
TConstructClientRegistry.addStencilButton2(3, 4, 27, Reference.RESOURCE, tex); // bow limb
TConstructClientRegistry.addStencilButton2(10, 3, 23, Reference.RESOURCE, tex); // bowstring
TConstructClientRegistry.addStencilButton2(1, 4, 25, Reference.RESOURCE, tex); // crossbow limb
TConstructClientRegistry.addStencilButton2(2, 4, 26, Reference.RESOURCE, tex); // crossbow body

TConstructClientRegistry.addStencilButton2(0, 4, 24, Reference.RESOURCE, "textures/gui/icons.png"); // shuriken
TConstructClientRegistry.addStencilButton2(0, 4, 24, Reference.RESOURCE, tex); // shuriken
//TConstructClientRegistry.addStencilButton2(4, 4, index, Reference.RESOURCE, "textures/gui/icons.png"); // bolt


// Tool Station
ToolCore[] tools = {shortbow, arrowAmmo, throwingknife, javelin};
int[][] icons = {
new int[] {3, 9, 1}, // shortbow
new int[] {7, 10, 1}, // arrow
new int[] {2, 1, 5}, // throwingknife
new int[] {1, 2, 5} // javelin
};
int[][] coords = {
new int[] { 3, 10, 3, 13 }, new int[] { 4, 3, 4, 13 }, // shortbow
new int[] { 11, 0, 12, 13 }, new int[] { 3, 3, 3, 13 }, // arrow
new int[] { 7, 0, 13, 13 }, new int[] { 2, 3, 13, 13 }, // throwingknife
new int[] { 11, 8, 8, 13 }, new int[] { 3, 3, 3, 13 } // javelin
};

for (int i = 0; i < tools.length; i++)
{
String locString = String.format("gui.toolstation.%s.desc", tools[i].getToolName().toLowerCase());
TConstructClientRegistry.addToolButton(icons[i][0], icons[i][1], icons[i][2], coords[i*2], coords[i*2+1], tools[i].getLocalizedToolName(), locString, Reference.RESOURCE, tex);
}

// Tool Forge
tools = new ToolCore[] {longbow, crossbow, boltAmmo, shuriken};
icons = new int[][] {
new int[] {8, 11, 1}, // longbow
new int[] {9, 12, 1}, // crossbow
new int[] {2, 13, 1}, // bolt
new int[] {4, 0, 5} // shuriken
};
coords = new int[][] {
new int[] { 3, 10, 3, 9 }, new int[] { 4, 3, 4, 2 }, // longbow
new int[] { 1, 2, 10, 9 }, new int[] { 4, 4, 3, 3 }, // crossbow
new int[] { 4, 12, 13, 13 }, new int[] { 4, 3, 13, 13 }, // bolt
new int[] { 0, 0, 0, 0 }, new int[] { 4, 4, 4, 4 } // shuriken
};

for (int i = 0; i < tools.length; i++)
{
String locString = String.format("gui.toolstation.%s.desc", tools[i].getToolName().toLowerCase());
TConstructClientRegistry.addTierTwoButton(icons[i][0], icons[i][1], icons[i][2], coords[i*2], coords[i*2+1], tools[i].getLocalizedToolName(), locString, Reference.RESOURCE, tex);
}
}
}

0 comments on commit 4c18525

Please sign in to comment.