This commit is contained in:
dfsek
2021-12-14 11:01:28 -07:00
parent bf5e7f589d
commit 58acca3078
147 changed files with 414 additions and 479 deletions

View File

@@ -10,11 +10,11 @@ package com.dfsek.terra.api.addon;
import ca.solostudios.strata.version.Version;
import ca.solostudios.strata.version.VersionRange;
import com.dfsek.terra.api.util.StringIdentifiable;
import java.util.Collections;
import java.util.Map;
import com.dfsek.terra.api.util.StringIdentifiable;
public interface BaseAddon extends StringIdentifiable {
default void initialize() { }

View File

@@ -17,7 +17,7 @@ public interface BootstrapBaseAddon<T extends BaseAddon> extends BaseAddon {
* Load all the relevant addons in the specified path.
*
* @param addonsFolder Path containing addons.
* @param parent parent class loader
* @param parent parent class loader
*
* @return Loaded addons
*/

View File

@@ -1,6 +1,6 @@
afterEvaluate {
subprojects.forEach {
if(it != project) {
if (it != project) {
println("Project: ${it.name}")
dependencies {
shadedApi(it)

View File

@@ -7,12 +7,12 @@
package com.dfsek.terra.api.config;
import ca.solostudios.strata.version.VersionRange;
import java.lang.reflect.Type;
import java.util.List;
import java.util.Map;
import ca.solostudios.strata.version.VersionRange;
import com.dfsek.terra.api.addon.BaseAddon;
import com.dfsek.terra.api.registry.CheckedRegistry;
import com.dfsek.terra.api.registry.meta.RegistryFactory;
@@ -21,11 +21,9 @@ import com.dfsek.terra.api.tectonic.LoaderHolder;
import com.dfsek.terra.api.tectonic.LoaderRegistrar;
import com.dfsek.terra.api.util.StringIdentifiable;
import com.dfsek.terra.api.util.reflection.TypeKey;
import com.dfsek.terra.api.world.ServerWorld;
import com.dfsek.terra.api.world.biome.generation.BiomeProvider;
import com.dfsek.terra.api.world.chunk.generation.stage.GenerationStage;
import com.dfsek.terra.api.world.chunk.generation.util.provider.ChunkGeneratorProvider;
import com.dfsek.terra.api.world.chunk.generation.util.provider.GenerationStageProvider;
public interface ConfigPack extends LoaderRegistrar, LoaderHolder, RegistryHolder, StringIdentifiable {

View File

@@ -7,14 +7,12 @@
package com.dfsek.terra.api.handle;
import com.dfsek.terra.api.block.entity.BlockEntity;
import com.dfsek.terra.api.block.state.BlockState;
import com.dfsek.terra.api.entity.EntityType;
import com.dfsek.terra.api.util.vector.Vector3;
import org.jetbrains.annotations.Contract;
import org.jetbrains.annotations.NotNull;
import com.dfsek.terra.api.block.state.BlockState;
import com.dfsek.terra.api.entity.EntityType;
/**
* Interface to be implemented for world manipulation.

View File

@@ -7,14 +7,14 @@
package com.dfsek.terra.api.structure;
import org.jetbrains.annotations.ApiStatus.Experimental;
import java.util.List;
import java.util.Random;
import com.dfsek.terra.api.inventory.Inventory;
import com.dfsek.terra.api.inventory.ItemStack;
import org.jetbrains.annotations.ApiStatus.Experimental;
@Experimental
public interface LootTable {

View File

@@ -7,10 +7,10 @@
package com.dfsek.terra.api.structure;
import com.dfsek.terra.api.util.vector.Vector3;
import org.jetbrains.annotations.ApiStatus.Experimental;
import com.dfsek.terra.api.util.vector.Vector3;
@Experimental
public interface StructureSpawn {

View File

@@ -7,12 +7,12 @@
package com.dfsek.terra.api.structure.buffer;
import com.dfsek.terra.api.util.vector.Vector3;
import com.dfsek.terra.api.world.chunk.Chunk;
import com.dfsek.terra.api.world.ServerWorld;
import org.jetbrains.annotations.ApiStatus.Experimental;
import com.dfsek.terra.api.util.vector.Vector3;
import com.dfsek.terra.api.world.ServerWorld;
import com.dfsek.terra.api.world.chunk.Chunk;
@Experimental
public interface Buffer {

View File

@@ -7,12 +7,11 @@
package com.dfsek.terra.api.structure.buffer;
import com.dfsek.terra.api.util.vector.Vector3;
import com.dfsek.terra.api.world.WritableWorld;
import org.jetbrains.annotations.ApiStatus.Experimental;
import com.dfsek.terra.api.util.vector.Vector3;
import com.dfsek.terra.api.world.WritableWorld;
@Experimental
public interface BufferedItem {

View File

@@ -7,17 +7,17 @@
package com.dfsek.terra.api.structure.buffer.buffers;
import org.jetbrains.annotations.ApiStatus.Experimental;
import java.util.LinkedHashMap;
import java.util.Map;
import com.dfsek.terra.api.structure.buffer.Buffer;
import com.dfsek.terra.api.structure.buffer.BufferedItem;
import com.dfsek.terra.api.util.vector.Vector3;
import com.dfsek.terra.api.world.ServerWorld;
import com.dfsek.terra.api.world.WritableWorld;
import com.dfsek.terra.api.world.chunk.Chunk;
import com.dfsek.terra.api.world.ServerWorld;
import org.jetbrains.annotations.ApiStatus.Experimental;
/**

View File

@@ -7,9 +7,8 @@
package com.dfsek.terra.api.structure.buffer.buffers;
import com.dfsek.terra.api.world.ServerWorld;
import net.jafama.FastMath;
import org.jetbrains.annotations.ApiStatus.Experimental;
import java.util.LinkedHashMap;
import java.util.Map;
@@ -18,10 +17,9 @@ import com.dfsek.terra.api.structure.buffer.Buffer;
import com.dfsek.terra.api.structure.buffer.BufferedItem;
import com.dfsek.terra.api.structure.buffer.items.Cell;
import com.dfsek.terra.api.util.vector.Vector3;
import com.dfsek.terra.api.world.ServerWorld;
import com.dfsek.terra.api.world.chunk.Chunk;
import org.jetbrains.annotations.ApiStatus.Experimental;
@Experimental
public class StructureBuffer implements Buffer {

View File

@@ -7,8 +7,6 @@
package com.dfsek.terra.api.structure.buffer.items;
import com.dfsek.terra.api.world.WritableWorld;
import org.jetbrains.annotations.ApiStatus.Experimental;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -18,6 +16,7 @@ import com.dfsek.terra.api.block.state.BlockState;
import com.dfsek.terra.api.block.state.properties.base.Properties;
import com.dfsek.terra.api.structure.buffer.BufferedItem;
import com.dfsek.terra.api.util.vector.Vector3;
import com.dfsek.terra.api.world.WritableWorld;
@Experimental

View File

@@ -7,16 +7,15 @@
package com.dfsek.terra.api.structure.buffer.items;
import org.jetbrains.annotations.ApiStatus.Experimental;
import java.util.ArrayList;
import java.util.List;
import com.dfsek.terra.api.structure.buffer.BufferedItem;
import com.dfsek.terra.api.util.vector.Vector3;
import com.dfsek.terra.api.world.WritableWorld;
import org.jetbrains.annotations.ApiStatus.Experimental;
@Experimental
public class Cell implements BufferedItem {

View File

@@ -7,14 +7,14 @@
package com.dfsek.terra.api.structure.configured;
import org.jetbrains.annotations.ApiStatus.Experimental;
import com.dfsek.terra.api.structure.Structure;
import com.dfsek.terra.api.structure.StructureSpawn;
import com.dfsek.terra.api.util.Range;
import com.dfsek.terra.api.util.StringIdentifiable;
import com.dfsek.terra.api.util.collection.ProbabilityCollection;
import org.jetbrains.annotations.ApiStatus.Experimental;
@Experimental
public interface ConfiguredStructure extends StringIdentifiable {

View File

@@ -7,8 +7,8 @@
package com.dfsek.terra.api.tectonic;
import com.dfsek.tectonic.api.loader.type.TypeLoader;
import com.dfsek.tectonic.api.config.template.object.ObjectTemplate;
import com.dfsek.tectonic.api.loader.type.TypeLoader;
import java.lang.reflect.Type;
import java.util.function.Supplier;

View File

@@ -7,12 +7,11 @@
package com.dfsek.terra.api.world.chunk;
import com.dfsek.terra.api.block.state.BlockState;
import com.dfsek.terra.api.world.ServerWorld;
import org.jetbrains.annotations.NotNull;
import com.dfsek.terra.api.block.state.BlockState;
import com.dfsek.terra.api.world.ServerWorld;
public interface Chunk extends ChunkAccess {
void setBlock(int x, int y, int z, BlockState data, boolean physics);

View File

@@ -9,14 +9,11 @@ package com.dfsek.terra.api.world.chunk.generation;
import org.jetbrains.annotations.NotNull;
import java.util.List;
import com.dfsek.terra.api.block.state.BlockState;
import com.dfsek.terra.api.util.vector.Vector3;
import com.dfsek.terra.api.util.vector.integer.Vector3Int;
import com.dfsek.terra.api.world.ServerWorld;
import com.dfsek.terra.api.world.WritableWorld;
import com.dfsek.terra.api.world.chunk.generation.stage.GenerationStage;
public interface ChunkGenerator {

View File

@@ -13,6 +13,7 @@ public interface ProtoWorld extends WritableWorld {
* Get the world object this ProtoWorld represents
*
* <b>Do not read from/write to this world!</b>
*
* @return The world
*/
ServerWorld getWorld();

View File

@@ -7,10 +7,10 @@
package com.dfsek.terra.api.inject.exception;
import com.dfsek.terra.api.inject.Injector;
import java.io.Serial;
import com.dfsek.terra.api.inject.Injector;
/**
* Thrown when dynamic dependency injection cannot be completed by an {@link Injector}.

View File

@@ -7,10 +7,10 @@
package com.dfsek.terra.api.registry;
import com.dfsek.terra.api.registry.exception.DuplicateEntryException;
import org.jetbrains.annotations.NotNull;
import com.dfsek.terra.api.registry.exception.DuplicateEntryException;
public interface CheckedRegistry<T> extends Registry<T> {
/**

View File

@@ -7,10 +7,10 @@
package com.dfsek.terra.api.registry;
import com.dfsek.terra.api.registry.exception.DuplicateEntryException;
import org.jetbrains.annotations.NotNull;
import com.dfsek.terra.api.registry.exception.DuplicateEntryException;
public interface OpenRegistry<T> extends Registry<T> {
/**

View File

@@ -8,9 +8,6 @@
package com.dfsek.terra.api.registry;
import com.dfsek.tectonic.api.loader.type.TypeLoader;
import com.dfsek.terra.api.registry.exception.NoSuchEntryException;
import org.jetbrains.annotations.Contract;
import org.jetbrains.annotations.NotNull;

View File

@@ -80,7 +80,7 @@ public final class Either<L, R> {
@Override
public boolean equals(Object obj) {
if(!(obj instanceof Either<?, ?> that)) return false;
return (this.leftPresent && that.leftPresent && Objects.equals(this.left, that.left))
|| (!this.leftPresent && !that.leftPresent && Objects.equals(this.right, that.right));
}

View File

@@ -56,7 +56,7 @@ public final class Pair<L, R> {
@Override
public boolean equals(Object obj) {
if(!(obj instanceof Pair<?, ?> that)) return false;
return Objects.equals(this.left, that.left) && Objects.equals(this.right, that.right);
}
@@ -104,7 +104,7 @@ public final class Pair<L, R> {
@Override
public boolean equals(Object obj) {
if(!(obj instanceof Mutable<?, ?> that)) return false;
return Objects.equals(this.left, that.left) && Objects.equals(this.right, that.right);
}
}

View File

@@ -42,7 +42,7 @@ public class TypeKey<T> {
if(!(b instanceof ParameterizedType pb)) {
return false;
}
return Objects.equals(pa.getOwnerType(), pb.getOwnerType())
&& pa.getRawType().equals(pb.getRawType())
&& Arrays.equals(pa.getActualTypeArguments(), pb.getActualTypeArguments());
@@ -50,13 +50,13 @@ public class TypeKey<T> {
if(!(b instanceof GenericArrayType gb)) {
return false;
}
return equals(ga.getGenericComponentType(), gb.getGenericComponentType());
} else if(a instanceof WildcardType wa) {
if(!(b instanceof WildcardType wb)) {
return false;
}
return Arrays.equals(wa.getUpperBounds(), wb.getUpperBounds())
&& Arrays.equals(wa.getLowerBounds(), wb.getLowerBounds());
} else if(a instanceof TypeVariable<?> va) {

View File

@@ -7,11 +7,10 @@ import com.dfsek.terra.api.util.Rotation;
* oh yeah
*/
public class Vector2Int {
private final int x;
private final int z;
private static final Vector2Int ZERO = new Vector2Int(0, 0);
private static final Vector2Int UNIT = new Vector2Int(0, 1);
private final int x;
private final int z;
protected Vector2Int(int x, int z) {
this.x = x;
@@ -62,19 +61,19 @@ public class Vector2Int {
this.x = x;
this.z = z;
}
public int getZ() {
return z;
}
public int getX() {
return x;
}
public void setZ(int z) {
this.z = z;
}
public int getX() {
return x;
}
public void setX(int x) {
this.x = x;
}

View File

@@ -1,10 +1,9 @@
package com.dfsek.terra.api.util.vector.integer;
public class Vector3Int {
private final int x, y, z;
private static final Vector3Int ZERO = new Vector3Int(0, 0, 0);
private static final Vector3Int UNIT = new Vector3Int(0, 1, 0);
private final int x, y, z;
protected Vector3Int(int x, int y, int z) {
this.x = x;
@@ -12,6 +11,18 @@ public class Vector3Int {
this.z = z;
}
public static Vector3Int unit() {
return UNIT;
}
public static Vector3Int zero() {
return ZERO;
}
public static Vector3Int of(int x, int y, int z) {
return new Vector3Int(x, y, z);
}
public int getX() {
return x;
}
@@ -28,18 +39,7 @@ public class Vector3Int {
return new Mutable(x, y, z);
}
public static Vector3Int unit() {
return UNIT;
}
public static Vector3Int zero() {
return ZERO;
}
public static Vector3Int of(int x, int y, int z) {
return new Vector3Int(x, y, z);
}
public static class Mutable {
private int x, y, z;
@@ -48,31 +48,31 @@ public class Vector3Int {
this.y = y;
this.z = z;
}
public void setX(int x) {
this.x = x;
}
public void setY(int y) {
this.y = y;
}
public void setZ(int z) {
this.z = z;
}
public int getX() {
return x;
}
public void setX(int x) {
this.x = x;
}
public int getY() {
return y;
}
public void setY(int y) {
this.y = y;
}
public int getZ() {
return z;
}
public void setZ(int z) {
this.z = z;
}
public Vector3Int immutable() {
return Vector3Int.of(x, y, z);
}