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); + } + } + +}