mirror of
https://github.com/PolyhedralDev/Terra.git
synced 2026-08-30 13:50:46 +00:00
Begin reimplementing agnostic versions of Bukkit classes with delegate implementations
This commit is contained in:
@@ -0,0 +1,21 @@
|
|||||||
|
package com.dfsek.terra.api.bukkit;
|
||||||
|
|
||||||
|
import com.dfsek.terra.api.generic.world.Chunk;
|
||||||
|
|
||||||
|
public class BukkitChunk implements Chunk {
|
||||||
|
private final org.bukkit.Chunk delegate;
|
||||||
|
|
||||||
|
public BukkitChunk(org.bukkit.Chunk delegate) {
|
||||||
|
this.delegate = delegate;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getX() {
|
||||||
|
return delegate.getX();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getZ() {
|
||||||
|
return delegate.getZ();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
package com.dfsek.terra.api.bukkit;
|
||||||
|
|
||||||
|
import com.dfsek.terra.api.generic.world.World;
|
||||||
|
|
||||||
|
public class BukkitWorld implements World {
|
||||||
|
private final org.bukkit.World delegate;
|
||||||
|
|
||||||
|
public BukkitWorld(org.bukkit.World delegate) {
|
||||||
|
this.delegate = delegate;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public long getSeed() {
|
||||||
|
return delegate.getSeed();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
package com.dfsek.terra.api.generic.generator;
|
||||||
|
|
||||||
|
import com.dfsek.terra.api.generic.world.Chunk;
|
||||||
|
import com.dfsek.terra.api.generic.world.World;
|
||||||
|
|
||||||
|
import java.util.Random;
|
||||||
|
|
||||||
|
public abstract class BlockPopulator {
|
||||||
|
public abstract void populate(World world, Random random, Chunk chunk);
|
||||||
|
}
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
package com.dfsek.terra.api.generic.generator;
|
||||||
|
|
||||||
|
public abstract class ChunkGenerator {
|
||||||
|
}
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
package com.dfsek.terra.api.generic.world;
|
||||||
|
|
||||||
|
public interface Block {
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
package com.dfsek.terra.api.generic.world;
|
||||||
|
|
||||||
|
public interface Chunk {
|
||||||
|
int getX();
|
||||||
|
|
||||||
|
int getZ();
|
||||||
|
}
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
package com.dfsek.terra.api.generic.world;
|
||||||
|
|
||||||
|
public interface World {
|
||||||
|
long getSeed();
|
||||||
|
}
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
package com.dfsek.terra.api.generic.world.vector;
|
||||||
|
|
||||||
|
import com.dfsek.terra.api.generic.world.World;
|
||||||
|
|
||||||
|
public class Location implements Cloneable {
|
||||||
|
private final World world;
|
||||||
|
private final Vector3 vector;
|
||||||
|
|
||||||
|
public Location(World w, double x, double y, double z) {
|
||||||
|
this.world = w;
|
||||||
|
this.vector = new Vector3(x, y, z);
|
||||||
|
}
|
||||||
|
|
||||||
|
public Location(World w, Vector3 vector) {
|
||||||
|
this.world = w;
|
||||||
|
this.vector = vector;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Location clone() {
|
||||||
|
try {
|
||||||
|
return (Location) super.clone();
|
||||||
|
} catch(CloneNotSupportedException e) {
|
||||||
|
throw new Error(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
package com.dfsek.terra.procgen.math;
|
package com.dfsek.terra.api.generic.world.vector;
|
||||||
|
|
||||||
import net.jafama.FastMath;
|
import net.jafama.FastMath;
|
||||||
|
|
||||||
@@ -0,0 +1,104 @@
|
|||||||
|
package com.dfsek.terra.api.generic.world.vector;
|
||||||
|
|
||||||
|
import com.dfsek.terra.api.generic.world.World;
|
||||||
|
import net.jafama.FastMath;
|
||||||
|
|
||||||
|
public class Vector3 implements Cloneable {
|
||||||
|
private double x;
|
||||||
|
private double y;
|
||||||
|
private double z;
|
||||||
|
|
||||||
|
public Vector3(double x, double y, double z) {
|
||||||
|
this.x = x;
|
||||||
|
this.y = y;
|
||||||
|
this.z = z;
|
||||||
|
}
|
||||||
|
|
||||||
|
public double getZ() {
|
||||||
|
return z;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Vector3 setZ(double z) {
|
||||||
|
this.z = z;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public double getX() {
|
||||||
|
return x;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Vector3 setX(double x) {
|
||||||
|
this.x = x;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public double getY() {
|
||||||
|
return y;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Vector3 setY(double y) {
|
||||||
|
this.y = y;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getBlockX() {
|
||||||
|
return FastMath.floorToInt(x);
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getBlockY() {
|
||||||
|
return FastMath.floorToInt(y);
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getBlockZ() {
|
||||||
|
return FastMath.floorToInt(z);
|
||||||
|
}
|
||||||
|
|
||||||
|
public Vector3 multiply(int m) {
|
||||||
|
x *= m;
|
||||||
|
y *= m;
|
||||||
|
z *= m;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Vector3 add(double x, double y, double z) {
|
||||||
|
this.x += x;
|
||||||
|
this.y += y;
|
||||||
|
this.z += z;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Vector3 add(Vector3 other) {
|
||||||
|
this.x += other.getX();
|
||||||
|
this.y += other.getY();
|
||||||
|
this.z += other.getZ();
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Vector3 add(Vector2 other) {
|
||||||
|
this.x += other.getX();
|
||||||
|
this.z += other.getZ();
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public double lengthSq() {
|
||||||
|
return x * x + y * y + z * z;
|
||||||
|
}
|
||||||
|
|
||||||
|
public double length() {
|
||||||
|
return FastMath.sqrt(lengthSq());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Vector3 clone() {
|
||||||
|
try {
|
||||||
|
return (Vector3) super.clone();
|
||||||
|
} catch(CloneNotSupportedException e) {
|
||||||
|
throw new Error(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public Location toLocation(World world) {
|
||||||
|
return new Location(world, this.clone());
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -1,5 +1,6 @@
|
|||||||
package com.dfsek.terra.biome.grid.master;
|
package com.dfsek.terra.biome.grid.master;
|
||||||
|
|
||||||
|
import com.dfsek.terra.api.generic.world.vector.Vector2;
|
||||||
import com.dfsek.terra.biome.BiomeZone;
|
import com.dfsek.terra.biome.BiomeZone;
|
||||||
import com.dfsek.terra.biome.UserDefinedBiome;
|
import com.dfsek.terra.biome.UserDefinedBiome;
|
||||||
import com.dfsek.terra.biome.grid.UserDefinedGrid;
|
import com.dfsek.terra.biome.grid.UserDefinedGrid;
|
||||||
@@ -7,7 +8,6 @@ import com.dfsek.terra.biome.postprocessing.CoordinatePerturb;
|
|||||||
import com.dfsek.terra.biome.postprocessing.ErosionNoise;
|
import com.dfsek.terra.biome.postprocessing.ErosionNoise;
|
||||||
import com.dfsek.terra.config.base.ConfigPack;
|
import com.dfsek.terra.config.base.ConfigPack;
|
||||||
import com.dfsek.terra.config.base.ConfigPackTemplate;
|
import com.dfsek.terra.config.base.ConfigPackTemplate;
|
||||||
import com.dfsek.terra.procgen.math.Vector2;
|
|
||||||
import net.jafama.FastMath;
|
import net.jafama.FastMath;
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
import org.bukkit.World;
|
import org.bukkit.World;
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package com.dfsek.terra.biome.grid.master;
|
package com.dfsek.terra.biome.grid.master;
|
||||||
|
|
||||||
|
import com.dfsek.terra.api.generic.world.vector.Vector2;
|
||||||
import com.dfsek.terra.biome.BiomeZone;
|
import com.dfsek.terra.biome.BiomeZone;
|
||||||
import com.dfsek.terra.biome.UserDefinedBiome;
|
import com.dfsek.terra.biome.UserDefinedBiome;
|
||||||
import com.dfsek.terra.biome.grid.UserDefinedGrid;
|
import com.dfsek.terra.biome.grid.UserDefinedGrid;
|
||||||
@@ -7,7 +8,6 @@ import com.dfsek.terra.biome.postprocessing.CoordinatePerturb;
|
|||||||
import com.dfsek.terra.biome.postprocessing.ErosionNoise;
|
import com.dfsek.terra.biome.postprocessing.ErosionNoise;
|
||||||
import com.dfsek.terra.config.base.ConfigPack;
|
import com.dfsek.terra.config.base.ConfigPack;
|
||||||
import com.dfsek.terra.config.base.ConfigPackTemplate;
|
import com.dfsek.terra.config.base.ConfigPackTemplate;
|
||||||
import com.dfsek.terra.procgen.math.Vector2;
|
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
import org.bukkit.World;
|
import org.bukkit.World;
|
||||||
import org.polydev.gaea.biome.Biome;
|
import org.polydev.gaea.biome.Biome;
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
package com.dfsek.terra.biome.postprocessing;
|
package com.dfsek.terra.biome.postprocessing;
|
||||||
|
|
||||||
import com.dfsek.terra.procgen.math.Vector2;
|
import com.dfsek.terra.api.generic.world.vector.Vector2;
|
||||||
import org.polydev.gaea.math.FastNoiseLite;
|
import org.polydev.gaea.math.FastNoiseLite;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
package com.dfsek.terra.generation.items;
|
package com.dfsek.terra.generation.items;
|
||||||
|
|
||||||
import com.dfsek.terra.procgen.math.Vector2;
|
import com.dfsek.terra.api.generic.world.vector.Vector2;
|
||||||
import org.bukkit.Chunk;
|
import org.bukkit.Chunk;
|
||||||
import org.polydev.gaea.math.FastNoiseLite;
|
import org.polydev.gaea.math.FastNoiseLite;
|
||||||
import org.polydev.gaea.math.ProbabilityCollection;
|
import org.polydev.gaea.math.ProbabilityCollection;
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package com.dfsek.terra.generation.items.flora;
|
package com.dfsek.terra.generation.items.flora;
|
||||||
|
|
||||||
|
import com.dfsek.terra.api.generic.world.vector.Vector2;
|
||||||
import com.dfsek.terra.generation.items.PlaceableLayer;
|
import com.dfsek.terra.generation.items.PlaceableLayer;
|
||||||
import com.dfsek.terra.procgen.math.Vector2;
|
|
||||||
import org.bukkit.Chunk;
|
import org.bukkit.Chunk;
|
||||||
import org.polydev.gaea.math.FastNoiseLite;
|
import org.polydev.gaea.math.FastNoiseLite;
|
||||||
import org.polydev.gaea.math.ProbabilityCollection;
|
import org.polydev.gaea.math.ProbabilityCollection;
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package com.dfsek.terra.generation.items.tree;
|
package com.dfsek.terra.generation.items.tree;
|
||||||
|
|
||||||
import com.dfsek.terra.Terra;
|
import com.dfsek.terra.Terra;
|
||||||
import com.dfsek.terra.procgen.math.Vector2;
|
import com.dfsek.terra.api.generic.world.vector.Vector2;
|
||||||
import com.dfsek.terra.structure.Rotation;
|
import com.dfsek.terra.structure.Rotation;
|
||||||
import com.dfsek.terra.structure.Structure;
|
import com.dfsek.terra.structure.Structure;
|
||||||
import com.dfsek.terra.structure.StructureContainedBlock;
|
import com.dfsek.terra.structure.StructureContainedBlock;
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package com.dfsek.terra.generation.items.tree;
|
package com.dfsek.terra.generation.items.tree;
|
||||||
|
|
||||||
|
import com.dfsek.terra.api.generic.world.vector.Vector2;
|
||||||
import com.dfsek.terra.generation.items.PlaceableLayer;
|
import com.dfsek.terra.generation.items.PlaceableLayer;
|
||||||
import com.dfsek.terra.procgen.math.Vector2;
|
|
||||||
import org.bukkit.Chunk;
|
import org.bukkit.Chunk;
|
||||||
import org.bukkit.block.Block;
|
import org.bukkit.block.Block;
|
||||||
import org.bukkit.block.BlockFace;
|
import org.bukkit.block.BlockFace;
|
||||||
|
|||||||
@@ -12,7 +12,6 @@ import org.bukkit.Location;
|
|||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.World;
|
import org.bukkit.World;
|
||||||
import org.bukkit.block.Block;
|
import org.bukkit.block.Block;
|
||||||
import org.bukkit.block.BlockFace;
|
|
||||||
import org.bukkit.block.data.BlockData;
|
import org.bukkit.block.data.BlockData;
|
||||||
import org.bukkit.generator.BlockPopulator;
|
import org.bukkit.generator.BlockPopulator;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
@@ -103,8 +102,4 @@ public class CavePopulator extends BlockPopulator {
|
|||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean borderingOcean(Block b) {
|
|
||||||
return b.getRelative(BlockFace.UP).getType().equals(Material.WATER) || b.getType().equals(Material.LAVA);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,10 +2,10 @@ package com.dfsek.terra.population;
|
|||||||
|
|
||||||
import com.dfsek.terra.Terra;
|
import com.dfsek.terra.Terra;
|
||||||
import com.dfsek.terra.TerraWorld;
|
import com.dfsek.terra.TerraWorld;
|
||||||
|
import com.dfsek.terra.api.generic.world.vector.Vector2;
|
||||||
import com.dfsek.terra.biome.UserDefinedBiome;
|
import com.dfsek.terra.biome.UserDefinedBiome;
|
||||||
import com.dfsek.terra.biome.grid.master.TerraBiomeGrid;
|
import com.dfsek.terra.biome.grid.master.TerraBiomeGrid;
|
||||||
import com.dfsek.terra.generation.items.flora.FloraLayer;
|
import com.dfsek.terra.generation.items.flora.FloraLayer;
|
||||||
import com.dfsek.terra.procgen.math.Vector2;
|
|
||||||
import org.bukkit.Chunk;
|
import org.bukkit.Chunk;
|
||||||
import org.bukkit.World;
|
import org.bukkit.World;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|||||||
@@ -2,12 +2,12 @@ package com.dfsek.terra.population;
|
|||||||
|
|
||||||
import com.dfsek.terra.Terra;
|
import com.dfsek.terra.Terra;
|
||||||
import com.dfsek.terra.TerraWorld;
|
import com.dfsek.terra.TerraWorld;
|
||||||
|
import com.dfsek.terra.api.generic.world.vector.Vector2;
|
||||||
import com.dfsek.terra.biome.UserDefinedBiome;
|
import com.dfsek.terra.biome.UserDefinedBiome;
|
||||||
import com.dfsek.terra.biome.grid.master.TerraBiomeGrid;
|
import com.dfsek.terra.biome.grid.master.TerraBiomeGrid;
|
||||||
import com.dfsek.terra.config.base.ConfigPack;
|
import com.dfsek.terra.config.base.ConfigPack;
|
||||||
import com.dfsek.terra.debug.Debug;
|
import com.dfsek.terra.debug.Debug;
|
||||||
import com.dfsek.terra.generation.items.TerraStructure;
|
import com.dfsek.terra.generation.items.TerraStructure;
|
||||||
import com.dfsek.terra.procgen.math.Vector2;
|
|
||||||
import com.dfsek.terra.structure.Rotation;
|
import com.dfsek.terra.structure.Rotation;
|
||||||
import com.dfsek.terra.structure.Structure;
|
import com.dfsek.terra.structure.Structure;
|
||||||
import com.dfsek.terra.structure.StructureContainedInventory;
|
import com.dfsek.terra.structure.StructureContainedInventory;
|
||||||
|
|||||||
@@ -2,10 +2,10 @@ package com.dfsek.terra.population;
|
|||||||
|
|
||||||
import com.dfsek.terra.Terra;
|
import com.dfsek.terra.Terra;
|
||||||
import com.dfsek.terra.TerraWorld;
|
import com.dfsek.terra.TerraWorld;
|
||||||
|
import com.dfsek.terra.api.generic.world.vector.Vector2;
|
||||||
import com.dfsek.terra.biome.UserDefinedBiome;
|
import com.dfsek.terra.biome.UserDefinedBiome;
|
||||||
import com.dfsek.terra.biome.grid.master.TerraBiomeGrid;
|
import com.dfsek.terra.biome.grid.master.TerraBiomeGrid;
|
||||||
import com.dfsek.terra.generation.items.tree.TreeLayer;
|
import com.dfsek.terra.generation.items.tree.TreeLayer;
|
||||||
import com.dfsek.terra.procgen.math.Vector2;
|
|
||||||
import net.jafama.FastMath;
|
import net.jafama.FastMath;
|
||||||
import org.bukkit.Chunk;
|
import org.bukkit.Chunk;
|
||||||
import org.bukkit.World;
|
import org.bukkit.World;
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
package com.dfsek.terra.procgen.pixel;
|
package com.dfsek.terra.procgen.pixel;
|
||||||
|
|
||||||
import com.dfsek.terra.procgen.math.Vector2;
|
import com.dfsek.terra.api.generic.world.vector.Vector2;
|
||||||
|
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
package com.dfsek.terra.procgen.pixel;
|
package com.dfsek.terra.procgen.pixel;
|
||||||
|
|
||||||
import com.dfsek.terra.procgen.math.Vector2;
|
import com.dfsek.terra.api.generic.world.vector.Vector2;
|
||||||
import net.jafama.FastMath;
|
import net.jafama.FastMath;
|
||||||
|
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
|
|||||||
@@ -2,8 +2,8 @@ package com.dfsek.terra.structure;
|
|||||||
|
|
||||||
import com.dfsek.terra.Terra;
|
import com.dfsek.terra.Terra;
|
||||||
import com.dfsek.terra.api.generic.world.WorldHandle;
|
import com.dfsek.terra.api.generic.world.WorldHandle;
|
||||||
|
import com.dfsek.terra.api.generic.world.vector.Vector2;
|
||||||
import com.dfsek.terra.debug.Debug;
|
import com.dfsek.terra.debug.Debug;
|
||||||
import com.dfsek.terra.procgen.math.Vector2;
|
|
||||||
import com.dfsek.terra.util.structure.RotationUtil;
|
import com.dfsek.terra.util.structure.RotationUtil;
|
||||||
import net.jafama.FastMath;
|
import net.jafama.FastMath;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
package com.dfsek.terra.structure;
|
package com.dfsek.terra.structure;
|
||||||
|
|
||||||
import com.dfsek.terra.procgen.math.Vector2;
|
import com.dfsek.terra.api.generic.world.vector.Vector2;
|
||||||
import net.jafama.FastMath;
|
import net.jafama.FastMath;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
package com.dfsek.terra.util.structure;
|
package com.dfsek.terra.util.structure;
|
||||||
|
|
||||||
import com.dfsek.terra.procgen.math.Vector2;
|
import com.dfsek.terra.api.generic.world.vector.Vector2;
|
||||||
import com.dfsek.terra.structure.Rotation;
|
import com.dfsek.terra.structure.Rotation;
|
||||||
import com.google.common.collect.Sets;
|
import com.google.common.collect.Sets;
|
||||||
import net.jafama.FastMath;
|
import net.jafama.FastMath;
|
||||||
|
|||||||
Reference in New Issue
Block a user