mirror of
https://github.com/PolyhedralDev/Terra.git
synced 2026-06-17 22:31:52 +00:00
cleanup & add entity support
This commit is contained in:
@@ -1,4 +0,0 @@
|
|||||||
package com.dfsek.terra.api.platform;
|
|
||||||
|
|
||||||
public interface Entity extends Handle {
|
|
||||||
}
|
|
||||||
@@ -3,7 +3,6 @@ package com.dfsek.terra.api.platform;
|
|||||||
import com.dfsek.terra.TerraWorld;
|
import com.dfsek.terra.TerraWorld;
|
||||||
import com.dfsek.terra.api.LoaderRegistrar;
|
import com.dfsek.terra.api.LoaderRegistrar;
|
||||||
import com.dfsek.terra.api.lang.Language;
|
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.ItemHandle;
|
||||||
import com.dfsek.terra.api.platform.handle.WorldHandle;
|
import com.dfsek.terra.api.platform.handle.WorldHandle;
|
||||||
import com.dfsek.terra.api.platform.world.World;
|
import com.dfsek.terra.api.platform.world.World;
|
||||||
@@ -37,6 +36,4 @@ public interface TerraPlugin extends LoaderRegistrar {
|
|||||||
ItemHandle getItemHandle();
|
ItemHandle getItemHandle();
|
||||||
|
|
||||||
void saveDefaultConfig();
|
void saveDefaultConfig();
|
||||||
|
|
||||||
EntityHandle getEntityHandle();
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +0,0 @@
|
|||||||
package com.dfsek.terra.api.platform.handle;
|
|
||||||
|
|
||||||
public interface EntityHandle {
|
|
||||||
}
|
|
||||||
@@ -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.BlockData;
|
||||||
import com.dfsek.terra.api.platform.block.MaterialData;
|
import com.dfsek.terra.api.platform.block.MaterialData;
|
||||||
import com.dfsek.terra.api.platform.world.Tree;
|
import com.dfsek.terra.api.platform.world.Tree;
|
||||||
|
import com.dfsek.terra.api.platform.world.entity.EntityType;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Interface to be implemented for world manipulation.
|
* Interface to be implemented for world manipulation.
|
||||||
@@ -20,4 +21,6 @@ public interface WorldHandle {
|
|||||||
MaterialData createMaterialData(String data);
|
MaterialData createMaterialData(String data);
|
||||||
|
|
||||||
Tree getTree(String id);
|
Tree getTree(String id);
|
||||||
|
|
||||||
|
EntityType getEntity(String id);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,14 +1,14 @@
|
|||||||
package com.dfsek.terra.api.platform.world;
|
package com.dfsek.terra.api.platform.world;
|
||||||
|
|
||||||
import com.dfsek.terra.api.math.vector.Location;
|
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.Handle;
|
||||||
import com.dfsek.terra.api.platform.block.Block;
|
import com.dfsek.terra.api.platform.block.Block;
|
||||||
import com.dfsek.terra.api.platform.generator.ChunkGenerator;
|
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.io.File;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
import java.util.function.Consumer;
|
|
||||||
|
|
||||||
public interface World extends Handle {
|
public interface World extends Handle {
|
||||||
long getSeed();
|
long getSeed();
|
||||||
@@ -31,7 +31,7 @@ public interface World extends Handle {
|
|||||||
|
|
||||||
Block getBlockAt(Location l);
|
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> entity, Consumer<Entity> consumer); // TODO: Bukkit Entity is bad
|
Entity spawnEntity(Location location, EntityType entityType);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,6 @@
|
|||||||
|
package com.dfsek.terra.api.platform.world.entity;
|
||||||
|
|
||||||
|
import com.dfsek.terra.api.platform.Handle;
|
||||||
|
|
||||||
|
public interface Entity extends Handle {
|
||||||
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
package com.dfsek.terra.api.platform.world.entity;
|
||||||
|
|
||||||
|
import com.dfsek.terra.api.platform.Handle;
|
||||||
|
|
||||||
|
public interface EntityType extends Handle {
|
||||||
|
}
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
package com.dfsek.terra.api.world.tree.fractal;
|
package com.dfsek.terra.api.world.tree.fractal;
|
||||||
|
|
||||||
import com.dfsek.terra.api.math.vector.Location;
|
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;
|
import java.util.function.Consumer;
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,10 @@
|
|||||||
package com.dfsek.terra.api.world.tree.fractal;
|
package com.dfsek.terra.api.world.tree.fractal;
|
||||||
|
|
||||||
import com.dfsek.terra.api.math.vector.Location;
|
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.TerraPlugin;
|
||||||
import com.dfsek.terra.api.platform.block.BlockData;
|
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 com.dfsek.terra.util.MaterialSet;
|
||||||
|
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
@@ -41,7 +42,7 @@ public abstract class FractalTree {
|
|||||||
*/
|
*/
|
||||||
public abstract void grow(Location origin, Random random);
|
public abstract void grow(Location origin, Random random);
|
||||||
|
|
||||||
public void spawnEntity(Location spawn, Class<Entity> clazz, Consumer<Entity> consumer) {
|
public void spawnEntity(Location spawn, EntityType type, Consumer<Entity> consumer) {
|
||||||
spawn.getWorld().spawn(spawn, clazz, consumer);
|
consumer.accept(spawn.getWorld().spawnEntity(spawn, type));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
package com.dfsek.terra.bukkit;
|
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 {
|
public class BukkitEntity implements Entity {
|
||||||
private final org.bukkit.entity.Entity entity;
|
private final org.bukkit.entity.Entity entity;
|
||||||
|
|||||||
@@ -7,7 +7,6 @@ import com.dfsek.terra.api.lang.Language;
|
|||||||
import com.dfsek.terra.api.platform.TerraPlugin;
|
import com.dfsek.terra.api.platform.TerraPlugin;
|
||||||
import com.dfsek.terra.api.platform.block.BlockData;
|
import com.dfsek.terra.api.platform.block.BlockData;
|
||||||
import com.dfsek.terra.api.platform.block.MaterialData;
|
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.ItemHandle;
|
||||||
import com.dfsek.terra.api.platform.handle.WorldHandle;
|
import com.dfsek.terra.api.platform.handle.WorldHandle;
|
||||||
import com.dfsek.terra.api.platform.world.Biome;
|
import com.dfsek.terra.api.platform.world.Biome;
|
||||||
@@ -74,11 +73,6 @@ public class TerraBukkitPlugin extends JavaPlugin implements TerraPlugin {
|
|||||||
return itemHandle;
|
return itemHandle;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public EntityHandle getEntityHandle() {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setHandle(WorldHandle handle) {
|
public void setHandle(WorldHandle handle) {
|
||||||
getLogger().warning("|-------------------------------------------------------|");
|
getLogger().warning("|-------------------------------------------------------|");
|
||||||
getLogger().warning("A third-party addon has injected a custom WorldHandle!");
|
getLogger().warning("A third-party addon has injected a custom WorldHandle!");
|
||||||
|
|||||||
+1
-1
@@ -17,7 +17,7 @@ public class FixChunkCommand extends WorldCommand {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean execute(@NotNull Player player, @NotNull Command command, @NotNull String s, @NotNull String[] strings, World world) {
|
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;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -1,11 +1,11 @@
|
|||||||
package com.dfsek.terra.bukkit.command.command.structure;
|
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.api.math.vector.Vector3;
|
||||||
import com.dfsek.terra.async.AsyncStructureFinder;
|
import com.dfsek.terra.async.AsyncStructureFinder;
|
||||||
import com.dfsek.terra.bukkit.BukkitCommandSender;
|
import com.dfsek.terra.bukkit.BukkitCommandSender;
|
||||||
import com.dfsek.terra.bukkit.TerraBukkitPlugin;
|
import com.dfsek.terra.bukkit.TerraBukkitPlugin;
|
||||||
import com.dfsek.terra.bukkit.command.WorldCommand;
|
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.bukkit.world.BukkitWorld;
|
||||||
import com.dfsek.terra.config.lang.LangUtil;
|
import com.dfsek.terra.config.lang.LangUtil;
|
||||||
import com.dfsek.terra.generation.items.TerraStructure;
|
import com.dfsek.terra.generation.items.TerraStructure;
|
||||||
@@ -53,7 +53,7 @@ public class LocateCommand extends WorldCommand {
|
|||||||
//LangUtil.send("command.structure.invalid", sender, id);
|
//LangUtil.send("command.structure.invalid", sender, id);
|
||||||
return true;
|
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(sender.isOnline()) {
|
||||||
if(location != null) {
|
if(location != null) {
|
||||||
ComponentBuilder cm = new ComponentBuilder(String.format("The nearest %s is at ", id.toLowerCase()))
|
ComponentBuilder cm = new ComponentBuilder(String.format("The nearest %s is at ", id.toLowerCase()))
|
||||||
|
|||||||
+1
-3
@@ -23,9 +23,7 @@ public class LoadCommand extends PlayerCommand implements DebugCommand {
|
|||||||
List<String> names = new ArrayList<>();
|
List<String> names = new ArrayList<>();
|
||||||
TerraWorld terraWorld = getMain().getWorld(world);
|
TerraWorld terraWorld = getMain().getWorld(world);
|
||||||
|
|
||||||
terraWorld.getConfig().getScriptRegistry().forEach(script -> {
|
terraWorld.getConfig().getScriptRegistry().forEach(script -> names.add(script.getId()));
|
||||||
names.add(script.getId());
|
|
||||||
});
|
|
||||||
|
|
||||||
return names;
|
return names;
|
||||||
}
|
}
|
||||||
|
|||||||
+3
-3
@@ -1,10 +1,10 @@
|
|||||||
package com.dfsek.terra.bukkit.command.command.structure.load;
|
package com.dfsek.terra.bukkit.command.command.structure.load;
|
||||||
|
|
||||||
import com.dfsek.terra.TerraWorld;
|
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.structures.structure.Rotation;
|
||||||
import com.dfsek.terra.api.util.FastRandom;
|
import com.dfsek.terra.api.util.FastRandom;
|
||||||
import com.dfsek.terra.bukkit.command.DebugCommand;
|
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.BukkitChunk;
|
||||||
import com.dfsek.terra.bukkit.world.BukkitWorld;
|
import com.dfsek.terra.bukkit.world.BukkitWorld;
|
||||||
import com.dfsek.terra.util.PopulationUtil;
|
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()));
|
FastRandom chunk = PopulationUtil.getRandom(new BukkitChunk(sender.getLocation().getChunk()));
|
||||||
|
|
||||||
if(this.chunk) {
|
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 {
|
} 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;
|
long l = System.nanoTime() - t;
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -1,10 +1,10 @@
|
|||||||
package com.dfsek.terra.bukkit.command.command.structure.load;
|
package com.dfsek.terra.bukkit.command.command.structure.load;
|
||||||
|
|
||||||
import com.dfsek.terra.TerraWorld;
|
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.structures.structure.Rotation;
|
||||||
import com.dfsek.terra.api.util.FastRandom;
|
import com.dfsek.terra.api.util.FastRandom;
|
||||||
import com.dfsek.terra.bukkit.command.DebugCommand;
|
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.BukkitChunk;
|
||||||
import com.dfsek.terra.bukkit.world.BukkitWorld;
|
import com.dfsek.terra.bukkit.world.BukkitWorld;
|
||||||
import com.dfsek.terra.util.PopulationUtil;
|
import com.dfsek.terra.util.PopulationUtil;
|
||||||
@@ -40,7 +40,7 @@ public class LoadRawCommand extends LoadCommand implements DebugCommand {
|
|||||||
long t = System.nanoTime();
|
long t = System.nanoTime();
|
||||||
FastRandom chunk = PopulationUtil.getRandom(new BukkitChunk(sender.getLocation().getChunk()));
|
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;
|
long l = System.nanoTime() - t;
|
||||||
|
|
||||||
sender.sendMessage("Took " + ((double) l) / 1000000 + "ms. Success: " + success);
|
sender.sendMessage("Took " + ((double) l) / 1000000 + "ms. Success: " + success);
|
||||||
|
|||||||
@@ -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.block.MaterialData;
|
||||||
import com.dfsek.terra.api.platform.handle.WorldHandle;
|
import com.dfsek.terra.api.platform.handle.WorldHandle;
|
||||||
import com.dfsek.terra.api.platform.world.Tree;
|
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.api.transform.Transformer;
|
||||||
import com.dfsek.terra.bukkit.world.block.BukkitMaterialData;
|
import com.dfsek.terra.bukkit.world.block.BukkitMaterialData;
|
||||||
import com.dfsek.terra.bukkit.world.block.data.BukkitBlockData;
|
import com.dfsek.terra.bukkit.world.block.data.BukkitBlockData;
|
||||||
|
import com.dfsek.terra.bukkit.world.entity.BukkitEntityType;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
|
|
||||||
@@ -52,4 +54,9 @@ public class BukkitWorldHandle implements WorldHandle {
|
|||||||
public Tree getTree(String id) {
|
public Tree getTree(String id) {
|
||||||
return treeTransformer.translate(id);
|
return treeTransformer.translate(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public EntityType getEntity(String id) {
|
||||||
|
return new BukkitEntityType(org.bukkit.entity.EntityType.valueOf(id));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+11
-2
@@ -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;
|
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.RedstoneWire;
|
||||||
import com.dfsek.terra.api.platform.block.data.Slab;
|
import com.dfsek.terra.api.platform.block.data.Slab;
|
||||||
import com.dfsek.terra.api.platform.block.data.Stairs;
|
import com.dfsek.terra.api.platform.block.data.Stairs;
|
||||||
|
import org.bukkit.Location;
|
||||||
import org.bukkit.block.data.type.Wall;
|
import org.bukkit.block.data.type.Wall;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Utility class to adapt Bukkit enums to Terra enums.
|
* 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) {
|
public static Stairs.Shape adapt(org.bukkit.block.data.type.Stairs.Shape shape) {
|
||||||
switch(shape) {
|
switch(shape) {
|
||||||
case STRAIGHT:
|
case STRAIGHT:
|
||||||
@@ -318,4 +319,12 @@ public final class BukkitEnumAdapter {
|
|||||||
throw new IllegalStateException();
|
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());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -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.Chunk;
|
||||||
import com.dfsek.terra.api.platform.world.Tree;
|
import com.dfsek.terra.api.platform.world.Tree;
|
||||||
import com.dfsek.terra.api.platform.world.World;
|
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.generator.BukkitChunkGenerator;
|
||||||
import com.dfsek.terra.bukkit.world.block.BukkitBlock;
|
import com.dfsek.terra.bukkit.world.block.BukkitBlock;
|
||||||
|
import com.dfsek.terra.bukkit.world.entity.BukkitEntityType;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
@@ -75,7 +79,8 @@ public class BukkitWorld implements World {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void spawn(Location l, Class<com.dfsek.terra.api.platform.Entity> entity, java.util.function.Consumer<com.dfsek.terra.api.platform.Entity> consumer) {
|
public Entity spawnEntity(Location location, EntityType entityType) {
|
||||||
|
return new BukkitEntity(delegate.spawnEntity(BukkitAdapter.adapt(location), ((BukkitEntityType) entityType).getHandle()));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -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.BlockFace;
|
||||||
import com.dfsek.terra.api.platform.block.MaterialData;
|
import com.dfsek.terra.api.platform.block.MaterialData;
|
||||||
import com.dfsek.terra.api.platform.block.state.BlockState;
|
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.BukkitWorld;
|
||||||
import com.dfsek.terra.bukkit.world.block.data.BukkitBlockData;
|
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;
|
import com.dfsek.terra.bukkit.world.block.state.BukkitBlockState;
|
||||||
|
|
||||||
public class BukkitBlock implements Block {
|
public class BukkitBlock implements Block {
|
||||||
@@ -35,12 +35,12 @@ public class BukkitBlock implements Block {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Block getRelative(BlockFace face) {
|
public Block getRelative(BlockFace face) {
|
||||||
return new BukkitBlock(delegate.getRelative(BukkitEnumAdapter.adapt(face)));
|
return new BukkitBlock(delegate.getRelative(BukkitAdapter.adapt(face)));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Block getRelative(BlockFace face, int len) {
|
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
|
@Override
|
||||||
|
|||||||
+3
-2
@@ -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.BlockFace;
|
||||||
import com.dfsek.terra.api.platform.block.data.Directional;
|
import com.dfsek.terra.api.platform.block.data.Directional;
|
||||||
|
import com.dfsek.terra.bukkit.world.BukkitAdapter;
|
||||||
|
|
||||||
public class BukkitDirectional extends BukkitBlockData implements Directional {
|
public class BukkitDirectional extends BukkitBlockData implements Directional {
|
||||||
public BukkitDirectional(org.bukkit.block.data.Directional delegate) {
|
public BukkitDirectional(org.bukkit.block.data.Directional delegate) {
|
||||||
@@ -10,11 +11,11 @@ public class BukkitDirectional extends BukkitBlockData implements Directional {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public BlockFace getFacing() {
|
public BlockFace getFacing() {
|
||||||
return BukkitEnumAdapter.adapt(((org.bukkit.block.data.Directional) getHandle()).getFacing());
|
return BukkitAdapter.adapt(((org.bukkit.block.data.Directional) getHandle()).getFacing());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setFacing(BlockFace facing) {
|
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));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+5
-4
@@ -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.BlockFace;
|
||||||
import com.dfsek.terra.api.platform.block.data.MultipleFacing;
|
import com.dfsek.terra.api.platform.block.data.MultipleFacing;
|
||||||
|
import com.dfsek.terra.bukkit.world.BukkitAdapter;
|
||||||
|
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
@@ -14,21 +15,21 @@ public class BukkitMultipleFacing extends BukkitBlockData implements MultipleFac
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Set<BlockFace> getFaces() {
|
public Set<BlockFace> 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
|
@Override
|
||||||
public void setFace(BlockFace face, boolean facing) {
|
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
|
@Override
|
||||||
public Set<BlockFace> getAllowedFaces() {
|
public Set<BlockFace> 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
|
@Override
|
||||||
public boolean hasFace(BlockFace f) {
|
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));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+4
-3
@@ -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.Axis;
|
||||||
import com.dfsek.terra.api.platform.block.data.Orientable;
|
import com.dfsek.terra.api.platform.block.data.Orientable;
|
||||||
|
import com.dfsek.terra.bukkit.world.BukkitAdapter;
|
||||||
|
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
@@ -14,16 +15,16 @@ public class BukkitOrientable extends BukkitBlockData implements Orientable {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Set<Axis> getAxes() {
|
public Set<Axis> 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
|
@Override
|
||||||
public Axis getAxis() {
|
public Axis getAxis() {
|
||||||
return BukkitEnumAdapter.adapt(((org.bukkit.block.data.Orientable) getHandle()).getAxis());
|
return BukkitAdapter.adapt(((org.bukkit.block.data.Orientable) getHandle()).getAxis());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setAxis(Axis axis) {
|
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));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+3
-2
@@ -1,6 +1,7 @@
|
|||||||
package com.dfsek.terra.bukkit.world.block.data;
|
package com.dfsek.terra.bukkit.world.block.data;
|
||||||
|
|
||||||
import com.dfsek.terra.api.platform.block.data.Rail;
|
import com.dfsek.terra.api.platform.block.data.Rail;
|
||||||
|
import com.dfsek.terra.bukkit.world.BukkitAdapter;
|
||||||
|
|
||||||
public class BukkitRail extends BukkitBlockData implements Rail {
|
public class BukkitRail extends BukkitBlockData implements Rail {
|
||||||
public BukkitRail(org.bukkit.block.data.Rail delegate) {
|
public BukkitRail(org.bukkit.block.data.Rail delegate) {
|
||||||
@@ -9,11 +10,11 @@ public class BukkitRail extends BukkitBlockData implements Rail {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Shape getShape() {
|
public Shape getShape() {
|
||||||
return BukkitEnumAdapter.adapt(((org.bukkit.block.data.Rail) getHandle()).getShape());
|
return BukkitAdapter.adapt(((org.bukkit.block.data.Rail) getHandle()).getShape());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setShape(Shape newShape) {
|
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));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+4
-3
@@ -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.BlockFace;
|
||||||
import com.dfsek.terra.api.platform.block.data.RedstoneWire;
|
import com.dfsek.terra.api.platform.block.data.RedstoneWire;
|
||||||
|
import com.dfsek.terra.bukkit.world.BukkitAdapter;
|
||||||
|
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
@@ -13,16 +14,16 @@ public class BukkitRedstoneWire extends BukkitAnaloguePowerable implements Redst
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Set<BlockFace> getAllowedFaces() {
|
public Set<BlockFace> 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
|
@Override
|
||||||
public Connection getFace(BlockFace face) {
|
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
|
@Override
|
||||||
public void setFace(BlockFace face, Connection connection) {
|
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));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+3
-2
@@ -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.BlockFace;
|
||||||
import com.dfsek.terra.api.platform.block.data.Rotatable;
|
import com.dfsek.terra.api.platform.block.data.Rotatable;
|
||||||
|
import com.dfsek.terra.bukkit.world.BukkitAdapter;
|
||||||
|
|
||||||
public class BukkitRotatable extends BukkitBlockData implements Rotatable {
|
public class BukkitRotatable extends BukkitBlockData implements Rotatable {
|
||||||
public BukkitRotatable(org.bukkit.block.data.Rotatable delegate) {
|
public BukkitRotatable(org.bukkit.block.data.Rotatable delegate) {
|
||||||
@@ -10,11 +11,11 @@ public class BukkitRotatable extends BukkitBlockData implements Rotatable {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public BlockFace getRotation() {
|
public BlockFace getRotation() {
|
||||||
return BukkitEnumAdapter.adapt(((org.bukkit.block.data.Rotatable) getHandle()).getRotation());
|
return BukkitAdapter.adapt(((org.bukkit.block.data.Rotatable) getHandle()).getRotation());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setRotation(BlockFace face) {
|
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));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+3
-2
@@ -1,6 +1,7 @@
|
|||||||
package com.dfsek.terra.bukkit.world.block.data;
|
package com.dfsek.terra.bukkit.world.block.data;
|
||||||
|
|
||||||
import com.dfsek.terra.api.platform.block.data.Slab;
|
import com.dfsek.terra.api.platform.block.data.Slab;
|
||||||
|
import com.dfsek.terra.bukkit.world.BukkitAdapter;
|
||||||
|
|
||||||
public class BukkitSlab extends BukkitWaterlogged implements Slab {
|
public class BukkitSlab extends BukkitWaterlogged implements Slab {
|
||||||
public BukkitSlab(org.bukkit.block.data.type.Slab delegate) {
|
public BukkitSlab(org.bukkit.block.data.type.Slab delegate) {
|
||||||
@@ -9,11 +10,11 @@ public class BukkitSlab extends BukkitWaterlogged implements Slab {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Type getType() {
|
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
|
@Override
|
||||||
public void setType(Type type) {
|
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));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+7
-6
@@ -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.BlockFace;
|
||||||
import com.dfsek.terra.api.platform.block.data.Stairs;
|
import com.dfsek.terra.api.platform.block.data.Stairs;
|
||||||
|
import com.dfsek.terra.bukkit.world.BukkitAdapter;
|
||||||
|
|
||||||
public class BukkitStairs extends BukkitBlockData implements Stairs {
|
public class BukkitStairs extends BukkitBlockData implements Stairs {
|
||||||
|
|
||||||
@@ -11,32 +12,32 @@ public class BukkitStairs extends BukkitBlockData implements Stairs {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Shape getShape() {
|
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
|
@Override
|
||||||
public void setShape(Shape shape) {
|
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
|
@Override
|
||||||
public Half getHalf() {
|
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
|
@Override
|
||||||
public void setHalf(Half half) {
|
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
|
@Override
|
||||||
public BlockFace getFacing() {
|
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
|
@Override
|
||||||
public void setFacing(BlockFace facing) {
|
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
|
@Override
|
||||||
|
|||||||
+3
-2
@@ -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.BlockFace;
|
||||||
import com.dfsek.terra.api.platform.block.data.Wall;
|
import com.dfsek.terra.api.platform.block.data.Wall;
|
||||||
|
import com.dfsek.terra.bukkit.world.BukkitAdapter;
|
||||||
|
|
||||||
public class BukkitWall extends BukkitWaterlogged implements Wall {
|
public class BukkitWall extends BukkitWaterlogged implements Wall {
|
||||||
public BukkitWall(org.bukkit.block.data.type.Wall delegate) {
|
public BukkitWall(org.bukkit.block.data.type.Wall delegate) {
|
||||||
@@ -20,11 +21,11 @@ public class BukkitWall extends BukkitWaterlogged implements Wall {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setHeight(BlockFace face, Height height) {
|
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
|
@Override
|
||||||
public Height getHeight(BlockFace face) {
|
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)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+16
@@ -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;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -7,7 +7,6 @@ import com.dfsek.terra.api.lang.Language;
|
|||||||
import com.dfsek.terra.api.platform.TerraPlugin;
|
import com.dfsek.terra.api.platform.TerraPlugin;
|
||||||
import com.dfsek.terra.api.platform.block.BlockData;
|
import com.dfsek.terra.api.platform.block.BlockData;
|
||||||
import com.dfsek.terra.api.platform.block.MaterialData;
|
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.ItemHandle;
|
||||||
import com.dfsek.terra.api.platform.handle.WorldHandle;
|
import com.dfsek.terra.api.platform.handle.WorldHandle;
|
||||||
import com.dfsek.terra.api.platform.world.World;
|
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<String, Biome> biomeFixer = new Transformer.Builder<String, Biome>()
|
Transformer<String, Biome> biomeFixer = new Transformer.Builder<String, Biome>()
|
||||||
.addTransform(id -> BuiltinRegistries.BIOME.get(Identifier.tryParse(id)), new NotNullValidator<>())
|
.addTransform(id -> BuiltinRegistries.BIOME.get(Identifier.tryParse(id)), new NotNullValidator<>())
|
||||||
.addTransform(id -> BuiltinRegistries.BIOME.get(Identifier.tryParse("minecraft:" + id.toLowerCase())), new NotNullValidator<>()).build();
|
.addTransform(id -> BuiltinRegistries.BIOME.get(Identifier.tryParse("minecraft:" + id.toLowerCase())), new NotNullValidator<>()).build();
|
||||||
|
|||||||
@@ -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.block.MaterialData;
|
||||||
import com.dfsek.terra.api.platform.handle.WorldHandle;
|
import com.dfsek.terra.api.platform.handle.WorldHandle;
|
||||||
import com.dfsek.terra.api.platform.world.Tree;
|
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.api.transform.Transformer;
|
||||||
import com.dfsek.terra.fabric.world.block.FabricBlockData;
|
import com.dfsek.terra.fabric.world.block.FabricBlockData;
|
||||||
import com.dfsek.terra.fabric.world.block.FabricMaterialData;
|
import com.dfsek.terra.fabric.world.block.FabricMaterialData;
|
||||||
@@ -75,4 +76,9 @@ public class FabricWorldHandle implements WorldHandle {
|
|||||||
public Tree getTree(String id) {
|
public Tree getTree(String id) {
|
||||||
return new FabricTree(treeTransformer.translate(id));
|
return new FabricTree(treeTransformer.translate(id));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public EntityType getEntity(String id) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+5
-5
@@ -1,12 +1,13 @@
|
|||||||
package com.dfsek.terra.fabric.world.handles;
|
package com.dfsek.terra.fabric.world.handles;
|
||||||
|
|
||||||
import com.dfsek.terra.api.math.vector.Location;
|
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.block.Block;
|
||||||
import com.dfsek.terra.api.platform.generator.ChunkGenerator;
|
import com.dfsek.terra.api.platform.generator.ChunkGenerator;
|
||||||
import com.dfsek.terra.api.platform.world.Chunk;
|
import com.dfsek.terra.api.platform.world.Chunk;
|
||||||
import com.dfsek.terra.api.platform.world.Tree;
|
import com.dfsek.terra.api.platform.world.Tree;
|
||||||
import com.dfsek.terra.api.platform.world.World;
|
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.block.FabricBlock;
|
||||||
import com.dfsek.terra.fabric.world.handles.chunk.FabricChunk;
|
import com.dfsek.terra.fabric.world.handles.chunk.FabricChunk;
|
||||||
import net.minecraft.server.world.ServerWorld;
|
import net.minecraft.server.world.ServerWorld;
|
||||||
@@ -14,7 +15,6 @@ import net.minecraft.util.math.BlockPos;
|
|||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
import java.util.function.Consumer;
|
|
||||||
|
|
||||||
public class FabricWorld implements World {
|
public class FabricWorld implements World {
|
||||||
|
|
||||||
@@ -92,8 +92,8 @@ public class FabricWorld implements World {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void spawn(Location location, Class<Entity> entity, Consumer<Entity> consumer) {
|
public Entity spawnEntity(Location location, EntityType entityType) {
|
||||||
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -101,7 +101,7 @@ public class FabricWorld implements World {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
private final class Handle {
|
private static final class Handle {
|
||||||
private final ServerWorld world;
|
private final ServerWorld world;
|
||||||
private final ChunkGenerator generator;
|
private final ChunkGenerator generator;
|
||||||
|
|
||||||
|
|||||||
+4
-4
@@ -1,12 +1,13 @@
|
|||||||
package com.dfsek.terra.fabric.world.handles.world;
|
package com.dfsek.terra.fabric.world.handles.world;
|
||||||
|
|
||||||
import com.dfsek.terra.api.math.vector.Location;
|
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.block.Block;
|
||||||
import com.dfsek.terra.api.platform.generator.ChunkGenerator;
|
import com.dfsek.terra.api.platform.generator.ChunkGenerator;
|
||||||
import com.dfsek.terra.api.platform.world.Chunk;
|
import com.dfsek.terra.api.platform.world.Chunk;
|
||||||
import com.dfsek.terra.api.platform.world.Tree;
|
import com.dfsek.terra.api.platform.world.Tree;
|
||||||
import com.dfsek.terra.api.platform.world.World;
|
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.block.FabricBlock;
|
||||||
import com.dfsek.terra.fabric.world.generator.FabricChunkGenerator;
|
import com.dfsek.terra.fabric.world.generator.FabricChunkGenerator;
|
||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
@@ -14,7 +15,6 @@ import net.minecraft.world.WorldAccess;
|
|||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
import java.util.function.Consumer;
|
|
||||||
|
|
||||||
public class FabricSeededWorldAccess implements World {
|
public class FabricSeededWorldAccess implements World {
|
||||||
|
|
||||||
@@ -81,8 +81,8 @@ public class FabricSeededWorldAccess implements World {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void spawn(Location location, Class<Entity> entity, Consumer<Entity> consumer) {
|
public Entity spawnEntity(Location location, EntityType entityType) {
|
||||||
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
+4
-4
@@ -1,12 +1,13 @@
|
|||||||
package com.dfsek.terra.fabric.world.handles.world;
|
package com.dfsek.terra.fabric.world.handles.world;
|
||||||
|
|
||||||
import com.dfsek.terra.api.math.vector.Location;
|
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.block.Block;
|
||||||
import com.dfsek.terra.api.platform.generator.ChunkGenerator;
|
import com.dfsek.terra.api.platform.generator.ChunkGenerator;
|
||||||
import com.dfsek.terra.api.platform.world.Chunk;
|
import com.dfsek.terra.api.platform.world.Chunk;
|
||||||
import com.dfsek.terra.api.platform.world.Tree;
|
import com.dfsek.terra.api.platform.world.Tree;
|
||||||
import com.dfsek.terra.api.platform.world.World;
|
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.block.FabricBlock;
|
||||||
import com.dfsek.terra.fabric.world.generator.FabricChunkGenerator;
|
import com.dfsek.terra.fabric.world.generator.FabricChunkGenerator;
|
||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
@@ -16,7 +17,6 @@ import net.minecraft.world.WorldAccess;
|
|||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
import java.util.function.Consumer;
|
|
||||||
|
|
||||||
public class FabricWorldAccess implements World {
|
public class FabricWorldAccess implements World {
|
||||||
private final WorldAccess delegate;
|
private final WorldAccess delegate;
|
||||||
@@ -82,8 +82,8 @@ public class FabricWorldAccess implements World {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void spawn(Location location, Class<Entity> entity, Consumer<Entity> consumer) {
|
public Entity spawnEntity(Location location, EntityType entityType) {
|
||||||
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
+4
-4
@@ -1,12 +1,13 @@
|
|||||||
package com.dfsek.terra.fabric.world.handles.world;
|
package com.dfsek.terra.fabric.world.handles.world;
|
||||||
|
|
||||||
import com.dfsek.terra.api.math.vector.Location;
|
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.block.Block;
|
||||||
import com.dfsek.terra.api.platform.generator.ChunkGenerator;
|
import com.dfsek.terra.api.platform.generator.ChunkGenerator;
|
||||||
import com.dfsek.terra.api.platform.world.Chunk;
|
import com.dfsek.terra.api.platform.world.Chunk;
|
||||||
import com.dfsek.terra.api.platform.world.Tree;
|
import com.dfsek.terra.api.platform.world.Tree;
|
||||||
import com.dfsek.terra.api.platform.world.World;
|
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.block.FabricBlock;
|
||||||
import com.dfsek.terra.fabric.world.generator.FabricChunkGenerator;
|
import com.dfsek.terra.fabric.world.generator.FabricChunkGenerator;
|
||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
@@ -14,7 +15,6 @@ import net.minecraft.world.ChunkRegion;
|
|||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
import java.util.function.Consumer;
|
|
||||||
|
|
||||||
public class FabricWorldChunkRegion implements World {
|
public class FabricWorldChunkRegion implements World {
|
||||||
private final Handle delegate;
|
private final Handle delegate;
|
||||||
@@ -91,8 +91,8 @@ public class FabricWorldChunkRegion implements World {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void spawn(Location location, Class<Entity> entity, Consumer<Entity> consumer) {
|
public Entity spawnEntity(Location location, EntityType entityType) {
|
||||||
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
Reference in New Issue
Block a user