diff options
Diffstat (limited to 'src/main/java/gregtech/api/interfaces')
-rw-r--r-- | src/main/java/gregtech/api/interfaces/IGuiScreen.java | 1 | ||||
-rw-r--r-- | src/main/java/gregtech/api/interfaces/INetworkUpdatableItem.java | 23 |
2 files changed, 24 insertions, 0 deletions
diff --git a/src/main/java/gregtech/api/interfaces/IGuiScreen.java b/src/main/java/gregtech/api/interfaces/IGuiScreen.java index d0089afbb8..5f1ae9cd2b 100644 --- a/src/main/java/gregtech/api/interfaces/IGuiScreen.java +++ b/src/main/java/gregtech/api/interfaces/IGuiScreen.java @@ -10,6 +10,7 @@ public interface IGuiScreen { interface IGuiElement { void onInit(); + default void onRemoved() {} void draw(int mouseX, int mouseY, float parTicks); } diff --git a/src/main/java/gregtech/api/interfaces/INetworkUpdatableItem.java b/src/main/java/gregtech/api/interfaces/INetworkUpdatableItem.java new file mode 100644 index 0000000000..2e102e937c --- /dev/null +++ b/src/main/java/gregtech/api/interfaces/INetworkUpdatableItem.java @@ -0,0 +1,23 @@ +package gregtech.api.interfaces; + +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; + +/** + * Together with {@link gregtech.api.net.GT_Packet_UpdateItem} you can request server side to update item in hand with + * a NBT tag. + * + * Usual NBT tag size limit applies. + */ +public interface INetworkUpdatableItem { + /** + * Receive update from client. Runs on server thread. + * @param stack Stack being updated + * @param player player holding the stack + * @param tag received data + * @return true if this stack should be kept inside the player inventory. + * false if this stack should vanish (i.e. slot content set to null) + */ + boolean receive(ItemStack stack, EntityPlayerMP player, NBTTagCompound tag); +} |