Package net.pottercraft.ollivanders2
Class Ollivanders2OwlPost
java.lang.Object
net.pottercraft.ollivanders2.Ollivanders2OwlPost
In newer versions of MC triggering teleport events from AsyncChatEvents is no longer thread-safe. Need to create a queue of owl post events like we use for
things like spell projectiles and effects.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringThe words the player has to say to trigger owl poststatic final org.bukkit.entity.EntityTypeThe delivery entity type -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddDelivery(@NotNull org.bukkit.entity.Player from, @NotNull UUID to, @NotNull org.bukkit.entity.Entity entity, @NotNull org.bukkit.inventory.ItemStack item) Add a delivery to the delivery queuevoidCleanup when the plugin disables.voidprocessOwlPostRequest(@NotNull org.bukkit.entity.Player player, @NotNull String message) Process an owl post request by a player.voidupkeep()Run the game tick upkeep for owl post deliveries
-
Field Details
-
deliveryKeyword
The words the player has to say to trigger owl post- See Also:
-
owlPostEntityType
public static final org.bukkit.entity.EntityType owlPostEntityTypeThe delivery entity type
-
-
Constructor Details
-
Ollivanders2OwlPost
Constructor- Parameters:
plugin- a callback to the plugin
-
-
Method Details
-
addDelivery
public void addDelivery(@NotNull @NotNull org.bukkit.entity.Player from, @NotNull @NotNull UUID to, @NotNull @NotNull org.bukkit.entity.Entity entity, @NotNull @NotNull org.bukkit.inventory.ItemStack item) Add a delivery to the delivery queue- Parameters:
from- UUID of the player sending the deliveryto- UUID of the player receiving the deliveryentity- the deliveryitem- the item to deliver
-
processOwlPostRequest
public void processOwlPostRequest(@NotNull @NotNull org.bukkit.entity.Player player, @NotNull @NotNull String message) Process an owl post request by a player.- Parameters:
player- the player requesting deliverymessage- the delivery request message
-
upkeep
public void upkeep()Run the game tick upkeep for owl post deliveries -
onDisable
public void onDisable()Cleanup when the plugin disables.Called when the Ollivanders2 plugin is being shut down. Currently, the Ollivanders2OwlPost manager does not perform any persistence of pending deliveries. Owl post deliveries are queued in memory only and will be lost when the server shuts down. This is a temporary limitation that may be addressed in future versions.
Future Enhancement:
- Persist pending delivery queue to disk via JSON serialization
- Restore deliveries on server startup to maintain delivery continuity
- See GitHub issue: Persist owl post deliveries across restarts
- See Also:
-