-
Notifications
You must be signed in to change notification settings - Fork 755
/
ToolCraftEvent.java
53 lines (45 loc) · 1.56 KB
/
ToolCraftEvent.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
package tconstruct.library.event;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import tconstruct.library.tools.TToolMaterial;
import tconstruct.library.tools.ToolCore;
import cpw.mods.fml.common.eventhandler.Event;
/* This event fires after all of the other construction. The resulting nbttag is added to the tool
* Note: The tag is the base tag. toolTag.getCompoundTag("InfiTool") will have all of the tool's data.
*/
public class ToolCraftEvent extends Event
{
public final ToolCore tool;
public final NBTTagCompound toolTag;
public final TToolMaterial[] materials;
protected ItemStack resultStack;
public ToolCraftEvent(ToolCore tool, NBTTagCompound toolTag, TToolMaterial[] materials)
{
this.tool = tool;
this.toolTag = toolTag;
this.materials = materials;
}
@HasResult
public static class NormalTool extends ToolCraftEvent
{
public NormalTool(ToolCore tool, NBTTagCompound toolTag, TToolMaterial[] materials)
{
super(tool, toolTag, materials);
}
/**
* Fires just before the tool is put together
*
* Result is significant: DEFAULT: Allows tool to be crafted normally
* ALLOW: Uses resultStack instead DENY: Stops tool crafting altogether
*/
public void overrideResult (ItemStack result)
{
resultStack = result;
this.setResult(Result.ALLOW);
}
public ItemStack getResultStack ()
{
return resultStack;
}
}
}