diff --git a/common/addons/biome-provider-pipeline/src/main/java/com/dfsek/terra/addons/biome/pipeline/BiomePipeline.java b/common/addons/biome-provider-pipeline/src/main/java/com/dfsek/terra/addons/biome/pipeline/BiomePipeline.java index 215c95cfb..a9c013fbc 100644 --- a/common/addons/biome-provider-pipeline/src/main/java/com/dfsek/terra/addons/biome/pipeline/BiomePipeline.java +++ b/common/addons/biome-provider-pipeline/src/main/java/com/dfsek/terra/addons/biome/pipeline/BiomePipeline.java @@ -43,7 +43,7 @@ public class BiomePipeline { public static final class BiomePipelineBuilder { private final int init; - List stages = new ArrayList<>(); + private final List stages = new ArrayList<>(); private int expand; public BiomePipelineBuilder(int init) { diff --git a/common/addons/biome-provider-pipeline/src/main/java/com/dfsek/terra/addons/biome/pipeline/BiomePipelineProvider.java b/common/addons/biome-provider-pipeline/src/main/java/com/dfsek/terra/addons/biome/pipeline/BiomePipelineProvider.java index cd13330e1..6112ebe6a 100644 --- a/common/addons/biome-provider-pipeline/src/main/java/com/dfsek/terra/addons/biome/pipeline/BiomePipelineProvider.java +++ b/common/addons/biome-provider-pipeline/src/main/java/com/dfsek/terra/addons/biome/pipeline/BiomePipelineProvider.java @@ -27,7 +27,7 @@ public class BiomePipelineProvider implements BiomeProvider { holderCache = CacheBuilder.newBuilder() .maximumSize(main == null ? 32 : main.getTerraConfig().getProviderCache()) .build( - new CacheLoader() { + new CacheLoader<>() { @Override public BiomeHolder load(@NotNull SeededVector key) { return pipeline.getBiomes(key.x, key.z, key.seed); diff --git a/common/addons/config-noise-function/src/main/java/com/dfsek/terra/addons/noise/samplers/noise/CellularSampler.java b/common/addons/config-noise-function/src/main/java/com/dfsek/terra/addons/noise/samplers/noise/CellularSampler.java index 6ac6520c7..1390e3051 100644 --- a/common/addons/config-noise-function/src/main/java/com/dfsek/terra/addons/noise/samplers/noise/CellularSampler.java +++ b/common/addons/config-noise-function/src/main/java/com/dfsek/terra/addons/noise/samplers/noise/CellularSampler.java @@ -333,37 +333,22 @@ public class CellularSampler extends NoiseFunction { distance1 = fastSqrt(distance1); } } - - switch(returnType) { - case CellValue: - return closestHash * (1 / 2147483648.0); - case Distance: - return distance0 - 1; - case Distance2: - return distance1 - 1; - case Distance2Add: - return (distance1 + distance0) * 0.5 - 1; - case Distance2Sub: - return distance1 - distance0 - 1; - case Distance2Mul: - return distance1 * distance0 * 0.5 - 1; - case Distance2Div: - return distance0 / distance1 - 1; - case NoiseLookup: - return noiseLookup.getNoiseSeeded(sl, center.getX(), center.getZ()); - case Distance3: - return distance2 - 1; - case Distance3Add: - return (distance2 + distance0) * 0.5 - 1; - case Distance3Sub: - return distance2 - distance0 - 1; - case Distance3Mul: - return distance2 * distance0 - 1; - case Distance3Div: - return distance0 / distance2 - 1; - default: - return 0; - } + + return switch(returnType) { + case CellValue -> closestHash * (1 / 2147483648.0); + case Distance -> distance0 - 1; + case Distance2 -> distance1 - 1; + case Distance2Add -> (distance1 + distance0) * 0.5 - 1; + case Distance2Sub -> distance1 - distance0 - 1; + case Distance2Mul -> distance1 * distance0 * 0.5 - 1; + case Distance2Div -> distance0 / distance1 - 1; + case NoiseLookup -> noiseLookup.getNoiseSeeded(sl, center.getX(), center.getZ()); + case Distance3 -> distance2 - 1; + case Distance3Add -> (distance2 + distance0) * 0.5 - 1; + case Distance3Sub -> distance2 - distance0 - 1; + case Distance3Mul -> distance2 * distance0 - 1; + case Distance3Div -> distance0 / distance2 - 1; + }; } @Override @@ -508,37 +493,22 @@ public class CellularSampler extends NoiseFunction { distance1 = fastSqrt(distance1); } } - - switch(returnType) { - case CellValue: - return closestHash * (1 / 2147483648.0); - case Distance: - return distance0 - 1; - case Distance2: - return distance1 - 1; - case Distance2Add: - return (distance1 + distance0) * 0.5 - 1; - case Distance2Sub: - return distance1 - distance0 - 1; - case Distance2Mul: - return distance1 * distance0 * 0.5 - 1; - case Distance2Div: - return distance0 / distance1 - 1; - case NoiseLookup: - return noiseLookup.getNoiseSeeded(sl, center.getX(), center.getY(), center.getZ()); - case Distance3: - return distance2 - 1; - case Distance3Add: - return (distance2 + distance0) * 0.5 - 1; - case Distance3Sub: - return distance2 - distance0 - 1; - case Distance3Mul: - return distance2 * distance0 - 1; - case Distance3Div: - return distance0 / distance2 - 1; - default: - return 0; - } + + return switch(returnType) { + case CellValue -> closestHash * (1 / 2147483648.0); + case Distance -> distance0 - 1; + case Distance2 -> distance1 - 1; + case Distance2Add -> (distance1 + distance0) * 0.5 - 1; + case Distance2Sub -> distance1 - distance0 - 1; + case Distance2Mul -> distance1 * distance0 * 0.5 - 1; + case Distance2Div -> distance0 / distance1 - 1; + case NoiseLookup -> noiseLookup.getNoiseSeeded(sl, center.getX(), center.getY(), center.getZ()); + case Distance3 -> distance2 - 1; + case Distance3Add -> (distance2 + distance0) * 0.5 - 1; + case Distance3Sub -> distance2 - distance0 - 1; + case Distance3Mul -> distance2 * distance0 - 1; + case Distance3Div -> distance0 / distance2 - 1; + }; } public enum DistanceFunction { diff --git a/common/addons/config-noise-function/src/main/java/com/dfsek/terra/addons/noise/util/HashMapDoubleDouble.java b/common/addons/config-noise-function/src/main/java/com/dfsek/terra/addons/noise/util/HashMapDoubleDouble.java index d91193d92..fb6c36daf 100644 --- a/common/addons/config-noise-function/src/main/java/com/dfsek/terra/addons/noise/util/HashMapDoubleDouble.java +++ b/common/addons/config-noise-function/src/main/java/com/dfsek/terra/addons/noise/util/HashMapDoubleDouble.java @@ -67,8 +67,8 @@ public class HashMapDoubleDouble extends HashIntrinsic { } public boolean containsValue(double value) { - for(int i = 0; i < this.table.length; ++i) { - for(HashMapDoubleDouble.Entry e = this.table[i]; e != null; e = e.next) { + for(Entry entry : this.table) { + for(Entry e = entry; e != null; e = e.next) { if(value == e.value) { return true; } @@ -152,7 +152,7 @@ public class HashMapDoubleDouble extends HashIntrinsic { } public long memoryEstimate(int ptrsize) { - return (long) ptrsize * (long) (this.capMinus1 + this.size + 1) + (long) (this.size * 64 / 4); + return (long) ptrsize * (long) (this.capMinus1 + this.size + 1) + (this.size * 64L / 4); } public HashMapDoubleDouble.Iterator iterator() { diff --git a/common/addons/config-structure/src/main/java/com/dfsek/terra/addons/structure/structures/loot/Entry.java b/common/addons/config-structure/src/main/java/com/dfsek/terra/addons/structure/structures/loot/Entry.java index e17e8b759..df54e7cef 100644 --- a/common/addons/config-structure/src/main/java/com/dfsek/terra/addons/structure/structures/loot/Entry.java +++ b/common/addons/config-structure/src/main/java/com/dfsek/terra/addons/structure/structures/loot/Entry.java @@ -45,8 +45,7 @@ public class Entry { if(entry.containsKey("functions")) { for(Object function : (JSONArray) entry.get("functions")) { switch(((String) ((JSONObject) function).get("function"))) { - case "minecraft:set_count": - case "set_count": + case "minecraft:set_count", "set_count" -> { Object loot = ((JSONObject) function).get("count"); long max, min; if(loot instanceof Long) { @@ -57,15 +56,13 @@ public class Entry { min = (long) ((JSONObject) loot).get("min"); } functions.add(new AmountFunction(FastMath.toIntExact(min), FastMath.toIntExact(max))); - break; - case "minecraft:set_damage": - case "set_damage": + } + case "minecraft:set_damage", "set_damage" -> { long maxDamage = (long) ((JSONObject) ((JSONObject) function).get("damage")).get("max"); long minDamage = (long) ((JSONObject) ((JSONObject) function).get("damage")).get("min"); functions.add(new DamageFunction(FastMath.toIntExact(minDamage), FastMath.toIntExact(maxDamage))); - break; - case "minecraft:enchant_with_levels": - case "enchant_with_levels": + } + case "minecraft:enchant_with_levels", "enchant_with_levels" -> { long maxEnchant = (long) ((JSONObject) ((JSONObject) function).get("levels")).get("max"); long minEnchant = (long) ((JSONObject) ((JSONObject) function).get("levels")).get("min"); JSONArray disabled = null; @@ -73,7 +70,7 @@ public class Entry { disabled = (JSONArray) ((JSONObject) function).get("disabled_enchants"); functions.add( new EnchantFunction(FastMath.toIntExact(minEnchant), FastMath.toIntExact(maxEnchant), disabled, main)); - break; + } } } } diff --git a/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/parser/Parser.java b/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/parser/Parser.java index 4aeefabf0..68084fa7e 100644 --- a/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/parser/Parser.java +++ b/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/parser/Parser.java @@ -98,17 +98,14 @@ public class Parser { ParserUtil.checkType(identifier, Token.Type.IF_STATEMENT, Token.Type.WHILE_LOOP, Token.Type.FOR_LOOP); ParserUtil.checkType(tokens.consume(), Token.Type.GROUP_BEGIN); - - switch(identifier.getType()) { - case FOR_LOOP: - return parseForLoop(tokens, variableMap, identifier.getPosition()); - case IF_STATEMENT: - return parseIfStatement(tokens, variableMap, identifier.getPosition(), loop); - case WHILE_LOOP: - return parseWhileLoop(tokens, variableMap, identifier.getPosition()); - default: - throw new UnsupportedOperationException("Unknown keyword " + identifier.getContent() + ": " + identifier.getPosition()); - } + + return switch(identifier.getType()) { + case FOR_LOOP -> parseForLoop(tokens, variableMap, identifier.getPosition()); + case IF_STATEMENT -> parseIfStatement(tokens, variableMap, identifier.getPosition(), loop); + case WHILE_LOOP -> parseWhileLoop(tokens, variableMap, identifier.getPosition()); + default -> throw new UnsupportedOperationException( + "Unknown keyword " + identifier.getContent() + ": " + identifier.getPosition()); + }; } private WhileKeyword parseWhileLoop(Tokenizer tokens, Map variableMap, Position start) diff --git a/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/parser/ParserUtil.java b/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/parser/ParserUtil.java index 737efebcd..11f89a8e2 100644 --- a/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/parser/ParserUtil.java +++ b/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/parser/ParserUtil.java @@ -90,17 +90,13 @@ public class ParserUtil { } public static Returnable.ReturnType getVariableReturnType(Token varToken) throws ParseException { - switch(varToken.getType()) { - case NUMBER_VARIABLE: - return Returnable.ReturnType.NUMBER; - case STRING_VARIABLE: - return Returnable.ReturnType.STRING; - case BOOLEAN_VARIABLE: - return Returnable.ReturnType.BOOLEAN; - default: - throw new ParseException("Unexpected token " + varToken.getType() + "; expected variable declaration", - varToken.getPosition()); - } + return switch(varToken.getType()) { + case NUMBER_VARIABLE -> Returnable.ReturnType.NUMBER; + case STRING_VARIABLE -> Returnable.ReturnType.STRING; + case BOOLEAN_VARIABLE -> Returnable.ReturnType.BOOLEAN; + default -> throw new ParseException("Unexpected token " + varToken.getType() + "; expected variable declaration", + varToken.getPosition()); + }; } public static boolean hasPrecedence(Token.Type first, Token.Type second) { diff --git a/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/parser/lang/functions/Function.java b/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/parser/lang/functions/Function.java index 852ae5ee6..2040df1ac 100644 --- a/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/parser/lang/functions/Function.java +++ b/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/parser/lang/functions/Function.java @@ -9,17 +9,17 @@ import com.dfsek.terra.addons.terrascript.tokenizer.Position; public interface Function extends Returnable { - Function NULL = new Function() { + Function NULL = new Function<>() { @Override public ReturnType returnType() { return null; } - + @Override public Object apply(ImplementationArguments implementationArguments, Map> variableMap) { return null; } - + @Override public Position getPosition() { return null; diff --git a/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/parser/lang/variables/Declaration.java b/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/parser/lang/variables/Declaration.java index 5ded38fdd..90b93f84b 100644 --- a/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/parser/lang/variables/Declaration.java +++ b/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/parser/lang/variables/Declaration.java @@ -33,15 +33,9 @@ public class Declaration implements Item { public T apply(ImplementationArguments implementationArguments, Map> variableMap) { T result = value.apply(implementationArguments, variableMap); switch(type) { - case NUMBER: - variableMap.put(identifier, new NumberVariable((Number) result, position)); - break; - case BOOLEAN: - variableMap.put(identifier, new BooleanVariable((Boolean) result, position)); - break; - case STRING: - variableMap.put(identifier, new StringVariable((String) result, position)); - break; + case NUMBER -> variableMap.put(identifier, new NumberVariable((Number) result, position)); + case BOOLEAN -> variableMap.put(identifier, new BooleanVariable((Boolean) result, position)); + case STRING -> variableMap.put(identifier, new StringVariable((String) result, position)); } return result; } diff --git a/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/script/builders/BinaryNumberFunctionBuilder.java b/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/script/builders/BinaryNumberFunctionBuilder.java index f25a4a32f..2497db303 100644 --- a/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/script/builders/BinaryNumberFunctionBuilder.java +++ b/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/script/builders/BinaryNumberFunctionBuilder.java @@ -22,19 +22,19 @@ public class BinaryNumberFunctionBuilder implements FunctionBuilder build(List> argumentList, Position position) { - return new Function() { + return new Function<>() { @Override public ReturnType returnType() { return ReturnType.NUMBER; } - + @SuppressWarnings("unchecked") @Override public Number apply(ImplementationArguments implementationArguments, Map> variableMap) { return function.apply(((Returnable) argumentList.get(0)).apply(implementationArguments, variableMap), ((Returnable) argumentList.get(1)).apply(implementationArguments, variableMap)); } - + @Override public Position getPosition() { return position; diff --git a/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/script/builders/BiomeFunctionBuilder.java b/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/script/builders/BiomeFunctionBuilder.java index 7e38c4c34..766ff7dce 100644 --- a/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/script/builders/BiomeFunctionBuilder.java +++ b/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/script/builders/BiomeFunctionBuilder.java @@ -30,13 +30,9 @@ public class BiomeFunctionBuilder implements FunctionBuilder { @Override public Returnable.ReturnType getArgument(int position) { - switch(position) { - case 0: - case 1: - case 2: - return Returnable.ReturnType.NUMBER; - default: - return null; - } + return switch(position) { + case 0, 1, 2 -> Returnable.ReturnType.NUMBER; + default -> null; + }; } } diff --git a/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/script/builders/BlockFunctionBuilder.java b/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/script/builders/BlockFunctionBuilder.java index 995ec9258..eb6bbfcfd 100644 --- a/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/script/builders/BlockFunctionBuilder.java +++ b/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/script/builders/BlockFunctionBuilder.java @@ -42,17 +42,11 @@ public class BlockFunctionBuilder implements FunctionBuilder { @Override public Returnable.ReturnType getArgument(int position) { - switch(position) { - case 0: - case 1: - case 2: - return Returnable.ReturnType.NUMBER; - case 3: - return Returnable.ReturnType.STRING; - case 4: - return Returnable.ReturnType.BOOLEAN; - default: - return null; - } + return switch(position) { + case 0, 1, 2 -> Returnable.ReturnType.NUMBER; + case 3 -> Returnable.ReturnType.STRING; + case 4 -> Returnable.ReturnType.BOOLEAN; + default -> null; + }; } } diff --git a/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/script/builders/CheckBlockFunctionBuilder.java b/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/script/builders/CheckBlockFunctionBuilder.java index 141372ef6..e86cc4388 100644 --- a/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/script/builders/CheckBlockFunctionBuilder.java +++ b/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/script/builders/CheckBlockFunctionBuilder.java @@ -23,13 +23,9 @@ public class CheckBlockFunctionBuilder implements FunctionBuilder Returnable.ReturnType.NUMBER; + default -> null; + }; } } diff --git a/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/script/builders/CheckFunctionBuilder.java b/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/script/builders/CheckFunctionBuilder.java index ccce55f2d..7c10fde63 100644 --- a/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/script/builders/CheckFunctionBuilder.java +++ b/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/script/builders/CheckFunctionBuilder.java @@ -31,13 +31,9 @@ public class CheckFunctionBuilder implements FunctionBuilder { @Override public Returnable.ReturnType getArgument(int position) { - switch(position) { - case 0: - case 1: - case 2: - return Returnable.ReturnType.NUMBER; - default: - return null; - } + return switch(position) { + case 0, 1, 2 -> Returnable.ReturnType.NUMBER; + default -> null; + }; } } diff --git a/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/script/builders/EntityFunctionBuilder.java b/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/script/builders/EntityFunctionBuilder.java index ccf279f9b..3830d7493 100644 --- a/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/script/builders/EntityFunctionBuilder.java +++ b/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/script/builders/EntityFunctionBuilder.java @@ -31,15 +31,10 @@ public class EntityFunctionBuilder implements FunctionBuilder { @Override public Returnable.ReturnType getArgument(int position) { - switch(position) { - case 0: - case 1: - case 2: - return Returnable.ReturnType.NUMBER; - case 3: - return Returnable.ReturnType.STRING; - default: - return null; - } + return switch(position) { + case 0, 1, 2 -> Returnable.ReturnType.NUMBER; + case 3 -> Returnable.ReturnType.STRING; + default -> null; + }; } } diff --git a/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/script/builders/GetMarkFunctionBuilder.java b/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/script/builders/GetMarkFunctionBuilder.java index aa1674cc0..3973390b7 100644 --- a/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/script/builders/GetMarkFunctionBuilder.java +++ b/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/script/builders/GetMarkFunctionBuilder.java @@ -27,13 +27,9 @@ public class GetMarkFunctionBuilder implements FunctionBuilder @Override public Returnable.ReturnType getArgument(int position) { - switch(position) { - case 0: - case 1: - case 2: - return Returnable.ReturnType.NUMBER; - default: - return null; - } + return switch(position) { + case 0, 1, 2 -> Returnable.ReturnType.NUMBER; + default -> null; + }; } } diff --git a/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/script/builders/LootFunctionBuilder.java b/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/script/builders/LootFunctionBuilder.java index 2d7c65fa9..6e65a8ac7 100644 --- a/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/script/builders/LootFunctionBuilder.java +++ b/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/script/builders/LootFunctionBuilder.java @@ -37,15 +37,10 @@ public class LootFunctionBuilder implements FunctionBuilder { @Override public Returnable.ReturnType getArgument(int position) { - switch(position) { - case 0: - case 1: - case 2: - return Returnable.ReturnType.NUMBER; - case 3: - return Returnable.ReturnType.STRING; - default: - return null; - } + return switch(position) { + case 0, 1, 2 -> Returnable.ReturnType.NUMBER; + case 3 -> Returnable.ReturnType.STRING; + default -> null; + }; } } diff --git a/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/script/builders/PullFunctionBuilder.java b/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/script/builders/PullFunctionBuilder.java index bc5b621f6..4d7e72e72 100644 --- a/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/script/builders/PullFunctionBuilder.java +++ b/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/script/builders/PullFunctionBuilder.java @@ -31,15 +31,10 @@ public class PullFunctionBuilder implements FunctionBuilder { @Override public Returnable.ReturnType getArgument(int position) { - switch(position) { - case 0: - case 1: - case 2: - return Returnable.ReturnType.NUMBER; - case 3: - return Returnable.ReturnType.STRING; - default: - return null; - } + return switch(position) { + case 0, 1, 2 -> Returnable.ReturnType.NUMBER; + case 3 -> Returnable.ReturnType.STRING; + default -> null; + }; } } diff --git a/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/script/builders/SetMarkFunctionBuilder.java b/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/script/builders/SetMarkFunctionBuilder.java index 920cdfdc8..aaacf31ef 100644 --- a/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/script/builders/SetMarkFunctionBuilder.java +++ b/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/script/builders/SetMarkFunctionBuilder.java @@ -28,15 +28,10 @@ public class SetMarkFunctionBuilder implements FunctionBuilder @Override public Returnable.ReturnType getArgument(int position) { - switch(position) { - case 0: - case 1: - case 2: - return Returnable.ReturnType.NUMBER; - case 3: - return Returnable.ReturnType.STRING; - default: - return null; - } + return switch(position) { + case 0, 1, 2 -> Returnable.ReturnType.NUMBER; + case 3 -> Returnable.ReturnType.STRING; + default -> null; + }; } } diff --git a/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/script/builders/StateFunctionBuilder.java b/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/script/builders/StateFunctionBuilder.java index 57978047f..7f497334d 100644 --- a/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/script/builders/StateFunctionBuilder.java +++ b/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/script/builders/StateFunctionBuilder.java @@ -32,15 +32,10 @@ public class StateFunctionBuilder implements FunctionBuilder { @Override public Returnable.ReturnType getArgument(int position) { - switch(position) { - case 0: - case 1: - case 2: - return Returnable.ReturnType.NUMBER; - case 3: - return Returnable.ReturnType.STRING; - default: - return null; - } + return switch(position) { + case 0, 1, 2 -> Returnable.ReturnType.NUMBER; + case 3 -> Returnable.ReturnType.STRING; + default -> null; + }; } } diff --git a/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/script/builders/StructureFunctionBuilder.java b/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/script/builders/StructureFunctionBuilder.java index ad5921c2d..1fb868e38 100644 --- a/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/script/builders/StructureFunctionBuilder.java +++ b/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/script/builders/StructureFunctionBuilder.java @@ -40,13 +40,9 @@ public class StructureFunctionBuilder implements FunctionBuilder Returnable.ReturnType.NUMBER; + default -> Returnable.ReturnType.STRING; + }; } } diff --git a/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/script/builders/UnaryBooleanFunctionBuilder.java b/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/script/builders/UnaryBooleanFunctionBuilder.java index 16da09601..5e81ab78c 100644 --- a/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/script/builders/UnaryBooleanFunctionBuilder.java +++ b/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/script/builders/UnaryBooleanFunctionBuilder.java @@ -23,12 +23,12 @@ public class UnaryBooleanFunctionBuilder implements FunctionBuilder build(List> argumentList, Position position) { - return new Function() { + return new Function<>() { @Override public ReturnType returnType() { return ReturnType.VOID; } - + @SuppressWarnings("unchecked") @Override public Void apply(ImplementationArguments implementationArguments, Map> variableMap) { @@ -36,7 +36,7 @@ public class UnaryBooleanFunctionBuilder implements FunctionBuilder build(List> argumentList, Position position) { - return new Function() { + return new Function<>() { @Override public ReturnType returnType() { return ReturnType.NUMBER; } - + @SuppressWarnings("unchecked") @Override public Number apply(ImplementationArguments implementationArguments, Map> variableMap) { return function.apply(((Returnable) argumentList.get(0)).apply(implementationArguments, variableMap)); } - + @Override public Position getPosition() { return position; diff --git a/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/script/builders/UnaryStringFunctionBuilder.java b/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/script/builders/UnaryStringFunctionBuilder.java index 4989cdabe..729f4d345 100644 --- a/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/script/builders/UnaryStringFunctionBuilder.java +++ b/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/script/builders/UnaryStringFunctionBuilder.java @@ -21,19 +21,19 @@ public class UnaryStringFunctionBuilder implements FunctionBuilder build(List> argumentList, Position position) { - return new Function() { + return new Function<>() { @Override public ReturnType returnType() { return ReturnType.VOID; } - + @SuppressWarnings("unchecked") @Override public Void apply(ImplementationArguments implementationArguments, Map> variableMap) { function.accept(((Returnable) argumentList.get(0)).apply(implementationArguments, variableMap)); return null; } - + @Override public Position getPosition() { return position; diff --git a/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/script/builders/ZeroArgFunctionBuilder.java b/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/script/builders/ZeroArgFunctionBuilder.java index 05bfecfcd..4cb828d38 100644 --- a/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/script/builders/ZeroArgFunctionBuilder.java +++ b/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/script/builders/ZeroArgFunctionBuilder.java @@ -23,17 +23,17 @@ public class ZeroArgFunctionBuilder implements FunctionBuilder> { @Override public Function build(List> argumentList, Position position) { - return new Function() { + return new Function<>() { @Override public ReturnType returnType() { return type; } - + @Override public T apply(ImplementationArguments implementationArguments, Map> variableMap) { return function.apply((TerraImplementationArguments) implementationArguments); } - + @Override public Position getPosition() { return position; diff --git a/common/addons/structure-terrascript-loader/src/test/java/structure/ParserTest.java b/common/addons/structure-terrascript-loader/src/test/java/structure/ParserTest.java index d5fa937e2..d9147d684 100644 --- a/common/addons/structure-terrascript-loader/src/test/java/structure/ParserTest.java +++ b/common/addons/structure-terrascript-loader/src/test/java/structure/ParserTest.java @@ -39,14 +39,11 @@ public class ParserTest { @Override public Returnable.ReturnType getArgument(int position) { - switch(position) { - case 0: - return Returnable.ReturnType.STRING; - case 1: - return Returnable.ReturnType.NUMBER; - default: - return null; - } + return switch(position) { + case 0 -> Returnable.ReturnType.STRING; + case 1 -> Returnable.ReturnType.NUMBER; + default -> null; + }; } }); diff --git a/common/api/core/src/main/java/com/dfsek/terra/api/block/state/properties/base/EnumProperty.java b/common/api/core/src/main/java/com/dfsek/terra/api/block/state/properties/base/EnumProperty.java index af5565485..2e7770b4f 100644 --- a/common/api/core/src/main/java/com/dfsek/terra/api/block/state/properties/base/EnumProperty.java +++ b/common/api/core/src/main/java/com/dfsek/terra/api/block/state/properties/base/EnumProperty.java @@ -9,19 +9,19 @@ import com.dfsek.terra.api.util.generic.Lazy; public interface EnumProperty> extends Property { static > EnumProperty of(String name, Class clazz) { - return new EnumProperty() { + return new EnumProperty<>() { private final Lazy> constants = Lazy.lazy(() -> Arrays.asList(clazz.getEnumConstants())); - + @Override public Collection values() { return constants.value(); } - + @Override public Class getType() { return clazz; } - + @Override public String getName() { return name; diff --git a/common/api/core/src/main/java/com/dfsek/terra/api/block/state/properties/enums/Direction.java b/common/api/core/src/main/java/com/dfsek/terra/api/block/state/properties/enums/Direction.java index 4a3578bc9..091416781 100644 --- a/common/api/core/src/main/java/com/dfsek/terra/api/block/state/properties/enums/Direction.java +++ b/common/api/core/src/main/java/com/dfsek/terra/api/block/state/properties/enums/Direction.java @@ -28,32 +28,21 @@ public enum Direction { } public Direction rotate(Rotation rotation) { - switch(this) { - case UP: - case DOWN: - return this; - default: - return rotations[(this.rotation + rotation.getDegrees() / 90) % 4]; - } + return switch(this) { + case UP, DOWN -> this; + default -> rotations[(this.rotation + rotation.getDegrees() / 90) % 4]; + }; } public Direction opposite() { - switch(this) { - case DOWN: - return UP; - case UP: - return DOWN; - case EAST: - return WEST; - case WEST: - return EAST; - case NORTH: - return SOUTH; - case SOUTH: - return NORTH; - } - - throw new IllegalStateException(); + return switch(this) { + case DOWN -> UP; + case UP -> DOWN; + case EAST -> WEST; + case WEST -> EAST; + case NORTH -> SOUTH; + case SOUTH -> NORTH; + }; } public int getModX() { diff --git a/common/api/core/src/main/java/com/dfsek/terra/api/structure/rotation/Rotation.java b/common/api/core/src/main/java/com/dfsek/terra/api/structure/rotation/Rotation.java index 55fb7f9c9..685c565d2 100644 --- a/common/api/core/src/main/java/com/dfsek/terra/api/structure/rotation/Rotation.java +++ b/common/api/core/src/main/java/com/dfsek/terra/api/structure/rotation/Rotation.java @@ -16,33 +16,22 @@ public enum Rotation { } public static Rotation fromDegrees(int deg) { - switch(FastMath.floorMod(deg, 360)) { - case 0: - return Rotation.NONE; - case 90: - return Rotation.CW_90; - case 180: - return Rotation.CW_180; - case 270: - return Rotation.CCW_90; - default: - throw new IllegalArgumentException(); - } + return switch(FastMath.floorMod(deg, 360)) { + case 0 -> Rotation.NONE; + case 90 -> Rotation.CW_90; + case 180 -> Rotation.CW_180; + case 270 -> Rotation.CCW_90; + default -> throw new IllegalArgumentException(); + }; } public Rotation inverse() { - switch(this) { - case NONE: - return NONE; - case CCW_90: - return CW_90; - case CW_90: - return CCW_90; - case CW_180: - return CW_180; - default: - throw new IllegalArgumentException(); - } + return switch(this) { + case NONE -> NONE; + case CCW_90 -> CW_90; + case CW_90 -> CCW_90; + case CW_180 -> CW_180; + }; } public Rotation rotate(Rotation rotation) { diff --git a/common/api/core/src/main/java/com/dfsek/terra/api/util/RotationUtil.java b/common/api/core/src/main/java/com/dfsek/terra/api/util/RotationUtil.java index 2e10ed31b..a216c32ba 100644 --- a/common/api/core/src/main/java/com/dfsek/terra/api/util/RotationUtil.java +++ b/common/api/core/src/main/java/com/dfsek/terra/api/util/RotationUtil.java @@ -23,15 +23,9 @@ public final class RotationUtil { public static void rotateVector(Vector2 orig, Rotation r) { Vector2 copy = orig.clone(); switch(r) { - case CW_90: - copy.setX(orig.getZ()).setZ(-orig.getX()); - break; - case CCW_90: - copy.setX(-orig.getZ()).setZ(orig.getX()); - break; - case CW_180: - copy.multiply(-1); - break; + case CW_90 -> copy.setX(orig.getZ()).setZ(-orig.getX()); + case CCW_90 -> copy.setX(-orig.getZ()).setZ(orig.getX()); + case CW_180 -> copy.multiply(-1); } orig.setX(copy.getX()); orig.setZ(copy.getZ()); @@ -64,74 +58,44 @@ public final class RotationUtil { public static RailShape getRotatedRail(RailShape orig, Rotation r) { switch(r) { case CCW_90: - switch(orig) { - case NORTH_WEST: - return RailShape.SOUTH_WEST; - case NORTH_SOUTH: - return RailShape.EAST_WEST; - case SOUTH_WEST: - return RailShape.SOUTH_EAST; - case SOUTH_EAST: - return RailShape.NORTH_EAST; - case EAST_WEST: - return RailShape.NORTH_SOUTH; - case NORTH_EAST: - return RailShape.NORTH_WEST; - case ASCENDING_EAST: - return RailShape.ASCENDING_NORTH; - case ASCENDING_WEST: - return RailShape.ASCENDING_SOUTH; - case ASCENDING_NORTH: - return RailShape.ASCENDING_WEST; - case ASCENDING_SOUTH: - return RailShape.ASCENDING_EAST; - } + return switch(orig) { + case NORTH_WEST -> RailShape.SOUTH_WEST; + case NORTH_SOUTH -> RailShape.EAST_WEST; + case SOUTH_WEST -> RailShape.SOUTH_EAST; + case SOUTH_EAST -> RailShape.NORTH_EAST; + case EAST_WEST -> RailShape.NORTH_SOUTH; + case NORTH_EAST -> RailShape.NORTH_WEST; + case ASCENDING_EAST -> RailShape.ASCENDING_NORTH; + case ASCENDING_WEST -> RailShape.ASCENDING_SOUTH; + case ASCENDING_NORTH -> RailShape.ASCENDING_WEST; + case ASCENDING_SOUTH -> RailShape.ASCENDING_EAST; + }; case CW_90: - switch(orig) { - case NORTH_WEST: - return RailShape.NORTH_EAST; - case NORTH_SOUTH: - return RailShape.EAST_WEST; - case SOUTH_WEST: - return RailShape.NORTH_WEST; - case SOUTH_EAST: - return RailShape.SOUTH_WEST; - case EAST_WEST: - return RailShape.NORTH_SOUTH; - case NORTH_EAST: - return RailShape.SOUTH_EAST; - case ASCENDING_EAST: - return RailShape.ASCENDING_SOUTH; - case ASCENDING_WEST: - return RailShape.ASCENDING_NORTH; - case ASCENDING_NORTH: - return RailShape.ASCENDING_EAST; - case ASCENDING_SOUTH: - return RailShape.ASCENDING_WEST; - } + return switch(orig) { + case NORTH_WEST -> RailShape.NORTH_EAST; + case NORTH_SOUTH -> RailShape.EAST_WEST; + case SOUTH_WEST -> RailShape.NORTH_WEST; + case SOUTH_EAST -> RailShape.SOUTH_WEST; + case EAST_WEST -> RailShape.NORTH_SOUTH; + case NORTH_EAST -> RailShape.SOUTH_EAST; + case ASCENDING_EAST -> RailShape.ASCENDING_SOUTH; + case ASCENDING_WEST -> RailShape.ASCENDING_NORTH; + case ASCENDING_NORTH -> RailShape.ASCENDING_EAST; + case ASCENDING_SOUTH -> RailShape.ASCENDING_WEST; + }; case CW_180: - switch(orig) { - case NORTH_WEST: - return RailShape.SOUTH_EAST; - case NORTH_SOUTH: - return RailShape.NORTH_SOUTH; - case SOUTH_WEST: - return RailShape.NORTH_EAST; - case SOUTH_EAST: - return RailShape.NORTH_WEST; - case EAST_WEST: - return RailShape.EAST_WEST; - case NORTH_EAST: - return RailShape.SOUTH_WEST; - case ASCENDING_EAST: - return RailShape.ASCENDING_WEST; - case ASCENDING_WEST: - return RailShape.ASCENDING_EAST; - case ASCENDING_NORTH: - return RailShape.ASCENDING_SOUTH; - case ASCENDING_SOUTH: - return RailShape.ASCENDING_NORTH; - } + return switch(orig) { + case NORTH_WEST -> RailShape.SOUTH_EAST; + case NORTH_SOUTH -> RailShape.NORTH_SOUTH; + case SOUTH_WEST -> RailShape.NORTH_EAST; + case SOUTH_EAST -> RailShape.NORTH_WEST; + case EAST_WEST -> RailShape.EAST_WEST; + case NORTH_EAST -> RailShape.SOUTH_WEST; + case ASCENDING_EAST -> RailShape.ASCENDING_WEST; + case ASCENDING_WEST -> RailShape.ASCENDING_EAST; + case ASCENDING_NORTH -> RailShape.ASCENDING_SOUTH; + case ASCENDING_SOUTH -> RailShape.ASCENDING_NORTH; + }; } return orig; } diff --git a/common/implementation/src/main/java/com/dfsek/terra/AbstractPlatform.java b/common/implementation/src/main/java/com/dfsek/terra/AbstractPlatform.java index 5bfa3dac8..32d5a0d2a 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/AbstractPlatform.java +++ b/common/implementation/src/main/java/com/dfsek/terra/AbstractPlatform.java @@ -66,7 +66,7 @@ public abstract class AbstractPlatform implements Platform { private final AddonRegistry addonRegistry = new AddonRegistry(this); - private final Lazy logger = Lazy.lazy(() -> createLogger()); + private final Lazy logger = Lazy.lazy(this::createLogger); private final Lazy debugLogger = Lazy.lazy(() -> new DebugLogger(logger())); @Override diff --git a/common/implementation/src/main/java/com/dfsek/terra/commands/PacksCommand.java b/common/implementation/src/main/java/com/dfsek/terra/commands/PacksCommand.java index f2ceda3c1..0b524ac13 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/commands/PacksCommand.java +++ b/common/implementation/src/main/java/com/dfsek/terra/commands/PacksCommand.java @@ -27,8 +27,6 @@ public class PacksCommand implements CommandTemplate { } LangUtil.send("command.packs.main", sender); - registry.entries().forEach(entry -> { - LangUtil.send("command.packs.pack", sender, entry.getID(), entry.getAuthor(), entry.getVersion()); - }); + registry.entries().forEach(entry -> LangUtil.send("command.packs.pack", sender, entry.getID(), entry.getAuthor(), entry.getVersion())); } } diff --git a/common/implementation/src/main/java/com/dfsek/terra/registry/OpenRegistryImpl.java b/common/implementation/src/main/java/com/dfsek/terra/registry/OpenRegistryImpl.java index 48b49b376..018910664 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/registry/OpenRegistryImpl.java +++ b/common/implementation/src/main/java/com/dfsek/terra/registry/OpenRegistryImpl.java @@ -39,7 +39,7 @@ public class OpenRegistryImpl implements OpenRegistry { T obj = get((String) o); StringBuilder keys = new StringBuilder("["); - objects.keySet().forEach(key -> keys.append(key + ", ")); + objects.keySet().forEach(key -> keys.append(key).append(", ")); if(obj == null) throw new LoadException("No such " + type.getType().getTypeName() + " matching \"" + o + diff --git a/common/implementation/src/test/java/profiler/ProfilerTest.java b/common/implementation/src/test/java/profiler/ProfilerTest.java index e6300291d..74836723b 100644 --- a/common/implementation/src/test/java/profiler/ProfilerTest.java +++ b/common/implementation/src/test/java/profiler/ProfilerTest.java @@ -30,9 +30,7 @@ public class ProfilerTest { PROFILER.push("thing4"); PROFILER.pop("thing4"); - PROFILER.getTimings().forEach((id, timings) -> { - System.out.println(id + ": " + timings.toString()); - }); + PROFILER.getTimings().forEach((id, timings) -> System.out.println(id + ": " + timings.toString())); } private static void doThing() throws InterruptedException { diff --git a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/BukkitAdapter.java b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/BukkitAdapter.java index f9fb0f64e..074503435 100644 --- a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/BukkitAdapter.java +++ b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/BukkitAdapter.java @@ -57,132 +57,81 @@ public final class BukkitAdapter { } public static Axis adapt(org.bukkit.Axis axis) { - switch(axis) { - case X: - return Axis.X; - case Y: - return Axis.Y; - case Z: - return Axis.Z; - default: - throw new IllegalStateException(); - } + return switch(axis) { + case X -> Axis.X; + case Y -> Axis.Y; + case Z -> Axis.Z; + }; } public static Half adapt(org.bukkit.block.data.Bisected.Half half) { - switch(half) { - case BOTTOM: - return Half.BOTTOM; - case TOP: - return Half.TOP; - default: - throw new IllegalStateException(); - } + return switch(half) { + case BOTTOM -> Half.BOTTOM; + case TOP -> Half.TOP; + }; } public static RedstoneConnection adapt(org.bukkit.block.data.type.RedstoneWire.Connection connection) { - switch(connection) { - case NONE: - return RedstoneConnection.NONE; - case UP: - return RedstoneConnection.UP; - case SIDE: - return RedstoneConnection.SIDE; - default: - throw new IllegalStateException(); - } + return switch(connection) { + case NONE -> RedstoneConnection.NONE; + case UP -> RedstoneConnection.UP; + case SIDE -> RedstoneConnection.SIDE; + }; } public static org.bukkit.block.data.type.RedstoneWire.Connection adapt(RedstoneConnection connection) { - switch(connection) { - case SIDE: - return org.bukkit.block.data.type.RedstoneWire.Connection.SIDE; - case UP: - return org.bukkit.block.data.type.RedstoneWire.Connection.UP; - case NONE: - return org.bukkit.block.data.type.RedstoneWire.Connection.NONE; - default: - throw new IllegalStateException(); - } + return switch(connection) { + case SIDE -> org.bukkit.block.data.type.RedstoneWire.Connection.SIDE; + case UP -> org.bukkit.block.data.type.RedstoneWire.Connection.UP; + case NONE -> org.bukkit.block.data.type.RedstoneWire.Connection.NONE; + }; } public static RailShape adapt(org.bukkit.block.data.Rail.Shape shape) { - switch(shape) { - case SOUTH_WEST: - return RailShape.SOUTH_WEST; - case SOUTH_EAST: - return RailShape.SOUTH_EAST; - case NORTH_EAST: - return RailShape.NORTH_EAST; - case NORTH_WEST: - return RailShape.NORTH_WEST; - case ASCENDING_EAST: - return RailShape.ASCENDING_EAST; - case ASCENDING_WEST: - return RailShape.ASCENDING_WEST; - case ASCENDING_SOUTH: - return RailShape.ASCENDING_SOUTH; - case ASCENDING_NORTH: - return RailShape.ASCENDING_NORTH; - case NORTH_SOUTH: - return RailShape.NORTH_SOUTH; - case EAST_WEST: - return RailShape.EAST_WEST; - default: - throw new IllegalStateException(); - } + return switch(shape) { + case SOUTH_WEST -> RailShape.SOUTH_WEST; + case SOUTH_EAST -> RailShape.SOUTH_EAST; + case NORTH_EAST -> RailShape.NORTH_EAST; + case NORTH_WEST -> RailShape.NORTH_WEST; + case ASCENDING_EAST -> RailShape.ASCENDING_EAST; + case ASCENDING_WEST -> RailShape.ASCENDING_WEST; + case ASCENDING_SOUTH -> RailShape.ASCENDING_SOUTH; + case ASCENDING_NORTH -> RailShape.ASCENDING_NORTH; + case NORTH_SOUTH -> RailShape.NORTH_SOUTH; + case EAST_WEST -> RailShape.EAST_WEST; + }; } public static org.bukkit.block.data.Rail.Shape adapt(RailShape shape) { - switch(shape) { - case EAST_WEST: - return org.bukkit.block.data.Rail.Shape.EAST_WEST; - case NORTH_SOUTH: - return org.bukkit.block.data.Rail.Shape.NORTH_SOUTH; - case ASCENDING_NORTH: - return org.bukkit.block.data.Rail.Shape.ASCENDING_NORTH; - case ASCENDING_SOUTH: - return org.bukkit.block.data.Rail.Shape.ASCENDING_SOUTH; - case ASCENDING_WEST: - return org.bukkit.block.data.Rail.Shape.ASCENDING_WEST; - case ASCENDING_EAST: - return org.bukkit.block.data.Rail.Shape.ASCENDING_EAST; - case NORTH_WEST: - return org.bukkit.block.data.Rail.Shape.NORTH_WEST; - case NORTH_EAST: - return org.bukkit.block.data.Rail.Shape.NORTH_EAST; - case SOUTH_EAST: - return org.bukkit.block.data.Rail.Shape.SOUTH_EAST; - case SOUTH_WEST: - return org.bukkit.block.data.Rail.Shape.SOUTH_WEST; - default: - throw new IllegalStateException(); - } + return switch(shape) { + case EAST_WEST -> org.bukkit.block.data.Rail.Shape.EAST_WEST; + case NORTH_SOUTH -> org.bukkit.block.data.Rail.Shape.NORTH_SOUTH; + case ASCENDING_NORTH -> org.bukkit.block.data.Rail.Shape.ASCENDING_NORTH; + case ASCENDING_SOUTH -> org.bukkit.block.data.Rail.Shape.ASCENDING_SOUTH; + case ASCENDING_WEST -> org.bukkit.block.data.Rail.Shape.ASCENDING_WEST; + case ASCENDING_EAST -> org.bukkit.block.data.Rail.Shape.ASCENDING_EAST; + case NORTH_WEST -> org.bukkit.block.data.Rail.Shape.NORTH_WEST; + case NORTH_EAST -> org.bukkit.block.data.Rail.Shape.NORTH_EAST; + case SOUTH_EAST -> org.bukkit.block.data.Rail.Shape.SOUTH_EAST; + case SOUTH_WEST -> org.bukkit.block.data.Rail.Shape.SOUTH_WEST; + }; } public static org.bukkit.block.data.Bisected.Half adapt(Half half) { - switch(half) { - case TOP: - return org.bukkit.block.data.Bisected.Half.TOP; - case BOTTOM: - return org.bukkit.block.data.Bisected.Half.BOTTOM; - default: - throw new IllegalStateException(); - } + return switch(half) { + case TOP -> org.bukkit.block.data.Bisected.Half.TOP; + case BOTTOM -> org.bukkit.block.data.Bisected.Half.BOTTOM; + default -> throw new IllegalStateException(); + }; } public static org.bukkit.Axis adapt(Axis axis) { - switch(axis) { - case Z: - return org.bukkit.Axis.Z; - case Y: - return org.bukkit.Axis.Y; - case X: - return org.bukkit.Axis.X; - default: - throw new IllegalStateException(); - } + return switch(axis) { + case Z -> org.bukkit.Axis.Z; + case Y -> org.bukkit.Axis.Y; + case X -> org.bukkit.Axis.X; + }; } public static Vector3 adapt(Location location) { diff --git a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/BukkitTree.java b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/BukkitTree.java index 8574cd1e9..a12605c80 100644 --- a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/BukkitTree.java +++ b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/BukkitTree.java @@ -27,21 +27,16 @@ public class BukkitTree implements Tree { private MaterialSet getSpawnable(TreeType type) { WorldHandle handle = main.getWorldHandle(); - switch(type) { - case CRIMSON_FUNGUS: - return MaterialSet.get(handle.createBlockData("minecraft:crimson_nylium")); - case WARPED_FUNGUS: - return MaterialSet.get(handle.createBlockData("minecraft:warped_nylium")); - case BROWN_MUSHROOM: - case RED_MUSHROOM: - return MaterialSet.get(handle.createBlockData("minecraft:mycelium"), handle.createBlockData("minecraft:grass_block"), + return switch(type) { + case CRIMSON_FUNGUS -> MaterialSet.get(handle.createBlockData("minecraft:crimson_nylium")); + case WARPED_FUNGUS -> MaterialSet.get(handle.createBlockData("minecraft:warped_nylium")); + case BROWN_MUSHROOM, RED_MUSHROOM -> MaterialSet.get(handle.createBlockData("minecraft:mycelium"), + handle.createBlockData("minecraft:grass_block"), + handle.createBlockData("minecraft:podzol")); + case CHORUS_PLANT -> MaterialSet.get(handle.createBlockData("minecraft:end_stone")); + default -> MaterialSet.get(handle.createBlockData("minecraft:grass_block"), handle.createBlockData("minecraft:dirt"), handle.createBlockData("minecraft:podzol")); - case CHORUS_PLANT: - return MaterialSet.get(handle.createBlockData("minecraft:end_stone")); - default: - return MaterialSet.get(handle.createBlockData("minecraft:grass_block"), handle.createBlockData("minecraft:dirt"), - handle.createBlockData("minecraft:podzol")); - } + }; } @Override diff --git a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/state/BukkitMobSpawner.java b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/state/BukkitMobSpawner.java index 641c6dc2a..183e24d01 100644 --- a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/state/BukkitMobSpawner.java +++ b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/state/BukkitMobSpawner.java @@ -98,32 +98,15 @@ public class BukkitMobSpawner extends BukkitBlockEntity implements MobSpawner { public void applyState(String state) { SerialState.parse(state).forEach((k, v) -> { switch(k) { - case "type": - setSpawnedType(new BukkitEntityType(org.bukkit.entity.EntityType.valueOf(v.toUpperCase()))); - return; - case "delay": - setDelay(Integer.parseInt(v)); - return; - case "min_delay": - setMinSpawnDelay(Integer.parseInt(v)); - return; - case "max_delay": - setMaxSpawnDelay(Integer.parseInt(v)); - return; - case "spawn_count": - setSpawnCount(Integer.parseInt(v)); - return; - case "spawn_range": - setSpawnRange(Integer.parseInt(v)); - return; - case "max_nearby": - setMaxNearbyEntities(Integer.parseInt(v)); - return; - case "required_player_range": - setRequiredPlayerRange(Integer.parseInt(v)); - return; - default: - throw new IllegalArgumentException("Invalid property: " + k); + case "type" -> setSpawnedType(new BukkitEntityType(org.bukkit.entity.EntityType.valueOf(v.toUpperCase()))); + case "delay" -> setDelay(Integer.parseInt(v)); + case "min_delay" -> setMinSpawnDelay(Integer.parseInt(v)); + case "max_delay" -> setMaxSpawnDelay(Integer.parseInt(v)); + case "spawn_count" -> setSpawnCount(Integer.parseInt(v)); + case "spawn_range" -> setSpawnRange(Integer.parseInt(v)); + case "max_nearby" -> setMaxNearbyEntities(Integer.parseInt(v)); + case "required_player_range" -> setRequiredPlayerRange(Integer.parseInt(v)); + default -> throw new IllegalArgumentException("Invalid property: " + k); } }); } diff --git a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/block/state/MobSpawnerBlockEntityMixin.java b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/block/state/MobSpawnerBlockEntityMixin.java index 3c303d2ee..5b1d3709d 100644 --- a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/block/state/MobSpawnerBlockEntityMixin.java +++ b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/block/state/MobSpawnerBlockEntityMixin.java @@ -97,32 +97,15 @@ public abstract class MobSpawnerBlockEntityMixin extends BlockEntity { public void terra$applyState(String state) { SerialState.parse(state).forEach((k, v) -> { switch(k) { - case "type": - terra$setSpawnedType(FabricEntryPoint.getTerraPlugin().getWorldHandle().getEntity(v)); - return; - case "delay": - terra$setDelay(Integer.parseInt(v)); - return; - case "min_delay": - terra$setMinSpawnDelay(Integer.parseInt(v)); - return; - case "max_delay": - terra$setMaxSpawnDelay(Integer.parseInt(v)); - return; - case "spawn_count": - terra$setSpawnCount(Integer.parseInt(v)); - return; - case "spawn_range": - terra$setSpawnRange(Integer.parseInt(v)); - return; - case "max_nearby": - terra$setMaxNearbyEntities(Integer.parseInt(v)); - return; - case "required_player_range": - terra$setRequiredPlayerRange(Integer.parseInt(v)); - return; - default: - throw new IllegalArgumentException("Invalid property: " + k); + case "type" -> terra$setSpawnedType(FabricEntryPoint.getTerraPlugin().getWorldHandle().getEntity(v)); + case "delay" -> terra$setDelay(Integer.parseInt(v)); + case "min_delay" -> terra$setMinSpawnDelay(Integer.parseInt(v)); + case "max_delay" -> terra$setMaxSpawnDelay(Integer.parseInt(v)); + case "spawn_count" -> terra$setSpawnCount(Integer.parseInt(v)); + case "spawn_range" -> terra$setSpawnRange(Integer.parseInt(v)); + case "max_nearby" -> terra$setMaxNearbyEntities(Integer.parseInt(v)); + case "required_player_range" -> terra$setRequiredPlayerRange(Integer.parseInt(v)); + default -> throw new IllegalArgumentException("Invalid property: " + k); } }); } diff --git a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/util/FabricAdapter.java b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/util/FabricAdapter.java index 5b3e689ef..b08b8a5e7 100644 --- a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/util/FabricAdapter.java +++ b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/util/FabricAdapter.java @@ -30,188 +30,119 @@ public final class FabricAdapter { } public static Direction adapt(com.dfsek.terra.api.block.state.properties.enums.Direction direction) { - switch(direction) { - case SOUTH: - return Direction.SOUTH; - case NORTH: - return Direction.NORTH; - case WEST: - return Direction.WEST; - case EAST: - return Direction.EAST; - case UP: - return Direction.UP; - case DOWN: - return Direction.DOWN; - } - throw new IllegalArgumentException(); + return switch(direction) { + case SOUTH -> Direction.SOUTH; + case NORTH -> Direction.NORTH; + case WEST -> Direction.WEST; + case EAST -> Direction.EAST; + case UP -> Direction.UP; + case DOWN -> Direction.DOWN; + }; } public static com.dfsek.terra.api.block.state.properties.enums.Direction adapt(Direction direction) { - switch(direction) { - case SOUTH: - return com.dfsek.terra.api.block.state.properties.enums.Direction.SOUTH; - case NORTH: - return com.dfsek.terra.api.block.state.properties.enums.Direction.NORTH; - case WEST: - return com.dfsek.terra.api.block.state.properties.enums.Direction.WEST; - case EAST: - return com.dfsek.terra.api.block.state.properties.enums.Direction.EAST; - case UP: - return com.dfsek.terra.api.block.state.properties.enums.Direction.UP; - case DOWN: - return com.dfsek.terra.api.block.state.properties.enums.Direction.DOWN; - } - throw new IllegalArgumentException(); + return switch(direction) { + case SOUTH -> com.dfsek.terra.api.block.state.properties.enums.Direction.SOUTH; + case NORTH -> com.dfsek.terra.api.block.state.properties.enums.Direction.NORTH; + case WEST -> com.dfsek.terra.api.block.state.properties.enums.Direction.WEST; + case EAST -> com.dfsek.terra.api.block.state.properties.enums.Direction.EAST; + case UP -> com.dfsek.terra.api.block.state.properties.enums.Direction.UP; + case DOWN -> com.dfsek.terra.api.block.state.properties.enums.Direction.DOWN; + }; } public static WallHeight adapt(WallShape shape) { - switch(shape) { - case LOW: - return WallHeight.LOW; - case NONE: - return WallHeight.NONE; - case TALL: - return WallHeight.TALL; - } - throw new IllegalArgumentException(); + return switch(shape) { + case LOW -> WallHeight.LOW; + case NONE -> WallHeight.NONE; + case TALL -> WallHeight.TALL; + }; } public static WallShape adapt(WallHeight shape) { - switch(shape) { - case LOW: - return WallShape.LOW; - case NONE: - return WallShape.NONE; - case TALL: - return WallShape.TALL; - } - throw new IllegalArgumentException(); + return switch(shape) { + case LOW -> WallShape.LOW; + case NONE -> WallShape.NONE; + case TALL -> WallShape.TALL; + }; } public static RedstoneConnection adapt(WireConnection connection) { - switch(connection) { - case NONE: - return RedstoneConnection.NONE; - case UP: - return RedstoneConnection.UP; - case SIDE: - return RedstoneConnection.SIDE; - } - throw new IllegalArgumentException(); + return switch(connection) { + case NONE -> RedstoneConnection.NONE; + case UP -> RedstoneConnection.UP; + case SIDE -> RedstoneConnection.SIDE; + }; } public static WireConnection adapt(RedstoneConnection connection) { - switch(connection) { - case NONE: - return WireConnection.NONE; - case UP: - return WireConnection.UP; - case SIDE: - return WireConnection.SIDE; - } - throw new IllegalArgumentException(); + return switch(connection) { + case NONE -> WireConnection.NONE; + case UP -> WireConnection.UP; + case SIDE -> WireConnection.SIDE; + }; } public static Half adapt(BlockHalf half) { - switch(half) { - case BOTTOM: - return Half.BOTTOM; - case TOP: - return Half.TOP; - default: - throw new IllegalStateException(); - } + return switch(half) { + case BOTTOM -> Half.BOTTOM; + case TOP -> Half.TOP; + }; } public static BlockHalf adapt(Half half) { - switch(half) { - case TOP: - return BlockHalf.TOP; - case BOTTOM: - return BlockHalf.BOTTOM; - default: - throw new IllegalStateException(); - } + return switch(half) { + case TOP -> BlockHalf.TOP; + case BOTTOM -> BlockHalf.BOTTOM; + default -> throw new IllegalStateException(); + }; } public static RailShape adapt(net.minecraft.block.enums.RailShape railShape) { - switch(railShape) { - case EAST_WEST: - return RailShape.EAST_WEST; - case NORTH_EAST: - return RailShape.NORTH_EAST; - case NORTH_WEST: - return RailShape.NORTH_WEST; - case SOUTH_EAST: - return RailShape.SOUTH_EAST; - case SOUTH_WEST: - return RailShape.SOUTH_WEST; - case NORTH_SOUTH: - return RailShape.NORTH_SOUTH; - case ASCENDING_EAST: - return RailShape.ASCENDING_EAST; - case ASCENDING_NORTH: - return RailShape.ASCENDING_NORTH; - case ASCENDING_SOUTH: - return RailShape.ASCENDING_SOUTH; - case ASCENDING_WEST: - return RailShape.ASCENDING_WEST; - } - throw new IllegalStateException(); + return switch(railShape) { + case EAST_WEST -> RailShape.EAST_WEST; + case NORTH_EAST -> RailShape.NORTH_EAST; + case NORTH_WEST -> RailShape.NORTH_WEST; + case SOUTH_EAST -> RailShape.SOUTH_EAST; + case SOUTH_WEST -> RailShape.SOUTH_WEST; + case NORTH_SOUTH -> RailShape.NORTH_SOUTH; + case ASCENDING_EAST -> RailShape.ASCENDING_EAST; + case ASCENDING_NORTH -> RailShape.ASCENDING_NORTH; + case ASCENDING_SOUTH -> RailShape.ASCENDING_SOUTH; + case ASCENDING_WEST -> RailShape.ASCENDING_WEST; + }; } public static net.minecraft.block.enums.RailShape adapt(RailShape railShape) { - switch(railShape) { - case EAST_WEST: - return net.minecraft.block.enums.RailShape.EAST_WEST; - case NORTH_EAST: - return net.minecraft.block.enums.RailShape.NORTH_EAST; - case NORTH_WEST: - return net.minecraft.block.enums.RailShape.NORTH_WEST; - case SOUTH_EAST: - return net.minecraft.block.enums.RailShape.SOUTH_EAST; - case SOUTH_WEST: - return net.minecraft.block.enums.RailShape.SOUTH_WEST; - case NORTH_SOUTH: - return net.minecraft.block.enums.RailShape.NORTH_SOUTH; - case ASCENDING_EAST: - return net.minecraft.block.enums.RailShape.ASCENDING_EAST; - case ASCENDING_NORTH: - return net.minecraft.block.enums.RailShape.ASCENDING_NORTH; - case ASCENDING_SOUTH: - return net.minecraft.block.enums.RailShape.ASCENDING_SOUTH; - case ASCENDING_WEST: - return net.minecraft.block.enums.RailShape.ASCENDING_WEST; - } - throw new IllegalStateException(); + return switch(railShape) { + case EAST_WEST -> net.minecraft.block.enums.RailShape.EAST_WEST; + case NORTH_EAST -> net.minecraft.block.enums.RailShape.NORTH_EAST; + case NORTH_WEST -> net.minecraft.block.enums.RailShape.NORTH_WEST; + case SOUTH_EAST -> net.minecraft.block.enums.RailShape.SOUTH_EAST; + case SOUTH_WEST -> net.minecraft.block.enums.RailShape.SOUTH_WEST; + case NORTH_SOUTH -> net.minecraft.block.enums.RailShape.NORTH_SOUTH; + case ASCENDING_EAST -> net.minecraft.block.enums.RailShape.ASCENDING_EAST; + case ASCENDING_NORTH -> net.minecraft.block.enums.RailShape.ASCENDING_NORTH; + case ASCENDING_SOUTH -> net.minecraft.block.enums.RailShape.ASCENDING_SOUTH; + case ASCENDING_WEST -> net.minecraft.block.enums.RailShape.ASCENDING_WEST; + }; } public static Axis adapt(Direction.Axis axis) { - switch(axis) { - case X: - return Axis.X; - case Y: - return Axis.Y; - case Z: - return Axis.Z; - default: - throw new IllegalStateException(); - } + return switch(axis) { + case X -> Axis.X; + case Y -> Axis.Y; + case Z -> Axis.Z; + }; } public static Direction.Axis adapt(Axis axis) { - switch(axis) { - case Z: - return Direction.Axis.Z; - case Y: - return Direction.Axis.Y; - case X: - return Direction.Axis.X; - default: - throw new IllegalStateException(); - } + return switch(axis) { + case Z -> Direction.Axis.Z; + case Y -> Direction.Axis.Y; + case X -> Direction.Axis.X; + }; } }