diff --git a/common/api/core/src/main/java/com/dfsek/terra/api/world/access/ReadableWorld.java b/common/api/core/src/main/java/com/dfsek/terra/api/world/access/ReadableWorld.java index 18bd8e4a4..fb5465872 100644 --- a/common/api/core/src/main/java/com/dfsek/terra/api/world/access/ReadableWorld.java +++ b/common/api/core/src/main/java/com/dfsek/terra/api/world/access/ReadableWorld.java @@ -1,7 +1,30 @@ package com.dfsek.terra.api.world.access; import com.dfsek.terra.api.Handle; +import com.dfsek.terra.api.block.entity.BlockEntity; +import com.dfsek.terra.api.block.state.BlockState; +import com.dfsek.terra.api.util.vector.Vector3; +import com.dfsek.terra.api.util.vector.integer.Vector3Int; public interface ReadableWorld extends World { + BlockState getBlockData(int x, int y, int z); + + default BlockState getBlockData(Vector3 position) { + return getBlockData(position.getBlockX(), position.getBlockY(), position.getBlockZ()); + } + + default BlockState getBlockData(Vector3Int position) { + return getBlockData(position.getX(), position.getY(), position.getZ()); + } + + BlockEntity getBlockState(int x, int y, int z); + + default BlockEntity getBlockState(Vector3 position) { + return getBlockState(position.getBlockX(), position.getBlockY(), position.getBlockZ()); + } + + default BlockEntity getBlockState(Vector3Int position) { + return getBlockState(position.getX(), position.getY(), position.getZ()); + } } diff --git a/common/api/core/src/main/java/com/dfsek/terra/api/world/access/World.java b/common/api/core/src/main/java/com/dfsek/terra/api/world/access/World.java index a0bbf8782..03ef40765 100644 --- a/common/api/core/src/main/java/com/dfsek/terra/api/world/access/World.java +++ b/common/api/core/src/main/java/com/dfsek/terra/api/world/access/World.java @@ -1,7 +1,21 @@ package com.dfsek.terra.api.world.access; import com.dfsek.terra.api.Handle; +import com.dfsek.terra.api.config.WorldConfig; +import com.dfsek.terra.api.world.biome.generation.BiomeProvider; +import com.dfsek.terra.api.world.chunk.generation.ChunkGenerator; public interface World extends Handle { + long getSeed(); + + int getMaxHeight(); + + int getMinHeight(); + + ChunkGenerator getGenerator(); + + BiomeProvider getBiomeProvider(); + + WorldConfig getConfig(); } diff --git a/common/api/core/src/main/java/com/dfsek/terra/api/world/access/WritableWorld.java b/common/api/core/src/main/java/com/dfsek/terra/api/world/access/WritableWorld.java index 71ab3a57c..4377c0315 100644 --- a/common/api/core/src/main/java/com/dfsek/terra/api/world/access/WritableWorld.java +++ b/common/api/core/src/main/java/com/dfsek/terra/api/world/access/WritableWorld.java @@ -27,32 +27,10 @@ public interface WritableWorld extends ReadableWorld { void setBlockData(int x, int y, int z, BlockState data, boolean physics); - long getSeed(); - - int getMaxHeight(); - - BlockState getBlockData(int x, int y, int z); - - BlockEntity getBlockState(int x, int y, int z); - - default BlockState getBlockData(Vector3 position) { - return getBlockData(position.getBlockX(), position.getBlockY(), position.getBlockZ()); - } - - default BlockEntity getBlockState(Vector3 position) { - return getBlockState(position.getBlockX(), position.getBlockY(), position.getBlockZ()); - } - int getMinHeight(); - default Entity spawnEntity(Vector3 location, EntityType entityType) { return spawnEntity(location.getX(), location.getY(), location.getZ(), entityType); } Entity spawnEntity(double x, double y, double z, EntityType entityType); - ChunkGenerator getGenerator(); - - BiomeProvider getBiomeProvider(); - - WorldConfig getConfig(); }