From bb4b47e84a204583ce71c59a179604f061090061 Mon Sep 17 00:00:00 2001 From: Mathieu Strypsteen Date: Sat, 14 Sep 2024 19:31:40 +0200 Subject: [PATCH] Refuse /start-game if already active --- .../java/gent/zeus/mc13dtl/gamestate/GameStateCommand.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/main/java/gent/zeus/mc13dtl/gamestate/GameStateCommand.java b/src/main/java/gent/zeus/mc13dtl/gamestate/GameStateCommand.java index 4896039..346f019 100644 --- a/src/main/java/gent/zeus/mc13dtl/gamestate/GameStateCommand.java +++ b/src/main/java/gent/zeus/mc13dtl/gamestate/GameStateCommand.java @@ -11,12 +11,17 @@ import org.bukkit.potion.PotionEffect; import gent.zeus.mc13dtl.MC13DTL; import io.papermc.paper.command.brigadier.BasicCommand; import io.papermc.paper.command.brigadier.CommandSourceStack; +import net.md_5.bungee.api.ChatColor; public class GameStateCommand implements BasicCommand { @Override public void execute(CommandSourceStack stack, String[] args) { World world = Bukkit.getWorld("world"); NamespacedKey key = new NamespacedKey(MC13DTL.instance, "game-state"); + if (!world.getPersistentDataContainer().get(key, PersistentDataType.STRING).equals("lobby")) { + stack.getSender().sendMessage(ChatColor.RED + "Game is already active"); + return; + } world.getPersistentDataContainer().set(key, PersistentDataType.STRING, "active"); GameStateUtil.loadWorld(world); for (OfflinePlayer i : Bukkit.getOfflinePlayers()) {