diff --git a/common/src/main/java/com/dfsek/terra/api/platform/Entity.java b/common/src/main/java/com/dfsek/terra/api/platform/Entity.java deleted file mode 100644 index b29d81bc6..000000000 --- a/common/src/main/java/com/dfsek/terra/api/platform/Entity.java +++ /dev/null @@ -1,4 +0,0 @@ -package com.dfsek.terra.api.platform; - -public interface Entity extends Handle { -} diff --git a/common/src/main/java/com/dfsek/terra/api/platform/TerraPlugin.java b/common/src/main/java/com/dfsek/terra/api/platform/TerraPlugin.java index 5721cf888..317fa40f8 100644 --- a/common/src/main/java/com/dfsek/terra/api/platform/TerraPlugin.java +++ b/common/src/main/java/com/dfsek/terra/api/platform/TerraPlugin.java @@ -3,7 +3,6 @@ package com.dfsek.terra.api.platform; import com.dfsek.terra.TerraWorld; import com.dfsek.terra.api.LoaderRegistrar; import com.dfsek.terra.api.lang.Language; -import com.dfsek.terra.api.platform.handle.EntityHandle; import com.dfsek.terra.api.platform.handle.ItemHandle; import com.dfsek.terra.api.platform.handle.WorldHandle; import com.dfsek.terra.api.platform.world.World; @@ -37,6 +36,4 @@ public interface TerraPlugin extends LoaderRegistrar { ItemHandle getItemHandle(); void saveDefaultConfig(); - - EntityHandle getEntityHandle(); } diff --git a/common/src/main/java/com/dfsek/terra/api/platform/handle/EntityHandle.java b/common/src/main/java/com/dfsek/terra/api/platform/handle/EntityHandle.java deleted file mode 100644 index 0661fbfa5..000000000 --- a/common/src/main/java/com/dfsek/terra/api/platform/handle/EntityHandle.java +++ /dev/null @@ -1,4 +0,0 @@ -package com.dfsek.terra.api.platform.handle; - -public interface EntityHandle { -} diff --git a/common/src/main/java/com/dfsek/terra/api/platform/handle/WorldHandle.java b/common/src/main/java/com/dfsek/terra/api/platform/handle/WorldHandle.java index dd7f8e0f9..c03cda1bf 100644 --- a/common/src/main/java/com/dfsek/terra/api/platform/handle/WorldHandle.java +++ b/common/src/main/java/com/dfsek/terra/api/platform/handle/WorldHandle.java @@ -4,6 +4,7 @@ import com.dfsek.terra.api.platform.block.Block; import com.dfsek.terra.api.platform.block.BlockData; import com.dfsek.terra.api.platform.block.MaterialData; import com.dfsek.terra.api.platform.world.Tree; +import com.dfsek.terra.api.platform.world.entity.EntityType; /** * Interface to be implemented for world manipulation. @@ -20,4 +21,6 @@ public interface WorldHandle { MaterialData createMaterialData(String data); Tree getTree(String id); + + EntityType getEntity(String id); } diff --git a/common/src/main/java/com/dfsek/terra/api/platform/world/World.java b/common/src/main/java/com/dfsek/terra/api/platform/world/World.java index cdb10ceb3..52ff12e25 100644 --- a/common/src/main/java/com/dfsek/terra/api/platform/world/World.java +++ b/common/src/main/java/com/dfsek/terra/api/platform/world/World.java @@ -1,14 +1,14 @@ package com.dfsek.terra.api.platform.world; import com.dfsek.terra.api.math.vector.Location; -import com.dfsek.terra.api.platform.Entity; import com.dfsek.terra.api.platform.Handle; import com.dfsek.terra.api.platform.block.Block; import com.dfsek.terra.api.platform.generator.ChunkGenerator; +import com.dfsek.terra.api.platform.world.entity.Entity; +import com.dfsek.terra.api.platform.world.entity.EntityType; import java.io.File; import java.util.UUID; -import java.util.function.Consumer; public interface World extends Handle { long getSeed(); @@ -31,7 +31,7 @@ public interface World extends Handle { Block getBlockAt(Location l); - boolean generateTree(Location l, Tree vanillaTreeType); // TODO: Bukkit treetype is bad + boolean generateTree(Location l, Tree vanillaTreeType); - void spawn(Location location, Class entity, Consumer consumer); // TODO: Bukkit Entity is bad + Entity spawnEntity(Location location, EntityType entityType); } diff --git a/common/src/main/java/com/dfsek/terra/api/platform/world/entity/Entity.java b/common/src/main/java/com/dfsek/terra/api/platform/world/entity/Entity.java new file mode 100644 index 000000000..2972749d5 --- /dev/null +++ b/common/src/main/java/com/dfsek/terra/api/platform/world/entity/Entity.java @@ -0,0 +1,6 @@ +package com.dfsek.terra.api.platform.world.entity; + +import com.dfsek.terra.api.platform.Handle; + +public interface Entity extends Handle { +} diff --git a/common/src/main/java/com/dfsek/terra/api/platform/world/entity/EntityType.java b/common/src/main/java/com/dfsek/terra/api/platform/world/entity/EntityType.java new file mode 100644 index 000000000..45699b60b --- /dev/null +++ b/common/src/main/java/com/dfsek/terra/api/platform/world/entity/EntityType.java @@ -0,0 +1,6 @@ +package com.dfsek.terra.api.platform.world.entity; + +import com.dfsek.terra.api.platform.Handle; + +public interface EntityType extends Handle { +} diff --git a/common/src/main/java/com/dfsek/terra/api/world/tree/fractal/EntitySpawnHolder.java b/common/src/main/java/com/dfsek/terra/api/world/tree/fractal/EntitySpawnHolder.java index e51941c19..ed485dd60 100644 --- a/common/src/main/java/com/dfsek/terra/api/world/tree/fractal/EntitySpawnHolder.java +++ b/common/src/main/java/com/dfsek/terra/api/world/tree/fractal/EntitySpawnHolder.java @@ -1,7 +1,7 @@ package com.dfsek.terra.api.world.tree.fractal; import com.dfsek.terra.api.math.vector.Location; -import com.dfsek.terra.api.platform.Entity; +import com.dfsek.terra.api.platform.world.entity.Entity; import java.util.function.Consumer; diff --git a/common/src/main/java/com/dfsek/terra/api/world/tree/fractal/FractalTree.java b/common/src/main/java/com/dfsek/terra/api/world/tree/fractal/FractalTree.java index 9269012ab..76be0e183 100644 --- a/common/src/main/java/com/dfsek/terra/api/world/tree/fractal/FractalTree.java +++ b/common/src/main/java/com/dfsek/terra/api/world/tree/fractal/FractalTree.java @@ -1,9 +1,10 @@ package com.dfsek.terra.api.world.tree.fractal; import com.dfsek.terra.api.math.vector.Location; -import com.dfsek.terra.api.platform.Entity; import com.dfsek.terra.api.platform.TerraPlugin; import com.dfsek.terra.api.platform.block.BlockData; +import com.dfsek.terra.api.platform.world.entity.Entity; +import com.dfsek.terra.api.platform.world.entity.EntityType; import com.dfsek.terra.util.MaterialSet; import java.util.Random; @@ -41,7 +42,7 @@ public abstract class FractalTree { */ public abstract void grow(Location origin, Random random); - public void spawnEntity(Location spawn, Class clazz, Consumer consumer) { - spawn.getWorld().spawn(spawn, clazz, consumer); + public void spawnEntity(Location spawn, EntityType type, Consumer consumer) { + consumer.accept(spawn.getWorld().spawnEntity(spawn, type)); } } diff --git a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/BukkitEntity.java b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/BukkitEntity.java index 587b48246..5ef812e0f 100644 --- a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/BukkitEntity.java +++ b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/BukkitEntity.java @@ -1,6 +1,6 @@ package com.dfsek.terra.bukkit; -import com.dfsek.terra.api.platform.Entity; +import com.dfsek.terra.api.platform.world.entity.Entity; public class BukkitEntity implements Entity { private final org.bukkit.entity.Entity entity; diff --git a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/TerraBukkitPlugin.java b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/TerraBukkitPlugin.java index 1c4c4de05..80f53a76c 100644 --- a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/TerraBukkitPlugin.java +++ b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/TerraBukkitPlugin.java @@ -7,7 +7,6 @@ import com.dfsek.terra.api.lang.Language; import com.dfsek.terra.api.platform.TerraPlugin; import com.dfsek.terra.api.platform.block.BlockData; import com.dfsek.terra.api.platform.block.MaterialData; -import com.dfsek.terra.api.platform.handle.EntityHandle; import com.dfsek.terra.api.platform.handle.ItemHandle; import com.dfsek.terra.api.platform.handle.WorldHandle; import com.dfsek.terra.api.platform.world.Biome; @@ -74,11 +73,6 @@ public class TerraBukkitPlugin extends JavaPlugin implements TerraPlugin { return itemHandle; } - @Override - public EntityHandle getEntityHandle() { - return null; - } - public void setHandle(WorldHandle handle) { getLogger().warning("|-------------------------------------------------------|"); getLogger().warning("A third-party addon has injected a custom WorldHandle!"); diff --git a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/command/command/FixChunkCommand.java b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/command/command/FixChunkCommand.java index 737ffa0ea..d666ece29 100644 --- a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/command/command/FixChunkCommand.java +++ b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/command/command/FixChunkCommand.java @@ -17,7 +17,7 @@ public class FixChunkCommand extends WorldCommand { @Override public boolean execute(@NotNull Player player, @NotNull Command command, @NotNull String s, @NotNull String[] strings, World world) { - //TerraChunkGenerator.fixChunk(player.getLocation().getChunk()); + //MasterChunkGenerator.fixChunk(player.getLocation().getChunk()); return true; } diff --git a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/command/command/structure/LocateCommand.java b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/command/command/structure/LocateCommand.java index 00585091c..0472ebac0 100644 --- a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/command/command/structure/LocateCommand.java +++ b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/command/command/structure/LocateCommand.java @@ -1,11 +1,11 @@ package com.dfsek.terra.bukkit.command.command.structure; -import com.dfsek.terra.api.math.vector.Location; import com.dfsek.terra.api.math.vector.Vector3; import com.dfsek.terra.async.AsyncStructureFinder; import com.dfsek.terra.bukkit.BukkitCommandSender; import com.dfsek.terra.bukkit.TerraBukkitPlugin; import com.dfsek.terra.bukkit.command.WorldCommand; +import com.dfsek.terra.bukkit.world.BukkitAdapter; import com.dfsek.terra.bukkit.world.BukkitWorld; import com.dfsek.terra.config.lang.LangUtil; import com.dfsek.terra.generation.items.TerraStructure; @@ -53,7 +53,7 @@ public class LocateCommand extends WorldCommand { //LangUtil.send("command.structure.invalid", sender, id); return true; } - Bukkit.getScheduler().runTaskAsynchronously((TerraBukkitPlugin) getMain(), new AsyncStructureFinder(getMain().getWorld(new BukkitWorld(world)).getGrid(), s, new Location(new BukkitWorld(sender.getWorld()), sender.getLocation().getX(), sender.getLocation().getY(), sender.getLocation().getZ()), 0, maxRadius, (location) -> { + Bukkit.getScheduler().runTaskAsynchronously((TerraBukkitPlugin) getMain(), new AsyncStructureFinder(getMain().getWorld(new BukkitWorld(world)).getGrid(), s, BukkitAdapter.adapt(sender.getLocation()), 0, maxRadius, (location) -> { if(sender.isOnline()) { if(location != null) { ComponentBuilder cm = new ComponentBuilder(String.format("The nearest %s is at ", id.toLowerCase())) diff --git a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/command/command/structure/load/LoadCommand.java b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/command/command/structure/load/LoadCommand.java index ea842cc51..d83a39a94 100644 --- a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/command/command/structure/load/LoadCommand.java +++ b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/command/command/structure/load/LoadCommand.java @@ -23,9 +23,7 @@ public class LoadCommand extends PlayerCommand implements DebugCommand { List names = new ArrayList<>(); TerraWorld terraWorld = getMain().getWorld(world); - terraWorld.getConfig().getScriptRegistry().forEach(script -> { - names.add(script.getId()); - }); + terraWorld.getConfig().getScriptRegistry().forEach(script -> names.add(script.getId())); return names; } diff --git a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/command/command/structure/load/LoadFullCommand.java b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/command/command/structure/load/LoadFullCommand.java index b6021146e..cafacf131 100644 --- a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/command/command/structure/load/LoadFullCommand.java +++ b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/command/command/structure/load/LoadFullCommand.java @@ -1,10 +1,10 @@ package com.dfsek.terra.bukkit.command.command.structure.load; import com.dfsek.terra.TerraWorld; -import com.dfsek.terra.api.math.vector.Location; import com.dfsek.terra.api.structures.structure.Rotation; import com.dfsek.terra.api.util.FastRandom; import com.dfsek.terra.bukkit.command.DebugCommand; +import com.dfsek.terra.bukkit.world.BukkitAdapter; import com.dfsek.terra.bukkit.world.BukkitChunk; import com.dfsek.terra.bukkit.world.BukkitWorld; import com.dfsek.terra.util.PopulationUtil; @@ -33,9 +33,9 @@ public class LoadFullCommand extends LoadCommand implements DebugCommand { FastRandom chunk = PopulationUtil.getRandom(new BukkitChunk(sender.getLocation().getChunk())); if(this.chunk) { - terraWorld.getConfig().getScriptRegistry().get(args[0]).execute(new Location(new BukkitWorld(sender.getWorld()), sender.getLocation().getX(), sender.getLocation().getY(), sender.getLocation().getZ()), new BukkitChunk(sender.getLocation().getChunk()), chunk, Rotation.fromDegrees(90 * chunk.nextInt(4))); + terraWorld.getConfig().getScriptRegistry().get(args[0]).execute(BukkitAdapter.adapt(sender.getLocation()), new BukkitChunk(sender.getLocation().getChunk()), chunk, Rotation.fromDegrees(90 * chunk.nextInt(4))); } else { - terraWorld.getConfig().getScriptRegistry().get(args[0]).execute(new Location(new BukkitWorld(sender.getWorld()), sender.getLocation().getX(), sender.getLocation().getY(), sender.getLocation().getZ()), chunk, Rotation.fromDegrees(90 * chunk.nextInt(4))); + terraWorld.getConfig().getScriptRegistry().get(args[0]).execute(BukkitAdapter.adapt(sender.getLocation()), chunk, Rotation.fromDegrees(90 * chunk.nextInt(4))); } long l = System.nanoTime() - t; diff --git a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/command/command/structure/load/LoadRawCommand.java b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/command/command/structure/load/LoadRawCommand.java index b57981e2d..eaccda40a 100644 --- a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/command/command/structure/load/LoadRawCommand.java +++ b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/command/command/structure/load/LoadRawCommand.java @@ -1,10 +1,10 @@ package com.dfsek.terra.bukkit.command.command.structure.load; import com.dfsek.terra.TerraWorld; -import com.dfsek.terra.api.math.vector.Location; import com.dfsek.terra.api.structures.structure.Rotation; import com.dfsek.terra.api.util.FastRandom; import com.dfsek.terra.bukkit.command.DebugCommand; +import com.dfsek.terra.bukkit.world.BukkitAdapter; import com.dfsek.terra.bukkit.world.BukkitChunk; import com.dfsek.terra.bukkit.world.BukkitWorld; import com.dfsek.terra.util.PopulationUtil; @@ -40,7 +40,7 @@ public class LoadRawCommand extends LoadCommand implements DebugCommand { long t = System.nanoTime(); FastRandom chunk = PopulationUtil.getRandom(new BukkitChunk(sender.getLocation().getChunk())); - boolean success = terraWorld.getConfig().getScriptRegistry().get(args[0]).execute(new Location(new BukkitWorld(sender.getWorld()), sender.getLocation().getX(), sender.getLocation().getY(), sender.getLocation().getZ()), chunk, Rotation.fromDegrees(90 * chunk.nextInt(4))); + boolean success = terraWorld.getConfig().getScriptRegistry().get(args[0]).execute(BukkitAdapter.adapt(sender.getLocation()), chunk, Rotation.fromDegrees(90 * chunk.nextInt(4))); long l = System.nanoTime() - t; sender.sendMessage("Took " + ((double) l) / 1000000 + "ms. Success: " + success); diff --git a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/handles/BukkitWorldHandle.java b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/handles/BukkitWorldHandle.java index f9d6e4c77..6841a4e19 100644 --- a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/handles/BukkitWorldHandle.java +++ b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/handles/BukkitWorldHandle.java @@ -6,9 +6,11 @@ import com.dfsek.terra.api.platform.block.BlockData; import com.dfsek.terra.api.platform.block.MaterialData; import com.dfsek.terra.api.platform.handle.WorldHandle; import com.dfsek.terra.api.platform.world.Tree; +import com.dfsek.terra.api.platform.world.entity.EntityType; import com.dfsek.terra.api.transform.Transformer; import com.dfsek.terra.bukkit.world.block.BukkitMaterialData; import com.dfsek.terra.bukkit.world.block.data.BukkitBlockData; +import com.dfsek.terra.bukkit.world.entity.BukkitEntityType; import org.bukkit.Bukkit; import org.bukkit.Material; @@ -52,4 +54,9 @@ public class BukkitWorldHandle implements WorldHandle { public Tree getTree(String id) { return treeTransformer.translate(id); } + + @Override + public EntityType getEntity(String id) { + return new BukkitEntityType(org.bukkit.entity.EntityType.valueOf(id)); + } } diff --git a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitEnumAdapter.java b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/BukkitAdapter.java similarity index 95% rename from platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitEnumAdapter.java rename to platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/BukkitAdapter.java index c72128775..afb468173 100644 --- a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitEnumAdapter.java +++ b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/BukkitAdapter.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.bukkit.world.block.data; +package com.dfsek.terra.bukkit.world; import com.dfsek.terra.api.platform.block.Axis; @@ -8,12 +8,13 @@ import com.dfsek.terra.api.platform.block.data.Rail; import com.dfsek.terra.api.platform.block.data.RedstoneWire; import com.dfsek.terra.api.platform.block.data.Slab; import com.dfsek.terra.api.platform.block.data.Stairs; +import org.bukkit.Location; import org.bukkit.block.data.type.Wall; /** * Utility class to adapt Bukkit enums to Terra enums. */ -public final class BukkitEnumAdapter { +public final class BukkitAdapter { public static Stairs.Shape adapt(org.bukkit.block.data.type.Stairs.Shape shape) { switch(shape) { case STRAIGHT: @@ -318,4 +319,12 @@ public final class BukkitEnumAdapter { throw new IllegalStateException(); } } + + public static Location adapt(com.dfsek.terra.api.math.vector.Location location) { + return new Location(((BukkitWorld) location.getWorld()).getHandle(), location.getX(), location.getY(), location.getZ()); + } + + public static com.dfsek.terra.api.math.vector.Location adapt(Location location) { + return new com.dfsek.terra.api.math.vector.Location(new BukkitWorld(location.getWorld()), location.getX(), location.getY(), location.getZ()); + } } diff --git a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/BukkitWorld.java b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/BukkitWorld.java index 33f41de53..f2269b22d 100644 --- a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/BukkitWorld.java +++ b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/BukkitWorld.java @@ -6,8 +6,12 @@ import com.dfsek.terra.api.platform.generator.ChunkGenerator; import com.dfsek.terra.api.platform.world.Chunk; import com.dfsek.terra.api.platform.world.Tree; import com.dfsek.terra.api.platform.world.World; +import com.dfsek.terra.api.platform.world.entity.Entity; +import com.dfsek.terra.api.platform.world.entity.EntityType; +import com.dfsek.terra.bukkit.BukkitEntity; import com.dfsek.terra.bukkit.generator.BukkitChunkGenerator; import com.dfsek.terra.bukkit.world.block.BukkitBlock; +import com.dfsek.terra.bukkit.world.entity.BukkitEntityType; import java.io.File; import java.util.UUID; @@ -75,7 +79,8 @@ public class BukkitWorld implements World { } @Override - public void spawn(Location l, Class entity, java.util.function.Consumer consumer) { + public Entity spawnEntity(Location location, EntityType entityType) { + return new BukkitEntity(delegate.spawnEntity(BukkitAdapter.adapt(location), ((BukkitEntityType) entityType).getHandle())); } @Override diff --git a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/BukkitBlock.java b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/BukkitBlock.java index 04f56e999..4acf8697a 100644 --- a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/BukkitBlock.java +++ b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/BukkitBlock.java @@ -6,9 +6,9 @@ import com.dfsek.terra.api.platform.block.BlockData; import com.dfsek.terra.api.platform.block.BlockFace; import com.dfsek.terra.api.platform.block.MaterialData; import com.dfsek.terra.api.platform.block.state.BlockState; +import com.dfsek.terra.bukkit.world.BukkitAdapter; import com.dfsek.terra.bukkit.world.BukkitWorld; import com.dfsek.terra.bukkit.world.block.data.BukkitBlockData; -import com.dfsek.terra.bukkit.world.block.data.BukkitEnumAdapter; import com.dfsek.terra.bukkit.world.block.state.BukkitBlockState; public class BukkitBlock implements Block { @@ -35,12 +35,12 @@ public class BukkitBlock implements Block { @Override public Block getRelative(BlockFace face) { - return new BukkitBlock(delegate.getRelative(BukkitEnumAdapter.adapt(face))); + return new BukkitBlock(delegate.getRelative(BukkitAdapter.adapt(face))); } @Override public Block getRelative(BlockFace face, int len) { - return new BukkitBlock(delegate.getRelative(BukkitEnumAdapter.adapt(face), len)); + return new BukkitBlock(delegate.getRelative(BukkitAdapter.adapt(face), len)); } @Override diff --git a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitDirectional.java b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitDirectional.java index 5ab504f26..13d610774 100644 --- a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitDirectional.java +++ b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitDirectional.java @@ -2,6 +2,7 @@ package com.dfsek.terra.bukkit.world.block.data; import com.dfsek.terra.api.platform.block.BlockFace; import com.dfsek.terra.api.platform.block.data.Directional; +import com.dfsek.terra.bukkit.world.BukkitAdapter; public class BukkitDirectional extends BukkitBlockData implements Directional { public BukkitDirectional(org.bukkit.block.data.Directional delegate) { @@ -10,11 +11,11 @@ public class BukkitDirectional extends BukkitBlockData implements Directional { @Override public BlockFace getFacing() { - return BukkitEnumAdapter.adapt(((org.bukkit.block.data.Directional) getHandle()).getFacing()); + return BukkitAdapter.adapt(((org.bukkit.block.data.Directional) getHandle()).getFacing()); } @Override public void setFacing(BlockFace facing) { - ((org.bukkit.block.data.Directional) getHandle()).setFacing(BukkitEnumAdapter.adapt(facing)); + ((org.bukkit.block.data.Directional) getHandle()).setFacing(BukkitAdapter.adapt(facing)); } } diff --git a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitMultipleFacing.java b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitMultipleFacing.java index 9d31536ef..4e01a62f3 100644 --- a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitMultipleFacing.java +++ b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitMultipleFacing.java @@ -2,6 +2,7 @@ package com.dfsek.terra.bukkit.world.block.data; import com.dfsek.terra.api.platform.block.BlockFace; import com.dfsek.terra.api.platform.block.data.MultipleFacing; +import com.dfsek.terra.bukkit.world.BukkitAdapter; import java.util.Set; import java.util.stream.Collectors; @@ -14,21 +15,21 @@ public class BukkitMultipleFacing extends BukkitBlockData implements MultipleFac @Override public Set getFaces() { - return ((org.bukkit.block.data.MultipleFacing) super.getHandle()).getFaces().stream().map(BukkitEnumAdapter::adapt).collect(Collectors.toSet()); + return ((org.bukkit.block.data.MultipleFacing) super.getHandle()).getFaces().stream().map(BukkitAdapter::adapt).collect(Collectors.toSet()); } @Override public void setFace(BlockFace face, boolean facing) { - ((org.bukkit.block.data.MultipleFacing) super.getHandle()).setFace(BukkitEnumAdapter.adapt(face), facing); + ((org.bukkit.block.data.MultipleFacing) super.getHandle()).setFace(BukkitAdapter.adapt(face), facing); } @Override public Set getAllowedFaces() { - return ((org.bukkit.block.data.MultipleFacing) super.getHandle()).getAllowedFaces().stream().map(BukkitEnumAdapter::adapt).collect(Collectors.toSet()); + return ((org.bukkit.block.data.MultipleFacing) super.getHandle()).getAllowedFaces().stream().map(BukkitAdapter::adapt).collect(Collectors.toSet()); } @Override public boolean hasFace(BlockFace f) { - return ((org.bukkit.block.data.MultipleFacing) super.getHandle()).hasFace(BukkitEnumAdapter.adapt(f)); + return ((org.bukkit.block.data.MultipleFacing) super.getHandle()).hasFace(BukkitAdapter.adapt(f)); } } diff --git a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitOrientable.java b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitOrientable.java index c4e147049..c6cfdca18 100644 --- a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitOrientable.java +++ b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitOrientable.java @@ -2,6 +2,7 @@ package com.dfsek.terra.bukkit.world.block.data; import com.dfsek.terra.api.platform.block.Axis; import com.dfsek.terra.api.platform.block.data.Orientable; +import com.dfsek.terra.bukkit.world.BukkitAdapter; import java.util.Set; import java.util.stream.Collectors; @@ -14,16 +15,16 @@ public class BukkitOrientable extends BukkitBlockData implements Orientable { @Override public Set getAxes() { - return ((org.bukkit.block.data.Orientable) getHandle()).getAxes().stream().map(BukkitEnumAdapter::adapt).collect(Collectors.toSet()); + return ((org.bukkit.block.data.Orientable) getHandle()).getAxes().stream().map(BukkitAdapter::adapt).collect(Collectors.toSet()); } @Override public Axis getAxis() { - return BukkitEnumAdapter.adapt(((org.bukkit.block.data.Orientable) getHandle()).getAxis()); + return BukkitAdapter.adapt(((org.bukkit.block.data.Orientable) getHandle()).getAxis()); } @Override public void setAxis(Axis axis) { - ((org.bukkit.block.data.Orientable) getHandle()).setAxis(BukkitEnumAdapter.adapt(axis)); + ((org.bukkit.block.data.Orientable) getHandle()).setAxis(BukkitAdapter.adapt(axis)); } } diff --git a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitRail.java b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitRail.java index 36ba8b1b2..ae85d2b76 100644 --- a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitRail.java +++ b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitRail.java @@ -1,6 +1,7 @@ package com.dfsek.terra.bukkit.world.block.data; import com.dfsek.terra.api.platform.block.data.Rail; +import com.dfsek.terra.bukkit.world.BukkitAdapter; public class BukkitRail extends BukkitBlockData implements Rail { public BukkitRail(org.bukkit.block.data.Rail delegate) { @@ -9,11 +10,11 @@ public class BukkitRail extends BukkitBlockData implements Rail { @Override public Shape getShape() { - return BukkitEnumAdapter.adapt(((org.bukkit.block.data.Rail) getHandle()).getShape()); + return BukkitAdapter.adapt(((org.bukkit.block.data.Rail) getHandle()).getShape()); } @Override public void setShape(Shape newShape) { - ((org.bukkit.block.data.Rail) getHandle()).setShape(BukkitEnumAdapter.adapt(newShape)); + ((org.bukkit.block.data.Rail) getHandle()).setShape(BukkitAdapter.adapt(newShape)); } } diff --git a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitRedstoneWire.java b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitRedstoneWire.java index 05f28f2cf..708c1316b 100644 --- a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitRedstoneWire.java +++ b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitRedstoneWire.java @@ -2,6 +2,7 @@ package com.dfsek.terra.bukkit.world.block.data; import com.dfsek.terra.api.platform.block.BlockFace; import com.dfsek.terra.api.platform.block.data.RedstoneWire; +import com.dfsek.terra.bukkit.world.BukkitAdapter; import java.util.Set; import java.util.stream.Collectors; @@ -13,16 +14,16 @@ public class BukkitRedstoneWire extends BukkitAnaloguePowerable implements Redst @Override public Set getAllowedFaces() { - return ((org.bukkit.block.data.type.RedstoneWire) getHandle()).getAllowedFaces().stream().map(BukkitEnumAdapter::adapt).collect(Collectors.toSet()); + return ((org.bukkit.block.data.type.RedstoneWire) getHandle()).getAllowedFaces().stream().map(BukkitAdapter::adapt).collect(Collectors.toSet()); } @Override public Connection getFace(BlockFace face) { - return BukkitEnumAdapter.adapt(((org.bukkit.block.data.type.RedstoneWire) getHandle()).getFace(BukkitEnumAdapter.adapt(face))); + return BukkitAdapter.adapt(((org.bukkit.block.data.type.RedstoneWire) getHandle()).getFace(BukkitAdapter.adapt(face))); } @Override public void setFace(BlockFace face, Connection connection) { - ((org.bukkit.block.data.type.RedstoneWire) getHandle()).setFace(BukkitEnumAdapter.adapt(face), BukkitEnumAdapter.adapt(connection)); + ((org.bukkit.block.data.type.RedstoneWire) getHandle()).setFace(BukkitAdapter.adapt(face), BukkitAdapter.adapt(connection)); } } diff --git a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitRotatable.java b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitRotatable.java index 687bd14c5..0da5c04b9 100644 --- a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitRotatable.java +++ b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitRotatable.java @@ -2,6 +2,7 @@ package com.dfsek.terra.bukkit.world.block.data; import com.dfsek.terra.api.platform.block.BlockFace; import com.dfsek.terra.api.platform.block.data.Rotatable; +import com.dfsek.terra.bukkit.world.BukkitAdapter; public class BukkitRotatable extends BukkitBlockData implements Rotatable { public BukkitRotatable(org.bukkit.block.data.Rotatable delegate) { @@ -10,11 +11,11 @@ public class BukkitRotatable extends BukkitBlockData implements Rotatable { @Override public BlockFace getRotation() { - return BukkitEnumAdapter.adapt(((org.bukkit.block.data.Rotatable) getHandle()).getRotation()); + return BukkitAdapter.adapt(((org.bukkit.block.data.Rotatable) getHandle()).getRotation()); } @Override public void setRotation(BlockFace face) { - ((org.bukkit.block.data.Rotatable) getHandle()).setRotation(BukkitEnumAdapter.adapt(face)); + ((org.bukkit.block.data.Rotatable) getHandle()).setRotation(BukkitAdapter.adapt(face)); } } diff --git a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitSlab.java b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitSlab.java index d9c18efa0..6ddf160b3 100644 --- a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitSlab.java +++ b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitSlab.java @@ -1,6 +1,7 @@ package com.dfsek.terra.bukkit.world.block.data; import com.dfsek.terra.api.platform.block.data.Slab; +import com.dfsek.terra.bukkit.world.BukkitAdapter; public class BukkitSlab extends BukkitWaterlogged implements Slab { public BukkitSlab(org.bukkit.block.data.type.Slab delegate) { @@ -9,11 +10,11 @@ public class BukkitSlab extends BukkitWaterlogged implements Slab { @Override public Type getType() { - return BukkitEnumAdapter.adapt(((org.bukkit.block.data.type.Slab) getHandle()).getType()); + return BukkitAdapter.adapt(((org.bukkit.block.data.type.Slab) getHandle()).getType()); } @Override public void setType(Type type) { - ((org.bukkit.block.data.type.Slab) getHandle()).setType(BukkitEnumAdapter.adapt(type)); + ((org.bukkit.block.data.type.Slab) getHandle()).setType(BukkitAdapter.adapt(type)); } } diff --git a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitStairs.java b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitStairs.java index 60de3ac7d..c54d4a993 100644 --- a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitStairs.java +++ b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitStairs.java @@ -2,6 +2,7 @@ package com.dfsek.terra.bukkit.world.block.data; import com.dfsek.terra.api.platform.block.BlockFace; import com.dfsek.terra.api.platform.block.data.Stairs; +import com.dfsek.terra.bukkit.world.BukkitAdapter; public class BukkitStairs extends BukkitBlockData implements Stairs { @@ -11,32 +12,32 @@ public class BukkitStairs extends BukkitBlockData implements Stairs { @Override public Shape getShape() { - return BukkitEnumAdapter.adapt(((org.bukkit.block.data.type.Stairs) super.getHandle()).getShape()); + return BukkitAdapter.adapt(((org.bukkit.block.data.type.Stairs) super.getHandle()).getShape()); } @Override public void setShape(Shape shape) { - ((org.bukkit.block.data.type.Stairs) super.getHandle()).setShape(BukkitEnumAdapter.adapt(shape)); + ((org.bukkit.block.data.type.Stairs) super.getHandle()).setShape(BukkitAdapter.adapt(shape)); } @Override public Half getHalf() { - return BukkitEnumAdapter.adapt(((org.bukkit.block.data.type.Stairs) super.getHandle()).getHalf()); + return BukkitAdapter.adapt(((org.bukkit.block.data.type.Stairs) super.getHandle()).getHalf()); } @Override public void setHalf(Half half) { - ((org.bukkit.block.data.type.Stairs) super.getHandle()).setHalf(BukkitEnumAdapter.adapt(half)); + ((org.bukkit.block.data.type.Stairs) super.getHandle()).setHalf(BukkitAdapter.adapt(half)); } @Override public BlockFace getFacing() { - return BukkitEnumAdapter.adapt(((org.bukkit.block.data.type.Stairs) super.getHandle()).getFacing()); + return BukkitAdapter.adapt(((org.bukkit.block.data.type.Stairs) super.getHandle()).getFacing()); } @Override public void setFacing(BlockFace facing) { - ((org.bukkit.block.data.type.Stairs) super.getHandle()).setFacing(BukkitEnumAdapter.adapt(facing)); + ((org.bukkit.block.data.type.Stairs) super.getHandle()).setFacing(BukkitAdapter.adapt(facing)); } @Override diff --git a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitWall.java b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitWall.java index f30ad5781..5fffd7802 100644 --- a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitWall.java +++ b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitWall.java @@ -2,6 +2,7 @@ package com.dfsek.terra.bukkit.world.block.data; import com.dfsek.terra.api.platform.block.BlockFace; import com.dfsek.terra.api.platform.block.data.Wall; +import com.dfsek.terra.bukkit.world.BukkitAdapter; public class BukkitWall extends BukkitWaterlogged implements Wall { public BukkitWall(org.bukkit.block.data.type.Wall delegate) { @@ -20,11 +21,11 @@ public class BukkitWall extends BukkitWaterlogged implements Wall { @Override public void setHeight(BlockFace face, Height height) { - ((org.bukkit.block.data.type.Wall) getHandle()).setHeight(BukkitEnumAdapter.adapt(face), BukkitEnumAdapter.adapt(height)); + ((org.bukkit.block.data.type.Wall) getHandle()).setHeight(BukkitAdapter.adapt(face), BukkitAdapter.adapt(height)); } @Override public Height getHeight(BlockFace face) { - return BukkitEnumAdapter.adapt(((org.bukkit.block.data.type.Wall) getHandle()).getHeight(BukkitEnumAdapter.adapt(face))); + return BukkitAdapter.adapt(((org.bukkit.block.data.type.Wall) getHandle()).getHeight(BukkitAdapter.adapt(face))); } } diff --git a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/entity/BukkitEntityType.java b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/entity/BukkitEntityType.java new file mode 100644 index 000000000..58732bada --- /dev/null +++ b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/entity/BukkitEntityType.java @@ -0,0 +1,16 @@ +package com.dfsek.terra.bukkit.world.entity; + +import com.dfsek.terra.api.platform.world.entity.EntityType; + +public class BukkitEntityType implements EntityType { + private final org.bukkit.entity.EntityType delegate; + + public BukkitEntityType(org.bukkit.entity.EntityType delegate) { + this.delegate = delegate; + } + + @Override + public org.bukkit.entity.EntityType getHandle() { + return delegate; + } +} diff --git a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/TerraFabricPlugin.java b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/TerraFabricPlugin.java index 7f191059b..310ee1985 100644 --- a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/TerraFabricPlugin.java +++ b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/TerraFabricPlugin.java @@ -7,7 +7,6 @@ import com.dfsek.terra.api.lang.Language; import com.dfsek.terra.api.platform.TerraPlugin; import com.dfsek.terra.api.platform.block.BlockData; import com.dfsek.terra.api.platform.block.MaterialData; -import com.dfsek.terra.api.platform.handle.EntityHandle; import com.dfsek.terra.api.platform.handle.ItemHandle; import com.dfsek.terra.api.platform.handle.WorldHandle; import com.dfsek.terra.api.platform.world.World; @@ -178,11 +177,6 @@ public class TerraFabricPlugin implements TerraPlugin, ModInitializer { } } - @Override - public EntityHandle getEntityHandle() { - return null; - } - Transformer biomeFixer = new Transformer.Builder() .addTransform(id -> BuiltinRegistries.BIOME.get(Identifier.tryParse(id)), new NotNullValidator<>()) .addTransform(id -> BuiltinRegistries.BIOME.get(Identifier.tryParse("minecraft:" + id.toLowerCase())), new NotNullValidator<>()).build(); diff --git a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/world/FabricWorldHandle.java b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/world/FabricWorldHandle.java index 266bab2e3..452a55e8a 100644 --- a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/world/FabricWorldHandle.java +++ b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/world/FabricWorldHandle.java @@ -5,6 +5,7 @@ import com.dfsek.terra.api.platform.block.BlockData; import com.dfsek.terra.api.platform.block.MaterialData; import com.dfsek.terra.api.platform.handle.WorldHandle; import com.dfsek.terra.api.platform.world.Tree; +import com.dfsek.terra.api.platform.world.entity.EntityType; import com.dfsek.terra.api.transform.Transformer; import com.dfsek.terra.fabric.world.block.FabricBlockData; import com.dfsek.terra.fabric.world.block.FabricMaterialData; @@ -75,4 +76,9 @@ public class FabricWorldHandle implements WorldHandle { public Tree getTree(String id) { return new FabricTree(treeTransformer.translate(id)); } + + @Override + public EntityType getEntity(String id) { + return null; + } } diff --git a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/world/handles/FabricWorld.java b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/world/handles/FabricWorld.java index 36e77afeb..5ac4f144c 100644 --- a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/world/handles/FabricWorld.java +++ b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/world/handles/FabricWorld.java @@ -1,12 +1,13 @@ package com.dfsek.terra.fabric.world.handles; import com.dfsek.terra.api.math.vector.Location; -import com.dfsek.terra.api.platform.Entity; import com.dfsek.terra.api.platform.block.Block; import com.dfsek.terra.api.platform.generator.ChunkGenerator; import com.dfsek.terra.api.platform.world.Chunk; import com.dfsek.terra.api.platform.world.Tree; import com.dfsek.terra.api.platform.world.World; +import com.dfsek.terra.api.platform.world.entity.Entity; +import com.dfsek.terra.api.platform.world.entity.EntityType; import com.dfsek.terra.fabric.world.block.FabricBlock; import com.dfsek.terra.fabric.world.handles.chunk.FabricChunk; import net.minecraft.server.world.ServerWorld; @@ -14,7 +15,6 @@ import net.minecraft.util.math.BlockPos; import java.io.File; import java.util.UUID; -import java.util.function.Consumer; public class FabricWorld implements World { @@ -92,8 +92,8 @@ public class FabricWorld implements World { } @Override - public void spawn(Location location, Class entity, Consumer consumer) { - + public Entity spawnEntity(Location location, EntityType entityType) { + return null; } @Override @@ -101,7 +101,7 @@ public class FabricWorld implements World { return null; } - private final class Handle { + private static final class Handle { private final ServerWorld world; private final ChunkGenerator generator; diff --git a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/world/handles/world/FabricSeededWorldAccess.java b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/world/handles/world/FabricSeededWorldAccess.java index 813e6d9a1..c2e2bf946 100644 --- a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/world/handles/world/FabricSeededWorldAccess.java +++ b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/world/handles/world/FabricSeededWorldAccess.java @@ -1,12 +1,13 @@ package com.dfsek.terra.fabric.world.handles.world; import com.dfsek.terra.api.math.vector.Location; -import com.dfsek.terra.api.platform.Entity; import com.dfsek.terra.api.platform.block.Block; import com.dfsek.terra.api.platform.generator.ChunkGenerator; import com.dfsek.terra.api.platform.world.Chunk; import com.dfsek.terra.api.platform.world.Tree; import com.dfsek.terra.api.platform.world.World; +import com.dfsek.terra.api.platform.world.entity.Entity; +import com.dfsek.terra.api.platform.world.entity.EntityType; import com.dfsek.terra.fabric.world.block.FabricBlock; import com.dfsek.terra.fabric.world.generator.FabricChunkGenerator; import net.minecraft.util.math.BlockPos; @@ -14,7 +15,6 @@ import net.minecraft.world.WorldAccess; import java.io.File; import java.util.UUID; -import java.util.function.Consumer; public class FabricSeededWorldAccess implements World { @@ -81,8 +81,8 @@ public class FabricSeededWorldAccess implements World { } @Override - public void spawn(Location location, Class entity, Consumer consumer) { - + public Entity spawnEntity(Location location, EntityType entityType) { + return null; } @Override diff --git a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/world/handles/world/FabricWorldAccess.java b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/world/handles/world/FabricWorldAccess.java index b292a0391..4dbb4adf9 100644 --- a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/world/handles/world/FabricWorldAccess.java +++ b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/world/handles/world/FabricWorldAccess.java @@ -1,12 +1,13 @@ package com.dfsek.terra.fabric.world.handles.world; import com.dfsek.terra.api.math.vector.Location; -import com.dfsek.terra.api.platform.Entity; import com.dfsek.terra.api.platform.block.Block; import com.dfsek.terra.api.platform.generator.ChunkGenerator; import com.dfsek.terra.api.platform.world.Chunk; import com.dfsek.terra.api.platform.world.Tree; import com.dfsek.terra.api.platform.world.World; +import com.dfsek.terra.api.platform.world.entity.Entity; +import com.dfsek.terra.api.platform.world.entity.EntityType; import com.dfsek.terra.fabric.world.block.FabricBlock; import com.dfsek.terra.fabric.world.generator.FabricChunkGenerator; import net.minecraft.util.math.BlockPos; @@ -16,7 +17,6 @@ import net.minecraft.world.WorldAccess; import java.io.File; import java.util.UUID; -import java.util.function.Consumer; public class FabricWorldAccess implements World { private final WorldAccess delegate; @@ -82,8 +82,8 @@ public class FabricWorldAccess implements World { } @Override - public void spawn(Location location, Class entity, Consumer consumer) { - + public Entity spawnEntity(Location location, EntityType entityType) { + return null; } @Override diff --git a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/world/handles/world/FabricWorldChunkRegion.java b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/world/handles/world/FabricWorldChunkRegion.java index e8c31f5b2..e0e2fadb1 100644 --- a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/world/handles/world/FabricWorldChunkRegion.java +++ b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/world/handles/world/FabricWorldChunkRegion.java @@ -1,12 +1,13 @@ package com.dfsek.terra.fabric.world.handles.world; import com.dfsek.terra.api.math.vector.Location; -import com.dfsek.terra.api.platform.Entity; import com.dfsek.terra.api.platform.block.Block; import com.dfsek.terra.api.platform.generator.ChunkGenerator; import com.dfsek.terra.api.platform.world.Chunk; import com.dfsek.terra.api.platform.world.Tree; import com.dfsek.terra.api.platform.world.World; +import com.dfsek.terra.api.platform.world.entity.Entity; +import com.dfsek.terra.api.platform.world.entity.EntityType; import com.dfsek.terra.fabric.world.block.FabricBlock; import com.dfsek.terra.fabric.world.generator.FabricChunkGenerator; import net.minecraft.util.math.BlockPos; @@ -14,7 +15,6 @@ import net.minecraft.world.ChunkRegion; import java.io.File; import java.util.UUID; -import java.util.function.Consumer; public class FabricWorldChunkRegion implements World { private final Handle delegate; @@ -91,8 +91,8 @@ public class FabricWorldChunkRegion implements World { } @Override - public void spawn(Location location, Class entity, Consumer consumer) { - + public Entity spawnEntity(Location location, EntityType entityType) { + return null; } @Override