diff --git a/common/api/core/src/main/java/com/dfsek/terra/api/world/chunk/generation/ProtoWorld.java b/common/api/core/src/main/java/com/dfsek/terra/api/world/chunk/generation/ProtoWorld.java index 080d9fb0d..9819a498e 100644 --- a/common/api/core/src/main/java/com/dfsek/terra/api/world/chunk/generation/ProtoWorld.java +++ b/common/api/core/src/main/java/com/dfsek/terra/api/world/chunk/generation/ProtoWorld.java @@ -1,5 +1,6 @@ package com.dfsek.terra.api.world.chunk.generation; +import com.dfsek.terra.api.world.access.World; import com.dfsek.terra.api.world.access.WorldAccess; @@ -7,4 +8,12 @@ public interface ProtoWorld extends WorldAccess { int centerChunkX(); int centerChunkZ(); + + /** + * Get the world object this ProtoWorld represents + * + * Do not read from/write to this world! + * @return The world + */ + World getWorld(); } diff --git a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/BukkitProtoWorld.java b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/BukkitProtoWorld.java index f47404fe0..0e441ca3a 100644 --- a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/BukkitProtoWorld.java +++ b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/BukkitProtoWorld.java @@ -5,6 +5,7 @@ import com.dfsek.terra.api.block.state.BlockState; import com.dfsek.terra.api.entity.Entity; import com.dfsek.terra.api.entity.EntityType; import com.dfsek.terra.api.util.vector.Vector3; +import com.dfsek.terra.api.world.access.World; import com.dfsek.terra.api.world.chunk.generation.ProtoWorld; import com.dfsek.terra.bukkit.BukkitEntity; @@ -77,4 +78,9 @@ public class BukkitProtoWorld implements ProtoWorld { public int centerChunkZ() { return delegate.getCenterChunkZ(); } + + @Override + public World getWorld() { + return new BukkitWorld(delegate.getWorld()); + } }