finish refactoring world api

This commit is contained in:
dfsek 2021-11-28 16:51:04 -07:00
parent 6b9dfc5d43
commit 397c464fb2
47 changed files with 60 additions and 70 deletions

View File

@ -15,7 +15,7 @@ import com.dfsek.terra.addons.chunkgenerator.palette.PaletteHolder;
import com.dfsek.terra.addons.chunkgenerator.palette.PaletteInfo; import com.dfsek.terra.addons.chunkgenerator.palette.PaletteInfo;
import com.dfsek.terra.addons.chunkgenerator.palette.SlantHolder; import com.dfsek.terra.addons.chunkgenerator.palette.SlantHolder;
import com.dfsek.terra.api.config.meta.Meta; import com.dfsek.terra.api.config.meta.Meta;
import com.dfsek.terra.api.world.generator.Palette; import com.dfsek.terra.api.world.chunk.generation.util.Palette;
public class BiomePaletteTemplate implements ObjectTemplate<PaletteInfo> { public class BiomePaletteTemplate implements ObjectTemplate<PaletteInfo> {

View File

@ -20,7 +20,7 @@ import com.dfsek.terra.api.event.events.config.pack.ConfigPackPreLoadEvent;
import com.dfsek.terra.api.event.functional.FunctionalEventHandler; import com.dfsek.terra.api.event.functional.FunctionalEventHandler;
import com.dfsek.terra.api.inject.annotations.Inject; import com.dfsek.terra.api.inject.annotations.Inject;
import com.dfsek.terra.api.world.biome.TerraBiome; import com.dfsek.terra.api.world.biome.TerraBiome;
import com.dfsek.terra.api.world.generator.ChunkGeneratorProvider; import com.dfsek.terra.api.world.chunk.generation.util.provider.ChunkGeneratorProvider;
public class NoiseChunkGenerator3DAddon implements AddonInitializer { public class NoiseChunkGenerator3DAddon implements AddonInitializer {

View File

@ -12,7 +12,7 @@ import com.dfsek.terra.addons.chunkgenerator.palette.SlantHolder;
import com.dfsek.terra.api.util.MathUtil; import com.dfsek.terra.api.util.MathUtil;
import com.dfsek.terra.api.util.math.Sampler; import com.dfsek.terra.api.util.math.Sampler;
import com.dfsek.terra.api.world.biome.GenerationSettings; import com.dfsek.terra.api.world.biome.GenerationSettings;
import com.dfsek.terra.api.world.generator.Palette; import com.dfsek.terra.api.world.chunk.generation.util.Palette;
public final class PaletteUtil { public final class PaletteUtil {

View File

@ -30,7 +30,7 @@ import com.dfsek.terra.api.world.biome.generation.BiomeProvider;
import com.dfsek.terra.api.world.chunk.generation.ProtoChunk; import com.dfsek.terra.api.world.chunk.generation.ProtoChunk;
import com.dfsek.terra.api.world.chunk.generation.ChunkGenerator; import com.dfsek.terra.api.world.chunk.generation.ChunkGenerator;
import com.dfsek.terra.api.world.chunk.generation.stage.GenerationStage; import com.dfsek.terra.api.world.chunk.generation.stage.GenerationStage;
import com.dfsek.terra.api.world.generator.Palette; import com.dfsek.terra.api.world.chunk.generation.util.Palette;
public class NoiseChunkGenerator3D implements ChunkGenerator { public class NoiseChunkGenerator3D implements ChunkGenerator {

View File

@ -18,7 +18,7 @@ import com.dfsek.terra.api.util.mutable.MutableInteger;
import com.dfsek.terra.api.util.vector.Vector3; import com.dfsek.terra.api.util.vector.Vector3;
import com.dfsek.terra.api.world.biome.GenerationSettings; import com.dfsek.terra.api.world.biome.GenerationSettings;
import com.dfsek.terra.api.world.biome.generation.BiomeProvider; import com.dfsek.terra.api.world.biome.generation.BiomeProvider;
import com.dfsek.terra.api.world.generator.ChunkInterpolator; import com.dfsek.terra.api.world.chunk.generation.util.math.ChunkInterpolator;
/** /**

View File

@ -18,7 +18,7 @@ import com.dfsek.terra.api.util.mutable.MutableInteger;
import com.dfsek.terra.api.util.vector.Vector3; import com.dfsek.terra.api.util.vector.Vector3;
import com.dfsek.terra.api.world.biome.GenerationSettings; import com.dfsek.terra.api.world.biome.GenerationSettings;
import com.dfsek.terra.api.world.biome.generation.BiomeProvider; import com.dfsek.terra.api.world.biome.generation.BiomeProvider;
import com.dfsek.terra.api.world.generator.ChunkInterpolator; import com.dfsek.terra.api.world.chunk.generation.util.math.ChunkInterpolator;
/** /**

View File

@ -7,7 +7,7 @@
package com.dfsek.terra.addons.chunkgenerator.palette; package com.dfsek.terra.addons.chunkgenerator.palette;
import com.dfsek.terra.api.world.generator.Palette; import com.dfsek.terra.api.world.chunk.generation.util.Palette;
public class PaletteHolder { public class PaletteHolder {

View File

@ -12,7 +12,7 @@ import net.jafama.FastMath;
import java.util.Map; import java.util.Map;
import java.util.TreeMap; import java.util.TreeMap;
import com.dfsek.terra.api.world.generator.Palette; import com.dfsek.terra.api.world.chunk.generation.util.Palette;
public class PaletteHolderBuilder { public class PaletteHolderBuilder {

View File

@ -15,7 +15,7 @@ import java.lang.reflect.AnnotatedType;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import com.dfsek.terra.api.world.generator.Palette; import com.dfsek.terra.api.world.chunk.generation.util.Palette;
public class PaletteHolderLoader implements TypeLoader<PaletteHolder> { public class PaletteHolderLoader implements TypeLoader<PaletteHolder> {

View File

@ -8,7 +8,7 @@
package com.dfsek.terra.addons.chunkgenerator.palette; package com.dfsek.terra.addons.chunkgenerator.palette;
import com.dfsek.terra.api.properties.Properties; import com.dfsek.terra.api.properties.Properties;
import com.dfsek.terra.api.world.generator.Palette; import com.dfsek.terra.api.world.chunk.generation.util.Palette;
public class PaletteInfo implements Properties { public class PaletteInfo implements Properties {

View File

@ -28,7 +28,7 @@ import com.dfsek.terra.api.config.meta.Meta;
import com.dfsek.terra.api.noise.NoiseSampler; import com.dfsek.terra.api.noise.NoiseSampler;
import com.dfsek.terra.api.util.collection.ProbabilityCollection; import com.dfsek.terra.api.util.collection.ProbabilityCollection;
import com.dfsek.terra.api.world.biome.Biome; import com.dfsek.terra.api.world.biome.Biome;
import com.dfsek.terra.api.world.generator.Palette; import com.dfsek.terra.api.world.chunk.generation.util.Palette;
@SuppressWarnings({ "FieldMayBeFinal", "unused" }) @SuppressWarnings({ "FieldMayBeFinal", "unused" })

View File

@ -9,7 +9,7 @@ package com.dfsek.terra.addons.biome;
import com.dfsek.terra.addons.biome.holder.PaletteHolder; import com.dfsek.terra.addons.biome.holder.PaletteHolder;
import com.dfsek.terra.api.world.biome.PaletteSettings; import com.dfsek.terra.api.world.biome.PaletteSettings;
import com.dfsek.terra.api.world.generator.Palette; import com.dfsek.terra.api.world.chunk.generation.util.Palette;
public class PaletteSettingsImpl implements PaletteSettings { public class PaletteSettingsImpl implements PaletteSettings {

View File

@ -7,7 +7,7 @@
package com.dfsek.terra.addons.biome.holder; package com.dfsek.terra.addons.biome.holder;
import com.dfsek.terra.api.world.generator.Palette; import com.dfsek.terra.api.world.chunk.generation.util.Palette;
public class PaletteHolder { public class PaletteHolder {

View File

@ -12,7 +12,7 @@ import net.jafama.FastMath;
import java.util.Map; import java.util.Map;
import java.util.TreeMap; import java.util.TreeMap;
import com.dfsek.terra.api.world.generator.Palette; import com.dfsek.terra.api.world.chunk.generation.util.Palette;
public class PaletteHolderBuilder { public class PaletteHolderBuilder {

View File

@ -15,7 +15,7 @@ import java.lang.reflect.AnnotatedType;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import com.dfsek.terra.api.world.generator.Palette; import com.dfsek.terra.api.world.chunk.generation.util.Palette;
public class PaletteHolderLoader implements TypeLoader<PaletteHolder> { public class PaletteHolderLoader implements TypeLoader<PaletteHolder> {

View File

@ -10,7 +10,7 @@ package com.dfsek.terra.addons.feature.locator.locators;
import com.dfsek.terra.api.noise.NoiseSampler; import com.dfsek.terra.api.noise.NoiseSampler;
import com.dfsek.terra.api.structure.feature.BinaryColumn; import com.dfsek.terra.api.structure.feature.BinaryColumn;
import com.dfsek.terra.api.structure.feature.Locator; import com.dfsek.terra.api.structure.feature.Locator;
import com.dfsek.terra.api.world.access.Column; import com.dfsek.terra.api.world.chunk.generation.util.Column;
public class Noise3DLocator implements Locator { public class Noise3DLocator implements Locator {

View File

@ -14,7 +14,7 @@ import java.util.List;
import com.dfsek.terra.api.noise.NoiseSampler; import com.dfsek.terra.api.noise.NoiseSampler;
import com.dfsek.terra.api.structure.feature.BinaryColumn; import com.dfsek.terra.api.structure.feature.BinaryColumn;
import com.dfsek.terra.api.structure.feature.Locator; import com.dfsek.terra.api.structure.feature.Locator;
import com.dfsek.terra.api.world.access.Column; import com.dfsek.terra.api.world.chunk.generation.util.Column;
public class NoiseLocator implements Locator { public class NoiseLocator implements Locator {

View File

@ -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.BinaryColumn;
import com.dfsek.terra.api.structure.feature.Locator; import com.dfsek.terra.api.structure.feature.Locator;
import com.dfsek.terra.api.util.Range; import com.dfsek.terra.api.util.Range;
import com.dfsek.terra.api.world.access.Column; import com.dfsek.terra.api.world.chunk.generation.util.Column;
public class PatternLocator implements Locator { public class PatternLocator implements Locator {

View File

@ -12,7 +12,7 @@ import java.util.Random;
import com.dfsek.terra.api.structure.feature.BinaryColumn; import com.dfsek.terra.api.structure.feature.BinaryColumn;
import com.dfsek.terra.api.structure.feature.Locator; import com.dfsek.terra.api.structure.feature.Locator;
import com.dfsek.terra.api.util.Range; import com.dfsek.terra.api.util.Range;
import com.dfsek.terra.api.world.access.Column; import com.dfsek.terra.api.world.chunk.generation.util.Column;
public class RandomLocator implements Locator { public class RandomLocator implements Locator {

View File

@ -10,7 +10,7 @@ package com.dfsek.terra.addons.feature.locator.locators;
import com.dfsek.terra.api.structure.feature.BinaryColumn; import com.dfsek.terra.api.structure.feature.BinaryColumn;
import com.dfsek.terra.api.structure.feature.Locator; import com.dfsek.terra.api.structure.feature.Locator;
import com.dfsek.terra.api.util.Range; import com.dfsek.terra.api.util.Range;
import com.dfsek.terra.api.world.access.Column; import com.dfsek.terra.api.world.chunk.generation.util.Column;
public class SurfaceLocator implements Locator { public class SurfaceLocator implements Locator {

View File

@ -11,7 +11,7 @@ import java.util.function.Predicate;
import com.dfsek.terra.api.block.state.BlockState; import com.dfsek.terra.api.block.state.BlockState;
import com.dfsek.terra.api.util.Range; import com.dfsek.terra.api.util.Range;
import com.dfsek.terra.api.world.access.Column; import com.dfsek.terra.api.world.chunk.generation.util.Column;
public class MatchPattern implements Pattern { public class MatchPattern implements Pattern {

View File

@ -7,7 +7,7 @@
package com.dfsek.terra.addons.feature.locator.patterns; package com.dfsek.terra.addons.feature.locator.patterns;
import com.dfsek.terra.api.world.access.Column; import com.dfsek.terra.api.world.chunk.generation.util.Column;
public interface Pattern { public interface Pattern {

View File

@ -13,7 +13,6 @@ import com.dfsek.terra.api.addon.BaseAddon;
import com.dfsek.terra.api.event.events.config.pack.ConfigPackPreLoadEvent; import com.dfsek.terra.api.event.events.config.pack.ConfigPackPreLoadEvent;
import com.dfsek.terra.api.event.functional.FunctionalEventHandler; import com.dfsek.terra.api.event.functional.FunctionalEventHandler;
import com.dfsek.terra.api.inject.annotations.Inject; import com.dfsek.terra.api.inject.annotations.Inject;
import com.dfsek.terra.api.world.generator.GenerationStageProvider;
public class OreAddon implements AddonInitializer { public class OreAddon implements AddonInitializer {

View File

@ -19,7 +19,7 @@ import com.dfsek.terra.api.config.ConfigPack;
import com.dfsek.terra.api.config.ConfigType; import com.dfsek.terra.api.config.ConfigType;
import com.dfsek.terra.api.registry.OpenRegistry; import com.dfsek.terra.api.registry.OpenRegistry;
import com.dfsek.terra.api.util.reflection.TypeKey; import com.dfsek.terra.api.util.reflection.TypeKey;
import com.dfsek.terra.api.world.generator.Palette; import com.dfsek.terra.api.world.chunk.generation.util.Palette;
public class PaletteConfigType implements ConfigType<PaletteTemplate, Palette> { public class PaletteConfigType implements ConfigType<PaletteTemplate, Palette> {

View File

@ -11,7 +11,7 @@ import com.dfsek.terra.addons.palette.palette.NoisePalette;
import com.dfsek.terra.addons.palette.palette.PaletteLayerHolder; import com.dfsek.terra.addons.palette.palette.PaletteLayerHolder;
import com.dfsek.terra.api.Platform; import com.dfsek.terra.api.Platform;
import com.dfsek.terra.api.config.ConfigFactory; import com.dfsek.terra.api.config.ConfigFactory;
import com.dfsek.terra.api.world.generator.Palette; import com.dfsek.terra.api.world.chunk.generation.util.Palette;
public class PaletteFactory implements ConfigFactory<PaletteTemplate, Palette> { public class PaletteFactory implements ConfigFactory<PaletteTemplate, Palette> {

View File

@ -13,7 +13,7 @@ import java.util.List;
import com.dfsek.terra.api.block.state.BlockState; import com.dfsek.terra.api.block.state.BlockState;
import com.dfsek.terra.api.noise.NoiseSampler; import com.dfsek.terra.api.noise.NoiseSampler;
import com.dfsek.terra.api.util.collection.ProbabilityCollection; import com.dfsek.terra.api.util.collection.ProbabilityCollection;
import com.dfsek.terra.api.world.generator.Palette; import com.dfsek.terra.api.world.chunk.generation.util.Palette;
/** /**

View File

@ -11,7 +11,7 @@ import java.util.function.IntConsumer;
import com.dfsek.terra.api.block.state.BlockState; import com.dfsek.terra.api.block.state.BlockState;
import com.dfsek.terra.api.structure.feature.BinaryColumn; import com.dfsek.terra.api.structure.feature.BinaryColumn;
import com.dfsek.terra.api.world.access.Column; import com.dfsek.terra.api.world.chunk.generation.util.Column;
import com.dfsek.terra.api.world.WritableWorld; import com.dfsek.terra.api.world.WritableWorld;

View File

@ -16,7 +16,7 @@ import com.dfsek.terra.api.event.events.config.pack.ConfigPackPreLoadEvent;
import com.dfsek.terra.api.event.functional.FunctionalEventHandler; import com.dfsek.terra.api.event.functional.FunctionalEventHandler;
import com.dfsek.terra.api.inject.annotations.Inject; import com.dfsek.terra.api.inject.annotations.Inject;
import com.dfsek.terra.api.world.biome.TerraBiome; import com.dfsek.terra.api.world.biome.TerraBiome;
import com.dfsek.terra.api.world.generator.GenerationStageProvider; import com.dfsek.terra.api.world.chunk.generation.util.provider.GenerationStageProvider;
public class FeatureGenerationAddon implements AddonInitializer { public class FeatureGenerationAddon implements AddonInitializer {

View File

@ -9,7 +9,7 @@ import com.dfsek.terra.api.event.events.config.pack.ConfigPackPreLoadEvent;
import com.dfsek.terra.api.event.functional.FunctionalEventHandler; import com.dfsek.terra.api.event.functional.FunctionalEventHandler;
import com.dfsek.terra.api.inject.annotations.Inject; import com.dfsek.terra.api.inject.annotations.Inject;
import com.dfsek.terra.api.world.biome.TerraBiome; import com.dfsek.terra.api.world.biome.TerraBiome;
import com.dfsek.terra.api.world.generator.GenerationStageProvider; import com.dfsek.terra.api.world.chunk.generation.util.provider.GenerationStageProvider;
public class StructureGenerationAddon implements AddonInitializer { public class StructureGenerationAddon implements AddonInitializer {

View File

@ -23,7 +23,7 @@ import com.dfsek.terra.api.Platform;
import com.dfsek.terra.api.util.RotationUtil; import com.dfsek.terra.api.util.RotationUtil;
import com.dfsek.terra.api.util.vector.Vector2; import com.dfsek.terra.api.util.vector.Vector2;
import com.dfsek.terra.api.util.vector.Vector3; import com.dfsek.terra.api.util.vector.Vector3;
import com.dfsek.terra.api.world.generator.SamplerCache; import com.dfsek.terra.api.world.chunk.generation.util.math.SamplerProvider;
public class CheckFunction implements Function<String> { public class CheckFunction implements Function<String> {
@ -72,7 +72,7 @@ public class CheckFunction implements Function<String> {
private String apply(Vector3 vector, WritableWorld world) { private String apply(Vector3 vector, WritableWorld world) {
int y = vector.getBlockY(); int y = vector.getBlockY();
if(y >= world.getMaxHeight() || y < 0) return "AIR"; if(y >= world.getMaxHeight() || y < 0) return "AIR";
SamplerCache cache = world.getConfig().getSamplerCache(); SamplerProvider cache = world.getConfig().getSamplerCache();
double comp = sample(vector.getBlockX(), vector.getBlockY(), vector.getBlockZ(), cache); double comp = sample(vector.getBlockX(), vector.getBlockY(), vector.getBlockZ(), cache);
if(comp > 0) return "LAND"; // If noise val is greater than zero, location will always be land. if(comp > 0) return "LAND"; // If noise val is greater than zero, location will always be land.
@ -85,7 +85,7 @@ public class CheckFunction implements Function<String> {
//return "OCEAN"; // Below sea level //return "OCEAN"; // Below sea level
} }
private double sample(int x, int y, int z, SamplerCache cache) { private double sample(int x, int y, int z, SamplerProvider cache) {
int cx = FastMath.floorDiv(x, 16); int cx = FastMath.floorDiv(x, 16);
int cz = FastMath.floorDiv(z, 16); int cz = FastMath.floorDiv(z, 16);
return cache.get(x, z).sample(x - (cx << 4), y, z - (cz << 4)); return cache.get(x, z).sample(x - (cx << 4), y, z - (cz << 4));

View File

@ -23,8 +23,8 @@ import com.dfsek.terra.api.util.StringIdentifiable;
import com.dfsek.terra.api.util.reflection.TypeKey; import com.dfsek.terra.api.util.reflection.TypeKey;
import com.dfsek.terra.api.world.ServerWorld; import com.dfsek.terra.api.world.ServerWorld;
import com.dfsek.terra.api.world.biome.generation.BiomeProvider; import com.dfsek.terra.api.world.biome.generation.BiomeProvider;
import com.dfsek.terra.api.world.generator.ChunkGeneratorProvider; import com.dfsek.terra.api.world.chunk.generation.util.provider.ChunkGeneratorProvider;
import com.dfsek.terra.api.world.generator.GenerationStageProvider; import com.dfsek.terra.api.world.chunk.generation.util.provider.GenerationStageProvider;
public interface ConfigPack extends LoaderRegistrar, LoaderHolder, RegistryHolder, StringIdentifiable { public interface ConfigPack extends LoaderRegistrar, LoaderHolder, RegistryHolder, StringIdentifiable {

View File

@ -13,7 +13,7 @@ import com.dfsek.terra.api.registry.Registry;
import com.dfsek.terra.api.util.StringIdentifiable; import com.dfsek.terra.api.util.StringIdentifiable;
import com.dfsek.terra.api.world.ServerWorld; import com.dfsek.terra.api.world.ServerWorld;
import com.dfsek.terra.api.world.biome.generation.BiomeProvider; import com.dfsek.terra.api.world.biome.generation.BiomeProvider;
import com.dfsek.terra.api.world.generator.SamplerCache; import com.dfsek.terra.api.world.chunk.generation.util.math.SamplerProvider;
public interface WorldConfig extends StringIdentifiable { public interface WorldConfig extends StringIdentifiable {
@ -33,7 +33,7 @@ public interface WorldConfig extends StringIdentifiable {
ServerWorld getWorld(); ServerWorld getWorld();
SamplerCache getSamplerCache(); SamplerProvider getSamplerCache();
BiomeProvider getProvider(); BiomeProvider getProvider();

View File

@ -7,7 +7,7 @@
package com.dfsek.terra.api.structure.feature; package com.dfsek.terra.api.structure.feature;
import com.dfsek.terra.api.world.access.Column; import com.dfsek.terra.api.world.chunk.generation.util.Column;
public interface Locator { public interface Locator {

View File

@ -7,7 +7,7 @@
package com.dfsek.terra.api.world.biome; package com.dfsek.terra.api.world.biome;
import com.dfsek.terra.api.world.generator.Palette; import com.dfsek.terra.api.world.chunk.generation.util.Palette;
public interface PaletteSettings { public interface PaletteSettings {

View File

@ -5,7 +5,7 @@
* reference the LICENSE file in the common/api directory. * reference the LICENSE file in the common/api directory.
*/ */
package com.dfsek.terra.api.world.access; package com.dfsek.terra.api.world.chunk.generation.util;
import java.util.function.IntConsumer; import java.util.function.IntConsumer;

View File

@ -5,7 +5,7 @@
* reference the LICENSE file in the common/api directory. * reference the LICENSE file in the common/api directory.
*/ */
package com.dfsek.terra.api.world.generator; package com.dfsek.terra.api.world.chunk.generation.util;
import com.dfsek.terra.api.Handle; import com.dfsek.terra.api.Handle;
import com.dfsek.terra.api.world.chunk.generation.ChunkGenerator; import com.dfsek.terra.api.world.chunk.generation.ChunkGenerator;

View File

@ -5,7 +5,7 @@
* reference the LICENSE file in the common/api directory. * reference the LICENSE file in the common/api directory.
*/ */
package com.dfsek.terra.api.world.generator; package com.dfsek.terra.api.world.chunk.generation.util;
import com.dfsek.terra.api.block.state.BlockState; import com.dfsek.terra.api.block.state.BlockState;
import com.dfsek.terra.api.noise.NoiseSampler; import com.dfsek.terra.api.noise.NoiseSampler;

View File

@ -5,7 +5,7 @@
* reference the LICENSE file in the common/api directory. * reference the LICENSE file in the common/api directory.
*/ */
package com.dfsek.terra.api.world.generator; package com.dfsek.terra.api.world.chunk.generation.util.math;
import java.util.Map; import java.util.Map;

View File

@ -5,15 +5,13 @@
* reference the LICENSE file in the common/api directory. * reference the LICENSE file in the common/api directory.
*/ */
package com.dfsek.terra.api.world.generator; package com.dfsek.terra.api.world.chunk.generation.util.math;
import com.dfsek.terra.api.util.math.Sampler; import com.dfsek.terra.api.util.math.Sampler;
public interface SamplerCache { public interface SamplerProvider {
Sampler get(int x, int z); Sampler get(int x, int z);
void clear();
Sampler getChunk(int cx, int cz); Sampler getChunk(int cx, int cz);
} }

View File

@ -5,7 +5,7 @@
* reference the LICENSE file in the common/api directory. * reference the LICENSE file in the common/api directory.
*/ */
package com.dfsek.terra.api.world.generator; package com.dfsek.terra.api.world.chunk.generation.util.provider;
import com.dfsek.terra.api.config.ConfigPack; import com.dfsek.terra.api.config.ConfigPack;
import com.dfsek.terra.api.world.chunk.generation.ChunkGenerator; import com.dfsek.terra.api.world.chunk.generation.ChunkGenerator;

View File

@ -5,7 +5,7 @@
* reference the LICENSE file in the common/api directory. * reference the LICENSE file in the common/api directory.
*/ */
package com.dfsek.terra.api.world.generator; package com.dfsek.terra.api.world.chunk.generation.util.provider;
import com.dfsek.terra.api.config.ConfigPack; import com.dfsek.terra.api.config.ConfigPack;
import com.dfsek.terra.api.world.chunk.generation.stage.GenerationStage; import com.dfsek.terra.api.world.chunk.generation.stage.GenerationStage;

View File

@ -77,8 +77,8 @@ import com.dfsek.terra.api.registry.meta.RegistryFactory;
import com.dfsek.terra.api.util.generic.pair.Pair; import com.dfsek.terra.api.util.generic.pair.Pair;
import com.dfsek.terra.api.util.reflection.ReflectionUtil; import com.dfsek.terra.api.util.reflection.ReflectionUtil;
import com.dfsek.terra.api.world.biome.generation.BiomeProvider; import com.dfsek.terra.api.world.biome.generation.BiomeProvider;
import com.dfsek.terra.api.world.generator.ChunkGeneratorProvider; import com.dfsek.terra.api.world.chunk.generation.util.provider.ChunkGeneratorProvider;
import com.dfsek.terra.api.world.generator.GenerationStageProvider; import com.dfsek.terra.api.world.chunk.generation.util.provider.GenerationStageProvider;
import com.dfsek.terra.config.dummy.DummyServerWorld; import com.dfsek.terra.config.dummy.DummyServerWorld;
import com.dfsek.terra.config.fileloaders.FolderLoader; import com.dfsek.terra.config.fileloaders.FolderLoader;
import com.dfsek.terra.config.fileloaders.ZIPLoader; import com.dfsek.terra.config.fileloaders.ZIPLoader;

View File

@ -26,8 +26,8 @@ import java.util.List;
import java.util.Map; import java.util.Map;
import com.dfsek.terra.api.config.meta.Meta; import com.dfsek.terra.api.config.meta.Meta;
import com.dfsek.terra.api.world.generator.ChunkGeneratorProvider; import com.dfsek.terra.api.world.chunk.generation.util.provider.ChunkGeneratorProvider;
import com.dfsek.terra.api.world.generator.GenerationStageProvider; import com.dfsek.terra.api.world.chunk.generation.util.provider.GenerationStageProvider;
@SuppressWarnings({ "unused", "FieldMayBeFinal" }) @SuppressWarnings({ "unused", "FieldMayBeFinal" })

View File

@ -27,13 +27,13 @@ import com.dfsek.terra.api.config.WorldConfig;
import com.dfsek.terra.api.registry.Registry; import com.dfsek.terra.api.registry.Registry;
import com.dfsek.terra.api.world.ServerWorld; import com.dfsek.terra.api.world.ServerWorld;
import com.dfsek.terra.api.world.biome.generation.BiomeProvider; import com.dfsek.terra.api.world.biome.generation.BiomeProvider;
import com.dfsek.terra.api.world.generator.SamplerCache; import com.dfsek.terra.api.world.chunk.generation.util.math.SamplerProvider;
import com.dfsek.terra.registry.LockedRegistryImpl; import com.dfsek.terra.registry.LockedRegistryImpl;
import com.dfsek.terra.world.SamplerCacheImpl; import com.dfsek.terra.world.SamplerProviderImpl;
public class WorldConfigImpl implements WorldConfig { public class WorldConfigImpl implements WorldConfig {
private final SamplerCache samplerCache; private final SamplerProvider samplerProvider;
private final BiomeProvider provider; private final BiomeProvider provider;
@ -45,7 +45,7 @@ public class WorldConfigImpl implements WorldConfig {
public WorldConfigImpl(ServerWorld world, ConfigPackImpl pack, Platform platform) { public WorldConfigImpl(ServerWorld world, ConfigPackImpl pack, Platform platform) {
this.world = world; this.world = world;
this.pack = pack; this.pack = pack;
this.samplerCache = new SamplerCacheImpl(platform, world); this.samplerProvider = new SamplerProviderImpl(platform, world);
pack.getRegistryMap().forEach((clazz, pair) -> registryMap.put(clazz, new LockedRegistryImpl<>(pair.getLeft()))); pack.getRegistryMap().forEach((clazz, pair) -> registryMap.put(clazz, new LockedRegistryImpl<>(pair.getLeft())));
@ -94,8 +94,8 @@ public class WorldConfigImpl implements WorldConfig {
} }
@Override @Override
public SamplerCache getSamplerCache() { public SamplerProvider getSamplerCache() {
return samplerCache; return samplerProvider;
} }
@Override @Override

View File

@ -18,7 +18,7 @@
package com.dfsek.terra.world; package com.dfsek.terra.world;
import com.dfsek.terra.api.world.ServerWorld; import com.dfsek.terra.api.world.ServerWorld;
import com.dfsek.terra.api.world.generator.SamplerCache; import com.dfsek.terra.api.world.chunk.generation.util.math.SamplerProvider;
import com.google.common.cache.CacheBuilder; import com.google.common.cache.CacheBuilder;
import com.google.common.cache.CacheLoader; import com.google.common.cache.CacheLoader;
@ -31,10 +31,10 @@ import com.dfsek.terra.api.util.MathUtil;
import com.dfsek.terra.api.util.math.Sampler; import com.dfsek.terra.api.util.math.Sampler;
public class SamplerCacheImpl implements SamplerCache { public class SamplerProviderImpl implements SamplerProvider {
private final LoadingCache<Long, Sampler> cache; private final LoadingCache<Long, Sampler> cache;
public SamplerCacheImpl(Platform platform, ServerWorld world) { public SamplerProviderImpl(Platform platform, ServerWorld world) {
cache = CacheBuilder.newBuilder().maximumSize(platform.getTerraConfig().getSamplerCache()) cache = CacheBuilder.newBuilder().maximumSize(platform.getTerraConfig().getSamplerCache())
.build(new CacheLoader<>() { .build(new CacheLoader<>() {
@Override @Override
@ -54,12 +54,6 @@ public class SamplerCacheImpl implements SamplerCache {
return getChunk(cx, cz); return getChunk(cx, cz);
} }
@Override
public void clear() {
cache.invalidateAll();
cache.cleanUp();
}
@Override @Override
public Sampler getChunk(int cx, int cz) { public Sampler getChunk(int cx, int cz) {
long key = MathUtil.squash(cx, cz); long key = MathUtil.squash(cx, cz);

View File

@ -30,14 +30,13 @@ import org.bukkit.generator.WorldInfo;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.Random; import java.util.Random;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import com.dfsek.terra.api.config.WorldConfig; import com.dfsek.terra.api.config.WorldConfig;
import com.dfsek.terra.api.world.chunk.generation.ChunkGenerator; import com.dfsek.terra.api.world.chunk.generation.ChunkGenerator;
import com.dfsek.terra.api.world.generator.GeneratorWrapper; import com.dfsek.terra.api.world.chunk.generation.util.GeneratorWrapper;
import com.dfsek.terra.bukkit.world.BukkitAdapter; import com.dfsek.terra.bukkit.world.BukkitAdapter;

View File

@ -59,7 +59,7 @@ import com.dfsek.terra.api.config.ConfigPack;
import com.dfsek.terra.api.world.chunk.generation.ProtoChunk; import com.dfsek.terra.api.world.chunk.generation.ProtoChunk;
import com.dfsek.terra.api.world.chunk.generation.ChunkGenerator; import com.dfsek.terra.api.world.chunk.generation.ChunkGenerator;
import com.dfsek.terra.api.world.chunk.generation.stage.Chunkified; import com.dfsek.terra.api.world.chunk.generation.stage.Chunkified;
import com.dfsek.terra.api.world.generator.GeneratorWrapper; import com.dfsek.terra.api.world.chunk.generation.util.GeneratorWrapper;
import com.dfsek.terra.fabric.FabricEntryPoint; import com.dfsek.terra.fabric.FabricEntryPoint;
import com.dfsek.terra.fabric.block.FabricBlockState; import com.dfsek.terra.fabric.block.FabricBlockState;
import com.dfsek.terra.fabric.mixin.StructureAccessorAccessor; import com.dfsek.terra.fabric.mixin.StructureAccessorAccessor;