Use more Java 17 features in classes (#349)

* Use more Java 17 features in classes

* created more new lines

* fixed long lines
This commit is contained in:
EnZaXD 2023-08-06 16:19:43 +02:00 committed by GitHub
parent 91371ba990
commit db50f0b7ae
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 50 additions and 88 deletions

View file

@ -11,6 +11,7 @@ import org.bukkit.plugin.java.JavaPlugin;
import pw.kaboom.extras.Main; import pw.kaboom.extras.Main;
import java.util.Arrays; import java.util.Arrays;
import java.util.Objects;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger; import java.util.logging.Logger;
import java.util.regex.Matcher; import java.util.regex.Matcher;
@ -22,33 +23,18 @@ public final class ServerCommand implements Listener {
private static final Pattern SELECTOR_PATTERN = Pattern.compile("(?>\\s)*@[aepsr](?>\\s)*"); private static final Pattern SELECTOR_PATTERN = Pattern.compile("(?>\\s)*@[aepsr](?>\\s)*");
private static final Logger LOGGER = JavaPlugin.getPlugin(Main.class).getLogger(); private static final Logger LOGGER = JavaPlugin.getPlugin(Main.class).getLogger();
private static final String[] COMMANDS = { "execute", "clone", "fill", "forceload", "kick",
"locate", "locatebiome", "me", "msg", "reload", "save-all", "say", "spreadplayers",
"stop", "summon", "teammsg", "teleport", "tell", "tellraw", "tm", "tp", "w", "place",
"fillbiome", "ride" };
public static boolean checkExecuteCommand(final String cmd) { public static boolean checkExecuteCommand(final String cmd) {
return ("execute".equalsIgnoreCase(cmd) for (String command : COMMANDS) {
|| "clone".equalsIgnoreCase(cmd) if (command.equalsIgnoreCase(cmd)) {
|| "fill".equalsIgnoreCase(cmd) return true;
|| "forceload".equalsIgnoreCase(cmd) }
|| "kick".equalsIgnoreCase(cmd) }
|| "locate".equalsIgnoreCase(cmd) return false;
|| "locatebiome".equalsIgnoreCase(cmd)
|| "me".equalsIgnoreCase(cmd)
|| "msg".equalsIgnoreCase(cmd)
|| "reload".equalsIgnoreCase(cmd)
|| "save-all".equalsIgnoreCase(cmd)
|| "say".equalsIgnoreCase(cmd)
|| "spreadplayers".equalsIgnoreCase(cmd)
|| "stop".equalsIgnoreCase(cmd)
|| "summon".equalsIgnoreCase(cmd)
|| "teammsg".equalsIgnoreCase(cmd)
|| "teleport".equalsIgnoreCase(cmd)
|| "tell".equalsIgnoreCase(cmd)
|| "tellraw".equalsIgnoreCase(cmd)
|| "tm".equalsIgnoreCase(cmd)
|| "tp".equalsIgnoreCase(cmd)
|| "w".equalsIgnoreCase(cmd)
|| "place".equalsIgnoreCase(cmd)
|| "fillbiome".equalsIgnoreCase(cmd)
|| "ride".equalsIgnoreCase(cmd)
);
} }
private static String checkSelectors(final String[] arr) { private static String checkSelectors(final String[] arr) {
@ -87,8 +73,7 @@ public final class ServerCommand implements Listener {
try { try {
switch (commandName) { switch (commandName) {
case "/minecraft:execute": case "/minecraft:execute", "/execute" -> {
case "/execute":
if (arr.length >= 2) { if (arr.length >= 2) {
int asAtCount = 0; int asAtCount = 0;
Matcher asAtMatcher = AS_AT_PATTERN.matcher(command.toLowerCase()); Matcher asAtMatcher = AS_AT_PATTERN.matcher(command.toLowerCase());
@ -113,41 +98,36 @@ public final class ServerCommand implements Listener {
return "cancel"; return "cancel";
} }
final String[] executeCommand = Arrays.copyOfRange( final String[] executeCommand = Arrays.copyOfRange(
arr, i + 1, arr.length); arr, i + 1, arr.length);
final String result = checkCommand(sender, final String result = checkCommand(sender,
String.join(" ", executeCommand), true, depth + 1); String.join(" ", executeCommand), true, depth + 1);
if (result == null) { if (result == null) {
continue; continue;
} else if (result.equals("cancel")) { } else if (result.equals("cancel")) {
return "cancel"; return "cancel";
} }
final String pureExecute = String.join( final String pureExecute = String.join(
" ", Arrays.copyOfRange(arr, 0, i + 1)); " ", Arrays.copyOfRange(arr, 0, i + 1));
final String finalResult = checkCommand(sender, final String finalResult = checkCommand(sender,
pureExecute + " " + result, isConsoleCommand, depth + 1); pureExecute + " " + result, isConsoleCommand, depth + 1);
if (finalResult == null) { return Objects.requireNonNullElseGet(finalResult,
return pureExecute + " " + result; () -> pureExecute + " " + result);
}
return finalResult;
} }
} }
break; }
case "/minecraft:fill": case "/minecraft:fill", "/fill" -> {
case "/fill":
if (command.contains("auto")) { if (command.contains("auto")) {
return command.replace("auto", "[auto]"); return command.replace("auto", "[auto]");
} }
break; }
case "/minecraft:give": case "/minecraft:give", "/give" -> {
case "/give":
if (Double.parseDouble(arr[arr.length - 1]) > 64) { if (Double.parseDouble(arr[arr.length - 1]) > 64) {
// Limit item count // Limit item count
arr[arr.length - 1] = "64"; arr[arr.length - 1] = "64";
return String.join(" ", arr); return String.join(" ", arr);
} }
break; }
case "/minecraft:particle": case "/minecraft:particle", "/particle" -> {
case "/particle":
int[] numArgs = {14, 10}; int[] numArgs = {14, 10};
for (int i : numArgs) { for (int i : numArgs) {
if (arr.length < i || arr.length > i + 2) { if (arr.length < i || arr.length > i + 2) {
@ -159,22 +139,13 @@ public final class ServerCommand implements Listener {
return String.join(" ", arr); return String.join(" ", arr);
} }
} }
break; }
case "/minecraft:ban": case "/minecraft:ban", "/ban", "/minecraft:kick", "/kick",
case "/ban": "/minecraft:tell", "/tell", "/minecraft:msg", "/msg",
case "/minecraft:kick": "/minecraft:w", "/w", "/minecraft:say", "/say" -> {
case "/kick":
case "/minecraft:tell":
case "/tell":
case "/minecraft:msg":
case "/msg":
case "/minecraft:w":
case "/w":
case "/minecraft:say":
case "/say":
return checkSelectors(arr); return checkSelectors(arr);
case "/minecraft:spreadplayers": }
case "/spreadplayers": case "/minecraft:spreadplayers", "/spreadplayers" -> {
if (arr.length == 7 && (arr[6].contains("@e") || arr[6].contains("@a"))) { if (arr.length == 7 && (arr[6].contains("@e") || arr[6].contains("@a"))) {
return "cancel"; return "cancel";
} else if (arr.length >= 5) { } else if (arr.length >= 5) {
@ -189,34 +160,28 @@ public final class ServerCommand implements Listener {
} }
return String.join(" ", arr); return String.join(" ", arr);
} }
break; }
case "/viaversion:viaver": case "/viaversion:viaver", "/viaversion:viaversion", "/viaversion:vvbukkit",
case "/viaversion:viaversion": "/viaver", "/viaversion", "/vvbukkit" -> {
case "/viaversion:vvbukkit":
case "/viaver":
case "/viaversion":
case "/vvbukkit":
if (arr.length >= 2 if (arr.length >= 2
&& "debug".equalsIgnoreCase(arr[1])) { && "debug".equalsIgnoreCase(arr[1])) {
return "cancel"; return "cancel";
} }
break; }
case "/scissors:scissors": case "/scissors:scissors", "/scissors" -> {
case "/scissors": if (arr.length >= 2
if(arr.length >= 2 && "reload".equalsIgnoreCase(arr[1])) {
&& "reload".equalsIgnoreCase(arr[1])) {
return "cancel"; return "cancel";
} }
break; }
case "/geyser-spigot:geyser": case "/geyser-spigot:geyser", "/geyser" -> {
case "/geyser":
if (arr.length >= 2 if (arr.length >= 2
&& "dump".equalsIgnoreCase(arr[1])) { && "dump".equalsIgnoreCase(arr[1])) {
return "cancel"; return "cancel";
} }
break; }
default: default -> {
break; }
} }
} catch (NumberFormatException exception) { } catch (NumberFormatException exception) {
// Do nothing // Do nothing
@ -229,15 +194,12 @@ public final class ServerCommand implements Listener {
void onServerCommand(final ServerCommandEvent event) { void onServerCommand(final ServerCommandEvent event) {
final CommandSender sender = event.getSender(); final CommandSender sender = event.getSender();
if (sender instanceof BlockCommandSender) { if (sender instanceof BlockCommandSender blockCommandSender) {
final CommandBlock commandBlock = (CommandBlock) ((BlockCommandSender) sender) final var commandBlock = (CommandBlock) blockCommandSender.getBlock().getState();
.getBlock().getState();
commandBlock.setCommand(""); commandBlock.setCommand("");
commandBlock.update(); commandBlock.update();
} else if (sender instanceof CommandMinecart) { } else if (sender instanceof CommandMinecart commandMinecart) {
final CommandMinecart commandMinecart = (CommandMinecart) sender;
commandMinecart.setCommand(""); commandMinecart.setCommand("");
} }

View file

@ -13,7 +13,7 @@ import org.bukkit.event.Listener;
import com.destroystokyo.paper.event.server.AsyncTabCompleteEvent; import com.destroystokyo.paper.event.server.AsyncTabCompleteEvent;
public final class ServerTabComplete implements Listener { public final class ServerTabComplete implements Listener {
private static HashMap<UUID, String> loginNameList = new HashMap<UUID, String>(); private static final HashMap<UUID, String> loginNameList = new HashMap<>();
@EventHandler @EventHandler
void onAsyncTabComplete(final AsyncTabCompleteEvent event) { void onAsyncTabComplete(final AsyncTabCompleteEvent event) {
@ -39,13 +39,13 @@ public final class ServerTabComplete implements Listener {
return; return;
} }
if (event.getCompletions().size() == 0) { if (event.getCompletions().isEmpty()) {
event.setCancelled(true); event.setCancelled(true);
} }
} }
static List<String> getOpCompletions(final String argsFragment) { static List<String> getOpCompletions(final String argsFragment) {
ArrayList<String> deops = new ArrayList<String>(); final List<String> deops = new ArrayList<>();
for (Player player : Bukkit.getOnlinePlayers()) { for (Player player : Bukkit.getOnlinePlayers()) {
if (!player.isOp()) { if (!player.isOp()) {
String loginName = loginNameList.get(player.getUniqueId()); String loginName = loginNameList.get(player.getUniqueId());
@ -58,7 +58,7 @@ public final class ServerTabComplete implements Listener {
} }
static List<String> getDeopCompletions(final String argsFragment) { static List<String> getDeopCompletions(final String argsFragment) {
ArrayList<String> ops = new ArrayList<String>(); final List<String> ops = new ArrayList<>();
for (Player player : Bukkit.getOnlinePlayers()) { for (Player player : Bukkit.getOnlinePlayers()) {
if (player.isOp()) { if (player.isOp()) {
String loginName = loginNameList.get(player.getUniqueId()); String loginName = loginNameList.get(player.getUniqueId());