mirror of
https://github.com/PolyhedralDev/Terra.git
synced 2026-04-09 01:06:21 +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.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();
|
||||
}
|
||||
|
||||
@@ -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.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);
|
||||
}
|
||||
|
||||
@@ -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> 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;
|
||||
|
||||
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;
|
||||
|
||||
|
||||
@@ -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<Entity> clazz, Consumer<Entity> consumer) {
|
||||
spawn.getWorld().spawn(spawn, clazz, consumer);
|
||||
public void spawnEntity(Location spawn, EntityType type, Consumer<Entity> consumer) {
|
||||
consumer.accept(spawn.getWorld().spawnEntity(spawn, type));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user