From 1ad08a599db44796f1e9ea2ad9674bd4a2f771bb Mon Sep 17 00:00:00 2001 From: dfsek Date: Mon, 5 Jul 2021 00:30:53 -0700 Subject: [PATCH] compile tree addon --- .../terra/addons/tree/TreeLayerLoader.java | 34 ------------------- .../terra/addons/tree/TreePopulator.java | 5 ++- .../dfsek/terra/addons/tree/TreeTemplate.java | 2 +- .../terra/addons/tree/tree/TerraTree.java | 2 +- .../terra/addons/tree/tree/TreeLayer.java | 32 ----------------- 5 files changed, 4 insertions(+), 71 deletions(-) delete mode 100644 common/addons/tree/src/main/java/com/dfsek/terra/addons/tree/TreeLayerLoader.java delete mode 100644 common/addons/tree/src/main/java/com/dfsek/terra/addons/tree/tree/TreeLayer.java diff --git a/common/addons/tree/src/main/java/com/dfsek/terra/addons/tree/TreeLayerLoader.java b/common/addons/tree/src/main/java/com/dfsek/terra/addons/tree/TreeLayerLoader.java deleted file mode 100644 index 5ead643d3..000000000 --- a/common/addons/tree/src/main/java/com/dfsek/terra/addons/tree/TreeLayerLoader.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.dfsek.terra.addons.tree; - -import com.dfsek.tectonic.exception.LoadException; -import com.dfsek.tectonic.loading.ConfigLoader; -import com.dfsek.tectonic.loading.TypeLoader; -import com.dfsek.terra.addons.tree.tree.TreeLayer; -import com.dfsek.terra.api.util.ProbabilityCollection; -import com.dfsek.terra.api.util.Range; -import com.dfsek.terra.api.util.seeded.NoiseSeeded; -import com.dfsek.terra.api.world.Tree; -import com.dfsek.terra.config.loaders.Types; -import com.dfsek.terra.noise.samplers.noise.random.WhiteNoiseSampler; - -import java.lang.reflect.Type; -import java.util.Map; - -@SuppressWarnings("unchecked") -public class TreeLayerLoader implements TypeLoader { - @Override - public TreeLayer load(Type type, Object o, ConfigLoader configLoader) throws LoadException { - Map map = (Map) o; - double density = ((Number) map.get("density")).doubleValue(); - Range range = configLoader.loadClass(Range.class, map.get("y")); - if(range == null) throw new LoadException("Tree range unspecified"); - ProbabilityCollection items = (ProbabilityCollection) configLoader.loadType(Types.TREE_PROBABILITY_COLLECTION_TYPE, map.get("items")); - - if(map.containsKey("distribution")) { - NoiseSeeded noise = configLoader.loadClass(NoiseSeeded.class, map.get("distribution")); - return new TreeLayer(density, range, items, noise.apply(2403L)); - } - - return new TreeLayer(density, range, items, new WhiteNoiseSampler(2403)); - } -} diff --git a/common/addons/tree/src/main/java/com/dfsek/terra/addons/tree/TreePopulator.java b/common/addons/tree/src/main/java/com/dfsek/terra/addons/tree/TreePopulator.java index 1e0893e03..977d9b91e 100644 --- a/common/addons/tree/src/main/java/com/dfsek/terra/addons/tree/TreePopulator.java +++ b/common/addons/tree/src/main/java/com/dfsek/terra/addons/tree/TreePopulator.java @@ -3,14 +3,11 @@ package com.dfsek.terra.addons.tree; import com.dfsek.terra.api.TerraPlugin; import com.dfsek.terra.api.profiler.ProfileFrame; import com.dfsek.terra.api.util.PopulationUtil; -import com.dfsek.terra.api.vector.Vector2; import com.dfsek.terra.api.world.Chunk; import com.dfsek.terra.api.world.TerraWorld; import com.dfsek.terra.api.world.World; -import com.dfsek.terra.api.world.biome.UserDefinedBiome; import com.dfsek.terra.api.world.biome.generation.BiomeProvider; import com.dfsek.terra.api.world.generator.TerraBlockPopulator; -import com.dfsek.terra.addons.tree.tree.TreeLayer; import net.jafama.FastMath; import org.jetbrains.annotations.NotNull; @@ -40,12 +37,14 @@ public class TreePopulator implements TerraBlockPopulator { Random random = PopulationUtil.getRandom(chunk); for(int x = 0; x < 16; x += 2) { for(int z = 0; z < 16; z += 2) { + /* UserDefinedBiome biome = (UserDefinedBiome) provider.getBiome((chunk.getX() << 4) + x, (chunk.getZ() << 4) + z); for(TreeLayer layer : biome.getConfig().getTrees()) { if(layer.getDensity() >= random.nextDouble() * 100) { layer.place(chunk, new Vector2(offset(random, x), offset(random, z))); } } + */ } } } diff --git a/common/addons/tree/src/main/java/com/dfsek/terra/addons/tree/TreeTemplate.java b/common/addons/tree/src/main/java/com/dfsek/terra/addons/tree/TreeTemplate.java index b15f2b2ea..d88044ea8 100644 --- a/common/addons/tree/src/main/java/com/dfsek/terra/addons/tree/TreeTemplate.java +++ b/common/addons/tree/src/main/java/com/dfsek/terra/addons/tree/TreeTemplate.java @@ -5,8 +5,8 @@ import com.dfsek.tectonic.annotations.Default; import com.dfsek.tectonic.annotations.Value; import com.dfsek.terra.api.config.AbstractableTemplate; import com.dfsek.terra.api.structure.Structure; +import com.dfsek.terra.api.util.MaterialSet; import com.dfsek.terra.api.util.ProbabilityCollection; -import com.dfsek.terra.api.util.collections.MaterialSet; @SuppressWarnings({"unused", "FieldMayBeFinal"}) public class TreeTemplate implements AbstractableTemplate { diff --git a/common/addons/tree/src/main/java/com/dfsek/terra/addons/tree/tree/TerraTree.java b/common/addons/tree/src/main/java/com/dfsek/terra/addons/tree/tree/TerraTree.java index bb7497dc4..c6336fccd 100644 --- a/common/addons/tree/src/main/java/com/dfsek/terra/addons/tree/tree/TerraTree.java +++ b/common/addons/tree/src/main/java/com/dfsek/terra/addons/tree/tree/TerraTree.java @@ -2,8 +2,8 @@ package com.dfsek.terra.addons.tree.tree; import com.dfsek.terra.api.structure.Structure; import com.dfsek.terra.api.structure.rotation.Rotation; +import com.dfsek.terra.api.util.MaterialSet; import com.dfsek.terra.api.util.ProbabilityCollection; -import com.dfsek.terra.api.util.collections.MaterialSet; import com.dfsek.terra.api.vector.Vector3; import com.dfsek.terra.api.world.Tree; import com.dfsek.terra.api.world.World; diff --git a/common/addons/tree/src/main/java/com/dfsek/terra/addons/tree/tree/TreeLayer.java b/common/addons/tree/src/main/java/com/dfsek/terra/addons/tree/tree/TreeLayer.java deleted file mode 100644 index 5029a365f..000000000 --- a/common/addons/tree/src/main/java/com/dfsek/terra/addons/tree/tree/TreeLayer.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.dfsek.terra.addons.tree.tree; - -import com.dfsek.terra.api.noise.NoiseSampler; -import com.dfsek.terra.api.util.PopulationUtil; -import com.dfsek.terra.api.util.ProbabilityCollection; -import com.dfsek.terra.api.util.Range; -import com.dfsek.terra.api.vector.Vector2; -import com.dfsek.terra.api.vector.Vector3; -import com.dfsek.terra.api.world.Chunk; -import com.dfsek.terra.api.world.Tree; -import com.dfsek.terra.world.population.items.PlaceableLayer; - -public class TreeLayer extends PlaceableLayer { - - public TreeLayer(double density, Range level, ProbabilityCollection layer, NoiseSampler noise) { - super(density, level, layer, noise); - } - - @Override - public void place(Chunk chunk, Vector2 coords) { - int cx = chunk.getX() << 4; - int cz = chunk.getZ() << 4; - Tree item = layer.get(noise, coords.getX() + cx, coords.getZ() + cz); - Vector3 running = coords.extrude(level.getMax()); - for(int ignored : level) { - running.subtract(0, 1, 0); - if(item.getSpawnable().contains(chunk.getBlock(running.getBlockX(), running.getBlockY(), running.getBlockZ()).getBlockType())) { - item.plant(running.clone().add(cx, 1, cz), chunk.getWorld(), PopulationUtil.getRandom(chunk, coords.hashCode())); - } - } - } -}