Skip to content

Commit

Permalink
Change default tool names to the same as the creative tool names, and…
Browse files Browse the repository at this point in the history
… still allow renaming. Also unify it for station and forge.
  • Loading branch information
bonii-xx committed Sep 1, 2014
1 parent 4c410e6 commit 8e5fa11
Show file tree
Hide file tree
Showing 3 changed files with 66 additions and 53 deletions.
24 changes: 23 additions & 1 deletion src/main/java/tconstruct/library/crafting/ToolBuilder.java
Expand Up @@ -322,6 +322,12 @@ else if (item.durabilityTypeExtra() == 1)
compound.setTag("display", new NBTTagCompound());
compound.getCompoundTag("display").setString("Name", "\u00A7f" + name);
}
// set a nice default name
else
{
compound.setTag("display", new NBTTagCompound());
compound.getCompoundTag("display").setString("Name", "\u00A7f" + defaultToolName(headMat, item));
}

ToolCraftEvent.NormalTool event = new ToolCraftEvent.NormalTool(item, compound, new ToolMaterial[] { headMat, handleMat, accessoryMat, extraMat });
MinecraftForge.EVENT_BUS.post(event);
Expand Down Expand Up @@ -424,7 +430,23 @@ float buildShoddy (ToolMaterial headMat, ToolMaterial handleMat, ToolMaterial ac
}
return (sHead + sHandle) / 2f;
}


public static String defaultToolName(ItemStack stack)
{
if(!stack.hasTagCompound() || !stack.getTagCompound().hasKey("InfiTool"))
return null;
if(!(stack.getItem() instanceof ToolCore))
return null;

int mat = stack.getTagCompound().getCompoundTag("InfiTool").getInteger("Head");
return defaultToolName(TConstructRegistry.getMaterial(mat), (ToolCore) stack.getItem());
}

public static String defaultToolName(ToolMaterial headMat, ToolCore tool)
{
return String.format("%s %s", headMat.prefixName(), tool.getToolName());
}

//Passthrough for now
@Deprecated
public static void registerToolMod(ItemModifier mod)
Expand Down
27 changes: 1 addition & 26 deletions src/main/java/tconstruct/tools/logic/ToolForgeLogic.java
Expand Up @@ -69,32 +69,7 @@ else if (tool != null)
}
}
if (!name.equals("")) //Name item
{
ItemStack temp = inventory[1].copy();
if (output != null)
temp = output;

if (temp != null)
{
NBTTagCompound tags = temp.getTagCompound();
if (tags == null)
{
tags = new NBTTagCompound();
temp.setTagCompound(tags);
}

if (!(tags.hasKey("display")))
{
NBTTagCompound display = new NBTTagCompound();
String dName = temp.getItem() instanceof IModifyable ? "\u00A7f" + name : name;
display.setString("Name", dName);
tags.setTag("display", display);
temp.setRepairCost(2);
output = temp;
}
}

}
output = tryRenameTool(output, name);
}
inventory[0] = output;
}
Expand Down
68 changes: 42 additions & 26 deletions src/main/java/tconstruct/tools/logic/ToolStationLogic.java
Expand Up @@ -100,32 +100,7 @@ else if (tool != null)
}
}
if (!name.equals("")) //Name item
{
ItemStack temp = inventory[1].copy();
if (output != null)
temp = output;

if (temp != null)
{
NBTTagCompound tags = temp.getTagCompound();
if (tags == null)
{
tags = new NBTTagCompound();
temp.setTagCompound(tags);
}

if (!(tags.hasKey("display")))
{
NBTTagCompound display = new NBTTagCompound();
String dName = temp.getItem() instanceof IModifyable ? "\u00A7f" + name : name;
display.setString("Name", dName);
tags.setTag("display", display);
temp.setRepairCost(2);
output = temp;
}
}

}
output = tryRenameTool(output, name);
}
inventory[0] = output;
}
Expand All @@ -136,6 +111,47 @@ public void setToolname (String name)
buildTool(name);
}

protected ItemStack tryRenameTool(ItemStack output, String name)
{
ItemStack temp = inventory[1].copy();
if (output != null)
temp = output;

if (temp != null)
{
NBTTagCompound tags = temp.getTagCompound();
if (tags == null)
{
tags = new NBTTagCompound();
temp.setTagCompound(tags);
}

if (!(tags.hasKey("display")))
{
NBTTagCompound display = new NBTTagCompound();
String dName = temp.getItem() instanceof IModifyable ? "\u00A7f" + name : name;
display.setString("Name", dName);
tags.setTag("display", display);
temp.setRepairCost(2);
output = temp;
}
else if(tags.getCompoundTag("display").hasKey("Name"))
{
NBTTagCompound display = tags.getCompoundTag("display");
if(display.getString("Name").equals("\u00A7f" + ToolBuilder.defaultToolName(temp)))
{
String dName = temp.getItem() instanceof IModifyable ? "\u00A7f" + name : name;
display.setString("Name", dName);
tags.setTag("display", display);
temp.setRepairCost(2);
output = temp;
}
}
}

return output;
}

@Override
public boolean canUpdate ()
{
Expand Down

0 comments on commit 8e5fa11

Please sign in to comment.