start working on error handling stuff

This commit is contained in:
dfsek
2025-12-29 22:18:44 -07:00
parent 9a16336f53
commit cb08401536
76 changed files with 212 additions and 165 deletions
@@ -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"; }
@@ -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();
}
@@ -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();
}
@@ -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<Invalid, BlockState> createBlockState(@NotNull String data) {
try {
return Either.right(MinestomBlockState.fromStateId(data));
} catch(Exception e) {
return new InvalidBlockStateError(e).left();
}
}
@Override