refactor API

This commit is contained in:
dfsek
2021-02-22 16:13:53 -07:00
parent 46a08e49f5
commit a328ff2f2a
177 changed files with 399 additions and 311 deletions
@@ -1,7 +1,7 @@
package com.dfsek.terra.addons.loading; package com.dfsek.terra.addon;
import com.dfsek.terra.addons.addon.TerraAddon; import com.dfsek.terra.api.addons.TerraAddon;
import com.dfsek.terra.addons.annotations.Addon; import com.dfsek.terra.api.addons.annotations.Addon;
import java.io.File; import java.io.File;
import java.io.IOException; import java.io.IOException;
@@ -1,6 +1,6 @@
package com.dfsek.terra.addons.loading.pre; package com.dfsek.terra.addon;
import com.dfsek.terra.addons.loading.AddonLoadException; import com.dfsek.terra.addon.exception.AddonLoadException;
import java.util.HashMap; import java.util.HashMap;
import java.util.HashSet; import java.util.HashSet;
@@ -1,11 +1,11 @@
package com.dfsek.terra.addons.loading.pre; package com.dfsek.terra.addon;
import com.dfsek.terra.addons.addon.TerraAddon; import com.dfsek.terra.addon.exception.AddonLoadException;
import com.dfsek.terra.addons.annotations.Addon; import com.dfsek.terra.addon.exception.CircularDependencyException;
import com.dfsek.terra.addons.annotations.Depends; import com.dfsek.terra.addon.exception.DependencyMissingException;
import com.dfsek.terra.addons.loading.AddonLoadException; import com.dfsek.terra.api.addons.TerraAddon;
import com.dfsek.terra.addons.loading.pre.exception.CircularDependencyException; import com.dfsek.terra.api.addons.annotations.Addon;
import com.dfsek.terra.addons.loading.pre.exception.DependencyMissingException; import com.dfsek.terra.api.addons.annotations.Depends;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
@@ -1,4 +1,4 @@
package com.dfsek.terra.addons.loading; package com.dfsek.terra.addon.exception;
public class AddonLoadException extends Exception { public class AddonLoadException extends Exception {
private static final long serialVersionUID = -4949084729296580176L; private static final long serialVersionUID = -4949084729296580176L;
@@ -1,6 +1,4 @@
package com.dfsek.terra.addons.loading.pre.exception; package com.dfsek.terra.addon.exception;
import com.dfsek.terra.addons.loading.AddonLoadException;
public class CircularDependencyException extends AddonLoadException { public class CircularDependencyException extends AddonLoadException {
private static final long serialVersionUID = 7398510879124125121L; private static final long serialVersionUID = 7398510879124125121L;
@@ -1,6 +1,4 @@
package com.dfsek.terra.addons.loading.pre.exception; package com.dfsek.terra.addon.exception;
import com.dfsek.terra.addons.loading.AddonLoadException;
public class DependencyMissingException extends AddonLoadException { public class DependencyMissingException extends AddonLoadException {
private static final long serialVersionUID = -8419489102208521583L; private static final long serialVersionUID = -8419489102208521583L;
@@ -1,22 +1,24 @@
package com.dfsek.terra.api.core; package com.dfsek.terra.api;
import com.dfsek.terra.addons.addon.TerraAddon; import com.dfsek.terra.api.addons.TerraAddon;
import com.dfsek.terra.api.LoaderRegistrar; import com.dfsek.terra.api.event.EventManager;
import com.dfsek.terra.api.core.event.EventManager;
import com.dfsek.terra.api.platform.handle.ItemHandle; import com.dfsek.terra.api.platform.handle.ItemHandle;
import com.dfsek.terra.api.platform.handle.WorldHandle; import com.dfsek.terra.api.platform.handle.WorldHandle;
import com.dfsek.terra.api.platform.world.World; import com.dfsek.terra.api.platform.world.World;
import com.dfsek.terra.api.registry.CheckedRegistry;
import com.dfsek.terra.api.registry.LockedRegistry;
import com.dfsek.terra.api.util.DebugLogger;
import com.dfsek.terra.config.PluginConfig; import com.dfsek.terra.config.PluginConfig;
import com.dfsek.terra.config.lang.Language; import com.dfsek.terra.config.lang.Language;
import com.dfsek.terra.config.pack.ConfigPack; import com.dfsek.terra.config.pack.ConfigPack;
import com.dfsek.terra.debug.DebugLogger;
import com.dfsek.terra.registry.CheckedRegistry;
import com.dfsek.terra.registry.LockedRegistry;
import com.dfsek.terra.world.TerraWorld; import com.dfsek.terra.world.TerraWorld;
import java.io.File; import java.io.File;
import java.util.logging.Logger; import java.util.logging.Logger;
/**
* Represents a Terra mod/plugin instance.
*/
public interface TerraPlugin extends LoaderRegistrar { public interface TerraPlugin extends LoaderRegistrar {
WorldHandle getWorldHandle(); WorldHandle getWorldHandle();
@@ -1,9 +1,9 @@
package com.dfsek.terra.addons.addon; package com.dfsek.terra.api.addons;
import com.dfsek.terra.addons.annotations.Addon; import com.dfsek.terra.api.addons.annotations.Addon;
import com.dfsek.terra.addons.annotations.Author; import com.dfsek.terra.api.addons.annotations.Author;
import com.dfsek.terra.addons.annotations.Version; import com.dfsek.terra.api.addons.annotations.Version;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
public abstract class TerraAddon { public abstract class TerraAddon {
@@ -1,4 +1,4 @@
package com.dfsek.terra.addons.annotations; package com.dfsek.terra.api.addons.annotations;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
@@ -1,4 +1,4 @@
package com.dfsek.terra.addons.annotations; package com.dfsek.terra.api.addons.annotations;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
@@ -1,4 +1,4 @@
package com.dfsek.terra.addons.annotations; package com.dfsek.terra.api.addons.annotations;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
@@ -1,4 +1,4 @@
package com.dfsek.terra.addons.annotations; package com.dfsek.terra.api.addons.annotations;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
@@ -1,4 +0,0 @@
package com.dfsek.terra.api.core.event;
public interface EventListener {
}
@@ -1,4 +0,0 @@
package com.dfsek.terra.api.core.event.events;
public interface Event {
}
@@ -0,0 +1,4 @@
package com.dfsek.terra.api.event;
public interface EventListener {
}
@@ -1,7 +1,7 @@
package com.dfsek.terra.api.core.event; package com.dfsek.terra.api.event;
import com.dfsek.terra.addons.addon.TerraAddon; import com.dfsek.terra.api.addons.TerraAddon;
import com.dfsek.terra.api.core.event.events.Event; import com.dfsek.terra.api.event.events.Event;
public interface EventManager { public interface EventManager {
/** /**
@@ -1,12 +1,12 @@
package com.dfsek.terra.api.core.event; package com.dfsek.terra.api.event;
import com.dfsek.terra.addons.addon.TerraAddon; import com.dfsek.terra.api.TerraPlugin;
import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.addons.TerraAddon;
import com.dfsek.terra.api.core.event.annotations.Global; import com.dfsek.terra.api.event.annotations.Global;
import com.dfsek.terra.api.core.event.annotations.Priority; import com.dfsek.terra.api.event.annotations.Priority;
import com.dfsek.terra.api.core.event.events.Cancellable; import com.dfsek.terra.api.event.events.Cancellable;
import com.dfsek.terra.api.core.event.events.Event; import com.dfsek.terra.api.event.events.Event;
import com.dfsek.terra.api.core.event.events.PackEvent; import com.dfsek.terra.api.event.events.PackEvent;
import com.dfsek.terra.api.util.ReflectionUtil; import com.dfsek.terra.api.util.ReflectionUtil;
import java.io.PrintWriter; import java.io.PrintWriter;
@@ -1,4 +1,4 @@
package com.dfsek.terra.api.core.event.annotations; package com.dfsek.terra.api.event.annotations;
import java.lang.annotation.ElementType; import java.lang.annotation.ElementType;
import java.lang.annotation.Retention; import java.lang.annotation.Retention;
@@ -1,4 +1,4 @@
package com.dfsek.terra.api.core.event.annotations; package com.dfsek.terra.api.event.annotations;
import java.lang.annotation.ElementType; import java.lang.annotation.ElementType;
import java.lang.annotation.Retention; import java.lang.annotation.Retention;
@@ -1,4 +1,4 @@
package com.dfsek.terra.api.core.event.events; package com.dfsek.terra.api.event.events;
/** /**
* Events that implement this interface may be cancelled. * Events that implement this interface may be cancelled.
@@ -0,0 +1,4 @@
package com.dfsek.terra.api.event.events;
public interface Event {
}
@@ -1,4 +1,4 @@
package com.dfsek.terra.api.core.event.events; package com.dfsek.terra.api.event.events;
import com.dfsek.terra.config.pack.ConfigPack; import com.dfsek.terra.config.pack.ConfigPack;
@@ -1,6 +1,6 @@
package com.dfsek.terra.api.core.event.events.config; package com.dfsek.terra.api.event.events.config;
import com.dfsek.terra.api.core.event.events.PackEvent; import com.dfsek.terra.api.event.events.PackEvent;
import com.dfsek.terra.config.pack.ConfigPack; import com.dfsek.terra.config.pack.ConfigPack;
public abstract class ConfigPackLoadEvent implements PackEvent { public abstract class ConfigPackLoadEvent implements PackEvent {
@@ -1,4 +1,4 @@
package com.dfsek.terra.api.core.event.events.config; package com.dfsek.terra.api.event.events.config;
import com.dfsek.terra.config.pack.ConfigPack; import com.dfsek.terra.config.pack.ConfigPack;
@@ -1,4 +1,4 @@
package com.dfsek.terra.api.core.event.events.config; package com.dfsek.terra.api.event.events.config;
import com.dfsek.terra.config.pack.ConfigPack; import com.dfsek.terra.config.pack.ConfigPack;
@@ -1,6 +1,6 @@
package com.dfsek.terra.api.core.event.events.world; package com.dfsek.terra.api.event.events.world;
import com.dfsek.terra.api.core.event.events.PackEvent; import com.dfsek.terra.api.event.events.PackEvent;
import com.dfsek.terra.config.pack.ConfigPack; import com.dfsek.terra.config.pack.ConfigPack;
import com.dfsek.terra.world.TerraWorld; import com.dfsek.terra.world.TerraWorld;
@@ -1,5 +1,7 @@
package com.dfsek.terra.addons.injection; package com.dfsek.terra.api.injection;
import com.dfsek.terra.api.injection.annotations.Inject;
import com.dfsek.terra.api.injection.exception.InjectionException;
import com.dfsek.terra.api.util.ReflectionUtil; import com.dfsek.terra.api.util.ReflectionUtil;
import java.lang.reflect.Field; import java.lang.reflect.Field;
@@ -1,4 +1,4 @@
package com.dfsek.terra.addons.injection; package com.dfsek.terra.api.injection.annotations;
import java.lang.annotation.ElementType; import java.lang.annotation.ElementType;
import java.lang.annotation.Retention; import java.lang.annotation.Retention;
@@ -1,4 +1,4 @@
package com.dfsek.terra.addons.injection; package com.dfsek.terra.api.injection.exception;
public class InjectionException extends Exception { public class InjectionException extends Exception {
private static final long serialVersionUID = -6929631447064215387L; private static final long serialVersionUID = -6929631447064215387L;
@@ -1,6 +0,0 @@
package com.dfsek.terra.api.platform;
import com.dfsek.terra.api.platform.entity.Entity;
public interface Player extends Entity {
}
@@ -0,0 +1,4 @@
package com.dfsek.terra.api.platform.entity;
public interface Player extends Entity {
}
@@ -1,4 +1,6 @@
/** /**
* API for platform implementations. Mostly interfaces to be implemented by platform delegates. * API for platform implementations. Mostly interfaces to be implemented by platform delegates.
* <p>
* Interfaces in this package generally should <b>not</b> be implemented by addons.
*/ */
package com.dfsek.terra.api.platform; package com.dfsek.terra.api.platform;
@@ -1,7 +1,8 @@
package com.dfsek.terra.registry; package com.dfsek.terra.api.registry;
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.terra.registry.OpenRegistry;
import com.dfsek.terra.registry.exception.DuplicateEntryException; import com.dfsek.terra.registry.exception.DuplicateEntryException;
import java.lang.reflect.Type; import java.lang.reflect.Type;
@@ -1,7 +1,8 @@
package com.dfsek.terra.registry; package com.dfsek.terra.api.registry;
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.terra.registry.OpenRegistry;
import java.lang.reflect.Type; import java.lang.reflect.Type;
import java.util.Set; import java.util.Set;
@@ -1,4 +1,4 @@
package com.dfsek.terra.registry; package com.dfsek.terra.api.registry;
import com.dfsek.tectonic.loading.TypeLoader; import com.dfsek.tectonic.loading.TypeLoader;
@@ -1,6 +1,6 @@
package com.dfsek.terra.api.structures.loot; package com.dfsek.terra.api.structures.loot;
import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.TerraPlugin;
import com.dfsek.terra.api.platform.block.MaterialData; import com.dfsek.terra.api.platform.block.MaterialData;
import com.dfsek.terra.api.platform.inventory.ItemStack; import com.dfsek.terra.api.platform.inventory.ItemStack;
import com.dfsek.terra.api.structures.loot.functions.AmountFunction; import com.dfsek.terra.api.structures.loot.functions.AmountFunction;
@@ -1,6 +1,6 @@
package com.dfsek.terra.api.structures.loot; package com.dfsek.terra.api.structures.loot;
import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.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 com.dfsek.terra.api.util.GlueList;
@@ -1,9 +1,9 @@
package com.dfsek.terra.api.structures.loot; package com.dfsek.terra.api.structures.loot;
import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.TerraPlugin;
import com.dfsek.terra.api.math.ProbabilityCollection;
import com.dfsek.terra.api.platform.inventory.ItemStack; import com.dfsek.terra.api.platform.inventory.ItemStack;
import com.dfsek.terra.api.util.GlueList; import com.dfsek.terra.api.util.GlueList;
import com.dfsek.terra.api.util.collections.ProbabilityCollection;
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,6 +1,6 @@
package com.dfsek.terra.api.structures.loot.functions; package com.dfsek.terra.api.structures.loot.functions;
import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.TerraPlugin;
import com.dfsek.terra.api.platform.inventory.ItemStack; import com.dfsek.terra.api.platform.inventory.ItemStack;
import com.dfsek.terra.api.platform.inventory.item.Enchantment; import com.dfsek.terra.api.platform.inventory.item.Enchantment;
import com.dfsek.terra.api.platform.inventory.item.ItemMeta; import com.dfsek.terra.api.platform.inventory.item.ItemMeta;
@@ -1,6 +1,6 @@
package com.dfsek.terra.api.structures.script; package com.dfsek.terra.api.structures.script;
import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.TerraPlugin;
import com.dfsek.terra.api.math.vector.Location; import com.dfsek.terra.api.math.vector.Location;
import com.dfsek.terra.api.platform.world.Chunk; import com.dfsek.terra.api.platform.world.Chunk;
import com.dfsek.terra.api.structures.parser.Parser; import com.dfsek.terra.api.structures.parser.Parser;
@@ -1,6 +1,6 @@
package com.dfsek.terra.api.structures.script.builders; package com.dfsek.terra.api.structures.script.builders;
import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.TerraPlugin;
import com.dfsek.terra.api.structures.parser.lang.Returnable; import com.dfsek.terra.api.structures.parser.lang.Returnable;
import com.dfsek.terra.api.structures.parser.lang.functions.FunctionBuilder; import com.dfsek.terra.api.structures.parser.lang.functions.FunctionBuilder;
import com.dfsek.terra.api.structures.script.functions.BiomeFunction; import com.dfsek.terra.api.structures.script.functions.BiomeFunction;
@@ -1,6 +1,6 @@
package com.dfsek.terra.api.structures.script.builders; package com.dfsek.terra.api.structures.script.builders;
import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.TerraPlugin;
import com.dfsek.terra.api.structures.parser.exceptions.ParseException; import com.dfsek.terra.api.structures.parser.exceptions.ParseException;
import com.dfsek.terra.api.structures.parser.lang.Returnable; import com.dfsek.terra.api.structures.parser.lang.Returnable;
import com.dfsek.terra.api.structures.parser.lang.constants.BooleanConstant; import com.dfsek.terra.api.structures.parser.lang.constants.BooleanConstant;
@@ -1,6 +1,6 @@
package com.dfsek.terra.api.structures.script.builders; package com.dfsek.terra.api.structures.script.builders;
import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.TerraPlugin;
import com.dfsek.terra.api.structures.parser.exceptions.ParseException; import com.dfsek.terra.api.structures.parser.exceptions.ParseException;
import com.dfsek.terra.api.structures.parser.lang.Returnable; import com.dfsek.terra.api.structures.parser.lang.Returnable;
import com.dfsek.terra.api.structures.parser.lang.functions.FunctionBuilder; import com.dfsek.terra.api.structures.parser.lang.functions.FunctionBuilder;
@@ -1,6 +1,6 @@
package com.dfsek.terra.api.structures.script.builders; package com.dfsek.terra.api.structures.script.builders;
import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.TerraPlugin;
import com.dfsek.terra.api.structures.parser.exceptions.ParseException; import com.dfsek.terra.api.structures.parser.exceptions.ParseException;
import com.dfsek.terra.api.structures.parser.lang.Returnable; import com.dfsek.terra.api.structures.parser.lang.Returnable;
import com.dfsek.terra.api.structures.parser.lang.functions.FunctionBuilder; import com.dfsek.terra.api.structures.parser.lang.functions.FunctionBuilder;
@@ -1,6 +1,6 @@
package com.dfsek.terra.api.structures.script.builders; package com.dfsek.terra.api.structures.script.builders;
import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.TerraPlugin;
import com.dfsek.terra.api.structures.parser.lang.Returnable; import com.dfsek.terra.api.structures.parser.lang.Returnable;
import com.dfsek.terra.api.structures.parser.lang.functions.FunctionBuilder; import com.dfsek.terra.api.structures.parser.lang.functions.FunctionBuilder;
import com.dfsek.terra.api.structures.script.functions.LootFunction; import com.dfsek.terra.api.structures.script.functions.LootFunction;
@@ -1,6 +1,6 @@
package com.dfsek.terra.api.structures.script.builders; package com.dfsek.terra.api.structures.script.builders;
import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.TerraPlugin;
import com.dfsek.terra.api.structures.parser.exceptions.ParseException; import com.dfsek.terra.api.structures.parser.exceptions.ParseException;
import com.dfsek.terra.api.structures.parser.lang.Returnable; import com.dfsek.terra.api.structures.parser.lang.Returnable;
import com.dfsek.terra.api.structures.parser.lang.functions.FunctionBuilder; import com.dfsek.terra.api.structures.parser.lang.functions.FunctionBuilder;
@@ -1,6 +1,6 @@
package com.dfsek.terra.api.structures.script.builders; package com.dfsek.terra.api.structures.script.builders;
import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.TerraPlugin;
import com.dfsek.terra.api.structures.parser.exceptions.ParseException; import com.dfsek.terra.api.structures.parser.exceptions.ParseException;
import com.dfsek.terra.api.structures.parser.lang.Returnable; import com.dfsek.terra.api.structures.parser.lang.Returnable;
import com.dfsek.terra.api.structures.parser.lang.functions.FunctionBuilder; import com.dfsek.terra.api.structures.parser.lang.functions.FunctionBuilder;
@@ -1,6 +1,6 @@
package com.dfsek.terra.api.structures.script.builders; package com.dfsek.terra.api.structures.script.builders;
import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.TerraPlugin;
import com.dfsek.terra.api.structures.parser.exceptions.ParseException; import com.dfsek.terra.api.structures.parser.exceptions.ParseException;
import com.dfsek.terra.api.structures.parser.lang.Returnable; import com.dfsek.terra.api.structures.parser.lang.Returnable;
import com.dfsek.terra.api.structures.parser.lang.functions.FunctionBuilder; import com.dfsek.terra.api.structures.parser.lang.functions.FunctionBuilder;
@@ -1,6 +1,6 @@
package com.dfsek.terra.api.structures.script.functions; package com.dfsek.terra.api.structures.script.functions;
import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.TerraPlugin;
import com.dfsek.terra.api.math.vector.Vector2; import com.dfsek.terra.api.math.vector.Vector2;
import com.dfsek.terra.api.math.vector.Vector3; import com.dfsek.terra.api.math.vector.Vector3;
import com.dfsek.terra.api.structures.parser.lang.ImplementationArguments; import com.dfsek.terra.api.structures.parser.lang.ImplementationArguments;
@@ -1,6 +1,6 @@
package com.dfsek.terra.api.structures.script.functions; package com.dfsek.terra.api.structures.script.functions;
import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.TerraPlugin;
import com.dfsek.terra.api.math.vector.Vector2; import com.dfsek.terra.api.math.vector.Vector2;
import com.dfsek.terra.api.math.vector.Vector3; import com.dfsek.terra.api.math.vector.Vector3;
import com.dfsek.terra.api.platform.block.BlockData; import com.dfsek.terra.api.platform.block.BlockData;
@@ -1,6 +1,6 @@
package com.dfsek.terra.api.structures.script.functions; package com.dfsek.terra.api.structures.script.functions;
import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.TerraPlugin;
import com.dfsek.terra.api.math.vector.Location; import com.dfsek.terra.api.math.vector.Location;
import com.dfsek.terra.api.math.vector.Vector2; import com.dfsek.terra.api.math.vector.Vector2;
import com.dfsek.terra.api.math.vector.Vector3; import com.dfsek.terra.api.math.vector.Vector3;
@@ -1,6 +1,6 @@
package com.dfsek.terra.api.structures.script.functions; package com.dfsek.terra.api.structures.script.functions;
import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.TerraPlugin;
import com.dfsek.terra.api.math.vector.Vector2; import com.dfsek.terra.api.math.vector.Vector2;
import com.dfsek.terra.api.math.vector.Vector3; import com.dfsek.terra.api.math.vector.Vector3;
import com.dfsek.terra.api.platform.entity.EntityType; import com.dfsek.terra.api.platform.entity.EntityType;
@@ -1,6 +1,6 @@
package com.dfsek.terra.api.structures.script.functions; package com.dfsek.terra.api.structures.script.functions;
import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.TerraPlugin;
import com.dfsek.terra.api.math.vector.Vector2; import com.dfsek.terra.api.math.vector.Vector2;
import com.dfsek.terra.api.math.vector.Vector3; import com.dfsek.terra.api.math.vector.Vector3;
import com.dfsek.terra.api.structures.loot.LootTable; import com.dfsek.terra.api.structures.loot.LootTable;
@@ -1,6 +1,6 @@
package com.dfsek.terra.api.structures.script.functions; package com.dfsek.terra.api.structures.script.functions;
import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.TerraPlugin;
import com.dfsek.terra.api.math.vector.Vector2; import com.dfsek.terra.api.math.vector.Vector2;
import com.dfsek.terra.api.math.vector.Vector3; import com.dfsek.terra.api.math.vector.Vector3;
import com.dfsek.terra.api.platform.block.BlockData; import com.dfsek.terra.api.platform.block.BlockData;
@@ -1,6 +1,6 @@
package com.dfsek.terra.api.structures.script.functions; package com.dfsek.terra.api.structures.script.functions;
import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.TerraPlugin;
import com.dfsek.terra.api.math.vector.Vector2; import com.dfsek.terra.api.math.vector.Vector2;
import com.dfsek.terra.api.math.vector.Vector3; import com.dfsek.terra.api.math.vector.Vector3;
import com.dfsek.terra.api.structures.parser.lang.ImplementationArguments; import com.dfsek.terra.api.structures.parser.lang.ImplementationArguments;
@@ -1,6 +1,6 @@
package com.dfsek.terra.api.structures.script.functions; package com.dfsek.terra.api.structures.script.functions;
import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.TerraPlugin;
import com.dfsek.terra.api.math.vector.Vector2; import com.dfsek.terra.api.math.vector.Vector2;
import com.dfsek.terra.api.math.vector.Vector3; import com.dfsek.terra.api.math.vector.Vector3;
import com.dfsek.terra.api.structures.parser.lang.ImplementationArguments; import com.dfsek.terra.api.structures.parser.lang.ImplementationArguments;
@@ -1,6 +1,6 @@
package com.dfsek.terra.api.structures.structure.buffer.items; package com.dfsek.terra.api.structures.structure.buffer.items;
import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.TerraPlugin;
import com.dfsek.terra.api.math.vector.Location; import com.dfsek.terra.api.math.vector.Location;
import com.dfsek.terra.api.platform.block.state.BlockState; import com.dfsek.terra.api.platform.block.state.BlockState;
import com.dfsek.terra.api.platform.block.state.Container; import com.dfsek.terra.api.platform.block.state.Container;
@@ -1,6 +1,6 @@
package com.dfsek.terra.api.structures.structure.buffer.items; package com.dfsek.terra.api.structures.structure.buffer.items;
import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.TerraPlugin;
import com.dfsek.terra.api.math.vector.Location; import com.dfsek.terra.api.math.vector.Location;
import com.dfsek.terra.api.platform.block.state.BlockState; import com.dfsek.terra.api.platform.block.state.BlockState;
@@ -1,4 +1,4 @@
package com.dfsek.terra.debug; package com.dfsek.terra.api.util;
import java.util.logging.Logger; import java.util.logging.Logger;
@@ -1,4 +1,4 @@
package com.dfsek.terra.api.util.world; package com.dfsek.terra.api.util.collections;
import com.dfsek.terra.api.platform.block.BlockData; import com.dfsek.terra.api.platform.block.BlockData;
import com.dfsek.terra.api.platform.block.MaterialData; import com.dfsek.terra.api.platform.block.MaterialData;
@@ -1,19 +1,23 @@
package com.dfsek.terra.api.math; package com.dfsek.terra.api.util.collections;
import com.dfsek.terra.api.math.MathUtil;
import com.dfsek.terra.api.math.noise.NoiseSampler; import com.dfsek.terra.api.math.noise.NoiseSampler;
import org.jetbrains.annotations.NotNull;
import java.util.Collection;
import java.util.Collections; import java.util.Collections;
import java.util.HashSet; import java.util.HashSet;
import java.util.Iterator;
import java.util.Random; import java.util.Random;
import java.util.Set; import java.util.Set;
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
public class ProbabilityCollection<E> { public class ProbabilityCollection<E> implements Collection<E> {
private final Set<E> cont = new HashSet<>(); private final Set<E> cont = new HashSet<>();
private Object[] array = new Object[0]; private Object[] array = new Object[0];
private int size; private int size;
public com.dfsek.terra.api.math.ProbabilityCollection<E> add(E item, int probability) { public 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;
@@ -43,10 +47,81 @@ public class ProbabilityCollection<E> {
return array.length; return array.length;
} }
@Override
public int size() { public int size() {
return size; return size;
} }
@Override
public boolean isEmpty() {
return array.length == 0;
}
@Override
public boolean contains(Object o) {
return cont.contains(o);
}
@NotNull
@Override
public Iterator<E> iterator() {
return cont.iterator();
}
@NotNull
@Override
public Object[] toArray() {
return cont.toArray();
}
@SuppressWarnings("SuspiciousToArrayCall")
@NotNull
@Override
public <T> T[] toArray(@NotNull T[] a) {
return cont.toArray(a);
}
/**
* Adds an item with probability of 1.
*/
@Override
public boolean add(E e) {
add(e, 1);
return true; // Since this adds the item with a probability, the collection will always have changed.
}
@Override
public boolean remove(Object o) {
throw new UnsupportedOperationException("Cannot remove item from ProbabilityCollection!");
}
@Override
public boolean containsAll(@NotNull Collection<?> c) {
return cont.containsAll(c);
}
@Override
public boolean addAll(@NotNull Collection<? extends E> c) {
c.forEach(this::add);
return true;
}
@Override
public boolean removeAll(@NotNull Collection<?> c) {
throw new UnsupportedOperationException("Cannot remove item from ProbabilityCollection!");
}
@Override
public boolean retainAll(@NotNull Collection<?> c) {
throw new UnsupportedOperationException("Cannot remove item from ProbabilityCollection!");
}
@Override
public void clear() {
cont.clear();
array = new Object[0];
}
public Set<E> getContents() { public Set<E> getContents() {
return new HashSet<>(cont); return new HashSet<>(cont);
} }
@@ -1,5 +1,7 @@
package com.dfsek.terra.api.util.mutable; package com.dfsek.terra.api.util.mutable;
import org.jetbrains.annotations.NotNull;
public class MutableBoolean implements MutablePrimitive<Boolean> { public class MutableBoolean implements MutablePrimitive<Boolean> {
private boolean value; private boolean value;
@@ -17,4 +19,9 @@ public class MutableBoolean implements MutablePrimitive<Boolean> {
value = !value; value = !value;
return value; return value;
} }
@Override
public int compareTo(@NotNull Boolean o) {
return Boolean.compare(value, o);
}
} }
@@ -1,5 +1,7 @@
package com.dfsek.terra.api.util.mutable; package com.dfsek.terra.api.util.mutable;
import org.jetbrains.annotations.NotNull;
public class MutableDouble extends MutableNumber<Double> { public class MutableDouble extends MutableNumber<Double> {
private static final long serialVersionUID = -2218110876763640053L; private static final long serialVersionUID = -2218110876763640053L;
@@ -36,4 +38,9 @@ public class MutableDouble extends MutableNumber<Double> {
public void divide(Double divide) { public void divide(Double divide) {
value /= divide; value /= divide;
} }
@Override
public int compareTo(@NotNull Double o) {
return Double.compare(value, o);
}
} }
@@ -1,5 +1,7 @@
package com.dfsek.terra.api.util.mutable; package com.dfsek.terra.api.util.mutable;
import org.jetbrains.annotations.NotNull;
public class MutableInteger extends MutableNumber<Integer> { public class MutableInteger extends MutableNumber<Integer> {
private static final long serialVersionUID = -4427935901819632745L; private static final long serialVersionUID = -4427935901819632745L;
@@ -38,4 +40,9 @@ public class MutableInteger extends MutableNumber<Integer> {
public void add(int add) { public void add(int add) {
value += add; value += add;
} }
@Override
public int compareTo(@NotNull Integer o) {
return Integer.compare(value, o);
}
} }
@@ -1,6 +1,6 @@
package com.dfsek.terra.api.util.mutable; package com.dfsek.terra.api.util.mutable;
public interface MutablePrimitive<T> { public interface MutablePrimitive<T> extends Comparable<T>{
T get(); T get();
void set(T value); void set(T value);
@@ -0,0 +1,4 @@
/**
* Mutable objects containing primitive types.
*/
package com.dfsek.terra.api.util.mutable;
@@ -2,6 +2,7 @@ package com.dfsek.terra.api.util.seeded;
import java.util.function.Function; import java.util.function.Function;
@FunctionalInterface
public interface SeededBuilder<T> extends Function<Long, T> { public interface SeededBuilder<T> extends Function<Long, T> {
} }
@@ -2,5 +2,6 @@ package com.dfsek.terra.api.util.seeded;
import com.dfsek.terra.api.world.biome.pipeline.source.BiomeSource; import com.dfsek.terra.api.world.biome.pipeline.source.BiomeSource;
@FunctionalInterface
public interface SourceSeeded extends SeededBuilder<BiomeSource> { public interface SourceSeeded extends SeededBuilder<BiomeSource> {
} }
@@ -2,5 +2,6 @@ package com.dfsek.terra.api.util.seeded;
import com.dfsek.terra.api.world.biome.pipeline.stages.Stage; import com.dfsek.terra.api.world.biome.pipeline.stages.Stage;
@FunctionalInterface
public interface StageSeeded extends SeededBuilder<Stage> { public interface StageSeeded extends SeededBuilder<Stage> {
} }
@@ -1,9 +1,9 @@
package com.dfsek.terra.api.world.biome; package com.dfsek.terra.api.world.biome;
import com.dfsek.terra.api.math.ProbabilityCollection;
import com.dfsek.terra.api.platform.world.Biome; import com.dfsek.terra.api.platform.world.Biome;
import com.dfsek.terra.api.platform.world.World; import com.dfsek.terra.api.platform.world.World;
import com.dfsek.terra.api.util.collections.ProbabilityCollection;
import java.util.Set; import java.util.Set;
@@ -1,8 +1,8 @@
package com.dfsek.terra.api.world.biome; package com.dfsek.terra.api.world.biome;
import com.dfsek.terra.api.math.ProbabilityCollection;
import com.dfsek.terra.api.platform.world.Biome; import com.dfsek.terra.api.platform.world.Biome;
import com.dfsek.terra.api.platform.world.World; import com.dfsek.terra.api.platform.world.World;
import com.dfsek.terra.api.util.collections.ProbabilityCollection;
import com.dfsek.terra.config.builder.GeneratorBuilder; import com.dfsek.terra.config.builder.GeneratorBuilder;
import com.dfsek.terra.config.templates.BiomeTemplate; import com.dfsek.terra.config.templates.BiomeTemplate;
@@ -1,7 +1,7 @@
package com.dfsek.terra.api.world.biome.pipeline.mutator; package com.dfsek.terra.api.world.biome.pipeline.mutator;
import com.dfsek.terra.api.math.ProbabilityCollection;
import com.dfsek.terra.api.math.noise.NoiseSampler; import com.dfsek.terra.api.math.noise.NoiseSampler;
import com.dfsek.terra.api.util.collections.ProbabilityCollection;
import com.dfsek.terra.api.world.biome.TerraBiome; import com.dfsek.terra.api.world.biome.TerraBiome;
import java.util.Map; import java.util.Map;
@@ -1,7 +1,7 @@
package com.dfsek.terra.api.world.biome.pipeline.mutator; package com.dfsek.terra.api.world.biome.pipeline.mutator;
import com.dfsek.terra.api.math.ProbabilityCollection;
import com.dfsek.terra.api.math.noise.NoiseSampler; import com.dfsek.terra.api.math.noise.NoiseSampler;
import com.dfsek.terra.api.util.collections.ProbabilityCollection;
import com.dfsek.terra.api.world.biome.TerraBiome; import com.dfsek.terra.api.world.biome.TerraBiome;
public class BorderMutator implements BiomeMutator { public class BorderMutator implements BiomeMutator {
@@ -1,7 +1,7 @@
package com.dfsek.terra.api.world.biome.pipeline.mutator; package com.dfsek.terra.api.world.biome.pipeline.mutator;
import com.dfsek.terra.api.math.ProbabilityCollection;
import com.dfsek.terra.api.math.noise.NoiseSampler; import com.dfsek.terra.api.math.noise.NoiseSampler;
import com.dfsek.terra.api.util.collections.ProbabilityCollection;
import com.dfsek.terra.api.world.biome.TerraBiome; import com.dfsek.terra.api.world.biome.TerraBiome;
import java.util.Map; import java.util.Map;
@@ -1,7 +1,7 @@
package com.dfsek.terra.api.world.biome.pipeline.mutator; package com.dfsek.terra.api.world.biome.pipeline.mutator;
import com.dfsek.terra.api.math.ProbabilityCollection;
import com.dfsek.terra.api.math.noise.NoiseSampler; import com.dfsek.terra.api.math.noise.NoiseSampler;
import com.dfsek.terra.api.util.collections.ProbabilityCollection;
import com.dfsek.terra.api.world.biome.TerraBiome; import com.dfsek.terra.api.world.biome.TerraBiome;
public class ReplaceMutator implements BiomeMutator { public class ReplaceMutator implements BiomeMutator {
@@ -1,7 +1,7 @@
package com.dfsek.terra.api.world.biome.pipeline.source; package com.dfsek.terra.api.world.biome.pipeline.source;
import com.dfsek.terra.api.math.ProbabilityCollection;
import com.dfsek.terra.api.math.noise.NoiseSampler; import com.dfsek.terra.api.math.noise.NoiseSampler;
import com.dfsek.terra.api.util.collections.ProbabilityCollection;
import com.dfsek.terra.api.world.biome.TerraBiome; import com.dfsek.terra.api.world.biome.TerraBiome;
public class RandomSource implements BiomeSource { public class RandomSource implements BiomeSource {
@@ -1,6 +1,6 @@
package com.dfsek.terra.api.world.biome.provider; package com.dfsek.terra.api.world.biome.provider;
import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.TerraPlugin;
import com.dfsek.terra.api.math.noise.NoiseSampler; import com.dfsek.terra.api.math.noise.NoiseSampler;
import com.dfsek.terra.api.math.vector.Vector2; import com.dfsek.terra.api.math.vector.Vector2;
import com.dfsek.terra.api.world.biome.TerraBiome; import com.dfsek.terra.api.world.biome.TerraBiome;
@@ -1,6 +1,6 @@
package com.dfsek.terra.api.world.generation; package com.dfsek.terra.api.world.generation;
import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.TerraPlugin;
import com.dfsek.terra.api.platform.world.BiomeGrid; import com.dfsek.terra.api.platform.world.BiomeGrid;
import com.dfsek.terra.api.platform.world.World; import com.dfsek.terra.api.platform.world.World;
import com.dfsek.terra.api.platform.world.generator.ChunkData; import com.dfsek.terra.api.platform.world.generator.ChunkData;
@@ -1,6 +1,6 @@
package com.dfsek.terra.async; package com.dfsek.terra.api.world.locate;
import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.TerraPlugin;
import com.dfsek.terra.api.math.vector.Location; import com.dfsek.terra.api.math.vector.Location;
import com.dfsek.terra.api.math.vector.Vector3; import com.dfsek.terra.api.math.vector.Vector3;
import com.dfsek.terra.api.world.biome.TerraBiome; import com.dfsek.terra.api.world.biome.TerraBiome;
@@ -1,6 +1,6 @@
package com.dfsek.terra.async; package com.dfsek.terra.api.world.locate;
import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.TerraPlugin;
import com.dfsek.terra.api.math.vector.Location; import com.dfsek.terra.api.math.vector.Location;
import com.dfsek.terra.api.math.vector.Vector3; import com.dfsek.terra.api.math.vector.Vector3;
import com.dfsek.terra.api.platform.world.World; import com.dfsek.terra.api.platform.world.World;
@@ -1,6 +1,6 @@
package com.dfsek.terra.async; package com.dfsek.terra.api.world.locate;
import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.TerraPlugin;
import com.dfsek.terra.api.math.MathUtil; import com.dfsek.terra.api.math.MathUtil;
import com.dfsek.terra.api.math.vector.Location; import com.dfsek.terra.api.math.vector.Location;
import com.dfsek.terra.api.math.vector.Vector3; import com.dfsek.terra.api.math.vector.Vector3;
@@ -1,8 +1,8 @@
package com.dfsek.terra.api.world.palette; package com.dfsek.terra.api.world.palette;
import com.dfsek.terra.api.math.ProbabilityCollection;
import com.dfsek.terra.api.math.noise.NoiseSampler; import com.dfsek.terra.api.math.noise.NoiseSampler;
import com.dfsek.terra.api.util.GlueList; import com.dfsek.terra.api.util.GlueList;
import com.dfsek.terra.api.util.collections.ProbabilityCollection;
import java.util.List; import java.util.List;
import java.util.Random; import java.util.Random;
@@ -1,8 +1,8 @@
package com.dfsek.terra.api.world.palette.holder; package com.dfsek.terra.api.world.palette.holder;
import com.dfsek.terra.api.math.ProbabilityCollection;
import com.dfsek.terra.api.math.noise.NoiseSampler; import com.dfsek.terra.api.math.noise.NoiseSampler;
import com.dfsek.terra.api.platform.block.BlockData; import com.dfsek.terra.api.platform.block.BlockData;
import com.dfsek.terra.api.util.collections.ProbabilityCollection;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
public class PaletteLayerHolder { public class PaletteLayerHolder {
@@ -1,11 +1,11 @@
package com.dfsek.terra.api.world.tree.fractal; package com.dfsek.terra.api.world.tree.fractal;
import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.TerraPlugin;
import com.dfsek.terra.api.math.vector.Location; import com.dfsek.terra.api.math.vector.Location;
import com.dfsek.terra.api.platform.block.BlockData; import com.dfsek.terra.api.platform.block.BlockData;
import com.dfsek.terra.api.platform.entity.Entity; import com.dfsek.terra.api.platform.entity.Entity;
import com.dfsek.terra.api.platform.entity.EntityType; import com.dfsek.terra.api.platform.entity.EntityType;
import com.dfsek.terra.api.util.world.MaterialSet; import com.dfsek.terra.api.util.collections.MaterialSet;
import java.util.Random; import java.util.Random;
import java.util.function.Consumer; import java.util.function.Consumer;
@@ -1,9 +1,9 @@
package com.dfsek.terra.api.world.tree.fractal; package com.dfsek.terra.api.world.tree.fractal;
import com.dfsek.terra.api.math.ProbabilityCollection;
import com.dfsek.terra.api.math.vector.Location; import com.dfsek.terra.api.math.vector.Location;
import com.dfsek.terra.api.math.vector.Vector3; import com.dfsek.terra.api.math.vector.Vector3;
import com.dfsek.terra.api.platform.block.BlockData; import com.dfsek.terra.api.platform.block.BlockData;
import com.dfsek.terra.api.util.collections.ProbabilityCollection;
import java.util.Random; import java.util.Random;
@@ -1,9 +1,9 @@
package com.dfsek.terra.api.world.tree.fractal.trees; package com.dfsek.terra.api.world.tree.fractal.trees;
import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.TerraPlugin;
import com.dfsek.terra.api.math.vector.Location; import com.dfsek.terra.api.math.vector.Location;
import com.dfsek.terra.api.platform.block.BlockData; import com.dfsek.terra.api.platform.block.BlockData;
import com.dfsek.terra.api.util.world.MaterialSet; import com.dfsek.terra.api.util.collections.MaterialSet;
import com.dfsek.terra.api.world.tree.fractal.FractalTree; import com.dfsek.terra.api.world.tree.fractal.FractalTree;
import java.util.Random; import java.util.Random;
@@ -1,12 +1,12 @@
package com.dfsek.terra.api.world.tree.fractal.trees; package com.dfsek.terra.api.world.tree.fractal.trees;
import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.TerraPlugin;
import com.dfsek.terra.api.math.ProbabilityCollection;
import com.dfsek.terra.api.math.vector.Location; import com.dfsek.terra.api.math.vector.Location;
import com.dfsek.terra.api.math.vector.Vector3; import com.dfsek.terra.api.math.vector.Vector3;
import com.dfsek.terra.api.platform.block.BlockData; import com.dfsek.terra.api.platform.block.BlockData;
import com.dfsek.terra.api.platform.handle.WorldHandle; import com.dfsek.terra.api.platform.handle.WorldHandle;
import com.dfsek.terra.api.util.world.MaterialSet; import com.dfsek.terra.api.util.collections.MaterialSet;
import com.dfsek.terra.api.util.collections.ProbabilityCollection;
import com.dfsek.terra.api.world.tree.fractal.FractalTree; import com.dfsek.terra.api.world.tree.fractal.FractalTree;
import com.dfsek.terra.api.world.tree.fractal.TreeGeometry; import com.dfsek.terra.api.world.tree.fractal.TreeGeometry;
@@ -1,10 +1,10 @@
package com.dfsek.terra.api.world.tree.fractal.trees; package com.dfsek.terra.api.world.tree.fractal.trees;
import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.TerraPlugin;
import com.dfsek.terra.api.math.vector.Location; import com.dfsek.terra.api.math.vector.Location;
import com.dfsek.terra.api.math.vector.Vector3; import com.dfsek.terra.api.math.vector.Vector3;
import com.dfsek.terra.api.platform.block.BlockData; import com.dfsek.terra.api.platform.block.BlockData;
import com.dfsek.terra.api.util.world.MaterialSet; import com.dfsek.terra.api.util.collections.MaterialSet;
import com.dfsek.terra.api.world.tree.fractal.FractalTree; import com.dfsek.terra.api.world.tree.fractal.FractalTree;
import com.dfsek.terra.api.world.tree.fractal.TreeGeometry; import com.dfsek.terra.api.world.tree.fractal.TreeGeometry;
import net.jafama.FastMath; import net.jafama.FastMath;
@@ -1,9 +1,9 @@
package com.dfsek.terra.api.world.tree.fractal.trees; package com.dfsek.terra.api.world.tree.fractal.trees;
import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.TerraPlugin;
import com.dfsek.terra.api.math.vector.Location; import com.dfsek.terra.api.math.vector.Location;
import com.dfsek.terra.api.platform.block.BlockData; import com.dfsek.terra.api.platform.block.BlockData;
import com.dfsek.terra.api.util.world.MaterialSet; import com.dfsek.terra.api.util.collections.MaterialSet;
import com.dfsek.terra.api.world.tree.fractal.FractalTree; import com.dfsek.terra.api.world.tree.fractal.FractalTree;
import java.util.Random; import java.util.Random;
@@ -1,12 +1,12 @@
package com.dfsek.terra.api.world.tree.fractal.trees; package com.dfsek.terra.api.world.tree.fractal.trees;
import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.TerraPlugin;
import com.dfsek.terra.api.math.ProbabilityCollection;
import com.dfsek.terra.api.math.vector.Location; import com.dfsek.terra.api.math.vector.Location;
import com.dfsek.terra.api.math.vector.Vector3; import com.dfsek.terra.api.math.vector.Vector3;
import com.dfsek.terra.api.platform.block.BlockData; import com.dfsek.terra.api.platform.block.BlockData;
import com.dfsek.terra.api.platform.handle.WorldHandle; import com.dfsek.terra.api.platform.handle.WorldHandle;
import com.dfsek.terra.api.util.world.MaterialSet; import com.dfsek.terra.api.util.collections.MaterialSet;
import com.dfsek.terra.api.util.collections.ProbabilityCollection;
import com.dfsek.terra.api.world.tree.fractal.FractalTree; import com.dfsek.terra.api.world.tree.fractal.FractalTree;
import com.dfsek.terra.api.world.tree.fractal.TreeGeometry; import com.dfsek.terra.api.world.tree.fractal.TreeGeometry;
import net.jafama.FastMath; import net.jafama.FastMath;
@@ -1,9 +1,9 @@
package com.dfsek.terra.api.world.tree.fractal.trees; package com.dfsek.terra.api.world.tree.fractal.trees;
import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.TerraPlugin;
import com.dfsek.terra.api.math.vector.Location; import com.dfsek.terra.api.math.vector.Location;
import com.dfsek.terra.api.platform.block.BlockData; import com.dfsek.terra.api.platform.block.BlockData;
import com.dfsek.terra.api.util.world.MaterialSet; import com.dfsek.terra.api.util.collections.MaterialSet;
import com.dfsek.terra.api.world.tree.fractal.FractalTree; import com.dfsek.terra.api.world.tree.fractal.FractalTree;
import java.util.Random; import java.util.Random;
@@ -1,12 +1,12 @@
package com.dfsek.terra.api.world.tree.fractal.trees; package com.dfsek.terra.api.world.tree.fractal.trees;
import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.TerraPlugin;
import com.dfsek.terra.api.math.ProbabilityCollection;
import com.dfsek.terra.api.math.vector.Location; import com.dfsek.terra.api.math.vector.Location;
import com.dfsek.terra.api.math.vector.Vector3; import com.dfsek.terra.api.math.vector.Vector3;
import com.dfsek.terra.api.platform.block.BlockData; import com.dfsek.terra.api.platform.block.BlockData;
import com.dfsek.terra.api.platform.handle.WorldHandle; import com.dfsek.terra.api.platform.handle.WorldHandle;
import com.dfsek.terra.api.util.world.MaterialSet; import com.dfsek.terra.api.util.collections.MaterialSet;
import com.dfsek.terra.api.util.collections.ProbabilityCollection;
import com.dfsek.terra.api.world.tree.fractal.FractalTree; import com.dfsek.terra.api.world.tree.fractal.FractalTree;
import com.dfsek.terra.api.world.tree.fractal.TreeGeometry; import com.dfsek.terra.api.world.tree.fractal.TreeGeometry;
import net.jafama.FastMath; import net.jafama.FastMath;
@@ -1,10 +1,10 @@
package com.dfsek.terra.api.world.tree.fractal.trees; package com.dfsek.terra.api.world.tree.fractal.trees;
import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.TerraPlugin;
import com.dfsek.terra.api.math.vector.Location; import com.dfsek.terra.api.math.vector.Location;
import com.dfsek.terra.api.math.vector.Vector3; import com.dfsek.terra.api.math.vector.Vector3;
import com.dfsek.terra.api.platform.block.BlockData; import com.dfsek.terra.api.platform.block.BlockData;
import com.dfsek.terra.api.util.world.MaterialSet; import com.dfsek.terra.api.util.collections.MaterialSet;
import com.dfsek.terra.api.world.tree.fractal.FractalTree; import com.dfsek.terra.api.world.tree.fractal.FractalTree;
import com.dfsek.terra.api.world.tree.fractal.TreeGeometry; import com.dfsek.terra.api.world.tree.fractal.TreeGeometry;
import net.jafama.FastMath; import net.jafama.FastMath;
@@ -1,6 +1,6 @@
package com.dfsek.terra.carving; package com.dfsek.terra.carving;
import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.TerraPlugin;
import com.dfsek.terra.api.math.MathUtil; import com.dfsek.terra.api.math.MathUtil;
import com.dfsek.terra.api.math.vector.Vector3; import com.dfsek.terra.api.math.vector.Vector3;
import com.dfsek.terra.api.platform.world.World; import com.dfsek.terra.api.platform.world.World;
@@ -1,9 +1,9 @@
package com.dfsek.terra.carving; package com.dfsek.terra.carving;
import com.dfsek.terra.api.math.ProbabilityCollection;
import com.dfsek.terra.api.platform.block.BlockData; import com.dfsek.terra.api.platform.block.BlockData;
import com.dfsek.terra.api.platform.block.MaterialData; import com.dfsek.terra.api.platform.block.MaterialData;
import com.dfsek.terra.api.util.world.MaterialSet; import com.dfsek.terra.api.util.collections.MaterialSet;
import com.dfsek.terra.api.util.collections.ProbabilityCollection;
import java.util.Map; import java.util.Map;
import java.util.TreeMap; import java.util.TreeMap;
@@ -4,7 +4,7 @@ import com.dfsek.paralithic.Expression;
import com.dfsek.paralithic.eval.parser.Parser; import com.dfsek.paralithic.eval.parser.Parser;
import com.dfsek.paralithic.eval.parser.Scope; import com.dfsek.paralithic.eval.parser.Scope;
import com.dfsek.paralithic.eval.tokenizer.ParseException; import com.dfsek.paralithic.eval.tokenizer.ParseException;
import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.TerraPlugin;
import com.dfsek.terra.api.math.Range; import com.dfsek.terra.api.math.Range;
import com.dfsek.terra.api.math.paralithic.defined.UserDefinedFunction; 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.NoiseFunction2;
@@ -1,17 +1,17 @@
package com.dfsek.terra.config; package com.dfsek.terra.config;
import com.dfsek.tectonic.loading.TypeRegistry; import com.dfsek.tectonic.loading.TypeRegistry;
import com.dfsek.terra.addons.addon.TerraAddon;
import com.dfsek.terra.api.LoaderRegistrar; import com.dfsek.terra.api.LoaderRegistrar;
import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.TerraPlugin;
import com.dfsek.terra.api.addons.TerraAddon;
import com.dfsek.terra.api.math.GridSpawn; import com.dfsek.terra.api.math.GridSpawn;
import com.dfsek.terra.api.math.ProbabilityCollection;
import com.dfsek.terra.api.math.Range; import com.dfsek.terra.api.math.Range;
import com.dfsek.terra.api.math.noise.samplers.ImageSampler; import com.dfsek.terra.api.math.noise.samplers.ImageSampler;
import com.dfsek.terra.api.math.noise.samplers.noise.CellularSampler; import com.dfsek.terra.api.math.noise.samplers.noise.CellularSampler;
import com.dfsek.terra.api.util.collections.MaterialSet;
import com.dfsek.terra.api.util.collections.ProbabilityCollection;
import com.dfsek.terra.api.util.seeded.SourceSeeded; import com.dfsek.terra.api.util.seeded.SourceSeeded;
import com.dfsek.terra.api.util.seeded.StageSeeded; import com.dfsek.terra.api.util.seeded.StageSeeded;
import com.dfsek.terra.api.util.world.MaterialSet;
import com.dfsek.terra.api.world.biome.pipeline.stages.ExpanderStage; import com.dfsek.terra.api.world.biome.pipeline.stages.ExpanderStage;
import com.dfsek.terra.api.world.biome.pipeline.stages.MutatorStage; import com.dfsek.terra.api.world.biome.pipeline.stages.MutatorStage;
import com.dfsek.terra.api.world.biome.provider.BiomeProvider; import com.dfsek.terra.api.world.biome.provider.BiomeProvider;
@@ -5,7 +5,7 @@ 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.core.TerraPlugin; import com.dfsek.terra.api.TerraPlugin;
import com.dfsek.terra.api.util.JarUtil; import com.dfsek.terra.api.util.JarUtil;
import java.io.File; import java.io.File;
@@ -1,15 +0,0 @@
package com.dfsek.terra.config.exception;
import com.dfsek.tectonic.exception.ConfigException;
public class FileMissingException extends ConfigException {
private static final long serialVersionUID = 4489395640246760802L;
public FileMissingException(String message) {
super(message);
}
public FileMissingException(String message, Throwable cause) {
super(message, cause);
}
}
@@ -1,7 +1,7 @@
package com.dfsek.terra.config.factories; package com.dfsek.terra.config.factories;
import com.dfsek.paralithic.eval.parser.Scope; import com.dfsek.paralithic.eval.parser.Scope;
import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.TerraPlugin;
import com.dfsek.terra.api.world.biome.TerraBiome; import com.dfsek.terra.api.world.biome.TerraBiome;
import com.dfsek.terra.api.world.biome.UserDefinedBiome; import com.dfsek.terra.api.world.biome.UserDefinedBiome;
import com.dfsek.terra.config.builder.GeneratorBuilder; import com.dfsek.terra.config.builder.GeneratorBuilder;

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