Skip to content

Commit

Permalink
Materials that shall have toolparts created for them have to be regis…
Browse files Browse the repository at this point in the history
…tered specifically now. Registering a material via IMC does so automatically. Should also fix the double-toolparts with extratic and other mod relying on the 1.6 API.
  • Loading branch information
bonii-xx committed Oct 15, 2014
1 parent c824f68 commit c0e46f1
Show file tree
Hide file tree
Showing 4 changed files with 36 additions and 2 deletions.
9 changes: 9 additions & 0 deletions src/main/java/tconstruct/library/TConstructRegistry.java
Expand Up @@ -219,6 +219,15 @@ public static void addToolRecipe (ToolCore output, Item... parts)
// Materials
public static HashMap<Integer, ToolMaterial> toolMaterials = new HashMap<Integer, ToolMaterial>(40);
public static HashMap<String, ToolMaterial> toolMaterialStrings = new HashMap<String, ToolMaterial>(40);
public static List<Integer> defaultToolPartMaterials = new LinkedList<Integer>();

public static void addDefaultToolPartMaterial(int materialID)
{
if(!toolMaterials.containsKey(materialID))
logger.error("[TCon API] Can't add default toolpart: Material ID " + materialID + " is unknown.");
else
defaultToolPartMaterials.add(materialID);
}

/**
* Adds a tool material to the registry
Expand Down
7 changes: 5 additions & 2 deletions src/main/java/tconstruct/library/tools/DynamicToolPart.java
Expand Up @@ -98,8 +98,11 @@ public void getSubItems (Item item, CreativeTabs tab, List list)
return;

// material id == metadata
for(Integer matID : TConstructRegistry.toolMaterials.keySet())
list.add(new ItemStack(item, 1, matID));
for(Integer matID : TConstructRegistry.defaultToolPartMaterials) {
ItemStack stack = new ItemStack(item, 1, matID);
if (this.getMaterialID(stack) != -1)
list.add(stack);
}
}

@Override
Expand Down
21 changes: 21 additions & 0 deletions src/main/java/tconstruct/tools/TinkerTools.java
Expand Up @@ -788,6 +788,27 @@ void registerMaterials ()
TConstructRegistry.addFletchingMaterial(2, 2, new ItemStack(TinkerTools.materials, 1, 1), new ItemStack(TinkerTools.fletching, 1, 2), 100F, 0F, 0.12F, 0x82c873); // Slime
TConstructRegistry.addFletchingMaterial(3, 2, new ItemStack(TinkerTools.materials, 1, 17), new ItemStack(TinkerTools.fletching, 1, 3), 100F, 0F, 0.12F, 0x74c8c7); // BlueSlime

// Register all the materials for default toolparts
TConstructRegistry.addDefaultToolPartMaterial(MaterialID.Wood);
TConstructRegistry.addDefaultToolPartMaterial(MaterialID.Stone);
TConstructRegistry.addDefaultToolPartMaterial(MaterialID.Iron);
TConstructRegistry.addDefaultToolPartMaterial(MaterialID.Flint);
TConstructRegistry.addDefaultToolPartMaterial(MaterialID.Cactus);
TConstructRegistry.addDefaultToolPartMaterial(MaterialID.Bone);
TConstructRegistry.addDefaultToolPartMaterial(MaterialID.Obsidian);
TConstructRegistry.addDefaultToolPartMaterial(MaterialID.Netherrack);
TConstructRegistry.addDefaultToolPartMaterial(MaterialID.Slime);
TConstructRegistry.addDefaultToolPartMaterial(MaterialID.Paper);
TConstructRegistry.addDefaultToolPartMaterial(MaterialID.Cobalt);
TConstructRegistry.addDefaultToolPartMaterial(MaterialID.Ardite);
TConstructRegistry.addDefaultToolPartMaterial(MaterialID.Manyullyn);
TConstructRegistry.addDefaultToolPartMaterial(MaterialID.Copper);
TConstructRegistry.addDefaultToolPartMaterial(MaterialID.Bronze);
TConstructRegistry.addDefaultToolPartMaterial(MaterialID.Alumite);
TConstructRegistry.addDefaultToolPartMaterial(MaterialID.Steel);
TConstructRegistry.addDefaultToolPartMaterial(MaterialID.BlueSlime );
TConstructRegistry.addDefaultToolPartMaterial(MaterialID.PigIron);

PatternBuilder pb = PatternBuilder.instance;
if (PHConstruct.enableTWood)
pb.registerFullMaterial(Blocks.planks, 2, "Wood", new ItemStack(Items.stick), new ItemStack(Items.stick), 0);
Expand Down
1 change: 1 addition & 0 deletions src/main/java/tconstruct/util/IMCHandler.java
Expand Up @@ -49,6 +49,7 @@ public static void processIMC(List<FMLInterModComms.IMCMessage> messages)
ToolMaterial mat = scanMaterial(tag);
if(mat != null) {
TConstructRegistry.addtoolMaterial(tag.getInteger("Id"), mat);
TConstructRegistry.addDefaultToolPartMaterial(tag.getInteger("Id"));
TConstruct.logger.info("IMC: Added material " + mat.materialName);
}
}
Expand Down

0 comments on commit c0e46f1

Please sign in to comment.