This commit is contained in:
dfsek 2021-06-23 10:48:57 -07:00
parent 24b8fc859c
commit e34e2dd0b2
33 changed files with 44 additions and 63 deletions

View File

@ -1,20 +1,14 @@
package com.dfsek.terra.api;
import com.dfsek.terra.api.addons.TerraAddon;
import com.dfsek.terra.api.addon.TerraAddon;
import com.dfsek.terra.api.config.ConfigPack;
import com.dfsek.terra.api.event.EventManager;
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.profiler.Profiler;
import com.dfsek.terra.api.registry.CheckedRegistry;
import com.dfsek.terra.api.registry.LockedRegistry;
import com.dfsek.terra.api.util.JarUtil;
import com.dfsek.terra.api.util.logging.DebugLogger;
import com.dfsek.terra.api.util.logging.Logger;
import com.dfsek.terra.config.PluginConfig;
import com.dfsek.terra.config.lang.Language;
import com.dfsek.terra.config.pack.ConfigPack;
import com.dfsek.terra.profiler.Profiler;
import com.dfsek.terra.world.TerraWorld;
import com.dfsek.terra.api.registry.Registry;
import com.dfsek.terra.api.world.World;
import java.io.File;
import java.io.IOException;
@ -39,7 +33,7 @@ public interface TerraPlugin extends LoaderRegistrar {
CheckedRegistry<ConfigPack> getConfigRegistry();
LockedRegistry<TerraAddon> getAddons();
Registry<TerraAddon> getAddons();
boolean reload();

View File

@ -1,7 +1,6 @@
package com.dfsek.terra.api.block;
import com.dfsek.terra.api.vector.Vector3;
import com.dfsek.terra.api.vector.Vector3Impl;
import org.jetbrains.annotations.NotNull;
public enum BlockFace {

View File

@ -1,7 +1,7 @@
package com.dfsek.terra.api.event.events;
import com.dfsek.terra.api.config.ConfigPack;
import com.dfsek.terra.api.event.annotations.Global;
import com.dfsek.terra.config.pack.ConfigPack;
/**
* An event with functionality directly linked to a {@link ConfigPack}.

View File

@ -2,8 +2,8 @@ package com.dfsek.terra.api.event.events.config;
import com.dfsek.tectonic.config.ConfigTemplate;
import com.dfsek.tectonic.exception.ConfigException;
import com.dfsek.terra.api.config.ConfigPack;
import com.dfsek.terra.api.event.events.PackEvent;
import com.dfsek.terra.config.pack.ConfigPack;
/**
* An event related to the loading process of config packs.

View File

@ -1,7 +1,7 @@
package com.dfsek.terra.api.event.events.config;
import com.dfsek.tectonic.config.ConfigTemplate;
import com.dfsek.terra.config.pack.ConfigPack;
import com.dfsek.terra.api.config.ConfigPack;
/**
* Called when a config pack has finished loading.

View File

@ -1,8 +1,7 @@
package com.dfsek.terra.api.event.events.config;
import com.dfsek.tectonic.config.ConfigTemplate;
import com.dfsek.tectonic.exception.ConfigException;
import com.dfsek.terra.config.pack.ConfigPack;
import com.dfsek.terra.api.config.ConfigPack;
/**
* Called before a config pack's registries are filled. At this point, the pack manifest has been loaded, and all registries are empty.

View File

@ -1,9 +1,8 @@
package com.dfsek.terra.api.event.events.world;
import com.dfsek.terra.api.config.ConfigPack;
import com.dfsek.terra.api.event.events.PackEvent;
import com.dfsek.terra.config.pack.ConfigPack;
import com.dfsek.terra.config.pack.WorldConfig;
import com.dfsek.terra.world.TerraWorld;
/**
* Called upon initialization of a TerraWorld.

View File

@ -1,13 +1,12 @@
package com.dfsek.terra.api.event.events.world.generation;
import com.dfsek.terra.api.config.ConfigPack;
import com.dfsek.terra.api.event.events.PackEvent;
import com.dfsek.terra.api.math.vector.Location;
import com.dfsek.terra.api.entity.Entity;
import com.dfsek.terra.api.structures.structure.buffer.items.BufferedEntity;
import com.dfsek.terra.config.pack.ConfigPack;
import com.dfsek.terra.api.vector.Location;
/**
* Called when an entity is spawned via {@link BufferedEntity}.
* Called when an entity is spawned.
*/
public class EntitySpawnEvent implements PackEvent {
private final ConfigPack pack;

View File

@ -1,18 +1,15 @@
package com.dfsek.terra.api.event.events.world.generation;
import com.dfsek.terra.api.config.ConfigPack;
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.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;
import com.dfsek.terra.config.pack.ConfigPack;
import org.jetbrains.annotations.NotNull;
/**
* Called when loot is populated via {@link BufferedLootApplication}.
* Called when loot is populated.
*/
public class LootPopulateEvent extends AbstractCancellable implements PackEvent, Cancellable {
private final Block block;

View File

@ -1,7 +1,8 @@
package com.dfsek.terra.api.noise;
import com.dfsek.terra.api.math.vector.Vector2;
import com.dfsek.terra.api.math.vector.Vector3;
import com.dfsek.terra.api.vector.Vector2;
import com.dfsek.terra.api.vector.Vector3;
public interface NoiseSampler {
/**

View File

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

View File

@ -5,11 +5,6 @@ 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.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;
import com.dfsek.terra.api.util.seeded.NoiseSeeded;
import com.dfsek.terra.config.loaders.config.function.FunctionTemplate;
import java.util.Map;

View File

@ -2,8 +2,8 @@ package com.dfsek.terra.api.noise.samplers.noise;
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;
import com.dfsek.terra.api.vector.Vector2;
import com.dfsek.terra.api.vector.Vector3;
/**
* NoiseSampler implementation for Cellular (Voronoi/Worley) Noise.

View File

@ -1,7 +1,7 @@
package com.dfsek.terra.api.transform.exception;
import com.dfsek.terra.api.util.GlueList;
import java.util.ArrayList;
import java.util.List;
public class AttemptsFailedException extends RuntimeException {
@ -14,6 +14,6 @@ public class AttemptsFailedException extends RuntimeException {
}
public List<Throwable> getCauses() {
return new GlueList<>(causes);
return new ArrayList<>(causes);
}
}

View File

@ -1,7 +1,7 @@
package com.dfsek.terra.api.util;
import com.dfsek.terra.api.util.FastRandom;
import com.dfsek.terra.world.generation.math.samplers.Sampler;
import com.dfsek.terra.api.world.generator.Sampler;
import net.jafama.FastMath;
import java.util.List;

View File

@ -8,7 +8,7 @@ import java.util.Set;
import java.util.function.Function;
public interface ProbabilityCollection<E> extends Collection<E> {
ProbabilityCollectionImpl<E> add(E item, int probability);
ProbabilityCollection<E> add(E item, int probability);
E get(Random r);
@ -16,7 +16,7 @@ public interface ProbabilityCollection<E> extends Collection<E> {
E get(NoiseSampler n, double x, double z);
<T> ProbabilityCollectionImpl<T> map(Function<E, T> mapper, boolean carryNull);
<T> ProbabilityCollection<T> map(Function<E, T> mapper, boolean carryNull);
int getTotalProbability();

View File

@ -1,6 +1,7 @@
package com.dfsek.terra.api.world;
import com.dfsek.terra.api.Handle;
import com.dfsek.terra.api.world.biome.Biome;
import org.jetbrains.annotations.NotNull;
public interface BiomeGrid extends Handle {

View File

@ -1,9 +1,8 @@
package com.dfsek.terra.api.world;
import com.dfsek.terra.api.math.Range;
import com.dfsek.terra.api.util.Range;
import com.dfsek.terra.api.vector.Location;
import com.dfsek.terra.api.block.Block;
import com.dfsek.terra.api.world.Chunk;
import java.util.List;

View File

@ -2,7 +2,6 @@ package com.dfsek.terra.api.world;
import com.dfsek.terra.api.vector.Location;
import com.dfsek.terra.api.util.collections.MaterialSet;
import java.util.Random;

View File

@ -1,7 +1,7 @@
package com.dfsek.terra.api.world.biome;
import com.dfsek.terra.api.noise.NoiseSampler;
import com.dfsek.terra.api.world.palette.Palette;
import com.dfsek.terra.api.world.generator.Palette;
public interface Generator {
/**

View File

@ -2,6 +2,7 @@ package com.dfsek.terra.api.world.biome;
import com.dfsek.terra.api.util.ProbabilityCollection;
import com.dfsek.terra.api.world.World;
import java.util.Set;

View File

@ -1,7 +1,6 @@
package com.dfsek.terra.api.world.generator;
import com.dfsek.terra.api.Handle;
import com.dfsek.terra.api.world.generation.TerraChunkGenerator;
public interface GeneratorWrapper extends Handle {
@Override

View File

@ -1,4 +1,4 @@
package com.dfsek.terra.world.generation.math.samplers;
package com.dfsek.terra.api.world.generator;
@FunctionalInterface
public interface Sampler {

View File

@ -5,8 +5,6 @@ import com.dfsek.terra.api.config.ConfigPack;
import com.dfsek.terra.api.world.BiomeGrid;
import com.dfsek.terra.api.world.World;
import com.dfsek.terra.api.world.biome.generation.BiomeProvider;
import com.dfsek.terra.config.pack.ConfigPackImpl;
import com.dfsek.terra.world.generation.math.samplers.Sampler;
import org.jetbrains.annotations.NotNull;
import java.util.List;

View File

@ -4,7 +4,7 @@ import com.dfsek.terra.api.util.MathUtil;
import com.dfsek.terra.api.world.generator.Palette;
import com.dfsek.terra.api.world.palette.slant.SlantHolder;
import com.dfsek.terra.config.templates.BiomeTemplate;
import com.dfsek.terra.world.generation.math.samplers.Sampler;
import com.dfsek.terra.api.world.generator.Sampler;
public final class PaletteUtil {
public static Palette getPalette(int x, int y, int z, BiomeTemplate c, Sampler sampler) {

View File

@ -1,5 +1,6 @@
package com.dfsek.terra.api.world.biome;
import com.dfsek.terra.api.util.ProbabilityCollection;
import com.dfsek.terra.api.world.World;
import com.dfsek.terra.api.util.collections.ProbabilityCollectionImpl;
import com.dfsek.terra.config.templates.BiomeTemplate;
@ -12,14 +13,14 @@ import java.util.Set;
*/
public class UserDefinedBiome implements TerraBiome {
private final WorldGenerator gen;
private final ProbabilityCollectionImpl<Biome> vanilla;
private final ProbabilityCollection<Biome> vanilla;
private final String id;
private final BiomeTemplate config;
private final int color;
private final Set<String> tags;
public UserDefinedBiome(ProbabilityCollectionImpl<Biome> vanilla, WorldGenerator gen, BiomeTemplate config) {
public UserDefinedBiome(ProbabilityCollection<Biome> vanilla, WorldGenerator gen, BiomeTemplate config) {
this.vanilla = vanilla;
this.gen = gen;
this.id = config.getID();
@ -35,7 +36,7 @@ public class UserDefinedBiome implements TerraBiome {
* @return Collection of biomes to represent the custom biome.
*/
@Override
public ProbabilityCollectionImpl<Biome> getVanillaBiomes() {
public ProbabilityCollection<Biome> getVanillaBiomes() {
return vanilla;
}

View File

@ -11,7 +11,7 @@ import com.dfsek.terra.api.world.biome.generation.BiomeProvider;
import com.dfsek.terra.api.world.generator.Palette;
import com.dfsek.terra.config.pack.ConfigPackImpl;
import com.dfsek.terra.config.pack.WorldConfig;
import com.dfsek.terra.world.generation.math.samplers.Sampler;
import com.dfsek.terra.api.world.generator.Sampler;
import net.jafama.FastMath;
public class TerraWorld {

View File

@ -20,7 +20,7 @@ import com.dfsek.terra.world.Carver;
import com.dfsek.terra.world.TerraWorld;
import com.dfsek.terra.world.carving.NoiseCarver;
import com.dfsek.terra.world.generation.math.SamplerCache;
import com.dfsek.terra.world.generation.math.samplers.Sampler;
import com.dfsek.terra.api.world.generator.Sampler;
import com.dfsek.terra.world.generation.math.samplers.Sampler2D;
import com.dfsek.terra.world.population.CavePopulator;
import com.dfsek.terra.world.population.OrePopulator;

View File

@ -28,7 +28,7 @@ import com.dfsek.terra.api.profiler.ProfileFrame;
import com.dfsek.terra.world.Carver;
import com.dfsek.terra.world.TerraWorld;
import com.dfsek.terra.world.carving.NoiseCarver;
import com.dfsek.terra.world.generation.math.samplers.Sampler;
import com.dfsek.terra.api.world.generator.Sampler;
import com.dfsek.terra.world.generation.math.samplers.Sampler3D;
import com.dfsek.terra.world.population.CavePopulator;
import com.dfsek.terra.world.population.FloraPopulator;

View File

@ -3,7 +3,7 @@ package com.dfsek.terra.world.generation.math;
import com.dfsek.terra.api.TerraPlugin;
import com.dfsek.terra.api.util.MathUtil;
import com.dfsek.terra.world.TerraWorld;
import com.dfsek.terra.world.generation.math.samplers.Sampler;
import com.dfsek.terra.api.world.generator.Sampler;
import com.google.common.cache.CacheBuilder;
import com.google.common.cache.CacheLoader;
import com.google.common.cache.LoadingCache;

View File

@ -2,6 +2,7 @@ package com.dfsek.terra.world.generation.math.samplers;
import com.dfsek.terra.api.world.World;
import com.dfsek.terra.api.world.biome.generation.BiomeProvider;
import com.dfsek.terra.api.world.generator.Sampler;
import com.dfsek.terra.world.generation.math.interpolation.ChunkInterpolator2D;
import com.dfsek.terra.world.generation.math.interpolation.ElevationInterpolator;
import net.jafama.FastMath;

View File

@ -2,6 +2,7 @@ package com.dfsek.terra.world.generation.math.samplers;
import com.dfsek.terra.api.world.World;
import com.dfsek.terra.api.world.biome.generation.BiomeProvider;
import com.dfsek.terra.api.world.generator.Sampler;
import com.dfsek.terra.world.generation.math.interpolation.ChunkInterpolator3D;
import com.dfsek.terra.world.generation.math.interpolation.ElevationInterpolator;
import net.jafama.FastMath;

View File

@ -94,8 +94,6 @@ public class TerraFlora implements Flora {
@Override
public boolean plant(Location location) {
WorldHandle handle = main.getWorldHandle();
boolean doRotation = testRotation.size() > 0;
int size = floraPalette.getSize();
int c = ceiling ? -1 : 1;