mirror of
https://github.com/GTNewHorizons/TinkersConstruct.git
synced 2026-10-26 14:33:50 +00:00
Add a ToolBuildEvent that is called at the start of the tool building process. Allows to replace parts used for building with other parts.
This commit is contained in:
1 parent
f9a4fd2377
commit
e786518807
2 files changed
+38
No files matched your search
@@ -11,6 +11,7 @@ import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraftforge.common.MinecraftForge;
|
||||
import tconstruct.library.TConstructRegistry;
|
||||
import tconstruct.library.event.ToolBuildEvent;
|
||||
import tconstruct.library.event.ToolCraftEvent;
|
||||
import tconstruct.library.modifier.ItemModifier;
|
||||
import tconstruct.library.tools.ToolCore;
|
||||
@@ -132,6 +133,19 @@ public class ToolBuilder
|
||||
|
||||
if (headStack == null || handleStack == null) //Nothing to build without these. All tools need at least two parts!
|
||||
return null;
|
||||
if(name == null)
|
||||
name = "";
|
||||
|
||||
// fire the ToolBuild event to get the correct items
|
||||
ToolBuildEvent buildEvent = new ToolBuildEvent(headStack, handleStack, accessoryStack, extraStack, name);
|
||||
MinecraftForge.EVENT_BUS.post(buildEvent);
|
||||
|
||||
// copy back the items
|
||||
headStack = buildEvent.headStack;
|
||||
handleStack = buildEvent.handleStack;
|
||||
accessoryStack = buildEvent.accessoryStack;
|
||||
extraStack = buildEvent.extraStack;
|
||||
name = buildEvent.name;
|
||||
|
||||
ToolCore item;
|
||||
boolean validMaterials = true;
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
package tconstruct.library.event;
|
||||
|
||||
import cpw.mods.fml.common.eventhandler.Event;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
/**
|
||||
* Called when the ToolBuilder tries to piece together the Parts of a tool.
|
||||
*
|
||||
*/
|
||||
public class ToolBuildEvent extends Event {
|
||||
public ItemStack headStack;
|
||||
public ItemStack handleStack;
|
||||
public ItemStack accessoryStack;
|
||||
public ItemStack extraStack;
|
||||
public String name; // to allow shenanigans
|
||||
|
||||
public ToolBuildEvent(ItemStack headStack, ItemStack handleStack, ItemStack accessoryStack, ItemStack extraStack, String name) {
|
||||
this.headStack = headStack;
|
||||
this.handleStack = handleStack;
|
||||
this.accessoryStack = accessoryStack;
|
||||
this.extraStack = extraStack;
|
||||
this.name = name;
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user