From 2307897b31d39a84acb95922044c69c1dc341b2f Mon Sep 17 00:00:00 2001 From: dfsek Date: Sat, 27 Nov 2021 08:34:03 -0700 Subject: [PATCH] use pattern variables --- .../feature/distributor/util/Point.java | 3 +- .../buffer/items/BufferedLootApplication.java | 5 ++-- .../addons/terrascript/parser/lang/Block.java | 3 +- .../terra/api/util/generic/either/Either.java | 6 ++-- .../api/util/reflection/ReflectionUtil.java | 3 +- .../terra/api/util/reflection/TypeKey.java | 30 +++++++------------ .../dfsek/terra/api/util/vector/Vector2.java | 3 +- .../dfsek/terra/api/util/vector/Vector3.java | 3 +- .../dfsek/terra/commands/AddonsCommand.java | 4 +-- .../config/loaders/LinkedHashMapLoader.java | 3 +- .../loaders/ProbabilityCollectionLoader.java | 3 +- .../MetaListLikePreprocessor.java | 8 ++--- .../preprocessor/MetaMapPreprocessor.java | 8 ++--- .../bukkit/population/ChunkCoordinate.java | 3 +- .../dfsek/terra/bukkit/world/BukkitWorld.java | 3 +- .../block/BlockEntityMixin.java | 3 +- 16 files changed, 33 insertions(+), 58 deletions(-) diff --git a/common/addons/config-distributors/src/main/java/com/dfsek/terra/addons/feature/distributor/util/Point.java b/common/addons/config-distributors/src/main/java/com/dfsek/terra/addons/feature/distributor/util/Point.java index 0e496df8c..ec06b2071 100644 --- a/common/addons/config-distributors/src/main/java/com/dfsek/terra/addons/feature/distributor/util/Point.java +++ b/common/addons/config-distributors/src/main/java/com/dfsek/terra/addons/feature/distributor/util/Point.java @@ -34,8 +34,7 @@ public class Point { @Override public boolean equals(Object obj) { - if(!(obj instanceof Point)) return false; - Point that = (Point) obj; + if(!(obj instanceof Point that)) return false; return this.x == that.x && this.z == that.z; } } diff --git a/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/buffer/items/BufferedLootApplication.java b/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/buffer/items/BufferedLootApplication.java index 1563e2c35..e9b62e4b7 100644 --- a/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/buffer/items/BufferedLootApplication.java +++ b/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/buffer/items/BufferedLootApplication.java @@ -40,12 +40,11 @@ public class BufferedLootApplication implements BufferedItem { public void paste(Vector3 origin, World world) { try { BlockEntity data = world.getBlockState(origin); - if(!(data instanceof Container)) { + if(!(data instanceof Container container)) { LOGGER.error("Failed to place loot at {}; block {} is not a container", origin, data); return; } - Container container = (Container) data; - + LootPopulateEvent event = new LootPopulateEvent(container, table, world.getConfig().getPack(), structure); platform.getEventManager().callEvent(event); if(event.isCancelled()) return; diff --git a/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/parser/lang/Block.java b/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/parser/lang/Block.java index 556228bd9..d283e26f2 100644 --- a/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/parser/lang/Block.java +++ b/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/parser/lang/Block.java @@ -33,8 +33,7 @@ public class Block implements Item> { Map> scope = new HashMap<>(variableMap); for(Item item : items) { Object result = item.apply(implementationArguments, scope); - if(result instanceof ReturnInfo) { - ReturnInfo level = (ReturnInfo) result; + if(result instanceof ReturnInfo level) { if(!level.getLevel().equals(ReturnLevel.NONE)) return level; } } diff --git a/common/api/util/src/main/java/com/dfsek/terra/api/util/generic/either/Either.java b/common/api/util/src/main/java/com/dfsek/terra/api/util/generic/either/Either.java index 9c8c7283b..5dceb1d57 100644 --- a/common/api/util/src/main/java/com/dfsek/terra/api/util/generic/either/Either.java +++ b/common/api/util/src/main/java/com/dfsek/terra/api/util/generic/either/Either.java @@ -79,10 +79,8 @@ public final class Either { @Override public boolean equals(Object obj) { - if(!(obj instanceof Either)) return false; - - Either that = (Either) obj; - + if(!(obj instanceof Either that)) return false; + return (this.leftPresent && that.leftPresent && Objects.equals(this.left, that.left)) || (!this.leftPresent && !that.leftPresent && Objects.equals(this.right, that.right)); } diff --git a/common/api/util/src/main/java/com/dfsek/terra/api/util/reflection/ReflectionUtil.java b/common/api/util/src/main/java/com/dfsek/terra/api/util/reflection/ReflectionUtil.java index 5cbf86bc7..175f83edc 100644 --- a/common/api/util/src/main/java/com/dfsek/terra/api/util/reflection/ReflectionUtil.java +++ b/common/api/util/src/main/java/com/dfsek/terra/api/util/reflection/ReflectionUtil.java @@ -52,8 +52,7 @@ public final class ReflectionUtil { public static Class getRawType(Type type) { if(type instanceof Class) { return (Class) type; - } else if(type instanceof ParameterizedType) { - ParameterizedType parameterizedType = (ParameterizedType) type; + } else if(type instanceof ParameterizedType parameterizedType) { Type rawType = parameterizedType.getRawType(); return (Class) rawType; } else if(type instanceof GenericArrayType) { diff --git a/common/api/util/src/main/java/com/dfsek/terra/api/util/reflection/TypeKey.java b/common/api/util/src/main/java/com/dfsek/terra/api/util/reflection/TypeKey.java index 57a35dbe1..5b1ba7493 100644 --- a/common/api/util/src/main/java/com/dfsek/terra/api/util/reflection/TypeKey.java +++ b/common/api/util/src/main/java/com/dfsek/terra/api/util/reflection/TypeKey.java @@ -38,39 +38,31 @@ public class TypeKey { return true; } else if(a instanceof Class) { return a.equals(b); - } else if(a instanceof ParameterizedType) { - if(!(b instanceof ParameterizedType)) { + } else if(a instanceof ParameterizedType pa) { + if(!(b instanceof ParameterizedType pb)) { return false; } - - ParameterizedType pa = (ParameterizedType) a; - ParameterizedType pb = (ParameterizedType) b; + return Objects.equals(pa.getOwnerType(), pb.getOwnerType()) && pa.getRawType().equals(pb.getRawType()) && Arrays.equals(pa.getActualTypeArguments(), pb.getActualTypeArguments()); - } else if(a instanceof GenericArrayType) { - if(!(b instanceof GenericArrayType)) { + } else if(a instanceof GenericArrayType ga) { + if(!(b instanceof GenericArrayType gb)) { return false; } - - GenericArrayType ga = (GenericArrayType) a; - GenericArrayType gb = (GenericArrayType) b; + return equals(ga.getGenericComponentType(), gb.getGenericComponentType()); - } else if(a instanceof WildcardType) { - if(!(b instanceof WildcardType)) { + } else if(a instanceof WildcardType wa) { + if(!(b instanceof WildcardType wb)) { return false; } - - WildcardType wa = (WildcardType) a; - WildcardType wb = (WildcardType) b; + return Arrays.equals(wa.getUpperBounds(), wb.getUpperBounds()) && Arrays.equals(wa.getLowerBounds(), wb.getLowerBounds()); - } else if(a instanceof TypeVariable) { - if(!(b instanceof TypeVariable)) { + } else if(a instanceof TypeVariable va) { + if(!(b instanceof TypeVariable vb)) { return false; } - TypeVariable va = (TypeVariable) a; - TypeVariable vb = (TypeVariable) b; return va.getGenericDeclaration() == vb.getGenericDeclaration() && va.getName().equals(vb.getName()); } else { diff --git a/common/api/util/src/main/java/com/dfsek/terra/api/util/vector/Vector2.java b/common/api/util/src/main/java/com/dfsek/terra/api/util/vector/Vector2.java index a8f70e71b..9bb9e5cd4 100644 --- a/common/api/util/src/main/java/com/dfsek/terra/api/util/vector/Vector2.java +++ b/common/api/util/src/main/java/com/dfsek/terra/api/util/vector/Vector2.java @@ -189,8 +189,7 @@ public class Vector2 implements Cloneable { } public boolean equals(Object obj) { - if(!(obj instanceof Vector2)) return false; - Vector2 other = (Vector2) obj; + if(!(obj instanceof Vector2 other)) return false; return MathUtil.equals(this.x, other.x) && MathUtil.equals(this.z, other.z); } diff --git a/common/api/util/src/main/java/com/dfsek/terra/api/util/vector/Vector3.java b/common/api/util/src/main/java/com/dfsek/terra/api/util/vector/Vector3.java index 95d595799..7a101b731 100644 --- a/common/api/util/src/main/java/com/dfsek/terra/api/util/vector/Vector3.java +++ b/common/api/util/src/main/java/com/dfsek/terra/api/util/vector/Vector3.java @@ -328,8 +328,7 @@ public class Vector3 implements Cloneable { */ @Override public boolean equals(Object obj) { - if(!(obj instanceof Vector3)) return false; - Vector3 other = (Vector3) obj; + if(!(obj instanceof Vector3 other)) return false; return MathUtil.equals(x, other.getX()) && MathUtil.equals(y, other.getY()) && MathUtil.equals(z, other.getZ()); } diff --git a/common/implementation/base/src/main/java/com/dfsek/terra/commands/AddonsCommand.java b/common/implementation/base/src/main/java/com/dfsek/terra/commands/AddonsCommand.java index 9549d0851..6355fa304 100644 --- a/common/implementation/base/src/main/java/com/dfsek/terra/commands/AddonsCommand.java +++ b/common/implementation/base/src/main/java/com/dfsek/terra/commands/AddonsCommand.java @@ -34,8 +34,6 @@ public class AddonsCommand implements CommandTemplate { @Override public void execute(CommandSender sender) { sender.sendMessage("Installed Addons:"); - platform.getAddons().forEach(addon -> { - sender.sendMessage(" - " + addon.getID()); - }); + platform.getAddons().forEach(addon -> sender.sendMessage(" - " + addon.getID())); } } diff --git a/common/implementation/base/src/main/java/com/dfsek/terra/config/loaders/LinkedHashMapLoader.java b/common/implementation/base/src/main/java/com/dfsek/terra/config/loaders/LinkedHashMapLoader.java index bda205812..2a23bfd82 100644 --- a/common/implementation/base/src/main/java/com/dfsek/terra/config/loaders/LinkedHashMapLoader.java +++ b/common/implementation/base/src/main/java/com/dfsek/terra/config/loaders/LinkedHashMapLoader.java @@ -33,8 +33,7 @@ public class LinkedHashMapLoader implements TypeLoader load(AnnotatedType t, Object c, ConfigLoader loader) throws LoadException { Map config = (Map) c; LinkedHashMap map = new LinkedHashMap<>(); - if(t instanceof AnnotatedParameterizedType) { - AnnotatedParameterizedType pType = (AnnotatedParameterizedType) t; + if(t instanceof AnnotatedParameterizedType pType) { AnnotatedType key = pType.getAnnotatedActualTypeArguments()[0]; AnnotatedType value = pType.getAnnotatedActualTypeArguments()[1]; for(Map.Entry entry : config.entrySet()) { diff --git a/common/implementation/base/src/main/java/com/dfsek/terra/config/loaders/ProbabilityCollectionLoader.java b/common/implementation/base/src/main/java/com/dfsek/terra/config/loaders/ProbabilityCollectionLoader.java index 4a958349e..31de5fe3f 100644 --- a/common/implementation/base/src/main/java/com/dfsek/terra/config/loaders/ProbabilityCollectionLoader.java +++ b/common/implementation/base/src/main/java/com/dfsek/terra/config/loaders/ProbabilityCollectionLoader.java @@ -35,8 +35,7 @@ public class ProbabilityCollectionLoader implements TypeLoader load(AnnotatedType type, Object o, ConfigLoader configLoader) throws LoadException { ProbabilityCollection collection = new ProbabilityCollection<>(); - if(type instanceof AnnotatedParameterizedType) { - AnnotatedParameterizedType pType = (AnnotatedParameterizedType) type; + if(type instanceof AnnotatedParameterizedType pType) { AnnotatedType generic = pType.getAnnotatedActualTypeArguments()[0]; if(o instanceof Map) { Map map = (Map) o; diff --git a/common/implementation/base/src/main/java/com/dfsek/terra/config/preprocessor/MetaListLikePreprocessor.java b/common/implementation/base/src/main/java/com/dfsek/terra/config/preprocessor/MetaListLikePreprocessor.java index dcb5de076..70bf87178 100644 --- a/common/implementation/base/src/main/java/com/dfsek/terra/config/preprocessor/MetaListLikePreprocessor.java +++ b/common/implementation/base/src/main/java/com/dfsek/terra/config/preprocessor/MetaListLikePreprocessor.java @@ -41,11 +41,9 @@ public class MetaListLikePreprocessor extends MetaPreprocessor { @SuppressWarnings("unchecked") @Override public @NotNull Result process(AnnotatedType t, T c, ConfigLoader loader, Meta annotation) { - if(t.getType() instanceof ParameterizedType) { - ParameterizedType parameterizedType = (ParameterizedType) t.getType(); - if(parameterizedType.getRawType() instanceof Class) { // Should always be true but we check anyways - Class baseClass = (Class) parameterizedType.getRawType(); - + if(t.getType() instanceof ParameterizedType parameterizedType) { + if(parameterizedType.getRawType() instanceof Class baseClass) { // Should always be true but we check anyways + if((List.class.isAssignableFrom(baseClass) || Set.class.isAssignableFrom(baseClass)) && c instanceof List) { // List or set metaconfig List list = (List) c; diff --git a/common/implementation/base/src/main/java/com/dfsek/terra/config/preprocessor/MetaMapPreprocessor.java b/common/implementation/base/src/main/java/com/dfsek/terra/config/preprocessor/MetaMapPreprocessor.java index 23edbe8f0..3facf452b 100644 --- a/common/implementation/base/src/main/java/com/dfsek/terra/config/preprocessor/MetaMapPreprocessor.java +++ b/common/implementation/base/src/main/java/com/dfsek/terra/config/preprocessor/MetaMapPreprocessor.java @@ -44,11 +44,9 @@ public class MetaMapPreprocessor extends MetaPreprocessor { @SuppressWarnings("unchecked") @Override public @NotNull Result process(AnnotatedType t, T c, ConfigLoader loader, Meta annotation) { - if(t.getType() instanceof ParameterizedType) { - ParameterizedType parameterizedType = (ParameterizedType) t.getType(); - if(parameterizedType.getRawType() instanceof Class) { // Should always be true but we check anyways - Class baseClass = (Class) parameterizedType.getRawType(); - + if(t.getType() instanceof ParameterizedType parameterizedType) { + if(parameterizedType.getRawType() instanceof Class baseClass) { // Should always be true but we check anyways + if(Map.class.isAssignableFrom(baseClass) && c instanceof Map) { // Map metaconfig Map map = (Map) c; diff --git a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/population/ChunkCoordinate.java b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/population/ChunkCoordinate.java index b7e32d920..bb6556f52 100644 --- a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/population/ChunkCoordinate.java +++ b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/population/ChunkCoordinate.java @@ -62,8 +62,7 @@ public class ChunkCoordinate implements Serializable { @Override public boolean equals(Object obj) { - if(!(obj instanceof ChunkCoordinate)) return false; - ChunkCoordinate other = (ChunkCoordinate) obj; + if(!(obj instanceof ChunkCoordinate other)) return false; return other.getX() == x && other.getZ() == z; } } diff --git a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/BukkitWorld.java b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/BukkitWorld.java index 03260c0aa..a47930a05 100644 --- a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/BukkitWorld.java +++ b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/BukkitWorld.java @@ -127,8 +127,7 @@ public class BukkitWorld implements World { @Override public boolean equals(Object obj) { - if(!(obj instanceof BukkitWorld)) return false; - BukkitWorld other = (BukkitWorld) obj; + if(!(obj instanceof BukkitWorld other)) return false; return other.getHandle().equals(delegate); } diff --git a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/block/BlockEntityMixin.java b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/block/BlockEntityMixin.java index 0d72d23e8..86dab0298 100644 --- a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/block/BlockEntityMixin.java +++ b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/block/BlockEntityMixin.java @@ -54,7 +54,8 @@ public abstract class BlockEntityMixin { } public boolean terra$update(boolean applyPhysics) { - if(hasWorld()) world.getChunk(pos).setBlockEntity((net.minecraft.block.entity.BlockEntity) (Object) this); + if(hasWorld()) //noinspection ConstantConditions + world.getChunk(pos).setBlockEntity((net.minecraft.block.entity.BlockEntity) (Object) this); return true; }