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 java.util.Arrays;
import java.util.Objects;
import java.util.logging.Level;
import java.util.logging.Logger;
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 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) {
return ("execute".equalsIgnoreCase(cmd)
|| "clone".equalsIgnoreCase(cmd)
|| "fill".equalsIgnoreCase(cmd)
|| "forceload".equalsIgnoreCase(cmd)
|| "kick".equalsIgnoreCase(cmd)
|| "locate".equalsIgnoreCase(cmd)
|| "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)
);
for (String command : COMMANDS) {
if (command.equalsIgnoreCase(cmd)) {
return true;
}
}
return false;
}
private static String checkSelectors(final String[] arr) {
@ -87,8 +73,7 @@ public final class ServerCommand implements Listener {
try {
switch (commandName) {
case "/minecraft:execute":
case "/execute":
case "/minecraft:execute", "/execute" -> {
if (arr.length >= 2) {
int asAtCount = 0;
Matcher asAtMatcher = AS_AT_PATTERN.matcher(command.toLowerCase());
@ -113,41 +98,36 @@ public final class ServerCommand implements Listener {
return "cancel";
}
final String[] executeCommand = Arrays.copyOfRange(
arr, i + 1, arr.length);
arr, i + 1, arr.length);
final String result = checkCommand(sender,
String.join(" ", executeCommand), true, depth + 1);
String.join(" ", executeCommand), true, depth + 1);
if (result == null) {
continue;
} else if (result.equals("cancel")) {
return "cancel";
}
final String pureExecute = String.join(
" ", Arrays.copyOfRange(arr, 0, i + 1));
" ", Arrays.copyOfRange(arr, 0, i + 1));
final String finalResult = checkCommand(sender,
pureExecute + " " + result, isConsoleCommand, depth + 1);
if (finalResult == null) {
return pureExecute + " " + result;
}
return finalResult;
pureExecute + " " + result, isConsoleCommand, depth + 1);
return Objects.requireNonNullElseGet(finalResult,
() -> pureExecute + " " + result);
}
}
break;
case "/minecraft:fill":
case "/fill":
}
case "/minecraft:fill", "/fill" -> {
if (command.contains("auto")) {
return command.replace("auto", "[auto]");
}
break;
case "/minecraft:give":
case "/give":
}
case "/minecraft:give", "/give" -> {
if (Double.parseDouble(arr[arr.length - 1]) > 64) {
// Limit item count
arr[arr.length - 1] = "64";
return String.join(" ", arr);
}
break;
case "/minecraft:particle":
case "/particle":
}
case "/minecraft:particle", "/particle" -> {
int[] numArgs = {14, 10};
for (int i : numArgs) {
if (arr.length < i || arr.length > i + 2) {
@ -159,22 +139,13 @@ public final class ServerCommand implements Listener {
return String.join(" ", arr);
}
}
break;
case "/minecraft:ban":
case "/ban":
case "/minecraft:kick":
case "/kick":
case "/minecraft:tell":
case "/tell":
case "/minecraft:msg":
case "/msg":
case "/minecraft:w":
case "/w":
case "/minecraft:say":
case "/say":
}
case "/minecraft:ban", "/ban", "/minecraft:kick", "/kick",
"/minecraft:tell", "/tell", "/minecraft:msg", "/msg",
"/minecraft:w", "/w", "/minecraft:say", "/say" -> {
return checkSelectors(arr);
case "/minecraft:spreadplayers":
case "/spreadplayers":
}
case "/minecraft:spreadplayers", "/spreadplayers" -> {
if (arr.length == 7 && (arr[6].contains("@e") || arr[6].contains("@a"))) {
return "cancel";
} else if (arr.length >= 5) {
@ -189,34 +160,28 @@ public final class ServerCommand implements Listener {
}
return String.join(" ", arr);
}
break;
case "/viaversion:viaver":
case "/viaversion:viaversion":
case "/viaversion:vvbukkit":
case "/viaver":
case "/viaversion":
case "/vvbukkit":
}
case "/viaversion:viaver", "/viaversion:viaversion", "/viaversion:vvbukkit",
"/viaver", "/viaversion", "/vvbukkit" -> {
if (arr.length >= 2
&& "debug".equalsIgnoreCase(arr[1])) {
return "cancel";
}
break;
case "/scissors:scissors":
case "/scissors":
if(arr.length >= 2
&& "reload".equalsIgnoreCase(arr[1])) {
}
case "/scissors:scissors", "/scissors" -> {
if (arr.length >= 2
&& "reload".equalsIgnoreCase(arr[1])) {
return "cancel";
}
break;
case "/geyser-spigot:geyser":
case "/geyser":
}
case "/geyser-spigot:geyser", "/geyser" -> {
if (arr.length >= 2
&& "dump".equalsIgnoreCase(arr[1])) {
return "cancel";
}
break;
default:
break;
}
default -> {
}
}
} catch (NumberFormatException exception) {
// Do nothing
@ -229,15 +194,12 @@ public final class ServerCommand implements Listener {
void onServerCommand(final ServerCommandEvent event) {
final CommandSender sender = event.getSender();
if (sender instanceof BlockCommandSender) {
final CommandBlock commandBlock = (CommandBlock) ((BlockCommandSender) sender)
.getBlock().getState();
if (sender instanceof BlockCommandSender blockCommandSender) {
final var commandBlock = (CommandBlock) blockCommandSender.getBlock().getState();
commandBlock.setCommand("");
commandBlock.update();
} else if (sender instanceof CommandMinecart) {
final CommandMinecart commandMinecart = (CommandMinecart) sender;
} else if (sender instanceof CommandMinecart commandMinecart) {
commandMinecart.setCommand("");
}

View File

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