diff --git a/src/main/java/de/lunarakai/minecleaner/MinecleanerListener.java b/src/main/java/de/lunarakai/minecleaner/MinecleanerListener.java index a1bcaab..d2894a1 100644 --- a/src/main/java/de/lunarakai/minecleaner/MinecleanerListener.java +++ b/src/main/java/de/lunarakai/minecleaner/MinecleanerListener.java @@ -3,6 +3,7 @@ package de.lunarakai.minecleaner; import java.util.Arrays; import java.util.Iterator; import java.util.UUID; +import java.util.logging.Level; import net.kyori.adventure.text.Component; import net.kyori.adventure.text.format.NamedTextColor; import org.bukkit.Bukkit; @@ -93,6 +94,7 @@ public class MinecleanerListener implements Listener { } } else if(arena.hasPlayers() && arena.getArenaStatus() == ArenaStatus.COMPLETED && !hasRightClicked && (plugin.getManager().getSettingsValue("allowmanualreset", e.getPlayer()) == 1)) { plugin.getManager().getSchedulerGameOver().cancel(); + plugin.getLogger().log(Level.INFO, "canceled reset for arena " + arena.getName() + " loc: " + arena.getLocation()); plugin.getManager().leaveArena(arenaClicked.getCurrentPlayers(), false, true); } } else { diff --git a/src/main/java/de/lunarakai/minecleaner/MinecleanerManager.java b/src/main/java/de/lunarakai/minecleaner/MinecleanerManager.java index adb4f34..5bad6e4 100644 --- a/src/main/java/de/lunarakai/minecleaner/MinecleanerManager.java +++ b/src/main/java/de/lunarakai/minecleaner/MinecleanerManager.java @@ -10,6 +10,7 @@ import java.util.Map.Entry; import java.util.Objects; import java.util.UUID; import java.util.function.Consumer; +import java.util.logging.Level; import net.kyori.adventure.text.Component; import net.kyori.adventure.text.format.NamedTextColor; import org.bukkit.Bukkit; @@ -348,6 +349,10 @@ public class MinecleanerManager { } private void scheduleArenaReset(Player player, MinecleanerArena arena) { + plugin.getLogger().log(Level.INFO, "scheduled reset for arena '" + arena.getName() + "', loc: " + arena.getLocation() + " ArenaStatus: " + arena.getArenaStatus() + " in " + plugin.getManager().getSettingsValue("resettime", player) * 20 + " ticks. Current Players: " + Arrays.toString(arena.getCurrentPlayers())); + Bukkit.getScheduler().runTaskLater(plugin, () -> { + plugin.getLogger().log(Level.INFO, "ArenaStatus for arena '" + arena.getName() + "', loc: " + arena.getLocation() + " after 5 Ticks (should be completed): " + arena.getArenaStatus()); + }, 5L); schedulerGameOver = Bukkit.getScheduler().runTaskLater(plugin, () -> { if(arena.getArenaStatus() == ArenaStatus.COMPLETED) { if (arena.getCurrentPlayers() == null) { diff --git a/src/main/java/de/lunarakai/minecleaner/commands/groups/AcceptCommand.java b/src/main/java/de/lunarakai/minecleaner/commands/groups/AcceptCommand.java index b000401..b2e861c 100644 --- a/src/main/java/de/lunarakai/minecleaner/commands/groups/AcceptCommand.java +++ b/src/main/java/de/lunarakai/minecleaner/commands/groups/AcceptCommand.java @@ -43,6 +43,10 @@ public class AcceptCommand extends SubCommand { if(plugin.getGroupManager().getInvitedGroup(player) != null && plugin.getGroupManager().getGroup(player) == null) { Player groupOwner = Bukkit.getPlayer(plugin.getGroupManager().getInvitedGroup(player).getOwner()); + if(plugin.getArenaList().getPlayerArena(groupOwner) != null) { + player.sendMessage(Component.text("Du kannst keine Einladung annehmen währen die Person, die dich eingeladen hat, in einer Runde ist.", NamedTextColor.DARK_RED)); + return true; + } plugin.getGroupManager().getInvitedGroup(player).addPlayerToGroup(player); assert groupOwner != null; diff --git a/src/main/java/de/lunarakai/minecleaner/commands/groups/InviteCommand.java b/src/main/java/de/lunarakai/minecleaner/commands/groups/InviteCommand.java index 2f09b62..e5e53d4 100644 --- a/src/main/java/de/lunarakai/minecleaner/commands/groups/InviteCommand.java +++ b/src/main/java/de/lunarakai/minecleaner/commands/groups/InviteCommand.java @@ -7,6 +7,7 @@ import de.iani.cubesideutils.bukkit.commands.exceptions.InternalCommandException import de.iani.cubesideutils.bukkit.commands.exceptions.NoPermissionException; import de.iani.cubesideutils.bukkit.commands.exceptions.RequiresPlayerException; import de.iani.cubesideutils.commands.ArgsParser; +import de.lunarakai.minecleaner.MinecleanerArena; import de.lunarakai.minecleaner.MinecleanerGroupManager; import de.lunarakai.minecleaner.MinecleanerPlugin; import net.kyori.adventure.text.Component; @@ -48,6 +49,12 @@ public class InviteCommand extends SubCommand { @Override public boolean onCommand(CommandSender sender, Command command, String s, String commandString, ArgsParser args) throws DisallowsCommandBlockException, RequiresPlayerException, NoPermissionException, IllegalSyntaxException, InternalCommandException { Player player = (Player) sender; + + if(plugin.getArenaList().getPlayerArena(player) != null) { + player.sendMessage(Component.text("Du kannst keine Einladung verschicken während du in einer Runde bist.", NamedTextColor.DARK_RED)); + return true; + } + if(args.remaining() < 1 || args.remaining() >= 2) { sender.sendMessage(Component.text(commandString + getUsage(), NamedTextColor.DARK_RED)); return true; @@ -66,7 +73,7 @@ public class InviteCommand extends SubCommand { return true; } - if(groupManager.getGroup(player) != null && Bukkit.getPlayer(groupManager.getGroup(player).getOwner()).equals(player)) { + if(groupManager.getGroup(player) != null && !Bukkit.getPlayer(groupManager.getGroup(player).getOwner()).equals(player)) { player.sendMessage(Component.text("Nur als Ersteller der Gruppe bist du berechtigt Leute einzuladen.", NamedTextColor.YELLOW)); return true; }