move spawnEntity to WorldAccess

This commit is contained in:
dfsek
2021-11-28 11:35:12 -07:00
parent a52271dfb9
commit b880b6592b
5 changed files with 27 additions and 6 deletions
@@ -2,12 +2,19 @@ package com.dfsek.terra.bukkit.world;
import com.dfsek.terra.api.block.entity.BlockEntity;
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.chunk.generation.ProtoWorld;
import com.dfsek.terra.bukkit.BukkitEntity;
import com.dfsek.terra.bukkit.world.block.data.BukkitBlockState;
import com.dfsek.terra.bukkit.world.block.state.BukkitBlockEntity;
import com.dfsek.terra.bukkit.world.entity.BukkitEntityType;
import org.bukkit.Location;
import org.bukkit.generator.LimitedRegion;
@@ -54,6 +61,13 @@ public class BukkitProtoWorld implements ProtoWorld {
return delegate.getWorld().getMinHeight();
}
@Override
public Entity spawnEntity(double x, double y, double z, EntityType entityType) {
return new BukkitEntity(
delegate.spawnEntity(new Location(delegate.getWorld(), x, y, z), ((BukkitEntityType) entityType).getHandle()));
}
@Override
public int centerChunkX() {
return delegate.getCenterChunkX();
@@ -35,6 +35,8 @@ import com.dfsek.terra.bukkit.generator.BukkitChunkGeneratorWrapper;
import com.dfsek.terra.bukkit.world.block.state.BukkitBlockEntity;
import com.dfsek.terra.bukkit.world.entity.BukkitEntityType;
import org.bukkit.Location;
public class BukkitWorld implements World {
private final org.bukkit.World delegate;
@@ -56,9 +58,9 @@ public class BukkitWorld implements World {
}
@Override
public Entity spawnEntity(Vector3 location, EntityType entityType) {
public Entity spawnEntity(double x, double y, double z, EntityType entityType) {
return new BukkitEntity(
delegate.spawnEntity(BukkitAdapter.adapt(location).toLocation(delegate), ((BukkitEntityType) entityType).getHandle()));
delegate.spawnEntity(new Location(delegate, x, y, z), ((BukkitEntityType) entityType).getHandle()));
}
@Override