From b088958c9f6935d356b6c087c8e8106b400aa24f Mon Sep 17 00:00:00 2001 From: Raven Szewczyk Date: Sat, 1 Apr 2023 20:06:12 +0100 Subject: Jabel, Generic injection and mostly automatic code cleanup (#1829) * Enable Jabel&Generic injection, fix type error caused by this * add missing <> * Infer generic types automatically * Parametrize cast types * Use enhanced for loops * Unnecessary boxing * Unnecessary unboxing * Use Objects.equals * Explicit type can be replaced with `<>` * Collapse identical catch blocks * Add SafeVarargs where applicable * Anonymous type can be replaced with lambda * Use List.sort directly * Lambda can be a method reference * Statement lambda can be an expression lambda * Use string switches * Instanceof pattern matching * Text block can be used * Migrate to enhanced switch * Java style array declarations * Unnecessary toString() * More unnecessary String conversions * Unnecessary modifiers * Unnecessary semicolons * Fix duplicate conditions * Extract common code from if branches * Replace switches with ifs for 1-2 cases * Inner class may be static * Minor performance issues * Replace string appending in loops with string builders * Fix IntelliJ using the wrong empty list method * Use Long.compare * Generic arguments: getSubItems * Generic arguments: getSubBlocks * Raw types warnings * Fix remaining missing generics * Too weak variable type leads to unnecessary cast * Redundant type casts * Redundant array length check * Redundant vararg arrays * Manual min/max implementations * A couple missed inspections * Goodbye explosion power ternary ladder * Apply spotless * Get rid of the other two big ternary ladders * Binary search explosion power * Don't overcomplicate things --- .../misc/spaceprojects/commands/SPM_Command.java | 32 ++++++++++------------ .../misc/spaceprojects/commands/SP_Command.java | 21 ++++++-------- 2 files changed, 22 insertions(+), 31 deletions(-) (limited to 'src/main/java/gregtech/common/misc/spaceprojects/commands') diff --git a/src/main/java/gregtech/common/misc/spaceprojects/commands/SPM_Command.java b/src/main/java/gregtech/common/misc/spaceprojects/commands/SPM_Command.java index 6bd2561d68..f3c93c25b6 100644 --- a/src/main/java/gregtech/common/misc/spaceprojects/commands/SPM_Command.java +++ b/src/main/java/gregtech/common/misc/spaceprojects/commands/SPM_Command.java @@ -123,10 +123,8 @@ public class SPM_Command extends CommandBase { List autoComplete = new ArrayList<>(); String filter = arguments.length == 0 ? "" : arguments[0].trim(); switch (arguments.length) { - case 1: - autoComplete.addAll(Arrays.asList(getSubCommands())); - break; - case 2: + case 1 -> autoComplete.addAll(Arrays.asList(getSubCommands())); + case 2 -> { filter = arguments.length == 1 ? "" : arguments[1].trim(); if (arguments[0].equals(LIST)) { autoComplete.addAll(Arrays.asList(getListArguments())); @@ -135,21 +133,19 @@ public class SPM_Command extends CommandBase { } else { autoComplete.addAll(Arrays.asList(getProjects())); } - break; - case 3: + } + case 3 -> { filter = arguments.length == 2 ? "" : arguments[2].trim(); - if (arguments[1].equals(ALL)) { - break; - } else if (arguments[0].equals(LIST)) { + if (arguments[1].equals(ALL)) {} else if (arguments[0].equals(LIST)) { autoComplete.addAll(Arrays.asList(getPlayers())); } else { autoComplete.addAll(Arrays.asList(getLocations())); } - break; - case 4: + } + case 4 -> { filter = arguments.length == 3 ? "" : arguments[3].trim(); autoComplete.addAll(Arrays.asList(getPlayers())); - break; + } } String finalFilter = filter; return autoComplete.stream() @@ -208,24 +204,24 @@ public class SPM_Command extends CommandBase { private void processList(ICommandSender sender, String argument, String playerName) { UUID tID = SpaceProjectManager.getPlayerUUIDFromName(playerName); switch (argument) { - case ALL: + case ALL -> { for (String project : SpaceProjectManager.getProjectsMap() .keySet()) { sender.addChatMessage(new ChatComponentText(project)); } - break; - case AVAILABLE: + } + case AVAILABLE -> { for (ISpaceProject project : SpaceProjectManager.getAllProjects()) { if (project.meetsRequirements(tID, false)) { sender.addChatMessage(new ChatComponentText(project.getProjectName())); } } - break; - case UNLOCKED: + } + case UNLOCKED -> { for (ISpaceProject project : SpaceProjectManager.getTeamSpaceProjects(tID)) { sender.addChatMessage(new ChatComponentText(project.getProjectName())); } - break; + } } } diff --git a/src/main/java/gregtech/common/misc/spaceprojects/commands/SP_Command.java b/src/main/java/gregtech/common/misc/spaceprojects/commands/SP_Command.java index 8ef301b6ba..29ae7e9432 100644 --- a/src/main/java/gregtech/common/misc/spaceprojects/commands/SP_Command.java +++ b/src/main/java/gregtech/common/misc/spaceprojects/commands/SP_Command.java @@ -19,9 +19,8 @@ import gregtech.common.misc.spaceprojects.SpaceProjectManager; */ public class SP_Command extends CommandBase { - private static Set> invite = Collections.newSetFromMap( - new WeakHashMap, Boolean>()); - private static Set confirm = Collections.newSetFromMap(new WeakHashMap()); + private static Set> invite = Collections.newSetFromMap(new WeakHashMap<>()); + private static Set confirm = Collections.newSetFromMap(new WeakHashMap<>()); private static final String INVITE = "invite"; private static final String ACCEPT = "accept"; @@ -49,24 +48,20 @@ public class SP_Command extends CommandBase { return; } switch (arguments[0]) { - case INVITE: + case INVITE -> { if (arguments.length < 2) { return; } processInvite(sender, arguments[1]); - break; - case ACCEPT: + } + case ACCEPT -> { if (arguments.length < 2) { return; } processAccept(sender, arguments[1]); - break; - case LEAVE: - processLeave(sender); - break; - case CONFIRM: - processConfirm(sender); - break; + } + case LEAVE -> processLeave(sender); + case CONFIRM -> processConfirm(sender); } } -- cgit