From 98f0fdb620306d9a108d1625e47c73e7e01a05e2 Mon Sep 17 00:00:00 2001 From: Ryan Date: Fri, 30 Jun 2017 08:47:31 +0100 Subject: [PATCH] Added a catch for if a player is caged and kicked. Resolves #1789 (#2041) --- .../totalfreedom/totalfreedommod/caging/Cager.java | 13 +++++++++++++ .../totalfreedommod/command/Command_gtfo.java | 1 + 2 files changed, 14 insertions(+) diff --git a/src/main/java/me/totalfreedom/totalfreedommod/caging/Cager.java b/src/main/java/me/totalfreedom/totalfreedommod/caging/Cager.java index 9c50b0ae..4418f426 100644 --- a/src/main/java/me/totalfreedom/totalfreedommod/caging/Cager.java +++ b/src/main/java/me/totalfreedom/totalfreedommod/caging/Cager.java @@ -13,6 +13,7 @@ import org.bukkit.event.block.BlockBreakEvent; import org.bukkit.event.player.PlayerJoinEvent; import org.bukkit.event.player.PlayerMoveEvent; import org.bukkit.event.player.PlayerQuitEvent; +import org.bukkit.event.player.PlayerKickEvent; public class Cager extends FreedomService { @@ -95,6 +96,18 @@ public class Cager extends FreedomService } } + @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) + public void onPlayerKick(PlayerKickEvent event) + { + FPlayer player = plugin.pl.getPlayer(event.getPlayer()); + CageData cage = player.getCageData(); + + if (cage.isCaged()) + { + cage.playerQuit(); + } + } + @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) public void onPlayerJoin(PlayerJoinEvent event) { diff --git a/src/main/java/me/totalfreedom/totalfreedommod/command/Command_gtfo.java b/src/main/java/me/totalfreedom/totalfreedommod/command/Command_gtfo.java index 80a832dd..b8360c36 100644 --- a/src/main/java/me/totalfreedom/totalfreedommod/command/Command_gtfo.java +++ b/src/main/java/me/totalfreedom/totalfreedommod/command/Command_gtfo.java @@ -21,6 +21,7 @@ public class Command_gtfo extends FreedomCommand @Override public boolean run(CommandSender sender, Player playerSender, Command cmd, String commandLabel, String[] args, boolean senderIsConsole) { + if (args.length == 0) { return false;