Gaea is gone

This commit is contained in:
dfsek
2020-12-18 19:46:19 -07:00
parent d1af8c1224
commit 53c554f25c
114 changed files with 324 additions and 356 deletions
@@ -1,9 +1,9 @@
package com.dfsek.terra; package com.dfsek.terra;
import com.dfsek.terra.api.gaea.profiler.DataType;
import com.dfsek.terra.api.gaea.profiler.Measurement;
import com.dfsek.terra.api.gaea.profiler.WorldProfiler;
import com.dfsek.terra.api.platform.world.World; import com.dfsek.terra.api.platform.world.World;
import com.dfsek.terra.api.profiler.DataType;
import com.dfsek.terra.api.profiler.Measurement;
import com.dfsek.terra.api.profiler.WorldProfiler;
public class TerraProfiler extends WorldProfiler { public class TerraProfiler extends WorldProfiler {
public TerraProfiler(World w) { public TerraProfiler(World w) {
@@ -1,8 +1,8 @@
package com.dfsek.terra.api; package com.dfsek.terra.api;
import com.dfsek.tectonic.loading.TypeRegistry; import com.dfsek.tectonic.loading.TypeRegistry;
import com.dfsek.terra.api.gaea.math.ProbabilityCollection; import com.dfsek.terra.api.math.ProbabilityCollection;
import com.dfsek.terra.api.gaea.math.Range; import com.dfsek.terra.api.math.Range;
import com.dfsek.terra.api.platform.TerraPlugin; import com.dfsek.terra.api.platform.TerraPlugin;
import com.dfsek.terra.biome.grid.master.TerraBiomeGrid; import com.dfsek.terra.biome.grid.master.TerraBiomeGrid;
import com.dfsek.terra.biome.palette.PaletteHolder; import com.dfsek.terra.biome.palette.PaletteHolder;
@@ -1,26 +0,0 @@
package com.dfsek.terra.api.gaea;
import com.dfsek.terra.api.platform.TerraPlugin;
public class Debug {
public static TerraPlugin main;
public static void setMain(TerraPlugin main) {
Debug.main = main;
}
public static void info(String message) {
if(Gaea.isDebug()) main.getLogger().info(message);
}
public static void warn(String message) {
if(Gaea.isDebug()) main.getLogger().warning(message);
}
public static void error(String message) {
if(Gaea.isDebug()) main.getLogger().severe(message);
}
public static void stack(Exception e) {
if(Gaea.isDebug()) e.printStackTrace();
}
}
@@ -1,50 +0,0 @@
package com.dfsek.terra.api.gaea.serial;
import java.io.IOException;
import java.io.InputStream;
import java.io.ObjectInputStream;
import java.io.ObjectStreamClass;
import java.lang.reflect.Field;
public class MovedObjectInputStream extends ObjectInputStream {
private final String oldNameSpace;
private final String newNameSpace;
public MovedObjectInputStream(InputStream in, String oldNameSpace, String newNameSpace) throws IOException {
super(in);
this.oldNameSpace = oldNameSpace;
this.newNameSpace = newNameSpace;
}
@Override
protected ObjectStreamClass readClassDescriptor() throws IOException, ClassNotFoundException {
ObjectStreamClass result = super.readClassDescriptor();
try {
if (result.getName().contains(oldNameSpace)) {
String newClassName = result.getName().replace(oldNameSpace, newNameSpace);
Class localClass = Class.forName(newClassName);
Field nameField = ObjectStreamClass.class.getDeclaredField("name");
nameField.setAccessible(true);
nameField.set(result, newClassName);
ObjectStreamClass localClassDescriptor = ObjectStreamClass.lookup(localClass);
Field suidField = ObjectStreamClass.class.getDeclaredField("suid");
suidField.setAccessible(true);
suidField.set(result, localClassDescriptor.getSerialVersionUID());
}
} catch(Exception e) {
throw new IOException("Exception when trying to replace namespace", e);
}
return result;
}
@Override
protected Class<?> resolveClass(ObjectStreamClass desc) throws IOException, ClassNotFoundException {
if (desc.getName().contains(oldNameSpace)) {
String newClassName = desc.getName().replace(oldNameSpace, newNameSpace);
return Class.forName(newClassName);
}
return super.resolveClass(desc);
}
}
@@ -1,26 +0,0 @@
package com.dfsek.terra.api.gaea.util;
import com.dfsek.terra.api.gaea.serial.MovedObjectInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
public class SerializationUtil {
public static Object fromFile(File f) throws IOException, ClassNotFoundException {
ObjectInputStream ois = new MovedObjectInputStream(new FileInputStream(f), "org.polydev.gaea", "com.dfsek.terra.api.gaea"); // Backwards compat with old Gaea location
Object o = ois.readObject();
ois.close();
return o;
}
public static void toFile(Serializable o, File f) throws IOException {
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(f));
oos.writeObject(o);
oos.close();
}
}
@@ -1,4 +1,4 @@
package com.dfsek.terra.api.gaea.lang; package com.dfsek.terra.api.lang;
import com.dfsek.tectonic.config.Configuration; import com.dfsek.tectonic.config.Configuration;
@@ -1,4 +1,4 @@
package com.dfsek.terra.api.gaea.lang; package com.dfsek.terra.api.lang;
import com.dfsek.terra.api.platform.CommandSender; import com.dfsek.terra.api.platform.CommandSender;
@@ -1,4 +1,4 @@
package com.dfsek.terra.api.gaea.lang; package com.dfsek.terra.api.lang;
import com.dfsek.terra.api.platform.CommandSender; import com.dfsek.terra.api.platform.CommandSender;
@@ -1,4 +1,4 @@
package com.dfsek.terra.api.gaea.lang; package com.dfsek.terra.api.lang;
import com.dfsek.terra.api.platform.CommandSender; import com.dfsek.terra.api.platform.CommandSender;
@@ -1,12 +1,12 @@
package com.dfsek.terra.api.gaea.structures.loot; package com.dfsek.terra.api.loot;
import com.dfsek.terra.api.gaea.structures.loot.functions.AmountFunction; import com.dfsek.terra.api.loot.functions.AmountFunction;
import com.dfsek.terra.api.gaea.structures.loot.functions.DamageFunction; import com.dfsek.terra.api.loot.functions.DamageFunction;
import com.dfsek.terra.api.gaea.structures.loot.functions.Function; import com.dfsek.terra.api.loot.functions.Function;
import com.dfsek.terra.api.gaea.util.GlueList;
import com.dfsek.terra.api.platform.TerraPlugin; import com.dfsek.terra.api.platform.TerraPlugin;
import com.dfsek.terra.api.platform.inventory.ItemStack; import com.dfsek.terra.api.platform.inventory.ItemStack;
import com.dfsek.terra.api.platform.world.block.MaterialData; import com.dfsek.terra.api.platform.world.block.MaterialData;
import com.dfsek.terra.api.util.GlueList;
import net.jafama.FastMath; import net.jafama.FastMath;
import org.json.simple.JSONArray; import org.json.simple.JSONArray;
import org.json.simple.JSONObject; import org.json.simple.JSONObject;
@@ -1,9 +1,9 @@
package com.dfsek.terra.api.gaea.structures.loot; package com.dfsek.terra.api.loot;
import com.dfsek.terra.api.gaea.util.GlueList;
import com.dfsek.terra.api.platform.TerraPlugin; import com.dfsek.terra.api.platform.TerraPlugin;
import com.dfsek.terra.api.platform.inventory.Inventory; import com.dfsek.terra.api.platform.inventory.Inventory;
import com.dfsek.terra.api.platform.inventory.ItemStack; import com.dfsek.terra.api.platform.inventory.ItemStack;
import com.dfsek.terra.api.util.GlueList;
import org.json.simple.JSONArray; import org.json.simple.JSONArray;
import org.json.simple.JSONObject; import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser; import org.json.simple.parser.JSONParser;
@@ -1,9 +1,9 @@
package com.dfsek.terra.api.gaea.structures.loot; package com.dfsek.terra.api.loot;
import com.dfsek.terra.api.gaea.math.ProbabilityCollection; import com.dfsek.terra.api.math.ProbabilityCollection;
import com.dfsek.terra.api.gaea.util.GlueList;
import com.dfsek.terra.api.platform.TerraPlugin; import com.dfsek.terra.api.platform.TerraPlugin;
import com.dfsek.terra.api.platform.inventory.ItemStack; import com.dfsek.terra.api.platform.inventory.ItemStack;
import com.dfsek.terra.api.util.GlueList;
import net.jafama.FastMath; import net.jafama.FastMath;
import org.json.simple.JSONArray; import org.json.simple.JSONArray;
import org.json.simple.JSONObject; import org.json.simple.JSONObject;
@@ -1,4 +1,4 @@
package com.dfsek.terra.api.gaea.structures.loot.functions; package com.dfsek.terra.api.loot.functions;
import com.dfsek.terra.api.platform.inventory.ItemStack; import com.dfsek.terra.api.platform.inventory.ItemStack;
@@ -1,4 +1,4 @@
package com.dfsek.terra.api.gaea.structures.loot.functions; package com.dfsek.terra.api.loot.functions;
import com.dfsek.terra.api.platform.inventory.ItemStack; import com.dfsek.terra.api.platform.inventory.ItemStack;
import com.dfsek.terra.api.platform.inventory.item.Damageable; import com.dfsek.terra.api.platform.inventory.item.Damageable;
@@ -1,4 +1,4 @@
package com.dfsek.terra.api.gaea.structures.loot.functions; package com.dfsek.terra.api.loot.functions;
import com.dfsek.terra.api.platform.inventory.ItemStack; import com.dfsek.terra.api.platform.inventory.ItemStack;
@@ -1,4 +1,4 @@
package com.dfsek.terra.api.gaea.math; package com.dfsek.terra.api.math;
import com.dfsek.terra.api.platform.world.World; import com.dfsek.terra.api.platform.world.World;
import com.dfsek.terra.api.world.biome.BiomeGrid; import com.dfsek.terra.api.world.biome.BiomeGrid;
@@ -1,4 +1,4 @@
package com.dfsek.terra.api.gaea.math;// MIT License package com.dfsek.terra.api.math;// MIT License
import net.jafama.FastMath; import net.jafama.FastMath;
@@ -328,14 +328,14 @@ public class FastNoiseLite {
private TransformType3D mWarpTransformType3D = TransformType3D.DefaultOpenSimplex2; private TransformType3D mWarpTransformType3D = TransformType3D.DefaultOpenSimplex2;
private double mDomainWarpAmp = 1.0f; private double mDomainWarpAmp = 1.0f;
private static final com.dfsek.terra.api.gaea.math.FastNoiseLite CELLULAR_LOOKUP_DEFAULT = new com.dfsek.terra.api.gaea.math.FastNoiseLite(); private static final com.dfsek.terra.api.math.FastNoiseLite CELLULAR_LOOKUP_DEFAULT = new com.dfsek.terra.api.math.FastNoiseLite();
private com.dfsek.terra.api.gaea.math.FastNoiseLite cellularNoiseLookup = CELLULAR_LOOKUP_DEFAULT; private com.dfsek.terra.api.math.FastNoiseLite cellularNoiseLookup = CELLULAR_LOOKUP_DEFAULT;
public com.dfsek.terra.api.gaea.math.FastNoiseLite getCellularNoiseLookup() { public com.dfsek.terra.api.math.FastNoiseLite getCellularNoiseLookup() {
return cellularNoiseLookup; return cellularNoiseLookup;
} }
public void setCellularNoiseLookup(com.dfsek.terra.api.gaea.math.FastNoiseLite cellularNoiseLookup) { public void setCellularNoiseLookup(com.dfsek.terra.api.math.FastNoiseLite cellularNoiseLookup) {
this.cellularNoiseLookup = cellularNoiseLookup; this.cellularNoiseLookup = cellularNoiseLookup;
} }
@@ -1,4 +1,4 @@
package com.dfsek.terra.api.gaea.math; package com.dfsek.terra.api.math;
import net.jafama.FastMath; import net.jafama.FastMath;
@@ -1,4 +1,4 @@
package com.dfsek.terra.api.gaea.math; package com.dfsek.terra.api.math;
/** /**
* Class for bilinear interpolation of values arranged on a unit square. * Class for bilinear interpolation of values arranged on a unit square.
@@ -1,6 +1,6 @@
package com.dfsek.terra.api.gaea.math; package com.dfsek.terra.api.math;
import com.dfsek.terra.api.gaea.util.FastRandom; import com.dfsek.terra.api.util.FastRandom;
import net.jafama.FastMath; import net.jafama.FastMath;
import java.util.Random; import java.util.Random;
@@ -1,4 +1,4 @@
package com.dfsek.terra.api.gaea.math; package com.dfsek.terra.api.math;
import com.dfsek.terra.api.world.biome.NormalizationUtil; import com.dfsek.terra.api.world.biome.NormalizationUtil;
@@ -13,7 +13,7 @@ public class ProbabilityCollection<E> {
private Object[] array = new Object[0]; private Object[] array = new Object[0];
private int size; private int size;
public com.dfsek.terra.api.gaea.math.ProbabilityCollection<E> add(E item, int probability) { public com.dfsek.terra.api.math.ProbabilityCollection<E> add(E item, int probability) {
if(!cont.contains(item)) size++; if(!cont.contains(item)) size++;
cont.add(item); cont.add(item);
int oldLength = array.length; int oldLength = array.length;
@@ -1,4 +1,4 @@
package com.dfsek.terra.api.gaea.math; package com.dfsek.terra.api.math;
import net.jafama.FastMath; import net.jafama.FastMath;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
@@ -24,7 +24,7 @@ public class Range implements Iterable<Integer> {
return max; return max;
} }
public com.dfsek.terra.api.gaea.math.Range setMax(int max) { public com.dfsek.terra.api.math.Range setMax(int max) {
this.max = max; this.max = max;
return this; return this;
} }
@@ -33,7 +33,7 @@ public class Range implements Iterable<Integer> {
return min; return min;
} }
public com.dfsek.terra.api.gaea.math.Range setMin(int min) { public com.dfsek.terra.api.math.Range setMin(int min) {
this.min = min; this.min = min;
return this; return this;
} }
@@ -42,35 +42,35 @@ public class Range implements Iterable<Integer> {
return max - min; return max - min;
} }
public com.dfsek.terra.api.gaea.math.Range multiply(int mult) { public com.dfsek.terra.api.math.Range multiply(int mult) {
min *= mult; min *= mult;
max *= mult; max *= mult;
return this; return this;
} }
public com.dfsek.terra.api.gaea.math.Range reflect(int pt) { public com.dfsek.terra.api.math.Range reflect(int pt) {
return new com.dfsek.terra.api.gaea.math.Range(2 * pt - this.getMax(), 2 * pt - this.getMin()); return new com.dfsek.terra.api.math.Range(2 * pt - this.getMax(), 2 * pt - this.getMin());
} }
public int get(Random r) { public int get(Random r) {
return r.nextInt((max - min) + 1) + min; return r.nextInt((max - min) + 1) + min;
} }
public com.dfsek.terra.api.gaea.math.Range intersects(com.dfsek.terra.api.gaea.math.Range other) { public com.dfsek.terra.api.math.Range intersects(com.dfsek.terra.api.math.Range other) {
try { try {
return new com.dfsek.terra.api.gaea.math.Range(FastMath.max(this.getMin(), other.getMin()), FastMath.min(this.getMax(), other.getMax())); return new com.dfsek.terra.api.math.Range(FastMath.max(this.getMin(), other.getMin()), FastMath.min(this.getMax(), other.getMax()));
} catch(IllegalArgumentException e) { } catch(IllegalArgumentException e) {
return null; return null;
} }
} }
public com.dfsek.terra.api.gaea.math.Range add(int add) { public com.dfsek.terra.api.math.Range add(int add) {
this.min += add; this.min += add;
this.max += add; this.max += add;
return this; return this;
} }
public com.dfsek.terra.api.gaea.math.Range sub(int sub) { public com.dfsek.terra.api.math.Range sub(int sub) {
this.min -= sub; this.min -= sub;
this.max -= sub; this.max -= sub;
return this; return this;
@@ -88,8 +88,8 @@ public class Range implements Iterable<Integer> {
@Override @Override
public boolean equals(Object obj) { public boolean equals(Object obj) {
if(! (obj instanceof com.dfsek.terra.api.gaea.math.Range)) return false; if(!(obj instanceof com.dfsek.terra.api.math.Range)) return false;
com.dfsek.terra.api.gaea.math.Range other = (com.dfsek.terra.api.gaea.math.Range) obj; com.dfsek.terra.api.math.Range other = (com.dfsek.terra.api.math.Range) obj;
return other.getMin() == this.getMin() && other.getMax() == this.getMax(); return other.getMin() == this.getMin() && other.getMax() == this.getMax();
} }
@@ -100,10 +100,10 @@ public class Range implements Iterable<Integer> {
} }
private static class RangeIterator implements Iterator<Integer> { private static class RangeIterator implements Iterator<Integer> {
private final com.dfsek.terra.api.gaea.math.Range m; private final com.dfsek.terra.api.math.Range m;
private Integer current; private Integer current;
public RangeIterator(com.dfsek.terra.api.gaea.math.Range m) { public RangeIterator(com.dfsek.terra.api.math.Range m) {
this.m = m; this.m = m;
current = m.getMin(); current = m.getMin();
} }
@@ -2,7 +2,7 @@ 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.gaea.lang.Language; import com.dfsek.terra.api.lang.Language;
import com.dfsek.terra.api.platform.inventory.ItemHandle; import com.dfsek.terra.api.platform.inventory.ItemHandle;
import com.dfsek.terra.api.platform.world.World; import com.dfsek.terra.api.platform.world.World;
import com.dfsek.terra.api.platform.world.WorldHandle; import com.dfsek.terra.api.platform.world.WorldHandle;
@@ -1,4 +1,4 @@
package com.dfsek.terra.api.gaea.profiler; package com.dfsek.terra.api.profiler;
/** /**
* Class to hold a profiler data value. Contains formatting method to highlight value based on desired range. * Class to hold a profiler data value. Contains formatting method to highlight value based on desired range.
@@ -1,4 +1,4 @@
package com.dfsek.terra.api.gaea.profiler; package com.dfsek.terra.api.profiler;
import net.jafama.FastMath; import net.jafama.FastMath;
@@ -1,4 +1,4 @@
package com.dfsek.terra.api.gaea.profiler; package com.dfsek.terra.api.profiler;
/** /**
@@ -1,7 +1,7 @@
package com.dfsek.terra.api.gaea.profiler; package com.dfsek.terra.api.profiler;
import com.dfsek.terra.api.gaea.math.MathUtil; import com.dfsek.terra.api.math.MathUtil;
import com.dfsek.terra.api.gaea.util.GlueList; import com.dfsek.terra.api.util.GlueList;
import net.jafama.FastMath; import net.jafama.FastMath;
import java.math.BigInteger; import java.math.BigInteger;
@@ -1,4 +1,4 @@
package com.dfsek.terra.api.gaea.profiler; package com.dfsek.terra.api.profiler;
import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletableFuture;
@@ -1,4 +1,4 @@
package com.dfsek.terra.api.gaea.profiler; package com.dfsek.terra.api.profiler;
import com.dfsek.terra.api.platform.world.World; import com.dfsek.terra.api.platform.world.World;
import com.google.common.collect.BiMap; import com.google.common.collect.BiMap;
@@ -49,7 +49,7 @@ public class WorldProfiler {
} }
} }
public com.dfsek.terra.api.gaea.profiler.WorldProfiler addMeasurement(Measurement m, String name) { public com.dfsek.terra.api.profiler.WorldProfiler addMeasurement(Measurement m, String name) {
measures.put(name, m); measures.put(name, m);
return this; return this;
} }
@@ -1,4 +1,4 @@
package com.dfsek.terra.api.gaea.util; package com.dfsek.terra.api.util;
import org.apache.commons.rng.core.source64.XoRoShiRo128PlusPlus; import org.apache.commons.rng.core.source64.XoRoShiRo128PlusPlus;
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and * See the License for the specific language governing permissions and
* limitations under the License. * limitations under the License.
*/ */
package com.dfsek.terra.api.gaea.util; package com.dfsek.terra.api.util;
import java.io.IOException; import java.io.IOException;
import java.io.ObjectInputStream; import java.io.ObjectInputStream;
@@ -702,6 +702,59 @@ public class GlueList<T> extends AbstractList<T> implements List<T>, Cloneable,
return new Itr(); return new Itr();
} }
@SuppressWarnings("unchecked")
@Override
public Object clone() {
try {
com.dfsek.terra.api.util.GlueList<T> clone = (com.dfsek.terra.api.util.GlueList<T>) super.clone();
clone.first = clone.last = null;
int capacity = min(MAX_ARRAY_SIZE, max(clone.size, max(clone.initialCapacity, DEFAULT_CAPACITY)));
Node<T> initNode = new Node<>(null, null, 0, capacity);
clone.initialCapacity = capacity;
clone.first = clone.last = initNode;
clone.modCount = 0;
clone.size = 0;
for(Node<T> node = first; node != null; node = node.next) {
for(int i = 0; i < node.elementDataPointer; i++) {
clone.add(node.elementData[i]);
}
}
return clone;
} catch(CloneNotSupportedException e) {
throw new InternalError();
}
}
@Override
public ListIterator<T> listIterator(int index) {
checkPositionIndex(index);
return new ListItr(index);
}
private void checkPositionIndex(int index) {
if(!(index >= 0 && index <= size)) {
throw new ArrayIndexOutOfBoundsException(index);
}
}
@Override
public ListIterator<T> listIterator() {
return new ListItr(0);
}
private class Itr implements Iterator<T> { private class Itr implements Iterator<T> {
Node<T> node = first; Node<T> node = first;
@@ -761,7 +814,7 @@ public class GlueList<T> extends AbstractList<T> implements List<T>, Cloneable,
checkForComodification(); checkForComodification();
try { try {
com.dfsek.terra.api.gaea.util.GlueList.this.remove(lastReturn); com.dfsek.terra.api.util.GlueList.this.remove(lastReturn);
j = lastReturn; j = lastReturn;
@@ -785,23 +838,8 @@ public class GlueList<T> extends AbstractList<T> implements List<T>, Cloneable,
} }
@Override @Override
public ListIterator<T> listIterator(int index) { public int size() {
return size;
checkPositionIndex(index);
return new ListItr(index);
}
private void checkPositionIndex(int index) {
if (!(index >= 0 && index <= size)) {
throw new ArrayIndexOutOfBoundsException(index);
}
}
@Override
public ListIterator<T> listIterator() {
return new ListItr(0);
} }
private class ListItr extends Itr implements ListIterator<T> { private class ListItr extends Itr implements ListIterator<T> {
@@ -886,7 +924,7 @@ public class GlueList<T> extends AbstractList<T> implements List<T>, Cloneable,
checkForComodification(); checkForComodification();
try { try {
com.dfsek.terra.api.gaea.util.GlueList.this.set(lastReturn, t); com.dfsek.terra.api.util.GlueList.this.set(lastReturn, t);
} catch (IndexOutOfBoundsException e) { } catch (IndexOutOfBoundsException e) {
throw new ConcurrentModificationException(); throw new ConcurrentModificationException();
} }
@@ -900,7 +938,7 @@ public class GlueList<T> extends AbstractList<T> implements List<T>, Cloneable,
try { try {
int temp = j; int temp = j;
com.dfsek.terra.api.gaea.util.GlueList.this.add(temp, t); com.dfsek.terra.api.util.GlueList.this.add(temp, t);
j = temp + 1; j = temp + 1;
@@ -916,44 +954,6 @@ public class GlueList<T> extends AbstractList<T> implements List<T>, Cloneable,
} }
} }
@Override
public int size() {
return size;
}
@SuppressWarnings("unchecked")
@Override
public Object clone() {
try {
com.dfsek.terra.api.gaea.util.GlueList<T> clone = (com.dfsek.terra.api.gaea.util.GlueList<T>) super.clone();
clone.first = clone.last = null;
int capacity = min(MAX_ARRAY_SIZE, max(clone.size, max(clone.initialCapacity, DEFAULT_CAPACITY)));
Node<T> initNode = new Node<>(null, null, 0, capacity);
clone.initialCapacity = capacity;
clone.first = clone.last = initNode;
clone.modCount = 0;
clone.size = 0;
for (Node<T> node = first; node != null; node = node.next) {
for (int i = 0; i < node.elementDataPointer; i++) {
clone.add(node.elementData[i]);
}
}
return clone;
} catch (CloneNotSupportedException e) {
throw new InternalError();
}
}
private void writeObject(ObjectOutputStream s) throws IOException { private void writeObject(ObjectOutputStream s) throws IOException {
int expectedModCount = modCount; int expectedModCount = modCount;
@@ -1,6 +1,6 @@
package com.dfsek.terra.api.gaea.util; package com.dfsek.terra.api.util;
import com.dfsek.terra.api.gaea.Debug; import com.dfsek.terra.debug.Debug;
import java.io.File; import java.io.File;
import java.io.FileOutputStream; import java.io.FileOutputStream;
@@ -0,0 +1,70 @@
package com.dfsek.terra.api.util;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.ObjectStreamClass;
import java.io.Serializable;
import java.lang.reflect.Field;
public class SerializationUtil {
public static Object fromFile(File f) throws IOException, ClassNotFoundException {
ObjectInputStream ois = new MovedObjectInputStream(new FileInputStream(f), "org.polydev.gaea", "com.dfsek.terra.api.gaea"); // Backwards compat with old Gaea location
Object o = ois.readObject();
ois.close();
return o;
}
public static void toFile(Serializable o, File f) throws IOException {
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(f));
oos.writeObject(o);
oos.close();
}
public static class MovedObjectInputStream extends ObjectInputStream {
private final String oldNameSpace;
private final String newNameSpace;
public MovedObjectInputStream(InputStream in, String oldNameSpace, String newNameSpace) throws IOException {
super(in);
this.oldNameSpace = oldNameSpace;
this.newNameSpace = newNameSpace;
}
@Override
protected ObjectStreamClass readClassDescriptor() throws IOException, ClassNotFoundException {
ObjectStreamClass result = super.readClassDescriptor();
try {
if(result.getName().contains(oldNameSpace)) {
String newClassName = result.getName().replace(oldNameSpace, newNameSpace);
Class localClass = Class.forName(newClassName);
Field nameField = ObjectStreamClass.class.getDeclaredField("name");
nameField.setAccessible(true);
nameField.set(result, newClassName);
ObjectStreamClass localClassDescriptor = ObjectStreamClass.lookup(localClass);
Field suidField = ObjectStreamClass.class.getDeclaredField("suid");
suidField.setAccessible(true);
suidField.set(result, localClassDescriptor.getSerialVersionUID());
}
} catch(Exception e) {
throw new IOException("Exception when trying to replace namespace", e);
}
return result;
}
@Override
protected Class<?> resolveClass(ObjectStreamClass desc) throws IOException, ClassNotFoundException {
if(desc.getName().contains(oldNameSpace)) {
String newClassName = desc.getName().replace(oldNameSpace, newNameSpace);
return Class.forName(newClassName);
}
return super.resolveClass(desc);
}
}
}
@@ -1,6 +1,6 @@
package com.dfsek.terra.api.world.biome; package com.dfsek.terra.api.world.biome;
import com.dfsek.terra.api.gaea.math.FastNoiseLite; import com.dfsek.terra.api.math.FastNoiseLite;
import com.dfsek.terra.api.platform.world.vector.Location; import com.dfsek.terra.api.platform.world.vector.Location;
import com.dfsek.terra.api.world.generation.GenerationPhase; import com.dfsek.terra.api.world.generation.GenerationPhase;
@@ -1,7 +1,7 @@
package com.dfsek.terra.api.world.biome; package com.dfsek.terra.api.world.biome;
import com.dfsek.terra.api.gaea.math.ProbabilityCollection; import com.dfsek.terra.api.math.ProbabilityCollection;
import com.dfsek.terra.api.gaea.world.Flora; import com.dfsek.terra.api.world.flora.Flora;
import com.dfsek.terra.api.world.tree.Tree; import com.dfsek.terra.api.world.tree.Tree;
public abstract class Decorator { public abstract class Decorator {
@@ -1,6 +1,6 @@
package com.dfsek.terra.api.world.biome; package com.dfsek.terra.api.world.biome;
import com.dfsek.terra.api.gaea.math.Interpolator; import com.dfsek.terra.api.math.Interpolator;
import com.dfsek.terra.api.platform.world.World; import com.dfsek.terra.api.platform.world.World;
import com.dfsek.terra.api.platform.world.block.BlockData; import com.dfsek.terra.api.platform.world.block.BlockData;
import com.dfsek.terra.api.world.palette.Palette; import com.dfsek.terra.api.world.palette.Palette;
@@ -1,9 +1,9 @@
package com.dfsek.terra.api.world.carving; package com.dfsek.terra.api.world.carving;
import com.dfsek.terra.api.gaea.math.MathUtil; import com.dfsek.terra.api.math.MathUtil;
import com.dfsek.terra.api.gaea.util.FastRandom;
import com.dfsek.terra.api.platform.world.World; import com.dfsek.terra.api.platform.world.World;
import com.dfsek.terra.api.platform.world.vector.Vector3; import com.dfsek.terra.api.platform.world.vector.Vector3;
import com.dfsek.terra.api.util.FastRandom;
import net.jafama.FastMath; import net.jafama.FastMath;
import java.util.Random; import java.util.Random;
@@ -1,6 +1,6 @@
package com.dfsek.terra.api.gaea.world; package com.dfsek.terra.api.world.flora;
import com.dfsek.terra.api.gaea.math.Range; import com.dfsek.terra.api.math.Range;
import com.dfsek.terra.api.platform.world.Chunk; import com.dfsek.terra.api.platform.world.Chunk;
import com.dfsek.terra.api.platform.world.block.Block; import com.dfsek.terra.api.platform.world.block.Block;
import com.dfsek.terra.api.platform.world.vector.Location; import com.dfsek.terra.api.platform.world.vector.Location;
@@ -1,4 +1,4 @@
package com.dfsek.terra.api.gaea.population; package com.dfsek.terra.api.world.generation.population;
import com.dfsek.terra.api.platform.world.Chunk; import com.dfsek.terra.api.platform.world.Chunk;
@@ -43,8 +43,8 @@ public class ChunkCoordinate implements Serializable {
@Override @Override
public boolean equals(Object obj) { public boolean equals(Object obj) {
if(! (obj instanceof com.dfsek.terra.api.gaea.population.ChunkCoordinate)) return false; if(!(obj instanceof com.dfsek.terra.api.world.generation.population.ChunkCoordinate)) return false;
com.dfsek.terra.api.gaea.population.ChunkCoordinate other = (com.dfsek.terra.api.gaea.population.ChunkCoordinate) obj; com.dfsek.terra.api.world.generation.population.ChunkCoordinate other = (com.dfsek.terra.api.world.generation.population.ChunkCoordinate) obj;
return other.getX() == x && other.getZ() == z; return other.getX() == x && other.getZ() == z;
} }
} }
@@ -1,14 +1,14 @@
package com.dfsek.terra.api.gaea.population; package com.dfsek.terra.api.world.generation.population;
import com.dfsek.terra.api.gaea.Gaea; import com.dfsek.terra.api.gaea.Gaea;
import com.dfsek.terra.api.gaea.profiler.ProfileFuture;
import com.dfsek.terra.api.gaea.profiler.WorldProfiler;
import com.dfsek.terra.api.gaea.util.FastRandom;
import com.dfsek.terra.api.gaea.util.GlueList;
import com.dfsek.terra.api.gaea.util.SerializationUtil;
import com.dfsek.terra.api.platform.TerraPlugin; import com.dfsek.terra.api.platform.TerraPlugin;
import com.dfsek.terra.api.platform.world.Chunk; import com.dfsek.terra.api.platform.world.Chunk;
import com.dfsek.terra.api.platform.world.World; import com.dfsek.terra.api.platform.world.World;
import com.dfsek.terra.api.profiler.ProfileFuture;
import com.dfsek.terra.api.profiler.WorldProfiler;
import com.dfsek.terra.api.util.FastRandom;
import com.dfsek.terra.api.util.GlueList;
import com.dfsek.terra.api.util.SerializationUtil;
import com.dfsek.terra.api.world.generation.TerraBlockPopulator; import com.dfsek.terra.api.world.generation.TerraBlockPopulator;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
@@ -1,8 +1,8 @@
package com.dfsek.terra.api.world.palette; package com.dfsek.terra.api.world.palette;
import com.dfsek.terra.api.gaea.math.FastNoiseLite; import com.dfsek.terra.api.math.FastNoiseLite;
import com.dfsek.terra.api.gaea.math.ProbabilityCollection; import com.dfsek.terra.api.math.ProbabilityCollection;
import com.dfsek.terra.api.gaea.util.GlueList; import com.dfsek.terra.api.util.GlueList;
import java.util.List; import java.util.List;
import java.util.Random; import java.util.Random;
@@ -1,6 +1,6 @@
package com.dfsek.terra.api.world.palette; package com.dfsek.terra.api.world.palette;
import com.dfsek.terra.api.gaea.math.FastNoiseLite; import com.dfsek.terra.api.math.FastNoiseLite;
import java.util.List; import java.util.List;
@@ -1,6 +1,6 @@
package com.dfsek.terra.api.world.tree.fractal; package com.dfsek.terra.api.world.tree.fractal;
import com.dfsek.terra.api.gaea.math.ProbabilityCollection; import com.dfsek.terra.api.math.ProbabilityCollection;
import com.dfsek.terra.api.platform.world.block.BlockData; import com.dfsek.terra.api.platform.world.block.BlockData;
import com.dfsek.terra.api.platform.world.vector.Location; import com.dfsek.terra.api.platform.world.vector.Location;
import com.dfsek.terra.api.platform.world.vector.Vector3; import com.dfsek.terra.api.platform.world.vector.Vector3;
@@ -1,6 +1,6 @@
package com.dfsek.terra.api.world.tree.fractal.trees; package com.dfsek.terra.api.world.tree.fractal.trees;
import com.dfsek.terra.api.gaea.math.ProbabilityCollection; import com.dfsek.terra.api.math.ProbabilityCollection;
import com.dfsek.terra.api.platform.TerraPlugin; import com.dfsek.terra.api.platform.TerraPlugin;
import com.dfsek.terra.api.platform.world.WorldHandle; import com.dfsek.terra.api.platform.world.WorldHandle;
import com.dfsek.terra.api.platform.world.block.BlockData; import com.dfsek.terra.api.platform.world.block.BlockData;
@@ -1,6 +1,6 @@
package com.dfsek.terra.api.world.tree.fractal.trees; package com.dfsek.terra.api.world.tree.fractal.trees;
import com.dfsek.terra.api.gaea.math.ProbabilityCollection; import com.dfsek.terra.api.math.ProbabilityCollection;
import com.dfsek.terra.api.platform.TerraPlugin; import com.dfsek.terra.api.platform.TerraPlugin;
import com.dfsek.terra.api.platform.world.WorldHandle; import com.dfsek.terra.api.platform.world.WorldHandle;
import com.dfsek.terra.api.platform.world.block.BlockData; import com.dfsek.terra.api.platform.world.block.BlockData;
@@ -1,6 +1,6 @@
package com.dfsek.terra.api.world.tree.fractal.trees; package com.dfsek.terra.api.world.tree.fractal.trees;
import com.dfsek.terra.api.gaea.math.ProbabilityCollection; import com.dfsek.terra.api.math.ProbabilityCollection;
import com.dfsek.terra.api.platform.TerraPlugin; import com.dfsek.terra.api.platform.TerraPlugin;
import com.dfsek.terra.api.platform.world.WorldHandle; import com.dfsek.terra.api.platform.world.WorldHandle;
import com.dfsek.terra.api.platform.world.block.BlockData; import com.dfsek.terra.api.platform.world.block.BlockData;
@@ -1,6 +1,6 @@
package com.dfsek.terra.biome; package com.dfsek.terra.biome;
import com.dfsek.terra.api.gaea.math.FastNoiseLite; import com.dfsek.terra.api.math.FastNoiseLite;
import com.dfsek.terra.api.world.biome.BiomeGrid; import com.dfsek.terra.api.world.biome.BiomeGrid;
import com.dfsek.terra.api.world.biome.NormalizationUtil; import com.dfsek.terra.api.world.biome.NormalizationUtil;
import com.dfsek.terra.config.base.ConfigPack; import com.dfsek.terra.config.base.ConfigPack;
@@ -1,6 +1,6 @@
package com.dfsek.terra.biome.palette; package com.dfsek.terra.biome.palette;
import com.dfsek.terra.api.gaea.math.ProbabilityCollection; import com.dfsek.terra.api.math.ProbabilityCollection;
import com.dfsek.terra.api.platform.world.block.BlockData; import com.dfsek.terra.api.platform.world.block.BlockData;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
@@ -1,6 +1,6 @@
package com.dfsek.terra.biome.postprocessing; package com.dfsek.terra.biome.postprocessing;
import com.dfsek.terra.api.gaea.math.FastNoiseLite; import com.dfsek.terra.api.math.FastNoiseLite;
import com.dfsek.terra.api.platform.world.vector.Vector2; import com.dfsek.terra.api.platform.world.vector.Vector2;
/** /**
@@ -1,6 +1,6 @@
package com.dfsek.terra.biome.postprocessing; package com.dfsek.terra.biome.postprocessing;
import com.dfsek.terra.api.gaea.math.FastNoiseLite; import com.dfsek.terra.api.math.FastNoiseLite;
import net.jafama.FastMath; import net.jafama.FastMath;
/** /**
@@ -1,11 +1,11 @@
package com.dfsek.terra.carving; package com.dfsek.terra.carving;
import com.dfsek.terra.api.gaea.math.MathUtil; import com.dfsek.terra.api.math.MathUtil;
import com.dfsek.terra.api.gaea.util.FastRandom;
import com.dfsek.terra.api.gaea.util.GlueList;
import com.dfsek.terra.api.platform.TerraPlugin; import com.dfsek.terra.api.platform.TerraPlugin;
import com.dfsek.terra.api.platform.world.World; import com.dfsek.terra.api.platform.world.World;
import com.dfsek.terra.api.platform.world.vector.Vector3; import com.dfsek.terra.api.platform.world.vector.Vector3;
import com.dfsek.terra.api.util.FastRandom;
import com.dfsek.terra.api.util.GlueList;
import com.dfsek.terra.api.world.biome.Biome; import com.dfsek.terra.api.world.biome.Biome;
import com.dfsek.terra.api.world.carving.Worm; import com.dfsek.terra.api.world.carving.Worm;
import com.dfsek.terra.api.world.generation.GenerationPhase; import com.dfsek.terra.api.world.generation.GenerationPhase;
@@ -1,6 +1,6 @@
package com.dfsek.terra.carving; package com.dfsek.terra.carving;
import com.dfsek.terra.api.gaea.math.ProbabilityCollection; import com.dfsek.terra.api.math.ProbabilityCollection;
import com.dfsek.terra.api.platform.world.block.BlockData; import com.dfsek.terra.api.platform.world.block.BlockData;
import com.dfsek.terra.api.platform.world.block.MaterialData; import com.dfsek.terra.api.platform.world.block.MaterialData;
import com.dfsek.terra.util.MaterialSet; import com.dfsek.terra.util.MaterialSet;
@@ -1,10 +1,10 @@
package com.dfsek.terra.carving; package com.dfsek.terra.carving;
import com.dfsek.terra.api.gaea.math.Range; import com.dfsek.terra.api.math.Range;
import com.dfsek.terra.api.gaea.util.FastRandom;
import com.dfsek.terra.api.platform.TerraPlugin; import com.dfsek.terra.api.platform.TerraPlugin;
import com.dfsek.terra.api.platform.world.World; import com.dfsek.terra.api.platform.world.World;
import com.dfsek.terra.api.platform.world.vector.Vector3; import com.dfsek.terra.api.platform.world.vector.Vector3;
import com.dfsek.terra.api.util.FastRandom;
import com.dfsek.terra.api.world.carving.Carver; import com.dfsek.terra.api.world.carving.Carver;
import com.dfsek.terra.api.world.carving.Worm; import com.dfsek.terra.api.world.carving.Worm;
import com.dfsek.terra.api.world.generation.GenerationPhase; import com.dfsek.terra.api.world.generation.GenerationPhase;
@@ -6,10 +6,10 @@ import com.dfsek.tectonic.exception.LoadException;
import com.dfsek.tectonic.loading.ConfigLoader; import com.dfsek.tectonic.loading.ConfigLoader;
import com.dfsek.tectonic.loading.TypeRegistry; import com.dfsek.tectonic.loading.TypeRegistry;
import com.dfsek.terra.api.LoaderRegistrar; import com.dfsek.terra.api.LoaderRegistrar;
import com.dfsek.terra.api.gaea.structures.loot.LootTable; import com.dfsek.terra.api.loot.LootTable;
import com.dfsek.terra.api.gaea.world.Flora;
import com.dfsek.terra.api.platform.TerraPlugin; import com.dfsek.terra.api.platform.TerraPlugin;
import com.dfsek.terra.api.world.biome.Biome; import com.dfsek.terra.api.world.biome.Biome;
import com.dfsek.terra.api.world.flora.Flora;
import com.dfsek.terra.api.world.palette.Palette; import com.dfsek.terra.api.world.palette.Palette;
import com.dfsek.terra.api.world.tree.Tree; import com.dfsek.terra.api.world.tree.Tree;
import com.dfsek.terra.biome.UserDefinedBiome; import com.dfsek.terra.biome.UserDefinedBiome;
@@ -5,8 +5,8 @@ import com.dfsek.tectonic.annotations.Value;
import com.dfsek.tectonic.config.ConfigTemplate; import com.dfsek.tectonic.config.ConfigTemplate;
import com.dfsek.tectonic.exception.ConfigException; import com.dfsek.tectonic.exception.ConfigException;
import com.dfsek.tectonic.loading.ConfigLoader; import com.dfsek.tectonic.loading.ConfigLoader;
import com.dfsek.terra.api.gaea.util.JarUtil;
import com.dfsek.terra.api.platform.TerraPlugin; import com.dfsek.terra.api.platform.TerraPlugin;
import com.dfsek.terra.api.util.JarUtil;
import com.dfsek.terra.debug.Debug; import com.dfsek.terra.debug.Debug;
import java.io.File; import java.io.File;
@@ -1,6 +1,6 @@
package com.dfsek.terra.config.factories; package com.dfsek.terra.config.factories;
import com.dfsek.terra.api.gaea.math.ProbabilityCollection; import com.dfsek.terra.api.math.ProbabilityCollection;
import com.dfsek.terra.api.platform.TerraPlugin; import com.dfsek.terra.api.platform.TerraPlugin;
import com.dfsek.terra.biome.UserDefinedBiome; import com.dfsek.terra.biome.UserDefinedBiome;
import com.dfsek.terra.config.base.ConfigPack; import com.dfsek.terra.config.base.ConfigPack;
@@ -1,7 +1,7 @@
package com.dfsek.terra.config.factories; package com.dfsek.terra.config.factories;
import com.dfsek.tectonic.exception.LoadException; import com.dfsek.tectonic.exception.LoadException;
import com.dfsek.terra.api.gaea.math.MathUtil; import com.dfsek.terra.api.math.MathUtil;
import com.dfsek.terra.api.platform.TerraPlugin; import com.dfsek.terra.api.platform.TerraPlugin;
import com.dfsek.terra.carving.UserDefinedCarver; import com.dfsek.terra.carving.UserDefinedCarver;
import com.dfsek.terra.config.base.ConfigPack; import com.dfsek.terra.config.base.ConfigPack;
@@ -1,9 +1,9 @@
package com.dfsek.terra.config.factories; package com.dfsek.terra.config.factories;
import com.dfsek.terra.api.gaea.util.FastRandom;
import com.dfsek.terra.api.gaea.world.Flora;
import com.dfsek.terra.api.platform.TerraPlugin; import com.dfsek.terra.api.platform.TerraPlugin;
import com.dfsek.terra.api.platform.world.block.BlockData; import com.dfsek.terra.api.platform.world.block.BlockData;
import com.dfsek.terra.api.util.FastRandom;
import com.dfsek.terra.api.world.flora.Flora;
import com.dfsek.terra.api.world.palette.Palette; import com.dfsek.terra.api.world.palette.Palette;
import com.dfsek.terra.api.world.palette.RandomPalette; import com.dfsek.terra.api.world.palette.RandomPalette;
import com.dfsek.terra.biome.palette.PaletteLayer; import com.dfsek.terra.biome.palette.PaletteLayer;
@@ -1,9 +1,9 @@
package com.dfsek.terra.config.factories; package com.dfsek.terra.config.factories;
import com.dfsek.terra.api.gaea.math.FastNoiseLite; import com.dfsek.terra.api.math.FastNoiseLite;
import com.dfsek.terra.api.gaea.util.FastRandom;
import com.dfsek.terra.api.platform.TerraPlugin; import com.dfsek.terra.api.platform.TerraPlugin;
import com.dfsek.terra.api.platform.world.block.BlockData; import com.dfsek.terra.api.platform.world.block.BlockData;
import com.dfsek.terra.api.util.FastRandom;
import com.dfsek.terra.api.world.palette.Palette; import com.dfsek.terra.api.world.palette.Palette;
import com.dfsek.terra.api.world.palette.RandomPalette; import com.dfsek.terra.api.world.palette.RandomPalette;
import com.dfsek.terra.api.world.palette.SimplexPalette; import com.dfsek.terra.api.world.palette.SimplexPalette;
@@ -1,6 +1,6 @@
package com.dfsek.terra.config.lang; package com.dfsek.terra.config.lang;
import com.dfsek.terra.api.gaea.lang.Language; import com.dfsek.terra.api.lang.Language;
import com.dfsek.terra.api.platform.CommandSender; import com.dfsek.terra.api.platform.CommandSender;
import com.dfsek.terra.api.platform.TerraPlugin; import com.dfsek.terra.api.platform.TerraPlugin;
import com.dfsek.terra.debug.Debug; import com.dfsek.terra.debug.Debug;
@@ -12,7 +12,7 @@ import java.util.jar.JarFile;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger; import java.util.logging.Logger;
import static com.dfsek.terra.api.gaea.util.JarUtil.copyResourcesToDirectory; import static com.dfsek.terra.api.util.JarUtil.copyResourcesToDirectory;
public final class LangUtil { public final class LangUtil {
private static Language language; private static Language language;
@@ -3,7 +3,7 @@ package com.dfsek.terra.config.loaders;
import com.dfsek.tectonic.exception.LoadException; import com.dfsek.tectonic.exception.LoadException;
import com.dfsek.tectonic.loading.ConfigLoader; import com.dfsek.tectonic.loading.ConfigLoader;
import com.dfsek.tectonic.loading.TypeLoader; import com.dfsek.tectonic.loading.TypeLoader;
import com.dfsek.terra.api.gaea.structures.loot.LootTable; import com.dfsek.terra.api.loot.LootTable;
import com.dfsek.terra.api.platform.TerraPlugin; import com.dfsek.terra.api.platform.TerraPlugin;
import com.dfsek.terra.config.files.Loader; import com.dfsek.terra.config.files.Loader;
import org.apache.commons.io.IOUtils; import org.apache.commons.io.IOUtils;
@@ -3,7 +3,7 @@ package com.dfsek.terra.config.loaders;
import com.dfsek.tectonic.exception.LoadException; import com.dfsek.tectonic.exception.LoadException;
import com.dfsek.tectonic.loading.ConfigLoader; import com.dfsek.tectonic.loading.ConfigLoader;
import com.dfsek.tectonic.loading.TypeLoader; import com.dfsek.tectonic.loading.TypeLoader;
import com.dfsek.terra.api.gaea.math.ProbabilityCollection; import com.dfsek.terra.api.math.ProbabilityCollection;
import java.lang.reflect.ParameterizedType; import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type; import java.lang.reflect.Type;
@@ -3,7 +3,7 @@ package com.dfsek.terra.config.loaders;
import com.dfsek.tectonic.exception.LoadException; import com.dfsek.tectonic.exception.LoadException;
import com.dfsek.tectonic.loading.ConfigLoader; import com.dfsek.tectonic.loading.ConfigLoader;
import com.dfsek.tectonic.loading.TypeLoader; import com.dfsek.tectonic.loading.TypeLoader;
import com.dfsek.terra.api.gaea.math.Range; import com.dfsek.terra.api.math.Range;
import java.lang.reflect.Type; import java.lang.reflect.Type;
import java.util.Map; import java.util.Map;
@@ -1,9 +1,9 @@
package com.dfsek.terra.config.loaders; package com.dfsek.terra.config.loaders;
import com.dfsek.terra.api.gaea.math.ProbabilityCollection; import com.dfsek.terra.api.math.ProbabilityCollection;
import com.dfsek.terra.api.gaea.world.Flora;
import com.dfsek.terra.api.platform.world.block.BlockData; import com.dfsek.terra.api.platform.world.block.BlockData;
import com.dfsek.terra.api.platform.world.block.MaterialData; import com.dfsek.terra.api.platform.world.block.MaterialData;
import com.dfsek.terra.api.world.flora.Flora;
import com.dfsek.terra.api.world.palette.Palette; import com.dfsek.terra.api.world.palette.Palette;
import com.dfsek.terra.api.world.tree.Tree; import com.dfsek.terra.api.world.tree.Tree;
@@ -3,10 +3,10 @@ package com.dfsek.terra.config.loaders.config;
import com.dfsek.tectonic.exception.LoadException; import com.dfsek.tectonic.exception.LoadException;
import com.dfsek.tectonic.loading.ConfigLoader; import com.dfsek.tectonic.loading.ConfigLoader;
import com.dfsek.tectonic.loading.TypeLoader; import com.dfsek.tectonic.loading.TypeLoader;
import com.dfsek.terra.api.gaea.math.FastNoiseLite; import com.dfsek.terra.api.math.FastNoiseLite;
import com.dfsek.terra.api.gaea.math.ProbabilityCollection; import com.dfsek.terra.api.math.ProbabilityCollection;
import com.dfsek.terra.api.gaea.math.Range; import com.dfsek.terra.api.math.Range;
import com.dfsek.terra.api.gaea.world.Flora; import com.dfsek.terra.api.world.flora.Flora;
import com.dfsek.terra.config.loaders.Types; import com.dfsek.terra.config.loaders.Types;
import com.dfsek.terra.generation.items.flora.FloraLayer; import com.dfsek.terra.generation.items.flora.FloraLayer;
@@ -5,7 +5,7 @@ import com.dfsek.tectonic.exception.ConfigException;
import com.dfsek.tectonic.exception.LoadException; import com.dfsek.tectonic.exception.LoadException;
import com.dfsek.tectonic.loading.ConfigLoader; import com.dfsek.tectonic.loading.ConfigLoader;
import com.dfsek.tectonic.loading.TypeLoader; import com.dfsek.tectonic.loading.TypeLoader;
import com.dfsek.terra.api.gaea.math.FastNoiseLite; import com.dfsek.terra.api.math.FastNoiseLite;
import com.dfsek.terra.generation.config.NoiseBuilder; import com.dfsek.terra.generation.config.NoiseBuilder;
import java.lang.reflect.Type; import java.lang.reflect.Type;
@@ -3,7 +3,7 @@ package com.dfsek.terra.config.loaders.config;
import com.dfsek.tectonic.exception.LoadException; import com.dfsek.tectonic.exception.LoadException;
import com.dfsek.tectonic.loading.ConfigLoader; import com.dfsek.tectonic.loading.ConfigLoader;
import com.dfsek.tectonic.loading.TypeLoader; import com.dfsek.tectonic.loading.TypeLoader;
import com.dfsek.terra.api.gaea.math.Range; import com.dfsek.terra.api.math.Range;
import com.dfsek.terra.generation.items.ores.OreConfig; import com.dfsek.terra.generation.items.ores.OreConfig;
import java.lang.reflect.Type; import java.lang.reflect.Type;
@@ -3,9 +3,9 @@ package com.dfsek.terra.config.loaders.config;
import com.dfsek.tectonic.exception.LoadException; import com.dfsek.tectonic.exception.LoadException;
import com.dfsek.tectonic.loading.ConfigLoader; import com.dfsek.tectonic.loading.ConfigLoader;
import com.dfsek.tectonic.loading.TypeLoader; import com.dfsek.tectonic.loading.TypeLoader;
import com.dfsek.terra.api.gaea.math.FastNoiseLite; import com.dfsek.terra.api.math.FastNoiseLite;
import com.dfsek.terra.api.gaea.math.ProbabilityCollection; import com.dfsek.terra.api.math.ProbabilityCollection;
import com.dfsek.terra.api.gaea.math.Range; import com.dfsek.terra.api.math.Range;
import com.dfsek.terra.api.platform.TerraPlugin; import com.dfsek.terra.api.platform.TerraPlugin;
import com.dfsek.terra.api.world.tree.Tree; import com.dfsek.terra.api.world.tree.Tree;
import com.dfsek.terra.config.loaders.Types; import com.dfsek.terra.config.loaders.Types;
@@ -4,7 +4,7 @@ import com.dfsek.tectonic.config.Configuration;
import com.dfsek.tectonic.exception.LoadException; import com.dfsek.tectonic.exception.LoadException;
import com.dfsek.tectonic.loading.ConfigLoader; import com.dfsek.tectonic.loading.ConfigLoader;
import com.dfsek.tectonic.loading.TypeLoader; import com.dfsek.tectonic.loading.TypeLoader;
import com.dfsek.terra.api.gaea.math.ProbabilityCollection; import com.dfsek.terra.api.math.ProbabilityCollection;
import com.dfsek.terra.api.platform.world.block.BlockData; import com.dfsek.terra.api.platform.world.block.BlockData;
import com.dfsek.terra.carving.CarverPalette; import com.dfsek.terra.carving.CarverPalette;
import com.dfsek.terra.config.loaders.Types; import com.dfsek.terra.config.loaders.Types;
@@ -3,7 +3,7 @@ package com.dfsek.terra.config.loaders.palette;
import com.dfsek.tectonic.exception.LoadException; import com.dfsek.tectonic.exception.LoadException;
import com.dfsek.tectonic.loading.ConfigLoader; import com.dfsek.tectonic.loading.ConfigLoader;
import com.dfsek.tectonic.loading.TypeLoader; import com.dfsek.tectonic.loading.TypeLoader;
import com.dfsek.terra.api.gaea.math.ProbabilityCollection; import com.dfsek.terra.api.math.ProbabilityCollection;
import com.dfsek.terra.api.platform.world.block.BlockData; import com.dfsek.terra.api.platform.world.block.BlockData;
import com.dfsek.terra.biome.palette.PaletteLayer; import com.dfsek.terra.biome.palette.PaletteLayer;
import com.dfsek.terra.config.loaders.Types; import com.dfsek.terra.config.loaders.Types;
@@ -5,11 +5,11 @@ import com.dfsek.tectonic.annotations.Default;
import com.dfsek.tectonic.annotations.Value; import com.dfsek.tectonic.annotations.Value;
import com.dfsek.tectonic.config.ValidatedConfigTemplate; import com.dfsek.tectonic.config.ValidatedConfigTemplate;
import com.dfsek.tectonic.exception.ValidationException; import com.dfsek.tectonic.exception.ValidationException;
import com.dfsek.terra.api.gaea.util.GlueList;
import com.dfsek.terra.api.platform.TerraPlugin; import com.dfsek.terra.api.platform.TerraPlugin;
import com.dfsek.terra.api.platform.world.Biome; import com.dfsek.terra.api.platform.world.Biome;
import com.dfsek.terra.api.platform.world.block.BlockData; import com.dfsek.terra.api.platform.world.block.BlockData;
import com.dfsek.terra.api.platform.world.block.MaterialData; import com.dfsek.terra.api.platform.world.block.MaterialData;
import com.dfsek.terra.api.util.GlueList;
import com.dfsek.terra.api.world.palette.Palette; import com.dfsek.terra.api.world.palette.Palette;
import com.dfsek.terra.biome.palette.PaletteHolder; import com.dfsek.terra.biome.palette.PaletteHolder;
import com.dfsek.terra.biome.palette.SinglePalette; import com.dfsek.terra.biome.palette.SinglePalette;
@@ -3,7 +3,7 @@ package com.dfsek.terra.config.templates;
import com.dfsek.tectonic.annotations.Abstractable; import com.dfsek.tectonic.annotations.Abstractable;
import com.dfsek.tectonic.annotations.Default; import com.dfsek.tectonic.annotations.Default;
import com.dfsek.tectonic.annotations.Value; import com.dfsek.tectonic.annotations.Value;
import com.dfsek.terra.api.gaea.math.Range; import com.dfsek.terra.api.math.Range;
import com.dfsek.terra.api.platform.world.block.MaterialData; import com.dfsek.terra.api.platform.world.block.MaterialData;
import com.dfsek.terra.carving.CarverPalette; import com.dfsek.terra.carving.CarverPalette;
import com.dfsek.terra.util.MaterialSet; import com.dfsek.terra.util.MaterialSet;
@@ -3,7 +3,7 @@ package com.dfsek.terra.config.templates;
import com.dfsek.tectonic.annotations.Abstractable; import com.dfsek.tectonic.annotations.Abstractable;
import com.dfsek.tectonic.annotations.Default; import com.dfsek.tectonic.annotations.Default;
import com.dfsek.tectonic.annotations.Value; import com.dfsek.tectonic.annotations.Value;
import com.dfsek.terra.api.gaea.math.Range; import com.dfsek.terra.api.math.Range;
import com.dfsek.terra.api.platform.world.block.BlockData; import com.dfsek.terra.api.platform.world.block.BlockData;
import com.dfsek.terra.generation.items.ores.Ore; import com.dfsek.terra.generation.items.ores.Ore;
import com.dfsek.terra.util.MaterialSet; import com.dfsek.terra.util.MaterialSet;
@@ -3,10 +3,10 @@ package com.dfsek.terra.config.templates;
import com.dfsek.tectonic.annotations.Abstractable; import com.dfsek.tectonic.annotations.Abstractable;
import com.dfsek.tectonic.annotations.Default; import com.dfsek.tectonic.annotations.Default;
import com.dfsek.tectonic.annotations.Value; import com.dfsek.tectonic.annotations.Value;
import com.dfsek.terra.api.gaea.math.ProbabilityCollection; import com.dfsek.terra.api.loot.LootTable;
import com.dfsek.terra.api.gaea.math.Range; import com.dfsek.terra.api.math.ProbabilityCollection;
import com.dfsek.terra.api.gaea.structures.loot.LootTable; import com.dfsek.terra.api.math.Range;
import com.dfsek.terra.api.gaea.util.GlueList; import com.dfsek.terra.api.util.GlueList;
import com.dfsek.terra.procgen.GridSpawn; import com.dfsek.terra.procgen.GridSpawn;
import java.util.List; import java.util.List;
@@ -3,7 +3,7 @@ package com.dfsek.terra.config.templates;
import com.dfsek.tectonic.annotations.Abstractable; import com.dfsek.tectonic.annotations.Abstractable;
import com.dfsek.tectonic.annotations.Default; import com.dfsek.tectonic.annotations.Default;
import com.dfsek.tectonic.annotations.Value; import com.dfsek.tectonic.annotations.Value;
import com.dfsek.terra.api.gaea.math.ProbabilityCollection; import com.dfsek.terra.api.math.ProbabilityCollection;
import com.dfsek.terra.util.MaterialSet; import com.dfsek.terra.util.MaterialSet;
@SuppressWarnings({"unused", "FieldMayBeFinal"}) @SuppressWarnings({"unused", "FieldMayBeFinal"})
@@ -1,6 +1,6 @@
package com.dfsek.terra.generation; package com.dfsek.terra.generation;
import com.dfsek.terra.api.gaea.math.Interpolator; import com.dfsek.terra.api.math.Interpolator;
import com.dfsek.terra.api.world.generation.GenerationPhase; import com.dfsek.terra.api.world.generation.GenerationPhase;
import com.dfsek.terra.biome.grid.master.TerraBiomeGrid; import com.dfsek.terra.biome.grid.master.TerraBiomeGrid;
import com.dfsek.terra.generation.config.WorldGenerator; import com.dfsek.terra.generation.config.WorldGenerator;
@@ -1,8 +1,7 @@
package com.dfsek.terra.generation; package com.dfsek.terra.generation;
import com.dfsek.terra.TerraWorld; import com.dfsek.terra.TerraWorld;
import com.dfsek.terra.api.gaea.math.ChunkInterpolator3; import com.dfsek.terra.api.math.ChunkInterpolator3;
import com.dfsek.terra.api.gaea.profiler.ProfileFuture;
import com.dfsek.terra.api.platform.TerraPlugin; import com.dfsek.terra.api.platform.TerraPlugin;
import com.dfsek.terra.api.platform.generator.ChunkGenerator; import com.dfsek.terra.api.platform.generator.ChunkGenerator;
import com.dfsek.terra.api.platform.world.BiomeGrid; import com.dfsek.terra.api.platform.world.BiomeGrid;
@@ -15,6 +14,7 @@ import com.dfsek.terra.api.platform.world.block.data.Slab;
import com.dfsek.terra.api.platform.world.block.data.Stairs; import com.dfsek.terra.api.platform.world.block.data.Stairs;
import com.dfsek.terra.api.platform.world.block.data.Waterlogged; import com.dfsek.terra.api.platform.world.block.data.Waterlogged;
import com.dfsek.terra.api.platform.world.vector.Vector3; import com.dfsek.terra.api.platform.world.vector.Vector3;
import com.dfsek.terra.api.profiler.ProfileFuture;
import com.dfsek.terra.api.world.biome.Biome; import com.dfsek.terra.api.world.biome.Biome;
import com.dfsek.terra.api.world.generation.GenerationPhase; import com.dfsek.terra.api.world.generation.GenerationPhase;
import com.dfsek.terra.api.world.palette.Palette; import com.dfsek.terra.api.world.palette.Palette;
@@ -1,6 +1,6 @@
package com.dfsek.terra.generation; package com.dfsek.terra.generation;
import com.dfsek.terra.api.gaea.math.ChunkInterpolator3; import com.dfsek.terra.api.math.ChunkInterpolator3;
import net.jafama.FastMath; import net.jafama.FastMath;
public class Sampler { public class Sampler {
@@ -1,8 +1,8 @@
package com.dfsek.terra.generation; package com.dfsek.terra.generation;
import com.dfsek.terra.api.gaea.math.ProbabilityCollection; import com.dfsek.terra.api.math.ProbabilityCollection;
import com.dfsek.terra.api.gaea.world.Flora;
import com.dfsek.terra.api.world.biome.Decorator; import com.dfsek.terra.api.world.biome.Decorator;
import com.dfsek.terra.api.world.flora.Flora;
import com.dfsek.terra.api.world.tree.Tree; import com.dfsek.terra.api.world.tree.Tree;
public class UserDefinedDecorator extends Decorator { public class UserDefinedDecorator extends Decorator {
@@ -3,7 +3,7 @@ package com.dfsek.terra.generation.config;
import com.dfsek.tectonic.annotations.Default; import com.dfsek.tectonic.annotations.Default;
import com.dfsek.tectonic.annotations.Value; import com.dfsek.tectonic.annotations.Value;
import com.dfsek.tectonic.config.ConfigTemplate; import com.dfsek.tectonic.config.ConfigTemplate;
import com.dfsek.terra.api.gaea.math.FastNoiseLite; import com.dfsek.terra.api.math.FastNoiseLite;
public class NoiseBuilder implements ConfigTemplate { public class NoiseBuilder implements ConfigTemplate {
@Value("type") @Value("type")
@@ -1,6 +1,6 @@
package com.dfsek.terra.generation.config; package com.dfsek.terra.generation.config;
import com.dfsek.terra.api.gaea.math.Interpolator; import com.dfsek.terra.api.math.Interpolator;
import com.dfsek.terra.api.platform.world.World; import com.dfsek.terra.api.platform.world.World;
import com.dfsek.terra.api.platform.world.block.BlockData; import com.dfsek.terra.api.platform.world.block.BlockData;
import com.dfsek.terra.api.world.biome.Generator; import com.dfsek.terra.api.world.biome.Generator;
@@ -1,8 +1,8 @@
package com.dfsek.terra.generation.items; package com.dfsek.terra.generation.items;
import com.dfsek.terra.api.gaea.math.FastNoiseLite; import com.dfsek.terra.api.math.FastNoiseLite;
import com.dfsek.terra.api.gaea.math.ProbabilityCollection; import com.dfsek.terra.api.math.ProbabilityCollection;
import com.dfsek.terra.api.gaea.math.Range; import com.dfsek.terra.api.math.Range;
import com.dfsek.terra.api.platform.world.Chunk; import com.dfsek.terra.api.platform.world.Chunk;
import com.dfsek.terra.api.platform.world.vector.Vector2; import com.dfsek.terra.api.platform.world.vector.Vector2;
@@ -1,8 +1,8 @@
package com.dfsek.terra.generation.items; package com.dfsek.terra.generation.items;
import com.dfsek.terra.api.gaea.math.ProbabilityCollection; import com.dfsek.terra.api.loot.LootTable;
import com.dfsek.terra.api.gaea.math.Range; import com.dfsek.terra.api.math.ProbabilityCollection;
import com.dfsek.terra.api.gaea.structures.loot.LootTable; import com.dfsek.terra.api.math.Range;
import com.dfsek.terra.config.templates.StructureTemplate; import com.dfsek.terra.config.templates.StructureTemplate;
import com.dfsek.terra.procgen.GridSpawn; import com.dfsek.terra.procgen.GridSpawn;
@@ -1,13 +1,13 @@
package com.dfsek.terra.generation.items.flora; package com.dfsek.terra.generation.items.flora;
import com.dfsek.terra.api.gaea.math.Range; import com.dfsek.terra.api.math.Range;
import com.dfsek.terra.api.gaea.util.GlueList;
import com.dfsek.terra.api.gaea.world.Flora;
import com.dfsek.terra.api.platform.world.Chunk; import com.dfsek.terra.api.platform.world.Chunk;
import com.dfsek.terra.api.platform.world.block.Block; import com.dfsek.terra.api.platform.world.block.Block;
import com.dfsek.terra.api.platform.world.block.BlockData; import com.dfsek.terra.api.platform.world.block.BlockData;
import com.dfsek.terra.api.platform.world.block.BlockFace; import com.dfsek.terra.api.platform.world.block.BlockFace;
import com.dfsek.terra.api.platform.world.vector.Location; import com.dfsek.terra.api.platform.world.vector.Location;
import com.dfsek.terra.api.util.GlueList;
import com.dfsek.terra.api.world.flora.Flora;
import java.util.List; import java.util.List;
@@ -1,13 +1,13 @@
package com.dfsek.terra.generation.items.flora; package com.dfsek.terra.generation.items.flora;
import com.dfsek.terra.api.gaea.math.Range; import com.dfsek.terra.api.math.Range;
import com.dfsek.terra.api.gaea.util.GlueList;
import com.dfsek.terra.api.gaea.world.Flora;
import com.dfsek.terra.api.platform.world.Chunk; import com.dfsek.terra.api.platform.world.Chunk;
import com.dfsek.terra.api.platform.world.block.Block; import com.dfsek.terra.api.platform.world.block.Block;
import com.dfsek.terra.api.platform.world.block.BlockData; import com.dfsek.terra.api.platform.world.block.BlockData;
import com.dfsek.terra.api.platform.world.block.BlockFace; import com.dfsek.terra.api.platform.world.block.BlockFace;
import com.dfsek.terra.api.platform.world.vector.Location; import com.dfsek.terra.api.platform.world.vector.Location;
import com.dfsek.terra.api.util.GlueList;
import com.dfsek.terra.api.world.flora.Flora;
import com.dfsek.terra.util.MaterialSet; import com.dfsek.terra.util.MaterialSet;
import java.util.List; import java.util.List;
@@ -1,11 +1,11 @@
package com.dfsek.terra.generation.items.flora; package com.dfsek.terra.generation.items.flora;
import com.dfsek.terra.api.gaea.math.FastNoiseLite; import com.dfsek.terra.api.math.FastNoiseLite;
import com.dfsek.terra.api.gaea.math.ProbabilityCollection; import com.dfsek.terra.api.math.ProbabilityCollection;
import com.dfsek.terra.api.gaea.math.Range; import com.dfsek.terra.api.math.Range;
import com.dfsek.terra.api.gaea.world.Flora;
import com.dfsek.terra.api.platform.world.Chunk; import com.dfsek.terra.api.platform.world.Chunk;
import com.dfsek.terra.api.platform.world.vector.Vector2; import com.dfsek.terra.api.platform.world.vector.Vector2;
import com.dfsek.terra.api.world.flora.Flora;
import com.dfsek.terra.generation.items.PlaceableLayer; import com.dfsek.terra.generation.items.PlaceableLayer;
import java.util.Random; import java.util.Random;
@@ -1,9 +1,6 @@
package com.dfsek.terra.generation.items.flora; package com.dfsek.terra.generation.items.flora;
import com.dfsek.terra.api.gaea.math.Range; import com.dfsek.terra.api.math.Range;
import com.dfsek.terra.api.gaea.util.FastRandom;
import com.dfsek.terra.api.gaea.util.GlueList;
import com.dfsek.terra.api.gaea.world.Flora;
import com.dfsek.terra.api.platform.TerraPlugin; import com.dfsek.terra.api.platform.TerraPlugin;
import com.dfsek.terra.api.platform.world.Chunk; import com.dfsek.terra.api.platform.world.Chunk;
import com.dfsek.terra.api.platform.world.WorldHandle; import com.dfsek.terra.api.platform.world.WorldHandle;
@@ -14,6 +11,9 @@ import com.dfsek.terra.api.platform.world.block.data.Directional;
import com.dfsek.terra.api.platform.world.block.data.MultipleFacing; import com.dfsek.terra.api.platform.world.block.data.MultipleFacing;
import com.dfsek.terra.api.platform.world.block.data.Rotatable; import com.dfsek.terra.api.platform.world.block.data.Rotatable;
import com.dfsek.terra.api.platform.world.vector.Location; import com.dfsek.terra.api.platform.world.vector.Location;
import com.dfsek.terra.api.util.FastRandom;
import com.dfsek.terra.api.util.GlueList;
import com.dfsek.terra.api.world.flora.Flora;
import com.dfsek.terra.api.world.palette.Palette; import com.dfsek.terra.api.world.palette.Palette;
import com.dfsek.terra.util.MaterialSet; import com.dfsek.terra.util.MaterialSet;
import net.jafama.FastMath; import net.jafama.FastMath;
@@ -1,7 +1,7 @@
package com.dfsek.terra.generation.items.ores; package com.dfsek.terra.generation.items.ores;
import com.dfsek.terra.api.gaea.math.FastNoiseLite; import com.dfsek.terra.api.math.FastNoiseLite;
import com.dfsek.terra.api.gaea.math.Range; import com.dfsek.terra.api.math.Range;
import com.dfsek.terra.api.platform.TerraPlugin; import com.dfsek.terra.api.platform.TerraPlugin;
import com.dfsek.terra.api.platform.world.Chunk; import com.dfsek.terra.api.platform.world.Chunk;
import com.dfsek.terra.api.platform.world.WorldHandle; import com.dfsek.terra.api.platform.world.WorldHandle;
@@ -1,6 +1,6 @@
package com.dfsek.terra.generation.items.ores; package com.dfsek.terra.generation.items.ores;
import com.dfsek.terra.api.gaea.math.Range; import com.dfsek.terra.api.math.Range;
public class OreConfig { public class OreConfig {
private final Range amount; private final Range amount;
@@ -1,6 +1,6 @@
package com.dfsek.terra.generation.items.ores; package com.dfsek.terra.generation.items.ores;
import com.dfsek.terra.api.gaea.util.GlueList; import com.dfsek.terra.api.util.GlueList;
import java.util.List; import java.util.List;
import java.util.function.BiConsumer; import java.util.function.BiConsumer;
@@ -1,6 +1,6 @@
package com.dfsek.terra.generation.items.ores; package com.dfsek.terra.generation.items.ores;
import com.dfsek.terra.api.gaea.math.Range; import com.dfsek.terra.api.math.Range;
import com.dfsek.terra.api.platform.TerraPlugin; import com.dfsek.terra.api.platform.TerraPlugin;
import com.dfsek.terra.api.platform.world.Chunk; import com.dfsek.terra.api.platform.world.Chunk;
import com.dfsek.terra.api.platform.world.WorldHandle; import com.dfsek.terra.api.platform.world.WorldHandle;
@@ -1,6 +1,6 @@
package com.dfsek.terra.generation.items.tree; package com.dfsek.terra.generation.items.tree;
import com.dfsek.terra.api.gaea.math.ProbabilityCollection; import com.dfsek.terra.api.math.ProbabilityCollection;
import com.dfsek.terra.api.platform.TerraPlugin; import com.dfsek.terra.api.platform.TerraPlugin;
import com.dfsek.terra.api.platform.world.vector.Location; import com.dfsek.terra.api.platform.world.vector.Location;
import com.dfsek.terra.api.world.tree.Tree; import com.dfsek.terra.api.world.tree.Tree;
@@ -1,8 +1,8 @@
package com.dfsek.terra.generation.items.tree; package com.dfsek.terra.generation.items.tree;
import com.dfsek.terra.api.gaea.math.FastNoiseLite; import com.dfsek.terra.api.math.FastNoiseLite;
import com.dfsek.terra.api.gaea.math.ProbabilityCollection; import com.dfsek.terra.api.math.ProbabilityCollection;
import com.dfsek.terra.api.gaea.math.Range; import com.dfsek.terra.api.math.Range;
import com.dfsek.terra.api.platform.world.Chunk; import com.dfsek.terra.api.platform.world.Chunk;
import com.dfsek.terra.api.platform.world.block.Block; import com.dfsek.terra.api.platform.world.block.Block;
import com.dfsek.terra.api.platform.world.block.BlockFace; import com.dfsek.terra.api.platform.world.block.BlockFace;
@@ -1,6 +1,6 @@
package com.dfsek.terra.math; package com.dfsek.terra.math;
import com.dfsek.terra.api.gaea.math.FastNoiseLite; import com.dfsek.terra.api.math.FastNoiseLite;
import com.dfsek.terra.generation.config.NoiseBuilder; import com.dfsek.terra.generation.config.NoiseBuilder;
import com.dfsek.terra.util.hash.HashMapDoubleDouble; import com.dfsek.terra.util.hash.HashMapDoubleDouble;
import parsii.eval.Expression; import parsii.eval.Expression;
@@ -1,6 +1,6 @@
package com.dfsek.terra.math; package com.dfsek.terra.math;
import com.dfsek.terra.api.gaea.math.FastNoiseLite; import com.dfsek.terra.api.math.FastNoiseLite;
import com.dfsek.terra.generation.config.NoiseBuilder; import com.dfsek.terra.generation.config.NoiseBuilder;
import parsii.eval.Expression; import parsii.eval.Expression;
@@ -1,13 +1,13 @@
package com.dfsek.terra.math; package com.dfsek.terra.math;
import com.dfsek.terra.api.gaea.util.FastRandom; import com.dfsek.terra.api.util.FastRandom;
import parsii.eval.Expression; import parsii.eval.Expression;
import parsii.eval.Function; import parsii.eval.Function;
import java.util.List; import java.util.List;
/** /**
* Provides access to a PRNG ({@link com.dfsek.terra.api.gaea.util.FastRandom}) * Provides access to a PRNG ({@link com.dfsek.terra.api.util.FastRandom})
* <p> * <p>
* Takes 1 argument, which sets the seed * Takes 1 argument, which sets the seed
*/ */
@@ -1,7 +1,6 @@
package com.dfsek.terra.population; package com.dfsek.terra.population;
import com.dfsek.terra.TerraWorld; import com.dfsek.terra.TerraWorld;
import com.dfsek.terra.api.gaea.profiler.ProfileFuture;
import com.dfsek.terra.api.platform.TerraPlugin; import com.dfsek.terra.api.platform.TerraPlugin;
import com.dfsek.terra.api.platform.world.Chunk; import com.dfsek.terra.api.platform.world.Chunk;
import com.dfsek.terra.api.platform.world.World; import com.dfsek.terra.api.platform.world.World;
@@ -10,6 +9,7 @@ import com.dfsek.terra.api.platform.world.block.Block;
import com.dfsek.terra.api.platform.world.block.BlockData; import com.dfsek.terra.api.platform.world.block.BlockData;
import com.dfsek.terra.api.platform.world.block.MaterialData; import com.dfsek.terra.api.platform.world.block.MaterialData;
import com.dfsek.terra.api.platform.world.vector.Location; import com.dfsek.terra.api.platform.world.vector.Location;
import com.dfsek.terra.api.profiler.ProfileFuture;
import com.dfsek.terra.api.world.generation.TerraBlockPopulator; import com.dfsek.terra.api.world.generation.TerraBlockPopulator;
import com.dfsek.terra.carving.UserDefinedCarver; import com.dfsek.terra.carving.UserDefinedCarver;
import com.dfsek.terra.config.base.ConfigPack; import com.dfsek.terra.config.base.ConfigPack;
@@ -1,11 +1,11 @@
package com.dfsek.terra.population; package com.dfsek.terra.population;
import com.dfsek.terra.TerraWorld; import com.dfsek.terra.TerraWorld;
import com.dfsek.terra.api.gaea.profiler.ProfileFuture;
import com.dfsek.terra.api.platform.TerraPlugin; import com.dfsek.terra.api.platform.TerraPlugin;
import com.dfsek.terra.api.platform.world.Chunk; import com.dfsek.terra.api.platform.world.Chunk;
import com.dfsek.terra.api.platform.world.World; import com.dfsek.terra.api.platform.world.World;
import com.dfsek.terra.api.platform.world.vector.Vector2; import com.dfsek.terra.api.platform.world.vector.Vector2;
import com.dfsek.terra.api.profiler.ProfileFuture;
import com.dfsek.terra.api.world.generation.GenerationPhase; import com.dfsek.terra.api.world.generation.GenerationPhase;
import com.dfsek.terra.api.world.generation.TerraBlockPopulator; import com.dfsek.terra.api.world.generation.TerraBlockPopulator;
import com.dfsek.terra.biome.UserDefinedBiome; import com.dfsek.terra.biome.UserDefinedBiome;
@@ -1,13 +1,13 @@
package com.dfsek.terra.population; package com.dfsek.terra.population;
import com.dfsek.terra.TerraWorld; import com.dfsek.terra.TerraWorld;
import com.dfsek.terra.api.gaea.math.MathUtil; import com.dfsek.terra.api.math.MathUtil;
import com.dfsek.terra.api.gaea.profiler.ProfileFuture;
import com.dfsek.terra.api.gaea.util.FastRandom;
import com.dfsek.terra.api.platform.TerraPlugin; import com.dfsek.terra.api.platform.TerraPlugin;
import com.dfsek.terra.api.platform.world.Chunk; import com.dfsek.terra.api.platform.world.Chunk;
import com.dfsek.terra.api.platform.world.World; import com.dfsek.terra.api.platform.world.World;
import com.dfsek.terra.api.platform.world.vector.Vector3; import com.dfsek.terra.api.platform.world.vector.Vector3;
import com.dfsek.terra.api.profiler.ProfileFuture;
import com.dfsek.terra.api.util.FastRandom;
import com.dfsek.terra.api.world.biome.Biome; import com.dfsek.terra.api.world.biome.Biome;
import com.dfsek.terra.api.world.generation.GenerationPhase; import com.dfsek.terra.api.world.generation.GenerationPhase;
import com.dfsek.terra.api.world.generation.TerraBlockPopulator; import com.dfsek.terra.api.world.generation.TerraBlockPopulator;
@@ -1,11 +1,11 @@
package com.dfsek.terra.population; package com.dfsek.terra.population;
import com.dfsek.terra.TerraWorld; import com.dfsek.terra.TerraWorld;
import com.dfsek.terra.api.gaea.profiler.ProfileFuture;
import com.dfsek.terra.api.platform.TerraPlugin; import com.dfsek.terra.api.platform.TerraPlugin;
import com.dfsek.terra.api.platform.world.Chunk; import com.dfsek.terra.api.platform.world.Chunk;
import com.dfsek.terra.api.platform.world.World; import com.dfsek.terra.api.platform.world.World;
import com.dfsek.terra.api.platform.world.vector.Vector2; import com.dfsek.terra.api.platform.world.vector.Vector2;
import com.dfsek.terra.api.profiler.ProfileFuture;
import com.dfsek.terra.api.world.generation.GenerationPhase; import com.dfsek.terra.api.world.generation.GenerationPhase;
import com.dfsek.terra.api.world.generation.TerraBlockPopulator; import com.dfsek.terra.api.world.generation.TerraBlockPopulator;
import com.dfsek.terra.biome.UserDefinedBiome; import com.dfsek.terra.biome.UserDefinedBiome;

Some files were not shown because too many files have changed in this diff Show More