From 2712ee60b3ebdad67c7b21d177dacdf7f541e0d6 Mon Sep 17 00:00:00 2001 From: Mathieu Strypsteen Date: Sat, 14 Sep 2024 19:36:13 +0200 Subject: [PATCH] Cancel all interaction events before game started --- .../zeus/mc13dtl/gamestate/GameStateHandler.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/main/java/gent/zeus/mc13dtl/gamestate/GameStateHandler.java b/src/main/java/gent/zeus/mc13dtl/gamestate/GameStateHandler.java index 54fe22f..90c14cb 100644 --- a/src/main/java/gent/zeus/mc13dtl/gamestate/GameStateHandler.java +++ b/src/main/java/gent/zeus/mc13dtl/gamestate/GameStateHandler.java @@ -1,10 +1,16 @@ package gent.zeus.mc13dtl.gamestate; +import org.bukkit.Bukkit; +import org.bukkit.NamespacedKey; import org.bukkit.World; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; +import org.bukkit.event.player.PlayerInteractEvent; import org.bukkit.event.player.PlayerJoinEvent; import org.bukkit.event.world.WorldLoadEvent; +import org.bukkit.persistence.PersistentDataType; + +import gent.zeus.mc13dtl.MC13DTL; public class GameStateHandler implements Listener { @EventHandler @@ -20,4 +26,13 @@ public class GameStateHandler implements Listener { } GameStateUtil.loadWorld(world); } + + @EventHandler + void onPlayerInteract(PlayerInteractEvent event) { + NamespacedKey key = new NamespacedKey(MC13DTL.instance, "game-state"); + String gameState = Bukkit.getWorld("world").getPersistentDataContainer().get(key, PersistentDataType.STRING); + if (gameState.equals("lobby")) { + event.setCancelled(true); + } + } }