stuff (tm)

This commit is contained in:
LunarAkai 2024-05-24 22:22:32 +02:00
commit e4e973449b
10 changed files with 80 additions and 37 deletions

View file

@ -44,7 +44,7 @@ public class ListCommand extends SubCommand{
@Override @Override
public boolean onCommand(CommandSender sender, Command arg1, String arg2, String commandString, ArgsParser args) throws DisallowsCommandBlockException, RequiresPlayerException, NoPermissionException, IllegalSyntaxException, InternalCommandException { public boolean onCommand(CommandSender sender, Command arg1, String arg2, String commandString, ArgsParser args) throws DisallowsCommandBlockException, RequiresPlayerException, NoPermissionException, IllegalSyntaxException, InternalCommandException {
sender.sendMessage(createLangComponent("arena.list", plugin.getDisplayedPluginName(), NamedTextColor.YELLOW)); sender.sendMessage(createLangComponent("arena.list.created", plugin.getDisplayedPluginName(), NamedTextColor.YELLOW));
boolean any = false; boolean any = false;
for(MinecleanerArena arena : plugin.getArenaList().getArenas()) { for(MinecleanerArena arena : plugin.getArenaList().getArenas()) {
Location location = arena.getLocation(); Location location = arena.getLocation();

View file

@ -8,8 +8,7 @@ import de.iani.cubesideutils.bukkit.commands.exceptions.NoPermissionException;
import de.iani.cubesideutils.bukkit.commands.exceptions.RequiresPlayerException; import de.iani.cubesideutils.bukkit.commands.exceptions.RequiresPlayerException;
import de.iani.cubesideutils.commands.ArgsParser; import de.iani.cubesideutils.commands.ArgsParser;
import de.lunarakai.minecleaner.MinecleanerPlugin; import de.lunarakai.minecleaner.MinecleanerPlugin;
import net.kyori.adventure.text.Component; import de.lunarakai.minecleaner.utils.ChatUtils;
import net.kyori.adventure.text.format.NamedTextColor;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.command.Command; import org.bukkit.command.Command;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
@ -44,18 +43,17 @@ public class AcceptCommand extends SubCommand {
if(plugin.getGroupManager().getInvitedGroup(player) != null && plugin.getGroupManager().getGroup(player) == null) { if(plugin.getGroupManager().getInvitedGroup(player) != null && plugin.getGroupManager().getGroup(player) == null) {
Player groupOwner = Bukkit.getPlayer(plugin.getGroupManager().getInvitedGroup(player).getOwner()); Player groupOwner = Bukkit.getPlayer(plugin.getGroupManager().getInvitedGroup(player).getOwner());
if(plugin.getArenaList().getPlayerArena(groupOwner) != null) { 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)); ChatUtils.sendSingleLineWarningMessage(player, "Du kannst keine Einladung annehmen während die Person, die dich eingeladen hat, in einer Runde ist.");
return true; return true;
} }
plugin.getGroupManager().getInvitedGroup(player).addPlayerToGroup(player); plugin.getGroupManager().getInvitedGroup(player).addPlayerToGroup(player);
assert groupOwner != null; assert groupOwner != null;
groupOwner.sendMessage(Component.text(player.getName() + " hat deine Einladung angenommen.", NamedTextColor.GREEN)); ChatUtils.sendSingleLineSuccessMessage(groupOwner, player.getName() + " hat deine Einladung angenommen.");
player.sendMessage(Component.text("Du hast die Einladung angenommen", NamedTextColor.GREEN)); ChatUtils.sendSingleLineSuccessMessage(player, "Du hast die Einladung angenommen");
return true; return true;
} else { } else {
player.sendMessage(Component.text("Du wurdest in keine Gruppe eingeladen.", NamedTextColor.YELLOW)); ChatUtils.sendSingleLineWarningMessage(player, "Du wurdest in keine Gruppe eingeladen.");
} }
return true; return true;
} }

View file

@ -9,8 +9,7 @@ import de.iani.cubesideutils.bukkit.commands.SubCommand;
import de.iani.cubesideutils.commands.ArgsParser; import de.iani.cubesideutils.commands.ArgsParser;
import de.lunarakai.minecleaner.MinecleanerGroupManager; import de.lunarakai.minecleaner.MinecleanerGroupManager;
import de.lunarakai.minecleaner.MinecleanerPlugin; import de.lunarakai.minecleaner.MinecleanerPlugin;
import net.kyori.adventure.text.Component; import de.lunarakai.minecleaner.utils.ChatUtils;
import net.kyori.adventure.text.format.NamedTextColor;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.command.Command; import org.bukkit.command.Command;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
@ -53,12 +52,11 @@ public class DenyCommand extends SubCommand {
} }
assert groupOwner != null; assert groupOwner != null;
groupOwner.sendMessage(Component.text(player.getName() + " hat deine Einladung abgelehnt.", NamedTextColor.RED)); ChatUtils.sendSingleLineWarningMessage(groupOwner, player.getName() + " hat deine Einladung abgelehnt.");
player.sendMessage(Component.text("Du hast die Einladung abgelehnt", NamedTextColor.YELLOW)); ChatUtils.sendSingleLineInfoMessage(player, "Du hast die Einladung abgelehnt");
return true; return true;
} else { } else {
player.sendMessage(Component.text("Du wurdest in keine Gruppe eingeladen.", NamedTextColor.YELLOW)); ChatUtils.sendSingleLineWarningMessage(player, "Du wurdest in keine Gruppe eingeladen.");
} }
return true; return true;
} }

View file

@ -8,10 +8,9 @@ import de.iani.cubesideutils.bukkit.commands.exceptions.NoPermissionException;
import de.iani.cubesideutils.bukkit.commands.exceptions.RequiresPlayerException; import de.iani.cubesideutils.bukkit.commands.exceptions.RequiresPlayerException;
import de.iani.cubesideutils.commands.ArgsParser; import de.iani.cubesideutils.commands.ArgsParser;
import de.lunarakai.minecleaner.MinecleanerPlugin; import de.lunarakai.minecleaner.MinecleanerPlugin;
import de.lunarakai.minecleaner.utils.ChatUtils;
import java.util.Iterator; import java.util.Iterator;
import java.util.UUID; import java.util.UUID;
import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.format.NamedTextColor;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.command.Command; import org.bukkit.command.Command;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
@ -44,20 +43,19 @@ public class DismantleGroupCommand extends SubCommand {
public boolean onCommand(CommandSender commandSender, Command command, String s, String s1, ArgsParser argsParser) throws DisallowsCommandBlockException, RequiresPlayerException, NoPermissionException, IllegalSyntaxException, InternalCommandException { public boolean onCommand(CommandSender commandSender, Command command, String s, String s1, ArgsParser argsParser) throws DisallowsCommandBlockException, RequiresPlayerException, NoPermissionException, IllegalSyntaxException, InternalCommandException {
Player player = (Player) commandSender; Player player = (Player) commandSender;
if(plugin.getGroupManager().getGroup(player) == null) { if(plugin.getGroupManager().getGroup(player) == null) {
player.sendMessage(Component.text("Du bist in keiner Gruppe die du auflösen könntest.", NamedTextColor.YELLOW)); ChatUtils.sendSingleLineWarningMessage(player, "Du bist in keiner Gruppe die du auflösen könntest.");
return true; return true;
} }
Player groupOwnerPlayer = Bukkit.getPlayer(plugin.getGroupManager().getGroup(player).getOwner()); Player groupOwnerPlayer = Bukkit.getPlayer(plugin.getGroupManager().getGroup(player).getOwner());
if(player != groupOwnerPlayer) { if(player != groupOwnerPlayer) {
player.sendMessage(Component.text("Du bist nicht berechtigt deine Gruppe aufzulösen.", NamedTextColor.YELLOW)); ChatUtils.sendSingleLineWarningMessage(player, "Du bist nicht berechtigt deine Gruppe aufzulösen.");
return true; return true;
} }
for(Iterator<UUID> iterator = plugin.getGroupManager().getGroup(player).getPlayers().iterator(); iterator.hasNext();) { for(Iterator<UUID> iterator = plugin.getGroupManager().getGroup(player).getPlayers().iterator(); iterator.hasNext();) {
Player iteratorPlayer = Bukkit.getPlayer(iterator.next()); Player iteratorPlayer = Bukkit.getPlayer(iterator.next());
iteratorPlayer.sendMessage(Component.text("Die Gruppe in der du dich befindest wurde aufgelöst.", NamedTextColor.YELLOW)); ChatUtils.sendSingleLineWarningMessage(iteratorPlayer, "Die Gruppe in der du dich befindest wurde aufgelöst.");
} }
plugin.getGroupManager().deleteGroup(plugin.getGroupManager().getGroup(player)); plugin.getGroupManager().deleteGroup(plugin.getGroupManager().getGroup(player));

View file

@ -7,9 +7,9 @@ import de.iani.cubesideutils.bukkit.commands.exceptions.InternalCommandException
import de.iani.cubesideutils.bukkit.commands.exceptions.NoPermissionException; import de.iani.cubesideutils.bukkit.commands.exceptions.NoPermissionException;
import de.iani.cubesideutils.bukkit.commands.exceptions.RequiresPlayerException; import de.iani.cubesideutils.bukkit.commands.exceptions.RequiresPlayerException;
import de.iani.cubesideutils.commands.ArgsParser; import de.iani.cubesideutils.commands.ArgsParser;
import de.lunarakai.minecleaner.MinecleanerArena;
import de.lunarakai.minecleaner.MinecleanerGroupManager; import de.lunarakai.minecleaner.MinecleanerGroupManager;
import de.lunarakai.minecleaner.MinecleanerPlugin; import de.lunarakai.minecleaner.MinecleanerPlugin;
import de.lunarakai.minecleaner.utils.ChatUtils;
import net.kyori.adventure.text.Component; import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.format.NamedTextColor; import net.kyori.adventure.text.format.NamedTextColor;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
@ -51,30 +51,35 @@ public class InviteCommand extends SubCommand {
Player player = (Player) sender; Player player = (Player) sender;
if(plugin.getArenaList().getPlayerArena(player) != null) { 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)); ChatUtils.sendSingleLineWarningMessage(player, "Du kannst keine Einladung verschicken während du in einer Runde bist.");
return true; return true;
} }
if(args.remaining() < 1 || args.remaining() >= 2) { if(args.remaining() < 1 || args.remaining() >= 2) {
sender.sendMessage(Component.text(commandString + getUsage(), NamedTextColor.DARK_RED)); ChatUtils.sendSingleLineWarningMessage(player, commandString + getUsage());
return true; return true;
} }
String playerName = args.getNext().trim(); String playerName = args.getNext().trim();
Player invitedPlayer = plugin.getServer().getPlayer(playerName); Player invitedPlayer = plugin.getServer().getPlayer(playerName);
if(invitedPlayer == player) { if(invitedPlayer == player) {
player.sendMessage(Component.text("Du kannst dich nicht selber in eine Gruppe einladen.", NamedTextColor.DARK_RED)); ChatUtils.sendSingleLineWarningMessage(player, "Du kannst dich nicht selber in eine Gruppe einladen.");
return true;
}
if(plugin.getArenaList().getPlayerArena(invitedPlayer) != null) {
ChatUtils.sendSingleLineWarningMessage(player, "Du kannst Spieler nicht einladen, die bereits in einer Runde sind.");
return true; return true;
} }
MinecleanerGroupManager groupManager = plugin.getGroupManager(); MinecleanerGroupManager groupManager = plugin.getGroupManager();
if(groupManager.getInvitedGroup(player) != null) { if(groupManager.getInvitedGroup(player) != null) {
player.sendMessage(Component.text("Du wurdest bereits in eine Gruppe eingeladen. Bitte kümmere dich zuerst um die Einladung bevor du eine eigene Gruppe erstellst.", NamedTextColor.YELLOW)); ChatUtils.sendSingleLineInfoMessage(player, "Du wurdest bereits in eine Gruppe eingeladen. Bitte kümmere dich zuerst um die Einladung bevor du eine eigene Gruppe erstellst.");
return true; 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)); ChatUtils.sendSingleLineInfoMessage(player, "Nur als Ersteller der Gruppe bist du berechtigt Leute einzuladen.");
return true; return true;
} }

View file

@ -8,6 +8,7 @@ import de.iani.cubesideutils.bukkit.commands.exceptions.NoPermissionException;
import de.iani.cubesideutils.bukkit.commands.exceptions.RequiresPlayerException; import de.iani.cubesideutils.bukkit.commands.exceptions.RequiresPlayerException;
import de.iani.cubesideutils.commands.ArgsParser; import de.iani.cubesideutils.commands.ArgsParser;
import de.lunarakai.minecleaner.MinecleanerPlugin; import de.lunarakai.minecleaner.MinecleanerPlugin;
import de.lunarakai.minecleaner.utils.ChatUtils;
import java.util.Iterator; import java.util.Iterator;
import java.util.UUID; import java.util.UUID;
import net.kyori.adventure.text.Component; import net.kyori.adventure.text.Component;
@ -44,11 +45,11 @@ public class ListGroupMembersCommand extends SubCommand {
Player player = (Player) commandSender; Player player = (Player) commandSender;
if(plugin.getGroupManager().getGroup(player) == null) { if(plugin.getGroupManager().getGroup(player) == null) {
player.sendMessage(Component.text("Du bist in keiner Gruppe.", NamedTextColor.YELLOW)); ChatUtils.sendSingleLineWarningMessage(player, "Du bist in keiner Gruppe.");
return true; return true;
} }
player.sendMessage(Component.text("-- Mitglieder deiner " + plugin.getDisplayedPluginName() + "gruppe --", NamedTextColor.AQUA)); ChatUtils.sendSingleLineSpecialMessage(player, "-- Mitglieder deiner " + plugin.getDisplayedPluginName() + "gruppe --", NamedTextColor.AQUA);
for(Iterator<UUID> iterator = plugin.getGroupManager().getGroup(player).getPlayers().iterator(); iterator.hasNext();) { for(Iterator<UUID> iterator = plugin.getGroupManager().getGroup(player).getPlayers().iterator(); iterator.hasNext();) {
Player iteratorPlayer = Bukkit.getPlayer(iterator.next()); Player iteratorPlayer = Bukkit.getPlayer(iterator.next());
String ownerString = ""; String ownerString = "";

View file

@ -185,6 +185,7 @@ public class Game {
switch (cell.getType()) { switch (cell.getType()) {
case Mine: { case Mine: {
resetFloodedFlaggedCellCounter();
explode(cell); explode(cell);
break; break;
} }

View file

@ -0,0 +1,42 @@
package de.lunarakai.minecleaner.utils;
import java.util.regex.Pattern;
import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.format.NamedTextColor;
import org.bukkit.entity.Player;
public class ChatUtils {
static Pattern langKeyPattern = Pattern.compile("^\\w+\\.\\w+\\.\\w+$");
public static void sendSingleLineSuccessMessage(Player player, String message) {
if(message.matches(langKeyPattern.pattern())) {
player.sendMessage(Component.translatable(message, NamedTextColor.GREEN));
} else {
player.sendMessage(Component.text(message, NamedTextColor.GREEN));
}
}
public static void sendSingleLineInfoMessage(Player player, String message) {
if(message.matches(langKeyPattern.pattern())) {
player.sendMessage(Component.translatable(message, NamedTextColor.GOLD));
} else {
player.sendMessage(Component.text(message, NamedTextColor.GOLD));
}
}
public static void sendSingleLineWarningMessage(Player player, String message) {
if(message.matches(langKeyPattern.pattern())) {
player.sendMessage(Component.translatable(message, NamedTextColor.DARK_RED));
} else {
player.sendMessage(Component.text(message, NamedTextColor.DARK_RED));
}
}
public static void sendSingleLineSpecialMessage(Player player, String message, NamedTextColor color) {
if(message.matches(langKeyPattern.pattern())) {
player.sendMessage(Component.translatable(message, color));
} else {
player.sendMessage(Component.text(message, color));
}
}
}

View file

@ -3,7 +3,7 @@ minecleaner.info.developer=Entwickelt von
minecleaner.info.website=Website minecleaner.info.website=Website
minecleaner.info.license=Lizenz minecleaner.info.license=Lizenz
arena.name.invalid=Ungueltiger Arenaname. Erlaubt sind Buchstaben, Zahlen und der Unterstrich arena.name.invalid=Ungültiger Arenaname. Erlaubt sind Buchstaben, Zahlen und der Unterstrich
arena.name.exists=Eine Arena mit diesem Namen existiert bereits arena.name.exists=Eine Arena mit diesem Namen existiert bereits
arena.width.klein=Klein arena.width.klein=Klein
arena.width.mittel=Mittel arena.width.mittel=Mittel
@ -11,27 +11,27 @@ arena.width.gross=Gross
arena.width.experte=Experte arena.width.experte=Experte
arena.widthindex.invalid=Kein Valider Arena WidthIndex! arena.widthindex.invalid=Kein Valider Arena WidthIndex!
arena.widthindex.validOptions=0 (oder weglassen) = 9*9, 1 = 12*12, 2 = 12*18, 3 = 12*33 arena.widthindex.validOptions=0 (oder weglassen) = 9*9, 1 = 12*12, 2 = 12*18, 3 = 12*33
arena.widthindex.toolarge=Arena WidthIndex darf nicht groesser als 3 sein arena.widthindex.toolarge=Arena WidthIndex darf nicht grösser als 3 sein
arena.create.lookAtCenter=Bitte gucke den Block an, der im Zentrum des {0}-Spielfelds sein soll. arena.create.lookAtCenter=Bitte gucke den Block an, der im Zentrum des {0}-Spielfelds sein soll.
arena.create.lookAtSide=Bitte gucke die Seite des Blockes an, wo das {0}-Spielfeld erstellt werden soll. arena.create.lookAtSide=Bitte gucke die Seite des Blockes an, wo das {0}-Spielfeld erstellt werden soll.
arena.create.otherArena=An dieser Stelle befindet sich bereits eine Arena. arena.create.otherArena=An dieser Stelle befindet sich bereits eine Arena.
arena.create.success=Die Arena wurde erfolgreich angelegt. arena.create.success=Die Arena wurde erfolgreich angelegt.
arena.delete.success=Die {0}-Arena {1} wurde geloescht. arena.delete.success=Die {0}-Arena {1} wurde gelöscht.
arena.delete.noarena=Hier befindet sich keine {0}-Arena. arena.delete.noarena=Hier befindet sich keine {0}-Arena.
arena.list=Angelegte {0}-Arenen arena.list.created=Angelegte {0}-Arenen
arena.list.none=(keine) arena.list.none=(keine)
data.player.noData=Fuer Spieler "{0}" existieren keine Daten. data.player.noData=Für Spieler "{0}" existieren keine Daten.
data.player.self=Deine {0} Statistik data.player.self=Deine {0} Statistik
data.player.other={0}-Statistik von {1} data.player.other={0}-Statistik von {1}
data.player.roundswon=Runden gewonnen data.player.roundswon=Runden gewonnen
data.player.pointsscored=Punkte erspielt data.player.pointsscored=Punkte erspielt
data.player.from=von data.player.outof=von
data.player.besttime=Bestzeit data.player.besttime=Bestzeit
data.player.thismonth=Dieser Monat data.player.thismonth=Dieser Monat
data.delete.playerNotFound=Ein Spieler mit dem Namen "{0}" konnte nicht gefunden werden. data.delete.playerNotFound=Ein Spieler mit dem Namen "{0}" konnte nicht gefunden werden.
data.delete.deleted=Alle {0}-Statistiken von Spieler "{1}" wurden geloescht. data.delete.deleted=Alle {0}-Statistiken von Spieler "{1}" wurden gelöscht.
data.console.nodata=Fuer die Konsole existieren keine Daten. data.console.nodata=Für die Konsole existieren keine Daten.

View file

@ -19,7 +19,7 @@ arena.create.success=The arena has been created successfully.
arena.delete.success=The {0}-arena {1} has been deleted. arena.delete.success=The {0}-arena {1} has been deleted.
arena.delete.noarena=There is no {0}-arena here. arena.delete.noarena=There is no {0}-arena here.
arena.list=Created {0} arenas arena.list.created=Created {0} arenas
arena.list.none=(none) arena.list.none=(none)
data.player.noData=No data exists for player "{0}". data.player.noData=No data exists for player "{0}".