From e9dc7d3db653f5bd495ef5da5e8ba75e40b39176 Mon Sep 17 00:00:00 2001 From: dfsek Date: Fri, 2 Jul 2021 10:49:17 -0700 Subject: [PATCH] fix some refactor errors --- .../config/stage}/StageBuilderLoader.java | 2 +- .../addons/palette}/PaletteRegistry.java | 2 +- .../command}/AsyncStructureFinder.java | 2 +- .../command}/structure/SpawnCommand.java | 2 +- .../command}/structure/StructureCommand.java | 2 +- .../structure/StructureExportCommand.java | 2 +- .../structure/StructureLoadCommand.java | 8 +- .../structure/StructureLocateCommand.java | 6 +- .../argument/ScriptArgumentParser.java | 2 +- .../argument/StructureArgumentParser.java | 2 +- .../completer/RotationCompleter.java | 2 +- .../structure/completer/ScriptCompleter.java | 2 +- .../completer/StructureCompleter.java | 2 +- .../terra/api/command/CommandManager.java | 0 .../terra/api/command/CommandTemplate.java | 0 .../api/command/annotation/Argument.java | 0 .../terra/api/command/annotation/Command.java | 0 .../api/command/annotation/Subcommand.java | 0 .../terra/api/command/annotation/Switch.java | 0 .../annotation/inject/ArgumentTarget.java | 0 .../annotation/inject/SwitchTarget.java | 0 .../command/annotation/type/DebugCommand.java | 0 .../annotation/type/PlayerCommand.java | 0 .../command/annotation/type/WorldCommand.java | 0 .../terra/api/command/arg/ArgumentParser.java | 0 .../api/command/arg/DoubleArgumentParser.java | 0 .../command/arg/IntegerArgumentParser.java | 0 .../api/command/arg/StringArgumentParser.java | 0 .../command/exception/CommandException.java | 0 .../command/exception/ExecutionException.java | 0 .../exception/InvalidArgumentsException.java | 0 .../exception/MalformedCommandException.java | 0 .../exception/SwitchFormatException.java | 0 .../api/command/tab/NothingCompleter.java | 0 .../terra/api/command/tab/TabCompleter.java | 0 .../com/dfsek/terra/commands/CommandUtil.java | 3 +- .../command => commands}/ExecutionState.java | 2 +- .../TerraCommandManager.java | 4 +- .../dfsek/terra/config/GenericLoaders.java | 51 +------- .../terra/config/pack/ConfigPackImpl.java | 44 +------ .../terra/config/pack/ConfigPackTemplate.java | 10 -- .../terra/config/pack/WorldConfigImpl.java | 10 +- .../registry/config/ConfigTypeRegistry.java | 28 ---- .../com/dfsek/terra/world/TerraWorldImpl.java | 4 +- .../generators/DefaultChunkGenerator2D.java | 121 ------------------ .../generators/DefaultChunkGenerator3D.java | 73 +---------- .../interpolation/ElevationInterpolator.java | 5 +- .../src/test/java/command/CommandTest.java | 2 +- .../dfsek/terra/bukkit/TerraBukkitPlugin.java | 2 +- .../dfsek/terra/fabric/TerraFabricPlugin.java | 2 +- 50 files changed, 38 insertions(+), 359 deletions(-) rename common/{implementation/src/main/java/com/dfsek/terra/config/loaders/config/biome => addons/biome/provider/pipeline/src/main/java/com/dfsek/terra/addons/biome/pipeline/config/stage}/StageBuilderLoader.java (97%) rename common/{implementation/src/main/java/com/dfsek/terra/registry/config => addons/palette/src/main/java/com/dfsek/terra/addons/palette}/PaletteRegistry.java (94%) rename common/{implementation/src/main/java/com/dfsek/terra/api/world/locate => addons/structure/src/main/java/com/dfsek/terra/addons/structure/command}/AsyncStructureFinder.java (97%) rename common/{implementation/src/main/java/com/dfsek/terra/commands => addons/structure/src/main/java/com/dfsek/terra/addons/structure/command}/structure/SpawnCommand.java (96%) rename common/{implementation/src/main/java/com/dfsek/terra/commands => addons/structure/src/main/java/com/dfsek/terra/addons/structure/command}/structure/StructureCommand.java (95%) rename common/{implementation/src/main/java/com/dfsek/terra/commands => addons/structure/src/main/java/com/dfsek/terra/addons/structure/command}/structure/StructureExportCommand.java (98%) rename common/{implementation/src/main/java/com/dfsek/terra/commands => addons/structure/src/main/java/com/dfsek/terra/addons/structure/command}/structure/StructureLoadCommand.java (90%) rename common/{implementation/src/main/java/com/dfsek/terra/commands => addons/structure/src/main/java/com/dfsek/terra/addons/structure/command}/structure/StructureLocateCommand.java (92%) rename common/{implementation/src/main/java/com/dfsek/terra/commands => addons/structure/src/main/java/com/dfsek/terra/addons/structure/command}/structure/argument/ScriptArgumentParser.java (90%) rename common/{implementation/src/main/java/com/dfsek/terra/commands => addons/structure/src/main/java/com/dfsek/terra/addons/structure/command}/structure/argument/StructureArgumentParser.java (91%) rename common/{implementation/src/main/java/com/dfsek/terra/commands => addons/structure/src/main/java/com/dfsek/terra/addons/structure/command}/structure/completer/RotationCompleter.java (83%) rename common/{implementation/src/main/java/com/dfsek/terra/commands => addons/structure/src/main/java/com/dfsek/terra/addons/structure/command}/structure/completer/ScriptCompleter.java (91%) rename common/{implementation/src/main/java/com/dfsek/terra/commands => addons/structure/src/main/java/com/dfsek/terra/addons/structure/command}/structure/completer/StructureCompleter.java (90%) rename common/{implementation => api}/src/main/java/com/dfsek/terra/api/command/CommandManager.java (100%) rename common/{implementation => api}/src/main/java/com/dfsek/terra/api/command/CommandTemplate.java (100%) rename common/{implementation => api}/src/main/java/com/dfsek/terra/api/command/annotation/Argument.java (100%) rename common/{implementation => api}/src/main/java/com/dfsek/terra/api/command/annotation/Command.java (100%) rename common/{implementation => api}/src/main/java/com/dfsek/terra/api/command/annotation/Subcommand.java (100%) rename common/{implementation => api}/src/main/java/com/dfsek/terra/api/command/annotation/Switch.java (100%) rename common/{implementation => api}/src/main/java/com/dfsek/terra/api/command/annotation/inject/ArgumentTarget.java (100%) rename common/{implementation => api}/src/main/java/com/dfsek/terra/api/command/annotation/inject/SwitchTarget.java (100%) rename common/{implementation => api}/src/main/java/com/dfsek/terra/api/command/annotation/type/DebugCommand.java (100%) rename common/{implementation => api}/src/main/java/com/dfsek/terra/api/command/annotation/type/PlayerCommand.java (100%) rename common/{implementation => api}/src/main/java/com/dfsek/terra/api/command/annotation/type/WorldCommand.java (100%) rename common/{implementation => api}/src/main/java/com/dfsek/terra/api/command/arg/ArgumentParser.java (100%) rename common/{implementation => api}/src/main/java/com/dfsek/terra/api/command/arg/DoubleArgumentParser.java (100%) rename common/{implementation => api}/src/main/java/com/dfsek/terra/api/command/arg/IntegerArgumentParser.java (100%) rename common/{implementation => api}/src/main/java/com/dfsek/terra/api/command/arg/StringArgumentParser.java (100%) rename common/{implementation => api}/src/main/java/com/dfsek/terra/api/command/exception/CommandException.java (100%) rename common/{implementation => api}/src/main/java/com/dfsek/terra/api/command/exception/ExecutionException.java (100%) rename common/{implementation => api}/src/main/java/com/dfsek/terra/api/command/exception/InvalidArgumentsException.java (100%) rename common/{implementation => api}/src/main/java/com/dfsek/terra/api/command/exception/MalformedCommandException.java (100%) rename common/{implementation => api}/src/main/java/com/dfsek/terra/api/command/exception/SwitchFormatException.java (100%) rename common/{implementation => api}/src/main/java/com/dfsek/terra/api/command/tab/NothingCompleter.java (100%) rename common/{implementation => api}/src/main/java/com/dfsek/terra/api/command/tab/TabCompleter.java (100%) rename common/implementation/src/main/java/com/dfsek/terra/{api/command => commands}/ExecutionState.java (95%) rename common/implementation/src/main/java/com/dfsek/terra/{api/command => commands}/TerraCommandManager.java (98%) delete mode 100644 common/implementation/src/main/java/com/dfsek/terra/world/generation/generators/DefaultChunkGenerator2D.java diff --git a/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/biome/StageBuilderLoader.java b/common/addons/biome/provider/pipeline/src/main/java/com/dfsek/terra/addons/biome/pipeline/config/stage/StageBuilderLoader.java similarity index 97% rename from common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/biome/StageBuilderLoader.java rename to common/addons/biome/provider/pipeline/src/main/java/com/dfsek/terra/addons/biome/pipeline/config/stage/StageBuilderLoader.java index 7eec745bc..337a7ee7d 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/biome/StageBuilderLoader.java +++ b/common/addons/biome/provider/pipeline/src/main/java/com/dfsek/terra/addons/biome/pipeline/config/stage/StageBuilderLoader.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.config.loaders.config.biome; +package com.dfsek.terra.addons.biome.pipeline.config.stage; import com.dfsek.tectonic.exception.LoadException; import com.dfsek.tectonic.loading.ConfigLoader; diff --git a/common/implementation/src/main/java/com/dfsek/terra/registry/config/PaletteRegistry.java b/common/addons/palette/src/main/java/com/dfsek/terra/addons/palette/PaletteRegistry.java similarity index 94% rename from common/implementation/src/main/java/com/dfsek/terra/registry/config/PaletteRegistry.java rename to common/addons/palette/src/main/java/com/dfsek/terra/addons/palette/PaletteRegistry.java index 2971c5c59..67c52e131 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/registry/config/PaletteRegistry.java +++ b/common/addons/palette/src/main/java/com/dfsek/terra/addons/palette/PaletteRegistry.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.registry.config; +package com.dfsek.terra.addons.palette; import com.dfsek.terra.api.TerraPlugin; import com.dfsek.terra.api.world.generator.Palette; diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/world/locate/AsyncStructureFinder.java b/common/addons/structure/src/main/java/com/dfsek/terra/addons/structure/command/AsyncStructureFinder.java similarity index 97% rename from common/implementation/src/main/java/com/dfsek/terra/api/world/locate/AsyncStructureFinder.java rename to common/addons/structure/src/main/java/com/dfsek/terra/addons/structure/command/AsyncStructureFinder.java index 325c9d681..e0648356e 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/world/locate/AsyncStructureFinder.java +++ b/common/addons/structure/src/main/java/com/dfsek/terra/addons/structure/command/AsyncStructureFinder.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.api.world.locate; +package com.dfsek.terra.addons.structure.command; import com.dfsek.terra.api.TerraPlugin; import com.dfsek.terra.api.structure.ConfiguredStructure; diff --git a/common/implementation/src/main/java/com/dfsek/terra/commands/structure/SpawnCommand.java b/common/addons/structure/src/main/java/com/dfsek/terra/addons/structure/command/structure/SpawnCommand.java similarity index 96% rename from common/implementation/src/main/java/com/dfsek/terra/commands/structure/SpawnCommand.java rename to common/addons/structure/src/main/java/com/dfsek/terra/addons/structure/command/structure/SpawnCommand.java index e4b43abe2..5d980266d 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/commands/structure/SpawnCommand.java +++ b/common/addons/structure/src/main/java/com/dfsek/terra/addons/structure/command/structure/SpawnCommand.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.commands.structure; +package com.dfsek.terra.addons.structure.command.structure; import com.dfsek.terra.api.TerraPlugin; import com.dfsek.terra.api.command.CommandTemplate; diff --git a/common/implementation/src/main/java/com/dfsek/terra/commands/structure/StructureCommand.java b/common/addons/structure/src/main/java/com/dfsek/terra/addons/structure/command/structure/StructureCommand.java similarity index 95% rename from common/implementation/src/main/java/com/dfsek/terra/commands/structure/StructureCommand.java rename to common/addons/structure/src/main/java/com/dfsek/terra/addons/structure/command/structure/StructureCommand.java index fa44f2e08..cd84be60c 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/commands/structure/StructureCommand.java +++ b/common/addons/structure/src/main/java/com/dfsek/terra/addons/structure/command/structure/StructureCommand.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.commands.structure; +package com.dfsek.terra.addons.structure.command.structure; import com.dfsek.terra.api.command.CommandTemplate; import com.dfsek.terra.api.command.annotation.Command; diff --git a/common/implementation/src/main/java/com/dfsek/terra/commands/structure/StructureExportCommand.java b/common/addons/structure/src/main/java/com/dfsek/terra/addons/structure/command/structure/StructureExportCommand.java similarity index 98% rename from common/implementation/src/main/java/com/dfsek/terra/commands/structure/StructureExportCommand.java rename to common/addons/structure/src/main/java/com/dfsek/terra/addons/structure/command/structure/StructureExportCommand.java index 3448fe3d1..e0e658449 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/commands/structure/StructureExportCommand.java +++ b/common/addons/structure/src/main/java/com/dfsek/terra/addons/structure/command/structure/StructureExportCommand.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.commands.structure; +package com.dfsek.terra.addons.structure.command.structure; import com.dfsek.terra.api.TerraPlugin; import com.dfsek.terra.api.block.state.BlockState; diff --git a/common/implementation/src/main/java/com/dfsek/terra/commands/structure/StructureLoadCommand.java b/common/addons/structure/src/main/java/com/dfsek/terra/addons/structure/command/structure/StructureLoadCommand.java similarity index 90% rename from common/implementation/src/main/java/com/dfsek/terra/commands/structure/StructureLoadCommand.java rename to common/addons/structure/src/main/java/com/dfsek/terra/addons/structure/command/structure/StructureLoadCommand.java index e8de3b413..c215db421 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/commands/structure/StructureLoadCommand.java +++ b/common/addons/structure/src/main/java/com/dfsek/terra/addons/structure/command/structure/StructureLoadCommand.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.commands.structure; +package com.dfsek.terra.addons.structure.command.structure; import com.dfsek.terra.api.TerraPlugin; import com.dfsek.terra.api.command.CommandTemplate; @@ -17,9 +17,9 @@ import com.dfsek.terra.api.injection.annotations.Inject; import com.dfsek.terra.api.structure.Structure; import com.dfsek.terra.api.structure.rotation.Rotation; import com.dfsek.terra.api.util.FastRandom; -import com.dfsek.terra.commands.structure.argument.ScriptArgumentParser; -import com.dfsek.terra.commands.structure.completer.RotationCompleter; -import com.dfsek.terra.commands.structure.completer.ScriptCompleter; +import com.dfsek.terra.addons.structure.command.structure.argument.ScriptArgumentParser; +import com.dfsek.terra.addons.structure.command.structure.completer.RotationCompleter; +import com.dfsek.terra.addons.structure.command.structure.completer.ScriptCompleter; import java.util.concurrent.ThreadLocalRandom; diff --git a/common/implementation/src/main/java/com/dfsek/terra/commands/structure/StructureLocateCommand.java b/common/addons/structure/src/main/java/com/dfsek/terra/addons/structure/command/structure/StructureLocateCommand.java similarity index 92% rename from common/implementation/src/main/java/com/dfsek/terra/commands/structure/StructureLocateCommand.java rename to common/addons/structure/src/main/java/com/dfsek/terra/addons/structure/command/structure/StructureLocateCommand.java index b89db1ddc..ae1441575 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/commands/structure/StructureLocateCommand.java +++ b/common/addons/structure/src/main/java/com/dfsek/terra/addons/structure/command/structure/StructureLocateCommand.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.commands.structure; +package com.dfsek.terra.addons.structure.command.structure; import com.dfsek.terra.api.TerraPlugin; import com.dfsek.terra.api.command.CommandTemplate; @@ -15,8 +15,8 @@ import com.dfsek.terra.api.entity.Player; import com.dfsek.terra.api.injection.annotations.Inject; import com.dfsek.terra.api.vector.Vector3; import com.dfsek.terra.api.world.locate.AsyncStructureFinder; -import com.dfsek.terra.commands.structure.argument.StructureArgumentParser; -import com.dfsek.terra.commands.structure.completer.StructureCompleter; +import com.dfsek.terra.addons.structure.command.structure.argument.StructureArgumentParser; +import com.dfsek.terra.addons.structure.command.structure.completer.StructureCompleter; import com.dfsek.terra.config.lang.LangUtil; import com.dfsek.terra.world.population.items.TerraStructure; diff --git a/common/implementation/src/main/java/com/dfsek/terra/commands/structure/argument/ScriptArgumentParser.java b/common/addons/structure/src/main/java/com/dfsek/terra/addons/structure/command/structure/argument/ScriptArgumentParser.java similarity index 90% rename from common/implementation/src/main/java/com/dfsek/terra/commands/structure/argument/ScriptArgumentParser.java rename to common/addons/structure/src/main/java/com/dfsek/terra/addons/structure/command/structure/argument/ScriptArgumentParser.java index 2e97e2a3a..ff66a9043 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/commands/structure/argument/ScriptArgumentParser.java +++ b/common/addons/structure/src/main/java/com/dfsek/terra/addons/structure/command/structure/argument/ScriptArgumentParser.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.commands.structure.argument; +package com.dfsek.terra.addons.structure.command.structure.argument; import com.dfsek.terra.api.TerraPlugin; import com.dfsek.terra.api.command.arg.ArgumentParser; diff --git a/common/implementation/src/main/java/com/dfsek/terra/commands/structure/argument/StructureArgumentParser.java b/common/addons/structure/src/main/java/com/dfsek/terra/addons/structure/command/structure/argument/StructureArgumentParser.java similarity index 91% rename from common/implementation/src/main/java/com/dfsek/terra/commands/structure/argument/StructureArgumentParser.java rename to common/addons/structure/src/main/java/com/dfsek/terra/addons/structure/command/structure/argument/StructureArgumentParser.java index 84fb271f8..95ab9562e 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/commands/structure/argument/StructureArgumentParser.java +++ b/common/addons/structure/src/main/java/com/dfsek/terra/addons/structure/command/structure/argument/StructureArgumentParser.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.commands.structure.argument; +package com.dfsek.terra.addons.structure.command.structure.argument; import com.dfsek.terra.api.TerraPlugin; import com.dfsek.terra.api.command.arg.ArgumentParser; diff --git a/common/implementation/src/main/java/com/dfsek/terra/commands/structure/completer/RotationCompleter.java b/common/addons/structure/src/main/java/com/dfsek/terra/addons/structure/command/structure/completer/RotationCompleter.java similarity index 83% rename from common/implementation/src/main/java/com/dfsek/terra/commands/structure/completer/RotationCompleter.java rename to common/addons/structure/src/main/java/com/dfsek/terra/addons/structure/command/structure/completer/RotationCompleter.java index 3adf7e09b..92ce61184 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/commands/structure/completer/RotationCompleter.java +++ b/common/addons/structure/src/main/java/com/dfsek/terra/addons/structure/command/structure/completer/RotationCompleter.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.commands.structure.completer; +package com.dfsek.terra.addons.structure.command.structure.completer; import com.dfsek.terra.api.command.tab.TabCompleter; import com.dfsek.terra.api.entity.CommandSender; diff --git a/common/implementation/src/main/java/com/dfsek/terra/commands/structure/completer/ScriptCompleter.java b/common/addons/structure/src/main/java/com/dfsek/terra/addons/structure/command/structure/completer/ScriptCompleter.java similarity index 91% rename from common/implementation/src/main/java/com/dfsek/terra/commands/structure/completer/ScriptCompleter.java rename to common/addons/structure/src/main/java/com/dfsek/terra/addons/structure/command/structure/completer/ScriptCompleter.java index b14760722..04116b97b 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/commands/structure/completer/ScriptCompleter.java +++ b/common/addons/structure/src/main/java/com/dfsek/terra/addons/structure/command/structure/completer/ScriptCompleter.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.commands.structure.completer; +package com.dfsek.terra.addons.structure.command.structure.completer; import com.dfsek.terra.api.TerraPlugin; import com.dfsek.terra.api.command.tab.TabCompleter; diff --git a/common/implementation/src/main/java/com/dfsek/terra/commands/structure/completer/StructureCompleter.java b/common/addons/structure/src/main/java/com/dfsek/terra/addons/structure/command/structure/completer/StructureCompleter.java similarity index 90% rename from common/implementation/src/main/java/com/dfsek/terra/commands/structure/completer/StructureCompleter.java rename to common/addons/structure/src/main/java/com/dfsek/terra/addons/structure/command/structure/completer/StructureCompleter.java index 7d5d963e9..bc1627675 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/commands/structure/completer/StructureCompleter.java +++ b/common/addons/structure/src/main/java/com/dfsek/terra/addons/structure/command/structure/completer/StructureCompleter.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.commands.structure.completer; +package com.dfsek.terra.addons.structure.command.structure.completer; import com.dfsek.terra.api.TerraPlugin; import com.dfsek.terra.api.command.tab.TabCompleter; diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/command/CommandManager.java b/common/api/src/main/java/com/dfsek/terra/api/command/CommandManager.java similarity index 100% rename from common/implementation/src/main/java/com/dfsek/terra/api/command/CommandManager.java rename to common/api/src/main/java/com/dfsek/terra/api/command/CommandManager.java diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/command/CommandTemplate.java b/common/api/src/main/java/com/dfsek/terra/api/command/CommandTemplate.java similarity index 100% rename from common/implementation/src/main/java/com/dfsek/terra/api/command/CommandTemplate.java rename to common/api/src/main/java/com/dfsek/terra/api/command/CommandTemplate.java diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/command/annotation/Argument.java b/common/api/src/main/java/com/dfsek/terra/api/command/annotation/Argument.java similarity index 100% rename from common/implementation/src/main/java/com/dfsek/terra/api/command/annotation/Argument.java rename to common/api/src/main/java/com/dfsek/terra/api/command/annotation/Argument.java diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/command/annotation/Command.java b/common/api/src/main/java/com/dfsek/terra/api/command/annotation/Command.java similarity index 100% rename from common/implementation/src/main/java/com/dfsek/terra/api/command/annotation/Command.java rename to common/api/src/main/java/com/dfsek/terra/api/command/annotation/Command.java diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/command/annotation/Subcommand.java b/common/api/src/main/java/com/dfsek/terra/api/command/annotation/Subcommand.java similarity index 100% rename from common/implementation/src/main/java/com/dfsek/terra/api/command/annotation/Subcommand.java rename to common/api/src/main/java/com/dfsek/terra/api/command/annotation/Subcommand.java diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/command/annotation/Switch.java b/common/api/src/main/java/com/dfsek/terra/api/command/annotation/Switch.java similarity index 100% rename from common/implementation/src/main/java/com/dfsek/terra/api/command/annotation/Switch.java rename to common/api/src/main/java/com/dfsek/terra/api/command/annotation/Switch.java diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/command/annotation/inject/ArgumentTarget.java b/common/api/src/main/java/com/dfsek/terra/api/command/annotation/inject/ArgumentTarget.java similarity index 100% rename from common/implementation/src/main/java/com/dfsek/terra/api/command/annotation/inject/ArgumentTarget.java rename to common/api/src/main/java/com/dfsek/terra/api/command/annotation/inject/ArgumentTarget.java diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/command/annotation/inject/SwitchTarget.java b/common/api/src/main/java/com/dfsek/terra/api/command/annotation/inject/SwitchTarget.java similarity index 100% rename from common/implementation/src/main/java/com/dfsek/terra/api/command/annotation/inject/SwitchTarget.java rename to common/api/src/main/java/com/dfsek/terra/api/command/annotation/inject/SwitchTarget.java diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/command/annotation/type/DebugCommand.java b/common/api/src/main/java/com/dfsek/terra/api/command/annotation/type/DebugCommand.java similarity index 100% rename from common/implementation/src/main/java/com/dfsek/terra/api/command/annotation/type/DebugCommand.java rename to common/api/src/main/java/com/dfsek/terra/api/command/annotation/type/DebugCommand.java diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/command/annotation/type/PlayerCommand.java b/common/api/src/main/java/com/dfsek/terra/api/command/annotation/type/PlayerCommand.java similarity index 100% rename from common/implementation/src/main/java/com/dfsek/terra/api/command/annotation/type/PlayerCommand.java rename to common/api/src/main/java/com/dfsek/terra/api/command/annotation/type/PlayerCommand.java diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/command/annotation/type/WorldCommand.java b/common/api/src/main/java/com/dfsek/terra/api/command/annotation/type/WorldCommand.java similarity index 100% rename from common/implementation/src/main/java/com/dfsek/terra/api/command/annotation/type/WorldCommand.java rename to common/api/src/main/java/com/dfsek/terra/api/command/annotation/type/WorldCommand.java diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/command/arg/ArgumentParser.java b/common/api/src/main/java/com/dfsek/terra/api/command/arg/ArgumentParser.java similarity index 100% rename from common/implementation/src/main/java/com/dfsek/terra/api/command/arg/ArgumentParser.java rename to common/api/src/main/java/com/dfsek/terra/api/command/arg/ArgumentParser.java diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/command/arg/DoubleArgumentParser.java b/common/api/src/main/java/com/dfsek/terra/api/command/arg/DoubleArgumentParser.java similarity index 100% rename from common/implementation/src/main/java/com/dfsek/terra/api/command/arg/DoubleArgumentParser.java rename to common/api/src/main/java/com/dfsek/terra/api/command/arg/DoubleArgumentParser.java diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/command/arg/IntegerArgumentParser.java b/common/api/src/main/java/com/dfsek/terra/api/command/arg/IntegerArgumentParser.java similarity index 100% rename from common/implementation/src/main/java/com/dfsek/terra/api/command/arg/IntegerArgumentParser.java rename to common/api/src/main/java/com/dfsek/terra/api/command/arg/IntegerArgumentParser.java diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/command/arg/StringArgumentParser.java b/common/api/src/main/java/com/dfsek/terra/api/command/arg/StringArgumentParser.java similarity index 100% rename from common/implementation/src/main/java/com/dfsek/terra/api/command/arg/StringArgumentParser.java rename to common/api/src/main/java/com/dfsek/terra/api/command/arg/StringArgumentParser.java diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/command/exception/CommandException.java b/common/api/src/main/java/com/dfsek/terra/api/command/exception/CommandException.java similarity index 100% rename from common/implementation/src/main/java/com/dfsek/terra/api/command/exception/CommandException.java rename to common/api/src/main/java/com/dfsek/terra/api/command/exception/CommandException.java diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/command/exception/ExecutionException.java b/common/api/src/main/java/com/dfsek/terra/api/command/exception/ExecutionException.java similarity index 100% rename from common/implementation/src/main/java/com/dfsek/terra/api/command/exception/ExecutionException.java rename to common/api/src/main/java/com/dfsek/terra/api/command/exception/ExecutionException.java diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/command/exception/InvalidArgumentsException.java b/common/api/src/main/java/com/dfsek/terra/api/command/exception/InvalidArgumentsException.java similarity index 100% rename from common/implementation/src/main/java/com/dfsek/terra/api/command/exception/InvalidArgumentsException.java rename to common/api/src/main/java/com/dfsek/terra/api/command/exception/InvalidArgumentsException.java diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/command/exception/MalformedCommandException.java b/common/api/src/main/java/com/dfsek/terra/api/command/exception/MalformedCommandException.java similarity index 100% rename from common/implementation/src/main/java/com/dfsek/terra/api/command/exception/MalformedCommandException.java rename to common/api/src/main/java/com/dfsek/terra/api/command/exception/MalformedCommandException.java diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/command/exception/SwitchFormatException.java b/common/api/src/main/java/com/dfsek/terra/api/command/exception/SwitchFormatException.java similarity index 100% rename from common/implementation/src/main/java/com/dfsek/terra/api/command/exception/SwitchFormatException.java rename to common/api/src/main/java/com/dfsek/terra/api/command/exception/SwitchFormatException.java diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/command/tab/NothingCompleter.java b/common/api/src/main/java/com/dfsek/terra/api/command/tab/NothingCompleter.java similarity index 100% rename from common/implementation/src/main/java/com/dfsek/terra/api/command/tab/NothingCompleter.java rename to common/api/src/main/java/com/dfsek/terra/api/command/tab/NothingCompleter.java diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/command/tab/TabCompleter.java b/common/api/src/main/java/com/dfsek/terra/api/command/tab/TabCompleter.java similarity index 100% rename from common/implementation/src/main/java/com/dfsek/terra/api/command/tab/TabCompleter.java rename to common/api/src/main/java/com/dfsek/terra/api/command/tab/TabCompleter.java diff --git a/common/implementation/src/main/java/com/dfsek/terra/commands/CommandUtil.java b/common/implementation/src/main/java/com/dfsek/terra/commands/CommandUtil.java index 3d2e3423a..98fc37a80 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/commands/CommandUtil.java +++ b/common/implementation/src/main/java/com/dfsek/terra/commands/CommandUtil.java @@ -4,11 +4,10 @@ import com.dfsek.terra.api.command.CommandManager; import com.dfsek.terra.api.command.exception.MalformedCommandException; import com.dfsek.terra.commands.biome.BiomeCommand; import com.dfsek.terra.commands.profiler.ProfileCommand; -import com.dfsek.terra.commands.structure.StructureCommand; +import com.dfsek.terra.addons.structure.command.structure.StructureCommand; public final class CommandUtil { public static void registerAll(CommandManager manager) throws MalformedCommandException { - manager.register("structure", StructureCommand.class); manager.register("profile", ProfileCommand.class); manager.register("reload", ReloadCommand.class); manager.register("addons", AddonsCommand.class); diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/command/ExecutionState.java b/common/implementation/src/main/java/com/dfsek/terra/commands/ExecutionState.java similarity index 95% rename from common/implementation/src/main/java/com/dfsek/terra/api/command/ExecutionState.java rename to common/implementation/src/main/java/com/dfsek/terra/commands/ExecutionState.java index 9c55b7a55..c429068fb 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/command/ExecutionState.java +++ b/common/implementation/src/main/java/com/dfsek/terra/commands/ExecutionState.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.api.command; +package com.dfsek.terra.commands; import com.dfsek.terra.api.entity.CommandSender; diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/command/TerraCommandManager.java b/common/implementation/src/main/java/com/dfsek/terra/commands/TerraCommandManager.java similarity index 98% rename from common/implementation/src/main/java/com/dfsek/terra/api/command/TerraCommandManager.java rename to common/implementation/src/main/java/com/dfsek/terra/commands/TerraCommandManager.java index 76370a7c3..3b08b8a27 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/command/TerraCommandManager.java +++ b/common/implementation/src/main/java/com/dfsek/terra/commands/TerraCommandManager.java @@ -1,6 +1,8 @@ -package com.dfsek.terra.api.command; +package com.dfsek.terra.commands; import com.dfsek.terra.api.TerraPlugin; +import com.dfsek.terra.api.command.CommandManager; +import com.dfsek.terra.api.command.CommandTemplate; import com.dfsek.terra.api.command.annotation.Argument; import com.dfsek.terra.api.command.annotation.Command; import com.dfsek.terra.api.command.annotation.Subcommand; diff --git a/common/implementation/src/main/java/com/dfsek/terra/config/GenericLoaders.java b/common/implementation/src/main/java/com/dfsek/terra/config/GenericLoaders.java index dc27ca205..b39606347 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/config/GenericLoaders.java +++ b/common/implementation/src/main/java/com/dfsek/terra/config/GenericLoaders.java @@ -4,7 +4,6 @@ import com.dfsek.tectonic.loading.TypeRegistry; import com.dfsek.terra.api.TerraPlugin; import com.dfsek.terra.api.addon.TerraAddon; import com.dfsek.terra.api.block.BlockType; -import com.dfsek.terra.api.math.GridSpawn; import com.dfsek.terra.api.tectonic.LoaderRegistrar; import com.dfsek.terra.api.util.ProbabilityCollection; import com.dfsek.terra.api.util.Range; @@ -13,42 +12,14 @@ import com.dfsek.terra.api.util.seeded.SourceSeeded; import com.dfsek.terra.api.util.seeded.StageSeeded; import com.dfsek.terra.api.world.biome.generation.BiomeProvider; import com.dfsek.terra.api.world.biome.generation.pipeline.BiomeSource; -import com.dfsek.terra.addons.biome.pipeline.stages.ExpanderStage; -import com.dfsek.terra.addons.biome.pipeline.stages.MutatorStage; -import com.dfsek.terra.api.world.biome.provider.ImageBiomeProvider; -import com.dfsek.terra.api.world.palette.holder.PaletteHolder; -import com.dfsek.terra.api.world.palette.holder.PaletteLayerHolder; -import com.dfsek.terra.api.world.palette.slant.SlantHolder; -import com.dfsek.terra.carving.CarverPalette; import com.dfsek.terra.config.loaders.LinkedHashMapLoader; import com.dfsek.terra.config.loaders.MaterialSetLoader; import com.dfsek.terra.config.loaders.ProbabilityCollectionLoader; import com.dfsek.terra.config.loaders.RangeLoader; -import com.dfsek.terra.config.loaders.config.FloraLayerLoader; -import com.dfsek.terra.config.loaders.config.GridSpawnLoader; -import com.dfsek.terra.config.loaders.config.OreConfigLoader; -import com.dfsek.terra.config.loaders.config.OreHolderLoader; -import com.dfsek.terra.config.loaders.config.TreeLayerLoader; import com.dfsek.terra.config.loaders.config.biome.BiomeProviderBuilderLoader; import com.dfsek.terra.config.loaders.config.biome.SourceBuilderLoader; import com.dfsek.terra.config.loaders.config.biome.StageBuilderLoader; import com.dfsek.terra.config.loaders.config.biome.templates.source.NoiseSourceTemplate; -import com.dfsek.terra.addons.biome.pipeline.config.stage.expander.ExpanderStageTemplate; -import com.dfsek.terra.addons.biome.pipeline.config.stage.mutator.BorderListMutatorTemplate; -import com.dfsek.terra.addons.biome.pipeline.config.stage.mutator.BorderMutatorTemplate; -import com.dfsek.terra.addons.biome.pipeline.config.stage.mutator.ReplaceListMutatorTemplate; -import com.dfsek.terra.addons.biome.pipeline.config.stage.mutator.ReplaceMutatorTemplate; -import com.dfsek.terra.addons.biome.pipeline.config.stage.mutator.SmoothMutatorTemplate; -import com.dfsek.terra.config.loaders.config.function.FunctionTemplate; -import com.dfsek.terra.addons.palette.palette.CarverPaletteLoader; -import com.dfsek.terra.addons.palette.palette.PaletteHolderLoader; -import com.dfsek.terra.addons.palette.palette.PaletteLayerLoader; -import com.dfsek.terra.addons.palette.palette.slant.SlantHolderLoader; -import com.dfsek.terra.addons.flora.flora.FloraLayer; -import com.dfsek.terra.addons.flora.flora.TerraFlora; -import com.dfsek.terra.addons.ore.ores.OreConfig; -import com.dfsek.terra.addons.ore.ores.OreHolder; -import com.dfsek.terra.addons.tree.tree.TreeLayer; import java.util.LinkedHashMap; @@ -63,34 +34,14 @@ public class GenericLoaders implements LoaderRegistrar { public void register(TypeRegistry registry) { registry.registerLoader(ProbabilityCollection.class, new ProbabilityCollectionLoader()) .registerLoader(Range.class, new RangeLoader()) - .registerLoader(GridSpawn.class, new GridSpawnLoader()) - .registerLoader(PaletteHolder.class, new PaletteHolderLoader()) - .registerLoader(PaletteLayerHolder.class, new PaletteLayerLoader()) - .registerLoader(SlantHolder.class, new SlantHolderLoader()) - .registerLoader(FloraLayer.class, new FloraLayerLoader()) - .registerLoader(OreConfig.class, new OreConfigLoader()) - .registerLoader(TreeLayer.class, new TreeLayerLoader()) .registerLoader(MaterialSet.class, new MaterialSetLoader()) - .registerLoader(OreHolder.class, new OreHolderLoader()) - .registerLoader(ReplaceMutatorTemplate.class, ReplaceMutatorTemplate::new) - .registerLoader(ExpanderStageTemplate.class, ExpanderStageTemplate::new) - .registerLoader(SmoothMutatorTemplate.class, SmoothMutatorTemplate::new) - .registerLoader(ReplaceListMutatorTemplate.class, ReplaceListMutatorTemplate::new) - .registerLoader(BorderMutatorTemplate.class, BorderMutatorTemplate::new) - .registerLoader(BorderListMutatorTemplate.class, BorderListMutatorTemplate::new) .registerLoader(NoiseSourceTemplate.class, NoiseSourceTemplate::new) - .registerLoader(FunctionTemplate.class, FunctionTemplate::new) .registerLoader(LinkedHashMap.class, new LinkedHashMapLoader()) - .registerLoader(CarverPalette.class, new CarverPaletteLoader()) .registerLoader(SourceSeeded.class, new SourceBuilderLoader()) .registerLoader(StageSeeded.class, new StageBuilderLoader()) .registerLoader(BiomeProvider.BiomeProviderBuilder.class, new BiomeProviderBuilderLoader()) .registerLoader(BiomeProvider.Type.class, (t, object, cf) -> BiomeProvider.Type.valueOf((String) object)) - .registerLoader(BiomeSource.Type.class, (t, object, cf) -> BiomeSource.Type.valueOf((String) object)) - .registerLoader(ImageBiomeProvider.Align.class, (t, object, cf) -> ImageBiomeProvider.Align.valueOf((String) object)) - .registerLoader(ExpanderStage.Type.class, (t, object, cf) -> ExpanderStage.Type.valueOf((String) object)) - .registerLoader(MutatorStage.Type.class, (t, object, cf) -> MutatorStage.Type.valueOf((String) object)) - .registerLoader(TerraFlora.Search.class, (t, o, l) -> TerraFlora.Search.valueOf(o.toString())); + .registerLoader(BiomeSource.Type.class, (t, object, cf) -> BiomeSource.Type.valueOf((String) object)); if(main != null) { registry.registerLoader(TerraAddon.class, main.getAddons()) diff --git a/common/implementation/src/main/java/com/dfsek/terra/config/pack/ConfigPackImpl.java b/common/implementation/src/main/java/com/dfsek/terra/config/pack/ConfigPackImpl.java index 6746ad28b..1b5b76fee 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/config/pack/ConfigPackImpl.java +++ b/common/implementation/src/main/java/com/dfsek/terra/config/pack/ConfigPackImpl.java @@ -19,55 +19,41 @@ import com.dfsek.terra.api.event.events.config.ConfigPackPostLoadEvent; import com.dfsek.terra.api.event.events.config.ConfigPackPreLoadEvent; import com.dfsek.terra.api.registry.CheckedRegistry; import com.dfsek.terra.api.registry.OpenRegistry; -import com.dfsek.terra.api.registry.Registry; -import com.dfsek.terra.api.structure.ConfiguredStructure; import com.dfsek.terra.api.structure.LootTable; import com.dfsek.terra.api.structure.Structure; -import com.dfsek.terra.addons.structure.structures.loot.LootTableImpl; -import com.dfsek.terra.addons.structure.structures.parser.lang.functions.FunctionBuilder; -import com.dfsek.terra.addons.structure.structures.script.StructureScript; import com.dfsek.terra.api.util.generic.pair.ImmutablePair; import com.dfsek.terra.api.util.seeded.NoiseProvider; import com.dfsek.terra.api.world.TerraWorld; import com.dfsek.terra.api.world.biome.generation.BiomeProvider; -import com.dfsek.terra.api.util.seeded.BiomeBuilder; import com.dfsek.terra.config.dummy.DummyWorld; 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.loaders.config.BufferedImageLoader; -import com.dfsek.terra.config.loaders.config.biome.templates.provider.BiomePipelineTemplate; -import com.dfsek.terra.config.loaders.config.biome.templates.provider.ImageProviderTemplate; -import com.dfsek.terra.config.loaders.config.biome.templates.provider.SingleBiomeProviderTemplate; import com.dfsek.terra.config.prototype.ProtoConfig; import com.dfsek.terra.registry.CheckedRegistryImpl; import com.dfsek.terra.registry.OpenRegistryImpl; import com.dfsek.terra.registry.config.ConfigTypeRegistry; import com.dfsek.terra.registry.config.NoiseRegistry; import com.dfsek.terra.world.TerraWorldImpl; -import com.dfsek.terra.world.population.items.TerraStructure; -import org.apache.commons.io.IOUtils; -import org.json.simple.parser.ParseException; import java.awt.image.BufferedImage; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; -import java.io.InputStream; import java.lang.reflect.Type; -import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.Collections; import java.util.Enumeration; import java.util.HashMap; -import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; import java.util.zip.ZipEntry; import java.util.zip.ZipFile; + /** * Represents a Terra configuration pack. */ @@ -196,7 +182,6 @@ public class ConfigPackImpl implements ConfigPack { }; putPair(map, NoiseProvider.class, new NoiseRegistry()); - putPair(map, FunctionBuilder.class, new OpenRegistryImpl<>()); putPair(map, LootTable.class, new OpenRegistryImpl<>()); putPair(map, Structure.class, new OpenRegistryImpl<>()); @@ -233,25 +218,6 @@ public class ConfigPackImpl implements ConfigPack { varScope.create(var.getKey(), var.getValue()); } - loader.open("", ".tesf").thenEntries(entries -> { - for(Map.Entry entry : entries) { - try(InputStream stream = entry.getValue()) { - Structure structure = new StructureScript(stream, main, getRegistry(Structure.class), getRegistry(LootTable.class), (Registry>) (Object) getRegistry(FunctionBuilder.class)); - getOpenRegistry(Structure.class).add(structure.getId(), structure); - } catch(com.dfsek.terra.addons.structure.structures.parser.exceptions.ParseException | IOException e) { - throw new LoadException("Unable to load script \"" + entry.getKey() + "\"", e); - } - } - }).close().open("structures/loot", ".json").thenEntries(entries -> { - for(Map.Entry entry : entries) { - try { - getOpenRegistry(LootTable.class).add(entry.getKey(), new LootTableImpl(IOUtils.toString(entry.getValue(), StandardCharsets.UTF_8), main)); - } catch(ParseException | IOException | NullPointerException e) { - throw new LoadException("Unable to load loot table \"" + entry.getKey() + "\"", e); - } - } - }).close(); - List configurations = new ArrayList<>(); loader.open("", ".yml").thenEntries(entries -> entries.forEach(stream -> configurations.add(new Configuration(stream.getValue(), stream.getKey())))); @@ -275,9 +241,6 @@ public class ConfigPackImpl implements ConfigPack { } - public Set getStructures() { - return new HashSet<>(getRegistry(TerraStructure.class).entries()); - } public ConfigPackTemplate getTemplate() { return template; @@ -309,10 +272,7 @@ public class ConfigPackImpl implements ConfigPack { public void register(TypeRegistry registry) { registry .registerLoader(ConfigType.class, configTypeRegistry) - .registerLoader(BufferedImage.class, new BufferedImageLoader(loader)) - .registerLoader(SingleBiomeProviderTemplate.class, SingleBiomeProviderTemplate::new) - .registerLoader(BiomePipelineTemplate.class, () -> new BiomePipelineTemplate(main)) - .registerLoader(ImageProviderTemplate.class, () -> new ImageProviderTemplate(getRegistry(BiomeBuilder.class))); + .registerLoader(BufferedImage.class, new BufferedImageLoader(loader)); loaders.forEach(registry::registerLoader); objectLoaders.forEach((t, l) -> registry.registerLoader(t, (TemplateProvider>) ((Object) l))); } diff --git a/common/implementation/src/main/java/com/dfsek/terra/config/pack/ConfigPackTemplate.java b/common/implementation/src/main/java/com/dfsek/terra/config/pack/ConfigPackTemplate.java index d1b767d04..de34e4213 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/config/pack/ConfigPackTemplate.java +++ b/common/implementation/src/main/java/com/dfsek/terra/config/pack/ConfigPackTemplate.java @@ -5,11 +5,9 @@ import com.dfsek.tectonic.annotations.Value; import com.dfsek.tectonic.config.ConfigTemplate; import com.dfsek.terra.api.addon.TerraAddon; import com.dfsek.terra.api.util.seeded.NoiseSeeded; -import com.dfsek.terra.config.loaders.config.function.FunctionTemplate; import java.util.HashMap; import java.util.HashSet; -import java.util.LinkedHashMap; import java.util.Map; import java.util.Set; @@ -33,10 +31,6 @@ public class ConfigPackTemplate implements ConfigTemplate { @Default private boolean betaCarvers = false; - @Value("functions") - @Default - private LinkedHashMap functions = new LinkedHashMap<>(); - @Value("structures.locatable") @Default private Map locatable = new HashMap<>(); @@ -113,10 +107,6 @@ public class ConfigPackTemplate implements ConfigTemplate { return disableTrees; } - public LinkedHashMap getFunctions() { - return functions; - } - public String getVersion() { return version; } diff --git a/common/implementation/src/main/java/com/dfsek/terra/config/pack/WorldConfigImpl.java b/common/implementation/src/main/java/com/dfsek/terra/config/pack/WorldConfigImpl.java index e8bc0fe7a..5754ea379 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/config/pack/WorldConfigImpl.java +++ b/common/implementation/src/main/java/com/dfsek/terra/config/pack/WorldConfigImpl.java @@ -4,21 +4,17 @@ import com.dfsek.terra.api.TerraPlugin; import com.dfsek.terra.api.config.WorldConfig; import com.dfsek.terra.api.registry.OpenRegistry; import com.dfsek.terra.api.registry.Registry; -import com.dfsek.terra.api.structure.ConfiguredStructure; +import com.dfsek.terra.api.util.seeded.BiomeBuilder; import com.dfsek.terra.api.world.TerraWorld; import com.dfsek.terra.api.world.biome.TerraBiome; import com.dfsek.terra.api.world.biome.generation.BiomeProvider; import com.dfsek.terra.api.world.generator.SamplerCache; -import com.dfsek.terra.api.util.seeded.BiomeBuilder; import com.dfsek.terra.registry.LockedRegistryImpl; import com.dfsek.terra.registry.OpenRegistryImpl; import com.dfsek.terra.world.generation.math.SamplerCacheImpl; -import com.dfsek.terra.world.population.items.TerraStructure; import java.util.HashMap; -import java.util.HashSet; import java.util.Map; -import java.util.Set; public class WorldConfigImpl implements WorldConfig { private final SamplerCache samplerCache; @@ -120,10 +116,6 @@ public class WorldConfigImpl implements WorldConfig { return getTemplate().isDisableSaplings(); } - public Set getStructures() { - return new HashSet<>(getRegistry(TerraStructure.class).entries()); - } - public ConfigPackTemplate getTemplate() { return pack.getTemplate(); } diff --git a/common/implementation/src/main/java/com/dfsek/terra/registry/config/ConfigTypeRegistry.java b/common/implementation/src/main/java/com/dfsek/terra/registry/config/ConfigTypeRegistry.java index 488ba91d0..58e32a83e 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/registry/config/ConfigTypeRegistry.java +++ b/common/implementation/src/main/java/com/dfsek/terra/registry/config/ConfigTypeRegistry.java @@ -8,29 +8,8 @@ import com.dfsek.terra.api.config.ConfigFactory; import com.dfsek.terra.api.config.ConfigPack; import com.dfsek.terra.api.config.ConfigType; import com.dfsek.terra.api.registry.OpenRegistry; -import com.dfsek.terra.api.util.seeded.BiomeBuilder; -import com.dfsek.terra.api.world.Flora; -import com.dfsek.terra.api.world.Tree; -import com.dfsek.terra.api.world.generator.Palette; -import com.dfsek.terra.carving.UserDefinedCarver; -import com.dfsek.terra.config.factories.BiomeFactory; -import com.dfsek.terra.config.factories.CarverFactory; -import com.dfsek.terra.config.factories.FloraFactory; -import com.dfsek.terra.config.factories.OreFactory; -import com.dfsek.terra.config.factories.PaletteFactory; -import com.dfsek.terra.config.factories.StructureFactory; -import com.dfsek.terra.config.factories.TreeFactory; import com.dfsek.terra.config.pack.ConfigPackImpl; -import com.dfsek.terra.config.templates.BiomeTemplate; -import com.dfsek.terra.config.templates.CarverTemplate; -import com.dfsek.terra.config.templates.FloraTemplate; -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.registry.OpenRegistryImpl; -import com.dfsek.terra.world.population.items.TerraStructure; -import com.dfsek.terra.addons.ore.ores.Ore; import java.util.LinkedHashMap; import java.util.function.BiConsumer; @@ -42,13 +21,6 @@ public class ConfigTypeRegistry extends OpenRegistryImpl> { public ConfigTypeRegistry(ConfigPackImpl pack, TerraPlugin main, BiConsumer> callback) { super(new LinkedHashMap<>()); // Ordered this.callback = callback; - add("PALETTE", new ConfigBuilder<>(new PaletteFactory(), PaletteTemplate::new, Palette.class, () -> new PaletteRegistry(main))); - add("ORE", new ConfigBuilder<>(new OreFactory(), OreTemplate::new, Ore.class, OpenRegistryImpl::new)); - add("FLORA", new ConfigBuilder<>(new FloraFactory(), FloraTemplate::new, Flora.class, OpenRegistryImpl::new)); - add("CARVER", new ConfigBuilder<>(new CarverFactory(pack), CarverTemplate::new, UserDefinedCarver.class, OpenRegistryImpl::new)); - add("STRUCTURE", new ConfigBuilder<>(new StructureFactory(), StructureTemplate::new, TerraStructure.class, OpenRegistryImpl::new)); - add("TREE", new ConfigBuilder<>(new TreeFactory(), TreeTemplate::new, Tree.class, OpenRegistryImpl::new)); - add("BIOME", new ConfigBuilder<>(new BiomeFactory(pack), () -> new BiomeTemplate(pack, main), BiomeBuilder.class, BiomeRegistry::new)); add("PACK", new PackBuilder()); } diff --git a/common/implementation/src/main/java/com/dfsek/terra/world/TerraWorldImpl.java b/common/implementation/src/main/java/com/dfsek/terra/world/TerraWorldImpl.java index feb2eb753..a0e8269d6 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/world/TerraWorldImpl.java +++ b/common/implementation/src/main/java/com/dfsek/terra/world/TerraWorldImpl.java @@ -7,7 +7,7 @@ import com.dfsek.terra.api.event.events.world.TerraWorldLoadEvent; import com.dfsek.terra.api.vector.Vector3; import com.dfsek.terra.api.world.TerraWorld; import com.dfsek.terra.api.world.World; -import com.dfsek.terra.api.world.biome.UserDefinedBiome; +import com.dfsek.terra.api.world.biome.TerraBiome; import com.dfsek.terra.api.world.biome.generation.BiomeProvider; import com.dfsek.terra.api.world.generator.Palette; import com.dfsek.terra.api.world.generator.Sampler; @@ -57,7 +57,7 @@ public class TerraWorldImpl implements TerraWorld { @Override public BlockState getUngeneratedBlock(int x, int y, int z) { - UserDefinedBiome biome = (UserDefinedBiome) provider.getBiome(x, z); + TerraBiome biome = provider.getBiome(x, z); Palette palette = biome.getGenerator(world).getPalette(y); Sampler sampler = config.getSamplerCache().get(x, z); int fdX = FastMath.floorMod(x, 16); diff --git a/common/implementation/src/main/java/com/dfsek/terra/world/generation/generators/DefaultChunkGenerator2D.java b/common/implementation/src/main/java/com/dfsek/terra/world/generation/generators/DefaultChunkGenerator2D.java deleted file mode 100644 index fe497790d..000000000 --- a/common/implementation/src/main/java/com/dfsek/terra/world/generation/generators/DefaultChunkGenerator2D.java +++ /dev/null @@ -1,121 +0,0 @@ -package com.dfsek.terra.world.generation.generators; - -import com.dfsek.terra.api.TerraPlugin; -import com.dfsek.terra.api.block.state.BlockState; -import com.dfsek.terra.api.math.range.ConstantRange; -import com.dfsek.terra.api.profiler.ProfileFrame; -import com.dfsek.terra.api.util.PaletteUtil; -import com.dfsek.terra.api.world.BiomeGrid; -import com.dfsek.terra.api.world.TerraWorld; -import com.dfsek.terra.api.world.World; -import com.dfsek.terra.api.world.biome.TerraBiome; -import com.dfsek.terra.api.world.biome.UserDefinedBiome; -import com.dfsek.terra.api.world.biome.generation.BiomeProvider; -import com.dfsek.terra.api.world.generator.ChunkData; -import com.dfsek.terra.api.world.generator.Palette; -import com.dfsek.terra.api.world.generator.Sampler; -import com.dfsek.terra.api.world.generator.SamplerCache; -import com.dfsek.terra.api.world.generator.TerraBlockPopulator; -import com.dfsek.terra.api.world.generator.TerraChunkGenerator; -import com.dfsek.terra.config.pack.ConfigPackImpl; -import com.dfsek.terra.config.templates.BiomeTemplate; -import com.dfsek.terra.world.Carver; -import com.dfsek.terra.world.carving.NoiseCarver; -import com.dfsek.terra.world.generation.math.samplers.Sampler2D; -import com.dfsek.terra.world.population.CavePopulator; -import com.dfsek.terra.world.population.OrePopulator; -import com.dfsek.terra.world.population.StructurePopulator; -import com.dfsek.terra.world.population.TreePopulator; -import net.jafama.FastMath; -import org.jetbrains.annotations.NotNull; - -import java.util.ArrayList; -import java.util.List; -import java.util.Random; - -public class DefaultChunkGenerator2D implements TerraChunkGenerator { - private final ConfigPackImpl configPack; - private final TerraPlugin main; - - private final Carver carver; - private final List blockPopulators = new ArrayList<>(); - - private final SamplerCache cache; - - public DefaultChunkGenerator2D(ConfigPackImpl c, TerraPlugin main, SamplerCache cache) { - this.configPack = c; - this.main = main; - blockPopulators.add(new CavePopulator(main)); - blockPopulators.add(new StructurePopulator(main)); - blockPopulators.add(new OrePopulator(main)); - blockPopulators.add(new TreePopulator(main)); - blockPopulators.add(new TreePopulator(main)); - carver = new NoiseCarver(new ConstantRange(0, 255), main.getWorldHandle().createBlockData("minecraft:air"), main); - this.cache = cache; - } - - @Override - public ConfigPackImpl getConfigPack() { - return configPack; - } - - @Override - public TerraPlugin getMain() { - return main; - } - - @Override - @SuppressWarnings({"try"}) - public ChunkData generateChunkData(@NotNull World world, Random random, int chunkX, int chunkZ, ChunkData chunk) { - TerraWorld tw = main.getWorld(world); - BiomeProvider grid = tw.getBiomeProvider(); - try(ProfileFrame ignore = main.getProfiler().profile("chunk_base_2d")) { - if(!tw.isSafe()) return chunk; - int xOrig = (chunkX << 4); - int zOrig = (chunkZ << 4); - - Sampler sampler = cache.getChunk(chunkX, chunkZ); - - for(int x = 0; x < 16; x++) { - for(int z = 0; z < 16; z++) { - int paletteLevel = 0; - int seaPaletteLevel = 0; - - int cx = xOrig + x; - int cz = zOrig + z; - - TerraBiome b = grid.getBiome(xOrig + x, zOrig + z); - BiomeTemplate c = ((UserDefinedBiome) b).getConfig(); - - Palette seaPalette = c.getOceanPalette(); - - int height = FastMath.min((int) sampler.sample(x, 0, z), world.getMaxHeight() - 1); - - for(int y = FastMath.max(height, c.getSeaLevel()); y >= 0; y--) { - BlockState data = y > height ? seaPalette.get(seaPaletteLevel++, cx, y, cz) : PaletteUtil.getPalette(x, y, z, c, sampler).get(paletteLevel++, cx, y, cz); - chunk.setBlock(x, y, z, data); - } - } - } - if(configPack.getTemplate().doBetaCarvers()) { - carver.carve(world, chunkX, chunkZ, chunk); - } - return chunk; - } - } - - @Override - public void generateBiomes(@NotNull World world, @NotNull Random random, int chunkX, int chunkZ, @NotNull BiomeGrid biome) { - DefaultChunkGenerator3D.biomes(world, chunkX, chunkZ, biome, main); - } - - @Override - public Sampler createSampler(int chunkX, int chunkZ, BiomeProvider provider, World world, int elevationSmooth) { - return new Sampler2D(chunkX, chunkZ, provider, world, elevationSmooth); - } - - @Override - public List getPopulators() { - return blockPopulators; - } -} diff --git a/common/implementation/src/main/java/com/dfsek/terra/world/generation/generators/DefaultChunkGenerator3D.java b/common/implementation/src/main/java/com/dfsek/terra/world/generation/generators/DefaultChunkGenerator3D.java index 1bd6e9e33..99062580c 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/world/generation/generators/DefaultChunkGenerator3D.java +++ b/common/implementation/src/main/java/com/dfsek/terra/world/generation/generators/DefaultChunkGenerator3D.java @@ -27,11 +27,6 @@ import com.dfsek.terra.config.templates.BiomeTemplate; import com.dfsek.terra.world.Carver; import com.dfsek.terra.world.carving.NoiseCarver; import com.dfsek.terra.world.generation.math.samplers.Sampler3D; -import com.dfsek.terra.world.population.CavePopulator; -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.jetbrains.annotations.NotNull; import java.util.ArrayList; @@ -42,7 +37,6 @@ import java.util.Random; public class DefaultChunkGenerator3D implements TerraChunkGenerator { private final ConfigPack configPack; private final TerraPlugin main; - private final BlockType water; private final PaletteImpl.Singleton blank; private final List blockPopulators = new ArrayList<>(); @@ -52,14 +46,7 @@ public class DefaultChunkGenerator3D implements TerraChunkGenerator { this.configPack = c; this.main = main; - blockPopulators.add(new CavePopulator(main)); - blockPopulators.add(new StructurePopulator(main)); - blockPopulators.add(new OrePopulator(main)); - blockPopulators.add(new TreePopulator(main)); - blockPopulators.add(new FloraPopulator(main)); - carver = new NoiseCarver(new ConstantRange(0, 255), main.getWorldHandle().createBlockData("minecraft:air"), main); - water = main.getWorldHandle().createBlockData("minecraft:water").getBlockType(); blank = new PaletteImpl.Singleton(main.getWorldHandle().createBlockData("minecraft:air")); } @@ -106,22 +93,15 @@ public class DefaultChunkGenerator3D implements TerraChunkGenerator { justSet = true; data = PaletteUtil.getPalette(x, y, z, c, sampler).get(paletteLevel, cx, y, cz); chunk.setBlock(x, y, z, data); - if(paletteLevel == 0 && c.doSlabs() && y < 255) { - prepareBlockPartFloor(data, chunk.getBlock(x, y + 1, z), chunk, new Vector3(x, y + 1, z), c.getSlabPalettes(), - c.getStairPalettes(), c.getSlabThreshold(), sampler); - } + paletteLevel++; } else if(y <= sea) { chunk.setBlock(x, y, z, seaPalette.get(sea - y, x + xOrig, y, z + zOrig)); - if(justSet && c.doSlabs()) { - prepareBlockPartCeiling(data, chunk.getBlock(x, y, z), chunk, new Vector3(x, y, z), c.getSlabPalettes(), c.getStairPalettes(), c.getSlabThreshold(), sampler); - } + justSet = false; paletteLevel = 0; } else { - if(justSet && c.doSlabs()) { - prepareBlockPartCeiling(data, chunk.getBlock(x, y, z), chunk, new Vector3(x, y, z), c.getSlabPalettes(), c.getStairPalettes(), c.getSlabThreshold(), sampler); - } + justSet = false; paletteLevel = 0; } @@ -135,51 +115,6 @@ public class DefaultChunkGenerator3D implements TerraChunkGenerator { } } - private void prepareBlockPartFloor(BlockState down, BlockState orig, ChunkData chunk, Vector3 block, Map slabs, - Map stairs, double thresh, Sampler sampler) { - if(sampler.sample(block.getX(), block.getY() - 0.4, block.getZ()) > thresh) { - if(stairs != null) { - Palette stairPalette = stairs.get(down.getBlockType()); - if(stairPalette != null) { - BlockState stair = stairPalette.get(0, block.getX(), block.getY(), block.getZ()).clone(); - if(stair.has(Properties.DIRECTION)) { - BlockState stairNew = stair.clone(); - if(placeStair(orig, chunk, block, thresh, sampler, stairNew)) return; // Successfully placed part. - } - } - } - BlockState slab = slabs.getOrDefault(down.getBlockType(), blank).get(0, block.getX(), block.getY(), block.getZ()) - .setIfPresent(Properties.WATERLOGGED, orig.getBlockType().equals(water)); - - if(orig.getBlockType().equals(water)) return; - chunk.setBlock(block.getBlockX(), block.getBlockY(), block.getBlockZ(), slab); - } - } - - private void prepareBlockPartCeiling(BlockState up, BlockState orig, ChunkData chunk, Vector3 block, Map slabs, - Map stairs, double thresh, Sampler sampler) { - if(sampler.sample(block.getX(), block.getY() + 0.4, block.getZ()) > thresh) { - if(stairs != null) { - Palette stairPalette = stairs.get(up.getBlockType()); - if(stairPalette != null) { - BlockState stair = stairPalette.get(0, block.getX(), block.getY(), block.getZ()).clone(); - stair.setIfPresent(Properties.HALF, Half.TOP); - if(stair.has(Properties.DIRECTION)) { - BlockState stairNew = stair.clone(); - if(placeStair(orig, chunk, block, thresh, sampler, stairNew)) return; // Successfully placed part. - } - } - } - BlockState slab = slabs.getOrDefault(up.getBlockType(), blank).get(0, block.getX(), block.getY(), block.getZ()).clone(); - slab.setIfPresent(Properties.HALF, Half.TOP); - - slab.setIfPresent(Properties.WATERLOGGED, orig.getBlockType().isWater()); - if(orig.getBlockType().equals(water)) return; - - chunk.setBlock(block.getBlockX(), block.getBlockY(), block.getBlockZ(), slab); - } - } - private boolean placeStair(BlockState orig, ChunkData chunk, Vector3 block, double thresh, Sampler sampler, BlockState stairNew) { if(sampler.sample(block.getBlockX() - 0.55, block.getY(), block.getZ()) > thresh) { @@ -192,7 +127,7 @@ public class DefaultChunkGenerator3D implements TerraChunkGenerator { stairNew.set(Properties.DIRECTION, Direction.EAST); } else stairNew = null; if(stairNew != null) { - stairNew.setIfPresent(Properties.WATERLOGGED, orig.getBlockType().equals(water)); + stairNew.setIfPresent(Properties.WATERLOGGED, orig.getBlockType().isWater()); chunk.setBlock(block.getBlockX(), block.getBlockY(), block.getBlockZ(), stairNew); return true; } diff --git a/common/implementation/src/main/java/com/dfsek/terra/world/generation/math/interpolation/ElevationInterpolator.java b/common/implementation/src/main/java/com/dfsek/terra/world/generation/math/interpolation/ElevationInterpolator.java index fc7c0b5c3..b65efe531 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/world/generation/math/interpolation/ElevationInterpolator.java +++ b/common/implementation/src/main/java/com/dfsek/terra/world/generation/math/interpolation/ElevationInterpolator.java @@ -3,7 +3,6 @@ package com.dfsek.terra.world.generation.math.interpolation; import com.dfsek.terra.api.world.World; import com.dfsek.terra.api.world.biome.Generator; import com.dfsek.terra.api.world.biome.generation.BiomeProvider; -import com.dfsek.terra.world.generation.WorldGenerator; public class ElevationInterpolator { private final double[][] values = new double[18][18]; @@ -12,12 +11,12 @@ public class ElevationInterpolator { int xOrigin = chunkX << 4; int zOrigin = chunkZ << 4; - WorldGenerator[][] gens = new WorldGenerator[18 + 2 * smooth][18 + 2 * smooth]; + Generator[][] gens = new Generator[18 + 2 * smooth][18 + 2 * smooth]; // Precompute generators. for(int x = -1 - smooth; x <= 16 + smooth; x++) { for(int z = -1 - smooth; z <= 16 + smooth; z++) { - gens[x + 1 + smooth][z + 1 + smooth] = (WorldGenerator) provider.getBiome(xOrigin + x, zOrigin + z).getGenerator(world); + gens[x + 1 + smooth][z + 1 + smooth] = provider.getBiome(xOrigin + x, zOrigin + z).getGenerator(world); } } diff --git a/common/implementation/src/test/java/command/CommandTest.java b/common/implementation/src/test/java/command/CommandTest.java index 3aa0ccf89..3b6665a6b 100644 --- a/common/implementation/src/test/java/command/CommandTest.java +++ b/common/implementation/src/test/java/command/CommandTest.java @@ -2,7 +2,7 @@ package command; import com.dfsek.terra.api.command.CommandManager; import com.dfsek.terra.api.command.CommandTemplate; -import com.dfsek.terra.api.command.TerraCommandManager; +import com.dfsek.terra.commands.TerraCommandManager; import com.dfsek.terra.api.command.annotation.Argument; import com.dfsek.terra.api.command.annotation.Command; import com.dfsek.terra.api.command.annotation.Subcommand; 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 4d01b8ed4..e953db16f 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 @@ -10,7 +10,7 @@ import com.dfsek.terra.api.addon.annotations.Author; import com.dfsek.terra.api.addon.annotations.Version; import com.dfsek.terra.api.block.state.BlockState; import com.dfsek.terra.api.command.CommandManager; -import com.dfsek.terra.api.command.TerraCommandManager; +import com.dfsek.terra.commands.TerraCommandManager; import com.dfsek.terra.api.command.exception.MalformedCommandException; import com.dfsek.terra.api.config.ConfigPack; import com.dfsek.terra.api.config.PluginConfig; 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 088174c47..e1263cd5e 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 @@ -14,7 +14,7 @@ import com.dfsek.terra.api.addon.annotations.Author; import com.dfsek.terra.api.addon.annotations.Version; import com.dfsek.terra.api.block.state.BlockState; import com.dfsek.terra.api.command.CommandManager; -import com.dfsek.terra.api.command.TerraCommandManager; +import com.dfsek.terra.commands.TerraCommandManager; import com.dfsek.terra.api.command.exception.MalformedCommandException; import com.dfsek.terra.api.config.ConfigPack; import com.dfsek.terra.api.config.PluginConfig;