refactor world API

This commit is contained in:
dfsek
2021-11-27 17:15:20 -07:00
parent a30451597c
commit bf0ac5afe2
72 changed files with 73 additions and 77 deletions
@@ -22,7 +22,7 @@ import com.dfsek.terra.api.block.state.BlockState;
import com.dfsek.terra.api.config.ConfigPack;
import com.dfsek.terra.api.profiler.ProfileFrame;
import com.dfsek.terra.api.util.math.Sampler;
import com.dfsek.terra.api.world.World;
import com.dfsek.terra.api.world.access.World;
import com.dfsek.terra.api.world.biome.GenerationSettings;
import com.dfsek.terra.api.world.biome.TerraBiome;
import com.dfsek.terra.api.world.biome.generation.BiomeProvider;
@@ -15,7 +15,7 @@ import java.util.function.BiFunction;
import com.dfsek.terra.api.util.mutable.MutableInteger;
import com.dfsek.terra.api.util.vector.Vector3;
import com.dfsek.terra.api.world.World;
import com.dfsek.terra.api.world.access.World;
import com.dfsek.terra.api.world.biome.GenerationSettings;
import com.dfsek.terra.api.world.biome.generation.BiomeProvider;
import com.dfsek.terra.api.world.generator.ChunkInterpolator;
@@ -15,7 +15,7 @@ import java.util.function.BiFunction;
import com.dfsek.terra.api.util.mutable.MutableInteger;
import com.dfsek.terra.api.util.vector.Vector3;
import com.dfsek.terra.api.world.World;
import com.dfsek.terra.api.world.access.World;
import com.dfsek.terra.api.world.biome.GenerationSettings;
import com.dfsek.terra.api.world.biome.generation.BiomeProvider;
import com.dfsek.terra.api.world.generator.ChunkInterpolator;
@@ -7,7 +7,7 @@
package com.dfsek.terra.addons.chunkgenerator.generation.math.interpolation;
import com.dfsek.terra.api.world.World;
import com.dfsek.terra.api.world.access.World;
import com.dfsek.terra.api.world.biome.GenerationSettings;
import com.dfsek.terra.api.world.biome.generation.BiomeProvider;
@@ -12,7 +12,7 @@ import net.jafama.FastMath;
import com.dfsek.terra.addons.chunkgenerator.generation.math.interpolation.ChunkInterpolator3D;
import com.dfsek.terra.addons.chunkgenerator.generation.math.interpolation.ElevationInterpolator;
import com.dfsek.terra.api.util.math.Sampler;
import com.dfsek.terra.api.world.World;
import com.dfsek.terra.api.world.access.World;
import com.dfsek.terra.api.world.biome.generation.BiomeProvider;
@@ -13,7 +13,7 @@ import java.util.function.Consumer;
import com.dfsek.terra.api.Platform;
import com.dfsek.terra.api.util.vector.Vector3;
import com.dfsek.terra.api.world.World;
import com.dfsek.terra.api.world.access.World;
import com.dfsek.terra.api.world.biome.TerraBiome;
import com.dfsek.terra.api.world.biome.generation.BiomeProvider;
@@ -22,7 +22,7 @@ import com.dfsek.terra.api.Platform;
import com.dfsek.terra.api.util.MathUtil;
import com.dfsek.terra.api.util.PopulationUtil;
import com.dfsek.terra.api.util.vector.Vector3;
import com.dfsek.terra.api.world.World;
import com.dfsek.terra.api.world.access.World;
import com.dfsek.terra.api.world.biome.TerraBiome;
import com.dfsek.terra.api.world.biome.generation.BiomeProvider;
@@ -22,7 +22,7 @@ import com.dfsek.terra.api.config.WorldConfig;
import com.dfsek.terra.api.profiler.ProfileFrame;
import com.dfsek.terra.api.util.PopulationUtil;
import com.dfsek.terra.api.util.vector.Vector3;
import com.dfsek.terra.api.world.World;
import com.dfsek.terra.api.world.access.World;
import com.dfsek.terra.api.world.chunk.generation.stage.Chunkified;
import com.dfsek.terra.api.world.chunk.generation.stage.GenerationStage;
@@ -25,7 +25,7 @@ import com.dfsek.terra.api.Platform;
import com.dfsek.terra.api.util.ConstantRange;
import com.dfsek.terra.api.util.Range;
import com.dfsek.terra.api.util.vector.Vector3;
import com.dfsek.terra.api.world.World;
import com.dfsek.terra.api.world.access.World;
public class UserDefinedCarver extends Carver {
@@ -13,7 +13,7 @@ import java.util.Random;
import java.util.function.BiConsumer;
import com.dfsek.terra.api.util.vector.Vector3;
import com.dfsek.terra.api.world.World;
import com.dfsek.terra.api.world.access.World;
public abstract class Carver {
@@ -13,7 +13,7 @@ import java.util.Random;
import java.util.function.BiConsumer;
import com.dfsek.terra.api.util.vector.Vector3;
import com.dfsek.terra.api.world.World;
import com.dfsek.terra.api.world.access.World;
public abstract class Worm {
@@ -13,7 +13,7 @@ import com.dfsek.terra.api.structure.feature.Distributor;
import com.dfsek.terra.api.structure.feature.Feature;
import com.dfsek.terra.api.structure.feature.Locator;
import com.dfsek.terra.api.util.collection.ProbabilityCollection;
import com.dfsek.terra.api.world.World;
import com.dfsek.terra.api.world.access.World;
public class ConfiguredFeature implements Feature {
@@ -25,7 +25,7 @@ import com.dfsek.terra.api.util.collection.MaterialSet;
import com.dfsek.terra.api.util.collection.ProbabilityCollection;
import com.dfsek.terra.api.util.vector.Vector3;
import com.dfsek.terra.api.world.chunk.Chunk;
import com.dfsek.terra.api.world.World;
import com.dfsek.terra.api.world.access.World;
public class TerraFlora implements Structure {
@@ -10,7 +10,7 @@ package com.dfsek.terra.addons.feature.locator.locators;
import com.dfsek.terra.api.noise.NoiseSampler;
import com.dfsek.terra.api.structure.feature.BinaryColumn;
import com.dfsek.terra.api.structure.feature.Locator;
import com.dfsek.terra.api.world.Column;
import com.dfsek.terra.api.world.access.Column;
public class Noise3DLocator implements Locator {
@@ -14,7 +14,7 @@ import java.util.List;
import com.dfsek.terra.api.noise.NoiseSampler;
import com.dfsek.terra.api.structure.feature.BinaryColumn;
import com.dfsek.terra.api.structure.feature.Locator;
import com.dfsek.terra.api.world.Column;
import com.dfsek.terra.api.world.access.Column;
public class NoiseLocator implements Locator {
@@ -11,7 +11,7 @@ import com.dfsek.terra.addons.feature.locator.patterns.Pattern;
import com.dfsek.terra.api.structure.feature.BinaryColumn;
import com.dfsek.terra.api.structure.feature.Locator;
import com.dfsek.terra.api.util.Range;
import com.dfsek.terra.api.world.Column;
import com.dfsek.terra.api.world.access.Column;
public class PatternLocator implements Locator {
@@ -12,7 +12,7 @@ import java.util.Random;
import com.dfsek.terra.api.structure.feature.BinaryColumn;
import com.dfsek.terra.api.structure.feature.Locator;
import com.dfsek.terra.api.util.Range;
import com.dfsek.terra.api.world.Column;
import com.dfsek.terra.api.world.access.Column;
public class RandomLocator implements Locator {
@@ -7,12 +7,10 @@
package com.dfsek.terra.addons.feature.locator.locators;
import com.dfsek.terra.api.Platform;
import com.dfsek.terra.api.block.state.BlockState;
import com.dfsek.terra.api.structure.feature.BinaryColumn;
import com.dfsek.terra.api.structure.feature.Locator;
import com.dfsek.terra.api.util.Range;
import com.dfsek.terra.api.world.Column;
import com.dfsek.terra.api.world.access.Column;
public class SurfaceLocator implements Locator {
@@ -11,7 +11,7 @@ import java.util.function.Predicate;
import com.dfsek.terra.api.block.state.BlockState;
import com.dfsek.terra.api.util.Range;
import com.dfsek.terra.api.world.Column;
import com.dfsek.terra.api.world.access.Column;
public class MatchPattern implements Pattern {
@@ -7,7 +7,7 @@
package com.dfsek.terra.addons.feature.locator.patterns;
import com.dfsek.terra.api.world.Column;
import com.dfsek.terra.api.world.access.Column;
public interface Pattern {
@@ -16,7 +16,7 @@ import java.util.Random;
import com.dfsek.terra.api.Platform;
import com.dfsek.terra.api.profiler.ProfileFrame;
import com.dfsek.terra.api.util.PopulationUtil;
import com.dfsek.terra.api.world.World;
import com.dfsek.terra.api.world.access.World;
import com.dfsek.terra.api.world.biome.TerraBiome;
import com.dfsek.terra.api.world.chunk.generation.stage.GenerationStage;
@@ -21,7 +21,7 @@ import com.dfsek.terra.api.structure.configured.ConfiguredStructure;
import com.dfsek.terra.api.util.Rotation;
import com.dfsek.terra.api.util.PopulationUtil;
import com.dfsek.terra.api.util.vector.Vector3;
import com.dfsek.terra.api.world.World;
import com.dfsek.terra.api.world.access.World;
import com.dfsek.terra.api.world.biome.generation.BiomeProvider;
import com.dfsek.terra.api.world.chunk.generation.stage.Chunkified;
import com.dfsek.terra.api.world.chunk.generation.stage.GenerationStage;
@@ -14,7 +14,7 @@ import java.util.function.Consumer;
import com.dfsek.terra.api.Platform;
import com.dfsek.terra.api.structure.configured.ConfiguredStructure;
import com.dfsek.terra.api.util.vector.Vector3;
import com.dfsek.terra.api.world.World;
import com.dfsek.terra.api.world.access.World;
import com.dfsek.terra.api.world.biome.generation.BiomeProvider;
@@ -11,8 +11,8 @@ import java.util.function.IntConsumer;
import com.dfsek.terra.api.block.state.BlockState;
import com.dfsek.terra.api.structure.feature.BinaryColumn;
import com.dfsek.terra.api.world.Column;
import com.dfsek.terra.api.world.World;
import com.dfsek.terra.api.world.access.Column;
import com.dfsek.terra.api.world.access.World;
public class ColumnImpl implements Column {
@@ -13,7 +13,7 @@ import com.dfsek.terra.api.profiler.ProfileFrame;
import com.dfsek.terra.api.util.Rotation;
import com.dfsek.terra.api.util.PopulationUtil;
import com.dfsek.terra.api.util.vector.Vector3;
import com.dfsek.terra.api.world.World;
import com.dfsek.terra.api.world.access.World;
import com.dfsek.terra.api.world.chunk.Chunk;
import com.dfsek.terra.api.world.chunk.generation.stage.GenerationStage;
@@ -1,7 +1,7 @@
package com.dfsek.terra.addons.generation.structure;
import com.dfsek.terra.api.Platform;
import com.dfsek.terra.api.world.World;
import com.dfsek.terra.api.world.access.World;
import com.dfsek.terra.api.world.chunk.Chunk;
import com.dfsek.terra.api.world.chunk.generation.stage.GenerationStage;
@@ -20,7 +20,7 @@ import com.dfsek.terra.api.util.Rotation;
import com.dfsek.terra.api.util.vector.Vector3;
import com.dfsek.terra.api.util.vector.integer.Vector2Int;
import com.dfsek.terra.api.world.chunk.Chunk;
import com.dfsek.terra.api.world.World;
import com.dfsek.terra.api.world.access.World;
public class SpongeStructure implements Structure {
@@ -11,7 +11,7 @@ import com.dfsek.terra.api.structure.buffer.Buffer;
import com.dfsek.terra.api.structure.buffer.BufferedItem;
import com.dfsek.terra.api.util.vector.Vector3;
import com.dfsek.terra.api.world.chunk.Chunk;
import com.dfsek.terra.api.world.World;
import com.dfsek.terra.api.world.access.World;
public class IntermediateBuffer implements Buffer {
@@ -13,7 +13,7 @@ import com.dfsek.terra.api.entity.EntityType;
import com.dfsek.terra.api.event.events.world.generation.EntitySpawnEvent;
import com.dfsek.terra.api.structure.buffer.BufferedItem;
import com.dfsek.terra.api.util.vector.Vector3;
import com.dfsek.terra.api.world.World;
import com.dfsek.terra.api.world.access.World;
public class BufferedEntity implements BufferedItem {
@@ -17,7 +17,7 @@ import com.dfsek.terra.api.event.events.world.generation.LootPopulateEvent;
import com.dfsek.terra.api.structure.LootTable;
import com.dfsek.terra.api.structure.buffer.BufferedItem;
import com.dfsek.terra.api.util.vector.Vector3;
import com.dfsek.terra.api.world.World;
import com.dfsek.terra.api.world.access.World;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -10,7 +10,7 @@ package com.dfsek.terra.addons.terrascript.buffer.items;
import com.dfsek.terra.api.block.state.BlockState;
import com.dfsek.terra.api.structure.buffer.BufferedItem;
import com.dfsek.terra.api.util.vector.Vector3;
import com.dfsek.terra.api.world.World;
import com.dfsek.terra.api.world.access.World;
public class BufferedPulledBlock implements BufferedItem {
@@ -7,11 +7,10 @@
package com.dfsek.terra.addons.terrascript.buffer.items;
import com.dfsek.terra.api.Platform;
import com.dfsek.terra.api.block.entity.BlockEntity;
import com.dfsek.terra.api.structure.buffer.BufferedItem;
import com.dfsek.terra.api.util.vector.Vector3;
import com.dfsek.terra.api.world.World;
import com.dfsek.terra.api.world.access.World;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -51,7 +51,7 @@ import com.dfsek.terra.api.structure.buffer.buffers.StructureBuffer;
import com.dfsek.terra.api.util.Rotation;
import com.dfsek.terra.api.util.vector.Vector3;
import com.dfsek.terra.api.world.chunk.Chunk;
import com.dfsek.terra.api.world.World;
import com.dfsek.terra.api.world.access.World;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -12,7 +12,7 @@ import java.util.Random;
import com.dfsek.terra.addons.terrascript.parser.lang.ImplementationArguments;
import com.dfsek.terra.api.structure.buffer.Buffer;
import com.dfsek.terra.api.util.Rotation;
import com.dfsek.terra.api.world.World;
import com.dfsek.terra.api.world.access.World;
public class TerraImplementationArguments implements ImplementationArguments {
@@ -21,7 +21,7 @@ import com.dfsek.terra.api.Platform;
import com.dfsek.terra.api.util.RotationUtil;
import com.dfsek.terra.api.util.vector.Vector2;
import com.dfsek.terra.api.util.vector.Vector3;
import com.dfsek.terra.api.world.World;
import com.dfsek.terra.api.world.access.World;
import com.dfsek.terra.api.world.generator.SamplerCache;
@@ -21,7 +21,7 @@ import com.dfsek.terra.api.tectonic.LoaderHolder;
import com.dfsek.terra.api.tectonic.LoaderRegistrar;
import com.dfsek.terra.api.util.StringIdentifiable;
import com.dfsek.terra.api.util.reflection.TypeKey;
import com.dfsek.terra.api.world.World;
import com.dfsek.terra.api.world.access.World;
import com.dfsek.terra.api.world.biome.generation.BiomeProvider;
import com.dfsek.terra.api.world.generator.ChunkGeneratorProvider;
import com.dfsek.terra.api.world.generator.GenerationStageProvider;
@@ -11,7 +11,7 @@ import java.util.Map;
import com.dfsek.terra.api.registry.Registry;
import com.dfsek.terra.api.util.StringIdentifiable;
import com.dfsek.terra.api.world.World;
import com.dfsek.terra.api.world.access.World;
import com.dfsek.terra.api.world.biome.generation.BiomeProvider;
import com.dfsek.terra.api.world.generator.SamplerCache;
@@ -8,7 +8,7 @@
package com.dfsek.terra.api.entity;
import com.dfsek.terra.api.util.vector.Vector3;
import com.dfsek.terra.api.world.World;
import com.dfsek.terra.api.world.access.World;
public interface Entity extends CommandSender {
@@ -14,7 +14,7 @@ import com.dfsek.terra.api.util.Rotation;
import com.dfsek.terra.api.util.StringIdentifiable;
import com.dfsek.terra.api.util.vector.Vector3;
import com.dfsek.terra.api.world.chunk.Chunk;
import com.dfsek.terra.api.world.World;
import com.dfsek.terra.api.world.access.World;
public interface Structure extends StringIdentifiable {
@@ -9,7 +9,7 @@ package com.dfsek.terra.api.structure.buffer;
import com.dfsek.terra.api.util.vector.Vector3;
import com.dfsek.terra.api.world.chunk.Chunk;
import com.dfsek.terra.api.world.World;
import com.dfsek.terra.api.world.access.World;
import org.jetbrains.annotations.ApiStatus.Experimental;
@@ -8,7 +8,7 @@
package com.dfsek.terra.api.structure.buffer;
import com.dfsek.terra.api.util.vector.Vector3;
import com.dfsek.terra.api.world.World;
import com.dfsek.terra.api.world.access.World;
import org.jetbrains.annotations.ApiStatus.Experimental;
@@ -14,7 +14,7 @@ import com.dfsek.terra.api.structure.buffer.Buffer;
import com.dfsek.terra.api.structure.buffer.BufferedItem;
import com.dfsek.terra.api.util.vector.Vector3;
import com.dfsek.terra.api.world.chunk.Chunk;
import com.dfsek.terra.api.world.World;
import com.dfsek.terra.api.world.access.World;
import org.jetbrains.annotations.ApiStatus.Experimental;
@@ -17,7 +17,7 @@ import com.dfsek.terra.api.structure.buffer.BufferedItem;
import com.dfsek.terra.api.structure.buffer.items.Cell;
import com.dfsek.terra.api.util.vector.Vector3;
import com.dfsek.terra.api.world.chunk.Chunk;
import com.dfsek.terra.api.world.World;
import com.dfsek.terra.api.world.access.World;
import org.jetbrains.annotations.ApiStatus.Experimental;
@@ -16,7 +16,7 @@ import com.dfsek.terra.api.block.state.BlockState;
import com.dfsek.terra.api.block.state.properties.base.Properties;
import com.dfsek.terra.api.structure.buffer.BufferedItem;
import com.dfsek.terra.api.util.vector.Vector3;
import com.dfsek.terra.api.world.World;
import com.dfsek.terra.api.world.access.World;
@Experimental
public class BufferedBlock implements BufferedItem {
@@ -12,7 +12,7 @@ import java.util.List;
import com.dfsek.terra.api.structure.buffer.BufferedItem;
import com.dfsek.terra.api.util.vector.Vector3;
import com.dfsek.terra.api.world.World;
import com.dfsek.terra.api.world.access.World;
import org.jetbrains.annotations.ApiStatus.Experimental;
@@ -8,7 +8,7 @@
package com.dfsek.terra.api.structure.feature;
import com.dfsek.terra.api.structure.Structure;
import com.dfsek.terra.api.world.World;
import com.dfsek.terra.api.world.access.World;
public interface Feature {
@@ -7,7 +7,7 @@
package com.dfsek.terra.api.structure.feature;
import com.dfsek.terra.api.world.Column;
import com.dfsek.terra.api.world.access.Column;
public interface Locator {
@@ -8,6 +8,7 @@
package com.dfsek.terra.api.world;
import com.dfsek.terra.api.world.access.World;
import com.dfsek.terra.api.world.chunk.ChunkAccess;
@@ -11,6 +11,7 @@ import java.util.List;
import com.dfsek.terra.api.util.Range;
import com.dfsek.terra.api.util.vector.Vector3;
import com.dfsek.terra.api.world.access.World;
import com.dfsek.terra.api.world.chunk.Chunk;
@@ -5,7 +5,7 @@
* reference the LICENSE file in the common/api directory.
*/
package com.dfsek.terra.api.world;
package com.dfsek.terra.api.world.access;
import java.util.function.IntConsumer;
@@ -5,11 +5,8 @@
* reference the LICENSE file in the common/api directory.
*/
package com.dfsek.terra.api.world;
package com.dfsek.terra.api.world.access;
import com.dfsek.terra.api.Handle;
import com.dfsek.terra.api.block.entity.BlockEntity;
import com.dfsek.terra.api.block.state.BlockState;
import com.dfsek.terra.api.config.WorldConfig;
import com.dfsek.terra.api.entity.Entity;
import com.dfsek.terra.api.entity.EntityType;
@@ -1,4 +1,4 @@
package com.dfsek.terra.api.world;
package com.dfsek.terra.api.world.access;
import com.dfsek.terra.api.Handle;
import com.dfsek.terra.api.block.entity.BlockEntity;
@@ -9,7 +9,7 @@ package com.dfsek.terra.api.world.chunk;
import com.dfsek.terra.api.block.state.BlockState;
import com.dfsek.terra.api.world.World;
import com.dfsek.terra.api.world.access.World;
import org.jetbrains.annotations.NotNull;
@@ -21,7 +21,7 @@ import com.dfsek.terra.api.block.state.BlockState;
import com.dfsek.terra.api.config.ConfigPack;
import com.dfsek.terra.api.util.math.Sampler;
import com.dfsek.terra.api.util.vector.Vector3;
import com.dfsek.terra.api.world.World;
import com.dfsek.terra.api.world.access.World;
import com.dfsek.terra.api.world.biome.generation.BiomeProvider;
@@ -1,6 +1,6 @@
package com.dfsek.terra.api.world.chunk.generation;
import com.dfsek.terra.api.world.WorldAccess;
import com.dfsek.terra.api.world.access.WorldAccess;
public interface ProtoWorld extends WorldAccess {
@@ -8,7 +8,7 @@
package com.dfsek.terra.api.world.chunk.generation.stage;
import com.dfsek.terra.api.world.chunk.Chunk;
import com.dfsek.terra.api.world.World;
import com.dfsek.terra.api.world.access.World;
public interface GenerationStage {
@@ -24,7 +24,7 @@ import com.dfsek.terra.api.entity.Entity;
import com.dfsek.terra.api.entity.EntityType;
import com.dfsek.terra.api.util.vector.Vector3;
import com.dfsek.terra.api.world.chunk.Chunk;
import com.dfsek.terra.api.world.World;
import com.dfsek.terra.api.world.access.World;
import com.dfsek.terra.api.world.biome.generation.BiomeProvider;
import com.dfsek.terra.api.world.chunk.generation.ChunkGenerator;
@@ -73,7 +73,7 @@ import com.dfsek.terra.api.registry.exception.DuplicateEntryException;
import com.dfsek.terra.api.registry.meta.RegistryFactory;
import com.dfsek.terra.api.util.generic.pair.Pair;
import com.dfsek.terra.api.util.reflection.ReflectionUtil;
import com.dfsek.terra.api.world.World;
import com.dfsek.terra.api.world.access.World;
import com.dfsek.terra.api.world.biome.generation.BiomeProvider;
import com.dfsek.terra.api.world.generator.ChunkGeneratorProvider;
import com.dfsek.terra.api.world.generator.GenerationStageProvider;
@@ -25,7 +25,7 @@ import com.dfsek.terra.api.Platform;
import com.dfsek.terra.api.config.ConfigPack;
import com.dfsek.terra.api.config.WorldConfig;
import com.dfsek.terra.api.registry.Registry;
import com.dfsek.terra.api.world.World;
import com.dfsek.terra.api.world.access.World;
import com.dfsek.terra.api.world.biome.generation.BiomeProvider;
import com.dfsek.terra.api.world.generator.SamplerCache;
import com.dfsek.terra.registry.LockedRegistryImpl;
@@ -28,7 +28,7 @@ import org.jetbrains.annotations.NotNull;
import com.dfsek.terra.api.Platform;
import com.dfsek.terra.api.util.MathUtil;
import com.dfsek.terra.api.util.math.Sampler;
import com.dfsek.terra.api.world.World;
import com.dfsek.terra.api.world.access.World;
public class SamplerCacheImpl implements SamplerCache {