From 65db3421b1ac7beba219081b8a93c3ac3d139d11 Mon Sep 17 00:00:00 2001 From: M_Viper Date: Fri, 15 Aug 2025 17:19:21 +0000 Subject: [PATCH] Dateien nach "src/main/java/craftersland/bridge/inventory/events" hochladen --- .../bridge/inventory/events/DropItem.java | 24 +++++++++++ .../inventory/events/InventoryClick.java | 26 ++++++++++++ .../bridge/inventory/events/PlayerJoin.java | 40 +++++++++++++++++++ .../bridge/inventory/events/PlayerQuit.java | 39 ++++++++++++++++++ 4 files changed, 129 insertions(+) create mode 100644 src/main/java/craftersland/bridge/inventory/events/DropItem.java create mode 100644 src/main/java/craftersland/bridge/inventory/events/InventoryClick.java create mode 100644 src/main/java/craftersland/bridge/inventory/events/PlayerJoin.java create mode 100644 src/main/java/craftersland/bridge/inventory/events/PlayerQuit.java diff --git a/src/main/java/craftersland/bridge/inventory/events/DropItem.java b/src/main/java/craftersland/bridge/inventory/events/DropItem.java new file mode 100644 index 0000000..987ec6c --- /dev/null +++ b/src/main/java/craftersland/bridge/inventory/events/DropItem.java @@ -0,0 +1,24 @@ +package net.craftersland.bridge.inventory.events; + +import net.craftersland.bridge.inventory.Inv; + +import org.bukkit.event.EventHandler; +import org.bukkit.event.Listener; +import org.bukkit.event.player.PlayerDropItemEvent; + +public class DropItem implements Listener { + + private Inv pd; + + public DropItem(Inv pd) { + this.pd = pd; + } + + @EventHandler + public void onItemDrop(final PlayerDropItemEvent event) { + if (pd.getInventoryDataHandler().isSyncComplete(event.getPlayer()) == false) { + event.setCancelled(true); + } + } + +} diff --git a/src/main/java/craftersland/bridge/inventory/events/InventoryClick.java b/src/main/java/craftersland/bridge/inventory/events/InventoryClick.java new file mode 100644 index 0000000..fa5f29a --- /dev/null +++ b/src/main/java/craftersland/bridge/inventory/events/InventoryClick.java @@ -0,0 +1,26 @@ +package net.craftersland.bridge.inventory.events; + +import net.craftersland.bridge.inventory.Inv; + +import org.bukkit.entity.Player; +import org.bukkit.event.EventHandler; +import org.bukkit.event.Listener; +import org.bukkit.event.inventory.InventoryClickEvent; + +public class InventoryClick implements Listener { + + private Inv pd; + + public InventoryClick(Inv pd) { + this.pd = pd; + } + + @EventHandler + public void onInventoryClick(InventoryClickEvent event) { + Player p = (Player) event.getWhoClicked(); + if (pd.getInventoryDataHandler().isSyncComplete(p) == false) { + event.setCancelled(true); + } + } + +} diff --git a/src/main/java/craftersland/bridge/inventory/events/PlayerJoin.java b/src/main/java/craftersland/bridge/inventory/events/PlayerJoin.java new file mode 100644 index 0000000..3633e55 --- /dev/null +++ b/src/main/java/craftersland/bridge/inventory/events/PlayerJoin.java @@ -0,0 +1,40 @@ +package net.craftersland.bridge.inventory.events; + +import net.craftersland.bridge.inventory.Inv; +import net.craftersland.bridge.inventory.objects.SyncCompleteTask; + +import org.bukkit.Bukkit; +import org.bukkit.entity.Player; +import org.bukkit.event.EventHandler; +import org.bukkit.event.Listener; +import org.bukkit.event.player.PlayerJoinEvent; + +public class PlayerJoin implements Listener { + + private Inv inv; + + public PlayerJoin(Inv inv) { + this.inv = inv; + } + + @EventHandler + public void onLogin(final PlayerJoinEvent event) { + if (Inv.isDisabling == false) { + final Player p = event.getPlayer(); + Bukkit.getScheduler().runTaskLaterAsynchronously(inv, new Runnable() { + + @Override + public void run() { + if (p != null) { + if (p.isOnline() == true) { + inv.getInventoryDataHandler().onJoinFunction(p); + new SyncCompleteTask(inv, System.currentTimeMillis(), p).runTaskTimerAsynchronously(inv, 5L, 20L); + } + } + } + + }, 5L); + } + } + +} diff --git a/src/main/java/craftersland/bridge/inventory/events/PlayerQuit.java b/src/main/java/craftersland/bridge/inventory/events/PlayerQuit.java new file mode 100644 index 0000000..bb61175 --- /dev/null +++ b/src/main/java/craftersland/bridge/inventory/events/PlayerQuit.java @@ -0,0 +1,39 @@ +package net.craftersland.bridge.inventory.events; + +import net.craftersland.bridge.inventory.Inv; + +import org.bukkit.Bukkit; +import org.bukkit.entity.Player; +import org.bukkit.event.EventHandler; +import org.bukkit.event.Listener; +import org.bukkit.event.player.PlayerQuitEvent; +import org.bukkit.inventory.ItemStack; + +public class PlayerQuit implements Listener { + + private Inv inv; + + public PlayerQuit(Inv inv) { + this.inv = inv; + } + + @EventHandler + public void onDisconnect(final PlayerQuitEvent event) { + if (Inv.isDisabling == false) { + Bukkit.getScheduler().runTaskLaterAsynchronously(inv, new Runnable() { + + @Override + public void run() { + if (event.getPlayer() != null) { + Player p = event.getPlayer(); + ItemStack[] inventory = inv.getInventoryDataHandler().getInventory(p); + ItemStack[] armor = inv.getInventoryDataHandler().getArmor(p); + inv.getInventoryDataHandler().onDataSaveFunction(p, true, "true", inventory, armor); + } + } + + }, 2L); + } + } + +}