begin refactor

This commit is contained in:
dfsek
2021-06-23 09:42:17 -07:00
parent cf214cc274
commit 7495a6b4a1
515 changed files with 1917 additions and 2018 deletions

View File

@@ -1,4 +1,4 @@
package com.dfsek.terra.api.platform;
package com.dfsek.terra.api;
/**
* An interface that contains a platform delegate.

View File

@@ -2,9 +2,9 @@ package com.dfsek.terra.api;
import com.dfsek.terra.api.addons.TerraAddon;
import com.dfsek.terra.api.event.EventManager;
import com.dfsek.terra.api.platform.handle.ItemHandle;
import com.dfsek.terra.api.platform.handle.WorldHandle;
import com.dfsek.terra.api.platform.world.World;
import com.dfsek.terra.api.handle.ItemHandle;
import com.dfsek.terra.api.handle.WorldHandle;
import com.dfsek.terra.api.world.World;
import com.dfsek.terra.api.registry.CheckedRegistry;
import com.dfsek.terra.api.registry.LockedRegistry;
import com.dfsek.terra.api.util.JarUtil;

View File

@@ -1,9 +1,9 @@
package com.dfsek.terra.api.addons;
package com.dfsek.terra.api.addon;
import com.dfsek.terra.api.addons.annotations.Addon;
import com.dfsek.terra.api.addons.annotations.Author;
import com.dfsek.terra.api.addons.annotations.Version;
import com.dfsek.terra.api.addon.annotations.Addon;
import com.dfsek.terra.api.addon.annotations.Author;
import com.dfsek.terra.api.addon.annotations.Version;
import org.jetbrains.annotations.NotNull;
/**

View File

@@ -1,4 +1,4 @@
package com.dfsek.terra.api.addons.annotations;
package com.dfsek.terra.api.addon.annotations;
import org.jetbrains.annotations.NotNull;

View File

@@ -1,4 +1,4 @@
package com.dfsek.terra.api.addons.annotations;
package com.dfsek.terra.api.addon.annotations;
import org.jetbrains.annotations.NotNull;

View File

@@ -1,4 +1,4 @@
package com.dfsek.terra.api.addons.annotations;
package com.dfsek.terra.api.addon.annotations;
import org.jetbrains.annotations.NotNull;

View File

@@ -1,4 +1,4 @@
package com.dfsek.terra.api.addons.annotations;
package com.dfsek.terra.api.addon.annotations;
import org.jetbrains.annotations.NotNull;

View File

@@ -0,0 +1,5 @@
package com.dfsek.terra.api.block;
public enum Axis {
X, Y, Z
}

View File

@@ -1,8 +1,8 @@
package com.dfsek.terra.api.platform.block;
package com.dfsek.terra.api.block;
import com.dfsek.terra.api.math.vector.Location;
import com.dfsek.terra.api.platform.Handle;
import com.dfsek.terra.api.platform.block.state.BlockState;
import com.dfsek.terra.api.vector.Location;
import com.dfsek.terra.api.Handle;
import com.dfsek.terra.api.block.state.BlockState;
public interface Block extends Handle {
void setBlockData(BlockData data, boolean physics);

View File

@@ -1,6 +1,6 @@
package com.dfsek.terra.api.platform.block;
package com.dfsek.terra.api.block;
import com.dfsek.terra.api.platform.Handle;
import com.dfsek.terra.api.Handle;
public interface BlockData extends Cloneable, Handle {

View File

@@ -1,6 +1,7 @@
package com.dfsek.terra.api.platform.block;
package com.dfsek.terra.api.block;
import com.dfsek.terra.api.math.vector.Vector3;
import com.dfsek.terra.api.vector.Vector3;
import com.dfsek.terra.api.vector.Vector3Impl;
import org.jetbrains.annotations.NotNull;
public enum BlockFace {
@@ -74,7 +75,7 @@ public enum BlockFace {
*/
@NotNull
public Vector3 getDirection() {
Vector3 direction = new Vector3(modX, modY, modZ);
Vector3 direction = new Vector3Impl(modX, modY, modZ);
if(modX != 0 || modY != 0 || modZ != 0) {
direction.normalize();
}

View File

@@ -1,6 +1,6 @@
package com.dfsek.terra.api.platform.block;
package com.dfsek.terra.api.block;
import com.dfsek.terra.api.platform.Handle;
import com.dfsek.terra.api.Handle;
public interface BlockType extends Handle {
BlockData getDefaultData();

View File

@@ -1,6 +1,6 @@
package com.dfsek.terra.api.platform.block.data;
package com.dfsek.terra.api.block.data;
import com.dfsek.terra.api.platform.block.BlockData;
import com.dfsek.terra.api.block.BlockData;
public interface AnaloguePowerable extends BlockData {
int getMaximumPower();

View File

@@ -1,6 +1,6 @@
package com.dfsek.terra.api.platform.block.data;
package com.dfsek.terra.api.block.data;
import com.dfsek.terra.api.platform.block.BlockData;
import com.dfsek.terra.api.block.BlockData;
public interface Bisected extends BlockData {
Half getHalf();

View File

@@ -0,0 +1,10 @@
package com.dfsek.terra.api.block.data;
import com.dfsek.terra.api.block.BlockData;
import com.dfsek.terra.api.block.BlockFace;
public interface Directional extends BlockData {
BlockFace getFacing();
void setFacing(BlockFace facing);
}

View File

@@ -1,7 +1,7 @@
package com.dfsek.terra.api.platform.block.data;
package com.dfsek.terra.api.block.data;
import com.dfsek.terra.api.platform.block.BlockData;
import com.dfsek.terra.api.platform.block.BlockFace;
import com.dfsek.terra.api.block.BlockData;
import com.dfsek.terra.api.block.BlockFace;
import java.util.Set;

View File

@@ -1,7 +1,7 @@
package com.dfsek.terra.api.platform.block.data;
package com.dfsek.terra.api.block.data;
import com.dfsek.terra.api.platform.block.Axis;
import com.dfsek.terra.api.platform.block.BlockData;
import com.dfsek.terra.api.block.Axis;
import com.dfsek.terra.api.block.BlockData;
import java.util.Set;

View File

@@ -1,6 +1,6 @@
package com.dfsek.terra.api.platform.block.data;
package com.dfsek.terra.api.block.data;
import com.dfsek.terra.api.platform.block.BlockData;
import com.dfsek.terra.api.block.BlockData;
public interface Rail extends BlockData {
Shape getShape();

View File

@@ -1,7 +1,7 @@
package com.dfsek.terra.api.platform.block.data;
package com.dfsek.terra.api.block.data;
import com.dfsek.terra.api.platform.block.BlockData;
import com.dfsek.terra.api.platform.block.BlockFace;
import com.dfsek.terra.api.block.BlockData;
import com.dfsek.terra.api.block.BlockFace;
import java.util.Set;

View File

@@ -0,0 +1,10 @@
package com.dfsek.terra.api.block.data;
import com.dfsek.terra.api.block.BlockData;
import com.dfsek.terra.api.block.BlockFace;
public interface Rotatable extends BlockData {
BlockFace getRotation();
void setRotation(BlockFace face);
}

View File

@@ -1,4 +1,4 @@
package com.dfsek.terra.api.platform.block.data;
package com.dfsek.terra.api.block.data;
public interface Slab extends Waterlogged {
Type getType();

View File

@@ -1,4 +1,4 @@
package com.dfsek.terra.api.platform.block.data;
package com.dfsek.terra.api.block.data;
public interface Stairs extends Waterlogged, Directional, Bisected {
Shape getShape();

View File

@@ -1,7 +1,7 @@
package com.dfsek.terra.api.platform.block.data;
package com.dfsek.terra.api.block.data;
import com.dfsek.terra.api.platform.block.BlockData;
import com.dfsek.terra.api.platform.block.BlockFace;
import com.dfsek.terra.api.block.BlockData;
import com.dfsek.terra.api.block.BlockFace;
public interface Wall extends BlockData, Waterlogged {
boolean isUp();

View File

@@ -1,6 +1,6 @@
package com.dfsek.terra.api.platform.block.data;
package com.dfsek.terra.api.block.data;
import com.dfsek.terra.api.platform.block.BlockData;
import com.dfsek.terra.api.block.BlockData;
public interface Waterlogged extends BlockData {
boolean isWaterlogged();

View File

@@ -0,0 +1,5 @@
package com.dfsek.terra.api.block.data.properties;
public interface Property<T> {
}

View File

@@ -1,8 +1,8 @@
package com.dfsek.terra.api.platform.block.state;
package com.dfsek.terra.api.block.state;
import com.dfsek.terra.api.platform.Handle;
import com.dfsek.terra.api.platform.block.Block;
import com.dfsek.terra.api.platform.block.BlockData;
import com.dfsek.terra.api.Handle;
import com.dfsek.terra.api.block.Block;
import com.dfsek.terra.api.block.BlockData;
public interface BlockState extends Handle {
Block getBlock();

View File

@@ -0,0 +1,6 @@
package com.dfsek.terra.api.block.state;
import com.dfsek.terra.api.inventory.BlockInventoryHolder;
public interface Container extends BlockState, BlockInventoryHolder {
}

View File

@@ -1,6 +1,6 @@
package com.dfsek.terra.api.platform.block.state;
package com.dfsek.terra.api.block.state;
import com.dfsek.terra.api.platform.entity.EntityType;
import com.dfsek.terra.api.entity.EntityType;
import org.jetbrains.annotations.NotNull;
public interface MobSpawner extends BlockState {

View File

@@ -1,4 +1,4 @@
package com.dfsek.terra.api.platform.block.state;
package com.dfsek.terra.api.block.state;
import java.util.HashMap;
import java.util.Map;

View File

@@ -1,4 +1,4 @@
package com.dfsek.terra.api.platform.block.state;
package com.dfsek.terra.api.block.state;
import org.jetbrains.annotations.NotNull;

View File

@@ -1,4 +1,6 @@
package com.dfsek.terra.api.platform;
package com.dfsek.terra.api.entity;
import com.dfsek.terra.api.Handle;
public interface CommandSender extends Handle {
void sendMessage(String message);

View File

@@ -0,0 +1,13 @@
package com.dfsek.terra.api.entity;
import com.dfsek.terra.api.vector.Location;
import com.dfsek.terra.api.Handle;
import com.dfsek.terra.api.world.World;
public interface Entity extends Handle, CommandSender {
Location getLocation();
void setLocation(Location location);
World getWorld();
}

View File

@@ -0,0 +1,6 @@
package com.dfsek.terra.api.entity;
import com.dfsek.terra.api.Handle;
public interface EntityType extends Handle {
}

View File

@@ -0,0 +1,4 @@
package com.dfsek.terra.api.entity;
public interface Player extends Entity {
}

View File

@@ -1,6 +1,6 @@
package com.dfsek.terra.api.event;
import com.dfsek.terra.api.addons.TerraAddon;
import com.dfsek.terra.api.addon.TerraAddon;
import com.dfsek.terra.api.event.events.Event;
/**

View File

@@ -2,7 +2,7 @@ package com.dfsek.terra.api.event.events.world.generation;
import com.dfsek.terra.api.event.events.PackEvent;
import com.dfsek.terra.api.math.vector.Location;
import com.dfsek.terra.api.platform.entity.Entity;
import com.dfsek.terra.api.entity.Entity;
import com.dfsek.terra.api.structures.structure.buffer.items.BufferedEntity;
import com.dfsek.terra.config.pack.ConfigPack;

View File

@@ -3,8 +3,8 @@ package com.dfsek.terra.api.event.events.world.generation;
import com.dfsek.terra.api.event.events.AbstractCancellable;
import com.dfsek.terra.api.event.events.Cancellable;
import com.dfsek.terra.api.event.events.PackEvent;
import com.dfsek.terra.api.platform.block.Block;
import com.dfsek.terra.api.platform.block.state.Container;
import com.dfsek.terra.api.block.Block;
import com.dfsek.terra.api.block.state.Container;
import com.dfsek.terra.api.structures.loot.LootTable;
import com.dfsek.terra.api.structures.script.StructureScript;
import com.dfsek.terra.api.structures.structure.buffer.items.BufferedLootApplication;

View File

@@ -1,7 +1,7 @@
package com.dfsek.terra.api.platform.handle;
package com.dfsek.terra.api.handle;
import com.dfsek.terra.api.platform.inventory.Item;
import com.dfsek.terra.api.platform.inventory.item.Enchantment;
import com.dfsek.terra.api.inventory.Item;
import com.dfsek.terra.api.inventory.item.Enchantment;
import java.util.Set;

View File

@@ -1,9 +1,9 @@
package com.dfsek.terra.api.platform.handle;
package com.dfsek.terra.api.handle;
import com.dfsek.terra.api.math.vector.Location;
import com.dfsek.terra.api.platform.block.BlockData;
import com.dfsek.terra.api.platform.entity.EntityType;
import com.dfsek.terra.api.platform.entity.Player;
import com.dfsek.terra.api.vector.Location;
import com.dfsek.terra.api.block.BlockData;
import com.dfsek.terra.api.entity.EntityType;
import com.dfsek.terra.api.entity.Player;
import com.dfsek.terra.api.util.generic.pair.Pair;
/**

View File

@@ -0,0 +1,38 @@
package com.dfsek.terra.api.injection;
import com.dfsek.terra.api.injection.annotations.Inject;
import com.dfsek.terra.api.injection.exception.InjectionException;
/**
* Dynamic dependency injector.
* <p>
* Stores an object to inject, and injects it into objects passed to {@link #inject(Object)}.
*
* @param <T> Type of object to inject.
*/
public interface Injector<T> {
/**
* Add an explicit class as a target. Useful for applications where subclasses may cause issues with DI.
*
* @param target Target class type.
*/
void addExplicitTarget(Class<? extends T> target);
/**
* Inject the stored object into an object.
* <p>
* Injects the stored object into any non-static, non-final fields
* annotated with {@link Inject},
* with type matching the stored object or any explicit targets
* ({@link #addExplicitTarget(Class)}.
*
* @param object Object to inject into
* @throws InjectionException If:
* <ul>
* <li>Matching field annotated with {@link Inject} is final</li>
* <li>Matching field annotated with {@link Inject} is static</li>
* <li>A reflective access exception occurs</li>
* </ul>
*/
void inject(Object object) throws InjectionException;
}

View File

@@ -0,0 +1,7 @@
package com.dfsek.terra.api.inventory;
import com.dfsek.terra.api.block.Block;
public interface BlockInventoryHolder extends InventoryHolder {
Block getBlock();
}

View File

@@ -1,6 +1,6 @@
package com.dfsek.terra.api.platform.inventory;
package com.dfsek.terra.api.inventory;
import com.dfsek.terra.api.platform.Handle;
import com.dfsek.terra.api.Handle;
public interface Inventory extends Handle {
int getSize();

View File

@@ -0,0 +1,7 @@
package com.dfsek.terra.api.inventory;
import com.dfsek.terra.api.Handle;
public interface InventoryHolder extends Handle {
Inventory getInventory();
}

View File

@@ -1,6 +1,6 @@
package com.dfsek.terra.api.platform.inventory;
package com.dfsek.terra.api.inventory;
import com.dfsek.terra.api.platform.Handle;
import com.dfsek.terra.api.Handle;
/**
* An inventory item.

View File

@@ -1,8 +1,8 @@
package com.dfsek.terra.api.platform.inventory;
package com.dfsek.terra.api.inventory;
import com.dfsek.terra.api.platform.Handle;
import com.dfsek.terra.api.platform.inventory.item.Damageable;
import com.dfsek.terra.api.platform.inventory.item.ItemMeta;
import com.dfsek.terra.api.Handle;
import com.dfsek.terra.api.inventory.item.Damageable;
import com.dfsek.terra.api.inventory.item.ItemMeta;
public interface ItemStack extends Handle {
int getAmount();

View File

@@ -1,6 +1,6 @@
package com.dfsek.terra.api.platform.inventory.item;
package com.dfsek.terra.api.inventory.item;
import com.dfsek.terra.api.platform.Handle;
import com.dfsek.terra.api.Handle;
public interface Damageable extends Handle {
int getDamage();

View File

@@ -1,7 +1,7 @@
package com.dfsek.terra.api.platform.inventory.item;
package com.dfsek.terra.api.inventory.item;
import com.dfsek.terra.api.platform.Handle;
import com.dfsek.terra.api.platform.inventory.ItemStack;
import com.dfsek.terra.api.Handle;
import com.dfsek.terra.api.inventory.ItemStack;
public interface Enchantment extends Handle {
boolean canEnchantItem(ItemStack itemStack);

View File

@@ -1,6 +1,6 @@
package com.dfsek.terra.api.platform.inventory.item;
package com.dfsek.terra.api.inventory.item;
import com.dfsek.terra.api.platform.Handle;
import com.dfsek.terra.api.Handle;
import java.util.Map;

View File

@@ -1,4 +1,4 @@
package com.dfsek.terra.api.math.noise;
package com.dfsek.terra.api.noise;
import com.dfsek.terra.api.math.vector.Vector2;
import com.dfsek.terra.api.math.vector.Vector3;

View File

@@ -1,6 +1,6 @@
package com.dfsek.terra.api.math.noise.normalizer;
package com.dfsek.terra.api.noise.normalizer;
import com.dfsek.terra.api.math.noise.NoiseSampler;
import com.dfsek.terra.api.noise.NoiseSampler;
import net.jafama.FastMath;
public class ClampNormalizer extends Normalizer {

View File

@@ -1,6 +1,6 @@
package com.dfsek.terra.api.math.noise.normalizer;
package com.dfsek.terra.api.noise.normalizer;
import com.dfsek.terra.api.math.noise.NoiseSampler;
import com.dfsek.terra.api.noise.NoiseSampler;
/**
* Normalizer to linearly scale data's range.

View File

@@ -1,7 +1,7 @@
package com.dfsek.terra.api.math.noise.normalizer;
package com.dfsek.terra.api.noise.normalizer;
import com.dfsek.terra.api.math.MathUtil;
import com.dfsek.terra.api.math.noise.NoiseSampler;
import com.dfsek.terra.api.noise.NoiseSampler;
import net.jafama.FastMath;
/**

View File

@@ -1,6 +1,6 @@
package com.dfsek.terra.api.math.noise.normalizer;
package com.dfsek.terra.api.noise.normalizer;
import com.dfsek.terra.api.math.noise.NoiseSampler;
import com.dfsek.terra.api.noise.NoiseSampler;
public abstract class Normalizer implements NoiseSampler {
private final NoiseSampler sampler;

View File

@@ -1,6 +1,6 @@
package com.dfsek.terra.api.math.noise.samplers;
package com.dfsek.terra.api.noise.samplers;
import com.dfsek.terra.api.math.noise.NoiseSampler;
import com.dfsek.terra.api.noise.NoiseSampler;
public class DomainWarpedSampler implements NoiseSampler {
private final NoiseSampler function;

View File

@@ -1,10 +1,10 @@
package com.dfsek.terra.api.math.noise.samplers;
package com.dfsek.terra.api.noise.samplers;
import com.dfsek.paralithic.Expression;
import com.dfsek.paralithic.eval.parser.Parser;
import com.dfsek.paralithic.eval.parser.Scope;
import com.dfsek.paralithic.eval.tokenizer.ParseException;
import com.dfsek.terra.api.math.noise.NoiseSampler;
import com.dfsek.terra.api.noise.NoiseSampler;
import com.dfsek.terra.api.math.paralithic.defined.UserDefinedFunction;
import com.dfsek.terra.api.math.paralithic.noise.NoiseFunction2;
import com.dfsek.terra.api.math.paralithic.noise.NoiseFunction3;

View File

@@ -1,6 +1,6 @@
package com.dfsek.terra.api.math.noise.samplers;
package com.dfsek.terra.api.noise.samplers;
import com.dfsek.terra.api.math.noise.NoiseSampler;
import com.dfsek.terra.api.noise.NoiseSampler;
import net.jafama.FastMath;
import java.awt.image.BufferedImage;

View File

@@ -1,6 +1,6 @@
package com.dfsek.terra.api.math.noise.samplers;
package com.dfsek.terra.api.noise.samplers;
import com.dfsek.terra.api.math.noise.NoiseSampler;
import com.dfsek.terra.api.noise.NoiseSampler;
public class KernelSampler implements NoiseSampler {
private final double[][] kernel;

View File

@@ -1,7 +1,7 @@
package com.dfsek.terra.api.math.noise.samplers.noise;
package com.dfsek.terra.api.noise.samplers.noise;
import com.dfsek.terra.api.math.noise.NoiseSampler;
import com.dfsek.terra.api.math.noise.samplers.noise.simplex.OpenSimplex2Sampler;
import com.dfsek.terra.api.noise.NoiseSampler;
import com.dfsek.terra.api.noise.samplers.noise.simplex.OpenSimplex2Sampler;
import com.dfsek.terra.api.math.vector.Vector2;
import com.dfsek.terra.api.math.vector.Vector3;

View File

@@ -1,4 +1,4 @@
package com.dfsek.terra.api.math.noise.samplers.noise;
package com.dfsek.terra.api.noise.samplers.noise;
/**
* Sampler3D implementation that returns a constant.

View File

@@ -1,4 +1,4 @@
package com.dfsek.terra.api.math.noise.samplers.noise;
package com.dfsek.terra.api.noise.samplers.noise;
import com.dfsek.paralithic.Expression;
import com.dfsek.paralithic.eval.parser.Parser;

View File

@@ -1,6 +1,6 @@
package com.dfsek.terra.api.math.noise.samplers.noise;
package com.dfsek.terra.api.noise.samplers.noise;
import com.dfsek.terra.api.math.noise.samplers.noise.random.WhiteNoiseSampler;
import com.dfsek.terra.api.noise.samplers.noise.random.WhiteNoiseSampler;
import net.jafama.FastMath;
public class GaborNoiseSampler extends NoiseFunction {

View File

@@ -1,6 +1,6 @@
package com.dfsek.terra.api.math.noise.samplers.noise;
package com.dfsek.terra.api.noise.samplers.noise;
import com.dfsek.terra.api.math.noise.NoiseSampler;
import com.dfsek.terra.api.noise.NoiseSampler;
import net.jafama.FastMath;
@SuppressWarnings("ManualMinMaxCalculation")

View File

@@ -1,6 +1,6 @@
package com.dfsek.terra.api.math.noise.samplers.noise.fractal;
package com.dfsek.terra.api.noise.samplers.noise.fractal;
import com.dfsek.terra.api.math.noise.NoiseSampler;
import com.dfsek.terra.api.noise.NoiseSampler;
public class BrownianMotionSampler extends FractalNoiseFunction {
public BrownianMotionSampler(int seed, NoiseSampler input) {

View File

@@ -1,7 +1,7 @@
package com.dfsek.terra.api.math.noise.samplers.noise.fractal;
package com.dfsek.terra.api.noise.samplers.noise.fractal;
import com.dfsek.terra.api.math.noise.NoiseSampler;
import com.dfsek.terra.api.math.noise.samplers.noise.NoiseFunction;
import com.dfsek.terra.api.noise.NoiseSampler;
import com.dfsek.terra.api.noise.samplers.noise.NoiseFunction;
public abstract class FractalNoiseFunction extends NoiseFunction {
protected final NoiseSampler input;

View File

@@ -1,6 +1,6 @@
package com.dfsek.terra.api.math.noise.samplers.noise.fractal;
package com.dfsek.terra.api.noise.samplers.noise.fractal;
import com.dfsek.terra.api.math.noise.NoiseSampler;
import com.dfsek.terra.api.noise.NoiseSampler;
public class PingPongSampler extends FractalNoiseFunction {
private double pingPongStrength = 2.0;

View File

@@ -1,6 +1,6 @@
package com.dfsek.terra.api.math.noise.samplers.noise.fractal;
package com.dfsek.terra.api.noise.samplers.noise.fractal;
import com.dfsek.terra.api.math.noise.NoiseSampler;
import com.dfsek.terra.api.noise.NoiseSampler;
public class RidgedFractalSampler extends FractalNoiseFunction {

View File

@@ -1,6 +1,6 @@
package com.dfsek.terra.api.math.noise.samplers.noise.random;
package com.dfsek.terra.api.noise.samplers.noise.random;
import com.dfsek.terra.api.math.noise.samplers.noise.NoiseFunction;
import com.dfsek.terra.api.noise.samplers.noise.NoiseFunction;
/**
* NoiseSampler implementation to provide random, normally distributed (Gaussian) noise.

View File

@@ -1,6 +1,6 @@
package com.dfsek.terra.api.math.noise.samplers.noise.random;
package com.dfsek.terra.api.noise.samplers.noise.random;
import com.dfsek.terra.api.math.noise.samplers.noise.NoiseFunction;
import com.dfsek.terra.api.noise.samplers.noise.NoiseFunction;
/**
* NoiseSampler implementation to produce random, uniformly distributed (white) noise.

View File

@@ -1,4 +1,4 @@
package com.dfsek.terra.api.math.noise.samplers.noise.simplex;
package com.dfsek.terra.api.noise.samplers.noise.simplex;
/**
* NoiseSampler implementation to provide OpenSimplex2 (Smooth Variant) noise.

View File

@@ -1,4 +1,4 @@
package com.dfsek.terra.api.math.noise.samplers.noise.simplex;
package com.dfsek.terra.api.noise.samplers.noise.simplex;
/**
* NoiseSampler implementation to provide OpenSimplex2 noise.

View File

@@ -1,4 +1,4 @@
package com.dfsek.terra.api.math.noise.samplers.noise.simplex;
package com.dfsek.terra.api.noise.samplers.noise.simplex;
/**
* NoiseSampler implementation to provide Perlin Noise.

View File

@@ -1,4 +1,4 @@
package com.dfsek.terra.api.math.noise.samplers.noise.simplex;
package com.dfsek.terra.api.noise.samplers.noise.simplex;
public class SimplexSampler extends SimplexStyleSampler {
private static final Double2[] GRAD_2D = {

View File

@@ -1,6 +1,6 @@
package com.dfsek.terra.api.math.noise.samplers.noise.simplex;
package com.dfsek.terra.api.noise.samplers.noise.simplex;
import com.dfsek.terra.api.math.noise.samplers.noise.NoiseFunction;
import com.dfsek.terra.api.noise.samplers.noise.NoiseFunction;
/**
* Abstract NoiseSampler implementation for simplex-style noise functions.

View File

@@ -1,4 +1,4 @@
package com.dfsek.terra.api.math.noise.samplers.noise.value;
package com.dfsek.terra.api.noise.samplers.noise.value;
public class ValueCubicSampler extends ValueStyleNoise {
public ValueCubicSampler(int seed) {

View File

@@ -1,4 +1,4 @@
package com.dfsek.terra.api.math.noise.samplers.noise.value;
package com.dfsek.terra.api.noise.samplers.noise.value;
public class ValueSampler extends ValueStyleNoise {
public ValueSampler(int seed) {

View File

@@ -1,6 +1,6 @@
package com.dfsek.terra.api.math.noise.samplers.noise.value;
package com.dfsek.terra.api.noise.samplers.noise.value;
import com.dfsek.terra.api.math.noise.samplers.noise.NoiseFunction;
import com.dfsek.terra.api.noise.samplers.noise.NoiseFunction;
public abstract class ValueStyleNoise extends NoiseFunction {
public ValueStyleNoise(int seed) {

View File

@@ -0,0 +1,24 @@
package com.dfsek.terra.api.registry;
public interface CheckedRegistry<T> extends Registry<T> {
/**
* Add a value to this registry, checking whether it is present first.
*
* @param identifier Identifier to assign value.
* @param value Value to add.
* @throws DuplicateEntryException If an entry with the same identifier is already present.
*/
void add(String identifier, T value) throws DuplicateEntryException;
/**
* Add a value to the registry, without checking presence beforehand.
* <p>
* Use of this method is generally discouraged, as it is bad practice to overwrite registry values.
*
* @param identifier Identifier to assign value.
* @param value Value to add.
* @deprecated Use of {@link #add(String, Object)} is encouraged.
*/
@Deprecated
void addUnchecked(String identifier, T value);
}

View File

@@ -1,4 +1,4 @@
package com.dfsek.terra.registry.exception;
package com.dfsek.terra.api.registry;
/**
* Thrown when a duplicate entry is found in a registry.

View File

@@ -0,0 +1,25 @@
package com.dfsek.terra.api.registry;
public interface OpenRegistry<T> extends Registry<T> {
/**
* Add a value to this registry.
*
* @param identifier Identifier to assign value.
* @param value Value to add.
*/
boolean add(String identifier, T value);
/**
* Add a value to this registry, checking whether it is present first.
*
* @param identifier Identifier to assign value.
* @param value Value to add.
* @throws DuplicateEntryException If an entry with the same identifier is already present.
*/
void addChecked(String identifier, T value) throws DuplicateEntryException;
/**
* Clears all entries from the registry.
*/
void clear();
}

View File

@@ -1,5 +1,7 @@
package com.dfsek.terra.api.transform;
import com.dfsek.terra.api.transform.exception.TransformException;
/**
* Interface to transform data from one type to another.
*/

View File

@@ -0,0 +1,11 @@
package com.dfsek.terra.api.transform;
public interface Transformer<F, T> {
/**
* Translate data from {@code from} type to {@code to} type.
*
* @param from Data to translate
* @return Result
*/
T translate(F from);
}

View File

@@ -1,6 +1,8 @@
package com.dfsek.terra.api.transform;
import com.dfsek.terra.api.transform.exception.TransformException;
import java.util.Objects;
public interface Validator<T> {

View File

@@ -1,4 +1,4 @@
package com.dfsek.terra.api.transform;
package com.dfsek.terra.api.transform.exception;
import com.dfsek.terra.api.util.GlueList;

View File

@@ -1,4 +1,4 @@
package com.dfsek.terra.api.transform;
package com.dfsek.terra.api.transform.exception;
public class TransformException extends Exception {
private static final long serialVersionUID = -6661338369581162084L;

View File

@@ -1,4 +1,4 @@
package com.dfsek.terra.api.math;
package com.dfsek.terra.api.util;
import com.dfsek.terra.api.util.FastRandom;
import com.dfsek.terra.world.generation.math.samplers.Sampler;

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