From e04ee865e1286a9d74874b1b0308fb4f85c810a6 Mon Sep 17 00:00:00 2001 From: Pyrbu Date: Sat, 22 Apr 2023 04:48:55 +0100 Subject: [PATCH] the refactoring never ends --- .../commands/exception/CommandException.java | 5 +- .../exception/CommandNotFoundException.java | 7 --- .../znpcservers/npc/CustomizationLoader.java | 15 ++--- .../znetworkw/znpcservers/npc/NPCPath.java | 55 ++++--------------- .../znetworkw/znpcservers/npc/NPCSkin.java | 3 +- .../znetworkw/znpcservers/npc/NPCType.java | 4 +- ...operty.java => PrimitivePropertyType.java} | 6 +- .../npc/conversation/ConversationKey.java | 6 +- .../npc/conversation/ConversationModel.java | 13 ++--- .../znpcservers/npc/event/ClickType.java | 6 +- .../znpcservers/npc/hologram/Hologram.java | 3 - .../npc/hologram/replacer/LineReplacer.java | 4 +- .../npc/hologram/replacer/RGBLine.java | 11 ++-- 13 files changed, 39 insertions(+), 99 deletions(-) delete mode 100644 src/main/java/io/github/znetworkw/znpcservers/commands/exception/CommandNotFoundException.java rename src/main/java/io/github/znetworkw/znpcservers/npc/{TypeProperty.java => PrimitivePropertyType.java} (84%) diff --git a/src/main/java/io/github/znetworkw/znpcservers/commands/exception/CommandException.java b/src/main/java/io/github/znetworkw/znpcservers/commands/exception/CommandException.java index f784b93..3b20571 100644 --- a/src/main/java/io/github/znetworkw/znpcservers/commands/exception/CommandException.java +++ b/src/main/java/io/github/znetworkw/znpcservers/commands/exception/CommandException.java @@ -1,11 +1,12 @@ package io.github.znetworkw.znpcservers.commands.exception; +import java.io.Serial; + /** * @author xCodiq - 20/04/2023 */ public class CommandException extends Exception { - - private static final long serialVersionUID = 1L; + @Serial private static final long serialVersionUID = 1L; public CommandException(String message) { super(message); diff --git a/src/main/java/io/github/znetworkw/znpcservers/commands/exception/CommandNotFoundException.java b/src/main/java/io/github/znetworkw/znpcservers/commands/exception/CommandNotFoundException.java deleted file mode 100644 index 3f4bd1c..0000000 --- a/src/main/java/io/github/znetworkw/znpcservers/commands/exception/CommandNotFoundException.java +++ /dev/null @@ -1,7 +0,0 @@ -package io.github.znetworkw.znpcservers.commands.exception; - -public class CommandNotFoundException extends CommandException { - public CommandNotFoundException(String message) { - super(message); - } -} diff --git a/src/main/java/io/github/znetworkw/znpcservers/npc/CustomizationLoader.java b/src/main/java/io/github/znetworkw/znpcservers/npc/CustomizationLoader.java index 4f978a4..d18a625 100644 --- a/src/main/java/io/github/znetworkw/znpcservers/npc/CustomizationLoader.java +++ b/src/main/java/io/github/znetworkw/znpcservers/npc/CustomizationLoader.java @@ -13,7 +13,6 @@ import java.util.Map; public class CustomizationLoader { private final Class entityClass; - private final Map methods; public CustomizationLoader(EntityType entityType, Iterable methodsName) { @@ -28,15 +27,13 @@ public class CustomizationLoader { protected Map loadMethods(Iterable iterable) { Map builder = new HashMap<>(); for (Method method : this.entityClass.getMethods()) { - if (!builder.containsKey(method.getName()) && - Iterables.contains(iterable, method.getName())) { - for (Class parameter : method.getParameterTypes()) { - TypeProperty typeProperty = TypeProperty.forType(parameter); - if (typeProperty == null && parameter.isEnum()) - new EnumReflection(new ReflectionBuilder(ReflectionPackage.MINECRAFT).withClassName(parameter)).get(); - } - builder.put(method.getName(), method); + if (builder.containsKey(method.getName()) || !Iterables.contains(iterable, method.getName())) continue; + for (Class parameter : method.getParameterTypes()) { + PrimitivePropertyType primitivePropertyType = PrimitivePropertyType.forType(parameter); + if (primitivePropertyType != null || !parameter.isEnum()) continue; + new EnumReflection(new ReflectionBuilder(ReflectionPackage.MINECRAFT).withClassName(parameter)).get(); } + builder.put(method.getName(), method); } return builder; } diff --git a/src/main/java/io/github/znetworkw/znpcservers/npc/NPCPath.java b/src/main/java/io/github/znetworkw/znpcservers/npc/NPCPath.java index 5744c0f..6306f5b 100644 --- a/src/main/java/io/github/znetworkw/znpcservers/npc/NPCPath.java +++ b/src/main/java/io/github/znetworkw/znpcservers/npc/NPCPath.java @@ -31,9 +31,7 @@ public interface NPCPath { abstract class AbstractPath implements PathInitializer { private final NPC npc; - private final NPCPath.AbstractTypeWriter typeWriter; - private ZLocation location; public AbstractPath(NPC npc, NPCPath.AbstractTypeWriter typeWriter) { @@ -85,7 +83,6 @@ public interface NPCPath { abstract class AbstractTypeWriter implements NPCPath { private static final ConcurrentMap PATH_TYPES = new ConcurrentHashMap<>(); - private static final int PATH_DELAY = 1; private final TypeWriter typeWriter; private final File file; private final List locationList; @@ -101,14 +98,12 @@ public interface NPCPath { } public static AbstractTypeWriter forCreation(String pathName, ZUser user, TypeWriter typeWriter) { - if (typeWriter == TypeWriter.MOVEMENT) - return new TypeMovement(pathName, user); + if (typeWriter == TypeWriter.MOVEMENT) return new TypeMovement(pathName, user); throw new IllegalStateException("can't find type writer for: " + typeWriter.name()); } public static AbstractTypeWriter forFile(File file, TypeWriter typeWriter) { - if (typeWriter == TypeWriter.MOVEMENT) - return new TypeMovement(file); + if (typeWriter == TypeWriter.MOVEMENT) return new TypeMovement(file); throw new IllegalStateException("can't find type writer for: " + typeWriter.name()); } @@ -125,22 +120,9 @@ public interface NPCPath { } public void load() { - try { - DataInputStream reader = NPCPath.ZNPCPathDelegator.forFile(this.file).getInputStream(); - try { - initialize(reader); - register(this); - if (reader != null) - reader.close(); - } catch (Throwable throwable) { - if (reader != null) - try { - reader.close(); - } catch (Throwable throwable1) { - throwable.addSuppressed(throwable1); - } - throw throwable; - } + try (DataInputStream reader = NPCPath.ZNPCPathDelegator.forFile(this.file).getInputStream()) { + initialize(reader); + register(this); } catch (IOException e) { ZNPCsPlus.LOGGER.warning("[AbstractTypeWriter] " + String.format("The path %s could not be loaded", this.file.getName())); e.printStackTrace(); @@ -148,21 +130,9 @@ public interface NPCPath { } public void write() { - try { - DataOutputStream writer = NPCPath.ZNPCPathDelegator.forFile(getFile()).getOutputStream(); - try { - write(writer); - if (writer != null) - writer.close(); - } catch (Throwable throwable) { - if (writer != null) - try { - writer.close(); - } catch (Throwable throwable1) { - throwable.addSuppressed(throwable1); - } - throw throwable; - } + try (DataOutputStream writer = NPCPath.ZNPCPathDelegator.forFile(getFile()).getOutputStream()) { + write(writer); + if (writer != null) writer.close(); } catch (IOException e) { ZNPCsPlus.LOGGER.warning("[AbstractTypeWriter] " + String.format("Path %s could not be created", getName())); e.printStackTrace(); @@ -187,9 +157,7 @@ public interface NPCPath { private static class TypeMovement extends AbstractTypeWriter { private static final int MAX_LOCATIONS = ((Integer) Configuration.CONFIGURATION.getValue(ConfigurationValue.MAX_PATH_LOCATIONS)).intValue(); - private ZUser npcUser; - private BukkitTask bukkitTask; public TypeMovement(File file) { @@ -215,8 +183,7 @@ public interface NPCPath { } public void write(DataOutputStream dataOutputStream) throws IOException { - if (getLocationList().isEmpty()) - return; + if (getLocationList().isEmpty()) return; Iterator locationIterator = getLocationList().iterator(); while (locationIterator.hasNext()) { ZLocation location = locationIterator.next(); @@ -226,8 +193,7 @@ public interface NPCPath { dataOutputStream.writeDouble(location.getZ()); dataOutputStream.writeFloat(location.getYaw()); dataOutputStream.writeFloat(location.getPitch()); - if (!locationIterator.hasNext()) - register(this); + if (!locationIterator.hasNext()) register(this); } } @@ -262,7 +228,6 @@ public interface NPCPath { protected static class MovementPath extends NPCPath.PathInitializer.AbstractPath { private int currentEntryPath = 0; - private boolean pathReverse = false; public MovementPath(NPC npc, NPCPath.AbstractTypeWriter.TypeMovement path) { diff --git a/src/main/java/io/github/znetworkw/znpcservers/npc/NPCSkin.java b/src/main/java/io/github/znetworkw/znpcservers/npc/NPCSkin.java index 90dff73..c1807a4 100644 --- a/src/main/java/io/github/znetworkw/znpcservers/npc/NPCSkin.java +++ b/src/main/java/io/github/znetworkw/znpcservers/npc/NPCSkin.java @@ -10,8 +10,7 @@ public class NPCSkin { private final String signature; protected NPCSkin(String... values) { - if (values.length < 1) - throw new IllegalArgumentException("Length cannot be zero or negative."); + if (values.length < 1) throw new IllegalArgumentException("Invalid arguments for NPC skin constructor"); this.texture = values[0]; this.signature = values[1]; } diff --git a/src/main/java/io/github/znetworkw/znpcservers/npc/NPCType.java b/src/main/java/io/github/znetworkw/znpcservers/npc/NPCType.java index 99a1f80..c41f881 100644 --- a/src/main/java/io/github/znetworkw/znpcservers/npc/NPCType.java +++ b/src/main/java/io/github/znetworkw/znpcservers/npc/NPCType.java @@ -116,8 +116,8 @@ public enum NPCType { Class[] methodParameterTypes = method.getParameterTypes(); Object[] newArray = new Object[methodParameterTypes.length]; for (int i = 0; i < methodParameterTypes.length; ++i) { - TypeProperty typeProperty = TypeProperty.forType(methodParameterTypes[i]); - newArray[i] = typeProperty != null ? typeProperty.getFunction().apply(strings[i]) : EnumPropertyCache.find(strings[i], methodParameterTypes[i]); + PrimitivePropertyType primitivePropertyType = PrimitivePropertyType.forType(methodParameterTypes[i]); + newArray[i] = primitivePropertyType != null ? primitivePropertyType.getFunction().apply(strings[i]) : EnumPropertyCache.find(strings[i], methodParameterTypes[i]); } return newArray; } diff --git a/src/main/java/io/github/znetworkw/znpcservers/npc/TypeProperty.java b/src/main/java/io/github/znetworkw/znpcservers/npc/PrimitivePropertyType.java similarity index 84% rename from src/main/java/io/github/znetworkw/znpcservers/npc/TypeProperty.java rename to src/main/java/io/github/znetworkw/znpcservers/npc/PrimitivePropertyType.java index 9da0c01..5a68c70 100644 --- a/src/main/java/io/github/znetworkw/znpcservers/npc/TypeProperty.java +++ b/src/main/java/io/github/znetworkw/znpcservers/npc/PrimitivePropertyType.java @@ -2,7 +2,7 @@ package io.github.znetworkw.znpcservers.npc; import java.util.function.Function; -public enum TypeProperty { +public enum PrimitivePropertyType { STRING(String::toString), BOOLEAN(Boolean::parseBoolean), INT(Integer::parseInt), @@ -13,11 +13,11 @@ public enum TypeProperty { private final Function function; - TypeProperty(Function function) { + PrimitivePropertyType(Function function) { this.function = function; } - public static TypeProperty forType(Class primitiveType) { + public static PrimitivePropertyType forType(Class primitiveType) { if (primitiveType == String.class) return STRING; if (primitiveType == boolean.class) return BOOLEAN; if (primitiveType == int.class) return INT; diff --git a/src/main/java/io/github/znetworkw/znpcservers/npc/conversation/ConversationKey.java b/src/main/java/io/github/znetworkw/znpcservers/npc/conversation/ConversationKey.java index 27c9ed4..0b11c29 100644 --- a/src/main/java/io/github/znetworkw/znpcservers/npc/conversation/ConversationKey.java +++ b/src/main/java/io/github/znetworkw/znpcservers/npc/conversation/ConversationKey.java @@ -20,8 +20,7 @@ public class ConversationKey { } public ConversationKey(Iterable line) { - this - .lines = StreamSupport.stream(line.spliterator(), false).map(String::toString).collect(Collectors.toList()); + this.lines = StreamSupport.stream(line.spliterator(), false).map(String::toString).collect(Collectors.toList()); this.actions = new ArrayList<>(); } @@ -50,8 +49,7 @@ public class ConversationKey { } public String getTextFormatted() { - if (this.lines.isEmpty()) - return ""; + if (this.lines.isEmpty()) return ""; String text = this.lines.iterator().next(); int fixedLength = Math.min(text.length(), 28); return text.substring(0, fixedLength); diff --git a/src/main/java/io/github/znetworkw/znpcservers/npc/conversation/ConversationModel.java b/src/main/java/io/github/znetworkw/znpcservers/npc/conversation/ConversationModel.java index 2f8c33f..ddefe9a 100644 --- a/src/main/java/io/github/znetworkw/znpcservers/npc/conversation/ConversationModel.java +++ b/src/main/java/io/github/znetworkw/znpcservers/npc/conversation/ConversationModel.java @@ -22,6 +22,7 @@ public class ConversationModel { } } + @SuppressWarnings("unused") private ConversationModel() { } @@ -38,14 +39,11 @@ public class ConversationModel { } public void startConversation(NPC npc, Player player) { - if (!Conversation.exists(this.conversationName)) - throw new IllegalStateException("can't find conversation " + this.conversationName); - if (ConversationProcessor.isPlayerConversing(player.getUniqueId())) - return; + if (!Conversation.exists(this.conversationName)) throw new IllegalStateException("can't find conversation " + this.conversationName); + if (ConversationProcessor.isPlayerConversing(player.getUniqueId())) return; if (this.lastStarted.containsKey(player.getUniqueId())) { long lastConversationNanos = System.nanoTime() - this.lastStarted.get(player.getUniqueId()); - if (lastConversationNanos < 1000000000L * getConversation().getDelay()) - return; + if (lastConversationNanos < 1000000000L * getConversation().getDelay()) return; } this.lastStarted.remove(player.getUniqueId()); if (this.conversationType.canStart(npc, getConversation(), player)) { @@ -61,8 +59,7 @@ public class ConversationModel { public enum ConversationType { RADIUS { public boolean canStart(NPC npc, Conversation conversation, Player player) { - return (player.getWorld() == npc.getLocation().getWorld() && player - .getLocation().distance(npc.getLocation()) <= conversation.getRadius()); + return (player.getWorld() == npc.getLocation().getWorld() && player.getLocation().distance(npc.getLocation()) <= conversation.getRadius()); } }, CLICK { diff --git a/src/main/java/io/github/znetworkw/znpcservers/npc/event/ClickType.java b/src/main/java/io/github/znetworkw/znpcservers/npc/event/ClickType.java index 99e8871..cc95318 100644 --- a/src/main/java/io/github/znetworkw/znpcservers/npc/event/ClickType.java +++ b/src/main/java/io/github/znetworkw/znpcservers/npc/event/ClickType.java @@ -4,10 +4,8 @@ public enum ClickType { RIGHT, LEFT, DEFAULT; public static ClickType forName(String clickName) { - if (clickName.startsWith("INTERACT")) - return RIGHT; - if (clickName.startsWith("ATTACK")) - return LEFT; + if (clickName.startsWith("INTERACT")) return RIGHT; + if (clickName.startsWith("ATTACK")) return LEFT; return DEFAULT; } } diff --git a/src/main/java/io/github/znetworkw/znpcservers/npc/hologram/Hologram.java b/src/main/java/io/github/znetworkw/znpcservers/npc/hologram/Hologram.java index 663f3ad..acd22e3 100644 --- a/src/main/java/io/github/znetworkw/znpcservers/npc/hologram/Hologram.java +++ b/src/main/java/io/github/znetworkw/znpcservers/npc/hologram/Hologram.java @@ -18,11 +18,8 @@ import java.util.List; public class Hologram { private static final boolean NEW_METHOD = (Utils.BUKKIT_VERSION > 12); - private static final double LINE_SPACING = Configuration.CONFIGURATION.getValue(ConfigurationValue.LINE_SPACING); - private final List hologramLines = new ArrayList<>(); - private final NPC npc; public Hologram(NPC npc) { diff --git a/src/main/java/io/github/znetworkw/znpcservers/npc/hologram/replacer/LineReplacer.java b/src/main/java/io/github/znetworkw/znpcservers/npc/hologram/replacer/LineReplacer.java index 6e7a562..177b4e1 100644 --- a/src/main/java/io/github/znetworkw/znpcservers/npc/hologram/replacer/LineReplacer.java +++ b/src/main/java/io/github/znetworkw/znpcservers/npc/hologram/replacer/LineReplacer.java @@ -12,9 +12,7 @@ public interface LineReplacer { if (!lineReplacer.isSupported()) continue; string = lineReplacer.make(string); } - return Utils.toColor((Utils.PLACEHOLDER_SUPPORT && user != null) ? - Utils.getWithPlaceholders(string, user.toPlayer()) : - string); + return Utils.toColor((Utils.PLACEHOLDER_SUPPORT && user != null) ? Utils.getWithPlaceholders(string, user.toPlayer()) : string); } String make(String paramString); diff --git a/src/main/java/io/github/znetworkw/znpcservers/npc/hologram/replacer/RGBLine.java b/src/main/java/io/github/znetworkw/znpcservers/npc/hologram/replacer/RGBLine.java index f754e02..8d2573a 100644 --- a/src/main/java/io/github/znetworkw/znpcservers/npc/hologram/replacer/RGBLine.java +++ b/src/main/java/io/github/znetworkw/znpcservers/npc/hologram/replacer/RGBLine.java @@ -21,14 +21,11 @@ public class RGBLine implements LineReplacer { break; } char hexCode = rgbString.charAt(i2); - hexCodeStringBuilder.append((ConfigurationConstants.RGB_ANIMATION && hexCode != '#') ? - Integer.toHexString(ThreadLocalRandom.current().nextInt(16)) : Character.valueOf(hexCode)); + hexCodeStringBuilder.append((ConfigurationConstants.RGB_ANIMATION && hexCode != '#') ? Integer.toHexString(ThreadLocalRandom.current().nextInt(16)) : Character.valueOf(hexCode)); } - if (success) - try { - rgbString = rgbString.substring(0, i) + ChatColor.of(hexCodeStringBuilder.toString()) + rgbString.substring(endIndex); - } catch (Exception ignored) { - } + if (success) try { + rgbString = rgbString.substring(0, i) + ChatColor.of(hexCodeStringBuilder.toString()) + rgbString.substring(endIndex); + } catch (Exception ignored) {} } } return rgbString;