diff --git a/common/addons/api-addon-loader/src/main/java/com/dfsek/terra/addon/loader/ApiAddon.java b/common/addons/api-addon-loader/src/main/java/com/dfsek/terra/addon/loader/ApiAddon.java index 6fb965850..16d7db844 100644 --- a/common/addons/api-addon-loader/src/main/java/com/dfsek/terra/addon/loader/ApiAddon.java +++ b/common/addons/api-addon-loader/src/main/java/com/dfsek/terra/addon/loader/ApiAddon.java @@ -15,7 +15,7 @@ public class ApiAddon implements BaseAddon { } @Override - public Version getVersion() { + public Version version() { return version; } diff --git a/common/addons/api-addon-loader/src/main/java/com/dfsek/terra/addon/loader/ApiAddonLoader.java b/common/addons/api-addon-loader/src/main/java/com/dfsek/terra/addon/loader/ApiAddonLoader.java index 4d16b43c9..3677df900 100644 --- a/common/addons/api-addon-loader/src/main/java/com/dfsek/terra/addon/loader/ApiAddonLoader.java +++ b/common/addons/api-addon-loader/src/main/java/com/dfsek/terra/addon/loader/ApiAddonLoader.java @@ -33,7 +33,7 @@ public class ApiAddonLoader implements BootstrapBaseAddon { } @Override - public Version getVersion() { + public Version version() { return VERSION; } } diff --git a/common/addons/command-addons/src/main/java/com/dfsek/terra/addons/commands/addons/AddonsCommandAddon.java b/common/addons/command-addons/src/main/java/com/dfsek/terra/addons/commands/addons/AddonsCommandAddon.java index a1c0cfb74..ba7c0f550 100644 --- a/common/addons/command-addons/src/main/java/com/dfsek/terra/addons/commands/addons/AddonsCommandAddon.java +++ b/common/addons/command-addons/src/main/java/com/dfsek/terra/addons/commands/addons/AddonsCommandAddon.java @@ -39,7 +39,7 @@ public class AddonsCommandAddon implements AddonInitializer { .append(" - ") .append(addon.getID()) .append('@') - .append(addon.getVersion().getFormatted()) + .append(addon.version().getFormatted()) .append('\n')); context.sender().sendMessage(addons.toString()); }) @@ -52,10 +52,10 @@ public class AddonsCommandAddon implements AddonInitializer { BaseAddon addon = context.get("addon"); StringBuilder addonInfo = new StringBuilder("Addon ").append(addon.getID()).append('\n'); - addonInfo.append("Version: ").append(addon.getVersion().getFormatted()).append('\n'); + addonInfo.append("Version: ").append(addon.version().getFormatted()).append('\n'); addonInfo.append("Dependencies:\n"); - addon.getDependencies().forEach((id, versions) -> addonInfo + addon.dependencies().forEach((id, versions) -> addonInfo .append(" - ") .append(id) .append('@') diff --git a/common/addons/command-locate/src/main/java/com/dfsek/terra/addons/commands/locate/LocateCommandAddon.java b/common/addons/command-locate/src/main/java/com/dfsek/terra/addons/commands/locate/LocateCommandAddon.java index aede6dd22..b60caef03 100644 --- a/common/addons/command-locate/src/main/java/com/dfsek/terra/addons/commands/locate/LocateCommandAddon.java +++ b/common/addons/command-locate/src/main/java/com/dfsek/terra/addons/commands/locate/LocateCommandAddon.java @@ -4,7 +4,6 @@ package com.dfsek.terra.addons.commands.locate; import com.dfsek.seismic.type.vector.Vector2Int; import com.dfsek.seismic.type.vector.Vector3Int; -import com.dfsek.terra.api.util.function.FunctionUtils; import com.dfsek.terra.api.util.generic.data.types.Maybe; import org.incendo.cloud.CommandManager; @@ -13,8 +12,6 @@ import org.incendo.cloud.context.CommandContext; import org.incendo.cloud.description.Description; import org.incendo.cloud.parser.standard.IntegerParser; -import java.util.Optional; - import com.dfsek.terra.addons.manifest.api.AddonInitializer; import com.dfsek.terra.api.Platform; import com.dfsek.terra.api.addon.BaseAddon; @@ -41,7 +38,7 @@ public class LocateCommandAddon implements AddonInitializer { private BaseAddon addon; private static Registry getBiomeRegistry(CommandContext sender) { - return sender.sender().getEntity().orThrow().world().getPack().getRegistry(Biome.class); + return sender.sender().entity().orThrow().world().getPack().getRegistry(Biome.class); } @Override @@ -69,7 +66,7 @@ public class LocateCommandAddon implements AddonInitializer { .handler(context -> { // 1. Gather Context & Arguments Biome targetBiome = context.get("biome"); - Entity sender = context.sender().getEntity().orThrow( + Entity sender = context.sender().entity().orThrow( () -> new Error("Only entities can run this command.")); World world = sender.world(); diff --git a/common/addons/command-structures/src/main/java/com/dfsek/terra/addons/commands/structure/StructureCommandAddon.java b/common/addons/command-structures/src/main/java/com/dfsek/terra/addons/commands/structure/StructureCommandAddon.java index 9e60e90bc..e10d7bf1d 100644 --- a/common/addons/command-structures/src/main/java/com/dfsek/terra/addons/commands/structure/StructureCommandAddon.java +++ b/common/addons/command-structures/src/main/java/com/dfsek/terra/addons/commands/structure/StructureCommandAddon.java @@ -34,7 +34,7 @@ public class StructureCommandAddon implements AddonInitializer { private BaseAddon addon; private static Registry getStructureRegistry(CommandContext sender) { - return sender.sender().getEntity().orThrow().world().getPack().getRegistry(Structure.class); + return sender.sender().entity().orThrow().world().getPack().getRegistry(Structure.class); } @Override @@ -55,7 +55,7 @@ public class StructureCommandAddon implements AddonInitializer { .optional("rotation", EnumParser.enumParser(Rotation.class), DefaultValue.constant(Rotation.NONE)) .handler(context -> { Structure structure = context.get("structure"); - Entity sender = context.sender().getEntity().orThrow(); + Entity sender = context.sender().entity().orThrow(); structure.generate( sender.position().toInt(), sender.world(), diff --git a/common/addons/config-flora/src/main/java/com/dfsek/terra/addons/flora/flora/gen/TerraFlora.java b/common/addons/config-flora/src/main/java/com/dfsek/terra/addons/flora/flora/gen/TerraFlora.java index 43128f137..07a959a11 100644 --- a/common/addons/config-flora/src/main/java/com/dfsek/terra/addons/flora/flora/gen/TerraFlora.java +++ b/common/addons/config-flora/src/main/java/com/dfsek/terra/addons/flora/flora/gen/TerraFlora.java @@ -55,7 +55,7 @@ public class TerraFlora implements Structure { private void test(EnumSet faces, Direction f, Vector3Int b, WritableWorld world) { if(testRotation.contains( - world.getBlockState(b.getX() + f.getModX(), b.getY() + f.getModY(), b.getZ() + f.getModZ()).getBlockType())) + world.getBlockState(b.getX() + f.getModX(), b.getY() + f.getModY(), b.getZ() + f.getModZ()).blockType())) faces.add(f); } diff --git a/common/addons/config-locators/src/main/java/com/dfsek/terra/addons/feature/locator/config/pattern/AirMatchPatternTemplate.java b/common/addons/config-locators/src/main/java/com/dfsek/terra/addons/feature/locator/config/pattern/AirMatchPatternTemplate.java index 673d28ce1..b7a0ce0f9 100644 --- a/common/addons/config-locators/src/main/java/com/dfsek/terra/addons/feature/locator/config/pattern/AirMatchPatternTemplate.java +++ b/common/addons/config-locators/src/main/java/com/dfsek/terra/addons/feature/locator/config/pattern/AirMatchPatternTemplate.java @@ -24,6 +24,6 @@ public class AirMatchPatternTemplate implements ObjectTemplate { @Override public Pattern get() { - return new MatchPattern(offset, BlockState::isAir); + return new MatchPattern(offset, BlockState::air); } } diff --git a/common/addons/config-locators/src/main/java/com/dfsek/terra/addons/feature/locator/config/pattern/BlockSetMatchPatternTemplate.java b/common/addons/config-locators/src/main/java/com/dfsek/terra/addons/feature/locator/config/pattern/BlockSetMatchPatternTemplate.java index cf97dc558..6c4760406 100644 --- a/common/addons/config-locators/src/main/java/com/dfsek/terra/addons/feature/locator/config/pattern/BlockSetMatchPatternTemplate.java +++ b/common/addons/config-locators/src/main/java/com/dfsek/terra/addons/feature/locator/config/pattern/BlockSetMatchPatternTemplate.java @@ -26,6 +26,6 @@ public class BlockSetMatchPatternTemplate implements ObjectTemplate { @Override public Pattern get() { - return new MatchPattern(offset, blockState -> blocks.contains(blockState.getBlockType())); + return new MatchPattern(offset, blockState -> blocks.contains(blockState.blockType())); } } diff --git a/common/addons/config-locators/src/main/java/com/dfsek/terra/addons/feature/locator/config/pattern/SolidMatchPatternTemplate.java b/common/addons/config-locators/src/main/java/com/dfsek/terra/addons/feature/locator/config/pattern/SolidMatchPatternTemplate.java index ba5cb76b1..1ecfc9452 100644 --- a/common/addons/config-locators/src/main/java/com/dfsek/terra/addons/feature/locator/config/pattern/SolidMatchPatternTemplate.java +++ b/common/addons/config-locators/src/main/java/com/dfsek/terra/addons/feature/locator/config/pattern/SolidMatchPatternTemplate.java @@ -21,6 +21,6 @@ public class SolidMatchPatternTemplate implements ObjectTemplate { @Override public Pattern get() { - return new MatchPattern(offset, blockState -> blockState.getBlockType().isSolid()); + return new MatchPattern(offset, blockState -> blockState.blockType().solid()); } } diff --git a/common/addons/config-locators/src/main/java/com/dfsek/terra/addons/feature/locator/locators/SurfaceLocator.java b/common/addons/config-locators/src/main/java/com/dfsek/terra/addons/feature/locator/locators/SurfaceLocator.java index 4eafba82c..af8765378 100644 --- a/common/addons/config-locators/src/main/java/com/dfsek/terra/addons/feature/locator/locators/SurfaceLocator.java +++ b/common/addons/config-locators/src/main/java/com/dfsek/terra/addons/feature/locator/locators/SurfaceLocator.java @@ -28,7 +28,7 @@ public class SurfaceLocator implements Locator { int min = Math.max(search.getMin(), column.getMinY()); if(min >= max) return builder.build(); for(int y = min; y < max; y++) { - if(column.getBlock(y).isAir() && !column.getBlock(y - 1).isAir()) { + if(column.getBlock(y).air() && !column.getBlock(y - 1).air()) { builder.set(y); } } diff --git a/common/addons/config-locators/src/main/java/com/dfsek/terra/addons/feature/locator/locators/TopLocator.java b/common/addons/config-locators/src/main/java/com/dfsek/terra/addons/feature/locator/locators/TopLocator.java index ec8890fda..d33c166c9 100644 --- a/common/addons/config-locators/src/main/java/com/dfsek/terra/addons/feature/locator/locators/TopLocator.java +++ b/common/addons/config-locators/src/main/java/com/dfsek/terra/addons/feature/locator/locators/TopLocator.java @@ -23,7 +23,7 @@ public class TopLocator implements Locator { @Override public BinaryColumn getSuitableCoordinates(Column column) { for(int y = search.getMax(); y >= search.getMin(); y--) { - if(column.getBlock(y).isAir() && !column.getBlock(y - 1).isAir()) { + if(column.getBlock(y).air() && !column.getBlock(y - 1).air()) { return new BinaryColumn(y, y + 1, yi -> true); } } diff --git a/common/addons/config-ore/src/main/java/com/dfsek/terra/addons/ore/ores/VanillaOre.java b/common/addons/config-ore/src/main/java/com/dfsek/terra/addons/ore/ores/VanillaOre.java index be1971529..39139b122 100644 --- a/common/addons/config-ore/src/main/java/com/dfsek/terra/addons/ore/ores/VanillaOre.java +++ b/common/addons/config-ore/src/main/java/com/dfsek/terra/addons/ore/ores/VanillaOre.java @@ -149,7 +149,7 @@ public class VanillaOre implements Structure { if(!visited.get(index)) { // Skip blocks that have already been visited visited.set(index); - BlockType block = world.getBlockState(xi, yi, zi).getBlockType(); + BlockType block = world.getBlockState(xi, yi, zi).blockType(); if(shouldPlace(getReplaceable(), block, exposed, random, world, xi, yi, zi)) { world.setBlockState(xi, yi, zi, getMaterial(block), isApplyGravity()); ++blockCount; diff --git a/common/addons/config-ore/src/main/java/com/dfsek/terra/addons/ore/ores/VanillaScatteredOre.java b/common/addons/config-ore/src/main/java/com/dfsek/terra/addons/ore/ores/VanillaScatteredOre.java index 9f7e70168..403f6de24 100644 --- a/common/addons/config-ore/src/main/java/com/dfsek/terra/addons/ore/ores/VanillaScatteredOre.java +++ b/common/addons/config-ore/src/main/java/com/dfsek/terra/addons/ore/ores/VanillaScatteredOre.java @@ -31,7 +31,7 @@ public class VanillaScatteredOre extends VanillaOre { for(int j = 0; j < i; ++j) { this.setPos(mutable, random, location, Math.min(j, spread)); - BlockType block = world.getBlockState(mutable).getBlockType(); + BlockType block = world.getBlockState(mutable).blockType(); if(shouldPlace(getReplaceable(), block, exposed, random, world, mutable.getX(), mutable.getY(), mutable.getZ())) { world.setBlockState(mutable, getMaterial(block), isApplyGravity()); } diff --git a/common/addons/config-ore/src/main/java/com/dfsek/terra/addons/ore/utils/VanillaOreUtils.java b/common/addons/config-ore/src/main/java/com/dfsek/terra/addons/ore/utils/VanillaOreUtils.java index 993d808ef..f430d2c02 100644 --- a/common/addons/config-ore/src/main/java/com/dfsek/terra/addons/ore/utils/VanillaOreUtils.java +++ b/common/addons/config-ore/src/main/java/com/dfsek/terra/addons/ore/utils/VanillaOreUtils.java @@ -21,12 +21,12 @@ public class VanillaOreUtils { if(!replaceable.contains(type)) return false; if(shouldExpose(random, exposedChance)) return true; // Exposed blocks can be placed regardless of adjacency to air // Adjacency is checked after determining not exposed rather than vice-versa, assuming block checks are more expensive - boolean adjacentAir = world.getBlockState(x, y, z - 1).isAir() || - world.getBlockState(x, y, z + 1).isAir() || - world.getBlockState(x, y - 1, z).isAir() || - world.getBlockState(x, y + 1, z).isAir() || - world.getBlockState(x - 1, y, z).isAir() || - world.getBlockState(x + 1, y, z).isAir(); + boolean adjacentAir = world.getBlockState(x, y, z - 1).air() || + world.getBlockState(x, y, z + 1).air() || + world.getBlockState(x, y - 1, z).air() || + world.getBlockState(x, y + 1, z).air() || + world.getBlockState(x - 1, y, z).air() || + world.getBlockState(x + 1, y, z).air(); return !adjacentAir; // Exposed check did not pass earlier so only blocks not adjacent air should place } } diff --git a/common/addons/manifest-addon-loader/src/main/java/com/dfsek/terra/addons/manifest/impl/ManifestAddon.java b/common/addons/manifest-addon-loader/src/main/java/com/dfsek/terra/addons/manifest/impl/ManifestAddon.java index c267dc918..60754c44f 100644 --- a/common/addons/manifest-addon-loader/src/main/java/com/dfsek/terra/addons/manifest/impl/ManifestAddon.java +++ b/common/addons/manifest-addon-loader/src/main/java/com/dfsek/terra/addons/manifest/impl/ManifestAddon.java @@ -66,12 +66,12 @@ public class ManifestAddon implements BaseAddon { } @Override - public Map getDependencies() { + public Map dependencies() { return manifest.getDependencies(); } @Override - public Version getVersion() { + public Version version() { return manifest.getVersion(); } } diff --git a/common/addons/manifest-addon-loader/src/main/java/com/dfsek/terra/addons/manifest/impl/ManifestAddonLoader.java b/common/addons/manifest-addon-loader/src/main/java/com/dfsek/terra/addons/manifest/impl/ManifestAddonLoader.java index 92671ac48..eacd7b470 100644 --- a/common/addons/manifest-addon-loader/src/main/java/com/dfsek/terra/addons/manifest/impl/ManifestAddonLoader.java +++ b/common/addons/manifest-addon-loader/src/main/java/com/dfsek/terra/addons/manifest/impl/ManifestAddonLoader.java @@ -132,7 +132,7 @@ public class ManifestAddonLoader implements BootstrapBaseAddon { } @Override - public Version getVersion() { + public Version version() { return VERSION; } } diff --git a/common/addons/shortcut-blockstate-fallback/src/main/resources/terra.addon.yml b/common/addons/shortcut-blockstate-fallback/src/main/resources/terra.addon.yml index c7c92d787..f0722c16b 100644 --- a/common/addons/shortcut-blockstate-fallback/src/main/resources/terra.addon.yml +++ b/common/addons/shortcut-blockstate-fallback/src/main/resources/terra.addon.yml @@ -4,7 +4,7 @@ contributors: id: shortcut-blockstate-fallback version: @VERSION@ entrypoints: - - "com.dfsek.terra.addons.shortcut.blockstate.ShortcutBlockstateFallbackAddon" + - "com.dfsek.terra.addons.shortcut.blockstate.ShortcutBlockStateFallbackAddon" website: issues: https://github.com/PolyhedralDev/Terra/issues source: https://github.com/PolyhedralDev/Terra diff --git a/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/script/functions/BlockFunction.java b/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/script/functions/BlockFunction.java index 128647bd3..e8e466588 100644 --- a/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/script/functions/BlockFunction.java +++ b/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/script/functions/BlockFunction.java @@ -76,7 +76,7 @@ public class BlockFunction implements Function { y.apply(implementationArguments, scope).doubleValue(), FloatingPointFunctions.round(xz.getZ())).mutable().add(arguments.getOrigin().toFloat()); BlockState current = arguments.getWorld().getBlockState(set); - if(overwrite.apply(implementationArguments, scope) || current.isAir()) { + if(overwrite.apply(implementationArguments, scope) || current.air()) { arguments.getWorld().setBlockState(set, rot, physics.apply(implementationArguments, scope)); } } catch(RuntimeException e) { diff --git a/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/script/functions/CheckBlockFunction.java b/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/script/functions/CheckBlockFunction.java index 66f2e30c5..5df4ff074 100644 --- a/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/script/functions/CheckBlockFunction.java +++ b/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/script/functions/CheckBlockFunction.java @@ -45,7 +45,7 @@ public class CheckBlockFunction implements Function { .add(Vector3.of(FloatingPointFunctions.round(xz.getX()), y.apply(implementationArguments, scope) .doubleValue(), FloatingPointFunctions.round(xz.getZ())))) - .getAsString(); + .asString(); if(data.contains("[")) return data.substring(0, data.indexOf('[')); // Strip properties else return data; } diff --git a/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/script/functions/PullFunction.java b/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/script/functions/PullFunction.java index 49141a658..bb2646aba 100644 --- a/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/script/functions/PullFunction.java +++ b/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/script/functions/PullFunction.java @@ -48,7 +48,7 @@ public class PullFunction implements Function { Vector3.Mutable mutable = Vector3.of(FloatingPointFunctions.round(xz.getX()), y.apply(implementationArguments, scope).intValue(), FloatingPointFunctions.round(xz.getZ())).mutable().add(arguments.getOrigin().toFloat()); while(mutable.getY() > arguments.getWorld().getMinHeight()) { - if(!arguments.getWorld().getBlockState(mutable).isAir()) { + if(!arguments.getWorld().getBlockState(mutable).air()) { arguments.getWorld().setBlockState(mutable, data); break; } diff --git a/common/api/src/main/java/com/dfsek/terra/api/addon/BaseAddon.java b/common/api/src/main/java/com/dfsek/terra/api/addon/BaseAddon.java index fef882915..d4ba30abd 100644 --- a/common/api/src/main/java/com/dfsek/terra/api/addon/BaseAddon.java +++ b/common/api/src/main/java/com/dfsek/terra/api/addon/BaseAddon.java @@ -31,7 +31,7 @@ public interface BaseAddon extends StringIdentifiable, Namespaced { * * @return Map of dependency ID to {@link VersionRange} of dependency */ - default Map getDependencies() { + default Map dependencies() { return Collections.emptyMap(); } @@ -40,9 +40,9 @@ public interface BaseAddon extends StringIdentifiable, Namespaced { * * @return Version of addon */ - Version getVersion(); + Version version(); - default String getNamespace() { + default String namespace() { return getID(); } } diff --git a/common/api/src/main/java/com/dfsek/terra/api/block/BlockType.java b/common/api/src/main/java/com/dfsek/terra/api/block/BlockType.java index 01371f9a7..3c8172408 100644 --- a/common/api/src/main/java/com/dfsek/terra/api/block/BlockType.java +++ b/common/api/src/main/java/com/dfsek/terra/api/block/BlockType.java @@ -20,19 +20,19 @@ public interface BlockType extends Handle { * * @return Default block state */ - BlockState getDefaultState(); + BlockState defaultState(); /** * Get whether this block is solid. * * @return Whether this block is solid. */ - boolean isSolid(); + boolean solid(); /** * Get whether this block is water. * * @return Whether this block is water. */ - boolean isWater(); + boolean water(); } diff --git a/common/api/src/main/java/com/dfsek/terra/api/block/state/BlockState.java b/common/api/src/main/java/com/dfsek/terra/api/block/state/BlockState.java index 47086f49b..837e69e77 100644 --- a/common/api/src/main/java/com/dfsek/terra/api/block/state/BlockState.java +++ b/common/api/src/main/java/com/dfsek/terra/api/block/state/BlockState.java @@ -23,7 +23,7 @@ public interface BlockState extends Handle, Extendable { /** * Whether this {@link BlockState} matches another. *

- * "matches" is defined as this {@link BlockState} holding a matching {@link #getBlockType()}. + * "matches" is defined as this {@link BlockState} holding a matching {@link #blockType()}. * * @param other Other {@link BlockState} * @@ -90,15 +90,15 @@ public interface BlockState extends Handle, Extendable { * * @return Block type. */ - BlockType getBlockType(); + BlockType blockType(); /** * Get this state and its properties as a String * * @return String representation of this state */ - default String getAsString() { - return getAsString(true); + default String asString() { + return asString(true); } /** @@ -108,12 +108,12 @@ public interface BlockState extends Handle, Extendable { * * @return String representation of this state */ - String getAsString(boolean properties); + String asString(boolean properties); /** * Get whether this BlockState is air * * @return Whether this state is air */ - boolean isAir(); + boolean air(); } diff --git a/common/api/src/main/java/com/dfsek/terra/api/block/state/BlockStateExtended.java b/common/api/src/main/java/com/dfsek/terra/api/block/state/BlockStateExtended.java index 1e0617119..b1a3adf1e 100644 --- a/common/api/src/main/java/com/dfsek/terra/api/block/state/BlockStateExtended.java +++ b/common/api/src/main/java/com/dfsek/terra/api/block/state/BlockStateExtended.java @@ -9,7 +9,7 @@ public interface BlockStateExtended extends BlockState { * * @return BlockData of this BlockStateExtended */ - ExtendedData getData(); + ExtendedData data(); /** * Sets the BlockData. @@ -25,8 +25,8 @@ public interface BlockStateExtended extends BlockState { * * @return Raw BlockState of this BlockStateExtended */ - BlockState getState(); + BlockState state(); @Override - default boolean isExtended() { return true; } + default boolean extended() { return true; } } diff --git a/common/api/src/main/java/com/dfsek/terra/api/command/CommandSender.java b/common/api/src/main/java/com/dfsek/terra/api/command/CommandSender.java index 9172270ec..5a116ce1d 100644 --- a/common/api/src/main/java/com/dfsek/terra/api/command/CommandSender.java +++ b/common/api/src/main/java/com/dfsek/terra/api/command/CommandSender.java @@ -16,7 +16,7 @@ import com.dfsek.terra.api.util.generic.data.types.Maybe; public interface CommandSender extends Handle { void sendMessage(String message); - Maybe getEntity(); + Maybe entity(); - Maybe getPlayer(); + Maybe player(); } diff --git a/common/api/src/main/java/com/dfsek/terra/api/command/arguments/RegistryArgument.java b/common/api/src/main/java/com/dfsek/terra/api/command/arguments/RegistryArgument.java index 735b533a4..e4af427d2 100644 --- a/common/api/src/main/java/com/dfsek/terra/api/command/arguments/RegistryArgument.java +++ b/common/api/src/main/java/com/dfsek/terra/api/command/arguments/RegistryArgument.java @@ -1,7 +1,5 @@ package com.dfsek.terra.api.command.arguments; -import com.dfsek.terra.api.util.generic.data.types.Maybe; - import io.leangen.geantyref.TypeToken; import org.checkerframework.checker.nullness.qual.NonNull; import org.incendo.cloud.component.CommandComponent; @@ -14,7 +12,6 @@ import org.incendo.cloud.parser.ParserDescriptor; import org.incendo.cloud.suggestion.Suggestion; import org.incendo.cloud.suggestion.SuggestionProvider; -import java.util.Optional; import java.util.concurrent.CompletableFuture; import java.util.function.Function; import java.util.stream.Collectors; @@ -103,15 +100,19 @@ public class RegistryArgument { Registry registry = registryFunction.apply(commandContext); String finalInput = input; - return registry.get(RegistryKey.parse(input)) - .map(ArgumentParseResult::success) - .orJust(() -> - registry.getByID(finalInput).collect( - left -> ArgumentParseResult.failure(new IllegalArgumentException(left)), - ArgumentParseResult::success - )) - .get(() -> ArgumentParseResult.failure(new NoSuchEntryException("No such entry: " + finalInput))); + try { + return registry.get(RegistryKey.parse(input)) + .map(ArgumentParseResult::success) + .orJust(() -> + registry.getByID(finalInput).collect( + left -> ArgumentParseResult.failure(new IllegalArgumentException(left)), + ArgumentParseResult::success + )) + .get(() -> ArgumentParseResult.failure(new NoSuchEntryException("No such entry: " + finalInput))); + } catch(IllegalArgumentException e) { + return ArgumentParseResult.failure(e); + } } @Override diff --git a/common/api/src/main/java/com/dfsek/terra/api/data/Extendable.java b/common/api/src/main/java/com/dfsek/terra/api/data/Extendable.java index 76303b505..d79096fa8 100644 --- a/common/api/src/main/java/com/dfsek/terra/api/data/Extendable.java +++ b/common/api/src/main/java/com/dfsek/terra/api/data/Extendable.java @@ -7,5 +7,5 @@ public interface Extendable { * * @return Whether this state is extended. */ - default boolean isExtended() { return false; } + default boolean extended() { return false; } } diff --git a/common/api/src/main/java/com/dfsek/terra/api/entity/EntityTypeExtended.java b/common/api/src/main/java/com/dfsek/terra/api/entity/EntityTypeExtended.java index 5fdec1b42..43f5be786 100644 --- a/common/api/src/main/java/com/dfsek/terra/api/entity/EntityTypeExtended.java +++ b/common/api/src/main/java/com/dfsek/terra/api/entity/EntityTypeExtended.java @@ -28,5 +28,5 @@ public interface EntityTypeExtended extends EntityType { EntityType getType(); @Override - default boolean isExtended() { return true; } + default boolean extended() { return true; } } diff --git a/common/api/src/main/java/com/dfsek/terra/api/error/Invalid.java b/common/api/src/main/java/com/dfsek/terra/api/error/Invalid.java new file mode 100644 index 000000000..2bb27b2ec --- /dev/null +++ b/common/api/src/main/java/com/dfsek/terra/api/error/Invalid.java @@ -0,0 +1,12 @@ +package com.dfsek.terra.api.error; + +import com.dfsek.terra.api.util.generic.data.types.Either; + + +public interface Invalid { + String message(); + + default Either left() { + return Either.left(this); + } +} diff --git a/common/api/src/main/java/com/dfsek/terra/api/error/InvalidBlockStateError.java b/common/api/src/main/java/com/dfsek/terra/api/error/InvalidBlockStateError.java new file mode 100644 index 000000000..b32d95965 --- /dev/null +++ b/common/api/src/main/java/com/dfsek/terra/api/error/InvalidBlockStateError.java @@ -0,0 +1,8 @@ +package com.dfsek.terra.api.error; + +public record InvalidBlockStateError(Exception exception) implements Invalid { + @Override + public String message() { + return exception.getMessage(); + } +} diff --git a/common/api/src/main/java/com/dfsek/terra/api/handle/WorldHandle.java b/common/api/src/main/java/com/dfsek/terra/api/handle/WorldHandle.java index 862791471..d7bfe371c 100644 --- a/common/api/src/main/java/com/dfsek/terra/api/handle/WorldHandle.java +++ b/common/api/src/main/java/com/dfsek/terra/api/handle/WorldHandle.java @@ -7,6 +7,9 @@ package com.dfsek.terra.api.handle; +import com.dfsek.terra.api.error.Invalid; +import com.dfsek.terra.api.util.generic.data.types.Either; + import org.jetbrains.annotations.Contract; import org.jetbrains.annotations.NotNull; @@ -20,7 +23,7 @@ import com.dfsek.terra.api.entity.EntityType; public interface WorldHandle { @NotNull @Contract("_ -> new") - BlockState createBlockState(@NotNull String data); + Either createBlockState(@NotNull String data); @NotNull @Contract(pure = true) diff --git a/common/api/src/main/java/com/dfsek/terra/api/registry/key/Keyed.java b/common/api/src/main/java/com/dfsek/terra/api/registry/key/Keyed.java index 3ab262ca6..d6d9b0489 100644 --- a/common/api/src/main/java/com/dfsek/terra/api/registry/key/Keyed.java +++ b/common/api/src/main/java/com/dfsek/terra/api/registry/key/Keyed.java @@ -5,8 +5,8 @@ public interface Keyed> extends Namespaced, StringIdentifiabl RegistryKey getRegistryKey(); @Override - default String getNamespace() { - return getRegistryKey().getNamespace(); + default String namespace() { + return getRegistryKey().namespace(); } @Override diff --git a/common/api/src/main/java/com/dfsek/terra/api/registry/key/Namespaced.java b/common/api/src/main/java/com/dfsek/terra/api/registry/key/Namespaced.java index 2e0f2f92c..e3f38f20b 100644 --- a/common/api/src/main/java/com/dfsek/terra/api/registry/key/Namespaced.java +++ b/common/api/src/main/java/com/dfsek/terra/api/registry/key/Namespaced.java @@ -1,9 +1,9 @@ package com.dfsek.terra.api.registry.key; public interface Namespaced { - String getNamespace(); + String namespace(); default RegistryKey key(String id) { - return RegistryKey.of(getNamespace(), id); + return RegistryKey.of(namespace(), id); } } diff --git a/common/api/src/main/java/com/dfsek/terra/api/registry/key/RegistryKey.java b/common/api/src/main/java/com/dfsek/terra/api/registry/key/RegistryKey.java index ebcf4b0a4..14c870938 100644 --- a/common/api/src/main/java/com/dfsek/terra/api/registry/key/RegistryKey.java +++ b/common/api/src/main/java/com/dfsek/terra/api/registry/key/RegistryKey.java @@ -41,7 +41,7 @@ public final class RegistryKey implements StringIdentifiable, Namespaced { } @Override - public String getNamespace() { + public String namespace() { return namespace; } diff --git a/common/api/src/main/java/com/dfsek/terra/api/util/collection/BlockStateSet.java b/common/api/src/main/java/com/dfsek/terra/api/util/collection/BlockStateSet.java index a23c6ea0f..5b4a4056a 100644 --- a/common/api/src/main/java/com/dfsek/terra/api/util/collection/BlockStateSet.java +++ b/common/api/src/main/java/com/dfsek/terra/api/util/collection/BlockStateSet.java @@ -46,7 +46,7 @@ public class BlockStateSet extends HashSet { } private void add(BlockState data) { - add(data.getBlockType()); + add(data.blockType()); } private static final class Singleton extends BlockStateSet { diff --git a/common/api/src/main/java/com/dfsek/terra/api/util/generic/data/types/Maybe.java b/common/api/src/main/java/com/dfsek/terra/api/util/generic/data/types/Maybe.java index 3b7ecfb63..cbd981f75 100644 --- a/common/api/src/main/java/com/dfsek/terra/api/util/generic/data/types/Maybe.java +++ b/common/api/src/main/java/com/dfsek/terra/api/util/generic/data/types/Maybe.java @@ -49,10 +49,10 @@ public interface Maybe extends Monad> { return this; } - default Maybe overwrite(Maybe m) { - return bind(ignore -> m); - } + /** + * Project a new value into this Maybe if it is Nothing. + */ Maybe or(Supplier> or); default Maybe orJust(Supplier or) { diff --git a/common/implementation/base/src/main/java/com/dfsek/terra/AbstractPlatform.java b/common/implementation/base/src/main/java/com/dfsek/terra/AbstractPlatform.java index aae1bc3ad..bfe507b3f 100644 --- a/common/implementation/base/src/main/java/com/dfsek/terra/AbstractPlatform.java +++ b/common/implementation/base/src/main/java/com/dfsek/terra/AbstractPlatform.java @@ -274,7 +274,7 @@ public abstract class AbstractPlatform implements Platform { .append("- ") .append(addon.getID()) .append("@") - .append(addon.getVersion().getFormatted()); + .append(addon.version().getFormatted()); } logger.info(builder.toString()); diff --git a/common/implementation/base/src/main/java/com/dfsek/terra/addon/DependencySorter.java b/common/implementation/base/src/main/java/com/dfsek/terra/addon/DependencySorter.java index 36b0a1faf..a2e9d412a 100644 --- a/common/implementation/base/src/main/java/com/dfsek/terra/addon/DependencySorter.java +++ b/common/implementation/base/src/main/java/com/dfsek/terra/addon/DependencySorter.java @@ -41,13 +41,13 @@ public class DependencySorter { } private void sortDependencies(BaseAddon addon, List sort) { - addon.getDependencies().forEach((id, range) -> { + addon.dependencies().forEach((id, range) -> { BaseAddon dependency = get(id, addon); - if(!range.isSatisfiedBy(dependency.getVersion())) { + if(!range.isSatisfiedBy(dependency.version())) { throw new DependencyVersionException( "Addon " + addon.getID() + " specifies dependency on " + id + ", versions " + range.getFormatted() + - ", but non-matching version " + dependency.getVersion().getFormatted() + " is installed."); + ", but non-matching version " + dependency.version().getFormatted() + " is installed."); } if(!visited.get(dependency.getID())) { // if we've not visited it yet @@ -63,14 +63,14 @@ public class DependencySorter { private BaseAddon get(String id, BaseAddon addon) { if(!addons.containsKey(id)) { throw new DependencyException("Addon " + addon.getID() + " specifies dependency on " + id + ", versions " + - addon.getDependencies().get(id).getFormatted() + + addon.dependencies().get(id).getFormatted() + ", but no such addon is installed."); } return addons.get(id); } private void checkDependencies(BaseAddon base, BaseAddon current) { - current.getDependencies().forEach((id, range) -> { + current.dependencies().forEach((id, range) -> { BaseAddon dependency = get(id, current); if(dependency.getID().equals(base.getID())) { throw new CircularDependencyException( diff --git a/common/implementation/base/src/main/java/com/dfsek/terra/addon/EphemeralAddon.java b/common/implementation/base/src/main/java/com/dfsek/terra/addon/EphemeralAddon.java index cdc73a654..352760ecc 100644 --- a/common/implementation/base/src/main/java/com/dfsek/terra/addon/EphemeralAddon.java +++ b/common/implementation/base/src/main/java/com/dfsek/terra/addon/EphemeralAddon.java @@ -15,7 +15,7 @@ public class EphemeralAddon implements BaseAddon { } @Override - public Version getVersion() { + public Version version() { return version; } diff --git a/common/implementation/base/src/main/java/com/dfsek/terra/addon/InternalAddon.java b/common/implementation/base/src/main/java/com/dfsek/terra/addon/InternalAddon.java index 1e013e870..626d4bf02 100644 --- a/common/implementation/base/src/main/java/com/dfsek/terra/addon/InternalAddon.java +++ b/common/implementation/base/src/main/java/com/dfsek/terra/addon/InternalAddon.java @@ -36,7 +36,7 @@ public class InternalAddon implements BaseAddon { } @Override - public Version getVersion() { + public Version version() { return VERSION; } } diff --git a/common/implementation/base/src/main/java/com/dfsek/terra/config/GenericLoaders.java b/common/implementation/base/src/main/java/com/dfsek/terra/config/GenericLoaders.java index d1ec05735..8bf077207 100644 --- a/common/implementation/base/src/main/java/com/dfsek/terra/config/GenericLoaders.java +++ b/common/implementation/base/src/main/java/com/dfsek/terra/config/GenericLoaders.java @@ -61,7 +61,7 @@ public class GenericLoaders implements LoaderRegistrar { if(platform != null) { registry.registerLoader(BaseAddon.class, platform.getAddons()) .registerLoader(BlockType.class, (type, object, configLoader, depthTracker) -> platform - .getWorldHandle().createBlockState((String) object).getBlockType()) + .getWorldHandle().createBlockState((String) object).blockType()) .registerLoader(BlockState.class, (type, object, configLoader, depthTracker) -> platform .getWorldHandle().createBlockState((String) object)); } diff --git a/common/implementation/base/src/main/java/com/dfsek/terra/event/FunctionalEventHandlerImpl.java b/common/implementation/base/src/main/java/com/dfsek/terra/event/FunctionalEventHandlerImpl.java index 67f984646..2d8f26985 100644 --- a/common/implementation/base/src/main/java/com/dfsek/terra/event/FunctionalEventHandlerImpl.java +++ b/common/implementation/base/src/main/java/com/dfsek/terra/event/FunctionalEventHandlerImpl.java @@ -59,7 +59,7 @@ public class FunctionalEventHandlerImpl implements FunctionalEventHandler { throw e; // Rethrow if it's fail-through. // else warn logger.warn("Exception occurred during event handling. Report this to the maintainers of {}@{}", - context.getAddon().getID(), context.getAddon().getVersion().getFormatted(), e); + context.getAddon().getID(), context.getAddon().version().getFormatted(), e); } }); } diff --git a/common/implementation/bootstrap-addon-loader/src/main/java/com/dfsek/terra/addon/BootstrapAddonLoader.java b/common/implementation/bootstrap-addon-loader/src/main/java/com/dfsek/terra/addon/BootstrapAddonLoader.java index 98bdc8a4b..c7d546188 100644 --- a/common/implementation/bootstrap-addon-loader/src/main/java/com/dfsek/terra/addon/BootstrapAddonLoader.java +++ b/common/implementation/bootstrap-addon-loader/src/main/java/com/dfsek/terra/addon/BootstrapAddonLoader.java @@ -63,7 +63,7 @@ public class BootstrapAddonLoader implements BootstrapBaseAddon allayBlockType) implements com.dfsek.terra.api.block.BlockType { @Override - public BlockState getDefaultState() { + public BlockState defaultState() { return new AllayBlockState(allayBlockType.getDefaultState(), Mapping.blockStateBeToJe(allayBlockType.getDefaultState())); } @Override - public boolean isSolid() { + public boolean solid() { return allayBlockType.getDefaultState().getBlockStateData().isSolid(); } @Override - public boolean isWater() { + public boolean water() { return allayBlockType.hasBlockTag(BlockTags.WATER); } diff --git a/platforms/allay/src/main/java/com/dfsek/terra/allay/handle/AllayWorldHandle.java b/platforms/allay/src/main/java/com/dfsek/terra/allay/handle/AllayWorldHandle.java index fd4d643bc..320a13e57 100644 --- a/platforms/allay/src/main/java/com/dfsek/terra/allay/handle/AllayWorldHandle.java +++ b/platforms/allay/src/main/java/com/dfsek/terra/allay/handle/AllayWorldHandle.java @@ -1,5 +1,8 @@ package com.dfsek.terra.allay.handle; +import com.dfsek.terra.api.error.Invalid; +import com.dfsek.terra.api.error.InvalidBlockStateError; +import com.dfsek.terra.api.util.generic.data.types.Either; import org.jetbrains.annotations.NotNull; import com.dfsek.terra.allay.JeBlockState; @@ -16,9 +19,13 @@ import com.dfsek.terra.api.handle.WorldHandle; public class AllayWorldHandle implements WorldHandle { @Override - public @NotNull BlockState createBlockState(@NotNull String data) { - JeBlockState jeBlockState = JeBlockState.fromString(data); - return new AllayBlockState(Mapping.blockStateJeToBe(jeBlockState), jeBlockState); + public @NotNull Either createBlockState(@NotNull String data) { + try { + JeBlockState jeBlockState = JeBlockState.fromString(data); + return Either.right(new AllayBlockState(Mapping.blockStateJeToBe(jeBlockState), jeBlockState)); + } catch(Exception e) { + return new InvalidBlockStateError(e).left(); + } } @Override diff --git a/platforms/bukkit/common/src/main/java/com/dfsek/terra/bukkit/BukkitAddon.java b/platforms/bukkit/common/src/main/java/com/dfsek/terra/bukkit/BukkitAddon.java index 1fba7bda8..dda6b4c3a 100644 --- a/platforms/bukkit/common/src/main/java/com/dfsek/terra/bukkit/BukkitAddon.java +++ b/platforms/bukkit/common/src/main/java/com/dfsek/terra/bukkit/BukkitAddon.java @@ -28,7 +28,7 @@ public class BukkitAddon implements BaseAddon { } @Override - public Version getVersion() { + public Version version() { return VERSION; } diff --git a/platforms/bukkit/common/src/main/java/com/dfsek/terra/bukkit/CloudCommandSender.java b/platforms/bukkit/common/src/main/java/com/dfsek/terra/bukkit/CloudCommandSender.java index a4077eacc..06fb94b9c 100644 --- a/platforms/bukkit/common/src/main/java/com/dfsek/terra/bukkit/CloudCommandSender.java +++ b/platforms/bukkit/common/src/main/java/com/dfsek/terra/bukkit/CloudCommandSender.java @@ -26,7 +26,7 @@ public class CloudCommandSender implements CommandSender { } @Override - public Maybe getEntity() { + public Maybe entity() { if(delegate instanceof org.bukkit.entity.Entity entity) { return Maybe.just(BukkitAdapter.adapt(entity)); } @@ -34,7 +34,7 @@ public class CloudCommandSender implements CommandSender { } @Override - public Maybe getPlayer() { + public Maybe player() { if(delegate instanceof org.bukkit.entity.Player player) { return Maybe.just(BukkitAdapter.adapt(player)); } diff --git a/platforms/bukkit/common/src/main/java/com/dfsek/terra/bukkit/handles/BukkitWorldHandle.java b/platforms/bukkit/common/src/main/java/com/dfsek/terra/bukkit/handles/BukkitWorldHandle.java index 0136d4389..e241443ad 100644 --- a/platforms/bukkit/common/src/main/java/com/dfsek/terra/bukkit/handles/BukkitWorldHandle.java +++ b/platforms/bukkit/common/src/main/java/com/dfsek/terra/bukkit/handles/BukkitWorldHandle.java @@ -17,6 +17,9 @@ package com.dfsek.terra.bukkit.handles; +import com.dfsek.terra.api.error.Invalid; +import com.dfsek.terra.api.error.InvalidBlockStateError; +import com.dfsek.terra.api.util.generic.data.types.Either; import org.bukkit.Bukkit; import org.bukkit.Material; import org.jetbrains.annotations.NotNull; @@ -39,10 +42,14 @@ public class BukkitWorldHandle implements WorldHandle { } @Override - public synchronized @NotNull BlockState createBlockState(@NotNull String data) { - org.bukkit.block.data.BlockData bukkitData = Bukkit.createBlockData( - data); // somehow bukkit managed to make this not thread safe! :) - return BukkitBlockState.newInstance(bukkitData); + public synchronized @NotNull Either createBlockState(@NotNull String data) { + try { + org.bukkit.block.data.BlockData bukkitData = Bukkit.createBlockData( + data); // somehow bukkit managed to make this not thread safe! :) + return Either.right(BukkitBlockState.newInstance(bukkitData)); + } catch(Exception e) { + return new InvalidBlockStateError(e).left(); + } } @Override diff --git a/platforms/bukkit/common/src/main/java/com/dfsek/terra/bukkit/world/block/BukkitBlockTypeAndItem.java b/platforms/bukkit/common/src/main/java/com/dfsek/terra/bukkit/world/block/BukkitBlockTypeAndItem.java index 6d442343b..55d57f5a5 100644 --- a/platforms/bukkit/common/src/main/java/com/dfsek/terra/bukkit/world/block/BukkitBlockTypeAndItem.java +++ b/platforms/bukkit/common/src/main/java/com/dfsek/terra/bukkit/world/block/BukkitBlockTypeAndItem.java @@ -39,17 +39,17 @@ public class BukkitBlockTypeAndItem implements BlockType, Item { } @Override - public BlockState getDefaultState() { + public BlockState defaultState() { return BukkitAdapter.adapt(delegate.createBlockData()); } @Override - public boolean isSolid() { + public boolean solid() { return delegate.isOccluding(); } @Override - public boolean isWater() { + public boolean water() { return delegate == Material.WATER; } diff --git a/platforms/bukkit/common/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitBlockState.java b/platforms/bukkit/common/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitBlockState.java index 492f53193..b00bb0c6e 100644 --- a/platforms/bukkit/common/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitBlockState.java +++ b/platforms/bukkit/common/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitBlockState.java @@ -61,17 +61,17 @@ public class BukkitBlockState implements BlockState { } @Override - public BlockType getBlockType() { + public BlockType blockType() { return BukkitAdapter.adapt(delegate.getMaterial()); } @Override - public String getAsString(boolean properties) { + public String asString(boolean properties) { return delegate.getAsString(!properties); } @Override - public boolean isAir() { + public boolean air() { return delegate.getMaterial().isAir(); } } diff --git a/platforms/bukkit/nms/src/main/java/com/dfsek/terra/bukkit/nms/NMSBiomeInjector.java b/platforms/bukkit/nms/src/main/java/com/dfsek/terra/bukkit/nms/NMSBiomeInjector.java index fea134c9e..fef18f5a6 100644 --- a/platforms/bukkit/nms/src/main/java/com/dfsek/terra/bukkit/nms/NMSBiomeInjector.java +++ b/platforms/bukkit/nms/src/main/java/com/dfsek/terra/bukkit/nms/NMSBiomeInjector.java @@ -98,6 +98,6 @@ public class NMSBiomeInjector { public static String createBiomeID(ConfigPack pack, com.dfsek.terra.api.registry.key.RegistryKey biomeID) { return pack.getID() - .toLowerCase() + "/" + biomeID.getNamespace().toLowerCase(Locale.ROOT) + "/" + biomeID.getID().toLowerCase(Locale.ROOT); + .toLowerCase() + "/" + biomeID.namespace().toLowerCase(Locale.ROOT) + "/" + biomeID.getID().toLowerCase(Locale.ROOT); } } diff --git a/platforms/cli/src/main/java/com/dfsek/terra/cli/block/CLIBlockState.java b/platforms/cli/src/main/java/com/dfsek/terra/cli/block/CLIBlockState.java index be21e7169..248e2651c 100644 --- a/platforms/cli/src/main/java/com/dfsek/terra/cli/block/CLIBlockState.java +++ b/platforms/cli/src/main/java/com/dfsek/terra/cli/block/CLIBlockState.java @@ -64,17 +64,17 @@ public class CLIBlockState implements BlockState { } @Override - public BlockType getBlockType() { + public BlockType blockType() { return type; } @Override - public String getAsString(boolean properties) { + public String asString(boolean properties) { return value; } @Override - public boolean isAir() { + public boolean air() { return isAir; } diff --git a/platforms/cli/src/main/java/com/dfsek/terra/cli/block/CLIBlockType.java b/platforms/cli/src/main/java/com/dfsek/terra/cli/block/CLIBlockType.java index 9f2bd12eb..71772d0e5 100644 --- a/platforms/cli/src/main/java/com/dfsek/terra/cli/block/CLIBlockType.java +++ b/platforms/cli/src/main/java/com/dfsek/terra/cli/block/CLIBlockType.java @@ -25,17 +25,17 @@ public class CLIBlockType implements BlockType { } @Override - public BlockState getDefaultState() { + public BlockState defaultState() { return defaultState.value(); } @Override - public boolean isSolid() { + public boolean solid() { return solid; } @Override - public boolean isWater() { + public boolean water() { return water; } } diff --git a/platforms/cli/src/main/java/com/dfsek/terra/cli/handle/CLIWorldHandle.java b/platforms/cli/src/main/java/com/dfsek/terra/cli/handle/CLIWorldHandle.java index c52181e72..1343d3fa2 100644 --- a/platforms/cli/src/main/java/com/dfsek/terra/cli/handle/CLIWorldHandle.java +++ b/platforms/cli/src/main/java/com/dfsek/terra/cli/handle/CLIWorldHandle.java @@ -1,5 +1,7 @@ package com.dfsek.terra.cli.handle; +import com.dfsek.terra.api.error.Invalid; +import com.dfsek.terra.api.util.generic.data.types.Either; import org.jetbrains.annotations.NotNull; import com.dfsek.terra.api.block.state.BlockState; @@ -16,8 +18,8 @@ public class CLIWorldHandle implements WorldHandle { } @Override - public @NotNull BlockState createBlockState(@NotNull String data) { - return new CLIBlockState(data); + public @NotNull Either createBlockState(@NotNull String data) { + return Either.right(new CLIBlockState(data)); } @Override diff --git a/platforms/minestom/src/main/java/com/dfsek/terra/minestom/addon/MinestomAddon.java b/platforms/minestom/src/main/java/com/dfsek/terra/minestom/addon/MinestomAddon.java index 1dc3bc0cc..f7cb907af 100644 --- a/platforms/minestom/src/main/java/com/dfsek/terra/minestom/addon/MinestomAddon.java +++ b/platforms/minestom/src/main/java/com/dfsek/terra/minestom/addon/MinestomAddon.java @@ -36,7 +36,7 @@ public class MinestomAddon implements BaseAddon { } @Override - public Version getVersion() { return VERSION; } + public Version version() { return VERSION; } @Override public String getID() { return "terra-minestom"; } diff --git a/platforms/minestom/src/main/java/com/dfsek/terra/minestom/block/MinestomBlockState.java b/platforms/minestom/src/main/java/com/dfsek/terra/minestom/block/MinestomBlockState.java index 6725e947f..696720651 100644 --- a/platforms/minestom/src/main/java/com/dfsek/terra/minestom/block/MinestomBlockState.java +++ b/platforms/minestom/src/main/java/com/dfsek/terra/minestom/block/MinestomBlockState.java @@ -114,12 +114,12 @@ public record MinestomBlockState(Block block) implements BlockState { } @Override - public BlockType getBlockType() { + public BlockType blockType() { return new MinestomBlockType(block); } @Override - public String getAsString(boolean properties) { + public String asString(boolean properties) { String name = block.key().asString(); if(!properties || block.properties().isEmpty()) { return name; @@ -132,7 +132,7 @@ public record MinestomBlockState(Block block) implements BlockState { } @Override - public boolean isAir() { + public boolean air() { return block.isAir(); } diff --git a/platforms/minestom/src/main/java/com/dfsek/terra/minestom/block/MinestomBlockType.java b/platforms/minestom/src/main/java/com/dfsek/terra/minestom/block/MinestomBlockType.java index e8602306f..805e66b83 100644 --- a/platforms/minestom/src/main/java/com/dfsek/terra/minestom/block/MinestomBlockType.java +++ b/platforms/minestom/src/main/java/com/dfsek/terra/minestom/block/MinestomBlockType.java @@ -14,17 +14,17 @@ public class MinestomBlockType implements BlockType { } @Override - public BlockState getDefaultState() { + public BlockState defaultState() { return new MinestomBlockState(block); } @Override - public boolean isSolid() { + public boolean solid() { return block.isSolid(); } @Override - public boolean isWater() { + public boolean water() { return block.isLiquid(); } diff --git a/platforms/minestom/src/main/java/com/dfsek/terra/minestom/world/MinestomWorldHandle.java b/platforms/minestom/src/main/java/com/dfsek/terra/minestom/world/MinestomWorldHandle.java index 3ff92ccf6..8f08ac248 100644 --- a/platforms/minestom/src/main/java/com/dfsek/terra/minestom/world/MinestomWorldHandle.java +++ b/platforms/minestom/src/main/java/com/dfsek/terra/minestom/world/MinestomWorldHandle.java @@ -1,5 +1,8 @@ package com.dfsek.terra.minestom.world; +import com.dfsek.terra.api.error.Invalid; +import com.dfsek.terra.api.error.InvalidBlockStateError; +import com.dfsek.terra.api.util.generic.data.types.Either; import net.minestom.server.instance.block.Block; import org.jetbrains.annotations.NotNull; @@ -14,8 +17,12 @@ public class MinestomWorldHandle implements WorldHandle { private static final MinestomBlockState AIR = new MinestomBlockState(Block.AIR); @Override - public @NotNull BlockState createBlockState(@NotNull String data) { - return MinestomBlockState.fromStateId(data); + public @NotNull Either createBlockState(@NotNull String data) { + try { + return Either.right(MinestomBlockState.fromStateId(data)); + } catch(Exception e) { + return new InvalidBlockStateError(e).left(); + } } @Override diff --git a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/MinecraftAddon.java b/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/MinecraftAddon.java index 4586dce2a..f15cd6aee 100644 --- a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/MinecraftAddon.java +++ b/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/MinecraftAddon.java @@ -76,7 +76,7 @@ public abstract class MinecraftAddon implements BaseAddon { } @Override - public Version getVersion() { + public Version version() { return VERSION; } } diff --git a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/data/Codecs.java b/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/data/Codecs.java index b1dc66b17..cbb7d1349 100644 --- a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/data/Codecs.java +++ b/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/data/Codecs.java @@ -18,7 +18,7 @@ public final class Codecs { public static final Codec TERRA_REGISTRY_KEY = RecordCodecBuilder .create(registryKey -> registryKey.group(Codec.STRING.fieldOf("namespace") .stable() - .forGetter(RegistryKey::getNamespace), + .forGetter(RegistryKey::namespace), Codec.STRING.fieldOf("id") .stable() .forGetter(RegistryKey::getID)) diff --git a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/generation/MinecraftChunkGeneratorWrapper.java b/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/generation/MinecraftChunkGeneratorWrapper.java index 4a19a6c85..1a11879e2 100644 --- a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/generation/MinecraftChunkGeneratorWrapper.java +++ b/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/generation/MinecraftChunkGeneratorWrapper.java @@ -138,11 +138,11 @@ public class MinecraftChunkGeneratorWrapper extends net.minecraft.world.gen.chun com.dfsek.terra.api.block.state.BlockState data = delegate.getPalette(x + xi, y, z + zi, world, biomeProvider).get( depth, x + xi, y, z + zi, world.getSeed()); BlockPos blockPos = new BlockPos(x, y, z); - boolean isExtended = data.isExtended() && data.getClass().equals(BlockStateArgument.class); + boolean isExtended = data.extended() && data.getClass().equals(BlockStateArgument.class); if(isExtended) { BlockStateExtended blockStateExtended = (BlockStateExtended) data; - net.minecraft.block.BlockState blockState = (net.minecraft.block.BlockState) blockStateExtended.getState(); + net.minecraft.block.BlockState blockState = (net.minecraft.block.BlockState) blockStateExtended.state(); chunk.setBlockState(blockPos, blockState, 0); } else { chunk.setBlockState(blockPos, (net.minecraft.block.BlockState) data, 0); @@ -196,7 +196,7 @@ public class MinecraftChunkGeneratorWrapper extends net.minecraft.world.gen.chun for(int y = height.getTopYInclusive() - 1; y >= min; y--) { com.dfsek.terra.api.block.state.BlockState terraBlockState = delegate.getBlock(properties, x, y, z, biomeProvider); BlockState blockState = - (BlockState) (terraBlockState.isExtended() ? ((BlockStateExtended) terraBlockState).getState() : terraBlockState); + (BlockState) (terraBlockState.extended() ? ((BlockStateExtended) terraBlockState).state() : terraBlockState); if(heightmap .getBlockPredicate() .test(blockState)) return y + 1; @@ -212,7 +212,7 @@ public class MinecraftChunkGeneratorWrapper extends net.minecraft.world.gen.chun for(int y = height.getTopYInclusive() - 1; y >= height.getBottomY(); y--) { com.dfsek.terra.api.block.state.BlockState terraBlockState = delegate.getBlock(properties, x, y, z, biomeProvider); BlockState blockState = - (BlockState) (terraBlockState.isExtended() ? ((BlockStateExtended) terraBlockState).getState() : terraBlockState); + (BlockState) (terraBlockState.extended() ? ((BlockStateExtended) terraBlockState).state() : terraBlockState); array[y - height.getBottomY()] = blockState; } return new VerticalBlockSample(height.getBottomY(), array); diff --git a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/handle/MinecraftWorldHandle.java b/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/handle/MinecraftWorldHandle.java index b42b866e7..552897ef5 100644 --- a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/handle/MinecraftWorldHandle.java +++ b/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/handle/MinecraftWorldHandle.java @@ -17,6 +17,9 @@ package com.dfsek.terra.mod.handle; +import com.dfsek.terra.api.error.Invalid; +import com.dfsek.terra.api.error.InvalidBlockStateError; +import com.dfsek.terra.api.util.generic.data.types.Either; import com.mojang.brigadier.StringReader; import com.mojang.brigadier.exceptions.CommandSyntaxException; import net.minecraft.block.BlockEntityProvider; @@ -51,7 +54,7 @@ public class MinecraftWorldHandle implements WorldHandle { @SuppressWarnings("DataFlowIssue") @Override - public @NotNull BlockState createBlockState(@NotNull String data) { + public @NotNull Either createBlockState(@NotNull String data) { try { BlockResult blockResult = BlockArgumentParser.block(Registries.BLOCK, data, true); BlockState blockState; @@ -76,10 +79,10 @@ public class MinecraftWorldHandle implements WorldHandle { blockState = (BlockState) blockResult.blockState(); } - if(blockState == null) throw new IllegalArgumentException("Invalid data: " + data); - return blockState; + if(blockState == null) return new InvalidBlockStateError(new IllegalArgumentException("Invalid data: " + data)).left(); + return Either.right(blockState); } catch(CommandSyntaxException e) { - throw new IllegalArgumentException(e); + return new InvalidBlockStateError(e).left(); } } diff --git a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/mixin/implementations/terra/block/BlockMixin.java b/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/mixin/implementations/terra/block/BlockMixin.java index 1665b2b8c..d60c8a909 100644 --- a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/mixin/implementations/terra/block/BlockMixin.java +++ b/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/mixin/implementations/terra/block/BlockMixin.java @@ -29,16 +29,16 @@ import com.dfsek.terra.api.block.BlockType; @Mixin(Block.class) @Implements(@Interface(iface = BlockType.class, prefix = "terra$")) public abstract class BlockMixin { - public com.dfsek.terra.api.block.state.BlockState terra$getDefaultState() { + public com.dfsek.terra.api.block.state.BlockState terra$defaultState() { return (com.dfsek.terra.api.block.state.BlockState) ((Block) (Object) this).getDefaultState(); } - public boolean terra$isSolid() { + public boolean terra$solid() { return ((Block) (Object) this).getDefaultState().isOpaque(); } @SuppressWarnings("ConstantConditions") - public boolean terra$isWater() { + public boolean terra$water() { return ((Object) this) == Blocks.WATER; } } diff --git a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/mixin/implementations/terra/block/entity/MobSpawnerBlockEntityMixin.java b/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/mixin/implementations/terra/block/entity/MobSpawnerBlockEntityMixin.java index 4335f67ce..d2cbcacc0 100644 --- a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/mixin/implementations/terra/block/entity/MobSpawnerBlockEntityMixin.java +++ b/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/mixin/implementations/terra/block/entity/MobSpawnerBlockEntityMixin.java @@ -68,7 +68,7 @@ public abstract class MobSpawnerBlockEntityMixin extends BlockEntity { rand = Random.create(); } net.minecraft.entity.EntityType entityType = - (((net.minecraft.entity.EntityType) (creatureType.isExtended() && creatureType.getClass().equals( + (((net.minecraft.entity.EntityType) (creatureType.extended() && creatureType.getClass().equals( MinecraftEntityTypeExtended.class) ? ((MinecraftEntityTypeExtended) creatureType).getType() : creatureType))); setEntityType(entityType, rand); } diff --git a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/mixin/implementations/terra/block/state/BlockStateArgumentMixin.java b/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/mixin/implementations/terra/block/state/BlockStateArgumentMixin.java index 2798f0508..acf91ee55 100644 --- a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/mixin/implementations/terra/block/state/BlockStateArgumentMixin.java +++ b/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/mixin/implementations/terra/block/state/BlockStateArgumentMixin.java @@ -57,17 +57,17 @@ public abstract class BlockStateArgumentMixin implements Predicate terra$getEntity() { - return Optional.ofNullable((Entity) getEntity()); + public Maybe terra$entity() { + return Maybe.ofNullable((Entity) getEntity()); } - public Optional terra$getPlayer() { + public Maybe terra$player() { try { - return Optional.ofNullable((Player) getPlayer()); + return Maybe.ofNullable((Player) getPlayer()); } catch(CommandSyntaxException e) { - return Optional.empty(); + return Maybe.nothing(); } } } diff --git a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/mixin/implementations/terra/world/ChunkRegionMixin.java b/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/mixin/implementations/terra/world/ChunkRegionMixin.java index 1c34c6a4d..7939410f9 100644 --- a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/mixin/implementations/terra/world/ChunkRegionMixin.java +++ b/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/mixin/implementations/terra/world/ChunkRegionMixin.java @@ -102,7 +102,7 @@ public abstract class ChunkRegionMixin implements StructureWorldAccess { state = arg.getBlockState(); setBlockState(blockPos, state, flags); net.minecraft.world.chunk.Chunk chunk = getChunk(blockPos); - NbtCompound nbt = ((NbtCompound) (Object) ((BlockStateExtended) data).getData()); + NbtCompound nbt = ((NbtCompound) (Object) ((BlockStateExtended) data).data()); MinecraftUtil.loadBlockEntity(chunk, world, blockPos, state, nbt); } else { state = (net.minecraft.block.BlockState) data; diff --git a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/mixin/implementations/terra/world/ServerWorldMixin.java b/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/mixin/implementations/terra/world/ServerWorldMixin.java index fdba31a50..21c25a230 100644 --- a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/mixin/implementations/terra/world/ServerWorldMixin.java +++ b/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/mixin/implementations/terra/world/ServerWorldMixin.java @@ -101,7 +101,7 @@ public abstract class ServerWorldMixin extends World { state = arg.getBlockState(); setBlockState(blockPos, state, flags); net.minecraft.world.chunk.Chunk chunk = getWorldChunk(blockPos); - ((WorldChunkAccessor) chunk).invokeLoadBlockEntity(blockPos, ((NbtCompound) (Object) ((BlockStateExtended) data).getData())); + ((WorldChunkAccessor) chunk).invokeLoadBlockEntity(blockPos, ((NbtCompound) (Object) ((BlockStateExtended) data).data())); } else { state = (net.minecraft.block.BlockState) data; setBlockState(blockPos, state, flags); diff --git a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/util/BiomeUtil.java b/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/util/BiomeUtil.java index fc8304d09..9fdf03b02 100644 --- a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/util/BiomeUtil.java +++ b/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/util/BiomeUtil.java @@ -103,7 +103,7 @@ public class BiomeUtil { public static String createBiomeID(ConfigPack pack, com.dfsek.terra.api.registry.key.RegistryKey biomeID) { return pack.getID() - .toLowerCase() + "/" + biomeID.getNamespace().toLowerCase(Locale.ROOT) + "/" + biomeID.getID().toLowerCase(Locale.ROOT); + .toLowerCase() + "/" + biomeID.namespace().toLowerCase(Locale.ROOT) + "/" + biomeID.getID().toLowerCase(Locale.ROOT); } public static Map> getTerraBiomeMap() { diff --git a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/util/MinecraftUtil.java b/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/util/MinecraftUtil.java index 076745ce8..e13371a0d 100644 --- a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/util/MinecraftUtil.java +++ b/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/util/MinecraftUtil.java @@ -80,7 +80,7 @@ public final class MinecraftUtil { } public static boolean isCompatibleBlockStateExtended(com.dfsek.terra.api.block.state.BlockState blockState) { - return blockState.isExtended() && BlockStateArgument.class.isAssignableFrom(blockState.getClass()); + return blockState.extended() && BlockStateArgument.class.isAssignableFrom(blockState.getClass()); } //[Vanilla Copy] @@ -103,7 +103,7 @@ public final class MinecraftUtil { } public static boolean isCompatibleEntityTypeExtended(EntityType entityType) { - return entityType.isExtended() && MinecraftEntityTypeExtended.class.isAssignableFrom(entityType.getClass()); + return entityType.extended() && MinecraftEntityTypeExtended.class.isAssignableFrom(entityType.getClass()); } public static void registerIntProviderTypes() { diff --git a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/util/PresetUtil.java b/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/util/PresetUtil.java index 1db7ade81..9a16c7231 100644 --- a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/util/PresetUtil.java +++ b/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/util/PresetUtil.java @@ -49,7 +49,7 @@ public class PresetUtil { Identifier generatorID = Identifier.tryParse( - "terra:" + pack.getID().toLowerCase(Locale.ROOT) + "/" + pack.getNamespace().toLowerCase( + "terra:" + pack.getID().toLowerCase(Locale.ROOT) + "/" + pack.namespace().toLowerCase( Locale.ROOT)); PRESETS.add(Pair.of(generatorID, extended)); @@ -74,7 +74,7 @@ public class PresetUtil { platform.multiNoiseBiomeSourceParameterListRegistry(); Identifier generatorID = Identifier.of("terra", - metaPack.getID().toLowerCase(Locale.ROOT) + "/" + metaPack.getNamespace().toLowerCase( + metaPack.getID().toLowerCase(Locale.ROOT) + "/" + metaPack.namespace().toLowerCase( Locale.ROOT)); PRESETS.add(Pair.of(generatorID, extended));