diff --git a/common/src/main/java/com/dfsek/terra/api/Entity.java b/common/src/main/java/com/dfsek/terra/api/Entity.java deleted file mode 100644 index 7f3ea7514..000000000 --- a/common/src/main/java/com/dfsek/terra/api/Entity.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.dfsek.terra.api; - -import com.dfsek.terra.api.math.vector.Location; -import com.dfsek.terra.api.platform.Handle; - -public interface Entity extends Handle { - Location getLocation(); -} diff --git a/common/src/main/java/com/dfsek/terra/api/Player.java b/common/src/main/java/com/dfsek/terra/api/Player.java deleted file mode 100644 index 3d4a1b4a0..000000000 --- a/common/src/main/java/com/dfsek/terra/api/Player.java +++ /dev/null @@ -1,4 +0,0 @@ -package com.dfsek.terra.api; - -public interface Player extends Entity { -} diff --git a/common/src/main/java/com/dfsek/terra/api/platform/TerraPlugin.java b/common/src/main/java/com/dfsek/terra/api/core/TerraPlugin.java similarity index 79% rename from common/src/main/java/com/dfsek/terra/api/platform/TerraPlugin.java rename to common/src/main/java/com/dfsek/terra/api/core/TerraPlugin.java index 505dcf2f5..399c25392 100644 --- a/common/src/main/java/com/dfsek/terra/api/platform/TerraPlugin.java +++ b/common/src/main/java/com/dfsek/terra/api/core/TerraPlugin.java @@ -1,14 +1,15 @@ -package com.dfsek.terra.api.platform; +package com.dfsek.terra.api.core; -import com.dfsek.terra.TerraWorld; import com.dfsek.terra.api.LoaderRegistrar; import com.dfsek.terra.api.language.Language; import com.dfsek.terra.api.platform.handle.ItemHandle; import com.dfsek.terra.api.platform.handle.WorldHandle; import com.dfsek.terra.api.platform.world.World; -import com.dfsek.terra.config.base.ConfigPack; -import com.dfsek.terra.config.base.PluginConfig; +import com.dfsek.terra.config.PluginConfig; +import com.dfsek.terra.config.pack.ConfigPack; +import com.dfsek.terra.debug.DebugLogger; import com.dfsek.terra.registry.ConfigRegistry; +import com.dfsek.terra.world.TerraWorld; import java.io.File; import java.util.logging.Logger; @@ -47,4 +48,6 @@ public interface TerraPlugin extends LoaderRegistrar { default void packPostLoadCallback(ConfigPack pack) { } + + DebugLogger getDebugLogger(); } diff --git a/common/src/main/java/com/dfsek/terra/api/core/event/Event.java b/common/src/main/java/com/dfsek/terra/api/core/event/Event.java new file mode 100644 index 000000000..abb98126f --- /dev/null +++ b/common/src/main/java/com/dfsek/terra/api/core/event/Event.java @@ -0,0 +1,4 @@ +package com.dfsek.terra.api.core.event; + +public interface Event { +} diff --git a/common/src/main/java/com/dfsek/terra/api/core/event/EventListener.java b/common/src/main/java/com/dfsek/terra/api/core/event/EventListener.java new file mode 100644 index 000000000..276097e7d --- /dev/null +++ b/common/src/main/java/com/dfsek/terra/api/core/event/EventListener.java @@ -0,0 +1,4 @@ +package com.dfsek.terra.api.core.event; + +public interface EventListener { +} diff --git a/common/src/main/java/com/dfsek/terra/api/core/event/EventManager.java b/common/src/main/java/com/dfsek/terra/api/core/event/EventManager.java new file mode 100644 index 000000000..abb2d7ba6 --- /dev/null +++ b/common/src/main/java/com/dfsek/terra/api/core/event/EventManager.java @@ -0,0 +1,7 @@ +package com.dfsek.terra.api.core.event; + +public interface EventManager { + void callEvent(Event event); + + void registerListener(EventListener listener); +} diff --git a/common/src/main/java/com/dfsek/terra/api/math/MathUtil.java b/common/src/main/java/com/dfsek/terra/api/math/MathUtil.java index 114e88986..7d2a2bcc1 100644 --- a/common/src/main/java/com/dfsek/terra/api/math/MathUtil.java +++ b/common/src/main/java/com/dfsek/terra/api/math/MathUtil.java @@ -1,7 +1,7 @@ package com.dfsek.terra.api.math; import com.dfsek.terra.api.util.FastRandom; -import com.dfsek.terra.generation.math.Sampler; +import com.dfsek.terra.world.generation.math.Sampler; import net.jafama.FastMath; import java.util.List; diff --git a/common/src/main/java/com/dfsek/terra/api/math/noise/NoiseFunction2.java b/common/src/main/java/com/dfsek/terra/api/math/noise/NoiseFunction2.java index a1f490c3d..d5840fef4 100644 --- a/common/src/main/java/com/dfsek/terra/api/math/noise/NoiseFunction2.java +++ b/common/src/main/java/com/dfsek/terra/api/math/noise/NoiseFunction2.java @@ -1,8 +1,8 @@ package com.dfsek.terra.api.math.noise; import com.dfsek.terra.api.math.noise.samplers.NoiseSampler; -import com.dfsek.terra.generation.config.NoiseBuilder; import com.dfsek.terra.util.hash.HashMapDoubleDouble; +import com.dfsek.terra.world.generation.config.NoiseBuilder; import parsii.eval.Expression; import java.util.List; diff --git a/common/src/main/java/com/dfsek/terra/api/math/noise/NoiseFunction3.java b/common/src/main/java/com/dfsek/terra/api/math/noise/NoiseFunction3.java index 4915e1c68..5442ea2c4 100644 --- a/common/src/main/java/com/dfsek/terra/api/math/noise/NoiseFunction3.java +++ b/common/src/main/java/com/dfsek/terra/api/math/noise/NoiseFunction3.java @@ -1,7 +1,7 @@ package com.dfsek.terra.api.math.noise; import com.dfsek.terra.api.math.noise.samplers.NoiseSampler; -import com.dfsek.terra.generation.config.NoiseBuilder; +import com.dfsek.terra.world.generation.config.NoiseBuilder; import parsii.eval.Expression; import java.util.List; diff --git a/common/src/main/java/com/dfsek/terra/api/math/noise/samplers/ExpressionSampler.java b/common/src/main/java/com/dfsek/terra/api/math/noise/samplers/ExpressionSampler.java index 096475ac2..1c2a1f528 100644 --- a/common/src/main/java/com/dfsek/terra/api/math/noise/samplers/ExpressionSampler.java +++ b/common/src/main/java/com/dfsek/terra/api/math/noise/samplers/ExpressionSampler.java @@ -3,7 +3,7 @@ package com.dfsek.terra.api.math.noise.samplers; import com.dfsek.terra.api.math.noise.NoiseFunction2; import com.dfsek.terra.api.math.noise.NoiseFunction3; import com.dfsek.terra.api.math.parsii.RandomFunction; -import com.dfsek.terra.generation.config.NoiseBuilder; +import com.dfsek.terra.world.generation.config.NoiseBuilder; import parsii.eval.Expression; import parsii.eval.Parser; import parsii.eval.Scope; diff --git a/common/src/main/java/com/dfsek/terra/api/platform/Player.java b/common/src/main/java/com/dfsek/terra/api/platform/Player.java new file mode 100644 index 000000000..136727749 --- /dev/null +++ b/common/src/main/java/com/dfsek/terra/api/platform/Player.java @@ -0,0 +1,6 @@ +package com.dfsek.terra.api.platform; + +import com.dfsek.terra.api.platform.entity.Entity; + +public interface Player extends Entity { +} diff --git a/common/src/main/java/com/dfsek/terra/api/platform/entity/Entity.java b/common/src/main/java/com/dfsek/terra/api/platform/entity/Entity.java index 134f063bd..e69ffbcbc 100644 --- a/common/src/main/java/com/dfsek/terra/api/platform/entity/Entity.java +++ b/common/src/main/java/com/dfsek/terra/api/platform/entity/Entity.java @@ -1,6 +1,9 @@ package com.dfsek.terra.api.platform.entity; +import com.dfsek.terra.api.math.vector.Location; +import com.dfsek.terra.api.platform.CommandSender; import com.dfsek.terra.api.platform.Handle; -public interface Entity extends Handle { +public interface Entity extends Handle, CommandSender { + Location getLocation(); } diff --git a/common/src/main/java/com/dfsek/terra/api/structures/loot/Entry.java b/common/src/main/java/com/dfsek/terra/api/structures/loot/Entry.java index d676a1b25..4da109325 100644 --- a/common/src/main/java/com/dfsek/terra/api/structures/loot/Entry.java +++ b/common/src/main/java/com/dfsek/terra/api/structures/loot/Entry.java @@ -1,6 +1,6 @@ package com.dfsek.terra.api.structures.loot; -import com.dfsek.terra.api.platform.TerraPlugin; +import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.platform.block.MaterialData; import com.dfsek.terra.api.platform.inventory.ItemStack; import com.dfsek.terra.api.structures.loot.functions.AmountFunction; diff --git a/common/src/main/java/com/dfsek/terra/api/structures/loot/LootTable.java b/common/src/main/java/com/dfsek/terra/api/structures/loot/LootTable.java index 9e57de215..cdbc80296 100644 --- a/common/src/main/java/com/dfsek/terra/api/structures/loot/LootTable.java +++ b/common/src/main/java/com/dfsek/terra/api/structures/loot/LootTable.java @@ -1,6 +1,6 @@ package com.dfsek.terra.api.structures.loot; -import com.dfsek.terra.api.platform.TerraPlugin; +import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.platform.inventory.Inventory; import com.dfsek.terra.api.platform.inventory.ItemStack; import com.dfsek.terra.api.util.GlueList; diff --git a/common/src/main/java/com/dfsek/terra/api/structures/loot/Pool.java b/common/src/main/java/com/dfsek/terra/api/structures/loot/Pool.java index d45be375f..418d86332 100644 --- a/common/src/main/java/com/dfsek/terra/api/structures/loot/Pool.java +++ b/common/src/main/java/com/dfsek/terra/api/structures/loot/Pool.java @@ -1,7 +1,7 @@ package com.dfsek.terra.api.structures.loot; +import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.math.ProbabilityCollection; -import com.dfsek.terra.api.platform.TerraPlugin; import com.dfsek.terra.api.platform.inventory.ItemStack; import com.dfsek.terra.api.util.GlueList; import net.jafama.FastMath; diff --git a/common/src/main/java/com/dfsek/terra/api/structures/loot/functions/EnchantFunction.java b/common/src/main/java/com/dfsek/terra/api/structures/loot/functions/EnchantFunction.java index 0debec4ee..badfe6979 100644 --- a/common/src/main/java/com/dfsek/terra/api/structures/loot/functions/EnchantFunction.java +++ b/common/src/main/java/com/dfsek/terra/api/structures/loot/functions/EnchantFunction.java @@ -1,6 +1,6 @@ package com.dfsek.terra.api.structures.loot.functions; -import com.dfsek.terra.api.platform.TerraPlugin; +import com.dfsek.terra.api.core.TerraPlugin; 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.ItemMeta; diff --git a/common/src/main/java/com/dfsek/terra/api/structures/script/StructureScript.java b/common/src/main/java/com/dfsek/terra/api/structures/script/StructureScript.java index 0bbbb2c56..2f3da931a 100644 --- a/common/src/main/java/com/dfsek/terra/api/structures/script/StructureScript.java +++ b/common/src/main/java/com/dfsek/terra/api/structures/script/StructureScript.java @@ -1,7 +1,7 @@ package com.dfsek.terra.api.structures.script; +import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.math.vector.Location; -import com.dfsek.terra.api.platform.TerraPlugin; import com.dfsek.terra.api.platform.world.Chunk; import com.dfsek.terra.api.structures.parser.Parser; import com.dfsek.terra.api.structures.parser.exceptions.ParseException; @@ -28,10 +28,9 @@ import com.dfsek.terra.api.structures.structure.Rotation; import com.dfsek.terra.api.structures.structure.buffer.Buffer; import com.dfsek.terra.api.structures.structure.buffer.DirectBuffer; import com.dfsek.terra.api.structures.structure.buffer.StructureBuffer; -import com.dfsek.terra.debug.Debug; -import com.dfsek.terra.generation.math.SamplerCache; import com.dfsek.terra.registry.LootRegistry; import com.dfsek.terra.registry.ScriptRegistry; +import com.dfsek.terra.world.generation.math.SamplerCache; import com.google.common.cache.Cache; import com.google.common.cache.CacheBuilder; import net.jafama.FastMath; @@ -75,7 +74,7 @@ public class StructureScript { .registerFunction("originZ", new ZeroArgFunctionBuilder(arguments -> arguments.getBuffer().getOrigin().getZ(), Returnable.ReturnType.NUMBER)) .registerFunction("rotation", new ZeroArgFunctionBuilder<>(arguments -> arguments.getRotation().toString(), Returnable.ReturnType.STRING)) .registerFunction("rotationDegrees", new ZeroArgFunctionBuilder<>(arguments -> arguments.getRotation().getDegrees(), Returnable.ReturnType.NUMBER)) - .registerFunction("print", new UnaryStringFunctionBuilder(string -> Debug.info("[" + tempID + "] " + string))) + .registerFunction("print", new UnaryStringFunctionBuilder(string -> main.getDebugLogger().info("[" + tempID + "] " + string))) .registerFunction("abs", new UnaryNumberFunctionBuilder(number -> FastMath.abs(number.doubleValue()))) .registerFunction("pow", new BinaryNumberFunctionBuilder((number, number2) -> FastMath.pow(number.doubleValue(), number2.doubleValue()))) .registerFunction("sqrt", new UnaryNumberFunctionBuilder(number -> FastMath.sqrt(number.doubleValue()))) @@ -149,7 +148,7 @@ public class StructureScript { return !block.apply(arguments).getLevel().equals(Block.ReturnLevel.FAIL); } catch(RuntimeException e) { main.getLogger().severe("Failed to generate structure at " + arguments.getBuffer().getOrigin() + ": " + e.getMessage()); - Debug.stack(e); + main.getDebugLogger().stack(e); return false; } } diff --git a/common/src/main/java/com/dfsek/terra/api/structures/script/builders/BiomeFunctionBuilder.java b/common/src/main/java/com/dfsek/terra/api/structures/script/builders/BiomeFunctionBuilder.java index cceb13fb7..58c71b589 100644 --- a/common/src/main/java/com/dfsek/terra/api/structures/script/builders/BiomeFunctionBuilder.java +++ b/common/src/main/java/com/dfsek/terra/api/structures/script/builders/BiomeFunctionBuilder.java @@ -1,6 +1,6 @@ package com.dfsek.terra.api.structures.script.builders; -import com.dfsek.terra.api.platform.TerraPlugin; +import com.dfsek.terra.api.core.TerraPlugin; 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.script.functions.BiomeFunction; diff --git a/common/src/main/java/com/dfsek/terra/api/structures/script/builders/BlockFunctionBuilder.java b/common/src/main/java/com/dfsek/terra/api/structures/script/builders/BlockFunctionBuilder.java index 116681866..ac0052165 100644 --- a/common/src/main/java/com/dfsek/terra/api/structures/script/builders/BlockFunctionBuilder.java +++ b/common/src/main/java/com/dfsek/terra/api/structures/script/builders/BlockFunctionBuilder.java @@ -1,6 +1,6 @@ package com.dfsek.terra.api.structures.script.builders; -import com.dfsek.terra.api.platform.TerraPlugin; +import com.dfsek.terra.api.core.TerraPlugin; 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.constants.BooleanConstant; diff --git a/common/src/main/java/com/dfsek/terra/api/structures/script/builders/CheckFunctionBuilder.java b/common/src/main/java/com/dfsek/terra/api/structures/script/builders/CheckFunctionBuilder.java index 81399b183..af024d8c2 100644 --- a/common/src/main/java/com/dfsek/terra/api/structures/script/builders/CheckFunctionBuilder.java +++ b/common/src/main/java/com/dfsek/terra/api/structures/script/builders/CheckFunctionBuilder.java @@ -1,12 +1,12 @@ package com.dfsek.terra.api.structures.script.builders; -import com.dfsek.terra.api.platform.TerraPlugin; +import com.dfsek.terra.api.core.TerraPlugin; 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.functions.FunctionBuilder; import com.dfsek.terra.api.structures.script.functions.CheckFunction; import com.dfsek.terra.api.structures.tokenizer.Position; -import com.dfsek.terra.generation.math.SamplerCache; +import com.dfsek.terra.world.generation.math.SamplerCache; import java.util.List; diff --git a/common/src/main/java/com/dfsek/terra/api/structures/script/builders/EntityFunctionBuilder.java b/common/src/main/java/com/dfsek/terra/api/structures/script/builders/EntityFunctionBuilder.java index fff23ce78..6582d617e 100644 --- a/common/src/main/java/com/dfsek/terra/api/structures/script/builders/EntityFunctionBuilder.java +++ b/common/src/main/java/com/dfsek/terra/api/structures/script/builders/EntityFunctionBuilder.java @@ -1,6 +1,6 @@ package com.dfsek.terra.api.structures.script.builders; -import com.dfsek.terra.api.platform.TerraPlugin; +import com.dfsek.terra.api.core.TerraPlugin; 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.functions.FunctionBuilder; diff --git a/common/src/main/java/com/dfsek/terra/api/structures/script/builders/LootFunctionBuilder.java b/common/src/main/java/com/dfsek/terra/api/structures/script/builders/LootFunctionBuilder.java index db9677e54..140401a20 100644 --- a/common/src/main/java/com/dfsek/terra/api/structures/script/builders/LootFunctionBuilder.java +++ b/common/src/main/java/com/dfsek/terra/api/structures/script/builders/LootFunctionBuilder.java @@ -1,6 +1,6 @@ package com.dfsek.terra.api.structures.script.builders; -import com.dfsek.terra.api.platform.TerraPlugin; +import com.dfsek.terra.api.core.TerraPlugin; 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.script.functions.LootFunction; diff --git a/common/src/main/java/com/dfsek/terra/api/structures/script/builders/PullFunctionBuilder.java b/common/src/main/java/com/dfsek/terra/api/structures/script/builders/PullFunctionBuilder.java index 0c5ab641d..54eb8fc27 100644 --- a/common/src/main/java/com/dfsek/terra/api/structures/script/builders/PullFunctionBuilder.java +++ b/common/src/main/java/com/dfsek/terra/api/structures/script/builders/PullFunctionBuilder.java @@ -1,6 +1,6 @@ package com.dfsek.terra.api.structures.script.builders; -import com.dfsek.terra.api.platform.TerraPlugin; +import com.dfsek.terra.api.core.TerraPlugin; 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.functions.FunctionBuilder; diff --git a/common/src/main/java/com/dfsek/terra/api/structures/script/builders/StateFunctionBuilder.java b/common/src/main/java/com/dfsek/terra/api/structures/script/builders/StateFunctionBuilder.java index 0ebf71c9b..cbd37db8f 100644 --- a/common/src/main/java/com/dfsek/terra/api/structures/script/builders/StateFunctionBuilder.java +++ b/common/src/main/java/com/dfsek/terra/api/structures/script/builders/StateFunctionBuilder.java @@ -1,6 +1,6 @@ package com.dfsek.terra.api.structures.script.builders; -import com.dfsek.terra.api.platform.TerraPlugin; +import com.dfsek.terra.api.core.TerraPlugin; 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.functions.FunctionBuilder; diff --git a/common/src/main/java/com/dfsek/terra/api/structures/script/builders/StructureFunctionBuilder.java b/common/src/main/java/com/dfsek/terra/api/structures/script/builders/StructureFunctionBuilder.java index e61a3527b..b54004816 100644 --- a/common/src/main/java/com/dfsek/terra/api/structures/script/builders/StructureFunctionBuilder.java +++ b/common/src/main/java/com/dfsek/terra/api/structures/script/builders/StructureFunctionBuilder.java @@ -1,6 +1,6 @@ package com.dfsek.terra.api.structures.script.builders; -import com.dfsek.terra.api.platform.TerraPlugin; +import com.dfsek.terra.api.core.TerraPlugin; 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.functions.FunctionBuilder; diff --git a/common/src/main/java/com/dfsek/terra/api/structures/script/functions/BiomeFunction.java b/common/src/main/java/com/dfsek/terra/api/structures/script/functions/BiomeFunction.java index 91a6c35de..232414024 100644 --- a/common/src/main/java/com/dfsek/terra/api/structures/script/functions/BiomeFunction.java +++ b/common/src/main/java/com/dfsek/terra/api/structures/script/functions/BiomeFunction.java @@ -1,8 +1,8 @@ package com.dfsek.terra.api.structures.script.functions; +import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.math.vector.Vector2; import com.dfsek.terra.api.math.vector.Vector3; -import com.dfsek.terra.api.platform.TerraPlugin; import com.dfsek.terra.api.structures.parser.lang.ImplementationArguments; import com.dfsek.terra.api.structures.parser.lang.Returnable; import com.dfsek.terra.api.structures.parser.lang.functions.Function; diff --git a/common/src/main/java/com/dfsek/terra/api/structures/script/functions/BlockFunction.java b/common/src/main/java/com/dfsek/terra/api/structures/script/functions/BlockFunction.java index a3b6db628..27e10da56 100644 --- a/common/src/main/java/com/dfsek/terra/api/structures/script/functions/BlockFunction.java +++ b/common/src/main/java/com/dfsek/terra/api/structures/script/functions/BlockFunction.java @@ -1,8 +1,8 @@ package com.dfsek.terra.api.structures.script.functions; +import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.math.vector.Vector2; import com.dfsek.terra.api.math.vector.Vector3; -import com.dfsek.terra.api.platform.TerraPlugin; import com.dfsek.terra.api.platform.block.BlockData; import com.dfsek.terra.api.structures.parser.exceptions.ParseException; import com.dfsek.terra.api.structures.parser.lang.ImplementationArguments; diff --git a/common/src/main/java/com/dfsek/terra/api/structures/script/functions/CheckFunction.java b/common/src/main/java/com/dfsek/terra/api/structures/script/functions/CheckFunction.java index 749d1d121..0e9073c2b 100644 --- a/common/src/main/java/com/dfsek/terra/api/structures/script/functions/CheckFunction.java +++ b/common/src/main/java/com/dfsek/terra/api/structures/script/functions/CheckFunction.java @@ -1,10 +1,9 @@ package com.dfsek.terra.api.structures.script.functions; -import com.dfsek.terra.TerraWorld; +import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.math.vector.Location; import com.dfsek.terra.api.math.vector.Vector2; import com.dfsek.terra.api.math.vector.Vector3; -import com.dfsek.terra.api.platform.TerraPlugin; import com.dfsek.terra.api.platform.world.World; import com.dfsek.terra.api.structures.parser.lang.ImplementationArguments; import com.dfsek.terra.api.structures.parser.lang.Returnable; @@ -16,7 +15,8 @@ import com.dfsek.terra.api.structures.tokenizer.Position; import com.dfsek.terra.biome.BiomeProvider; import com.dfsek.terra.biome.UserDefinedBiome; import com.dfsek.terra.config.templates.BiomeTemplate; -import com.dfsek.terra.generation.math.SamplerCache; +import com.dfsek.terra.world.TerraWorld; +import com.dfsek.terra.world.generation.math.SamplerCache; import net.jafama.FastMath; import java.util.Map; diff --git a/common/src/main/java/com/dfsek/terra/api/structures/script/functions/EntityFunction.java b/common/src/main/java/com/dfsek/terra/api/structures/script/functions/EntityFunction.java index 34ed47748..96ca732ce 100644 --- a/common/src/main/java/com/dfsek/terra/api/structures/script/functions/EntityFunction.java +++ b/common/src/main/java/com/dfsek/terra/api/structures/script/functions/EntityFunction.java @@ -1,8 +1,8 @@ package com.dfsek.terra.api.structures.script.functions; +import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.math.vector.Vector2; import com.dfsek.terra.api.math.vector.Vector3; -import com.dfsek.terra.api.platform.TerraPlugin; import com.dfsek.terra.api.platform.entity.EntityType; import com.dfsek.terra.api.structures.parser.exceptions.ParseException; import com.dfsek.terra.api.structures.parser.lang.ImplementationArguments; diff --git a/common/src/main/java/com/dfsek/terra/api/structures/script/functions/LootFunction.java b/common/src/main/java/com/dfsek/terra/api/structures/script/functions/LootFunction.java index 45f430868..e6363427f 100644 --- a/common/src/main/java/com/dfsek/terra/api/structures/script/functions/LootFunction.java +++ b/common/src/main/java/com/dfsek/terra/api/structures/script/functions/LootFunction.java @@ -1,8 +1,8 @@ package com.dfsek.terra.api.structures.script.functions; +import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.math.vector.Vector2; import com.dfsek.terra.api.math.vector.Vector3; -import com.dfsek.terra.api.platform.TerraPlugin; import com.dfsek.terra.api.structures.loot.LootTable; import com.dfsek.terra.api.structures.parser.lang.ImplementationArguments; import com.dfsek.terra.api.structures.parser.lang.Returnable; diff --git a/common/src/main/java/com/dfsek/terra/api/structures/script/functions/PullFunction.java b/common/src/main/java/com/dfsek/terra/api/structures/script/functions/PullFunction.java index 0aea73b99..de1d56053 100644 --- a/common/src/main/java/com/dfsek/terra/api/structures/script/functions/PullFunction.java +++ b/common/src/main/java/com/dfsek/terra/api/structures/script/functions/PullFunction.java @@ -1,8 +1,8 @@ package com.dfsek.terra.api.structures.script.functions; +import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.math.vector.Vector2; import com.dfsek.terra.api.math.vector.Vector3; -import com.dfsek.terra.api.platform.TerraPlugin; import com.dfsek.terra.api.platform.block.BlockData; import com.dfsek.terra.api.structures.parser.exceptions.ParseException; import com.dfsek.terra.api.structures.parser.lang.ImplementationArguments; diff --git a/common/src/main/java/com/dfsek/terra/api/structures/script/functions/StateFunction.java b/common/src/main/java/com/dfsek/terra/api/structures/script/functions/StateFunction.java index fd18255d4..812ca86bb 100644 --- a/common/src/main/java/com/dfsek/terra/api/structures/script/functions/StateFunction.java +++ b/common/src/main/java/com/dfsek/terra/api/structures/script/functions/StateFunction.java @@ -1,8 +1,8 @@ package com.dfsek.terra.api.structures.script.functions; +import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.math.vector.Vector2; import com.dfsek.terra.api.math.vector.Vector3; -import com.dfsek.terra.api.platform.TerraPlugin; import com.dfsek.terra.api.structures.parser.lang.ImplementationArguments; import com.dfsek.terra.api.structures.parser.lang.Returnable; import com.dfsek.terra.api.structures.parser.lang.functions.Function; diff --git a/common/src/main/java/com/dfsek/terra/api/structures/script/functions/StructureFunction.java b/common/src/main/java/com/dfsek/terra/api/structures/script/functions/StructureFunction.java index f1af80a60..93c628e91 100644 --- a/common/src/main/java/com/dfsek/terra/api/structures/script/functions/StructureFunction.java +++ b/common/src/main/java/com/dfsek/terra/api/structures/script/functions/StructureFunction.java @@ -1,8 +1,8 @@ package com.dfsek.terra.api.structures.script.functions; +import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.math.vector.Vector2; import com.dfsek.terra.api.math.vector.Vector3; -import com.dfsek.terra.api.platform.TerraPlugin; import com.dfsek.terra.api.structures.parser.lang.ImplementationArguments; import com.dfsek.terra.api.structures.parser.lang.Returnable; import com.dfsek.terra.api.structures.parser.lang.functions.Function; diff --git a/common/src/main/java/com/dfsek/terra/api/structures/structure/buffer/items/BufferedLootApplication.java b/common/src/main/java/com/dfsek/terra/api/structures/structure/buffer/items/BufferedLootApplication.java index 87d475a26..7b0c04234 100644 --- a/common/src/main/java/com/dfsek/terra/api/structures/structure/buffer/items/BufferedLootApplication.java +++ b/common/src/main/java/com/dfsek/terra/api/structures/structure/buffer/items/BufferedLootApplication.java @@ -1,7 +1,7 @@ package com.dfsek.terra.api.structures.structure.buffer.items; +import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.math.vector.Location; -import com.dfsek.terra.api.platform.TerraPlugin; import com.dfsek.terra.api.platform.block.state.BlockState; import com.dfsek.terra.api.platform.block.state.Container; import com.dfsek.terra.api.structures.loot.LootTable; diff --git a/common/src/main/java/com/dfsek/terra/api/structures/structure/buffer/items/BufferedStateManipulator.java b/common/src/main/java/com/dfsek/terra/api/structures/structure/buffer/items/BufferedStateManipulator.java index f17de342d..6e11ea384 100644 --- a/common/src/main/java/com/dfsek/terra/api/structures/structure/buffer/items/BufferedStateManipulator.java +++ b/common/src/main/java/com/dfsek/terra/api/structures/structure/buffer/items/BufferedStateManipulator.java @@ -1,7 +1,7 @@ package com.dfsek.terra.api.structures.structure.buffer.items; +import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.math.vector.Location; -import com.dfsek.terra.api.platform.TerraPlugin; import com.dfsek.terra.api.platform.block.state.BlockState; public class BufferedStateManipulator implements BufferedItem { diff --git a/common/src/main/java/com/dfsek/terra/api/util/JarUtil.java b/common/src/main/java/com/dfsek/terra/api/util/JarUtil.java index 9109cacfd..20ad875cc 100644 --- a/common/src/main/java/com/dfsek/terra/api/util/JarUtil.java +++ b/common/src/main/java/com/dfsek/terra/api/util/JarUtil.java @@ -1,7 +1,5 @@ package com.dfsek.terra.api.util; -import com.dfsek.terra.debug.Debug; - import java.io.File; import java.io.FileOutputStream; import java.io.IOException; @@ -21,7 +19,6 @@ public class JarUtil { if(parent != null) { parent.mkdirs(); } - Debug.info("Output does not already exist. Creating... "); try(FileOutputStream out = new FileOutputStream(dest); InputStream in = fromJar.getInputStream(entry)) { byte[] buffer = new byte[(8192)]; diff --git a/common/src/main/java/com/dfsek/terra/api/world/carving/Carver.java b/common/src/main/java/com/dfsek/terra/api/world/carving/Carver.java deleted file mode 100644 index c0b21ae26..000000000 --- a/common/src/main/java/com/dfsek/terra/api/world/carving/Carver.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.dfsek.terra.api.world.carving; - -import com.dfsek.terra.api.math.vector.Vector3; -import com.dfsek.terra.api.platform.world.World; -import net.jafama.FastMath; - -import java.util.Random; -import java.util.function.BiConsumer; - -public abstract class Carver { - private final int minY; - private final int maxY; - private final double sixtyFourSq = FastMath.pow(64, 2); - private int carvingRadius = 4; - - public Carver(int minY, int maxY) { - this.minY = minY; - this.maxY = maxY; - } - - public abstract void carve(int chunkX, int chunkZ, World w, BiConsumer consumer); - - public int getCarvingRadius() { - return carvingRadius; - } - - public void setCarvingRadius(int carvingRadius) { - this.carvingRadius = carvingRadius; - } - - public abstract Worm getWorm(long seed, Vector3 l); - - public abstract boolean isChunkCarved(World w, int chunkX, int chunkZ, Random r); - - public enum CarvingType { - CENTER, WALL, TOP, BOTTOM - } -} diff --git a/common/src/main/java/com/dfsek/terra/api/world/carving/Worm.java b/common/src/main/java/com/dfsek/terra/api/world/carving/Worm.java deleted file mode 100644 index 71e2b0de5..000000000 --- a/common/src/main/java/com/dfsek/terra/api/world/carving/Worm.java +++ /dev/null @@ -1,119 +0,0 @@ -package com.dfsek.terra.api.world.carving; - -import com.dfsek.terra.api.math.vector.Vector3; -import net.jafama.FastMath; - -import java.util.Random; -import java.util.function.BiConsumer; - -public abstract class Worm { - private final Random r; - private final Vector3 origin; - private final Vector3 running; - private final int length; - private int topCut = 0; - private int bottomCut = 0; - private int[] radius = new int[] {0, 0, 0}; - - public Worm(int length, Random r, Vector3 origin) { - this.r = r; - this.length = length; - this.origin = origin; - this.running = origin; - } - - public void setBottomCut(int bottomCut) { - this.bottomCut = bottomCut; - } - - public void setTopCut(int topCut) { - this.topCut = topCut; - } - - public Vector3 getOrigin() { - return origin; - } - - public int getLength() { - return length; - } - - public Vector3 getRunning() { - return running; - } - - public WormPoint getPoint() { - return new WormPoint(running, radius, topCut, bottomCut); - } - - public int[] getRadius() { - return radius; - } - - public void setRadius(int[] radius) { - this.radius = radius; - } - - public Random getRandom() { - return r; - } - - public abstract void step(); - - public static class WormPoint { - private final Vector3 origin; - private final int topCut; - private final int bottomCut; - private final int[] rad; - - public WormPoint(Vector3 origin, int[] rad, int topCut, int bottomCut) { - this.origin = origin; - this.rad = rad; - this.topCut = topCut; - this.bottomCut = bottomCut; - } - - private static double ellipseEquation(int x, int y, int z, double xr, double yr, double zr) { - return (FastMath.pow2(x) / FastMath.pow2(xr + 0.5D)) + (FastMath.pow2(y) / FastMath.pow2(yr + 0.5D)) + (FastMath.pow2(z) / FastMath.pow2(zr + 0.5D)); - } - - public Vector3 getOrigin() { - return origin; - } - - public int getRadius(int index) { - return rad[index]; - } - - public void carve(int chunkX, int chunkZ, BiConsumer consumer) { - int xRad = getRadius(0); - int yRad = getRadius(1); - int zRad = getRadius(2); - int originX = (chunkX << 4); - int originZ = (chunkZ << 4); - for(int x = -xRad - 1; x <= xRad + 1; x++) { - if(!(FastMath.floorDiv(origin.getBlockX() + x, 16) == chunkX)) continue; - for(int z = -zRad - 1; z <= zRad + 1; z++) { - if(!(FastMath.floorDiv(origin.getBlockZ() + z, 16) == chunkZ)) continue; - for(int y = -yRad - 1; y <= yRad + 1; y++) { - Vector3 position = origin.clone().add(new Vector3(x, y, z)); - if(position.getY() < 0 || position.getY() > 255) continue; - double eq = ellipseEquation(x, y, z, xRad, yRad, zRad); - if(eq <= 1 && - y >= -yRad - 1 + bottomCut && y <= yRad + 1 - topCut) { - consumer.accept(new Vector3(position.getBlockX() - originX, position.getBlockY(), position.getBlockZ() - originZ), Carver.CarvingType.CENTER); - } else if(eq <= 1.5) { - Carver.CarvingType type = Carver.CarvingType.WALL; - if(y <= -yRad - 1 + bottomCut) { - type = Carver.CarvingType.BOTTOM; - } else if(y >= yRad + 1 - topCut) { - type = Carver.CarvingType.TOP; - } - consumer.accept(new Vector3(position.getBlockX() - originX, position.getBlockY(), position.getBlockZ() - originZ), type); - } - } - } - } - } - } -} diff --git a/common/src/main/java/com/dfsek/terra/api/world/generation/TerraChunkGenerator.java b/common/src/main/java/com/dfsek/terra/api/world/generation/TerraChunkGenerator.java index a48e3a8f9..c4b52f2f3 100644 --- a/common/src/main/java/com/dfsek/terra/api/world/generation/TerraChunkGenerator.java +++ b/common/src/main/java/com/dfsek/terra/api/world/generation/TerraChunkGenerator.java @@ -1,10 +1,10 @@ package com.dfsek.terra.api.world.generation; -import com.dfsek.terra.api.platform.TerraPlugin; +import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.platform.world.BiomeGrid; import com.dfsek.terra.api.platform.world.World; import com.dfsek.terra.api.platform.world.generator.ChunkGenerator; -import com.dfsek.terra.config.base.ConfigPack; +import com.dfsek.terra.config.pack.ConfigPack; import org.jetbrains.annotations.NotNull; import java.util.Random; diff --git a/common/src/main/java/com/dfsek/terra/api/world/palette/Palette.java b/common/src/main/java/com/dfsek/terra/api/world/palette/Palette.java index cde3fab01..d289e2cdc 100644 --- a/common/src/main/java/com/dfsek/terra/api/world/palette/Palette.java +++ b/common/src/main/java/com/dfsek/terra/api/world/palette/Palette.java @@ -62,7 +62,7 @@ public abstract class Palette { private E m; /** - * Constructs a PaletteLayer with a ProbabilityCollection of materials and a number of layers. + * Constructs a PaletteLayerHolder with a ProbabilityCollection of materials and a number of layers. * * @param type The collection of materials to choose from. * @param sampler Noise sampler to use @@ -74,7 +74,7 @@ public abstract class Palette { } /** - * Constructs a PaletteLayer with a single Material and a number of layers. + * Constructs a PaletteLayerHolder with a single Material and a number of layers. * * @param type The material to use. * @param sampler Noise sampler to use diff --git a/common/src/main/java/com/dfsek/terra/biome/palette/SinglePalette.java b/common/src/main/java/com/dfsek/terra/api/world/palette/SinglePalette.java similarity index 73% rename from common/src/main/java/com/dfsek/terra/biome/palette/SinglePalette.java rename to common/src/main/java/com/dfsek/terra/api/world/palette/SinglePalette.java index 5a71a8a6b..06b075a2b 100644 --- a/common/src/main/java/com/dfsek/terra/biome/palette/SinglePalette.java +++ b/common/src/main/java/com/dfsek/terra/api/world/palette/SinglePalette.java @@ -1,6 +1,4 @@ -package com.dfsek.terra.biome.palette; - -import com.dfsek.terra.api.world.palette.Palette; +package com.dfsek.terra.api.world.palette; public class SinglePalette extends Palette { private final E item; diff --git a/common/src/main/java/com/dfsek/terra/biome/palette/PaletteHolder.java b/common/src/main/java/com/dfsek/terra/api/world/palette/holder/PaletteHolder.java similarity index 88% rename from common/src/main/java/com/dfsek/terra/biome/palette/PaletteHolder.java rename to common/src/main/java/com/dfsek/terra/api/world/palette/holder/PaletteHolder.java index 27a86a10e..2b4704cac 100644 --- a/common/src/main/java/com/dfsek/terra/biome/palette/PaletteHolder.java +++ b/common/src/main/java/com/dfsek/terra/api/world/palette/holder/PaletteHolder.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.biome.palette; +package com.dfsek.terra.api.world.palette.holder; import com.dfsek.terra.api.platform.block.BlockData; import com.dfsek.terra.api.world.palette.Palette; diff --git a/common/src/main/java/com/dfsek/terra/biome/palette/PaletteHolderBuilder.java b/common/src/main/java/com/dfsek/terra/api/world/palette/holder/PaletteHolderBuilder.java similarity index 95% rename from common/src/main/java/com/dfsek/terra/biome/palette/PaletteHolderBuilder.java rename to common/src/main/java/com/dfsek/terra/api/world/palette/holder/PaletteHolderBuilder.java index f615b1edd..2cc72764b 100644 --- a/common/src/main/java/com/dfsek/terra/biome/palette/PaletteHolderBuilder.java +++ b/common/src/main/java/com/dfsek/terra/api/world/palette/holder/PaletteHolderBuilder.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.biome.palette; +package com.dfsek.terra.api.world.palette.holder; import com.dfsek.terra.api.platform.block.BlockData; import com.dfsek.terra.api.world.palette.Palette; diff --git a/common/src/main/java/com/dfsek/terra/biome/palette/PaletteLayer.java b/common/src/main/java/com/dfsek/terra/api/world/palette/holder/PaletteLayerHolder.java similarity index 76% rename from common/src/main/java/com/dfsek/terra/biome/palette/PaletteLayer.java rename to common/src/main/java/com/dfsek/terra/api/world/palette/holder/PaletteLayerHolder.java index a0e51777c..9374cd5db 100644 --- a/common/src/main/java/com/dfsek/terra/biome/palette/PaletteLayer.java +++ b/common/src/main/java/com/dfsek/terra/api/world/palette/holder/PaletteLayerHolder.java @@ -1,16 +1,16 @@ -package com.dfsek.terra.biome.palette; +package com.dfsek.terra.api.world.palette.holder; import com.dfsek.terra.api.math.ProbabilityCollection; import com.dfsek.terra.api.math.noise.samplers.NoiseSampler; import com.dfsek.terra.api.platform.block.BlockData; import org.jetbrains.annotations.NotNull; -public class PaletteLayer { +public class PaletteLayerHolder { private final ProbabilityCollection layer; private final NoiseSampler sampler; private final int size; - public PaletteLayer(@NotNull ProbabilityCollection layer, NoiseSampler sampler, int size) { + public PaletteLayerHolder(@NotNull ProbabilityCollection layer, NoiseSampler sampler, int size) { this.layer = layer; this.sampler = sampler; this.size = size; diff --git a/common/src/main/java/com/dfsek/terra/api/world/tree/fractal/FractalTree.java b/common/src/main/java/com/dfsek/terra/api/world/tree/fractal/FractalTree.java index 0b9e2ac1d..639fd7774 100644 --- a/common/src/main/java/com/dfsek/terra/api/world/tree/fractal/FractalTree.java +++ b/common/src/main/java/com/dfsek/terra/api/world/tree/fractal/FractalTree.java @@ -1,7 +1,7 @@ package com.dfsek.terra.api.world.tree.fractal; +import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.math.vector.Location; -import com.dfsek.terra.api.platform.TerraPlugin; import com.dfsek.terra.api.platform.block.BlockData; import com.dfsek.terra.api.platform.entity.Entity; import com.dfsek.terra.api.platform.entity.EntityType; diff --git a/common/src/main/java/com/dfsek/terra/api/world/tree/fractal/trees/Cactus.java b/common/src/main/java/com/dfsek/terra/api/world/tree/fractal/trees/Cactus.java index e7a965ccb..d3b5fd463 100644 --- a/common/src/main/java/com/dfsek/terra/api/world/tree/fractal/trees/Cactus.java +++ b/common/src/main/java/com/dfsek/terra/api/world/tree/fractal/trees/Cactus.java @@ -1,7 +1,7 @@ package com.dfsek.terra.api.world.tree.fractal.trees; +import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.math.vector.Location; -import com.dfsek.terra.api.platform.TerraPlugin; import com.dfsek.terra.api.platform.block.BlockData; import com.dfsek.terra.api.world.tree.fractal.FractalTree; import com.dfsek.terra.util.MaterialSet; diff --git a/common/src/main/java/com/dfsek/terra/api/world/tree/fractal/trees/IceSpike.java b/common/src/main/java/com/dfsek/terra/api/world/tree/fractal/trees/IceSpike.java index ea45144dd..5dbe76690 100644 --- a/common/src/main/java/com/dfsek/terra/api/world/tree/fractal/trees/IceSpike.java +++ b/common/src/main/java/com/dfsek/terra/api/world/tree/fractal/trees/IceSpike.java @@ -1,9 +1,9 @@ package com.dfsek.terra.api.world.tree.fractal.trees; +import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.math.ProbabilityCollection; import com.dfsek.terra.api.math.vector.Location; import com.dfsek.terra.api.math.vector.Vector3; -import com.dfsek.terra.api.platform.TerraPlugin; import com.dfsek.terra.api.platform.block.BlockData; import com.dfsek.terra.api.platform.handle.WorldHandle; import com.dfsek.terra.api.world.tree.fractal.FractalTree; diff --git a/common/src/main/java/com/dfsek/terra/api/world/tree/fractal/trees/OakTree.java b/common/src/main/java/com/dfsek/terra/api/world/tree/fractal/trees/OakTree.java index d4fdee054..de8ad123b 100644 --- a/common/src/main/java/com/dfsek/terra/api/world/tree/fractal/trees/OakTree.java +++ b/common/src/main/java/com/dfsek/terra/api/world/tree/fractal/trees/OakTree.java @@ -1,8 +1,8 @@ package com.dfsek.terra.api.world.tree.fractal.trees; +import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.math.vector.Location; import com.dfsek.terra.api.math.vector.Vector3; -import com.dfsek.terra.api.platform.TerraPlugin; import com.dfsek.terra.api.platform.block.BlockData; import com.dfsek.terra.api.world.tree.fractal.FractalTree; import com.dfsek.terra.api.world.tree.fractal.TreeGeometry; diff --git a/common/src/main/java/com/dfsek/terra/api/world/tree/fractal/trees/ShatteredPillar.java b/common/src/main/java/com/dfsek/terra/api/world/tree/fractal/trees/ShatteredPillar.java index a1ceafdb5..ed66b3d68 100644 --- a/common/src/main/java/com/dfsek/terra/api/world/tree/fractal/trees/ShatteredPillar.java +++ b/common/src/main/java/com/dfsek/terra/api/world/tree/fractal/trees/ShatteredPillar.java @@ -1,7 +1,7 @@ package com.dfsek.terra.api.world.tree.fractal.trees; +import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.math.vector.Location; -import com.dfsek.terra.api.platform.TerraPlugin; import com.dfsek.terra.api.platform.block.BlockData; import com.dfsek.terra.api.world.tree.fractal.FractalTree; import com.dfsek.terra.util.MaterialSet; diff --git a/common/src/main/java/com/dfsek/terra/api/world/tree/fractal/trees/ShatteredTree.java b/common/src/main/java/com/dfsek/terra/api/world/tree/fractal/trees/ShatteredTree.java index 58a06585e..0841d5e2f 100644 --- a/common/src/main/java/com/dfsek/terra/api/world/tree/fractal/trees/ShatteredTree.java +++ b/common/src/main/java/com/dfsek/terra/api/world/tree/fractal/trees/ShatteredTree.java @@ -1,9 +1,9 @@ package com.dfsek.terra.api.world.tree.fractal.trees; +import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.math.ProbabilityCollection; import com.dfsek.terra.api.math.vector.Location; import com.dfsek.terra.api.math.vector.Vector3; -import com.dfsek.terra.api.platform.TerraPlugin; import com.dfsek.terra.api.platform.block.BlockData; import com.dfsek.terra.api.platform.handle.WorldHandle; import com.dfsek.terra.api.world.tree.fractal.FractalTree; diff --git a/common/src/main/java/com/dfsek/terra/api/world/tree/fractal/trees/SmallShatteredPillar.java b/common/src/main/java/com/dfsek/terra/api/world/tree/fractal/trees/SmallShatteredPillar.java index 423a5ed7c..a06634e6d 100644 --- a/common/src/main/java/com/dfsek/terra/api/world/tree/fractal/trees/SmallShatteredPillar.java +++ b/common/src/main/java/com/dfsek/terra/api/world/tree/fractal/trees/SmallShatteredPillar.java @@ -1,7 +1,7 @@ package com.dfsek.terra.api.world.tree.fractal.trees; +import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.math.vector.Location; -import com.dfsek.terra.api.platform.TerraPlugin; import com.dfsek.terra.api.platform.block.BlockData; import com.dfsek.terra.api.world.tree.fractal.FractalTree; import com.dfsek.terra.util.MaterialSet; diff --git a/common/src/main/java/com/dfsek/terra/api/world/tree/fractal/trees/SmallShatteredTree.java b/common/src/main/java/com/dfsek/terra/api/world/tree/fractal/trees/SmallShatteredTree.java index 16aec9d4f..c5094c61a 100644 --- a/common/src/main/java/com/dfsek/terra/api/world/tree/fractal/trees/SmallShatteredTree.java +++ b/common/src/main/java/com/dfsek/terra/api/world/tree/fractal/trees/SmallShatteredTree.java @@ -1,9 +1,9 @@ package com.dfsek.terra.api.world.tree.fractal.trees; +import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.math.ProbabilityCollection; import com.dfsek.terra.api.math.vector.Location; import com.dfsek.terra.api.math.vector.Vector3; -import com.dfsek.terra.api.platform.TerraPlugin; import com.dfsek.terra.api.platform.block.BlockData; import com.dfsek.terra.api.platform.handle.WorldHandle; import com.dfsek.terra.api.world.tree.fractal.FractalTree; diff --git a/common/src/main/java/com/dfsek/terra/api/world/tree/fractal/trees/SpruceTree.java b/common/src/main/java/com/dfsek/terra/api/world/tree/fractal/trees/SpruceTree.java index 139e77a49..327c52706 100644 --- a/common/src/main/java/com/dfsek/terra/api/world/tree/fractal/trees/SpruceTree.java +++ b/common/src/main/java/com/dfsek/terra/api/world/tree/fractal/trees/SpruceTree.java @@ -1,8 +1,8 @@ package com.dfsek.terra.api.world.tree.fractal.trees; +import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.math.vector.Location; import com.dfsek.terra.api.math.vector.Vector3; -import com.dfsek.terra.api.platform.TerraPlugin; import com.dfsek.terra.api.platform.block.BlockData; import com.dfsek.terra.api.world.tree.fractal.FractalTree; import com.dfsek.terra.api.world.tree.fractal.TreeGeometry; diff --git a/common/src/main/java/com/dfsek/terra/async/AsyncBiomeFinder.java b/common/src/main/java/com/dfsek/terra/async/AsyncBiomeFinder.java index c06ab9ceb..66ab3b350 100644 --- a/common/src/main/java/com/dfsek/terra/async/AsyncBiomeFinder.java +++ b/common/src/main/java/com/dfsek/terra/async/AsyncBiomeFinder.java @@ -1,10 +1,10 @@ package com.dfsek.terra.async; +import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.math.vector.Location; import com.dfsek.terra.api.math.vector.Vector3; -import com.dfsek.terra.api.platform.TerraPlugin; -import com.dfsek.terra.api.world.biome.TerraBiome; import com.dfsek.terra.biome.BiomeProvider; +import com.dfsek.terra.biome.TerraBiome; import org.jetbrains.annotations.NotNull; import java.util.function.Consumer; diff --git a/common/src/main/java/com/dfsek/terra/async/AsyncFeatureFinder.java b/common/src/main/java/com/dfsek/terra/async/AsyncFeatureFinder.java index 374a8e6c6..4497709ce 100644 --- a/common/src/main/java/com/dfsek/terra/async/AsyncFeatureFinder.java +++ b/common/src/main/java/com/dfsek/terra/async/AsyncFeatureFinder.java @@ -1,8 +1,8 @@ package com.dfsek.terra.async; +import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.math.vector.Location; import com.dfsek.terra.api.math.vector.Vector3; -import com.dfsek.terra.api.platform.TerraPlugin; import com.dfsek.terra.api.platform.world.World; import com.dfsek.terra.biome.BiomeProvider; import org.jetbrains.annotations.NotNull; diff --git a/common/src/main/java/com/dfsek/terra/async/AsyncStructureFinder.java b/common/src/main/java/com/dfsek/terra/async/AsyncStructureFinder.java index fc2e3ee6a..be61a0ebd 100644 --- a/common/src/main/java/com/dfsek/terra/async/AsyncStructureFinder.java +++ b/common/src/main/java/com/dfsek/terra/async/AsyncStructureFinder.java @@ -1,14 +1,14 @@ package com.dfsek.terra.async; +import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.math.MathUtil; import com.dfsek.terra.api.math.vector.Location; import com.dfsek.terra.api.math.vector.Vector3; -import com.dfsek.terra.api.platform.TerraPlugin; import com.dfsek.terra.api.structures.structure.Rotation; import com.dfsek.terra.api.util.FastRandom; import com.dfsek.terra.biome.BiomeProvider; import com.dfsek.terra.biome.UserDefinedBiome; -import com.dfsek.terra.population.items.TerraStructure; +import com.dfsek.terra.world.population.items.TerraStructure; import net.jafama.FastMath; import org.jetbrains.annotations.NotNull; diff --git a/common/src/main/java/com/dfsek/terra/biome/BiomeProvider.java b/common/src/main/java/com/dfsek/terra/biome/BiomeProvider.java index 12f899651..ecfe07453 100644 --- a/common/src/main/java/com/dfsek/terra/biome/BiomeProvider.java +++ b/common/src/main/java/com/dfsek/terra/biome/BiomeProvider.java @@ -3,7 +3,6 @@ package com.dfsek.terra.biome; import com.dfsek.terra.api.math.vector.Location; import com.dfsek.terra.api.math.vector.Vector2; import com.dfsek.terra.api.math.vector.Vector3; -import com.dfsek.terra.api.world.biome.TerraBiome; public interface BiomeProvider { TerraBiome getBiome(int x, int z); diff --git a/common/src/main/java/com/dfsek/terra/biome/ImageBiomeProvider.java b/common/src/main/java/com/dfsek/terra/biome/ImageBiomeProvider.java index 9afdbd400..3462495db 100644 --- a/common/src/main/java/com/dfsek/terra/biome/ImageBiomeProvider.java +++ b/common/src/main/java/com/dfsek/terra/biome/ImageBiomeProvider.java @@ -1,6 +1,5 @@ package com.dfsek.terra.biome; -import com.dfsek.terra.api.world.biome.TerraBiome; import com.dfsek.terra.registry.TerraRegistry; import net.jafama.FastMath; diff --git a/common/src/main/java/com/dfsek/terra/biome/StandardBiomeProvider.java b/common/src/main/java/com/dfsek/terra/biome/StandardBiomeProvider.java index 2952d1640..30ed73b6e 100644 --- a/common/src/main/java/com/dfsek/terra/biome/StandardBiomeProvider.java +++ b/common/src/main/java/com/dfsek/terra/biome/StandardBiomeProvider.java @@ -1,13 +1,12 @@ package com.dfsek.terra.biome; import com.dfsek.tectonic.exception.ConfigException; +import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.math.noise.samplers.NoiseSampler; import com.dfsek.terra.api.math.vector.Vector2; -import com.dfsek.terra.api.platform.TerraPlugin; -import com.dfsek.terra.api.world.biome.TerraBiome; import com.dfsek.terra.biome.pipeline.BiomeHolder; import com.dfsek.terra.biome.pipeline.BiomePipeline; -import com.dfsek.terra.generation.config.NoiseBuilder; +import com.dfsek.terra.world.generation.config.NoiseBuilder; import com.google.common.cache.CacheBuilder; import com.google.common.cache.CacheLoader; import com.google.common.cache.LoadingCache; diff --git a/common/src/main/java/com/dfsek/terra/api/world/biome/TerraBiome.java b/common/src/main/java/com/dfsek/terra/biome/TerraBiome.java similarity index 91% rename from common/src/main/java/com/dfsek/terra/api/world/biome/TerraBiome.java rename to common/src/main/java/com/dfsek/terra/biome/TerraBiome.java index 605672887..34fa6801c 100644 --- a/common/src/main/java/com/dfsek/terra/api/world/biome/TerraBiome.java +++ b/common/src/main/java/com/dfsek/terra/biome/TerraBiome.java @@ -1,9 +1,10 @@ -package com.dfsek.terra.api.world.biome; +package com.dfsek.terra.biome; import com.dfsek.terra.api.math.ProbabilityCollection; import com.dfsek.terra.api.platform.world.Biome; import com.dfsek.terra.api.platform.world.World; +import com.dfsek.terra.api.world.biome.Generator; import java.util.Set; diff --git a/common/src/main/java/com/dfsek/terra/biome/UserDefinedBiome.java b/common/src/main/java/com/dfsek/terra/biome/UserDefinedBiome.java index 153878883..630fa8774 100644 --- a/common/src/main/java/com/dfsek/terra/biome/UserDefinedBiome.java +++ b/common/src/main/java/com/dfsek/terra/biome/UserDefinedBiome.java @@ -4,7 +4,6 @@ import com.dfsek.terra.api.math.ProbabilityCollection; import com.dfsek.terra.api.platform.world.Biome; import com.dfsek.terra.api.platform.world.World; import com.dfsek.terra.api.world.biome.Generator; -import com.dfsek.terra.api.world.biome.TerraBiome; import com.dfsek.terra.config.builder.GeneratorBuilder; import com.dfsek.terra.config.templates.BiomeTemplate; diff --git a/common/src/main/java/com/dfsek/terra/biome/pipeline/BiomeHolder.java b/common/src/main/java/com/dfsek/terra/biome/pipeline/BiomeHolder.java index 4882edee0..7e2fb6bfb 100644 --- a/common/src/main/java/com/dfsek/terra/biome/pipeline/BiomeHolder.java +++ b/common/src/main/java/com/dfsek/terra/biome/pipeline/BiomeHolder.java @@ -1,6 +1,6 @@ package com.dfsek.terra.biome.pipeline; -import com.dfsek.terra.api.world.biome.TerraBiome; +import com.dfsek.terra.biome.TerraBiome; import com.dfsek.terra.biome.pipeline.expand.BiomeExpander; import com.dfsek.terra.biome.pipeline.mutator.BiomeMutator; import com.dfsek.terra.biome.pipeline.source.BiomeSource; diff --git a/common/src/main/java/com/dfsek/terra/biome/pipeline/TerraBiomeHolder.java b/common/src/main/java/com/dfsek/terra/biome/pipeline/TerraBiomeHolder.java index 5f471cbea..9a44a8935 100644 --- a/common/src/main/java/com/dfsek/terra/biome/pipeline/TerraBiomeHolder.java +++ b/common/src/main/java/com/dfsek/terra/biome/pipeline/TerraBiomeHolder.java @@ -1,7 +1,7 @@ package com.dfsek.terra.biome.pipeline; import com.dfsek.terra.api.math.vector.Vector2; -import com.dfsek.terra.api.world.biome.TerraBiome; +import com.dfsek.terra.biome.TerraBiome; import com.dfsek.terra.biome.pipeline.expand.BiomeExpander; import com.dfsek.terra.biome.pipeline.mutator.BiomeMutator; import com.dfsek.terra.biome.pipeline.source.BiomeSource; diff --git a/common/src/main/java/com/dfsek/terra/biome/pipeline/expand/BiomeExpander.java b/common/src/main/java/com/dfsek/terra/biome/pipeline/expand/BiomeExpander.java index 5f1f0fc3a..a3530ca70 100644 --- a/common/src/main/java/com/dfsek/terra/biome/pipeline/expand/BiomeExpander.java +++ b/common/src/main/java/com/dfsek/terra/biome/pipeline/expand/BiomeExpander.java @@ -1,6 +1,6 @@ package com.dfsek.terra.biome.pipeline.expand; -import com.dfsek.terra.api.world.biome.TerraBiome; +import com.dfsek.terra.biome.TerraBiome; public interface BiomeExpander { TerraBiome getBetween(double x, double z, TerraBiome... others); diff --git a/common/src/main/java/com/dfsek/terra/biome/pipeline/expand/FractalExpander.java b/common/src/main/java/com/dfsek/terra/biome/pipeline/expand/FractalExpander.java index 3d52fc283..92c749726 100644 --- a/common/src/main/java/com/dfsek/terra/biome/pipeline/expand/FractalExpander.java +++ b/common/src/main/java/com/dfsek/terra/biome/pipeline/expand/FractalExpander.java @@ -2,7 +2,7 @@ package com.dfsek.terra.biome.pipeline.expand; import com.dfsek.terra.api.math.MathUtil; import com.dfsek.terra.api.math.noise.samplers.NoiseSampler; -import com.dfsek.terra.api.world.biome.TerraBiome; +import com.dfsek.terra.biome.TerraBiome; public class FractalExpander implements BiomeExpander { private final NoiseSampler sampler; diff --git a/common/src/main/java/com/dfsek/terra/biome/pipeline/mutator/BiomeMutator.java b/common/src/main/java/com/dfsek/terra/biome/pipeline/mutator/BiomeMutator.java index 7a941b285..83cf9aa11 100644 --- a/common/src/main/java/com/dfsek/terra/biome/pipeline/mutator/BiomeMutator.java +++ b/common/src/main/java/com/dfsek/terra/biome/pipeline/mutator/BiomeMutator.java @@ -1,6 +1,6 @@ package com.dfsek.terra.biome.pipeline.mutator; -import com.dfsek.terra.api.world.biome.TerraBiome; +import com.dfsek.terra.biome.TerraBiome; import com.dfsek.terra.biome.pipeline.BiomeHolder; public interface BiomeMutator { diff --git a/common/src/main/java/com/dfsek/terra/biome/pipeline/mutator/BorderListMutator.java b/common/src/main/java/com/dfsek/terra/biome/pipeline/mutator/BorderListMutator.java index 0adc7cd78..171ed6735 100644 --- a/common/src/main/java/com/dfsek/terra/biome/pipeline/mutator/BorderListMutator.java +++ b/common/src/main/java/com/dfsek/terra/biome/pipeline/mutator/BorderListMutator.java @@ -2,7 +2,7 @@ package com.dfsek.terra.biome.pipeline.mutator; import com.dfsek.terra.api.math.ProbabilityCollection; import com.dfsek.terra.api.math.noise.samplers.NoiseSampler; -import com.dfsek.terra.api.world.biome.TerraBiome; +import com.dfsek.terra.biome.TerraBiome; import java.util.Map; diff --git a/common/src/main/java/com/dfsek/terra/biome/pipeline/mutator/BorderMutator.java b/common/src/main/java/com/dfsek/terra/biome/pipeline/mutator/BorderMutator.java index 41c6547dc..89f8df31a 100644 --- a/common/src/main/java/com/dfsek/terra/biome/pipeline/mutator/BorderMutator.java +++ b/common/src/main/java/com/dfsek/terra/biome/pipeline/mutator/BorderMutator.java @@ -2,7 +2,7 @@ package com.dfsek.terra.biome.pipeline.mutator; import com.dfsek.terra.api.math.ProbabilityCollection; import com.dfsek.terra.api.math.noise.samplers.NoiseSampler; -import com.dfsek.terra.api.world.biome.TerraBiome; +import com.dfsek.terra.biome.TerraBiome; public class BorderMutator implements BiomeMutator { private final String border; diff --git a/common/src/main/java/com/dfsek/terra/biome/pipeline/mutator/ReplaceListMutator.java b/common/src/main/java/com/dfsek/terra/biome/pipeline/mutator/ReplaceListMutator.java index cfd5e6c31..2f36d52a1 100644 --- a/common/src/main/java/com/dfsek/terra/biome/pipeline/mutator/ReplaceListMutator.java +++ b/common/src/main/java/com/dfsek/terra/biome/pipeline/mutator/ReplaceListMutator.java @@ -2,7 +2,7 @@ package com.dfsek.terra.biome.pipeline.mutator; import com.dfsek.terra.api.math.ProbabilityCollection; import com.dfsek.terra.api.math.noise.samplers.NoiseSampler; -import com.dfsek.terra.api.world.biome.TerraBiome; +import com.dfsek.terra.biome.TerraBiome; import java.util.Map; diff --git a/common/src/main/java/com/dfsek/terra/biome/pipeline/mutator/ReplaceMutator.java b/common/src/main/java/com/dfsek/terra/biome/pipeline/mutator/ReplaceMutator.java index 2224ac456..8de692f3d 100644 --- a/common/src/main/java/com/dfsek/terra/biome/pipeline/mutator/ReplaceMutator.java +++ b/common/src/main/java/com/dfsek/terra/biome/pipeline/mutator/ReplaceMutator.java @@ -2,7 +2,7 @@ package com.dfsek.terra.biome.pipeline.mutator; import com.dfsek.terra.api.math.ProbabilityCollection; import com.dfsek.terra.api.math.noise.samplers.NoiseSampler; -import com.dfsek.terra.api.world.biome.TerraBiome; +import com.dfsek.terra.biome.TerraBiome; public class ReplaceMutator implements BiomeMutator { private final String replaceableTag; diff --git a/common/src/main/java/com/dfsek/terra/biome/pipeline/mutator/SmoothMutator.java b/common/src/main/java/com/dfsek/terra/biome/pipeline/mutator/SmoothMutator.java index a6e397184..ca1ec7932 100644 --- a/common/src/main/java/com/dfsek/terra/biome/pipeline/mutator/SmoothMutator.java +++ b/common/src/main/java/com/dfsek/terra/biome/pipeline/mutator/SmoothMutator.java @@ -2,7 +2,7 @@ package com.dfsek.terra.biome.pipeline.mutator; import com.dfsek.terra.api.math.MathUtil; import com.dfsek.terra.api.math.noise.samplers.NoiseSampler; -import com.dfsek.terra.api.world.biome.TerraBiome; +import com.dfsek.terra.biome.TerraBiome; import java.util.Objects; diff --git a/common/src/main/java/com/dfsek/terra/biome/pipeline/source/BiomeSource.java b/common/src/main/java/com/dfsek/terra/biome/pipeline/source/BiomeSource.java index f7353fab1..80b0961c6 100644 --- a/common/src/main/java/com/dfsek/terra/biome/pipeline/source/BiomeSource.java +++ b/common/src/main/java/com/dfsek/terra/biome/pipeline/source/BiomeSource.java @@ -1,6 +1,6 @@ package com.dfsek.terra.biome.pipeline.source; -import com.dfsek.terra.api.world.biome.TerraBiome; +import com.dfsek.terra.biome.TerraBiome; public interface BiomeSource { TerraBiome getBiome(double x, double z); diff --git a/common/src/main/java/com/dfsek/terra/biome/pipeline/source/RandomSource.java b/common/src/main/java/com/dfsek/terra/biome/pipeline/source/RandomSource.java index 0861b188f..96db4688b 100644 --- a/common/src/main/java/com/dfsek/terra/biome/pipeline/source/RandomSource.java +++ b/common/src/main/java/com/dfsek/terra/biome/pipeline/source/RandomSource.java @@ -2,7 +2,7 @@ package com.dfsek.terra.biome.pipeline.source; import com.dfsek.terra.api.math.ProbabilityCollection; import com.dfsek.terra.api.math.noise.samplers.NoiseSampler; -import com.dfsek.terra.api.world.biome.TerraBiome; +import com.dfsek.terra.biome.TerraBiome; public class RandomSource implements BiomeSource { private final ProbabilityCollection biomes; diff --git a/common/src/main/java/com/dfsek/terra/biome/postprocessing/CoordinatePerturb.java b/common/src/main/java/com/dfsek/terra/biome/postprocessing/CoordinatePerturb.java deleted file mode 100644 index 2dfb066ed..000000000 --- a/common/src/main/java/com/dfsek/terra/biome/postprocessing/CoordinatePerturb.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.dfsek.terra.biome.postprocessing; - -import com.dfsek.terra.api.math.noise.samplers.FastNoiseLite; -import com.dfsek.terra.api.math.vector.Vector2; - -/** - * Offset a coordinate pair by an amount. - */ -public class CoordinatePerturb { - private final FastNoiseLite perturbX; - private final FastNoiseLite perturbZ; - private final double amplitude; - - /** - * Create a CoordinatePerturb object with a given frequency, amplitude, and seed. - * - * @param frequency Noise frequency - * @param amplitude Offset amplitude - * @param seed Noise seed - */ - public CoordinatePerturb(double frequency, double amplitude, long seed) { - perturbX = new FastNoiseLite((int) seed); - perturbX.setNoiseType(FastNoiseLite.NoiseType.OpenSimplex2); - perturbX.setFrequency(frequency); - perturbZ = new FastNoiseLite((int) seed + 1); - perturbZ.setNoiseType(FastNoiseLite.NoiseType.OpenSimplex2); - perturbZ.setFrequency(frequency); - this.amplitude = amplitude; - } - - /** - * Offset a coordinate pair - * - * @param x X coordinate - * @param z Z coordinate - * @return Vector2 containing offset coordinates - */ - public Vector2 getShiftedCoords(int x, int z) { - return new Vector2(perturbX.getNoise(x, z) * amplitude + x, perturbZ.getNoise(x, z) * amplitude + z); - } -} diff --git a/common/src/main/java/com/dfsek/terra/biome/postprocessing/ErosionNoise.java b/common/src/main/java/com/dfsek/terra/biome/postprocessing/ErosionNoise.java deleted file mode 100644 index fce056c9f..000000000 --- a/common/src/main/java/com/dfsek/terra/biome/postprocessing/ErosionNoise.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.dfsek.terra.biome.postprocessing; - -import com.dfsek.terra.api.math.noise.samplers.FastNoiseLite; -import com.dfsek.terra.api.math.noise.samplers.NoiseSampler; -import net.jafama.FastMath; - -/** - * Class to hold noise function to determine erosion. - */ -public class ErosionNoise { - private final double thresh; - private final NoiseSampler noise; - - public ErosionNoise(double freq1, double thresh, int octaves, long seed) { - FastNoiseLite main = new FastNoiseLite((int) (seed + 1)); - main.setNoiseType(FastNoiseLite.NoiseType.OpenSimplex2); - main.setFractalType(FastNoiseLite.FractalType.FBm); - main.setFractalOctaves(octaves); - main.setFrequency(freq1); - this.thresh = thresh; - this.noise = main; - } - - /** - * Get whether a location is eroded - * - * @param x X coordinate - * @param z Z coordinate - * @return Whether location is eroded - */ - public boolean isEroded(int x, int z) { - double abs = FastMath.pow(noise.getNoise(x, z), 2); - return abs < thresh; - } -} diff --git a/common/src/main/java/com/dfsek/terra/api/GenericLoaders.java b/common/src/main/java/com/dfsek/terra/config/GenericLoaders.java similarity index 75% rename from common/src/main/java/com/dfsek/terra/api/GenericLoaders.java rename to common/src/main/java/com/dfsek/terra/config/GenericLoaders.java index cf0961c42..0b7e81f55 100644 --- a/common/src/main/java/com/dfsek/terra/api/GenericLoaders.java +++ b/common/src/main/java/com/dfsek/terra/config/GenericLoaders.java @@ -1,13 +1,14 @@ -package com.dfsek.terra.api; +package com.dfsek.terra.config; import com.dfsek.tectonic.loading.TypeRegistry; +import com.dfsek.terra.api.LoaderRegistrar; +import com.dfsek.terra.api.core.TerraPlugin; 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.noise.samplers.Normalizer; -import com.dfsek.terra.api.platform.TerraPlugin; -import com.dfsek.terra.biome.palette.PaletteHolder; -import com.dfsek.terra.biome.palette.PaletteLayer; +import com.dfsek.terra.api.world.palette.holder.PaletteHolder; +import com.dfsek.terra.api.world.palette.holder.PaletteLayerHolder; import com.dfsek.terra.config.loaders.MaterialSetLoader; import com.dfsek.terra.config.loaders.ProbabilityCollectionLoader; import com.dfsek.terra.config.loaders.RangeLoader; @@ -19,14 +20,14 @@ import com.dfsek.terra.config.loaders.config.OreHolderLoader; import com.dfsek.terra.config.loaders.config.TreeLayerLoader; import com.dfsek.terra.config.loaders.palette.PaletteHolderLoader; import com.dfsek.terra.config.loaders.palette.PaletteLayerLoader; -import com.dfsek.terra.generation.config.NoiseBuilder; -import com.dfsek.terra.population.items.flora.FloraLayer; -import com.dfsek.terra.population.items.flora.TerraFlora; -import com.dfsek.terra.population.items.ores.Ore; -import com.dfsek.terra.population.items.ores.OreConfig; -import com.dfsek.terra.population.items.ores.OreHolder; -import com.dfsek.terra.population.items.tree.TreeLayer; import com.dfsek.terra.util.MaterialSet; +import com.dfsek.terra.world.generation.config.NoiseBuilder; +import com.dfsek.terra.world.population.items.flora.FloraLayer; +import com.dfsek.terra.world.population.items.flora.TerraFlora; +import com.dfsek.terra.world.population.items.ores.Ore; +import com.dfsek.terra.world.population.items.ores.OreConfig; +import com.dfsek.terra.world.population.items.ores.OreHolder; +import com.dfsek.terra.world.population.items.tree.TreeLayer; public class GenericLoaders implements LoaderRegistrar { private final TerraPlugin main; @@ -41,7 +42,7 @@ public class GenericLoaders implements LoaderRegistrar { .registerLoader(Range.class, new RangeLoader()) .registerLoader(GridSpawn.class, new GridSpawnLoader()) .registerLoader(PaletteHolder.class, new PaletteHolderLoader()) - .registerLoader(PaletteLayer.class, new PaletteLayerLoader()) + .registerLoader(PaletteLayerHolder.class, new PaletteLayerLoader()) .registerLoader(FloraLayer.class, new FloraLayerLoader()) .registerLoader(Ore.Type.class, (t, o, l) -> Ore.Type.valueOf(o.toString())) .registerLoader(OreConfig.class, new OreConfigLoader()) diff --git a/common/src/main/java/com/dfsek/terra/config/base/PluginConfig.java b/common/src/main/java/com/dfsek/terra/config/PluginConfig.java similarity index 91% rename from common/src/main/java/com/dfsek/terra/config/base/PluginConfig.java rename to common/src/main/java/com/dfsek/terra/config/PluginConfig.java index 8172facaf..1d058e96a 100644 --- a/common/src/main/java/com/dfsek/terra/config/base/PluginConfig.java +++ b/common/src/main/java/com/dfsek/terra/config/PluginConfig.java @@ -1,13 +1,12 @@ -package com.dfsek.terra.config.base; +package com.dfsek.terra.config; import com.dfsek.tectonic.annotations.Default; import com.dfsek.tectonic.annotations.Value; import com.dfsek.tectonic.config.ConfigTemplate; import com.dfsek.tectonic.exception.ConfigException; import com.dfsek.tectonic.loading.ConfigLoader; -import com.dfsek.terra.api.platform.TerraPlugin; +import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.util.JarUtil; -import com.dfsek.terra.debug.Debug; import java.io.File; import java.io.FileInputStream; @@ -73,15 +72,15 @@ public class PluginConfig implements ConfigTemplate { try(JarFile jar = new JarFile(new File(TerraPlugin.class.getProtectionDomain().getCodeSource().getLocation().toURI()))) { JarUtil.copyResourcesToDirectory(jar, "packs", new File(main.getDataFolder(), "packs").toString()); } catch(IOException | URISyntaxException e) { - Debug.error("Failed to dump default config files!"); + main.getDebugLogger().error("Failed to dump default config files!"); e.printStackTrace(); - Debug.error("Report this to Terra!"); + main.getDebugLogger().error("Report this to Terra!"); } } } catch(ConfigException | IOException e) { e.printStackTrace(); } - logger.info("Debug: " + isDebug()); + logger.info("DebugLogger: " + isDebug()); } public String getLanguage() { diff --git a/common/src/main/java/com/dfsek/terra/config/builder/GeneratorBuilder.java b/common/src/main/java/com/dfsek/terra/config/builder/GeneratorBuilder.java index 186b8cc13..3b00f1898 100644 --- a/common/src/main/java/com/dfsek/terra/config/builder/GeneratorBuilder.java +++ b/common/src/main/java/com/dfsek/terra/config/builder/GeneratorBuilder.java @@ -3,9 +3,9 @@ package com.dfsek.terra.config.builder; import com.dfsek.terra.api.math.noise.samplers.ConstantSampler; import com.dfsek.terra.api.math.noise.samplers.ExpressionSampler; import com.dfsek.terra.api.math.noise.samplers.NoiseSampler; -import com.dfsek.terra.biome.palette.PaletteHolder; -import com.dfsek.terra.generation.config.NoiseBuilder; -import com.dfsek.terra.generation.config.WorldGenerator; +import com.dfsek.terra.api.world.palette.holder.PaletteHolder; +import com.dfsek.terra.world.generation.WorldGenerator; +import com.dfsek.terra.world.generation.config.NoiseBuilder; import parsii.eval.Scope; import parsii.tokenizer.ParseException; diff --git a/common/src/main/java/com/dfsek/terra/config/factories/BiomeFactory.java b/common/src/main/java/com/dfsek/terra/config/factories/BiomeFactory.java index 983e2c65a..81bc9f327 100644 --- a/common/src/main/java/com/dfsek/terra/config/factories/BiomeFactory.java +++ b/common/src/main/java/com/dfsek/terra/config/factories/BiomeFactory.java @@ -1,10 +1,10 @@ package com.dfsek.terra.config.factories; -import com.dfsek.terra.api.platform.TerraPlugin; -import com.dfsek.terra.api.world.biome.TerraBiome; +import com.dfsek.terra.api.core.TerraPlugin; +import com.dfsek.terra.biome.TerraBiome; import com.dfsek.terra.biome.UserDefinedBiome; -import com.dfsek.terra.config.base.ConfigPack; import com.dfsek.terra.config.builder.GeneratorBuilder; +import com.dfsek.terra.config.pack.ConfigPack; import com.dfsek.terra.config.templates.BiomeTemplate; public class BiomeFactory implements TerraFactory { diff --git a/common/src/main/java/com/dfsek/terra/config/factories/FloraFactory.java b/common/src/main/java/com/dfsek/terra/config/factories/FloraFactory.java index 5b3ef3c6f..49e88a2a5 100644 --- a/common/src/main/java/com/dfsek/terra/config/factories/FloraFactory.java +++ b/common/src/main/java/com/dfsek/terra/config/factories/FloraFactory.java @@ -1,14 +1,14 @@ package com.dfsek.terra.config.factories; +import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.math.noise.samplers.FastNoiseLite; -import com.dfsek.terra.api.platform.TerraPlugin; import com.dfsek.terra.api.platform.block.BlockData; import com.dfsek.terra.api.world.flora.Flora; import com.dfsek.terra.api.world.palette.NoisePalette; import com.dfsek.terra.api.world.palette.Palette; -import com.dfsek.terra.biome.palette.PaletteLayer; +import com.dfsek.terra.api.world.palette.holder.PaletteLayerHolder; import com.dfsek.terra.config.templates.FloraTemplate; -import com.dfsek.terra.population.items.flora.TerraFlora; +import com.dfsek.terra.world.population.items.flora.TerraFlora; public class FloraFactory implements TerraFactory { @Override @@ -16,7 +16,7 @@ public class FloraFactory implements TerraFactory { FastNoiseLite whiteNoise = new FastNoiseLite(); whiteNoise.setNoiseType(FastNoiseLite.NoiseType.WhiteNoise); Palette palette = new NoisePalette<>(whiteNoise, false); - for(PaletteLayer layer : config.getFloraPalette()) { + for(PaletteLayerHolder layer : config.getFloraPalette()) { palette.add(layer.getLayer(), layer.getSize(), layer.getSampler()); } return new TerraFlora(palette, config.doPhysics(), config.isCeiling(), config.getIrrigable(), config.getSpawnable(), config.getReplaceable(), config.getRotatable(), config.getMaxPlacements(), config.getSearch(), config.isSpawnBlacklist(), config.getIrrigableOffset(), main); diff --git a/common/src/main/java/com/dfsek/terra/config/factories/OreFactory.java b/common/src/main/java/com/dfsek/terra/config/factories/OreFactory.java index 401074c52..da74a1a81 100644 --- a/common/src/main/java/com/dfsek/terra/config/factories/OreFactory.java +++ b/common/src/main/java/com/dfsek/terra/config/factories/OreFactory.java @@ -1,11 +1,11 @@ package com.dfsek.terra.config.factories; -import com.dfsek.terra.api.platform.TerraPlugin; +import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.platform.block.BlockData; import com.dfsek.terra.config.templates.OreTemplate; -import com.dfsek.terra.population.items.ores.DeformedSphereOre; -import com.dfsek.terra.population.items.ores.Ore; -import com.dfsek.terra.population.items.ores.VanillaOre; +import com.dfsek.terra.world.population.items.ores.DeformedSphereOre; +import com.dfsek.terra.world.population.items.ores.Ore; +import com.dfsek.terra.world.population.items.ores.VanillaOre; public class OreFactory implements TerraFactory { @Override diff --git a/common/src/main/java/com/dfsek/terra/config/factories/PaletteFactory.java b/common/src/main/java/com/dfsek/terra/config/factories/PaletteFactory.java index 25025494e..fbf23480f 100644 --- a/common/src/main/java/com/dfsek/terra/config/factories/PaletteFactory.java +++ b/common/src/main/java/com/dfsek/terra/config/factories/PaletteFactory.java @@ -1,17 +1,17 @@ package com.dfsek.terra.config.factories; -import com.dfsek.terra.api.platform.TerraPlugin; +import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.platform.block.BlockData; import com.dfsek.terra.api.world.palette.NoisePalette; import com.dfsek.terra.api.world.palette.Palette; -import com.dfsek.terra.biome.palette.PaletteLayer; +import com.dfsek.terra.api.world.palette.holder.PaletteLayerHolder; import com.dfsek.terra.config.templates.PaletteTemplate; public class PaletteFactory implements TerraFactory> { @Override public Palette build(PaletteTemplate config, TerraPlugin main) { NoisePalette palette = new NoisePalette<>(config.getNoise().build(2403), config.getNoise().getDimensions() == 2); - for(PaletteLayer layer : config.getPalette()) { + for(PaletteLayerHolder layer : config.getPalette()) { palette.add(layer.getLayer(), layer.getSize(), layer.getSampler()); } return palette; diff --git a/common/src/main/java/com/dfsek/terra/config/factories/StructureFactory.java b/common/src/main/java/com/dfsek/terra/config/factories/StructureFactory.java index 07ff0f902..5724e2bfa 100644 --- a/common/src/main/java/com/dfsek/terra/config/factories/StructureFactory.java +++ b/common/src/main/java/com/dfsek/terra/config/factories/StructureFactory.java @@ -1,8 +1,8 @@ package com.dfsek.terra.config.factories; -import com.dfsek.terra.api.platform.TerraPlugin; +import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.config.templates.StructureTemplate; -import com.dfsek.terra.population.items.TerraStructure; +import com.dfsek.terra.world.population.items.TerraStructure; public class StructureFactory implements TerraFactory { @Override diff --git a/common/src/main/java/com/dfsek/terra/config/factories/TerraFactory.java b/common/src/main/java/com/dfsek/terra/config/factories/TerraFactory.java index 485d7f8af..8e7d5ee82 100644 --- a/common/src/main/java/com/dfsek/terra/config/factories/TerraFactory.java +++ b/common/src/main/java/com/dfsek/terra/config/factories/TerraFactory.java @@ -2,7 +2,7 @@ package com.dfsek.terra.config.factories; import com.dfsek.tectonic.config.ConfigTemplate; import com.dfsek.tectonic.exception.LoadException; -import com.dfsek.terra.api.platform.TerraPlugin; +import com.dfsek.terra.api.core.TerraPlugin; public interface TerraFactory { O build(C config, TerraPlugin main) throws LoadException; diff --git a/common/src/main/java/com/dfsek/terra/config/factories/TreeFactory.java b/common/src/main/java/com/dfsek/terra/config/factories/TreeFactory.java index d1bd32ede..717ad33cd 100644 --- a/common/src/main/java/com/dfsek/terra/config/factories/TreeFactory.java +++ b/common/src/main/java/com/dfsek/terra/config/factories/TreeFactory.java @@ -1,9 +1,9 @@ package com.dfsek.terra.config.factories; -import com.dfsek.terra.api.platform.TerraPlugin; +import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.world.tree.Tree; import com.dfsek.terra.config.templates.TreeTemplate; -import com.dfsek.terra.population.items.tree.TerraTree; +import com.dfsek.terra.world.population.items.tree.TerraTree; public class TreeFactory implements TerraFactory { @Override diff --git a/common/src/main/java/com/dfsek/terra/config/files/ExceptionalConsumer.java b/common/src/main/java/com/dfsek/terra/config/fileloaders/ExceptionalConsumer.java similarity index 78% rename from common/src/main/java/com/dfsek/terra/config/files/ExceptionalConsumer.java rename to common/src/main/java/com/dfsek/terra/config/fileloaders/ExceptionalConsumer.java index 9705afe78..9037f4d00 100644 --- a/common/src/main/java/com/dfsek/terra/config/files/ExceptionalConsumer.java +++ b/common/src/main/java/com/dfsek/terra/config/fileloaders/ExceptionalConsumer.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.config.files; +package com.dfsek.terra.config.fileloaders; import com.dfsek.tectonic.exception.ConfigException; diff --git a/common/src/main/java/com/dfsek/terra/config/files/FolderLoader.java b/common/src/main/java/com/dfsek/terra/config/fileloaders/FolderLoader.java similarity index 96% rename from common/src/main/java/com/dfsek/terra/config/files/FolderLoader.java rename to common/src/main/java/com/dfsek/terra/config/fileloaders/FolderLoader.java index 6c5a483dd..f54708bff 100644 --- a/common/src/main/java/com/dfsek/terra/config/files/FolderLoader.java +++ b/common/src/main/java/com/dfsek/terra/config/fileloaders/FolderLoader.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.config.files; +package com.dfsek.terra.config.fileloaders; import java.io.File; import java.io.FileInputStream; diff --git a/common/src/main/java/com/dfsek/terra/config/files/Loader.java b/common/src/main/java/com/dfsek/terra/config/fileloaders/Loader.java similarity index 97% rename from common/src/main/java/com/dfsek/terra/config/files/Loader.java rename to common/src/main/java/com/dfsek/terra/config/fileloaders/Loader.java index 5c06ec7ac..b6d2a4b8a 100644 --- a/common/src/main/java/com/dfsek/terra/config/files/Loader.java +++ b/common/src/main/java/com/dfsek/terra/config/fileloaders/Loader.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.config.files; +package com.dfsek.terra.config.fileloaders; import com.dfsek.tectonic.exception.ConfigException; import com.dfsek.terra.api.util.GlueList; diff --git a/common/src/main/java/com/dfsek/terra/config/files/ZIPLoader.java b/common/src/main/java/com/dfsek/terra/config/fileloaders/ZIPLoader.java similarity index 96% rename from common/src/main/java/com/dfsek/terra/config/files/ZIPLoader.java rename to common/src/main/java/com/dfsek/terra/config/fileloaders/ZIPLoader.java index 7e4003e77..d10449a37 100644 --- a/common/src/main/java/com/dfsek/terra/config/files/ZIPLoader.java +++ b/common/src/main/java/com/dfsek/terra/config/fileloaders/ZIPLoader.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.config.files; +package com.dfsek.terra.config.fileloaders; import java.io.IOException; import java.io.InputStream; diff --git a/common/src/main/java/com/dfsek/terra/config/lang/LangUtil.java b/common/src/main/java/com/dfsek/terra/config/lang/LangUtil.java index a7f24fc45..e1f9a369b 100644 --- a/common/src/main/java/com/dfsek/terra/config/lang/LangUtil.java +++ b/common/src/main/java/com/dfsek/terra/config/lang/LangUtil.java @@ -1,9 +1,8 @@ package com.dfsek.terra.config.lang; +import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.language.Language; import com.dfsek.terra.api.platform.CommandSender; -import com.dfsek.terra.api.platform.TerraPlugin; -import com.dfsek.terra.debug.Debug; import java.io.File; import java.io.IOException; @@ -24,9 +23,8 @@ public final class LangUtil { try(JarFile jar = new JarFile(new File(TerraPlugin.class.getProtectionDomain().getCodeSource().getLocation().toURI()))) { copyResourcesToDirectory(jar, "lang", file.toString()); } catch(IOException | URISyntaxException e) { - Debug.error("Failed to dump language files!"); - e.printStackTrace(); - Debug.error("Report this to Terra!"); + main.getDebugLogger().error("Failed to dump language files!"); + main.getDebugLogger().stack(e); } try { File file1 = new File(file, langID + ".yml"); diff --git a/common/src/main/java/com/dfsek/terra/config/loaders/Types.java b/common/src/main/java/com/dfsek/terra/config/loaders/Types.java index 206c6226a..bb58ce950 100644 --- a/common/src/main/java/com/dfsek/terra/config/loaders/Types.java +++ b/common/src/main/java/com/dfsek/terra/config/loaders/Types.java @@ -3,10 +3,10 @@ package com.dfsek.terra.config.loaders; import com.dfsek.terra.api.math.ProbabilityCollection; import com.dfsek.terra.api.platform.block.BlockData; import com.dfsek.terra.api.platform.block.MaterialData; -import com.dfsek.terra.api.world.biome.TerraBiome; import com.dfsek.terra.api.world.flora.Flora; import com.dfsek.terra.api.world.palette.Palette; import com.dfsek.terra.api.world.tree.Tree; +import com.dfsek.terra.biome.TerraBiome; import java.lang.reflect.Type; import java.util.Map; diff --git a/common/src/main/java/com/dfsek/terra/config/loaders/config/FloraLayerLoader.java b/common/src/main/java/com/dfsek/terra/config/loaders/config/FloraLayerLoader.java index 6939a9777..591b3ab15 100644 --- a/common/src/main/java/com/dfsek/terra/config/loaders/config/FloraLayerLoader.java +++ b/common/src/main/java/com/dfsek/terra/config/loaders/config/FloraLayerLoader.java @@ -9,8 +9,8 @@ import com.dfsek.terra.api.math.Range; import com.dfsek.terra.api.math.noise.samplers.FastNoiseLite; import com.dfsek.terra.api.world.flora.Flora; import com.dfsek.terra.config.loaders.Types; -import com.dfsek.terra.generation.config.NoiseBuilder; -import com.dfsek.terra.population.items.flora.FloraLayer; +import com.dfsek.terra.world.generation.config.NoiseBuilder; +import com.dfsek.terra.world.population.items.flora.FloraLayer; import java.lang.reflect.Type; import java.util.Map; diff --git a/common/src/main/java/com/dfsek/terra/config/loaders/config/NoiseBuilderLoader.java b/common/src/main/java/com/dfsek/terra/config/loaders/config/NoiseBuilderLoader.java index 2381a981e..3b3b177f9 100644 --- a/common/src/main/java/com/dfsek/terra/config/loaders/config/NoiseBuilderLoader.java +++ b/common/src/main/java/com/dfsek/terra/config/loaders/config/NoiseBuilderLoader.java @@ -7,7 +7,7 @@ import com.dfsek.tectonic.loading.ConfigLoader; import com.dfsek.tectonic.loading.TypeLoader; import com.dfsek.terra.api.math.noise.samplers.FastNoiseLite; import com.dfsek.terra.api.math.noise.samplers.Normalizer; -import com.dfsek.terra.generation.config.NoiseBuilder; +import com.dfsek.terra.world.generation.config.NoiseBuilder; import java.lang.reflect.Type; import java.util.Map; diff --git a/common/src/main/java/com/dfsek/terra/config/loaders/config/OreConfigLoader.java b/common/src/main/java/com/dfsek/terra/config/loaders/config/OreConfigLoader.java index 595cf28de..548da2181 100644 --- a/common/src/main/java/com/dfsek/terra/config/loaders/config/OreConfigLoader.java +++ b/common/src/main/java/com/dfsek/terra/config/loaders/config/OreConfigLoader.java @@ -3,7 +3,7 @@ package com.dfsek.terra.config.loaders.config; import com.dfsek.tectonic.loading.ConfigLoader; import com.dfsek.tectonic.loading.TypeLoader; import com.dfsek.terra.api.math.Range; -import com.dfsek.terra.population.items.ores.OreConfig; +import com.dfsek.terra.world.population.items.ores.OreConfig; import java.lang.reflect.Type; import java.util.Map; diff --git a/common/src/main/java/com/dfsek/terra/config/loaders/config/OreHolderLoader.java b/common/src/main/java/com/dfsek/terra/config/loaders/config/OreHolderLoader.java index 9986391c8..7f66ee778 100644 --- a/common/src/main/java/com/dfsek/terra/config/loaders/config/OreHolderLoader.java +++ b/common/src/main/java/com/dfsek/terra/config/loaders/config/OreHolderLoader.java @@ -3,9 +3,9 @@ package com.dfsek.terra.config.loaders.config; import com.dfsek.tectonic.exception.LoadException; import com.dfsek.tectonic.loading.ConfigLoader; import com.dfsek.tectonic.loading.TypeLoader; -import com.dfsek.terra.population.items.ores.Ore; -import com.dfsek.terra.population.items.ores.OreConfig; -import com.dfsek.terra.population.items.ores.OreHolder; +import com.dfsek.terra.world.population.items.ores.Ore; +import com.dfsek.terra.world.population.items.ores.OreConfig; +import com.dfsek.terra.world.population.items.ores.OreHolder; import java.lang.reflect.Type; import java.util.Map; diff --git a/common/src/main/java/com/dfsek/terra/config/loaders/config/TreeLayerLoader.java b/common/src/main/java/com/dfsek/terra/config/loaders/config/TreeLayerLoader.java index 39237229d..40e0c646c 100644 --- a/common/src/main/java/com/dfsek/terra/config/loaders/config/TreeLayerLoader.java +++ b/common/src/main/java/com/dfsek/terra/config/loaders/config/TreeLayerLoader.java @@ -10,8 +10,8 @@ import com.dfsek.terra.api.math.Range; import com.dfsek.terra.api.math.noise.samplers.FastNoiseLite; import com.dfsek.terra.api.world.tree.Tree; import com.dfsek.terra.config.loaders.Types; -import com.dfsek.terra.generation.config.NoiseBuilder; -import com.dfsek.terra.population.items.tree.TreeLayer; +import com.dfsek.terra.world.generation.config.NoiseBuilder; +import com.dfsek.terra.world.population.items.tree.TreeLayer; import java.lang.reflect.Type; import java.util.Map; diff --git a/common/src/main/java/com/dfsek/terra/config/loaders/config/biome/BiomeProviderBuilderLoader.java b/common/src/main/java/com/dfsek/terra/config/loaders/config/biome/BiomeProviderBuilderLoader.java index 294ed15f6..835d79cbd 100644 --- a/common/src/main/java/com/dfsek/terra/config/loaders/config/biome/BiomeProviderBuilderLoader.java +++ b/common/src/main/java/com/dfsek/terra/config/loaders/config/biome/BiomeProviderBuilderLoader.java @@ -3,19 +3,18 @@ package com.dfsek.terra.config.loaders.config.biome; import com.dfsek.tectonic.exception.LoadException; import com.dfsek.tectonic.loading.ConfigLoader; import com.dfsek.tectonic.loading.TypeLoader; -import com.dfsek.terra.api.platform.TerraPlugin; -import com.dfsek.terra.api.world.biome.TerraBiome; +import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.biome.BiomeProvider; import com.dfsek.terra.biome.ImageBiomeProvider; import com.dfsek.terra.biome.StandardBiomeProvider; +import com.dfsek.terra.biome.TerraBiome; import com.dfsek.terra.biome.pipeline.BiomePipeline; import com.dfsek.terra.biome.pipeline.source.BiomeSource; import com.dfsek.terra.biome.pipeline.stages.SeededBuilder; -import com.dfsek.terra.config.files.Loader; +import com.dfsek.terra.config.fileloaders.Loader; import com.dfsek.terra.config.loaders.config.NoiseBuilderLoader; -import com.dfsek.terra.debug.Debug; -import com.dfsek.terra.generation.config.NoiseBuilder; import com.dfsek.terra.registry.TerraRegistry; +import com.dfsek.terra.world.generation.config.NoiseBuilder; import javax.imageio.ImageIO; import java.awt.image.BufferedImage; @@ -66,7 +65,7 @@ public class BiomeProviderBuilderLoader implements TypeLoader source = new SourceBuilderLoader().load(BiomeSource.class, pipeline.get("source"), loader); BiomePipeline biomePipeline = pipelineBuilder.build(source.build(seed), seed); - Debug.info("Biome Pipeline scale factor: " + biomePipeline.getSize()); + main.getDebugLogger().info("Biome Pipeline scale factor: " + biomePipeline.getSize()); return biomePipeline; }, main); diff --git a/common/src/main/java/com/dfsek/terra/config/loaders/config/biome/SourceBuilderLoader.java b/common/src/main/java/com/dfsek/terra/config/loaders/config/biome/SourceBuilderLoader.java index 93f3d021f..a62b8b77d 100644 --- a/common/src/main/java/com/dfsek/terra/config/loaders/config/biome/SourceBuilderLoader.java +++ b/common/src/main/java/com/dfsek/terra/config/loaders/config/biome/SourceBuilderLoader.java @@ -4,13 +4,13 @@ import com.dfsek.tectonic.exception.LoadException; import com.dfsek.tectonic.loading.ConfigLoader; import com.dfsek.tectonic.loading.TypeLoader; import com.dfsek.terra.api.math.ProbabilityCollection; -import com.dfsek.terra.api.world.biome.TerraBiome; +import com.dfsek.terra.biome.TerraBiome; import com.dfsek.terra.biome.pipeline.source.BiomeSource; import com.dfsek.terra.biome.pipeline.source.RandomSource; import com.dfsek.terra.biome.pipeline.stages.SeededBuilder; import com.dfsek.terra.config.loaders.Types; import com.dfsek.terra.config.loaders.config.NoiseBuilderLoader; -import com.dfsek.terra.generation.config.NoiseBuilder; +import com.dfsek.terra.world.generation.config.NoiseBuilder; import java.lang.reflect.Type; import java.util.Map; diff --git a/common/src/main/java/com/dfsek/terra/config/loaders/config/biome/StageBuilderLoader.java b/common/src/main/java/com/dfsek/terra/config/loaders/config/biome/StageBuilderLoader.java index 5e041eb0c..d2a9bba82 100644 --- a/common/src/main/java/com/dfsek/terra/config/loaders/config/biome/StageBuilderLoader.java +++ b/common/src/main/java/com/dfsek/terra/config/loaders/config/biome/StageBuilderLoader.java @@ -4,7 +4,7 @@ import com.dfsek.tectonic.exception.LoadException; import com.dfsek.tectonic.loading.ConfigLoader; import com.dfsek.tectonic.loading.TypeLoader; import com.dfsek.terra.api.math.ProbabilityCollection; -import com.dfsek.terra.api.world.biome.TerraBiome; +import com.dfsek.terra.biome.TerraBiome; import com.dfsek.terra.biome.pipeline.expand.FractalExpander; import com.dfsek.terra.biome.pipeline.mutator.BorderListMutator; import com.dfsek.terra.biome.pipeline.mutator.BorderMutator; @@ -18,7 +18,7 @@ import com.dfsek.terra.biome.pipeline.stages.Stage; import com.dfsek.terra.config.loaders.SelfProbabilityCollectionLoader; import com.dfsek.terra.config.loaders.Types; import com.dfsek.terra.config.loaders.config.NoiseBuilderLoader; -import com.dfsek.terra.generation.config.NoiseBuilder; +import com.dfsek.terra.world.generation.config.NoiseBuilder; import java.lang.reflect.Type; import java.util.HashMap; diff --git a/common/src/main/java/com/dfsek/terra/config/loaders/palette/PaletteHolderLoader.java b/common/src/main/java/com/dfsek/terra/config/loaders/palette/PaletteHolderLoader.java index 6b5fc82a8..a0e7929e0 100644 --- a/common/src/main/java/com/dfsek/terra/config/loaders/palette/PaletteHolderLoader.java +++ b/common/src/main/java/com/dfsek/terra/config/loaders/palette/PaletteHolderLoader.java @@ -5,8 +5,8 @@ import com.dfsek.tectonic.loading.ConfigLoader; import com.dfsek.tectonic.loading.TypeLoader; import com.dfsek.terra.api.platform.block.BlockData; import com.dfsek.terra.api.world.palette.Palette; -import com.dfsek.terra.biome.palette.PaletteHolder; -import com.dfsek.terra.biome.palette.PaletteHolderBuilder; +import com.dfsek.terra.api.world.palette.holder.PaletteHolder; +import com.dfsek.terra.api.world.palette.holder.PaletteHolderBuilder; import com.dfsek.terra.config.loaders.Types; import java.lang.reflect.Type; diff --git a/common/src/main/java/com/dfsek/terra/config/loaders/palette/PaletteLayerLoader.java b/common/src/main/java/com/dfsek/terra/config/loaders/palette/PaletteLayerLoader.java index 2ac7c4718..5d7da1bb9 100644 --- a/common/src/main/java/com/dfsek/terra/config/loaders/palette/PaletteLayerLoader.java +++ b/common/src/main/java/com/dfsek/terra/config/loaders/palette/PaletteLayerLoader.java @@ -6,18 +6,18 @@ import com.dfsek.tectonic.loading.TypeLoader; import com.dfsek.terra.api.math.ProbabilityCollection; import com.dfsek.terra.api.math.noise.samplers.NoiseSampler; import com.dfsek.terra.api.platform.block.BlockData; -import com.dfsek.terra.biome.palette.PaletteLayer; +import com.dfsek.terra.api.world.palette.holder.PaletteLayerHolder; import com.dfsek.terra.config.loaders.Types; import com.dfsek.terra.config.loaders.config.NoiseBuilderLoader; -import com.dfsek.terra.generation.config.NoiseBuilder; +import com.dfsek.terra.world.generation.config.NoiseBuilder; import java.lang.reflect.Type; import java.util.Map; @SuppressWarnings("unchecked") -public class PaletteLayerLoader implements TypeLoader { +public class PaletteLayerLoader implements TypeLoader { @Override - public PaletteLayer load(Type type, Object o, ConfigLoader configLoader) throws LoadException { + public PaletteLayerHolder load(Type type, Object o, ConfigLoader configLoader) throws LoadException { Map map = (Map) o; ProbabilityCollection collection = (ProbabilityCollection) configLoader.loadType(Types.BLOCK_DATA_PROBABILITY_COLLECTION_TYPE, map.get("materials")); @@ -27,6 +27,6 @@ public class PaletteLayerLoader implements TypeLoader { } if(collection == null) throw new LoadException("Collection is null: " + map.get("materials")); - return new PaletteLayer(collection, sampler, (Integer) map.get("layers")); + return new PaletteLayerHolder(collection, sampler, (Integer) map.get("layers")); } } diff --git a/common/src/main/java/com/dfsek/terra/config/base/ConfigPack.java b/common/src/main/java/com/dfsek/terra/config/pack/ConfigPack.java similarity index 95% rename from common/src/main/java/com/dfsek/terra/config/base/ConfigPack.java rename to common/src/main/java/com/dfsek/terra/config/pack/ConfigPack.java index 8bc8e3cc2..9d573e4b9 100644 --- a/common/src/main/java/com/dfsek/terra/config/base/ConfigPack.java +++ b/common/src/main/java/com/dfsek/terra/config/pack/ConfigPack.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.config.base; +package com.dfsek.terra.config.pack; import com.dfsek.tectonic.abstraction.AbstractConfigLoader; import com.dfsek.tectonic.exception.ConfigException; @@ -6,14 +6,14 @@ import com.dfsek.tectonic.exception.LoadException; import com.dfsek.tectonic.loading.ConfigLoader; import com.dfsek.tectonic.loading.TypeRegistry; import com.dfsek.terra.api.LoaderRegistrar; -import com.dfsek.terra.api.platform.TerraPlugin; +import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.structures.loot.LootTable; import com.dfsek.terra.api.structures.script.StructureScript; -import com.dfsek.terra.api.world.biome.TerraBiome; import com.dfsek.terra.api.world.flora.Flora; import com.dfsek.terra.api.world.palette.Palette; import com.dfsek.terra.api.world.tree.Tree; import com.dfsek.terra.biome.BiomeProvider; +import com.dfsek.terra.biome.TerraBiome; import com.dfsek.terra.config.exception.FileMissingException; import com.dfsek.terra.config.factories.BiomeFactory; import com.dfsek.terra.config.factories.FloraFactory; @@ -22,9 +22,9 @@ import com.dfsek.terra.config.factories.PaletteFactory; import com.dfsek.terra.config.factories.StructureFactory; import com.dfsek.terra.config.factories.TerraFactory; import com.dfsek.terra.config.factories.TreeFactory; -import com.dfsek.terra.config.files.FolderLoader; -import com.dfsek.terra.config.files.Loader; -import com.dfsek.terra.config.files.ZIPLoader; +import com.dfsek.terra.config.fileloaders.FolderLoader; +import com.dfsek.terra.config.fileloaders.Loader; +import com.dfsek.terra.config.fileloaders.ZIPLoader; import com.dfsek.terra.config.lang.LangUtil; import com.dfsek.terra.config.loaders.config.biome.BiomeProviderBuilderLoader; import com.dfsek.terra.config.templates.AbstractableTemplate; @@ -34,9 +34,6 @@ import com.dfsek.terra.config.templates.OreTemplate; import com.dfsek.terra.config.templates.PaletteTemplate; import com.dfsek.terra.config.templates.StructureTemplate; import com.dfsek.terra.config.templates.TreeTemplate; -import com.dfsek.terra.generation.math.SamplerCache; -import com.dfsek.terra.population.items.TerraStructure; -import com.dfsek.terra.population.items.ores.Ore; import com.dfsek.terra.registry.BiomeRegistry; import com.dfsek.terra.registry.FloraRegistry; import com.dfsek.terra.registry.LootRegistry; @@ -46,6 +43,9 @@ import com.dfsek.terra.registry.ScriptRegistry; import com.dfsek.terra.registry.StructureRegistry; import com.dfsek.terra.registry.TerraRegistry; import com.dfsek.terra.registry.TreeRegistry; +import com.dfsek.terra.world.generation.math.SamplerCache; +import com.dfsek.terra.world.population.items.TerraStructure; +import com.dfsek.terra.world.population.items.ores.Ore; import org.apache.commons.io.IOUtils; import org.json.simple.parser.ParseException; import parsii.eval.Scope; diff --git a/common/src/main/java/com/dfsek/terra/config/base/ConfigPackTemplate.java b/common/src/main/java/com/dfsek/terra/config/pack/ConfigPackTemplate.java similarity index 96% rename from common/src/main/java/com/dfsek/terra/config/base/ConfigPackTemplate.java rename to common/src/main/java/com/dfsek/terra/config/pack/ConfigPackTemplate.java index 3172bac12..0008b3911 100644 --- a/common/src/main/java/com/dfsek/terra/config/base/ConfigPackTemplate.java +++ b/common/src/main/java/com/dfsek/terra/config/pack/ConfigPackTemplate.java @@ -1,10 +1,10 @@ -package com.dfsek.terra.config.base; +package com.dfsek.terra.config.pack; import com.dfsek.tectonic.annotations.Default; import com.dfsek.tectonic.annotations.Value; import com.dfsek.tectonic.config.ConfigTemplate; import com.dfsek.terra.biome.BiomeProvider; -import com.dfsek.terra.generation.config.NoiseBuilder; +import com.dfsek.terra.world.generation.config.NoiseBuilder; import java.util.HashMap; import java.util.Map; diff --git a/common/src/main/java/com/dfsek/terra/config/templates/BiomeTemplate.java b/common/src/main/java/com/dfsek/terra/config/templates/BiomeTemplate.java index e1d04fb9a..080e3df97 100644 --- a/common/src/main/java/com/dfsek/terra/config/templates/BiomeTemplate.java +++ b/common/src/main/java/com/dfsek/terra/config/templates/BiomeTemplate.java @@ -5,23 +5,23 @@ import com.dfsek.tectonic.annotations.Default; import com.dfsek.tectonic.annotations.Value; import com.dfsek.tectonic.config.ValidatedConfigTemplate; import com.dfsek.tectonic.exception.ValidationException; +import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.math.ProbabilityCollection; import com.dfsek.terra.api.math.noise.samplers.FastNoiseLite; import com.dfsek.terra.api.math.parsii.BlankFunction; -import com.dfsek.terra.api.platform.TerraPlugin; import com.dfsek.terra.api.platform.block.BlockData; import com.dfsek.terra.api.platform.block.MaterialData; import com.dfsek.terra.api.platform.world.Biome; import com.dfsek.terra.api.util.GlueList; import com.dfsek.terra.api.world.palette.Palette; -import com.dfsek.terra.biome.palette.PaletteHolder; -import com.dfsek.terra.biome.palette.SinglePalette; -import com.dfsek.terra.config.base.ConfigPack; -import com.dfsek.terra.generation.config.NoiseBuilder; -import com.dfsek.terra.population.items.TerraStructure; -import com.dfsek.terra.population.items.flora.FloraLayer; -import com.dfsek.terra.population.items.ores.OreHolder; -import com.dfsek.terra.population.items.tree.TreeLayer; +import com.dfsek.terra.api.world.palette.SinglePalette; +import com.dfsek.terra.api.world.palette.holder.PaletteHolder; +import com.dfsek.terra.config.pack.ConfigPack; +import com.dfsek.terra.world.generation.config.NoiseBuilder; +import com.dfsek.terra.world.population.items.TerraStructure; +import com.dfsek.terra.world.population.items.flora.FloraLayer; +import com.dfsek.terra.world.population.items.ores.OreHolder; +import com.dfsek.terra.world.population.items.tree.TreeLayer; import parsii.eval.Parser; import parsii.eval.Scope; import parsii.tokenizer.ParseException; diff --git a/common/src/main/java/com/dfsek/terra/config/templates/FloraTemplate.java b/common/src/main/java/com/dfsek/terra/config/templates/FloraTemplate.java index 19d91544e..4ca624764 100644 --- a/common/src/main/java/com/dfsek/terra/config/templates/FloraTemplate.java +++ b/common/src/main/java/com/dfsek/terra/config/templates/FloraTemplate.java @@ -3,9 +3,9 @@ package com.dfsek.terra.config.templates; import com.dfsek.tectonic.annotations.Abstractable; import com.dfsek.tectonic.annotations.Default; import com.dfsek.tectonic.annotations.Value; -import com.dfsek.terra.biome.palette.PaletteLayer; -import com.dfsek.terra.population.items.flora.TerraFlora; +import com.dfsek.terra.api.world.palette.holder.PaletteLayerHolder; import com.dfsek.terra.util.MaterialSet; +import com.dfsek.terra.world.population.items.flora.TerraFlora; import java.util.List; @@ -41,7 +41,7 @@ public class FloraTemplate extends AbstractableTemplate { @Value("layers") @Abstractable - private List palette; + private List palette; @Value("physics") @Abstractable @@ -96,7 +96,7 @@ public class FloraTemplate extends AbstractableTemplate { return id; } - public List getFloraPalette() { + public List getFloraPalette() { return palette; } diff --git a/common/src/main/java/com/dfsek/terra/config/templates/OreTemplate.java b/common/src/main/java/com/dfsek/terra/config/templates/OreTemplate.java index 64465e5c7..9311baedf 100644 --- a/common/src/main/java/com/dfsek/terra/config/templates/OreTemplate.java +++ b/common/src/main/java/com/dfsek/terra/config/templates/OreTemplate.java @@ -5,8 +5,8 @@ import com.dfsek.tectonic.annotations.Default; import com.dfsek.tectonic.annotations.Value; import com.dfsek.terra.api.math.Range; import com.dfsek.terra.api.platform.block.BlockData; -import com.dfsek.terra.population.items.ores.Ore; import com.dfsek.terra.util.MaterialSet; +import com.dfsek.terra.world.population.items.ores.Ore; @SuppressWarnings({"unused", "FieldMayBeFinal"}) public class OreTemplate extends AbstractableTemplate { diff --git a/common/src/main/java/com/dfsek/terra/config/templates/PaletteTemplate.java b/common/src/main/java/com/dfsek/terra/config/templates/PaletteTemplate.java index 84dc949e5..99daf7241 100644 --- a/common/src/main/java/com/dfsek/terra/config/templates/PaletteTemplate.java +++ b/common/src/main/java/com/dfsek/terra/config/templates/PaletteTemplate.java @@ -4,8 +4,8 @@ import com.dfsek.tectonic.annotations.Abstractable; import com.dfsek.tectonic.annotations.Default; import com.dfsek.tectonic.annotations.Value; import com.dfsek.terra.api.math.noise.samplers.FastNoiseLite; -import com.dfsek.terra.biome.palette.PaletteLayer; -import com.dfsek.terra.generation.config.NoiseBuilder; +import com.dfsek.terra.api.world.palette.holder.PaletteLayerHolder; +import com.dfsek.terra.world.generation.config.NoiseBuilder; import java.util.List; @@ -21,7 +21,7 @@ public class PaletteTemplate extends AbstractableTemplate { @Value("layers") @Abstractable - private List palette; + private List palette; public PaletteTemplate() { noise.setType(FastNoiseLite.NoiseType.WhiteNoise); @@ -32,7 +32,7 @@ public class PaletteTemplate extends AbstractableTemplate { return id; } - public List getPalette() { + public List getPalette() { return palette; } diff --git a/common/src/main/java/com/dfsek/terra/debug/Debug.java b/common/src/main/java/com/dfsek/terra/debug/Debug.java deleted file mode 100644 index 43a700df2..000000000 --- a/common/src/main/java/com/dfsek/terra/debug/Debug.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.dfsek.terra.debug; - -import java.util.logging.Logger; - -public class Debug { - private static Logger logger; - private static boolean debug = false; - - public static boolean isDebug() { - return debug; - } - - public static void setDebug(boolean debug) { - Debug.debug = debug; - } - - public static void setLogger(Logger logger) { - Debug.logger = logger; - } - - public static void info(String message) { - if(debug) logger.info(message); - } - - public static void warn(String message) { - if(debug) logger.warning(message); - } - - public static void error(String message) { - if(debug) logger.severe(message); - } - - public static void stack(Exception e) { - if(debug) e.printStackTrace(); - } -} diff --git a/common/src/main/java/com/dfsek/terra/debug/DebugLogger.java b/common/src/main/java/com/dfsek/terra/debug/DebugLogger.java new file mode 100644 index 000000000..c907fab9f --- /dev/null +++ b/common/src/main/java/com/dfsek/terra/debug/DebugLogger.java @@ -0,0 +1,36 @@ +package com.dfsek.terra.debug; + +import java.util.logging.Logger; + +public class DebugLogger { + private final Logger logger; + private boolean debug = false; + + public DebugLogger(Logger logger) { + this.logger = logger; + } + + public boolean isDebug() { + return debug; + } + + public void setDebug(boolean debug) { + this.debug = debug; + } + + public void info(String message) { + if(debug) logger.info(message); + } + + public void warn(String message) { + if(debug) logger.warning(message); + } + + public void error(String message) { + if(debug) logger.severe(message); + } + + public void stack(Exception e) { + if(debug) e.printStackTrace(); + } +} diff --git a/common/src/main/java/com/dfsek/terra/debug/gui/DebugFrame.java b/common/src/main/java/com/dfsek/terra/debug/gui/DebugFrame.java index cce1b0a80..373243cb7 100644 --- a/common/src/main/java/com/dfsek/terra/debug/gui/DebugFrame.java +++ b/common/src/main/java/com/dfsek/terra/debug/gui/DebugFrame.java @@ -1,6 +1,6 @@ package com.dfsek.terra.debug.gui; -import com.dfsek.terra.api.platform.TerraPlugin; +import com.dfsek.terra.api.core.TerraPlugin; import javax.swing.*; import java.awt.*; diff --git a/common/src/main/java/com/dfsek/terra/debug/gui/DebugGUI.java b/common/src/main/java/com/dfsek/terra/debug/gui/DebugGUI.java index 77a22e76e..3ddbae7e7 100644 --- a/common/src/main/java/com/dfsek/terra/debug/gui/DebugGUI.java +++ b/common/src/main/java/com/dfsek/terra/debug/gui/DebugGUI.java @@ -1,6 +1,6 @@ package com.dfsek.terra.debug.gui; -import com.dfsek.terra.api.platform.TerraPlugin; +import com.dfsek.terra.api.core.TerraPlugin; import javax.swing.*; import java.awt.*; @@ -18,7 +18,7 @@ public class DebugGUI extends Thread { @Override public void run() { - DebugFrame frame = new DebugFrame(img, "Image2Map Debug GUI", main); + DebugFrame frame = new DebugFrame(img, "Image2Map DebugLogger GUI", main); frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); frame.setSize(1000, 1000); frame.setResizable(false); diff --git a/common/src/main/java/com/dfsek/terra/registry/BiomeRegistry.java b/common/src/main/java/com/dfsek/terra/registry/BiomeRegistry.java index 2781b59f1..3758c178c 100644 --- a/common/src/main/java/com/dfsek/terra/registry/BiomeRegistry.java +++ b/common/src/main/java/com/dfsek/terra/registry/BiomeRegistry.java @@ -1,6 +1,6 @@ package com.dfsek.terra.registry; -import com.dfsek.terra.api.world.biome.TerraBiome; +import com.dfsek.terra.biome.TerraBiome; public class BiomeRegistry extends TerraRegistry { } diff --git a/common/src/main/java/com/dfsek/terra/registry/ConfigRegistry.java b/common/src/main/java/com/dfsek/terra/registry/ConfigRegistry.java index 0fdc6163a..4f2dd1dd9 100644 --- a/common/src/main/java/com/dfsek/terra/registry/ConfigRegistry.java +++ b/common/src/main/java/com/dfsek/terra/registry/ConfigRegistry.java @@ -1,9 +1,8 @@ package com.dfsek.terra.registry; import com.dfsek.tectonic.exception.ConfigException; -import com.dfsek.terra.api.platform.TerraPlugin; -import com.dfsek.terra.config.base.ConfigPack; -import com.dfsek.terra.debug.Debug; +import com.dfsek.terra.api.core.TerraPlugin; +import com.dfsek.terra.config.pack.ConfigPack; import java.io.File; import java.io.IOException; @@ -32,7 +31,7 @@ public class ConfigRegistry extends TerraRegistry { } for(File zip : packsFolder.listFiles(file -> file.getName().endsWith(".zip") || file.getName().endsWith(".jar") || file.getName().endsWith(".com.dfsek.terra"))) { try { - Debug.info("Loading ZIP archive: " + zip.getName()); + main.getDebugLogger().info("Loading ZIP archive: " + zip.getName()); load(new ZipFile(zip), main); } catch(IOException | ConfigException e) { e.printStackTrace(); diff --git a/common/src/main/java/com/dfsek/terra/registry/FloraRegistry.java b/common/src/main/java/com/dfsek/terra/registry/FloraRegistry.java index 194948b45..0645a1dd3 100644 --- a/common/src/main/java/com/dfsek/terra/registry/FloraRegistry.java +++ b/common/src/main/java/com/dfsek/terra/registry/FloraRegistry.java @@ -1,11 +1,11 @@ package com.dfsek.terra.registry; -import com.dfsek.terra.api.platform.TerraPlugin; +import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.platform.block.BlockData; import com.dfsek.terra.api.platform.block.MaterialData; import com.dfsek.terra.api.world.flora.Flora; -import com.dfsek.terra.population.items.flora.ConstantFlora; import com.dfsek.terra.util.MaterialSet; +import com.dfsek.terra.world.population.items.flora.ConstantFlora; import java.util.Arrays; import java.util.Collections; diff --git a/common/src/main/java/com/dfsek/terra/registry/OreRegistry.java b/common/src/main/java/com/dfsek/terra/registry/OreRegistry.java index b5abf80d1..4290497bc 100644 --- a/common/src/main/java/com/dfsek/terra/registry/OreRegistry.java +++ b/common/src/main/java/com/dfsek/terra/registry/OreRegistry.java @@ -1,6 +1,6 @@ package com.dfsek.terra.registry; -import com.dfsek.terra.population.items.ores.Ore; +import com.dfsek.terra.world.population.items.ores.Ore; public class OreRegistry extends TerraRegistry { } diff --git a/common/src/main/java/com/dfsek/terra/registry/PaletteRegistry.java b/common/src/main/java/com/dfsek/terra/registry/PaletteRegistry.java index e5b5dbeb9..eb0a2ec10 100644 --- a/common/src/main/java/com/dfsek/terra/registry/PaletteRegistry.java +++ b/common/src/main/java/com/dfsek/terra/registry/PaletteRegistry.java @@ -1,9 +1,9 @@ package com.dfsek.terra.registry; -import com.dfsek.terra.api.platform.TerraPlugin; +import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.platform.block.BlockData; import com.dfsek.terra.api.world.palette.Palette; -import com.dfsek.terra.biome.palette.SinglePalette; +import com.dfsek.terra.api.world.palette.SinglePalette; public class PaletteRegistry extends TerraRegistry> { private final TerraPlugin main; diff --git a/common/src/main/java/com/dfsek/terra/registry/StructureRegistry.java b/common/src/main/java/com/dfsek/terra/registry/StructureRegistry.java index a66878751..092241a43 100644 --- a/common/src/main/java/com/dfsek/terra/registry/StructureRegistry.java +++ b/common/src/main/java/com/dfsek/terra/registry/StructureRegistry.java @@ -1,6 +1,6 @@ package com.dfsek.terra.registry; -import com.dfsek.terra.population.items.TerraStructure; +import com.dfsek.terra.world.population.items.TerraStructure; public class StructureRegistry extends TerraRegistry { } diff --git a/common/src/main/java/com/dfsek/terra/registry/TreeRegistry.java b/common/src/main/java/com/dfsek/terra/registry/TreeRegistry.java index 62d9b8262..fd63d50b8 100644 --- a/common/src/main/java/com/dfsek/terra/registry/TreeRegistry.java +++ b/common/src/main/java/com/dfsek/terra/registry/TreeRegistry.java @@ -1,7 +1,7 @@ package com.dfsek.terra.registry; +import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.math.vector.Location; -import com.dfsek.terra.api.platform.TerraPlugin; import com.dfsek.terra.api.platform.block.BlockFace; import com.dfsek.terra.api.platform.block.MaterialData; import com.dfsek.terra.api.world.tree.Tree; diff --git a/common/src/main/java/com/dfsek/terra/util/PaletteUtil.java b/common/src/main/java/com/dfsek/terra/util/PaletteUtil.java index 7a2b5fa93..77478effd 100644 --- a/common/src/main/java/com/dfsek/terra/util/PaletteUtil.java +++ b/common/src/main/java/com/dfsek/terra/util/PaletteUtil.java @@ -3,9 +3,9 @@ package com.dfsek.terra.util; import com.dfsek.terra.api.math.MathUtil; import com.dfsek.terra.api.platform.block.BlockData; import com.dfsek.terra.api.world.palette.Palette; -import com.dfsek.terra.biome.palette.PaletteHolder; +import com.dfsek.terra.api.world.palette.holder.PaletteHolder; import com.dfsek.terra.config.templates.BiomeTemplate; -import com.dfsek.terra.generation.math.Sampler; +import com.dfsek.terra.world.generation.math.Sampler; public final class PaletteUtil { public static Palette getPalette(int x, int y, int z, BiomeTemplate c, Sampler sampler) { diff --git a/common/src/main/java/com/dfsek/terra/carving/Carver.java b/common/src/main/java/com/dfsek/terra/world/Carver.java similarity index 86% rename from common/src/main/java/com/dfsek/terra/carving/Carver.java rename to common/src/main/java/com/dfsek/terra/world/Carver.java index 7ca8e0272..869abc92d 100644 --- a/common/src/main/java/com/dfsek/terra/carving/Carver.java +++ b/common/src/main/java/com/dfsek/terra/world/Carver.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.carving; +package com.dfsek.terra.world; import com.dfsek.terra.api.platform.world.ChunkAccess; import com.dfsek.terra.api.platform.world.World; diff --git a/common/src/main/java/com/dfsek/terra/TerraWorld.java b/common/src/main/java/com/dfsek/terra/world/TerraWorld.java similarity index 94% rename from common/src/main/java/com/dfsek/terra/TerraWorld.java rename to common/src/main/java/com/dfsek/terra/world/TerraWorld.java index 7af80b2a9..5b560a151 100644 --- a/common/src/main/java/com/dfsek/terra/TerraWorld.java +++ b/common/src/main/java/com/dfsek/terra/world/TerraWorld.java @@ -1,17 +1,17 @@ -package com.dfsek.terra; +package com.dfsek.terra.world; +import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.math.vector.Location; import com.dfsek.terra.api.math.vector.Vector3; -import com.dfsek.terra.api.platform.TerraPlugin; import com.dfsek.terra.api.platform.block.BlockData; import com.dfsek.terra.api.platform.world.World; import com.dfsek.terra.api.platform.world.generator.GeneratorWrapper; import com.dfsek.terra.api.world.palette.Palette; import com.dfsek.terra.biome.BiomeProvider; import com.dfsek.terra.biome.UserDefinedBiome; -import com.dfsek.terra.config.base.ConfigPack; -import com.dfsek.terra.generation.math.Sampler; +import com.dfsek.terra.config.pack.ConfigPack; import com.dfsek.terra.profiler.WorldProfiler; +import com.dfsek.terra.world.generation.math.Sampler; import net.jafama.FastMath; public class TerraWorld { diff --git a/common/src/main/java/com/dfsek/terra/population/items/carving/NoiseCarver.java b/common/src/main/java/com/dfsek/terra/world/carving/NoiseCarver.java similarity index 69% rename from common/src/main/java/com/dfsek/terra/population/items/carving/NoiseCarver.java rename to common/src/main/java/com/dfsek/terra/world/carving/NoiseCarver.java index 796bebaf0..b0ef4635e 100644 --- a/common/src/main/java/com/dfsek/terra/population/items/carving/NoiseCarver.java +++ b/common/src/main/java/com/dfsek/terra/world/carving/NoiseCarver.java @@ -1,13 +1,13 @@ -package com.dfsek.terra.population.items.carving; +package com.dfsek.terra.world.carving; +import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.math.Range; -import com.dfsek.terra.api.platform.TerraPlugin; import com.dfsek.terra.api.platform.block.BlockData; import com.dfsek.terra.api.platform.world.ChunkAccess; import com.dfsek.terra.api.platform.world.World; -import com.dfsek.terra.carving.Carver; -import com.dfsek.terra.generation.math.interpolation.BiomeChunkInterpolator; -import com.dfsek.terra.generation.math.interpolation.ChunkInterpolator; +import com.dfsek.terra.world.Carver; +import com.dfsek.terra.world.generation.math.interpolation.BiomeChunkInterpolator; +import com.dfsek.terra.world.generation.math.interpolation.ChunkInterpolator; public class NoiseCarver implements Carver { private final Range range; @@ -22,11 +22,11 @@ public class NoiseCarver implements Carver { @Override public void carve(World world, int chunkX, int chunkZ, ChunkAccess chunk) { - ChunkInterpolator interpolator = new BiomeChunkInterpolator(world, chunkX, chunkZ, main.getWorld(world).getBiomeProvider(), (gen, coord) -> gen.getCarver().getNoise(coord)); + ChunkInterpolator interpolator = new BiomeChunkInterpolator(world, chunkX, chunkZ, main.getWorld(world).getBiomeProvider(), (gen, coord) -> gen.getCarver().getNoise(coord.setY(coord.getY() / 2))); for(int y : range) { for(int x = 0; x < 16; x++) { for(int z = 0; z < 16; z++) { - double n = interpolator.getNoise(x, y, z); + double n = interpolator.getNoise(x, y * 2d, z); if(n > 0) chunk.setBlock(x, y, z, data); } } diff --git a/common/src/main/java/com/dfsek/terra/generation/MasterChunkGenerator.java b/common/src/main/java/com/dfsek/terra/world/generation/MasterChunkGenerator.java similarity index 95% rename from common/src/main/java/com/dfsek/terra/generation/MasterChunkGenerator.java rename to common/src/main/java/com/dfsek/terra/world/generation/MasterChunkGenerator.java index 7fca97f59..3cc98c4ad 100644 --- a/common/src/main/java/com/dfsek/terra/generation/MasterChunkGenerator.java +++ b/common/src/main/java/com/dfsek/terra/world/generation/MasterChunkGenerator.java @@ -1,9 +1,8 @@ -package com.dfsek.terra.generation; +package com.dfsek.terra.world.generation; -import com.dfsek.terra.TerraWorld; +import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.math.Range; import com.dfsek.terra.api.math.vector.Vector3; -import com.dfsek.terra.api.platform.TerraPlugin; import com.dfsek.terra.api.platform.block.BlockData; import com.dfsek.terra.api.platform.block.BlockFace; import com.dfsek.terra.api.platform.block.MaterialData; @@ -14,20 +13,21 @@ import com.dfsek.terra.api.platform.block.data.Waterlogged; import com.dfsek.terra.api.platform.world.BiomeGrid; import com.dfsek.terra.api.platform.world.World; import com.dfsek.terra.api.platform.world.generator.ChunkGenerator; -import com.dfsek.terra.api.world.biome.TerraBiome; import com.dfsek.terra.api.world.generation.TerraChunkGenerator; import com.dfsek.terra.api.world.palette.Palette; +import com.dfsek.terra.api.world.palette.SinglePalette; import com.dfsek.terra.biome.BiomeProvider; +import com.dfsek.terra.biome.TerraBiome; import com.dfsek.terra.biome.UserDefinedBiome; -import com.dfsek.terra.biome.palette.SinglePalette; -import com.dfsek.terra.carving.Carver; -import com.dfsek.terra.config.base.ConfigPack; +import com.dfsek.terra.config.pack.ConfigPack; import com.dfsek.terra.config.templates.BiomeTemplate; -import com.dfsek.terra.generation.math.Sampler; -import com.dfsek.terra.generation.math.SamplerCache; -import com.dfsek.terra.population.items.carving.NoiseCarver; import com.dfsek.terra.profiler.ProfileFuture; import com.dfsek.terra.util.PaletteUtil; +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.Sampler; +import com.dfsek.terra.world.generation.math.SamplerCache; import org.jetbrains.annotations.NotNull; import java.util.Map; diff --git a/common/src/main/java/com/dfsek/terra/generation/config/WorldGenerator.java b/common/src/main/java/com/dfsek/terra/world/generation/WorldGenerator.java similarity index 96% rename from common/src/main/java/com/dfsek/terra/generation/config/WorldGenerator.java rename to common/src/main/java/com/dfsek/terra/world/generation/WorldGenerator.java index a0a5a3281..c2a739a09 100644 --- a/common/src/main/java/com/dfsek/terra/generation/config/WorldGenerator.java +++ b/common/src/main/java/com/dfsek/terra/world/generation/WorldGenerator.java @@ -1,10 +1,10 @@ -package com.dfsek.terra.generation.config; +package com.dfsek.terra.world.generation; import com.dfsek.terra.api.math.noise.samplers.NoiseSampler; import com.dfsek.terra.api.platform.block.BlockData; import com.dfsek.terra.api.world.biome.Generator; import com.dfsek.terra.api.world.palette.Palette; -import com.dfsek.terra.biome.palette.PaletteHolder; +import com.dfsek.terra.api.world.palette.holder.PaletteHolder; public class WorldGenerator implements Generator { @SuppressWarnings({"unchecked", "rawtypes", "RedundantSuppression"}) diff --git a/common/src/main/java/com/dfsek/terra/generation/config/NoiseBuilder.java b/common/src/main/java/com/dfsek/terra/world/generation/config/NoiseBuilder.java similarity index 99% rename from common/src/main/java/com/dfsek/terra/generation/config/NoiseBuilder.java rename to common/src/main/java/com/dfsek/terra/world/generation/config/NoiseBuilder.java index e6c2f7f22..31592022b 100644 --- a/common/src/main/java/com/dfsek/terra/generation/config/NoiseBuilder.java +++ b/common/src/main/java/com/dfsek/terra/world/generation/config/NoiseBuilder.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.generation.config; +package com.dfsek.terra.world.generation.config; import com.dfsek.tectonic.annotations.Default; import com.dfsek.tectonic.annotations.Value; diff --git a/common/src/main/java/com/dfsek/terra/generation/math/Sampler.java b/common/src/main/java/com/dfsek/terra/world/generation/math/Sampler.java similarity index 84% rename from common/src/main/java/com/dfsek/terra/generation/math/Sampler.java rename to common/src/main/java/com/dfsek/terra/world/generation/math/Sampler.java index 965089764..25e4237ce 100644 --- a/common/src/main/java/com/dfsek/terra/generation/math/Sampler.java +++ b/common/src/main/java/com/dfsek/terra/world/generation/math/Sampler.java @@ -1,9 +1,9 @@ -package com.dfsek.terra.generation.math; +package com.dfsek.terra.world.generation.math; import com.dfsek.terra.api.platform.world.World; import com.dfsek.terra.biome.BiomeProvider; -import com.dfsek.terra.generation.math.interpolation.BiomeChunkInterpolator; -import com.dfsek.terra.generation.math.interpolation.ElevationInterpolator; +import com.dfsek.terra.world.generation.math.interpolation.BiomeChunkInterpolator; +import com.dfsek.terra.world.generation.math.interpolation.ElevationInterpolator; import net.jafama.FastMath; public class Sampler { diff --git a/common/src/main/java/com/dfsek/terra/generation/math/SamplerCache.java b/common/src/main/java/com/dfsek/terra/world/generation/math/SamplerCache.java similarity index 94% rename from common/src/main/java/com/dfsek/terra/generation/math/SamplerCache.java rename to common/src/main/java/com/dfsek/terra/world/generation/math/SamplerCache.java index e5cd2593f..5bb3c58d6 100644 --- a/common/src/main/java/com/dfsek/terra/generation/math/SamplerCache.java +++ b/common/src/main/java/com/dfsek/terra/world/generation/math/SamplerCache.java @@ -1,9 +1,9 @@ -package com.dfsek.terra.generation.math; +package com.dfsek.terra.world.generation.math; -import com.dfsek.terra.TerraWorld; +import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.math.MathUtil; -import com.dfsek.terra.api.platform.TerraPlugin; import com.dfsek.terra.api.platform.world.World; +import com.dfsek.terra.world.TerraWorld; import com.google.common.cache.CacheBuilder; import com.google.common.cache.CacheLoader; import com.google.common.cache.LoadingCache; diff --git a/common/src/main/java/com/dfsek/terra/generation/math/interpolation/BiomeChunkInterpolator.java b/common/src/main/java/com/dfsek/terra/world/generation/math/interpolation/BiomeChunkInterpolator.java similarity index 98% rename from common/src/main/java/com/dfsek/terra/generation/math/interpolation/BiomeChunkInterpolator.java rename to common/src/main/java/com/dfsek/terra/world/generation/math/interpolation/BiomeChunkInterpolator.java index 697cd4dfe..2fbda7e22 100644 --- a/common/src/main/java/com/dfsek/terra/generation/math/interpolation/BiomeChunkInterpolator.java +++ b/common/src/main/java/com/dfsek/terra/world/generation/math/interpolation/BiomeChunkInterpolator.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.generation.math.interpolation; +package com.dfsek.terra.world.generation.math.interpolation; import com.dfsek.terra.api.math.vector.Vector3; import com.dfsek.terra.api.platform.world.World; diff --git a/common/src/main/java/com/dfsek/terra/generation/math/interpolation/ChunkInterpolator.java b/common/src/main/java/com/dfsek/terra/world/generation/math/interpolation/ChunkInterpolator.java similarity index 84% rename from common/src/main/java/com/dfsek/terra/generation/math/interpolation/ChunkInterpolator.java rename to common/src/main/java/com/dfsek/terra/world/generation/math/interpolation/ChunkInterpolator.java index 48d8bbe16..210d5c503 100644 --- a/common/src/main/java/com/dfsek/terra/generation/math/interpolation/ChunkInterpolator.java +++ b/common/src/main/java/com/dfsek/terra/world/generation/math/interpolation/ChunkInterpolator.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.generation.math.interpolation; +package com.dfsek.terra.world.generation.math.interpolation; public interface ChunkInterpolator { /** diff --git a/common/src/main/java/com/dfsek/terra/generation/math/interpolation/ElevationInterpolator.java b/common/src/main/java/com/dfsek/terra/world/generation/math/interpolation/ElevationInterpolator.java similarity index 93% rename from common/src/main/java/com/dfsek/terra/generation/math/interpolation/ElevationInterpolator.java rename to common/src/main/java/com/dfsek/terra/world/generation/math/interpolation/ElevationInterpolator.java index bcc7d3497..389e4c324 100644 --- a/common/src/main/java/com/dfsek/terra/generation/math/interpolation/ElevationInterpolator.java +++ b/common/src/main/java/com/dfsek/terra/world/generation/math/interpolation/ElevationInterpolator.java @@ -1,9 +1,9 @@ -package com.dfsek.terra.generation.math.interpolation; +package com.dfsek.terra.world.generation.math.interpolation; import com.dfsek.terra.api.platform.world.World; import com.dfsek.terra.api.world.biome.Generator; import com.dfsek.terra.biome.BiomeProvider; -import com.dfsek.terra.generation.config.WorldGenerator; +import com.dfsek.terra.world.generation.WorldGenerator; public class ElevationInterpolator { private final double[][] values = new double[18][18]; diff --git a/common/src/main/java/com/dfsek/terra/generation/math/interpolation/Interpolator.java b/common/src/main/java/com/dfsek/terra/world/generation/math/interpolation/Interpolator.java similarity index 95% rename from common/src/main/java/com/dfsek/terra/generation/math/interpolation/Interpolator.java rename to common/src/main/java/com/dfsek/terra/world/generation/math/interpolation/Interpolator.java index 7d6c403bd..cc15c55aa 100644 --- a/common/src/main/java/com/dfsek/terra/generation/math/interpolation/Interpolator.java +++ b/common/src/main/java/com/dfsek/terra/world/generation/math/interpolation/Interpolator.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.generation.math.interpolation; +package com.dfsek.terra.world.generation.math.interpolation; /** * Class for bilinear interpolation of values arranged on a unit square. diff --git a/common/src/main/java/com/dfsek/terra/generation/math/interpolation/Interpolator3.java b/common/src/main/java/com/dfsek/terra/world/generation/math/interpolation/Interpolator3.java similarity index 96% rename from common/src/main/java/com/dfsek/terra/generation/math/interpolation/Interpolator3.java rename to common/src/main/java/com/dfsek/terra/world/generation/math/interpolation/Interpolator3.java index e464ae8ba..6fd4c69a3 100644 --- a/common/src/main/java/com/dfsek/terra/generation/math/interpolation/Interpolator3.java +++ b/common/src/main/java/com/dfsek/terra/world/generation/math/interpolation/Interpolator3.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.generation.math.interpolation; +package com.dfsek.terra.world.generation.math.interpolation; /** * Class for bilinear interpolation of values arranged on a unit square. diff --git a/common/src/main/java/com/dfsek/terra/generation/math/interpolation/NoiseChunkInterpolator.java b/common/src/main/java/com/dfsek/terra/world/generation/math/interpolation/NoiseChunkInterpolator.java similarity index 96% rename from common/src/main/java/com/dfsek/terra/generation/math/interpolation/NoiseChunkInterpolator.java rename to common/src/main/java/com/dfsek/terra/world/generation/math/interpolation/NoiseChunkInterpolator.java index dba0dfe17..f7c0ad2de 100644 --- a/common/src/main/java/com/dfsek/terra/generation/math/interpolation/NoiseChunkInterpolator.java +++ b/common/src/main/java/com/dfsek/terra/world/generation/math/interpolation/NoiseChunkInterpolator.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.generation.math.interpolation; +package com.dfsek.terra.world.generation.math.interpolation; import com.dfsek.terra.api.math.noise.samplers.NoiseSampler; import net.jafama.FastMath; diff --git a/common/src/main/java/com/dfsek/terra/population/FloraPopulator.java b/common/src/main/java/com/dfsek/terra/world/population/FloraPopulator.java similarity index 91% rename from common/src/main/java/com/dfsek/terra/population/FloraPopulator.java rename to common/src/main/java/com/dfsek/terra/world/population/FloraPopulator.java index 5b53e3012..c940c57df 100644 --- a/common/src/main/java/com/dfsek/terra/population/FloraPopulator.java +++ b/common/src/main/java/com/dfsek/terra/world/population/FloraPopulator.java @@ -1,16 +1,16 @@ -package com.dfsek.terra.population; +package com.dfsek.terra.world.population; -import com.dfsek.terra.TerraWorld; +import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.math.vector.Vector2; -import com.dfsek.terra.api.platform.TerraPlugin; import com.dfsek.terra.api.platform.world.Chunk; import com.dfsek.terra.api.platform.world.World; import com.dfsek.terra.api.world.generation.TerraBlockPopulator; import com.dfsek.terra.biome.BiomeProvider; import com.dfsek.terra.biome.UserDefinedBiome; -import com.dfsek.terra.population.items.flora.FloraLayer; import com.dfsek.terra.profiler.ProfileFuture; import com.dfsek.terra.util.PopulationUtil; +import com.dfsek.terra.world.TerraWorld; +import com.dfsek.terra.world.population.items.flora.FloraLayer; import org.jetbrains.annotations.NotNull; import java.util.HashMap; diff --git a/common/src/main/java/com/dfsek/terra/population/OrePopulator.java b/common/src/main/java/com/dfsek/terra/world/population/OrePopulator.java similarity index 92% rename from common/src/main/java/com/dfsek/terra/population/OrePopulator.java rename to common/src/main/java/com/dfsek/terra/world/population/OrePopulator.java index 13cdc19c4..f4a60e2fc 100644 --- a/common/src/main/java/com/dfsek/terra/population/OrePopulator.java +++ b/common/src/main/java/com/dfsek/terra/world/population/OrePopulator.java @@ -1,17 +1,17 @@ -package com.dfsek.terra.population; +package com.dfsek.terra.world.population; -import com.dfsek.terra.TerraWorld; +import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.math.MathUtil; import com.dfsek.terra.api.math.vector.Vector3; -import com.dfsek.terra.api.platform.TerraPlugin; import com.dfsek.terra.api.platform.world.Chunk; import com.dfsek.terra.api.platform.world.World; import com.dfsek.terra.api.util.FastRandom; -import com.dfsek.terra.api.world.biome.TerraBiome; import com.dfsek.terra.api.world.generation.TerraBlockPopulator; +import com.dfsek.terra.biome.TerraBiome; import com.dfsek.terra.biome.UserDefinedBiome; import com.dfsek.terra.config.templates.BiomeTemplate; import com.dfsek.terra.profiler.ProfileFuture; +import com.dfsek.terra.world.TerraWorld; import org.jetbrains.annotations.NotNull; import java.util.Random; diff --git a/common/src/main/java/com/dfsek/terra/population/StructurePopulator.java b/common/src/main/java/com/dfsek/terra/world/population/StructurePopulator.java similarity index 89% rename from common/src/main/java/com/dfsek/terra/population/StructurePopulator.java rename to common/src/main/java/com/dfsek/terra/world/population/StructurePopulator.java index d6bdca89e..1504387a1 100644 --- a/common/src/main/java/com/dfsek/terra/population/StructurePopulator.java +++ b/common/src/main/java/com/dfsek/terra/world/population/StructurePopulator.java @@ -1,9 +1,8 @@ -package com.dfsek.terra.population; +package com.dfsek.terra.world.population; -import com.dfsek.terra.TerraWorld; +import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.math.MathUtil; import com.dfsek.terra.api.math.vector.Location; -import com.dfsek.terra.api.platform.TerraPlugin; import com.dfsek.terra.api.platform.world.Chunk; import com.dfsek.terra.api.platform.world.World; import com.dfsek.terra.api.structures.structure.Rotation; @@ -11,9 +10,10 @@ import com.dfsek.terra.api.util.FastRandom; import com.dfsek.terra.api.world.generation.TerraBlockPopulator; import com.dfsek.terra.biome.BiomeProvider; import com.dfsek.terra.biome.UserDefinedBiome; -import com.dfsek.terra.config.base.ConfigPack; -import com.dfsek.terra.population.items.TerraStructure; +import com.dfsek.terra.config.pack.ConfigPack; import com.dfsek.terra.profiler.ProfileFuture; +import com.dfsek.terra.world.TerraWorld; +import com.dfsek.terra.world.population.items.TerraStructure; import net.jafama.FastMath; import org.jetbrains.annotations.NotNull; diff --git a/common/src/main/java/com/dfsek/terra/population/TreePopulator.java b/common/src/main/java/com/dfsek/terra/world/population/TreePopulator.java similarity index 90% rename from common/src/main/java/com/dfsek/terra/population/TreePopulator.java rename to common/src/main/java/com/dfsek/terra/world/population/TreePopulator.java index fcaefc45c..61348ec06 100644 --- a/common/src/main/java/com/dfsek/terra/population/TreePopulator.java +++ b/common/src/main/java/com/dfsek/terra/world/population/TreePopulator.java @@ -1,16 +1,16 @@ -package com.dfsek.terra.population; +package com.dfsek.terra.world.population; -import com.dfsek.terra.TerraWorld; +import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.math.vector.Vector2; -import com.dfsek.terra.api.platform.TerraPlugin; import com.dfsek.terra.api.platform.world.Chunk; import com.dfsek.terra.api.platform.world.World; import com.dfsek.terra.api.world.generation.TerraBlockPopulator; import com.dfsek.terra.biome.BiomeProvider; import com.dfsek.terra.biome.UserDefinedBiome; -import com.dfsek.terra.population.items.tree.TreeLayer; import com.dfsek.terra.profiler.ProfileFuture; import com.dfsek.terra.util.PopulationUtil; +import com.dfsek.terra.world.TerraWorld; +import com.dfsek.terra.world.population.items.tree.TreeLayer; import net.jafama.FastMath; import org.jetbrains.annotations.NotNull; diff --git a/common/src/main/java/com/dfsek/terra/population/items/PlaceableLayer.java b/common/src/main/java/com/dfsek/terra/world/population/items/PlaceableLayer.java similarity index 95% rename from common/src/main/java/com/dfsek/terra/population/items/PlaceableLayer.java rename to common/src/main/java/com/dfsek/terra/world/population/items/PlaceableLayer.java index 479610d2e..8c4912bec 100644 --- a/common/src/main/java/com/dfsek/terra/population/items/PlaceableLayer.java +++ b/common/src/main/java/com/dfsek/terra/world/population/items/PlaceableLayer.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.population.items; +package com.dfsek.terra.world.population.items; import com.dfsek.terra.api.math.ProbabilityCollection; import com.dfsek.terra.api.math.Range; diff --git a/common/src/main/java/com/dfsek/terra/population/items/TerraStructure.java b/common/src/main/java/com/dfsek/terra/world/population/items/TerraStructure.java similarity index 95% rename from common/src/main/java/com/dfsek/terra/population/items/TerraStructure.java rename to common/src/main/java/com/dfsek/terra/world/population/items/TerraStructure.java index 9e8e51a2a..975ea34ff 100644 --- a/common/src/main/java/com/dfsek/terra/population/items/TerraStructure.java +++ b/common/src/main/java/com/dfsek/terra/world/population/items/TerraStructure.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.population.items; +package com.dfsek.terra.world.population.items; import com.dfsek.terra.api.math.GridSpawn; import com.dfsek.terra.api.math.ProbabilityCollection; diff --git a/common/src/main/java/com/dfsek/terra/population/items/flora/BlockFlora.java b/common/src/main/java/com/dfsek/terra/world/population/items/flora/BlockFlora.java similarity index 96% rename from common/src/main/java/com/dfsek/terra/population/items/flora/BlockFlora.java rename to common/src/main/java/com/dfsek/terra/world/population/items/flora/BlockFlora.java index 75ae1431f..dbc714388 100644 --- a/common/src/main/java/com/dfsek/terra/population/items/flora/BlockFlora.java +++ b/common/src/main/java/com/dfsek/terra/world/population/items/flora/BlockFlora.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.population.items.flora; +package com.dfsek.terra.world.population.items.flora; import com.dfsek.terra.api.math.Range; import com.dfsek.terra.api.math.vector.Location; diff --git a/common/src/main/java/com/dfsek/terra/population/items/flora/ConstantFlora.java b/common/src/main/java/com/dfsek/terra/world/population/items/flora/ConstantFlora.java similarity index 96% rename from common/src/main/java/com/dfsek/terra/population/items/flora/ConstantFlora.java rename to common/src/main/java/com/dfsek/terra/world/population/items/flora/ConstantFlora.java index 0cdb224ba..45669bc36 100644 --- a/common/src/main/java/com/dfsek/terra/population/items/flora/ConstantFlora.java +++ b/common/src/main/java/com/dfsek/terra/world/population/items/flora/ConstantFlora.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.population.items.flora; +package com.dfsek.terra.world.population.items.flora; import com.dfsek.terra.api.math.Range; import com.dfsek.terra.api.math.vector.Location; diff --git a/common/src/main/java/com/dfsek/terra/population/items/flora/FloraLayer.java b/common/src/main/java/com/dfsek/terra/world/population/items/flora/FloraLayer.java similarity index 88% rename from common/src/main/java/com/dfsek/terra/population/items/flora/FloraLayer.java rename to common/src/main/java/com/dfsek/terra/world/population/items/flora/FloraLayer.java index 48e39c35f..21bbd71e3 100644 --- a/common/src/main/java/com/dfsek/terra/population/items/flora/FloraLayer.java +++ b/common/src/main/java/com/dfsek/terra/world/population/items/flora/FloraLayer.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.population.items.flora; +package com.dfsek.terra.world.population.items.flora; import com.dfsek.terra.api.math.ProbabilityCollection; import com.dfsek.terra.api.math.Range; @@ -6,7 +6,7 @@ import com.dfsek.terra.api.math.noise.samplers.NoiseSampler; import com.dfsek.terra.api.math.vector.Vector2; import com.dfsek.terra.api.platform.world.Chunk; import com.dfsek.terra.api.world.flora.Flora; -import com.dfsek.terra.population.items.PlaceableLayer; +import com.dfsek.terra.world.population.items.PlaceableLayer; public class FloraLayer extends PlaceableLayer { diff --git a/common/src/main/java/com/dfsek/terra/population/items/flora/TerraFlora.java b/common/src/main/java/com/dfsek/terra/world/population/items/flora/TerraFlora.java similarity index 98% rename from common/src/main/java/com/dfsek/terra/population/items/flora/TerraFlora.java rename to common/src/main/java/com/dfsek/terra/world/population/items/flora/TerraFlora.java index 28e892bde..f3875fac8 100644 --- a/common/src/main/java/com/dfsek/terra/population/items/flora/TerraFlora.java +++ b/common/src/main/java/com/dfsek/terra/world/population/items/flora/TerraFlora.java @@ -1,8 +1,8 @@ -package com.dfsek.terra.population.items.flora; +package com.dfsek.terra.world.population.items.flora; +import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.math.Range; import com.dfsek.terra.api.math.vector.Location; -import com.dfsek.terra.api.platform.TerraPlugin; import com.dfsek.terra.api.platform.block.Block; import com.dfsek.terra.api.platform.block.BlockData; import com.dfsek.terra.api.platform.block.BlockFace; diff --git a/common/src/main/java/com/dfsek/terra/population/items/ores/DeformedSphereOre.java b/common/src/main/java/com/dfsek/terra/world/population/items/ores/DeformedSphereOre.java similarity index 95% rename from common/src/main/java/com/dfsek/terra/population/items/ores/DeformedSphereOre.java rename to common/src/main/java/com/dfsek/terra/world/population/items/ores/DeformedSphereOre.java index de53fcf08..33f2309d8 100644 --- a/common/src/main/java/com/dfsek/terra/population/items/ores/DeformedSphereOre.java +++ b/common/src/main/java/com/dfsek/terra/world/population/items/ores/DeformedSphereOre.java @@ -1,9 +1,9 @@ -package com.dfsek.terra.population.items.ores; +package com.dfsek.terra.world.population.items.ores; +import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.math.Range; import com.dfsek.terra.api.math.noise.samplers.FastNoiseLite; import com.dfsek.terra.api.math.vector.Vector3; -import com.dfsek.terra.api.platform.TerraPlugin; import com.dfsek.terra.api.platform.block.Block; import com.dfsek.terra.api.platform.block.BlockData; import com.dfsek.terra.api.platform.handle.WorldHandle; diff --git a/common/src/main/java/com/dfsek/terra/population/items/ores/Ore.java b/common/src/main/java/com/dfsek/terra/world/population/items/ores/Ore.java similarity index 91% rename from common/src/main/java/com/dfsek/terra/population/items/ores/Ore.java rename to common/src/main/java/com/dfsek/terra/world/population/items/ores/Ore.java index 2c60b97e4..231b625a9 100644 --- a/common/src/main/java/com/dfsek/terra/population/items/ores/Ore.java +++ b/common/src/main/java/com/dfsek/terra/world/population/items/ores/Ore.java @@ -1,7 +1,7 @@ -package com.dfsek.terra.population.items.ores; +package com.dfsek.terra.world.population.items.ores; +import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.math.vector.Vector3; -import com.dfsek.terra.api.platform.TerraPlugin; import com.dfsek.terra.api.platform.block.BlockData; import com.dfsek.terra.api.platform.world.Chunk; import com.dfsek.terra.util.MaterialSet; diff --git a/common/src/main/java/com/dfsek/terra/population/items/ores/OreConfig.java b/common/src/main/java/com/dfsek/terra/world/population/items/ores/OreConfig.java similarity index 87% rename from common/src/main/java/com/dfsek/terra/population/items/ores/OreConfig.java rename to common/src/main/java/com/dfsek/terra/world/population/items/ores/OreConfig.java index 2c9bf9bc0..67048c34d 100644 --- a/common/src/main/java/com/dfsek/terra/population/items/ores/OreConfig.java +++ b/common/src/main/java/com/dfsek/terra/world/population/items/ores/OreConfig.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.population.items.ores; +package com.dfsek.terra.world.population.items.ores; import com.dfsek.terra.api.math.Range; diff --git a/common/src/main/java/com/dfsek/terra/population/items/ores/OreHolder.java b/common/src/main/java/com/dfsek/terra/world/population/items/ores/OreHolder.java similarity index 94% rename from common/src/main/java/com/dfsek/terra/population/items/ores/OreHolder.java rename to common/src/main/java/com/dfsek/terra/world/population/items/ores/OreHolder.java index d7668ba0f..e7cc81d5c 100644 --- a/common/src/main/java/com/dfsek/terra/population/items/ores/OreHolder.java +++ b/common/src/main/java/com/dfsek/terra/world/population/items/ores/OreHolder.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.population.items.ores; +package com.dfsek.terra.world.population.items.ores; import com.dfsek.terra.api.util.GlueList; diff --git a/common/src/main/java/com/dfsek/terra/population/items/ores/VanillaOre.java b/common/src/main/java/com/dfsek/terra/world/population/items/ores/VanillaOre.java similarity index 97% rename from common/src/main/java/com/dfsek/terra/population/items/ores/VanillaOre.java rename to common/src/main/java/com/dfsek/terra/world/population/items/ores/VanillaOre.java index 39e27c4d4..5c19f5246 100644 --- a/common/src/main/java/com/dfsek/terra/population/items/ores/VanillaOre.java +++ b/common/src/main/java/com/dfsek/terra/world/population/items/ores/VanillaOre.java @@ -1,8 +1,8 @@ -package com.dfsek.terra.population.items.ores; +package com.dfsek.terra.world.population.items.ores; +import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.math.Range; import com.dfsek.terra.api.math.vector.Vector3; -import com.dfsek.terra.api.platform.TerraPlugin; import com.dfsek.terra.api.platform.block.Block; import com.dfsek.terra.api.platform.block.BlockData; import com.dfsek.terra.api.platform.handle.WorldHandle; diff --git a/common/src/main/java/com/dfsek/terra/population/items/tree/TerraTree.java b/common/src/main/java/com/dfsek/terra/world/population/items/tree/TerraTree.java similarity index 95% rename from common/src/main/java/com/dfsek/terra/population/items/tree/TerraTree.java rename to common/src/main/java/com/dfsek/terra/world/population/items/tree/TerraTree.java index 1bfa207af..7b24a9eb4 100644 --- a/common/src/main/java/com/dfsek/terra/population/items/tree/TerraTree.java +++ b/common/src/main/java/com/dfsek/terra/world/population/items/tree/TerraTree.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.population.items.tree; +package com.dfsek.terra.world.population.items.tree; import com.dfsek.terra.api.math.ProbabilityCollection; import com.dfsek.terra.api.math.vector.Location; diff --git a/common/src/main/java/com/dfsek/terra/population/items/tree/TreeLayer.java b/common/src/main/java/com/dfsek/terra/world/population/items/tree/TreeLayer.java similarity index 91% rename from common/src/main/java/com/dfsek/terra/population/items/tree/TreeLayer.java rename to common/src/main/java/com/dfsek/terra/world/population/items/tree/TreeLayer.java index c8d9f86df..2c439816e 100644 --- a/common/src/main/java/com/dfsek/terra/population/items/tree/TreeLayer.java +++ b/common/src/main/java/com/dfsek/terra/world/population/items/tree/TreeLayer.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.population.items.tree; +package com.dfsek.terra.world.population.items.tree; import com.dfsek.terra.api.math.ProbabilityCollection; import com.dfsek.terra.api.math.Range; @@ -8,8 +8,8 @@ import com.dfsek.terra.api.platform.block.Block; import com.dfsek.terra.api.platform.block.BlockFace; import com.dfsek.terra.api.platform.world.Chunk; import com.dfsek.terra.api.world.tree.Tree; -import com.dfsek.terra.population.items.PlaceableLayer; import com.dfsek.terra.util.PopulationUtil; +import com.dfsek.terra.world.population.items.PlaceableLayer; public class TreeLayer extends PlaceableLayer { diff --git a/common/src/test/java/biome/BiomeTest.java b/common/src/test/java/biome/BiomeTest.java index ec48dd1ad..567169980 100644 --- a/common/src/test/java/biome/BiomeTest.java +++ b/common/src/test/java/biome/BiomeTest.java @@ -6,9 +6,9 @@ import com.dfsek.terra.api.math.noise.samplers.NoiseSampler; import com.dfsek.terra.api.platform.world.Biome; import com.dfsek.terra.api.platform.world.World; import com.dfsek.terra.api.world.biome.Generator; -import com.dfsek.terra.api.world.biome.TerraBiome; import com.dfsek.terra.biome.BiomeProvider; import com.dfsek.terra.biome.StandardBiomeProvider; +import com.dfsek.terra.biome.TerraBiome; import com.dfsek.terra.biome.pipeline.BiomePipeline; import com.dfsek.terra.biome.pipeline.expand.FractalExpander; import com.dfsek.terra.biome.pipeline.mutator.BorderMutator; diff --git a/common/src/test/java/biome/DistributionTest.java b/common/src/test/java/biome/DistributionTest.java index c0cef141d..020a63d71 100644 --- a/common/src/test/java/biome/DistributionTest.java +++ b/common/src/test/java/biome/DistributionTest.java @@ -8,19 +8,18 @@ import com.dfsek.tectonic.config.ConfigTemplate; import com.dfsek.tectonic.config.ValidatedConfigTemplate; import com.dfsek.tectonic.exception.ConfigException; import com.dfsek.tectonic.loading.ConfigLoader; -import com.dfsek.terra.api.GenericLoaders; import com.dfsek.terra.api.math.ProbabilityCollection; import com.dfsek.terra.api.platform.world.Biome; import com.dfsek.terra.api.platform.world.World; import com.dfsek.terra.api.world.biome.Generator; -import com.dfsek.terra.api.world.biome.TerraBiome; import com.dfsek.terra.biome.BiomeProvider; -import com.dfsek.terra.config.base.ConfigPack; -import com.dfsek.terra.config.files.FolderLoader; +import com.dfsek.terra.biome.TerraBiome; +import com.dfsek.terra.config.GenericLoaders; +import com.dfsek.terra.config.fileloaders.FolderLoader; import com.dfsek.terra.config.loaders.ProbabilityCollectionLoader; import com.dfsek.terra.config.loaders.config.biome.BiomeProviderBuilderLoader; +import com.dfsek.terra.config.pack.ConfigPack; import com.dfsek.terra.config.templates.AbstractableTemplate; -import com.dfsek.terra.debug.Debug; import com.dfsek.terra.registry.BiomeRegistry; import javax.swing.*; @@ -37,7 +36,6 @@ import java.io.IOException; import java.util.HashSet; import java.util.Set; import java.util.concurrent.ThreadLocalRandom; -import java.util.logging.Logger; public class DistributionTest { private static BiomeProvider getProvider(long seed) throws ConfigException, IOException { @@ -62,8 +60,6 @@ public class DistributionTest { } public static void main(String... args) throws ConfigException, IOException { - Debug.setLogger(Logger.getLogger("Terra")); - Debug.setDebug(true); JFrame testFrame = new JFrame("Biome Viewer"); diff --git a/common/src/test/java/biome/ImageTest.java b/common/src/test/java/biome/ImageTest.java index 82b69c7d0..8ed0214ff 100644 --- a/common/src/test/java/biome/ImageTest.java +++ b/common/src/test/java/biome/ImageTest.java @@ -11,13 +11,12 @@ import com.dfsek.terra.api.math.ProbabilityCollection; import com.dfsek.terra.api.platform.world.Biome; import com.dfsek.terra.api.platform.world.World; import com.dfsek.terra.api.world.biome.Generator; -import com.dfsek.terra.api.world.biome.TerraBiome; import com.dfsek.terra.biome.BiomeProvider; import com.dfsek.terra.biome.ImageBiomeProvider; -import com.dfsek.terra.config.base.ConfigPack; -import com.dfsek.terra.config.files.FolderLoader; +import com.dfsek.terra.biome.TerraBiome; +import com.dfsek.terra.config.fileloaders.FolderLoader; +import com.dfsek.terra.config.pack.ConfigPack; import com.dfsek.terra.config.templates.AbstractableTemplate; -import com.dfsek.terra.debug.Debug; import com.dfsek.terra.registry.TerraRegistry; import org.junit.jupiter.api.Test; @@ -36,7 +35,6 @@ import java.io.IOException; import java.util.HashSet; import java.util.Set; import java.util.concurrent.ThreadLocalRandom; -import java.util.logging.Logger; public class ImageTest { private static ImageBiomeProvider getProvider(long seed) throws ConfigException, IOException { @@ -55,8 +53,6 @@ public class ImageTest { @Test public static void main(String... args) throws ConfigException, IOException { - Debug.setLogger(Logger.getLogger("Terra")); - Debug.setDebug(true); JFrame testFrame = new JFrame("Biome Viewer"); diff --git a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/BukkitEntity.java b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/BukkitEntity.java index e7ad5c346..8d70cfa10 100644 --- a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/BukkitEntity.java +++ b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/BukkitEntity.java @@ -1,6 +1,8 @@ package com.dfsek.terra.bukkit; +import com.dfsek.terra.api.math.vector.Location; import com.dfsek.terra.api.platform.entity.Entity; +import com.dfsek.terra.bukkit.world.BukkitAdapter; public class BukkitEntity implements Entity { private final org.bukkit.entity.Entity entity; @@ -13,4 +15,14 @@ public class BukkitEntity implements Entity { public org.bukkit.entity.Entity getHandle() { return entity; } + + @Override + public Location getLocation() { + return BukkitAdapter.adapt(entity.getLocation()); + } + + @Override + public void sendMessage(String message) { + entity.sendMessage(message); + } } diff --git a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/BukkitPlayer.java b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/BukkitPlayer.java index c59491a59..0251d2ada 100644 --- a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/BukkitPlayer.java +++ b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/BukkitPlayer.java @@ -1,7 +1,7 @@ package com.dfsek.terra.bukkit; -import com.dfsek.terra.api.Player; import com.dfsek.terra.api.math.vector.Location; +import com.dfsek.terra.api.platform.Player; import com.dfsek.terra.bukkit.world.BukkitAdapter; public class BukkitPlayer implements Player { @@ -21,4 +21,9 @@ public class BukkitPlayer implements Player { org.bukkit.Location bukkit = delegate.getLocation(); return new Location(BukkitAdapter.adapt(bukkit.getWorld()), bukkit.getX(), bukkit.getY(), bukkit.getZ()); } + + @Override + public void sendMessage(String message) { + delegate.sendMessage(message); + } } diff --git a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/TerraBukkitPlugin.java b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/TerraBukkitPlugin.java index a9e646358..5c0ad6792 100644 --- a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/TerraBukkitPlugin.java +++ b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/TerraBukkitPlugin.java @@ -1,10 +1,8 @@ package com.dfsek.terra.bukkit; import com.dfsek.tectonic.loading.TypeRegistry; -import com.dfsek.terra.TerraWorld; -import com.dfsek.terra.api.GenericLoaders; +import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.language.Language; -import com.dfsek.terra.api.platform.TerraPlugin; import com.dfsek.terra.api.platform.block.BlockData; import com.dfsek.terra.api.platform.block.MaterialData; import com.dfsek.terra.api.platform.handle.ItemHandle; @@ -23,12 +21,14 @@ import com.dfsek.terra.bukkit.util.PaperUtil; import com.dfsek.terra.bukkit.world.BukkitAdapter; import com.dfsek.terra.bukkit.world.BukkitBiome; import com.dfsek.terra.bukkit.world.BukkitTree; -import com.dfsek.terra.config.base.ConfigPack; -import com.dfsek.terra.config.base.PluginConfig; +import com.dfsek.terra.config.GenericLoaders; +import com.dfsek.terra.config.PluginConfig; import com.dfsek.terra.config.lang.LangUtil; -import com.dfsek.terra.debug.Debug; -import com.dfsek.terra.generation.MasterChunkGenerator; +import com.dfsek.terra.config.pack.ConfigPack; +import com.dfsek.terra.debug.DebugLogger; import com.dfsek.terra.registry.ConfigRegistry; +import com.dfsek.terra.world.TerraWorld; +import com.dfsek.terra.world.generation.MasterChunkGenerator; import io.papermc.lib.PaperLib; import org.bstats.bukkit.Metrics; import org.bukkit.Bukkit; @@ -54,6 +54,7 @@ public class TerraBukkitPlugin extends JavaPlugin implements TerraPlugin { private final ItemHandle itemHandle = new BukkitItemHandle(); private WorldHandle handle = new BukkitWorldHandle(); private final GenericLoaders genericLoaders = new GenericLoaders(this); + private DebugLogger debugLogger; public static final Version BUKKIT_VERSION; @@ -105,6 +106,11 @@ public class TerraBukkitPlugin extends JavaPlugin implements TerraPlugin { } } + @Override + public DebugLogger getDebugLogger() { + return debugLogger; + } + @Override public void onDisable() { BukkitChunkGeneratorWrapper.saveAll(); @@ -112,7 +118,7 @@ public class TerraBukkitPlugin extends JavaPlugin implements TerraPlugin { @Override public void onEnable() { - Debug.setLogger(getLogger()); // Set debug logger. + debugLogger = new DebugLogger(getLogger()); getLogger().info("Running on version " + BUKKIT_VERSION); if(BUKKIT_VERSION.equals(Version.UNKNOWN)) { @@ -126,7 +132,7 @@ public class TerraBukkitPlugin extends JavaPlugin implements TerraPlugin { config.load(this); // Load master config.yml LangUtil.load(config.getLanguage(), this); // Load language. - Debug.setDebug(isDebug()); + debugLogger.setDebug(isDebug()); registry.loadAll(this); // Load all config packs. diff --git a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/command/Command.java b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/command/Command.java index 913e07798..730389d76 100644 --- a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/command/Command.java +++ b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/command/Command.java @@ -1,6 +1,6 @@ package com.dfsek.terra.bukkit.command; -import com.dfsek.terra.api.platform.TerraPlugin; +import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.bukkit.BukkitCommandSender; import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; diff --git a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/command/command/PacksCommand.java b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/command/command/PacksCommand.java index 4b0e08e04..ce768d37a 100644 --- a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/command/command/PacksCommand.java +++ b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/command/command/PacksCommand.java @@ -2,8 +2,8 @@ package com.dfsek.terra.bukkit.command.command; import com.dfsek.terra.bukkit.BukkitCommandSender; import com.dfsek.terra.bukkit.command.Command; -import com.dfsek.terra.config.base.ConfigPackTemplate; import com.dfsek.terra.config.lang.LangUtil; +import com.dfsek.terra.config.pack.ConfigPackTemplate; import com.dfsek.terra.registry.ConfigRegistry; import org.bukkit.command.CommandSender; import org.jetbrains.annotations.NotNull; diff --git a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/command/command/TerraCommand.java b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/command/command/TerraCommand.java index 59862a777..2882736a5 100644 --- a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/command/command/TerraCommand.java +++ b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/command/command/TerraCommand.java @@ -1,6 +1,6 @@ package com.dfsek.terra.bukkit.command.command; -import com.dfsek.terra.api.platform.TerraPlugin; +import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.bukkit.BukkitCommandSender; import com.dfsek.terra.bukkit.command.Command; import com.dfsek.terra.bukkit.command.command.biome.BiomeCommand; diff --git a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/command/command/biome/BiomeInfoCommand.java b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/command/command/biome/BiomeInfoCommand.java index 3dae0ce6d..636907691 100644 --- a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/command/command/biome/BiomeInfoCommand.java +++ b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/command/command/biome/BiomeInfoCommand.java @@ -1,14 +1,14 @@ package com.dfsek.terra.bukkit.command.command.biome; -import com.dfsek.terra.TerraWorld; import com.dfsek.terra.biome.UserDefinedBiome; import com.dfsek.terra.bukkit.BukkitCommandSender; import com.dfsek.terra.bukkit.command.WorldCommand; import com.dfsek.terra.bukkit.world.BukkitAdapter; -import com.dfsek.terra.config.base.ConfigPack; import com.dfsek.terra.config.lang.LangUtil; +import com.dfsek.terra.config.pack.ConfigPack; import com.dfsek.terra.config.templates.BiomeTemplate; -import com.dfsek.terra.population.items.TerraStructure; +import com.dfsek.terra.world.TerraWorld; +import com.dfsek.terra.world.population.items.TerraStructure; import org.bukkit.World; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; diff --git a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/command/command/biome/BiomeLocateCommand.java b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/command/command/biome/BiomeLocateCommand.java index 55333edcd..943fc2f8e 100644 --- a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/command/command/biome/BiomeLocateCommand.java +++ b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/command/command/biome/BiomeLocateCommand.java @@ -1,13 +1,13 @@ package com.dfsek.terra.bukkit.command.command.biome; -import com.dfsek.terra.TerraWorld; import com.dfsek.terra.api.math.vector.Vector3; -import com.dfsek.terra.api.world.biome.TerraBiome; import com.dfsek.terra.async.AsyncBiomeFinder; +import com.dfsek.terra.biome.TerraBiome; import com.dfsek.terra.bukkit.TerraBukkitPlugin; import com.dfsek.terra.bukkit.command.WorldCommand; import com.dfsek.terra.bukkit.world.BukkitAdapter; import com.dfsek.terra.config.lang.LangUtil; +import com.dfsek.terra.world.TerraWorld; import net.md_5.bungee.api.ChatColor; import net.md_5.bungee.api.chat.BaseComponent; import net.md_5.bungee.api.chat.ClickEvent; diff --git a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/command/command/geometry/DeformedSphereCommand.java b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/command/command/geometry/DeformedSphereCommand.java index 9fcce970f..4e012ce91 100644 --- a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/command/command/geometry/DeformedSphereCommand.java +++ b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/command/command/geometry/DeformedSphereCommand.java @@ -4,7 +4,6 @@ import com.dfsek.terra.api.math.noise.samplers.FastNoiseLite; import com.dfsek.terra.api.math.vector.Vector3; import com.dfsek.terra.api.math.voxel.DeformedSphere; import com.dfsek.terra.bukkit.BukkitCommandSender; -import com.dfsek.terra.bukkit.BukkitPlayer; import com.dfsek.terra.bukkit.command.PlayerCommand; import com.dfsek.terra.bukkit.world.BukkitAdapter; import com.dfsek.terra.config.lang.LangUtil; @@ -48,7 +47,7 @@ public class DeformedSphereCommand extends PlayerCommand { FastNoiseLite n = new FastNoiseLite((int) sender.getWorld().getSeed()); n.setNoiseType(FastNoiseLite.NoiseType.OpenSimplex2); n.setFrequency(freq); - DeformedSphere sphere = new DeformedSphere(new BukkitPlayer(sender).getLocation().toVector(), radius, deform, n); + DeformedSphere sphere = new DeformedSphere(BukkitAdapter.adapt(sender).getLocation().toVector(), radius, deform, n); for(Vector3 v : sphere.getGeometry()) { v.toLocation(BukkitAdapter.adapt(sender.getWorld())).getBlock().setBlockData(getMain().getWorldHandle().createBlockData("minecraft:stone"), false); } diff --git a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/command/command/structure/LocateCommand.java b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/command/command/structure/LocateCommand.java index 71dbb410c..933895da6 100644 --- a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/command/command/structure/LocateCommand.java +++ b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/command/command/structure/LocateCommand.java @@ -1,13 +1,13 @@ package com.dfsek.terra.bukkit.command.command.structure; -import com.dfsek.terra.TerraWorld; import com.dfsek.terra.api.math.vector.Vector3; import com.dfsek.terra.async.AsyncStructureFinder; import com.dfsek.terra.bukkit.TerraBukkitPlugin; import com.dfsek.terra.bukkit.command.WorldCommand; import com.dfsek.terra.bukkit.world.BukkitAdapter; import com.dfsek.terra.config.lang.LangUtil; -import com.dfsek.terra.population.items.TerraStructure; +import com.dfsek.terra.world.TerraWorld; +import com.dfsek.terra.world.population.items.TerraStructure; import net.md_5.bungee.api.ChatColor; import net.md_5.bungee.api.chat.BaseComponent; import net.md_5.bungee.api.chat.ClickEvent; diff --git a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/command/command/structure/load/LoadCommand.java b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/command/command/structure/load/LoadCommand.java index 71eb5e846..c8a88e325 100644 --- a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/command/command/structure/load/LoadCommand.java +++ b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/command/command/structure/load/LoadCommand.java @@ -1,9 +1,9 @@ package com.dfsek.terra.bukkit.command.command.structure.load; -import com.dfsek.terra.TerraWorld; import com.dfsek.terra.api.platform.world.World; import com.dfsek.terra.bukkit.command.DebugCommand; import com.dfsek.terra.bukkit.command.PlayerCommand; +import com.dfsek.terra.world.TerraWorld; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; diff --git a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/command/command/structure/load/LoadFullCommand.java b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/command/command/structure/load/LoadFullCommand.java index f1569a2b9..0bbf7969a 100644 --- a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/command/command/structure/load/LoadFullCommand.java +++ b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/command/command/structure/load/LoadFullCommand.java @@ -1,6 +1,5 @@ package com.dfsek.terra.bukkit.command.command.structure.load; -import com.dfsek.terra.TerraWorld; import com.dfsek.terra.api.platform.world.World; import com.dfsek.terra.api.structures.script.StructureScript; import com.dfsek.terra.api.structures.structure.Rotation; @@ -9,6 +8,7 @@ import com.dfsek.terra.bukkit.command.DebugCommand; import com.dfsek.terra.bukkit.world.BukkitAdapter; import com.dfsek.terra.bukkit.world.BukkitChunk; import com.dfsek.terra.util.PopulationUtil; +import com.dfsek.terra.world.TerraWorld; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; diff --git a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/generator/BukkitChunkGeneratorWrapper.java b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/generator/BukkitChunkGeneratorWrapper.java index 8eac31644..730af0891 100644 --- a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/generator/BukkitChunkGeneratorWrapper.java +++ b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/generator/BukkitChunkGeneratorWrapper.java @@ -1,19 +1,18 @@ package com.dfsek.terra.bukkit.generator; -import com.dfsek.terra.TerraWorld; -import com.dfsek.terra.api.platform.TerraPlugin; +import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.platform.world.Chunk; import com.dfsek.terra.api.platform.world.generator.GeneratorWrapper; import com.dfsek.terra.api.world.generation.TerraChunkGenerator; -import com.dfsek.terra.api.world.generation.population.PopulationManager; +import com.dfsek.terra.bukkit.population.PopulationManager; import com.dfsek.terra.bukkit.world.BukkitAdapter; import com.dfsek.terra.bukkit.world.BukkitBiomeGrid; import com.dfsek.terra.config.lang.LangUtil; -import com.dfsek.terra.debug.Debug; -import com.dfsek.terra.population.FloraPopulator; -import com.dfsek.terra.population.OrePopulator; -import com.dfsek.terra.population.StructurePopulator; -import com.dfsek.terra.population.TreePopulator; +import com.dfsek.terra.world.TerraWorld; +import com.dfsek.terra.world.population.FloraPopulator; +import com.dfsek.terra.world.population.OrePopulator; +import com.dfsek.terra.world.population.StructurePopulator; +import com.dfsek.terra.world.population.TreePopulator; import org.bukkit.World; import org.bukkit.generator.BlockPopulator; import org.bukkit.generator.ChunkGenerator; @@ -55,7 +54,6 @@ public class BukkitChunkGeneratorWrapper extends ChunkGenerator implements Gener for(Map.Entry e : popMap.entrySet()) { try { e.getValue().saveBlocks(e.getKey()); - Debug.info("Saved data for world " + e.getKey().getName()); } catch(IOException ioException) { ioException.printStackTrace(); } diff --git a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/listeners/CommonListener.java b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/listeners/CommonListener.java index e13f818a9..77f1ddbc0 100644 --- a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/listeners/CommonListener.java +++ b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/listeners/CommonListener.java @@ -1,16 +1,16 @@ package com.dfsek.terra.bukkit.listeners; -import com.dfsek.terra.TerraWorld; +import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.math.vector.Location; -import com.dfsek.terra.api.platform.TerraPlugin; import com.dfsek.terra.api.platform.world.World; import com.dfsek.terra.api.transform.MapTransform; import com.dfsek.terra.api.transform.Transformer; import com.dfsek.terra.api.util.FastRandom; import com.dfsek.terra.api.world.tree.Tree; import com.dfsek.terra.bukkit.world.BukkitAdapter; -import com.dfsek.terra.config.base.ConfigPack; +import com.dfsek.terra.config.pack.ConfigPack; import com.dfsek.terra.registry.TreeRegistry; +import com.dfsek.terra.world.TerraWorld; import org.bukkit.Material; import org.bukkit.TreeType; import org.bukkit.block.Block; diff --git a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/listeners/PaperListener.java b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/listeners/PaperListener.java index 04d2ba8ad..899ae6dad 100644 --- a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/listeners/PaperListener.java +++ b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/listeners/PaperListener.java @@ -1,11 +1,10 @@ package com.dfsek.terra.bukkit.listeners; -import com.dfsek.terra.TerraWorld; -import com.dfsek.terra.api.platform.TerraPlugin; +import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.async.AsyncStructureFinder; import com.dfsek.terra.bukkit.world.BukkitAdapter; -import com.dfsek.terra.debug.Debug; -import com.dfsek.terra.population.items.TerraStructure; +import com.dfsek.terra.world.TerraWorld; +import com.dfsek.terra.world.population.items.TerraStructure; import io.papermc.paper.event.world.StructureLocateEvent; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; @@ -25,14 +24,14 @@ public class PaperListener implements Listener { if(!TerraWorld.isTerraWorld(BukkitAdapter.adapt(e.getWorld()))) return; e.setResult(null); // Assume no result. String name = "minecraft:" + e.getType().getName(); - Debug.info("Overriding structure location for \"" + name + "\""); + main.getDebugLogger().info("Overriding structure location for \"" + name + "\""); TerraWorld tw = main.getWorld(BukkitAdapter.adapt(e.getWorld())); TerraStructure config = tw.getConfig().getStructure(tw.getConfig().getTemplate().getLocatable().get(name)); if(config != null) { AsyncStructureFinder finder = new AsyncStructureFinder(tw.getBiomeProvider(), config, BukkitAdapter.adapt(e.getOrigin()), 0, 500, location -> { if(location != null) e.setResult(BukkitAdapter.adapt(location.toLocation(BukkitAdapter.adapt(e.getWorld())))); - Debug.info("Location: " + location); + main.getDebugLogger().info("Location: " + location); }, main); finder.run(); // Do this synchronously. } else { diff --git a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/listeners/SpigotListener.java b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/listeners/SpigotListener.java index 22ac62c21..e3bfa8642 100644 --- a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/listeners/SpigotListener.java +++ b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/listeners/SpigotListener.java @@ -1,11 +1,10 @@ package com.dfsek.terra.bukkit.listeners; -import com.dfsek.terra.TerraWorld; -import com.dfsek.terra.api.platform.TerraPlugin; +import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.async.AsyncStructureFinder; import com.dfsek.terra.bukkit.world.BukkitAdapter; -import com.dfsek.terra.debug.Debug; -import com.dfsek.terra.population.items.TerraStructure; +import com.dfsek.terra.world.TerraWorld; +import com.dfsek.terra.world.population.items.TerraStructure; import org.bukkit.entity.EnderSignal; import org.bukkit.entity.Entity; import org.bukkit.entity.EntityType; @@ -34,17 +33,17 @@ public class SpigotListener implements Listener { public void onEnderEye(EntitySpawnEvent e) { Entity entity = e.getEntity(); if(e.getEntityType().equals(EntityType.ENDER_SIGNAL)) { - Debug.info("Detected Ender Signal..."); + main.getDebugLogger().info("Detected Ender Signal..."); if(!TerraWorld.isTerraWorld(BukkitAdapter.adapt(e.getEntity().getWorld()))) return; TerraWorld tw = main.getWorld(BukkitAdapter.adapt(e.getEntity().getWorld())); EnderSignal signal = (EnderSignal) entity; TerraStructure config = tw.getConfig().getStructure(tw.getConfig().getTemplate().getLocatable().get("STRONGHOLD")); if(config != null) { - Debug.info("Overriding Ender Signal..."); + main.getDebugLogger().info("Overriding Ender Signal..."); AsyncStructureFinder finder = new AsyncStructureFinder(tw.getBiomeProvider(), config, BukkitAdapter.adapt(e.getLocation()), 0, 500, location -> { if(location != null) signal.setTargetLocation(BukkitAdapter.adapt(location.toLocation(BukkitAdapter.adapt(signal.getWorld())))); - Debug.info("Location: " + location); + main.getDebugLogger().info("Location: " + location); }, main); finder.run(); // Do this synchronously so eye doesn't change direction several ticks after spawning. } else diff --git a/common/src/main/java/com/dfsek/terra/api/world/generation/population/ChunkCoordinate.java b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/population/ChunkCoordinate.java similarity index 82% rename from common/src/main/java/com/dfsek/terra/api/world/generation/population/ChunkCoordinate.java rename to platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/population/ChunkCoordinate.java index befa179d5..6e2c87e00 100644 --- a/common/src/main/java/com/dfsek/terra/api/world/generation/population/ChunkCoordinate.java +++ b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/population/ChunkCoordinate.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.api.world.generation.population; +package com.dfsek.terra.bukkit.population; import com.dfsek.terra.api.platform.world.Chunk; @@ -44,7 +44,7 @@ public class ChunkCoordinate implements Serializable { @Override public boolean equals(Object obj) { if(!(obj instanceof ChunkCoordinate)) return false; - com.dfsek.terra.api.world.generation.population.ChunkCoordinate other = (com.dfsek.terra.api.world.generation.population.ChunkCoordinate) obj; + ChunkCoordinate other = (ChunkCoordinate) obj; return other.getX() == x && other.getZ() == z; } } diff --git a/common/src/main/java/com/dfsek/terra/api/Gaea.java b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/population/Gaea.java similarity index 88% rename from common/src/main/java/com/dfsek/terra/api/Gaea.java rename to platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/population/Gaea.java index 4c0890fca..0b38547d6 100644 --- a/common/src/main/java/com/dfsek/terra/api/Gaea.java +++ b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/population/Gaea.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.api; +package com.dfsek.terra.bukkit.population; import com.dfsek.terra.api.platform.world.World; diff --git a/common/src/main/java/com/dfsek/terra/api/world/generation/population/PopulationManager.java b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/population/PopulationManager.java similarity index 94% rename from common/src/main/java/com/dfsek/terra/api/world/generation/population/PopulationManager.java rename to platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/population/PopulationManager.java index c4da430e1..99761067e 100644 --- a/common/src/main/java/com/dfsek/terra/api/world/generation/population/PopulationManager.java +++ b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/population/PopulationManager.java @@ -1,12 +1,10 @@ -package com.dfsek.terra.api.world.generation.population; +package com.dfsek.terra.bukkit.population; -import com.dfsek.terra.api.Gaea; -import com.dfsek.terra.api.platform.TerraPlugin; +import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.platform.world.Chunk; import com.dfsek.terra.api.platform.world.World; import com.dfsek.terra.api.util.FastRandom; import com.dfsek.terra.api.util.GlueList; -import com.dfsek.terra.api.util.SerializationUtil; import com.dfsek.terra.api.world.generation.TerraBlockPopulator; import com.dfsek.terra.profiler.ProfileFuture; import com.dfsek.terra.profiler.WorldProfiler; @@ -18,6 +16,9 @@ import java.util.HashSet; import java.util.List; import java.util.Random; +/** + * Cursed management class for the horrors of Bukkit population + */ public class PopulationManager implements TerraBlockPopulator { private final List attachedPopulators = new GlueList<>(); private final HashSet needsPop = new HashSet<>(); diff --git a/common/src/main/java/com/dfsek/terra/api/util/SerializationUtil.java b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/population/SerializationUtil.java similarity index 93% rename from common/src/main/java/com/dfsek/terra/api/util/SerializationUtil.java rename to platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/population/SerializationUtil.java index 3b6c781ec..e280e7ae7 100644 --- a/common/src/main/java/com/dfsek/terra/api/util/SerializationUtil.java +++ b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/population/SerializationUtil.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.api.util; +package com.dfsek.terra.bukkit.population; import java.io.File; import java.io.FileInputStream; @@ -13,7 +13,7 @@ import java.lang.reflect.Field; public class SerializationUtil { public static Object fromFile(File f) throws IOException, ClassNotFoundException { - ObjectInputStream ois = new MovedObjectInputStream(new FileInputStream(f), "org.polydev.gaea", "com.dfsek.terra.api.gaea"); // Backwards compat with old Gaea location + ObjectInputStream ois = new MovedObjectInputStream(new FileInputStream(f), "com.dfsek.terra.api.world.generation.population", "com.dfsek.terra.bukkit.population"); // Backwards compat with old Gaea location Object o = ois.readObject(); ois.close(); return o; diff --git a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/BukkitAdapter.java b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/BukkitAdapter.java index 4dbd288d8..737c56bdb 100644 --- a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/BukkitAdapter.java +++ b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/BukkitAdapter.java @@ -17,10 +17,12 @@ import com.dfsek.terra.api.platform.world.World; import com.dfsek.terra.api.transform.MapTransform; import com.dfsek.terra.api.transform.Transformer; import com.dfsek.terra.bukkit.BukkitCommandSender; +import com.dfsek.terra.bukkit.BukkitPlayer; import com.dfsek.terra.bukkit.world.block.data.BukkitBlockData; import com.dfsek.terra.bukkit.world.inventory.meta.BukkitEnchantment; import org.bukkit.Location; import org.bukkit.TreeType; +import org.bukkit.entity.Player; import org.bukkit.util.Vector; /** @@ -374,4 +376,12 @@ public final class BukkitAdapter { public static org.bukkit.enchantments.Enchantment adapt(Enchantment enchantment) { return ((BukkitEnchantment) enchantment).getHandle(); } + + public static Player adapt(com.dfsek.terra.api.platform.Player player) { + return ((BukkitPlayer) player).getHandle(); + } + + public static com.dfsek.terra.api.platform.Player adapt(Player player) { + return new BukkitPlayer(player); + } } diff --git a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/BukkitTree.java b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/BukkitTree.java index dba743a20..db12c9c18 100644 --- a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/BukkitTree.java +++ b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/BukkitTree.java @@ -1,7 +1,7 @@ package com.dfsek.terra.bukkit.world; +import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.math.vector.Location; -import com.dfsek.terra.api.platform.TerraPlugin; import com.dfsek.terra.api.platform.block.MaterialData; import com.dfsek.terra.api.platform.handle.WorldHandle; import com.dfsek.terra.api.world.tree.Tree; diff --git a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/TerraFabricPlugin.java b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/TerraFabricPlugin.java index 2aca93442..0935938a9 100644 --- a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/TerraFabricPlugin.java +++ b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/TerraFabricPlugin.java @@ -1,10 +1,8 @@ package com.dfsek.terra.fabric; import com.dfsek.tectonic.loading.TypeRegistry; -import com.dfsek.terra.TerraWorld; -import com.dfsek.terra.api.GenericLoaders; +import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.language.Language; -import com.dfsek.terra.api.platform.TerraPlugin; import com.dfsek.terra.api.platform.block.BlockData; import com.dfsek.terra.api.platform.block.MaterialData; import com.dfsek.terra.api.platform.handle.ItemHandle; @@ -13,10 +11,12 @@ import com.dfsek.terra.api.platform.world.World; import com.dfsek.terra.api.transform.MapTransform; import com.dfsek.terra.api.transform.NotNullValidator; import com.dfsek.terra.api.transform.Transformer; -import com.dfsek.terra.api.world.biome.TerraBiome; -import com.dfsek.terra.config.base.ConfigPack; -import com.dfsek.terra.config.base.PluginConfig; +import com.dfsek.terra.biome.TerraBiome; +import com.dfsek.terra.config.GenericLoaders; +import com.dfsek.terra.config.PluginConfig; import com.dfsek.terra.config.lang.LangUtil; +import com.dfsek.terra.config.pack.ConfigPack; +import com.dfsek.terra.debug.DebugLogger; import com.dfsek.terra.fabric.inventory.FabricItemHandle; import com.dfsek.terra.fabric.mixin.GeneratorTypeAccessor; import com.dfsek.terra.fabric.world.FabricBiome; @@ -25,6 +25,7 @@ import com.dfsek.terra.fabric.world.TerraBiomeSource; import com.dfsek.terra.fabric.world.features.PopulatorFeature; import com.dfsek.terra.fabric.world.generator.FabricChunkGeneratorWrapper; import com.dfsek.terra.registry.ConfigRegistry; +import com.dfsek.terra.world.TerraWorld; import net.fabricmc.api.EnvType; import net.fabricmc.api.ModInitializer; import net.fabricmc.loader.api.FabricLoader; @@ -76,6 +77,7 @@ public class TerraFabricPlugin implements TerraPlugin, ModInitializer { private final GenericLoaders genericLoaders = new GenericLoaders(this); private final Logger logger = Logger.getLogger("Terra"); + private final DebugLogger debugLogger = new DebugLogger(logger); private final ItemHandle itemHandle = new FabricItemHandle(); private final WorldHandle worldHandle = new FabricWorldHandle(); private final ConfigRegistry registry = new ConfigRegistry(); @@ -181,6 +183,11 @@ public class TerraFabricPlugin implements TerraPlugin, ModInitializer { return "Fabric"; } + @Override + public DebugLogger getDebugLogger() { + return debugLogger; + } + Transformer biomeFixer = new Transformer.Builder() .addTransform(id -> BuiltinRegistries.BIOME.get(Identifier.tryParse(id)), new NotNullValidator<>()) .addTransform(id -> BuiltinRegistries.BIOME.get(Identifier.tryParse("minecraft:" + id.toLowerCase())), new NotNullValidator<>()).build(); diff --git a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/world/TerraBiomeSource.java b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/world/TerraBiomeSource.java index c77798b8d..64d9849cd 100644 --- a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/world/TerraBiomeSource.java +++ b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/world/TerraBiomeSource.java @@ -2,7 +2,7 @@ package com.dfsek.terra.fabric.world; import com.dfsek.terra.biome.BiomeProvider; import com.dfsek.terra.biome.UserDefinedBiome; -import com.dfsek.terra.config.base.ConfigPack; +import com.dfsek.terra.config.pack.ConfigPack; import com.dfsek.terra.fabric.TerraFabricPlugin; import com.mojang.serialization.Codec; import com.mojang.serialization.codecs.RecordCodecBuilder; diff --git a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/world/generator/FabricChunkGeneratorWrapper.java b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/world/generator/FabricChunkGeneratorWrapper.java index fe19fa94c..898c230d9 100644 --- a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/world/generator/FabricChunkGeneratorWrapper.java +++ b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/world/generator/FabricChunkGeneratorWrapper.java @@ -2,15 +2,15 @@ package com.dfsek.terra.fabric.world.generator; import com.dfsek.terra.api.platform.world.generator.GeneratorWrapper; import com.dfsek.terra.api.util.FastRandom; -import com.dfsek.terra.config.base.ConfigPack; +import com.dfsek.terra.config.pack.ConfigPack; import com.dfsek.terra.fabric.TerraFabricPlugin; import com.dfsek.terra.fabric.world.TerraBiomeSource; import com.dfsek.terra.fabric.world.handles.world.FabricSeededWorldAccess; -import com.dfsek.terra.generation.MasterChunkGenerator; -import com.dfsek.terra.population.FloraPopulator; -import com.dfsek.terra.population.OrePopulator; -import com.dfsek.terra.population.StructurePopulator; -import com.dfsek.terra.population.TreePopulator; +import com.dfsek.terra.world.generation.MasterChunkGenerator; +import com.dfsek.terra.world.population.FloraPopulator; +import com.dfsek.terra.world.population.OrePopulator; +import com.dfsek.terra.world.population.StructurePopulator; +import com.dfsek.terra.world.population.TreePopulator; import com.mojang.serialization.Codec; import com.mojang.serialization.codecs.RecordCodecBuilder; import net.minecraft.block.BlockState; diff --git a/platforms/region/src/main/java/com/dfsek/terra/StandalonePlugin.java b/platforms/region/src/main/java/com/dfsek/terra/StandalonePlugin.java index 394d1badf..8f26cb66f 100644 --- a/platforms/region/src/main/java/com/dfsek/terra/StandalonePlugin.java +++ b/platforms/region/src/main/java/com/dfsek/terra/StandalonePlugin.java @@ -1,20 +1,22 @@ package com.dfsek.terra; import com.dfsek.tectonic.loading.TypeRegistry; -import com.dfsek.terra.api.GenericLoaders; +import com.dfsek.terra.api.core.TerraPlugin; import com.dfsek.terra.api.language.Language; -import com.dfsek.terra.api.platform.TerraPlugin; import com.dfsek.terra.api.platform.block.BlockData; import com.dfsek.terra.api.platform.block.MaterialData; import com.dfsek.terra.api.platform.handle.ItemHandle; import com.dfsek.terra.api.platform.handle.WorldHandle; import com.dfsek.terra.api.platform.world.Biome; import com.dfsek.terra.api.platform.world.World; -import com.dfsek.terra.config.base.PluginConfig; +import com.dfsek.terra.config.GenericLoaders; +import com.dfsek.terra.config.PluginConfig; import com.dfsek.terra.config.lang.LangUtil; +import com.dfsek.terra.debug.DebugLogger; import com.dfsek.terra.platform.RawBiome; import com.dfsek.terra.platform.RawWorldHandle; import com.dfsek.terra.registry.ConfigRegistry; +import com.dfsek.terra.world.TerraWorld; import java.io.File; import java.io.IOException; @@ -94,6 +96,11 @@ public class StandalonePlugin implements TerraPlugin { return "Standalone"; } + @Override + public DebugLogger getDebugLogger() { + return new DebugLogger(Logger.getLogger("Terra")); + } + @Override public void register(TypeRegistry registry) { registry diff --git a/platforms/region/src/main/java/com/dfsek/terra/platform/GenWrapper.java b/platforms/region/src/main/java/com/dfsek/terra/platform/GenWrapper.java index 419d141a0..25118e8bf 100644 --- a/platforms/region/src/main/java/com/dfsek/terra/platform/GenWrapper.java +++ b/platforms/region/src/main/java/com/dfsek/terra/platform/GenWrapper.java @@ -5,7 +5,7 @@ import com.dfsek.terra.api.platform.world.World; import com.dfsek.terra.api.platform.world.generator.BlockPopulator; import com.dfsek.terra.api.platform.world.generator.ChunkGenerator; import com.dfsek.terra.api.world.generation.TerraChunkGenerator; -import com.dfsek.terra.generation.MasterChunkGenerator; +import com.dfsek.terra.world.generation.MasterChunkGenerator; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; diff --git a/platforms/region/src/main/java/com/dfsek/terra/region/Generator.java b/platforms/region/src/main/java/com/dfsek/terra/region/Generator.java index 5aa0f4246..4f425e224 100644 --- a/platforms/region/src/main/java/com/dfsek/terra/region/Generator.java +++ b/platforms/region/src/main/java/com/dfsek/terra/region/Generator.java @@ -1,15 +1,15 @@ package com.dfsek.terra.region; import com.dfsek.terra.StandalonePlugin; -import com.dfsek.terra.generation.MasterChunkGenerator; -import com.dfsek.terra.generation.math.SamplerCache; import com.dfsek.terra.platform.DirectChunkData; import com.dfsek.terra.platform.DirectWorld; import com.dfsek.terra.platform.GenWrapper; -import com.dfsek.terra.population.FloraPopulator; -import com.dfsek.terra.population.OrePopulator; -import com.dfsek.terra.population.StructurePopulator; -import com.dfsek.terra.population.TreePopulator; +import com.dfsek.terra.world.generation.MasterChunkGenerator; +import com.dfsek.terra.world.generation.math.SamplerCache; +import com.dfsek.terra.world.population.FloraPopulator; +import com.dfsek.terra.world.population.OrePopulator; +import com.dfsek.terra.world.population.StructurePopulator; +import com.dfsek.terra.world.population.TreePopulator; import net.querz.mca.MCAFile; import net.querz.mca.MCAUtil;