From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: MelnCat Date: Sat, 24 Sep 2022 10:50:33 -0700 Subject: [PATCH] Add item packet serialize event diff --git a/src/main/java/org/purpurmc/purpur/event/packet/NetworkItemSerializeEvent.java b/src/main/java/org/purpurmc/purpur/event/packet/NetworkItemSerializeEvent.java new file mode 100644 index 0000000000000000000000000000000000000000..c0da73d2ea83a6055e34894ba1c7506fc8667712 --- /dev/null +++ b/src/main/java/org/purpurmc/purpur/event/packet/NetworkItemSerializeEvent.java @@ -0,0 +1,48 @@ +package org.purpurmc.purpur.event.packet; + +import org.bukkit.event.Event; +import org.bukkit.event.HandlerList; +import org.bukkit.inventory.ItemStack; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +/** + * Called when an item is about to be written to a packet. + */ +public class NetworkItemSerializeEvent extends Event { + private ItemStack itemStack; + + public NetworkItemSerializeEvent(@NotNull ItemStack itemStack) { + super(!org.bukkit.Bukkit.isPrimaryThread()); + this.itemStack = itemStack; + } + + /** + * @return The item that is about to be serialized. Not mutable + */ + @NotNull + public ItemStack getItemStack() { + return itemStack; + } + + /** + * Sets the item that will be serialized. + * + * @param itemStack The item + */ + public void setItemStack(@Nullable ItemStack itemStack) { + this.itemStack = itemStack; + } + + private static final HandlerList handlers = new HandlerList(); + + @NotNull + public HandlerList getHandlers() { + return handlers; + } + + @NotNull + public static HandlerList getHandlerList() { + return handlers; + } +}