From 7495a6b4a15703da6f64821ba395ad74322db8a2 Mon Sep 17 00:00:00 2001 From: dfsek Date: Wed, 23 Jun 2021 09:42:17 -0700 Subject: [PATCH] begin refactor --- .../java/com/dfsek/terra/api}/Handle.java | 2 +- .../com/dfsek/terra/api/LoaderRegistrar.java | 0 .../java/com/dfsek/terra/api/TerraPlugin.java | 6 +- .../dfsek/terra/api/addon}/TerraAddon.java | 8 +- .../terra/api/addon}/annotations/Addon.java | 2 +- .../terra/api/addon}/annotations/Author.java | 2 +- .../terra/api/addon}/annotations/Depends.java | 2 +- .../terra/api/addon}/annotations/Version.java | 2 +- .../java/com/dfsek/terra/api/block/Axis.java | 5 + .../com/dfsek/terra/api}/block/Block.java | 8 +- .../com/dfsek/terra/api}/block/BlockData.java | 4 +- .../com/dfsek/terra/api}/block/BlockFace.java | 7 +- .../com/dfsek/terra/api}/block/BlockType.java | 4 +- .../api}/block/data/AnaloguePowerable.java | 4 +- .../dfsek/terra/api}/block/data/Bisected.java | 4 +- .../terra/api/block/data/Directional.java | 10 ++ .../terra/api}/block/data/MultipleFacing.java | 6 +- .../terra/api}/block/data/Orientable.java | 6 +- .../com/dfsek/terra/api}/block/data/Rail.java | 4 +- .../terra/api}/block/data/RedstoneWire.java | 6 +- .../dfsek/terra/api/block/data/Rotatable.java | 10 ++ .../com/dfsek/terra/api}/block/data/Slab.java | 2 +- .../dfsek/terra/api}/block/data/Stairs.java | 2 +- .../com/dfsek/terra/api}/block/data/Wall.java | 6 +- .../terra/api}/block/data/Waterlogged.java | 4 +- .../api/block/data/properties/Property.java | 5 + .../terra/api}/block/state/BlockState.java | 8 +- .../terra/api/block/state/Container.java | 6 + .../terra/api}/block/state/MobSpawner.java | 4 +- .../terra/api}/block/state/SerialState.java | 2 +- .../dfsek/terra/api}/block/state/Sign.java | 2 +- .../terra/api/entity}/CommandSender.java | 4 +- .../com/dfsek/terra/api/entity/Entity.java | 13 ++ .../dfsek/terra/api/entity/EntityType.java | 6 + .../com/dfsek/terra/api/entity/Player.java | 4 + .../dfsek/terra/api/event/EventListener.java | 0 .../dfsek/terra/api/event/EventManager.java | 2 +- .../terra/api/event/annotations/Global.java | 0 .../terra/api/event/annotations/Priority.java | 0 .../api/event/events/AbstractCancellable.java | 0 .../terra/api/event/events/Cancellable.java | 0 .../dfsek/terra/api/event/events/Event.java | 0 .../terra/api/event/events/PackEvent.java | 0 .../events/config/ConfigPackLoadEvent.java | 0 .../config/ConfigPackPostLoadEvent.java | 0 .../events/config/ConfigPackPreLoadEvent.java | 0 .../events/world/TerraWorldLoadEvent.java | 0 .../world/generation/EntitySpawnEvent.java | 2 +- .../world/generation/LootPopulateEvent.java | 4 +- .../dfsek/terra/api}/handle/ItemHandle.java | 6 +- .../dfsek/terra/api}/handle/WorldHandle.java | 10 +- .../dfsek/terra/api/injection/Injector.java | 38 ++++ .../api/injection/annotations/Inject.java | 0 .../exception/InjectionException.java | 0 .../api/inventory/BlockInventoryHolder.java | 7 + .../dfsek/terra/api}/inventory/Inventory.java | 4 +- .../terra/api/inventory/InventoryHolder.java | 7 + .../com/dfsek/terra/api}/inventory/Item.java | 4 +- .../dfsek/terra/api}/inventory/ItemStack.java | 8 +- .../terra/api}/inventory/item/Damageable.java | 4 +- .../api}/inventory/item/Enchantment.java | 6 +- .../terra/api}/inventory/item/ItemMeta.java | 4 +- .../dfsek/terra/api}/noise/NoiseSampler.java | 2 +- .../noise/normalizer/ClampNormalizer.java | 4 +- .../noise/normalizer/LinearNormalizer.java | 4 +- .../noise/normalizer/NormalNormalizer.java | 4 +- .../api}/noise/normalizer/Normalizer.java | 4 +- .../noise/samplers/DomainWarpedSampler.java | 4 +- .../noise/samplers/ExpressionSampler.java | 4 +- .../api}/noise/samplers/ImageSampler.java | 4 +- .../api}/noise/samplers/KernelSampler.java | 4 +- .../noise/samplers/noise/CellularSampler.java | 6 +- .../noise/samplers/noise/ConstantSampler.java | 2 +- .../samplers/noise/ExpressionFunction.java | 2 +- .../samplers/noise/GaborNoiseSampler.java | 4 +- .../noise/samplers/noise/NoiseFunction.java | 4 +- .../noise/fractal/BrownianMotionSampler.java | 4 +- .../noise/fractal/FractalNoiseFunction.java | 6 +- .../noise/fractal/PingPongSampler.java | 4 +- .../noise/fractal/RidgedFractalSampler.java | 4 +- .../noise/random/GaussianNoiseSampler.java | 4 +- .../noise/random/WhiteNoiseSampler.java | 4 +- .../noise/simplex/OpenSimplex2SSampler.java | 2 +- .../noise/simplex/OpenSimplex2Sampler.java | 2 +- .../samplers/noise/simplex/PerlinSampler.java | 2 +- .../noise/simplex/SimplexSampler.java | 2 +- .../noise/simplex/SimplexStyleSampler.java | 4 +- .../noise/value/ValueCubicSampler.java | 2 +- .../samplers/noise/value/ValueSampler.java | 2 +- .../samplers/noise/value/ValueStyleNoise.java | 4 +- .../terra/api/registry/CheckedRegistry.java | 24 +++ .../registry}/DuplicateEntryException.java | 2 +- .../terra/api/registry/OpenRegistry.java | 25 +++ .../dfsek/terra/api/registry/Registry.java | 0 .../dfsek/terra/api/transform/Transform.java | 2 + .../terra/api/transform/Transformer.java | 11 ++ .../dfsek/terra/api/transform/Validator.java | 2 + .../exception}/AttemptsFailedException.java | 2 +- .../exception}/TransformException.java | 2 +- .../com/dfsek/terra/api/util}/MathUtil.java | 2 +- .../terra/api/util/ProbabilityCollection.java | 26 +++ .../com/dfsek/terra/api}/vector/Location.java | 11 +- .../com/dfsek/terra/api/vector/Vector2.java | 99 +++++++++++ .../com/dfsek/terra/api/vector/Vector3.java | 165 ++++++++++++++++++ .../com/dfsek/terra/api}/world/BiomeGrid.java | 4 +- .../com/dfsek/terra/api}/world/Chunk.java | 4 +- .../dfsek/terra/api}/world/ChunkAccess.java | 6 +- .../java/com/dfsek/terra/api}/world/Tree.java | 4 +- .../com/dfsek/terra/api}/world/World.java | 19 +- .../dfsek/terra/api/world/biome/Biome.java | 6 + .../terra/api/world/biome/Generator.java | 2 +- .../terra/api/world/biome/TerraBiome.java | 4 +- .../biome/generation}/BiomeProvider.java | 9 +- .../generation/pipeline}/BiomeExpander.java | 2 +- .../generation}/pipeline/BiomeHolder.java | 5 +- .../generation/pipeline}/BiomeMutator.java | 4 +- .../generation/pipeline}/BiomeSource.java | 2 +- .../biome/generation/pipeline/Stage.java | 10 ++ .../api/world/generator/BlockPopulator.java | 11 ++ .../terra/api}/world/generator/ChunkData.java | 4 +- .../api/world/generator/ChunkGenerator.java | 7 + .../world/generator/GeneratorWrapper.java | 4 +- .../dfsek/terra/addon/AddonClassLoader.java | 4 +- .../com/dfsek/terra/addon/PreLoadAddon.java | 6 +- .../terra/api/command/CommandManager.java | 2 +- .../terra/api/command/CommandTemplate.java | 2 +- .../terra/api/command/ExecutionState.java | 2 +- .../api/command/TerraCommandManager.java | 11 +- .../terra/api/command/arg/ArgumentParser.java | 2 +- .../api/command/arg/DoubleArgumentParser.java | 2 +- .../command/arg/IntegerArgumentParser.java | 2 +- .../api/command/arg/StringArgumentParser.java | 2 +- .../api/command/tab/NothingCompleter.java | 2 +- .../terra/api/command/tab/TabCompleter.java | 2 +- ...ventManager.java => EventManagerImpl.java} | 6 +- .../InjectorImpl.java} | 40 +---- .../com/dfsek/terra/api/math/GridSpawn.java | 12 +- .../math/paralithic/noise/NoiseFunction2.java | 2 +- .../math/paralithic/noise/NoiseFunction3.java | 2 +- .../terra/api/math/pixel/Distribution.java | 7 - .../dfsek/terra/api/math/pixel/Polygon.java | 10 -- .../dfsek/terra/api/math/pixel/Rectangle.java | 35 ---- .../dfsek/terra/api/math/voxel/Cylinder.java | 10 -- .../terra/api/math/voxel/DeformedSphere.java | 19 -- .../dfsek/terra/api/math/voxel/Sphere.java | 18 -- .../com/dfsek/terra/api/math/voxel/Tube.java | 15 -- .../terra/api/math/voxel/VoxelGeometry.java | 27 --- .../dfsek/terra/api/platform/block/Axis.java | 5 - .../api/platform/block/data/Directional.java | 10 -- .../api/platform/block/data/Rotatable.java | 10 -- .../block/data/properties/Property.java | 5 - .../api/platform/block/state/Container.java | 6 - .../terra/api/platform/entity/Entity.java | 14 -- .../terra/api/platform/entity/EntityType.java | 6 - .../terra/api/platform/entity/Player.java | 4 - .../inventory/BlockInventoryHolder.java | 7 - .../platform/inventory/InventoryHolder.java | 7 - .../terra/api/platform/package-info.java | 6 - .../dfsek/terra/api/platform/world/Biome.java | 6 - .../world/generator/BlockPopulator.java | 11 -- .../world/generator/ChunkGenerator.java | 7 - .../terra/api/structures/loot/Entry.java | 4 +- .../terra/api/structures/loot/LootTable.java | 4 +- .../dfsek/terra/api/structures/loot/Pool.java | 8 +- .../loot/functions/AmountFunction.java | 2 +- .../loot/functions/DamageFunction.java | 6 +- .../loot/functions/EnchantFunction.java | 6 +- .../loot/functions/LootFunction.java | 2 +- .../structures/script/StructureScript.java | 7 +- .../functions/AbstractBlockFunction.java | 11 +- .../script/functions/BiomeFunction.java | 11 +- .../script/functions/BlockFunction.java | 2 +- .../script/functions/CheckBlockFunction.java | 9 +- .../script/functions/CheckFunction.java | 15 +- .../functions/DynamicBlockFunction.java | 2 +- .../script/functions/EntityFunction.java | 11 +- .../script/functions/GetMarkFunction.java | 9 +- .../script/functions/LootFunction.java | 9 +- .../script/functions/PullFunction.java | 11 +- .../script/functions/SetMarkFunction.java | 9 +- .../script/functions/StateFunction.java | 9 +- .../script/functions/StructureFunction.java | 10 +- .../structures/structure/RotationUtil.java | 22 +-- .../structures/structure/buffer/Buffer.java | 2 +- .../api/structures/structure/buffer/Cell.java | 2 +- .../structure/buffer/DirectBuffer.java | 2 +- .../structure/buffer/IntermediateBuffer.java | 4 +- .../structure/buffer/StructureBuffer.java | 4 +- .../structure/buffer/items/BufferedBlock.java | 8 +- .../buffer/items/BufferedEntity.java | 6 +- .../structure/buffer/items/BufferedItem.java | 4 +- .../buffer/items/BufferedLootApplication.java | 8 +- .../buffer/items/BufferedPulledBlock.java | 8 +- .../items/BufferedStateManipulator.java | 4 +- .../terra/api/transform/MapTransform.java | 2 + ...{Transformer.java => TransformerImpl.java} | 18 +- .../api/util/collections/MaterialSet.java | 4 +- ...on.java => ProbabilityCollectionImpl.java} | 23 ++- .../terra/api/util/seeded/NoiseSeeded.java | 2 +- .../terra/api/util/seeded/SourceSeeded.java | 2 +- .../terra/api/util/seeded/StageSeeded.java | 2 +- .../terra/api/util/world/PaletteUtil.java | 2 +- .../terra/api/util/world/PopulationUtil.java | 4 +- .../api/world/biome/UserDefinedBiome.java | 11 +- ...aBiomeHolder.java => BiomeHolderImpl.java} | 17 +- ...mePipeline.java => BiomePipelineImpl.java} | 17 +- .../pipeline/expand/FractalExpander.java | 5 +- .../pipeline/mutator/BorderListMutator.java | 11 +- .../biome/pipeline/mutator/BorderMutator.java | 9 +- .../pipeline/mutator/ReplaceListMutator.java | 11 +- .../pipeline/mutator/ReplaceMutator.java | 9 +- .../biome/pipeline/mutator/SmoothMutator.java | 5 +- .../biome/pipeline/source/RandomSource.java | 9 +- .../biome/pipeline/stages/ExpanderStage.java | 5 +- .../biome/pipeline/stages/MutatorStage.java | 5 +- .../world/biome/pipeline/stages/Stage.java | 10 -- .../biome/provider/ImageBiomeProvider.java | 2 +- .../biome/provider/SingleBiomeProvider.java | 1 + .../biome/provider/StandardBiomeProvider.java | 16 +- .../dfsek/terra/api/world/carving/Carver.java | 4 +- .../dfsek/terra/api/world/carving/Worm.java | 11 +- .../dfsek/terra/api/world/flora/Flora.java | 6 +- .../world/generation/TerraBlockPopulator.java | 4 +- .../world/generation/TerraChunkGenerator.java | 8 +- .../api/world/locate/AsyncBiomeFinder.java | 6 +- .../api/world/locate/AsyncFeatureFinder.java | 11 +- .../world/locate/AsyncStructureFinder.java | 8 +- .../terra/api/world/palette/NoisePalette.java | 4 +- .../terra/api/world/palette/Palette.java | 14 +- .../api/world/palette/SinglePalette.java | 2 +- .../palette/holder/PaletteLayerHolder.java | 12 +- .../com/dfsek/terra/carving/CarverCache.java | 10 +- .../dfsek/terra/carving/CarverPalette.java | 20 +-- .../terra/carving/UserDefinedCarver.java | 7 +- .../dfsek/terra/commands/AddonsCommand.java | 2 +- .../com/dfsek/terra/commands/CommandUtil.java | 2 - .../dfsek/terra/commands/GetBlockCommand.java | 4 +- .../dfsek/terra/commands/PacksCommand.java | 2 +- .../dfsek/terra/commands/ReloadCommand.java | 2 +- .../dfsek/terra/commands/VersionCommand.java | 2 +- .../terra/commands/biome/BiomeCommand.java | 6 +- .../commands/biome/BiomeInfoCommand.java | 2 +- .../commands/biome/BiomeLocateCommand.java | 10 +- .../biome/arg/BiomeArgumentParser.java | 4 +- .../commands/biome/tab/BiomeTabCompleter.java | 4 +- .../geometry/DeformedSphereCommand.java | 65 ------- .../commands/geometry/GeometryCommand.java | 39 ----- .../commands/geometry/SphereCommand.java | 44 ----- .../terra/commands/geometry/TubeCommand.java | 49 ------ .../commands/profiler/ProfileCommand.java | 2 +- .../profiler/ProfileQueryCommand.java | 2 +- .../profiler/ProfileResetCommand.java | 2 +- .../profiler/ProfileStartCommand.java | 2 +- .../commands/profiler/ProfileStopCommand.java | 2 +- .../commands/structure/SpawnCommand.java | 8 +- .../commands/structure/StructureCommand.java | 2 +- .../structure/StructureExportCommand.java | 14 +- .../structure/StructureLoadCommand.java | 4 +- .../structure/StructureLocateCommand.java | 10 +- .../argument/ScriptArgumentParser.java | 4 +- .../argument/StructureArgumentParser.java | 4 +- .../completer/RotationCompleter.java | 2 +- .../structure/completer/ScriptCompleter.java | 4 +- .../completer/StructureCompleter.java | 4 +- .../dfsek/terra/config/GenericLoaders.java | 16 +- .../terra/config/builder/BiomeBuilder.java | 6 +- .../builder/UserDefinedBiomeBuilder.java | 12 +- .../dfsek/terra/config/dummy/DummyWorld.java | 16 +- .../terra/config/factories/CarverFactory.java | 2 +- .../terra/config/factories/FloraFactory.java | 2 +- .../terra/config/factories/OreFactory.java | 2 +- .../terra/config/factories/TreeFactory.java | 2 +- .../com/dfsek/terra/config/lang/LangUtil.java | 2 +- .../com/dfsek/terra/config/lang/Language.java | 2 +- .../com/dfsek/terra/config/lang/Message.java | 2 +- .../terra/config/lang/MultiLineMessage.java | 2 +- .../terra/config/lang/SingleLineMessage.java | 2 +- .../config/loaders/MaterialSetLoader.java | 2 +- .../loaders/ProbabilityCollectionLoader.java | 10 +- .../com/dfsek/terra/config/loaders/Types.java | 16 +- .../loaders/config/FloraLayerLoader.java | 6 +- .../loaders/config/TreeLayerLoader.java | 8 +- .../biome/BiomeProviderBuilderLoader.java | 2 +- .../config/biome/SourceBuilderLoader.java | 7 +- .../provider/BiomePipelineTemplate.java | 8 +- .../provider/BiomeProviderTemplate.java | 6 +- .../provider/ImageProviderTemplate.java | 2 +- .../provider/SingleBiomeProviderTemplate.java | 2 +- .../templates/source/NoiseSourceTemplate.java | 6 +- .../templates/source/SourceTemplate.java | 1 - .../biome/templates/stage/StageTemplate.java | 2 +- .../stage/expander/ExpanderStageTemplate.java | 2 +- .../mutator/BorderListMutatorTemplate.java | 10 +- .../stage/mutator/BorderMutatorTemplate.java | 6 +- .../stage/mutator/MutatorStageTemplate.java | 4 +- .../mutator/ReplaceListMutatorTemplate.java | 10 +- .../stage/mutator/ReplaceMutatorTemplate.java | 6 +- .../stage/mutator/SmoothMutatorTemplate.java | 2 +- .../sampler/templates/DomainWarpTemplate.java | 4 +- .../templates/ImageSamplerTemplate.java | 4 +- .../sampler/templates/KernelTemplate.java | 4 +- .../sampler/templates/SamplerTemplate.java | 2 +- .../noise/CellularNoiseTemplate.java | 6 +- .../noise/ConstantNoiseTemplate.java | 4 +- .../noise/ExpressionFunctionTemplate.java | 5 +- .../templates/noise/GaborNoiseTemplate.java | 4 +- .../templates/noise/NoiseTemplate.java | 2 +- .../templates/noise/SimpleNoiseTemplate.java | 4 +- .../noise/fractal/BrownianMotionTemplate.java | 4 +- .../noise/fractal/FractalTemplate.java | 2 +- .../noise/fractal/PingPongTemplate.java | 4 +- .../noise/fractal/RidgedFractalTemplate.java | 4 +- .../normalizer/ClampNormalizerTemplate.java | 6 +- .../normalizer/LinearNormalizerTemplate.java | 4 +- .../normalizer/NormalNormalizerTemplate.java | 4 +- .../normalizer/NormalizerTemplate.java | 2 +- .../loaders/palette/CarverPaletteLoader.java | 6 +- .../loaders/palette/PaletteLayerLoader.java | 8 +- .../dfsek/terra/config/pack/ConfigPack.java | 3 +- .../config/pack/ConfigPackPostTemplate.java | 2 +- .../terra/config/pack/ConfigPackTemplate.java | 2 +- .../dfsek/terra/config/pack/WorldConfig.java | 2 +- .../terra/config/templates/BiomeTemplate.java | 14 +- .../config/templates/CarverTemplate.java | 2 +- .../terra/config/templates/OreTemplate.java | 4 +- .../config/templates/PaletteTemplate.java | 4 +- .../config/templates/StructureTemplate.java | 6 +- .../terra/config/templates/TreeTemplate.java | 6 +- .../CheckedRegistryImpl.java} | 28 +-- .../LockedRegistryImpl.java} | 7 +- ...penRegistry.java => OpenRegistryImpl.java} | 31 +--- .../registry/config/ConfigTypeRegistry.java | 2 +- .../terra/registry/config/FloraRegistry.java | 2 +- .../terra/registry/config/LootRegistry.java | 4 +- .../terra/registry/config/NoiseRegistry.java | 16 +- .../terra/registry/config/TreeRegistry.java | 2 +- .../terra/registry/master/AddonRegistry.java | 15 +- .../Vector2.java => vector/Vector2Impl.java} | 96 +++------- .../Vector3.java => vector/Vector3Impl.java} | 161 +++++------------ .../java/com/dfsek/terra/world/Carver.java | 4 +- .../com/dfsek/terra/world/TerraWorld.java | 10 +- .../terra/world/carving/NoiseCarver.java | 6 +- .../world/generation/WorldGenerator.java | 2 +- .../generators/DefaultChunkGenerator2D.java | 10 +- .../generators/DefaultChunkGenerator3D.java | 31 ++-- .../world/generation/math/SamplerCache.java | 7 +- .../interpolation/ChunkInterpolator2D.java | 9 +- .../interpolation/ChunkInterpolator3D.java | 9 +- .../interpolation/ElevationInterpolator.java | 4 +- .../generation/math/samplers/Sampler2D.java | 4 +- .../generation/math/samplers/Sampler3D.java | 4 +- .../terra/world/population/CavePopulator.java | 14 +- .../world/population/FloraPopulator.java | 11 +- .../terra/world/population/OrePopulator.java | 10 +- .../world/population/StructurePopulator.java | 10 +- .../terra/world/population/TreePopulator.java | 10 +- .../population/items/PlaceableLayer.java | 14 +- .../population/items/TerraStructure.java | 8 +- .../population/items/flora/BlockFlora.java | 10 +- .../population/items/flora/ConstantFlora.java | 10 +- .../population/items/flora/FloraLayer.java | 10 +- .../population/items/flora/TerraFlora.java | 18 +- .../items/ores/DeformedSphereOre.java | 17 +- .../world/population/items/ores/Ore.java | 10 +- .../population/items/ores/VanillaOre.java | 12 +- .../population/items/tree/TerraTree.java | 10 +- .../population/items/tree/TreeLayer.java | 16 +- .../src/test/java/command/CommandTest.java | 2 +- .../test/java/noise/ColorConfigTemplate.java | 6 +- .../src/test/java/noise/NoiseTool.java | 8 +- .../terra/bukkit/BukkitCommandSender.java | 2 +- .../com/dfsek/terra/bukkit/BukkitEntity.java | 6 +- .../com/dfsek/terra/bukkit/BukkitPlayer.java | 6 +- .../dfsek/terra/bukkit/TerraBukkitPlugin.java | 22 +-- .../terra/bukkit/command/FixChunkCommand.java | 4 +- .../terra/bukkit/command/SaveDataCommand.java | 2 +- .../generator/BukkitChunkGenerator.java | 6 +- .../BukkitChunkGeneratorWrapper.java | 13 +- .../bukkit/handles/BukkitItemHandle.java | 6 +- .../bukkit/handles/BukkitWorldHandle.java | 10 +- .../bukkit/listeners/CommonListener.java | 10 +- .../terra/bukkit/listeners/TerraListener.java | 4 +- .../bukkit/population/ChunkCoordinate.java | 2 +- .../bukkit/population/PopulationManager.java | 4 +- .../terra/bukkit/world/BukkitAdapter.java | 47 ++--- .../dfsek/terra/bukkit/world/BukkitBiome.java | 2 +- .../terra/bukkit/world/BukkitBiomeGrid.java | 4 +- .../dfsek/terra/bukkit/world/BukkitChunk.java | 8 +- .../dfsek/terra/bukkit/world/BukkitTree.java | 6 +- .../dfsek/terra/bukkit/world/BukkitWorld.java | 14 +- .../terra/bukkit/world/block/BukkitBlock.java | 12 +- .../world/block/BukkitBlockTypeAndItem.java | 8 +- .../block/data/BukkitAnaloguePowerable.java | 2 +- .../world/block/data/BukkitBlockData.java | 4 +- .../world/block/data/BukkitDirectional.java | 4 +- .../block/data/BukkitMultipleFacing.java | 4 +- .../world/block/data/BukkitOrientable.java | 4 +- .../bukkit/world/block/data/BukkitRail.java | 2 +- .../world/block/data/BukkitRedstoneWire.java | 4 +- .../world/block/data/BukkitRotatable.java | 4 +- .../bukkit/world/block/data/BukkitSlab.java | 2 +- .../bukkit/world/block/data/BukkitStairs.java | 4 +- .../bukkit/world/block/data/BukkitWall.java | 14 +- .../world/block/data/BukkitWaterlogged.java | 2 +- .../world/block/state/BukkitBlockState.java | 6 +- .../world/block/state/BukkitContainer.java | 4 +- .../world/block/state/BukkitMobSpawner.java | 6 +- .../bukkit/world/block/state/BukkitSign.java | 4 +- .../bukkit/world/entity/BukkitEntityType.java | 2 +- .../world/inventory/BukkitInventory.java | 4 +- .../world/inventory/BukkitItemMeta.java | 4 +- .../world/inventory/BukkitItemStack.java | 6 +- .../inventory/meta/BukkitDamageable.java | 2 +- .../inventory/meta/BukkitEnchantment.java | 4 +- .../dfsek/terra/fabric/TerraFabricPlugin.java | 36 ++-- .../dfsek/terra/fabric/block/FabricBlock.java | 14 +- .../terra/fabric/block/FabricBlockData.java | 4 +- .../block/data/FabricAnaloguePowerable.java | 2 +- .../fabric/block/data/FabricDirectional.java | 4 +- .../block/data/FabricMultipleFacing.java | 4 +- .../fabric/block/data/FabricOrientable.java | 4 +- .../fabric/block/data/FabricRotatable.java | 4 +- .../terra/fabric/block/data/FabricSlab.java | 2 +- .../terra/fabric/block/data/FabricStairs.java | 4 +- .../fabric/block/data/FabricWaterlogged.java | 2 +- .../FabricChunkGeneratorWrapper.java | 8 +- .../fabric/generation/PopulatorFeature.java | 4 +- .../fabric/generation/TerraBiomeSource.java | 2 +- .../terra/fabric/handle/FabricItemHandle.java | 6 +- .../fabric/handle/FabricWorldHandle.java | 8 +- .../fabric/mixin/CommandManagerMixin.java | 4 +- .../terra/fabric/mixin/ServerWorldMixin.java | 2 +- .../mixin/implementations/BiomeMixin.java | 2 +- .../implementations/ChunkGeneratorMixin.java | 2 +- .../ConfiguredFeatureMixin.java | 4 +- .../block/BlockEntityMixin.java | 6 +- .../implementations/block/BlockMixin.java | 4 +- .../LootableContainerBlockEntityMixin.java | 4 +- .../state/MobSpawnerBlockEntityMixin.java | 7 +- .../block/state/SignBlockEntityMixin.java | 4 +- .../chunk/ChunkRegionMixin.java | 8 +- .../chunk/WorldChunkMixin.java | 8 +- .../chunk/data/ProtoChunkMixin.java | 4 +- .../implementations/entity/EntityMixin.java | 6 +- .../entity/EntityTypeMixin.java | 2 +- .../entity/PlayerEntityMixin.java | 2 +- .../entity/ServerCommandSourceMixin.java | 2 +- .../LockableContainerBlockEntityMixin.java | 4 +- .../inventory/item/ItemMixin.java | 4 +- .../inventory/item/ItemStackMixin.java | 6 +- .../inventory/meta/EnchantmentMixin.java | 6 +- .../meta/ItemStackDamageableMixin.java | 2 +- .../inventory/meta/ItemStackMetaMixin.java | 4 +- .../world/ChunkRegionMixin.java | 16 +- .../world/ServerWorldMixin.java | 17 +- .../terra/fabric/util/FabricAdapter.java | 23 +-- .../dfsek/terra/fabric/util/ProtoBiome.java | 2 +- .../terra/fabric/util/WorldEditUtil.java | 4 +- .../com/dfsek/terra/forge/ForgeAdapter.java | 10 +- .../dfsek/terra/forge/TerraForgePlugin.java | 18 +- .../dfsek/terra/forge/block/ForgeBlock.java | 12 +- .../terra/forge/block/ForgeBlockData.java | 4 +- .../block/data/ForgeAnaloguePowerable.java | 2 +- .../forge/block/data/ForgeDirectional.java | 4 +- .../forge/block/data/ForgeEnumAdapter.java | 10 +- .../forge/block/data/ForgeMultipleFacing.java | 4 +- .../forge/block/data/ForgeOrientable.java | 4 +- .../forge/block/data/ForgeRotatable.java | 4 +- .../terra/forge/block/data/ForgeSlab.java | 2 +- .../terra/forge/block/data/ForgeStairs.java | 4 +- .../forge/block/data/ForgeWaterlogged.java | 2 +- .../ForgeChunkGeneratorWrapper.java | 6 +- .../forge/generation/PopulatorFeature.java | 4 +- .../terra/forge/handle/ForgeItemHandle.java | 6 +- .../terra/forge/handle/ForgeWorldHandle.java | 4 +- .../terra/forge/listener/ForgeListener.java | 2 +- .../terra/forge/mixin/ServerWorldMixin.java | 2 +- .../mixin/implementations/BiomeMixin.java | 2 +- .../implementations/ChunkGeneratorMixin.java | 2 +- .../ConfiguredFeatureMixin.java | 2 +- .../implementations/block/BlockMixin.java | 4 +- .../block/TileEntityMixin.java | 6 +- .../state/LockableLootTileEntityMixin.java | 4 +- .../state/MobSpawnerTileEntityMixin.java | 6 +- .../block/state/SignTileEntityMixin.java | 4 +- .../implementations/chunk/ChunkMixin.java | 8 +- .../chunk/WorldGenRegionMixin.java | 8 +- .../chunk/data/ChunkPrimerMixin.java | 4 +- .../implementations/entity/EntityMixin.java | 4 +- .../entity/EntityTypeMixin.java | 2 +- .../entity/PlayerEntityMixin.java | 2 +- .../inventory/LockableTileEntityMixin.java | 4 +- .../inventory/item/ItemMixin.java | 4 +- .../inventory/item/ItemStackMixin.java | 6 +- .../inventory/meta/EnchantmentMixin.java | 6 +- .../meta/ItemStackDamageableMixin.java | 2 +- .../inventory/meta/ItemStackMetaMixin.java | 4 +- .../world/ServerWorldMixin.java | 14 +- .../world/WorldGenRegionMixin.java | 14 +- .../java/com/dfsek/terra/DirectUtils.java | 2 +- .../com/dfsek/terra/StandalonePlugin.java | 16 +- .../java/com/dfsek/terra/platform/Data.java | 4 +- .../com/dfsek/terra/platform/DirectBlock.java | 14 +- .../terra/platform/DirectBlockState.java | 6 +- .../dfsek/terra/platform/DirectChunkData.java | 14 +- .../com/dfsek/terra/platform/DirectWorld.java | 18 +- .../com/dfsek/terra/platform/GenWrapper.java | 2 +- .../com/dfsek/terra/platform/RawBiome.java | 2 +- .../com/dfsek/terra/platform/RawTree.java | 4 +- .../dfsek/terra/platform/RawWorldHandle.java | 6 +- .../com/dfsek/terra/region/Generator.java | 3 +- .../com/dfsek/terra/sponge/SpongeAdapter.java | 2 +- .../dfsek/terra/sponge/TerraSpongePlugin.java | 12 +- .../terra/sponge/world/SpongeWorldHandle.java | 6 +- .../world/block/data/SpongeBlockData.java | 4 +- 515 files changed, 1917 insertions(+), 2018 deletions(-) rename common/{implementation/src/main/java/com/dfsek/terra/api/platform => api/src/main/java/com/dfsek/terra/api}/Handle.java (83%) rename common/{implementation => api}/src/main/java/com/dfsek/terra/api/LoaderRegistrar.java (100%) rename common/{implementation => api}/src/main/java/com/dfsek/terra/api/TerraPlugin.java (91%) rename common/{implementation/src/main/java/com/dfsek/terra/api/addons => api/src/main/java/com/dfsek/terra/api/addon}/TerraAddon.java (86%) rename common/{implementation/src/main/java/com/dfsek/terra/api/addons => api/src/main/java/com/dfsek/terra/api/addon}/annotations/Addon.java (90%) rename common/{implementation/src/main/java/com/dfsek/terra/api/addons => api/src/main/java/com/dfsek/terra/api/addon}/annotations/Author.java (90%) rename common/{implementation/src/main/java/com/dfsek/terra/api/addons => api/src/main/java/com/dfsek/terra/api/addon}/annotations/Depends.java (90%) rename common/{implementation/src/main/java/com/dfsek/terra/api/addons => api/src/main/java/com/dfsek/terra/api/addon}/annotations/Version.java (90%) create mode 100644 common/api/src/main/java/com/dfsek/terra/api/block/Axis.java rename common/{implementation/src/main/java/com/dfsek/terra/api/platform => api/src/main/java/com/dfsek/terra/api}/block/Block.java (72%) rename common/{implementation/src/main/java/com/dfsek/terra/api/platform => api/src/main/java/com/dfsek/terra/api}/block/BlockData.java (72%) rename common/{implementation/src/main/java/com/dfsek/terra/api/platform => api/src/main/java/com/dfsek/terra/api}/block/BlockFace.java (95%) rename common/{implementation/src/main/java/com/dfsek/terra/api/platform => api/src/main/java/com/dfsek/terra/api}/block/BlockType.java (59%) rename common/{implementation/src/main/java/com/dfsek/terra/api/platform => api/src/main/java/com/dfsek/terra/api}/block/data/AnaloguePowerable.java (57%) rename common/{implementation/src/main/java/com/dfsek/terra/api/platform => api/src/main/java/com/dfsek/terra/api}/block/data/Bisected.java (77%) create mode 100644 common/api/src/main/java/com/dfsek/terra/api/block/data/Directional.java rename common/{implementation/src/main/java/com/dfsek/terra/api/platform => api/src/main/java/com/dfsek/terra/api}/block/data/MultipleFacing.java (60%) rename common/{implementation/src/main/java/com/dfsek/terra/api/platform => api/src/main/java/com/dfsek/terra/api}/block/data/Orientable.java (50%) rename common/{implementation/src/main/java/com/dfsek/terra/api/platform => api/src/main/java/com/dfsek/terra/api}/block/data/Rail.java (77%) rename common/{implementation/src/main/java/com/dfsek/terra/api/platform => api/src/main/java/com/dfsek/terra/api}/block/data/RedstoneWire.java (64%) create mode 100644 common/api/src/main/java/com/dfsek/terra/api/block/data/Rotatable.java rename common/{implementation/src/main/java/com/dfsek/terra/api/platform => api/src/main/java/com/dfsek/terra/api}/block/data/Slab.java (75%) rename common/{implementation/src/main/java/com/dfsek/terra/api/platform => api/src/main/java/com/dfsek/terra/api}/block/data/Stairs.java (92%) rename common/{implementation/src/main/java/com/dfsek/terra/api/platform => api/src/main/java/com/dfsek/terra/api}/block/data/Wall.java (61%) rename common/{implementation/src/main/java/com/dfsek/terra/api/platform => api/src/main/java/com/dfsek/terra/api}/block/data/Waterlogged.java (55%) create mode 100644 common/api/src/main/java/com/dfsek/terra/api/block/data/properties/Property.java rename common/{implementation/src/main/java/com/dfsek/terra/api/platform => api/src/main/java/com/dfsek/terra/api}/block/state/BlockState.java (58%) create mode 100644 common/api/src/main/java/com/dfsek/terra/api/block/state/Container.java rename common/{implementation/src/main/java/com/dfsek/terra/api/platform => api/src/main/java/com/dfsek/terra/api}/block/state/MobSpawner.java (86%) rename common/{implementation/src/main/java/com/dfsek/terra/api/platform => api/src/main/java/com/dfsek/terra/api}/block/state/SerialState.java (98%) rename common/{implementation/src/main/java/com/dfsek/terra/api/platform => api/src/main/java/com/dfsek/terra/api}/block/state/Sign.java (84%) rename common/{implementation/src/main/java/com/dfsek/terra/api/platform => api/src/main/java/com/dfsek/terra/api/entity}/CommandSender.java (55%) create mode 100644 common/api/src/main/java/com/dfsek/terra/api/entity/Entity.java create mode 100644 common/api/src/main/java/com/dfsek/terra/api/entity/EntityType.java create mode 100644 common/api/src/main/java/com/dfsek/terra/api/entity/Player.java rename common/{implementation => api}/src/main/java/com/dfsek/terra/api/event/EventListener.java (100%) rename common/{implementation => api}/src/main/java/com/dfsek/terra/api/event/EventManager.java (93%) rename common/{implementation => api}/src/main/java/com/dfsek/terra/api/event/annotations/Global.java (100%) rename common/{implementation => api}/src/main/java/com/dfsek/terra/api/event/annotations/Priority.java (100%) rename common/{implementation => api}/src/main/java/com/dfsek/terra/api/event/events/AbstractCancellable.java (100%) rename common/{implementation => api}/src/main/java/com/dfsek/terra/api/event/events/Cancellable.java (100%) rename common/{implementation => api}/src/main/java/com/dfsek/terra/api/event/events/Event.java (100%) rename common/{implementation => api}/src/main/java/com/dfsek/terra/api/event/events/PackEvent.java (100%) rename common/{implementation => api}/src/main/java/com/dfsek/terra/api/event/events/config/ConfigPackLoadEvent.java (100%) rename common/{implementation => api}/src/main/java/com/dfsek/terra/api/event/events/config/ConfigPackPostLoadEvent.java (100%) rename common/{implementation => api}/src/main/java/com/dfsek/terra/api/event/events/config/ConfigPackPreLoadEvent.java (100%) rename common/{implementation => api}/src/main/java/com/dfsek/terra/api/event/events/world/TerraWorldLoadEvent.java (100%) rename common/{implementation => api}/src/main/java/com/dfsek/terra/api/event/events/world/generation/EntitySpawnEvent.java (95%) rename common/{implementation => api}/src/main/java/com/dfsek/terra/api/event/events/world/generation/LootPopulateEvent.java (95%) rename common/{implementation/src/main/java/com/dfsek/terra/api/platform => api/src/main/java/com/dfsek/terra/api}/handle/ItemHandle.java (52%) rename common/{implementation/src/main/java/com/dfsek/terra/api/platform => api/src/main/java/com/dfsek/terra/api}/handle/WorldHandle.java (69%) create mode 100644 common/api/src/main/java/com/dfsek/terra/api/injection/Injector.java rename common/{implementation => api}/src/main/java/com/dfsek/terra/api/injection/annotations/Inject.java (100%) rename common/{implementation => api}/src/main/java/com/dfsek/terra/api/injection/exception/InjectionException.java (100%) create mode 100644 common/api/src/main/java/com/dfsek/terra/api/inventory/BlockInventoryHolder.java rename common/{implementation/src/main/java/com/dfsek/terra/api/platform => api/src/main/java/com/dfsek/terra/api}/inventory/Inventory.java (61%) create mode 100644 common/api/src/main/java/com/dfsek/terra/api/inventory/InventoryHolder.java rename common/{implementation/src/main/java/com/dfsek/terra/api/platform => api/src/main/java/com/dfsek/terra/api}/inventory/Item.java (61%) rename common/{implementation/src/main/java/com/dfsek/terra/api/platform => api/src/main/java/com/dfsek/terra/api}/inventory/ItemStack.java (56%) rename common/{implementation/src/main/java/com/dfsek/terra/api/platform => api/src/main/java/com/dfsek/terra/api}/inventory/item/Damageable.java (57%) rename common/{implementation/src/main/java/com/dfsek/terra/api/platform => api/src/main/java/com/dfsek/terra/api}/inventory/item/Enchantment.java (55%) rename common/{implementation/src/main/java/com/dfsek/terra/api/platform => api/src/main/java/com/dfsek/terra/api}/inventory/item/ItemMeta.java (65%) rename common/{implementation/src/main/java/com/dfsek/terra/api/math => api/src/main/java/com/dfsek/terra/api}/noise/NoiseSampler.java (95%) rename common/{implementation/src/main/java/com/dfsek/terra/api/math => api/src/main/java/com/dfsek/terra/api}/noise/normalizer/ClampNormalizer.java (80%) rename common/{implementation/src/main/java/com/dfsek/terra/api/math => api/src/main/java/com/dfsek/terra/api}/noise/normalizer/LinearNormalizer.java (80%) rename common/{implementation/src/main/java/com/dfsek/terra/api/math => api/src/main/java/com/dfsek/terra/api}/noise/normalizer/NormalNormalizer.java (92%) rename common/{implementation/src/main/java/com/dfsek/terra/api/math => api/src/main/java/com/dfsek/terra/api}/noise/normalizer/Normalizer.java (88%) rename common/{implementation/src/main/java/com/dfsek/terra/api/math => api/src/main/java/com/dfsek/terra/api}/noise/samplers/DomainWarpedSampler.java (92%) rename common/{implementation/src/main/java/com/dfsek/terra/api/math => api/src/main/java/com/dfsek/terra/api}/noise/samplers/ExpressionSampler.java (95%) rename common/{implementation/src/main/java/com/dfsek/terra/api/math => api/src/main/java/com/dfsek/terra/api}/noise/samplers/ImageSampler.java (95%) rename common/{implementation/src/main/java/com/dfsek/terra/api/math => api/src/main/java/com/dfsek/terra/api}/noise/samplers/KernelSampler.java (93%) rename common/{implementation/src/main/java/com/dfsek/terra/api/math => api/src/main/java/com/dfsek/terra/api}/noise/samplers/noise/CellularSampler.java (99%) rename common/{implementation/src/main/java/com/dfsek/terra/api/math => api/src/main/java/com/dfsek/terra/api}/noise/samplers/noise/ConstantSampler.java (89%) rename common/{implementation/src/main/java/com/dfsek/terra/api/math => api/src/main/java/com/dfsek/terra/api}/noise/samplers/noise/ExpressionFunction.java (95%) rename common/{implementation/src/main/java/com/dfsek/terra/api/math => api/src/main/java/com/dfsek/terra/api}/noise/samplers/noise/GaborNoiseSampler.java (96%) rename common/{implementation/src/main/java/com/dfsek/terra/api/math => api/src/main/java/com/dfsek/terra/api}/noise/samplers/noise/NoiseFunction.java (97%) rename common/{implementation/src/main/java/com/dfsek/terra/api/math => api/src/main/java/com/dfsek/terra/api}/noise/samplers/noise/fractal/BrownianMotionSampler.java (90%) rename common/{implementation/src/main/java/com/dfsek/terra/api/math => api/src/main/java/com/dfsek/terra/api}/noise/samplers/noise/fractal/FractalNoiseFunction.java (86%) rename common/{implementation/src/main/java/com/dfsek/terra/api/math => api/src/main/java/com/dfsek/terra/api}/noise/samplers/noise/fractal/PingPongSampler.java (92%) rename common/{implementation/src/main/java/com/dfsek/terra/api/math => api/src/main/java/com/dfsek/terra/api}/noise/samplers/noise/fractal/RidgedFractalSampler.java (91%) rename common/{implementation/src/main/java/com/dfsek/terra/api/math => api/src/main/java/com/dfsek/terra/api}/noise/samplers/noise/random/GaussianNoiseSampler.java (90%) rename common/{implementation/src/main/java/com/dfsek/terra/api/math => api/src/main/java/com/dfsek/terra/api}/noise/samplers/noise/random/WhiteNoiseSampler.java (93%) rename common/{implementation/src/main/java/com/dfsek/terra/api/math => api/src/main/java/com/dfsek/terra/api}/noise/samplers/noise/simplex/OpenSimplex2SSampler.java (99%) rename common/{implementation/src/main/java/com/dfsek/terra/api/math => api/src/main/java/com/dfsek/terra/api}/noise/samplers/noise/simplex/OpenSimplex2Sampler.java (98%) rename common/{implementation/src/main/java/com/dfsek/terra/api/math => api/src/main/java/com/dfsek/terra/api}/noise/samplers/noise/simplex/PerlinSampler.java (97%) rename common/{implementation/src/main/java/com/dfsek/terra/api/math => api/src/main/java/com/dfsek/terra/api}/noise/samplers/noise/simplex/SimplexSampler.java (99%) rename common/{implementation/src/main/java/com/dfsek/terra/api/math => api/src/main/java/com/dfsek/terra/api}/noise/samplers/noise/simplex/SimplexStyleSampler.java (98%) rename common/{implementation/src/main/java/com/dfsek/terra/api/math => api/src/main/java/com/dfsek/terra/api}/noise/samplers/noise/value/ValueCubicSampler.java (98%) rename common/{implementation/src/main/java/com/dfsek/terra/api/math => api/src/main/java/com/dfsek/terra/api}/noise/samplers/noise/value/ValueSampler.java (96%) rename common/{implementation/src/main/java/com/dfsek/terra/api/math => api/src/main/java/com/dfsek/terra/api}/noise/samplers/noise/value/ValueStyleNoise.java (82%) create mode 100644 common/api/src/main/java/com/dfsek/terra/api/registry/CheckedRegistry.java rename common/{implementation/src/main/java/com/dfsek/terra/registry/exception => api/src/main/java/com/dfsek/terra/api/registry}/DuplicateEntryException.java (89%) create mode 100644 common/api/src/main/java/com/dfsek/terra/api/registry/OpenRegistry.java rename common/{implementation => api}/src/main/java/com/dfsek/terra/api/registry/Registry.java (100%) rename common/{implementation => api}/src/main/java/com/dfsek/terra/api/transform/Transform.java (75%) create mode 100644 common/api/src/main/java/com/dfsek/terra/api/transform/Transformer.java rename common/{implementation => api}/src/main/java/com/dfsek/terra/api/transform/Validator.java (77%) rename common/{implementation/src/main/java/com/dfsek/terra/api/transform => api/src/main/java/com/dfsek/terra/api/transform/exception}/AttemptsFailedException.java (90%) rename common/{implementation/src/main/java/com/dfsek/terra/api/transform => api/src/main/java/com/dfsek/terra/api/transform/exception}/TransformException.java (90%) rename common/{implementation/src/main/java/com/dfsek/terra/api/math => api/src/main/java/com/dfsek/terra/api/util}/MathUtil.java (99%) create mode 100644 common/api/src/main/java/com/dfsek/terra/api/util/ProbabilityCollection.java rename common/{implementation/src/main/java/com/dfsek/terra/api/math => api/src/main/java/com/dfsek/terra/api}/vector/Location.java (95%) create mode 100644 common/api/src/main/java/com/dfsek/terra/api/vector/Vector2.java create mode 100644 common/api/src/main/java/com/dfsek/terra/api/vector/Vector3.java rename common/{implementation/src/main/java/com/dfsek/terra/api/platform => api/src/main/java/com/dfsek/terra/api}/world/BiomeGrid.java (91%) rename common/{implementation/src/main/java/com/dfsek/terra/api/platform => api/src/main/java/com/dfsek/terra/api}/world/Chunk.java (61%) rename common/{implementation/src/main/java/com/dfsek/terra/api/platform => api/src/main/java/com/dfsek/terra/api}/world/ChunkAccess.java (89%) rename common/{implementation/src/main/java/com/dfsek/terra/api/platform => api/src/main/java/com/dfsek/terra/api}/world/Tree.java (66%) rename common/{implementation/src/main/java/com/dfsek/terra/api/platform => api/src/main/java/com/dfsek/terra/api}/world/World.java (64%) create mode 100644 common/api/src/main/java/com/dfsek/terra/api/world/biome/Biome.java rename common/{implementation => api}/src/main/java/com/dfsek/terra/api/world/biome/Generator.java (94%) rename common/{implementation => api}/src/main/java/com/dfsek/terra/api/world/biome/TerraBiome.java (77%) rename common/{implementation/src/main/java/com/dfsek/terra/api/world/biome/provider => api/src/main/java/com/dfsek/terra/api/world/biome/generation}/BiomeProvider.java (76%) rename common/{implementation/src/main/java/com/dfsek/terra/api/world/biome/pipeline/expand => api/src/main/java/com/dfsek/terra/api/world/biome/generation/pipeline}/BiomeExpander.java (72%) rename common/{implementation/src/main/java/com/dfsek/terra/api/world/biome => api/src/main/java/com/dfsek/terra/api/world/biome/generation}/pipeline/BiomeHolder.java (53%) rename common/{implementation/src/main/java/com/dfsek/terra/api/world/biome/pipeline/mutator => api/src/main/java/com/dfsek/terra/api/world/biome/generation/pipeline}/BiomeMutator.java (81%) rename common/{implementation/src/main/java/com/dfsek/terra/api/world/biome/pipeline/source => api/src/main/java/com/dfsek/terra/api/world/biome/generation/pipeline}/BiomeSource.java (73%) create mode 100644 common/api/src/main/java/com/dfsek/terra/api/world/biome/generation/pipeline/Stage.java create mode 100644 common/api/src/main/java/com/dfsek/terra/api/world/generator/BlockPopulator.java rename common/{implementation/src/main/java/com/dfsek/terra/api/platform => api/src/main/java/com/dfsek/terra/api}/world/generator/ChunkData.java (69%) create mode 100644 common/api/src/main/java/com/dfsek/terra/api/world/generator/ChunkGenerator.java rename common/{implementation/src/main/java/com/dfsek/terra/api/platform => api/src/main/java/com/dfsek/terra/api}/world/generator/GeneratorWrapper.java (63%) rename common/implementation/src/main/java/com/dfsek/terra/api/event/{TerraEventManager.java => EventManagerImpl.java} (96%) rename common/implementation/src/main/java/com/dfsek/terra/api/{injection/Injector.java => inject/InjectorImpl.java} (57%) delete mode 100644 common/implementation/src/main/java/com/dfsek/terra/api/math/pixel/Distribution.java delete mode 100644 common/implementation/src/main/java/com/dfsek/terra/api/math/pixel/Polygon.java delete mode 100644 common/implementation/src/main/java/com/dfsek/terra/api/math/pixel/Rectangle.java delete mode 100644 common/implementation/src/main/java/com/dfsek/terra/api/math/voxel/Cylinder.java delete mode 100644 common/implementation/src/main/java/com/dfsek/terra/api/math/voxel/DeformedSphere.java delete mode 100644 common/implementation/src/main/java/com/dfsek/terra/api/math/voxel/Sphere.java delete mode 100644 common/implementation/src/main/java/com/dfsek/terra/api/math/voxel/Tube.java delete mode 100644 common/implementation/src/main/java/com/dfsek/terra/api/math/voxel/VoxelGeometry.java delete mode 100644 common/implementation/src/main/java/com/dfsek/terra/api/platform/block/Axis.java delete mode 100644 common/implementation/src/main/java/com/dfsek/terra/api/platform/block/data/Directional.java delete mode 100644 common/implementation/src/main/java/com/dfsek/terra/api/platform/block/data/Rotatable.java delete mode 100644 common/implementation/src/main/java/com/dfsek/terra/api/platform/block/data/properties/Property.java delete mode 100644 common/implementation/src/main/java/com/dfsek/terra/api/platform/block/state/Container.java delete mode 100644 common/implementation/src/main/java/com/dfsek/terra/api/platform/entity/Entity.java delete mode 100644 common/implementation/src/main/java/com/dfsek/terra/api/platform/entity/EntityType.java delete mode 100644 common/implementation/src/main/java/com/dfsek/terra/api/platform/entity/Player.java delete mode 100644 common/implementation/src/main/java/com/dfsek/terra/api/platform/inventory/BlockInventoryHolder.java delete mode 100644 common/implementation/src/main/java/com/dfsek/terra/api/platform/inventory/InventoryHolder.java delete mode 100644 common/implementation/src/main/java/com/dfsek/terra/api/platform/package-info.java delete mode 100644 common/implementation/src/main/java/com/dfsek/terra/api/platform/world/Biome.java delete mode 100644 common/implementation/src/main/java/com/dfsek/terra/api/platform/world/generator/BlockPopulator.java delete mode 100644 common/implementation/src/main/java/com/dfsek/terra/api/platform/world/generator/ChunkGenerator.java rename common/implementation/src/main/java/com/dfsek/terra/api/transform/{Transformer.java => TransformerImpl.java} (81%) rename common/implementation/src/main/java/com/dfsek/terra/api/util/collections/{ProbabilityCollection.java => ProbabilityCollectionImpl.java} (89%) rename common/implementation/src/main/java/com/dfsek/terra/api/world/biome/pipeline/{TerraBiomeHolder.java => BiomeHolderImpl.java} (78%) rename common/implementation/src/main/java/com/dfsek/terra/api/world/biome/pipeline/{BiomePipeline.java => BiomePipelineImpl.java} (70%) delete mode 100644 common/implementation/src/main/java/com/dfsek/terra/api/world/biome/pipeline/stages/Stage.java delete mode 100644 common/implementation/src/main/java/com/dfsek/terra/commands/geometry/DeformedSphereCommand.java delete mode 100644 common/implementation/src/main/java/com/dfsek/terra/commands/geometry/GeometryCommand.java delete mode 100644 common/implementation/src/main/java/com/dfsek/terra/commands/geometry/SphereCommand.java delete mode 100644 common/implementation/src/main/java/com/dfsek/terra/commands/geometry/TubeCommand.java rename common/implementation/src/main/java/com/dfsek/terra/{api/registry/CheckedRegistry.java => registry/CheckedRegistryImpl.java} (63%) rename common/implementation/src/main/java/com/dfsek/terra/{api/registry/LockedRegistry.java => registry/LockedRegistryImpl.java} (86%) rename common/implementation/src/main/java/com/dfsek/terra/registry/{OpenRegistry.java => OpenRegistryImpl.java} (79%) rename common/implementation/src/main/java/com/dfsek/terra/{api/math/vector/Vector2.java => vector/Vector2Impl.java} (56%) rename common/implementation/src/main/java/com/dfsek/terra/{api/math/vector/Vector3.java => vector/Vector3Impl.java} (53%) diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/platform/Handle.java b/common/api/src/main/java/com/dfsek/terra/api/Handle.java similarity index 83% rename from common/implementation/src/main/java/com/dfsek/terra/api/platform/Handle.java rename to common/api/src/main/java/com/dfsek/terra/api/Handle.java index 4f27ad55b..44c62c87d 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/platform/Handle.java +++ b/common/api/src/main/java/com/dfsek/terra/api/Handle.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.api.platform; +package com.dfsek.terra.api; /** * An interface that contains a platform delegate. diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/LoaderRegistrar.java b/common/api/src/main/java/com/dfsek/terra/api/LoaderRegistrar.java similarity index 100% rename from common/implementation/src/main/java/com/dfsek/terra/api/LoaderRegistrar.java rename to common/api/src/main/java/com/dfsek/terra/api/LoaderRegistrar.java diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/TerraPlugin.java b/common/api/src/main/java/com/dfsek/terra/api/TerraPlugin.java similarity index 91% rename from common/implementation/src/main/java/com/dfsek/terra/api/TerraPlugin.java rename to common/api/src/main/java/com/dfsek/terra/api/TerraPlugin.java index 1fa8de87e..8d7e55682 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/TerraPlugin.java +++ b/common/api/src/main/java/com/dfsek/terra/api/TerraPlugin.java @@ -2,9 +2,9 @@ package com.dfsek.terra.api; import com.dfsek.terra.api.addons.TerraAddon; import com.dfsek.terra.api.event.EventManager; -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.api.handle.ItemHandle; +import com.dfsek.terra.api.handle.WorldHandle; +import com.dfsek.terra.api.world.World; import com.dfsek.terra.api.registry.CheckedRegistry; import com.dfsek.terra.api.registry.LockedRegistry; import com.dfsek.terra.api.util.JarUtil; diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/addons/TerraAddon.java b/common/api/src/main/java/com/dfsek/terra/api/addon/TerraAddon.java similarity index 86% rename from common/implementation/src/main/java/com/dfsek/terra/api/addons/TerraAddon.java rename to common/api/src/main/java/com/dfsek/terra/api/addon/TerraAddon.java index c202f9e39..b49a87710 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/addons/TerraAddon.java +++ b/common/api/src/main/java/com/dfsek/terra/api/addon/TerraAddon.java @@ -1,9 +1,9 @@ -package com.dfsek.terra.api.addons; +package com.dfsek.terra.api.addon; -import com.dfsek.terra.api.addons.annotations.Addon; -import com.dfsek.terra.api.addons.annotations.Author; -import com.dfsek.terra.api.addons.annotations.Version; +import com.dfsek.terra.api.addon.annotations.Addon; +import com.dfsek.terra.api.addon.annotations.Author; +import com.dfsek.terra.api.addon.annotations.Version; import org.jetbrains.annotations.NotNull; /** diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/addons/annotations/Addon.java b/common/api/src/main/java/com/dfsek/terra/api/addon/annotations/Addon.java similarity index 90% rename from common/implementation/src/main/java/com/dfsek/terra/api/addons/annotations/Addon.java rename to common/api/src/main/java/com/dfsek/terra/api/addon/annotations/Addon.java index cf36cf6cf..355cf68d7 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/addons/annotations/Addon.java +++ b/common/api/src/main/java/com/dfsek/terra/api/addon/annotations/Addon.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.api.addons.annotations; +package com.dfsek.terra.api.addon.annotations; import org.jetbrains.annotations.NotNull; diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/addons/annotations/Author.java b/common/api/src/main/java/com/dfsek/terra/api/addon/annotations/Author.java similarity index 90% rename from common/implementation/src/main/java/com/dfsek/terra/api/addons/annotations/Author.java rename to common/api/src/main/java/com/dfsek/terra/api/addon/annotations/Author.java index 7a7c70873..a7241990f 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/addons/annotations/Author.java +++ b/common/api/src/main/java/com/dfsek/terra/api/addon/annotations/Author.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.api.addons.annotations; +package com.dfsek.terra.api.addon.annotations; import org.jetbrains.annotations.NotNull; diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/addons/annotations/Depends.java b/common/api/src/main/java/com/dfsek/terra/api/addon/annotations/Depends.java similarity index 90% rename from common/implementation/src/main/java/com/dfsek/terra/api/addons/annotations/Depends.java rename to common/api/src/main/java/com/dfsek/terra/api/addon/annotations/Depends.java index 8634335be..604b5c3f9 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/addons/annotations/Depends.java +++ b/common/api/src/main/java/com/dfsek/terra/api/addon/annotations/Depends.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.api.addons.annotations; +package com.dfsek.terra.api.addon.annotations; import org.jetbrains.annotations.NotNull; diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/addons/annotations/Version.java b/common/api/src/main/java/com/dfsek/terra/api/addon/annotations/Version.java similarity index 90% rename from common/implementation/src/main/java/com/dfsek/terra/api/addons/annotations/Version.java rename to common/api/src/main/java/com/dfsek/terra/api/addon/annotations/Version.java index a2f8c2743..a683c821c 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/addons/annotations/Version.java +++ b/common/api/src/main/java/com/dfsek/terra/api/addon/annotations/Version.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.api.addons.annotations; +package com.dfsek.terra.api.addon.annotations; import org.jetbrains.annotations.NotNull; diff --git a/common/api/src/main/java/com/dfsek/terra/api/block/Axis.java b/common/api/src/main/java/com/dfsek/terra/api/block/Axis.java new file mode 100644 index 000000000..01b5085bf --- /dev/null +++ b/common/api/src/main/java/com/dfsek/terra/api/block/Axis.java @@ -0,0 +1,5 @@ +package com.dfsek.terra.api.block; + +public enum Axis { + X, Y, Z +} diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/platform/block/Block.java b/common/api/src/main/java/com/dfsek/terra/api/block/Block.java similarity index 72% rename from common/implementation/src/main/java/com/dfsek/terra/api/platform/block/Block.java rename to common/api/src/main/java/com/dfsek/terra/api/block/Block.java index b6132ef0a..4827a7845 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/platform/block/Block.java +++ b/common/api/src/main/java/com/dfsek/terra/api/block/Block.java @@ -1,8 +1,8 @@ -package com.dfsek.terra.api.platform.block; +package com.dfsek.terra.api.block; -import com.dfsek.terra.api.math.vector.Location; -import com.dfsek.terra.api.platform.Handle; -import com.dfsek.terra.api.platform.block.state.BlockState; +import com.dfsek.terra.api.vector.Location; +import com.dfsek.terra.api.Handle; +import com.dfsek.terra.api.block.state.BlockState; public interface Block extends Handle { void setBlockData(BlockData data, boolean physics); diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/platform/block/BlockData.java b/common/api/src/main/java/com/dfsek/terra/api/block/BlockData.java similarity index 72% rename from common/implementation/src/main/java/com/dfsek/terra/api/platform/block/BlockData.java rename to common/api/src/main/java/com/dfsek/terra/api/block/BlockData.java index 3082a2184..b1f3de4d8 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/platform/block/BlockData.java +++ b/common/api/src/main/java/com/dfsek/terra/api/block/BlockData.java @@ -1,6 +1,6 @@ -package com.dfsek.terra.api.platform.block; +package com.dfsek.terra.api.block; -import com.dfsek.terra.api.platform.Handle; +import com.dfsek.terra.api.Handle; public interface BlockData extends Cloneable, Handle { diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/platform/block/BlockFace.java b/common/api/src/main/java/com/dfsek/terra/api/block/BlockFace.java similarity index 95% rename from common/implementation/src/main/java/com/dfsek/terra/api/platform/block/BlockFace.java rename to common/api/src/main/java/com/dfsek/terra/api/block/BlockFace.java index 4f9bcb904..ccb463640 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/platform/block/BlockFace.java +++ b/common/api/src/main/java/com/dfsek/terra/api/block/BlockFace.java @@ -1,6 +1,7 @@ -package com.dfsek.terra.api.platform.block; +package com.dfsek.terra.api.block; -import com.dfsek.terra.api.math.vector.Vector3; +import com.dfsek.terra.api.vector.Vector3; +import com.dfsek.terra.api.vector.Vector3Impl; import org.jetbrains.annotations.NotNull; public enum BlockFace { @@ -74,7 +75,7 @@ public enum BlockFace { */ @NotNull public Vector3 getDirection() { - Vector3 direction = new Vector3(modX, modY, modZ); + Vector3 direction = new Vector3Impl(modX, modY, modZ); if(modX != 0 || modY != 0 || modZ != 0) { direction.normalize(); } diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/platform/block/BlockType.java b/common/api/src/main/java/com/dfsek/terra/api/block/BlockType.java similarity index 59% rename from common/implementation/src/main/java/com/dfsek/terra/api/platform/block/BlockType.java rename to common/api/src/main/java/com/dfsek/terra/api/block/BlockType.java index 0703f02f1..2a911d2ae 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/platform/block/BlockType.java +++ b/common/api/src/main/java/com/dfsek/terra/api/block/BlockType.java @@ -1,6 +1,6 @@ -package com.dfsek.terra.api.platform.block; +package com.dfsek.terra.api.block; -import com.dfsek.terra.api.platform.Handle; +import com.dfsek.terra.api.Handle; public interface BlockType extends Handle { BlockData getDefaultData(); diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/platform/block/data/AnaloguePowerable.java b/common/api/src/main/java/com/dfsek/terra/api/block/data/AnaloguePowerable.java similarity index 57% rename from common/implementation/src/main/java/com/dfsek/terra/api/platform/block/data/AnaloguePowerable.java rename to common/api/src/main/java/com/dfsek/terra/api/block/data/AnaloguePowerable.java index 7c9ea0a7e..c0df25e37 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/platform/block/data/AnaloguePowerable.java +++ b/common/api/src/main/java/com/dfsek/terra/api/block/data/AnaloguePowerable.java @@ -1,6 +1,6 @@ -package com.dfsek.terra.api.platform.block.data; +package com.dfsek.terra.api.block.data; -import com.dfsek.terra.api.platform.block.BlockData; +import com.dfsek.terra.api.block.BlockData; public interface AnaloguePowerable extends BlockData { int getMaximumPower(); diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/platform/block/data/Bisected.java b/common/api/src/main/java/com/dfsek/terra/api/block/data/Bisected.java similarity index 77% rename from common/implementation/src/main/java/com/dfsek/terra/api/platform/block/data/Bisected.java rename to common/api/src/main/java/com/dfsek/terra/api/block/data/Bisected.java index a1061e33b..7ce6220c8 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/platform/block/data/Bisected.java +++ b/common/api/src/main/java/com/dfsek/terra/api/block/data/Bisected.java @@ -1,6 +1,6 @@ -package com.dfsek.terra.api.platform.block.data; +package com.dfsek.terra.api.block.data; -import com.dfsek.terra.api.platform.block.BlockData; +import com.dfsek.terra.api.block.BlockData; public interface Bisected extends BlockData { Half getHalf(); diff --git a/common/api/src/main/java/com/dfsek/terra/api/block/data/Directional.java b/common/api/src/main/java/com/dfsek/terra/api/block/data/Directional.java new file mode 100644 index 000000000..d25fecebb --- /dev/null +++ b/common/api/src/main/java/com/dfsek/terra/api/block/data/Directional.java @@ -0,0 +1,10 @@ +package com.dfsek.terra.api.block.data; + +import com.dfsek.terra.api.block.BlockData; +import com.dfsek.terra.api.block.BlockFace; + +public interface Directional extends BlockData { + BlockFace getFacing(); + + void setFacing(BlockFace facing); +} diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/platform/block/data/MultipleFacing.java b/common/api/src/main/java/com/dfsek/terra/api/block/data/MultipleFacing.java similarity index 60% rename from common/implementation/src/main/java/com/dfsek/terra/api/platform/block/data/MultipleFacing.java rename to common/api/src/main/java/com/dfsek/terra/api/block/data/MultipleFacing.java index bf57c54d4..2a8504ed3 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/platform/block/data/MultipleFacing.java +++ b/common/api/src/main/java/com/dfsek/terra/api/block/data/MultipleFacing.java @@ -1,7 +1,7 @@ -package com.dfsek.terra.api.platform.block.data; +package com.dfsek.terra.api.block.data; -import com.dfsek.terra.api.platform.block.BlockData; -import com.dfsek.terra.api.platform.block.BlockFace; +import com.dfsek.terra.api.block.BlockData; +import com.dfsek.terra.api.block.BlockFace; import java.util.Set; diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/platform/block/data/Orientable.java b/common/api/src/main/java/com/dfsek/terra/api/block/data/Orientable.java similarity index 50% rename from common/implementation/src/main/java/com/dfsek/terra/api/platform/block/data/Orientable.java rename to common/api/src/main/java/com/dfsek/terra/api/block/data/Orientable.java index ff3cf79e3..49ca11b51 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/platform/block/data/Orientable.java +++ b/common/api/src/main/java/com/dfsek/terra/api/block/data/Orientable.java @@ -1,7 +1,7 @@ -package com.dfsek.terra.api.platform.block.data; +package com.dfsek.terra.api.block.data; -import com.dfsek.terra.api.platform.block.Axis; -import com.dfsek.terra.api.platform.block.BlockData; +import com.dfsek.terra.api.block.Axis; +import com.dfsek.terra.api.block.BlockData; import java.util.Set; diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/platform/block/data/Rail.java b/common/api/src/main/java/com/dfsek/terra/api/block/data/Rail.java similarity index 77% rename from common/implementation/src/main/java/com/dfsek/terra/api/platform/block/data/Rail.java rename to common/api/src/main/java/com/dfsek/terra/api/block/data/Rail.java index 4436d11fb..69fb1e567 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/platform/block/data/Rail.java +++ b/common/api/src/main/java/com/dfsek/terra/api/block/data/Rail.java @@ -1,6 +1,6 @@ -package com.dfsek.terra.api.platform.block.data; +package com.dfsek.terra.api.block.data; -import com.dfsek.terra.api.platform.block.BlockData; +import com.dfsek.terra.api.block.BlockData; public interface Rail extends BlockData { Shape getShape(); diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/platform/block/data/RedstoneWire.java b/common/api/src/main/java/com/dfsek/terra/api/block/data/RedstoneWire.java similarity index 64% rename from common/implementation/src/main/java/com/dfsek/terra/api/platform/block/data/RedstoneWire.java rename to common/api/src/main/java/com/dfsek/terra/api/block/data/RedstoneWire.java index 6f9602de8..0f34dcb52 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/platform/block/data/RedstoneWire.java +++ b/common/api/src/main/java/com/dfsek/terra/api/block/data/RedstoneWire.java @@ -1,7 +1,7 @@ -package com.dfsek.terra.api.platform.block.data; +package com.dfsek.terra.api.block.data; -import com.dfsek.terra.api.platform.block.BlockData; -import com.dfsek.terra.api.platform.block.BlockFace; +import com.dfsek.terra.api.block.BlockData; +import com.dfsek.terra.api.block.BlockFace; import java.util.Set; diff --git a/common/api/src/main/java/com/dfsek/terra/api/block/data/Rotatable.java b/common/api/src/main/java/com/dfsek/terra/api/block/data/Rotatable.java new file mode 100644 index 000000000..fc95651c3 --- /dev/null +++ b/common/api/src/main/java/com/dfsek/terra/api/block/data/Rotatable.java @@ -0,0 +1,10 @@ +package com.dfsek.terra.api.block.data; + +import com.dfsek.terra.api.block.BlockData; +import com.dfsek.terra.api.block.BlockFace; + +public interface Rotatable extends BlockData { + BlockFace getRotation(); + + void setRotation(BlockFace face); +} diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/platform/block/data/Slab.java b/common/api/src/main/java/com/dfsek/terra/api/block/data/Slab.java similarity index 75% rename from common/implementation/src/main/java/com/dfsek/terra/api/platform/block/data/Slab.java rename to common/api/src/main/java/com/dfsek/terra/api/block/data/Slab.java index d813c8938..a589ae395 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/platform/block/data/Slab.java +++ b/common/api/src/main/java/com/dfsek/terra/api/block/data/Slab.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.api.platform.block.data; +package com.dfsek.terra.api.block.data; public interface Slab extends Waterlogged { Type getType(); diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/platform/block/data/Stairs.java b/common/api/src/main/java/com/dfsek/terra/api/block/data/Stairs.java similarity index 92% rename from common/implementation/src/main/java/com/dfsek/terra/api/platform/block/data/Stairs.java rename to common/api/src/main/java/com/dfsek/terra/api/block/data/Stairs.java index 9ed5382aa..fec901575 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/platform/block/data/Stairs.java +++ b/common/api/src/main/java/com/dfsek/terra/api/block/data/Stairs.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.api.platform.block.data; +package com.dfsek.terra.api.block.data; public interface Stairs extends Waterlogged, Directional, Bisected { Shape getShape(); diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/platform/block/data/Wall.java b/common/api/src/main/java/com/dfsek/terra/api/block/data/Wall.java similarity index 61% rename from common/implementation/src/main/java/com/dfsek/terra/api/platform/block/data/Wall.java rename to common/api/src/main/java/com/dfsek/terra/api/block/data/Wall.java index 5d891a0da..440daccbb 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/platform/block/data/Wall.java +++ b/common/api/src/main/java/com/dfsek/terra/api/block/data/Wall.java @@ -1,7 +1,7 @@ -package com.dfsek.terra.api.platform.block.data; +package com.dfsek.terra.api.block.data; -import com.dfsek.terra.api.platform.block.BlockData; -import com.dfsek.terra.api.platform.block.BlockFace; +import com.dfsek.terra.api.block.BlockData; +import com.dfsek.terra.api.block.BlockFace; public interface Wall extends BlockData, Waterlogged { boolean isUp(); diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/platform/block/data/Waterlogged.java b/common/api/src/main/java/com/dfsek/terra/api/block/data/Waterlogged.java similarity index 55% rename from common/implementation/src/main/java/com/dfsek/terra/api/platform/block/data/Waterlogged.java rename to common/api/src/main/java/com/dfsek/terra/api/block/data/Waterlogged.java index 3d5d3fed8..a109db6b6 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/platform/block/data/Waterlogged.java +++ b/common/api/src/main/java/com/dfsek/terra/api/block/data/Waterlogged.java @@ -1,6 +1,6 @@ -package com.dfsek.terra.api.platform.block.data; +package com.dfsek.terra.api.block.data; -import com.dfsek.terra.api.platform.block.BlockData; +import com.dfsek.terra.api.block.BlockData; public interface Waterlogged extends BlockData { boolean isWaterlogged(); diff --git a/common/api/src/main/java/com/dfsek/terra/api/block/data/properties/Property.java b/common/api/src/main/java/com/dfsek/terra/api/block/data/properties/Property.java new file mode 100644 index 000000000..7990ba6dd --- /dev/null +++ b/common/api/src/main/java/com/dfsek/terra/api/block/data/properties/Property.java @@ -0,0 +1,5 @@ +package com.dfsek.terra.api.block.data.properties; + +public interface Property { + +} diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/platform/block/state/BlockState.java b/common/api/src/main/java/com/dfsek/terra/api/block/state/BlockState.java similarity index 58% rename from common/implementation/src/main/java/com/dfsek/terra/api/platform/block/state/BlockState.java rename to common/api/src/main/java/com/dfsek/terra/api/block/state/BlockState.java index 47f5f51b7..3de77b5b6 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/platform/block/state/BlockState.java +++ b/common/api/src/main/java/com/dfsek/terra/api/block/state/BlockState.java @@ -1,8 +1,8 @@ -package com.dfsek.terra.api.platform.block.state; +package com.dfsek.terra.api.block.state; -import com.dfsek.terra.api.platform.Handle; -import com.dfsek.terra.api.platform.block.Block; -import com.dfsek.terra.api.platform.block.BlockData; +import com.dfsek.terra.api.Handle; +import com.dfsek.terra.api.block.Block; +import com.dfsek.terra.api.block.BlockData; public interface BlockState extends Handle { Block getBlock(); diff --git a/common/api/src/main/java/com/dfsek/terra/api/block/state/Container.java b/common/api/src/main/java/com/dfsek/terra/api/block/state/Container.java new file mode 100644 index 000000000..4a51a5280 --- /dev/null +++ b/common/api/src/main/java/com/dfsek/terra/api/block/state/Container.java @@ -0,0 +1,6 @@ +package com.dfsek.terra.api.block.state; + +import com.dfsek.terra.api.inventory.BlockInventoryHolder; + +public interface Container extends BlockState, BlockInventoryHolder { +} diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/platform/block/state/MobSpawner.java b/common/api/src/main/java/com/dfsek/terra/api/block/state/MobSpawner.java similarity index 86% rename from common/implementation/src/main/java/com/dfsek/terra/api/platform/block/state/MobSpawner.java rename to common/api/src/main/java/com/dfsek/terra/api/block/state/MobSpawner.java index ef1b2d606..ea8f40239 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/platform/block/state/MobSpawner.java +++ b/common/api/src/main/java/com/dfsek/terra/api/block/state/MobSpawner.java @@ -1,6 +1,6 @@ -package com.dfsek.terra.api.platform.block.state; +package com.dfsek.terra.api.block.state; -import com.dfsek.terra.api.platform.entity.EntityType; +import com.dfsek.terra.api.entity.EntityType; import org.jetbrains.annotations.NotNull; public interface MobSpawner extends BlockState { diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/platform/block/state/SerialState.java b/common/api/src/main/java/com/dfsek/terra/api/block/state/SerialState.java similarity index 98% rename from common/implementation/src/main/java/com/dfsek/terra/api/platform/block/state/SerialState.java rename to common/api/src/main/java/com/dfsek/terra/api/block/state/SerialState.java index 7c05c1253..22c39ee44 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/platform/block/state/SerialState.java +++ b/common/api/src/main/java/com/dfsek/terra/api/block/state/SerialState.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.api.platform.block.state; +package com.dfsek.terra.api.block.state; import java.util.HashMap; import java.util.Map; diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/platform/block/state/Sign.java b/common/api/src/main/java/com/dfsek/terra/api/block/state/Sign.java similarity index 84% rename from common/implementation/src/main/java/com/dfsek/terra/api/platform/block/state/Sign.java rename to common/api/src/main/java/com/dfsek/terra/api/block/state/Sign.java index 0cc901816..037572d0d 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/platform/block/state/Sign.java +++ b/common/api/src/main/java/com/dfsek/terra/api/block/state/Sign.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.api.platform.block.state; +package com.dfsek.terra.api.block.state; import org.jetbrains.annotations.NotNull; diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/platform/CommandSender.java b/common/api/src/main/java/com/dfsek/terra/api/entity/CommandSender.java similarity index 55% rename from common/implementation/src/main/java/com/dfsek/terra/api/platform/CommandSender.java rename to common/api/src/main/java/com/dfsek/terra/api/entity/CommandSender.java index 5fd7d60a7..cc005485a 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/platform/CommandSender.java +++ b/common/api/src/main/java/com/dfsek/terra/api/entity/CommandSender.java @@ -1,4 +1,6 @@ -package com.dfsek.terra.api.platform; +package com.dfsek.terra.api.entity; + +import com.dfsek.terra.api.Handle; public interface CommandSender extends Handle { void sendMessage(String message); diff --git a/common/api/src/main/java/com/dfsek/terra/api/entity/Entity.java b/common/api/src/main/java/com/dfsek/terra/api/entity/Entity.java new file mode 100644 index 000000000..152ee3ed7 --- /dev/null +++ b/common/api/src/main/java/com/dfsek/terra/api/entity/Entity.java @@ -0,0 +1,13 @@ +package com.dfsek.terra.api.entity; + +import com.dfsek.terra.api.vector.Location; +import com.dfsek.terra.api.Handle; +import com.dfsek.terra.api.world.World; + +public interface Entity extends Handle, CommandSender { + Location getLocation(); + + void setLocation(Location location); + + World getWorld(); +} diff --git a/common/api/src/main/java/com/dfsek/terra/api/entity/EntityType.java b/common/api/src/main/java/com/dfsek/terra/api/entity/EntityType.java new file mode 100644 index 000000000..f86525b82 --- /dev/null +++ b/common/api/src/main/java/com/dfsek/terra/api/entity/EntityType.java @@ -0,0 +1,6 @@ +package com.dfsek.terra.api.entity; + +import com.dfsek.terra.api.Handle; + +public interface EntityType extends Handle { +} diff --git a/common/api/src/main/java/com/dfsek/terra/api/entity/Player.java b/common/api/src/main/java/com/dfsek/terra/api/entity/Player.java new file mode 100644 index 000000000..d8cbc30e3 --- /dev/null +++ b/common/api/src/main/java/com/dfsek/terra/api/entity/Player.java @@ -0,0 +1,4 @@ +package com.dfsek.terra.api.entity; + +public interface Player extends Entity { +} diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/event/EventListener.java b/common/api/src/main/java/com/dfsek/terra/api/event/EventListener.java similarity index 100% rename from common/implementation/src/main/java/com/dfsek/terra/api/event/EventListener.java rename to common/api/src/main/java/com/dfsek/terra/api/event/EventListener.java diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/event/EventManager.java b/common/api/src/main/java/com/dfsek/terra/api/event/EventManager.java similarity index 93% rename from common/implementation/src/main/java/com/dfsek/terra/api/event/EventManager.java rename to common/api/src/main/java/com/dfsek/terra/api/event/EventManager.java index de6ba0e19..28453d401 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/event/EventManager.java +++ b/common/api/src/main/java/com/dfsek/terra/api/event/EventManager.java @@ -1,6 +1,6 @@ package com.dfsek.terra.api.event; -import com.dfsek.terra.api.addons.TerraAddon; +import com.dfsek.terra.api.addon.TerraAddon; import com.dfsek.terra.api.event.events.Event; /** diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/event/annotations/Global.java b/common/api/src/main/java/com/dfsek/terra/api/event/annotations/Global.java similarity index 100% rename from common/implementation/src/main/java/com/dfsek/terra/api/event/annotations/Global.java rename to common/api/src/main/java/com/dfsek/terra/api/event/annotations/Global.java diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/event/annotations/Priority.java b/common/api/src/main/java/com/dfsek/terra/api/event/annotations/Priority.java similarity index 100% rename from common/implementation/src/main/java/com/dfsek/terra/api/event/annotations/Priority.java rename to common/api/src/main/java/com/dfsek/terra/api/event/annotations/Priority.java diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/event/events/AbstractCancellable.java b/common/api/src/main/java/com/dfsek/terra/api/event/events/AbstractCancellable.java similarity index 100% rename from common/implementation/src/main/java/com/dfsek/terra/api/event/events/AbstractCancellable.java rename to common/api/src/main/java/com/dfsek/terra/api/event/events/AbstractCancellable.java diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/event/events/Cancellable.java b/common/api/src/main/java/com/dfsek/terra/api/event/events/Cancellable.java similarity index 100% rename from common/implementation/src/main/java/com/dfsek/terra/api/event/events/Cancellable.java rename to common/api/src/main/java/com/dfsek/terra/api/event/events/Cancellable.java diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/event/events/Event.java b/common/api/src/main/java/com/dfsek/terra/api/event/events/Event.java similarity index 100% rename from common/implementation/src/main/java/com/dfsek/terra/api/event/events/Event.java rename to common/api/src/main/java/com/dfsek/terra/api/event/events/Event.java diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/event/events/PackEvent.java b/common/api/src/main/java/com/dfsek/terra/api/event/events/PackEvent.java similarity index 100% rename from common/implementation/src/main/java/com/dfsek/terra/api/event/events/PackEvent.java rename to common/api/src/main/java/com/dfsek/terra/api/event/events/PackEvent.java diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/event/events/config/ConfigPackLoadEvent.java b/common/api/src/main/java/com/dfsek/terra/api/event/events/config/ConfigPackLoadEvent.java similarity index 100% rename from common/implementation/src/main/java/com/dfsek/terra/api/event/events/config/ConfigPackLoadEvent.java rename to common/api/src/main/java/com/dfsek/terra/api/event/events/config/ConfigPackLoadEvent.java diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/event/events/config/ConfigPackPostLoadEvent.java b/common/api/src/main/java/com/dfsek/terra/api/event/events/config/ConfigPackPostLoadEvent.java similarity index 100% rename from common/implementation/src/main/java/com/dfsek/terra/api/event/events/config/ConfigPackPostLoadEvent.java rename to common/api/src/main/java/com/dfsek/terra/api/event/events/config/ConfigPackPostLoadEvent.java diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/event/events/config/ConfigPackPreLoadEvent.java b/common/api/src/main/java/com/dfsek/terra/api/event/events/config/ConfigPackPreLoadEvent.java similarity index 100% rename from common/implementation/src/main/java/com/dfsek/terra/api/event/events/config/ConfigPackPreLoadEvent.java rename to common/api/src/main/java/com/dfsek/terra/api/event/events/config/ConfigPackPreLoadEvent.java diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/event/events/world/TerraWorldLoadEvent.java b/common/api/src/main/java/com/dfsek/terra/api/event/events/world/TerraWorldLoadEvent.java similarity index 100% rename from common/implementation/src/main/java/com/dfsek/terra/api/event/events/world/TerraWorldLoadEvent.java rename to common/api/src/main/java/com/dfsek/terra/api/event/events/world/TerraWorldLoadEvent.java diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/event/events/world/generation/EntitySpawnEvent.java b/common/api/src/main/java/com/dfsek/terra/api/event/events/world/generation/EntitySpawnEvent.java similarity index 95% rename from common/implementation/src/main/java/com/dfsek/terra/api/event/events/world/generation/EntitySpawnEvent.java rename to common/api/src/main/java/com/dfsek/terra/api/event/events/world/generation/EntitySpawnEvent.java index 2f4b25bbe..f5748ee4c 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/event/events/world/generation/EntitySpawnEvent.java +++ b/common/api/src/main/java/com/dfsek/terra/api/event/events/world/generation/EntitySpawnEvent.java @@ -2,7 +2,7 @@ package com.dfsek.terra.api.event.events.world.generation; import com.dfsek.terra.api.event.events.PackEvent; import com.dfsek.terra.api.math.vector.Location; -import com.dfsek.terra.api.platform.entity.Entity; +import com.dfsek.terra.api.entity.Entity; import com.dfsek.terra.api.structures.structure.buffer.items.BufferedEntity; import com.dfsek.terra.config.pack.ConfigPack; diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/event/events/world/generation/LootPopulateEvent.java b/common/api/src/main/java/com/dfsek/terra/api/event/events/world/generation/LootPopulateEvent.java similarity index 95% rename from common/implementation/src/main/java/com/dfsek/terra/api/event/events/world/generation/LootPopulateEvent.java rename to common/api/src/main/java/com/dfsek/terra/api/event/events/world/generation/LootPopulateEvent.java index cb3735017..39657595b 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/event/events/world/generation/LootPopulateEvent.java +++ b/common/api/src/main/java/com/dfsek/terra/api/event/events/world/generation/LootPopulateEvent.java @@ -3,8 +3,8 @@ package com.dfsek.terra.api.event.events.world.generation; import com.dfsek.terra.api.event.events.AbstractCancellable; import com.dfsek.terra.api.event.events.Cancellable; import com.dfsek.terra.api.event.events.PackEvent; -import com.dfsek.terra.api.platform.block.Block; -import com.dfsek.terra.api.platform.block.state.Container; +import com.dfsek.terra.api.block.Block; +import com.dfsek.terra.api.block.state.Container; import com.dfsek.terra.api.structures.loot.LootTable; import com.dfsek.terra.api.structures.script.StructureScript; import com.dfsek.terra.api.structures.structure.buffer.items.BufferedLootApplication; diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/platform/handle/ItemHandle.java b/common/api/src/main/java/com/dfsek/terra/api/handle/ItemHandle.java similarity index 52% rename from common/implementation/src/main/java/com/dfsek/terra/api/platform/handle/ItemHandle.java rename to common/api/src/main/java/com/dfsek/terra/api/handle/ItemHandle.java index 1c76e225d..2a9c176a0 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/platform/handle/ItemHandle.java +++ b/common/api/src/main/java/com/dfsek/terra/api/handle/ItemHandle.java @@ -1,7 +1,7 @@ -package com.dfsek.terra.api.platform.handle; +package com.dfsek.terra.api.handle; -import com.dfsek.terra.api.platform.inventory.Item; -import com.dfsek.terra.api.platform.inventory.item.Enchantment; +import com.dfsek.terra.api.inventory.Item; +import com.dfsek.terra.api.inventory.item.Enchantment; import java.util.Set; diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/platform/handle/WorldHandle.java b/common/api/src/main/java/com/dfsek/terra/api/handle/WorldHandle.java similarity index 69% rename from common/implementation/src/main/java/com/dfsek/terra/api/platform/handle/WorldHandle.java rename to common/api/src/main/java/com/dfsek/terra/api/handle/WorldHandle.java index 776b695a5..4575b5d2c 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/platform/handle/WorldHandle.java +++ b/common/api/src/main/java/com/dfsek/terra/api/handle/WorldHandle.java @@ -1,9 +1,9 @@ -package com.dfsek.terra.api.platform.handle; +package com.dfsek.terra.api.handle; -import com.dfsek.terra.api.math.vector.Location; -import com.dfsek.terra.api.platform.block.BlockData; -import com.dfsek.terra.api.platform.entity.EntityType; -import com.dfsek.terra.api.platform.entity.Player; +import com.dfsek.terra.api.vector.Location; +import com.dfsek.terra.api.block.BlockData; +import com.dfsek.terra.api.entity.EntityType; +import com.dfsek.terra.api.entity.Player; import com.dfsek.terra.api.util.generic.pair.Pair; /** diff --git a/common/api/src/main/java/com/dfsek/terra/api/injection/Injector.java b/common/api/src/main/java/com/dfsek/terra/api/injection/Injector.java new file mode 100644 index 000000000..648365c19 --- /dev/null +++ b/common/api/src/main/java/com/dfsek/terra/api/injection/Injector.java @@ -0,0 +1,38 @@ +package com.dfsek.terra.api.injection; + +import com.dfsek.terra.api.injection.annotations.Inject; +import com.dfsek.terra.api.injection.exception.InjectionException; + +/** + * Dynamic dependency injector. + *

+ * Stores an object to inject, and injects it into objects passed to {@link #inject(Object)}. + * + * @param Type of object to inject. + */ +public interface Injector { + /** + * Add an explicit class as a target. Useful for applications where subclasses may cause issues with DI. + * + * @param target Target class type. + */ + void addExplicitTarget(Class target); + + /** + * Inject the stored object into an object. + *

+ * Injects the stored object into any non-static, non-final fields + * annotated with {@link Inject}, + * with type matching the stored object or any explicit targets + * ({@link #addExplicitTarget(Class)}. + * + * @param object Object to inject into + * @throws InjectionException If: + *

+ */ + void inject(Object object) throws InjectionException; +} diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/injection/annotations/Inject.java b/common/api/src/main/java/com/dfsek/terra/api/injection/annotations/Inject.java similarity index 100% rename from common/implementation/src/main/java/com/dfsek/terra/api/injection/annotations/Inject.java rename to common/api/src/main/java/com/dfsek/terra/api/injection/annotations/Inject.java diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/injection/exception/InjectionException.java b/common/api/src/main/java/com/dfsek/terra/api/injection/exception/InjectionException.java similarity index 100% rename from common/implementation/src/main/java/com/dfsek/terra/api/injection/exception/InjectionException.java rename to common/api/src/main/java/com/dfsek/terra/api/injection/exception/InjectionException.java diff --git a/common/api/src/main/java/com/dfsek/terra/api/inventory/BlockInventoryHolder.java b/common/api/src/main/java/com/dfsek/terra/api/inventory/BlockInventoryHolder.java new file mode 100644 index 000000000..eeebc5286 --- /dev/null +++ b/common/api/src/main/java/com/dfsek/terra/api/inventory/BlockInventoryHolder.java @@ -0,0 +1,7 @@ +package com.dfsek.terra.api.inventory; + +import com.dfsek.terra.api.block.Block; + +public interface BlockInventoryHolder extends InventoryHolder { + Block getBlock(); +} diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/platform/inventory/Inventory.java b/common/api/src/main/java/com/dfsek/terra/api/inventory/Inventory.java similarity index 61% rename from common/implementation/src/main/java/com/dfsek/terra/api/platform/inventory/Inventory.java rename to common/api/src/main/java/com/dfsek/terra/api/inventory/Inventory.java index 776a23614..c90267298 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/platform/inventory/Inventory.java +++ b/common/api/src/main/java/com/dfsek/terra/api/inventory/Inventory.java @@ -1,6 +1,6 @@ -package com.dfsek.terra.api.platform.inventory; +package com.dfsek.terra.api.inventory; -import com.dfsek.terra.api.platform.Handle; +import com.dfsek.terra.api.Handle; public interface Inventory extends Handle { int getSize(); diff --git a/common/api/src/main/java/com/dfsek/terra/api/inventory/InventoryHolder.java b/common/api/src/main/java/com/dfsek/terra/api/inventory/InventoryHolder.java new file mode 100644 index 000000000..b3a1683cb --- /dev/null +++ b/common/api/src/main/java/com/dfsek/terra/api/inventory/InventoryHolder.java @@ -0,0 +1,7 @@ +package com.dfsek.terra.api.inventory; + +import com.dfsek.terra.api.Handle; + +public interface InventoryHolder extends Handle { + Inventory getInventory(); +} diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/platform/inventory/Item.java b/common/api/src/main/java/com/dfsek/terra/api/inventory/Item.java similarity index 61% rename from common/implementation/src/main/java/com/dfsek/terra/api/platform/inventory/Item.java rename to common/api/src/main/java/com/dfsek/terra/api/inventory/Item.java index 4fa70ede3..1d87635c0 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/platform/inventory/Item.java +++ b/common/api/src/main/java/com/dfsek/terra/api/inventory/Item.java @@ -1,6 +1,6 @@ -package com.dfsek.terra.api.platform.inventory; +package com.dfsek.terra.api.inventory; -import com.dfsek.terra.api.platform.Handle; +import com.dfsek.terra.api.Handle; /** * An inventory item. diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/platform/inventory/ItemStack.java b/common/api/src/main/java/com/dfsek/terra/api/inventory/ItemStack.java similarity index 56% rename from common/implementation/src/main/java/com/dfsek/terra/api/platform/inventory/ItemStack.java rename to common/api/src/main/java/com/dfsek/terra/api/inventory/ItemStack.java index 5b7ac6906..fb3dd837c 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/platform/inventory/ItemStack.java +++ b/common/api/src/main/java/com/dfsek/terra/api/inventory/ItemStack.java @@ -1,8 +1,8 @@ -package com.dfsek.terra.api.platform.inventory; +package com.dfsek.terra.api.inventory; -import com.dfsek.terra.api.platform.Handle; -import com.dfsek.terra.api.platform.inventory.item.Damageable; -import com.dfsek.terra.api.platform.inventory.item.ItemMeta; +import com.dfsek.terra.api.Handle; +import com.dfsek.terra.api.inventory.item.Damageable; +import com.dfsek.terra.api.inventory.item.ItemMeta; public interface ItemStack extends Handle { int getAmount(); diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/platform/inventory/item/Damageable.java b/common/api/src/main/java/com/dfsek/terra/api/inventory/item/Damageable.java similarity index 57% rename from common/implementation/src/main/java/com/dfsek/terra/api/platform/inventory/item/Damageable.java rename to common/api/src/main/java/com/dfsek/terra/api/inventory/item/Damageable.java index 160388c94..115414b3a 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/platform/inventory/item/Damageable.java +++ b/common/api/src/main/java/com/dfsek/terra/api/inventory/item/Damageable.java @@ -1,6 +1,6 @@ -package com.dfsek.terra.api.platform.inventory.item; +package com.dfsek.terra.api.inventory.item; -import com.dfsek.terra.api.platform.Handle; +import com.dfsek.terra.api.Handle; public interface Damageable extends Handle { int getDamage(); diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/platform/inventory/item/Enchantment.java b/common/api/src/main/java/com/dfsek/terra/api/inventory/item/Enchantment.java similarity index 55% rename from common/implementation/src/main/java/com/dfsek/terra/api/platform/inventory/item/Enchantment.java rename to common/api/src/main/java/com/dfsek/terra/api/inventory/item/Enchantment.java index e8f404f34..eb1586815 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/platform/inventory/item/Enchantment.java +++ b/common/api/src/main/java/com/dfsek/terra/api/inventory/item/Enchantment.java @@ -1,7 +1,7 @@ -package com.dfsek.terra.api.platform.inventory.item; +package com.dfsek.terra.api.inventory.item; -import com.dfsek.terra.api.platform.Handle; -import com.dfsek.terra.api.platform.inventory.ItemStack; +import com.dfsek.terra.api.Handle; +import com.dfsek.terra.api.inventory.ItemStack; public interface Enchantment extends Handle { boolean canEnchantItem(ItemStack itemStack); diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/platform/inventory/item/ItemMeta.java b/common/api/src/main/java/com/dfsek/terra/api/inventory/item/ItemMeta.java similarity index 65% rename from common/implementation/src/main/java/com/dfsek/terra/api/platform/inventory/item/ItemMeta.java rename to common/api/src/main/java/com/dfsek/terra/api/inventory/item/ItemMeta.java index 0189c5755..87ce7e63f 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/platform/inventory/item/ItemMeta.java +++ b/common/api/src/main/java/com/dfsek/terra/api/inventory/item/ItemMeta.java @@ -1,6 +1,6 @@ -package com.dfsek.terra.api.platform.inventory.item; +package com.dfsek.terra.api.inventory.item; -import com.dfsek.terra.api.platform.Handle; +import com.dfsek.terra.api.Handle; import java.util.Map; diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/math/noise/NoiseSampler.java b/common/api/src/main/java/com/dfsek/terra/api/noise/NoiseSampler.java similarity index 95% rename from common/implementation/src/main/java/com/dfsek/terra/api/math/noise/NoiseSampler.java rename to common/api/src/main/java/com/dfsek/terra/api/noise/NoiseSampler.java index 34fc3704e..7d04c5619 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/math/noise/NoiseSampler.java +++ b/common/api/src/main/java/com/dfsek/terra/api/noise/NoiseSampler.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.api.math.noise; +package com.dfsek.terra.api.noise; import com.dfsek.terra.api.math.vector.Vector2; import com.dfsek.terra.api.math.vector.Vector3; diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/math/noise/normalizer/ClampNormalizer.java b/common/api/src/main/java/com/dfsek/terra/api/noise/normalizer/ClampNormalizer.java similarity index 80% rename from common/implementation/src/main/java/com/dfsek/terra/api/math/noise/normalizer/ClampNormalizer.java rename to common/api/src/main/java/com/dfsek/terra/api/noise/normalizer/ClampNormalizer.java index dee3ddfd8..5386119b4 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/math/noise/normalizer/ClampNormalizer.java +++ b/common/api/src/main/java/com/dfsek/terra/api/noise/normalizer/ClampNormalizer.java @@ -1,6 +1,6 @@ -package com.dfsek.terra.api.math.noise.normalizer; +package com.dfsek.terra.api.noise.normalizer; -import com.dfsek.terra.api.math.noise.NoiseSampler; +import com.dfsek.terra.api.noise.NoiseSampler; import net.jafama.FastMath; public class ClampNormalizer extends Normalizer { diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/math/noise/normalizer/LinearNormalizer.java b/common/api/src/main/java/com/dfsek/terra/api/noise/normalizer/LinearNormalizer.java similarity index 80% rename from common/implementation/src/main/java/com/dfsek/terra/api/math/noise/normalizer/LinearNormalizer.java rename to common/api/src/main/java/com/dfsek/terra/api/noise/normalizer/LinearNormalizer.java index 69adfabb3..e61fefe3d 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/math/noise/normalizer/LinearNormalizer.java +++ b/common/api/src/main/java/com/dfsek/terra/api/noise/normalizer/LinearNormalizer.java @@ -1,6 +1,6 @@ -package com.dfsek.terra.api.math.noise.normalizer; +package com.dfsek.terra.api.noise.normalizer; -import com.dfsek.terra.api.math.noise.NoiseSampler; +import com.dfsek.terra.api.noise.NoiseSampler; /** * Normalizer to linearly scale data's range. diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/math/noise/normalizer/NormalNormalizer.java b/common/api/src/main/java/com/dfsek/terra/api/noise/normalizer/NormalNormalizer.java similarity index 92% rename from common/implementation/src/main/java/com/dfsek/terra/api/math/noise/normalizer/NormalNormalizer.java rename to common/api/src/main/java/com/dfsek/terra/api/noise/normalizer/NormalNormalizer.java index faeef8963..377a43fd3 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/math/noise/normalizer/NormalNormalizer.java +++ b/common/api/src/main/java/com/dfsek/terra/api/noise/normalizer/NormalNormalizer.java @@ -1,7 +1,7 @@ -package com.dfsek.terra.api.math.noise.normalizer; +package com.dfsek.terra.api.noise.normalizer; import com.dfsek.terra.api.math.MathUtil; -import com.dfsek.terra.api.math.noise.NoiseSampler; +import com.dfsek.terra.api.noise.NoiseSampler; import net.jafama.FastMath; /** diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/math/noise/normalizer/Normalizer.java b/common/api/src/main/java/com/dfsek/terra/api/noise/normalizer/Normalizer.java similarity index 88% rename from common/implementation/src/main/java/com/dfsek/terra/api/math/noise/normalizer/Normalizer.java rename to common/api/src/main/java/com/dfsek/terra/api/noise/normalizer/Normalizer.java index 19967130c..2e61cbe9f 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/math/noise/normalizer/Normalizer.java +++ b/common/api/src/main/java/com/dfsek/terra/api/noise/normalizer/Normalizer.java @@ -1,6 +1,6 @@ -package com.dfsek.terra.api.math.noise.normalizer; +package com.dfsek.terra.api.noise.normalizer; -import com.dfsek.terra.api.math.noise.NoiseSampler; +import com.dfsek.terra.api.noise.NoiseSampler; public abstract class Normalizer implements NoiseSampler { private final NoiseSampler sampler; diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/math/noise/samplers/DomainWarpedSampler.java b/common/api/src/main/java/com/dfsek/terra/api/noise/samplers/DomainWarpedSampler.java similarity index 92% rename from common/implementation/src/main/java/com/dfsek/terra/api/math/noise/samplers/DomainWarpedSampler.java rename to common/api/src/main/java/com/dfsek/terra/api/noise/samplers/DomainWarpedSampler.java index cbaf053c7..9796999d9 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/math/noise/samplers/DomainWarpedSampler.java +++ b/common/api/src/main/java/com/dfsek/terra/api/noise/samplers/DomainWarpedSampler.java @@ -1,6 +1,6 @@ -package com.dfsek.terra.api.math.noise.samplers; +package com.dfsek.terra.api.noise.samplers; -import com.dfsek.terra.api.math.noise.NoiseSampler; +import com.dfsek.terra.api.noise.NoiseSampler; public class DomainWarpedSampler implements NoiseSampler { private final NoiseSampler function; diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/math/noise/samplers/ExpressionSampler.java b/common/api/src/main/java/com/dfsek/terra/api/noise/samplers/ExpressionSampler.java similarity index 95% rename from common/implementation/src/main/java/com/dfsek/terra/api/math/noise/samplers/ExpressionSampler.java rename to common/api/src/main/java/com/dfsek/terra/api/noise/samplers/ExpressionSampler.java index 8ca8f2333..291384220 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/math/noise/samplers/ExpressionSampler.java +++ b/common/api/src/main/java/com/dfsek/terra/api/noise/samplers/ExpressionSampler.java @@ -1,10 +1,10 @@ -package com.dfsek.terra.api.math.noise.samplers; +package com.dfsek.terra.api.noise.samplers; import com.dfsek.paralithic.Expression; import com.dfsek.paralithic.eval.parser.Parser; import com.dfsek.paralithic.eval.parser.Scope; import com.dfsek.paralithic.eval.tokenizer.ParseException; -import com.dfsek.terra.api.math.noise.NoiseSampler; +import com.dfsek.terra.api.noise.NoiseSampler; import com.dfsek.terra.api.math.paralithic.defined.UserDefinedFunction; import com.dfsek.terra.api.math.paralithic.noise.NoiseFunction2; import com.dfsek.terra.api.math.paralithic.noise.NoiseFunction3; diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/math/noise/samplers/ImageSampler.java b/common/api/src/main/java/com/dfsek/terra/api/noise/samplers/ImageSampler.java similarity index 95% rename from common/implementation/src/main/java/com/dfsek/terra/api/math/noise/samplers/ImageSampler.java rename to common/api/src/main/java/com/dfsek/terra/api/noise/samplers/ImageSampler.java index a5b31b808..d246e53c7 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/math/noise/samplers/ImageSampler.java +++ b/common/api/src/main/java/com/dfsek/terra/api/noise/samplers/ImageSampler.java @@ -1,6 +1,6 @@ -package com.dfsek.terra.api.math.noise.samplers; +package com.dfsek.terra.api.noise.samplers; -import com.dfsek.terra.api.math.noise.NoiseSampler; +import com.dfsek.terra.api.noise.NoiseSampler; import net.jafama.FastMath; import java.awt.image.BufferedImage; diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/math/noise/samplers/KernelSampler.java b/common/api/src/main/java/com/dfsek/terra/api/noise/samplers/KernelSampler.java similarity index 93% rename from common/implementation/src/main/java/com/dfsek/terra/api/math/noise/samplers/KernelSampler.java rename to common/api/src/main/java/com/dfsek/terra/api/noise/samplers/KernelSampler.java index 695135e5c..d74fc35a0 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/math/noise/samplers/KernelSampler.java +++ b/common/api/src/main/java/com/dfsek/terra/api/noise/samplers/KernelSampler.java @@ -1,6 +1,6 @@ -package com.dfsek.terra.api.math.noise.samplers; +package com.dfsek.terra.api.noise.samplers; -import com.dfsek.terra.api.math.noise.NoiseSampler; +import com.dfsek.terra.api.noise.NoiseSampler; public class KernelSampler implements NoiseSampler { private final double[][] kernel; diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/CellularSampler.java b/common/api/src/main/java/com/dfsek/terra/api/noise/samplers/noise/CellularSampler.java similarity index 99% rename from common/implementation/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/CellularSampler.java rename to common/api/src/main/java/com/dfsek/terra/api/noise/samplers/noise/CellularSampler.java index b5488a8dd..01e0f5424 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/CellularSampler.java +++ b/common/api/src/main/java/com/dfsek/terra/api/noise/samplers/noise/CellularSampler.java @@ -1,7 +1,7 @@ -package com.dfsek.terra.api.math.noise.samplers.noise; +package com.dfsek.terra.api.noise.samplers.noise; -import com.dfsek.terra.api.math.noise.NoiseSampler; -import com.dfsek.terra.api.math.noise.samplers.noise.simplex.OpenSimplex2Sampler; +import com.dfsek.terra.api.noise.NoiseSampler; +import com.dfsek.terra.api.noise.samplers.noise.simplex.OpenSimplex2Sampler; import com.dfsek.terra.api.math.vector.Vector2; import com.dfsek.terra.api.math.vector.Vector3; diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/ConstantSampler.java b/common/api/src/main/java/com/dfsek/terra/api/noise/samplers/noise/ConstantSampler.java similarity index 89% rename from common/implementation/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/ConstantSampler.java rename to common/api/src/main/java/com/dfsek/terra/api/noise/samplers/noise/ConstantSampler.java index 203a1a85f..1d8e010c6 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/ConstantSampler.java +++ b/common/api/src/main/java/com/dfsek/terra/api/noise/samplers/noise/ConstantSampler.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.api.math.noise.samplers.noise; +package com.dfsek.terra.api.noise.samplers.noise; /** * Sampler3D implementation that returns a constant. diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/ExpressionFunction.java b/common/api/src/main/java/com/dfsek/terra/api/noise/samplers/noise/ExpressionFunction.java similarity index 95% rename from common/implementation/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/ExpressionFunction.java rename to common/api/src/main/java/com/dfsek/terra/api/noise/samplers/noise/ExpressionFunction.java index 305aa1075..60fb2c97e 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/ExpressionFunction.java +++ b/common/api/src/main/java/com/dfsek/terra/api/noise/samplers/noise/ExpressionFunction.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.api.math.noise.samplers.noise; +package com.dfsek.terra.api.noise.samplers.noise; import com.dfsek.paralithic.Expression; import com.dfsek.paralithic.eval.parser.Parser; diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/GaborNoiseSampler.java b/common/api/src/main/java/com/dfsek/terra/api/noise/samplers/noise/GaborNoiseSampler.java similarity index 96% rename from common/implementation/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/GaborNoiseSampler.java rename to common/api/src/main/java/com/dfsek/terra/api/noise/samplers/noise/GaborNoiseSampler.java index 93f006dc4..f1311f2ed 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/GaborNoiseSampler.java +++ b/common/api/src/main/java/com/dfsek/terra/api/noise/samplers/noise/GaborNoiseSampler.java @@ -1,6 +1,6 @@ -package com.dfsek.terra.api.math.noise.samplers.noise; +package com.dfsek.terra.api.noise.samplers.noise; -import com.dfsek.terra.api.math.noise.samplers.noise.random.WhiteNoiseSampler; +import com.dfsek.terra.api.noise.samplers.noise.random.WhiteNoiseSampler; import net.jafama.FastMath; public class GaborNoiseSampler extends NoiseFunction { diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/NoiseFunction.java b/common/api/src/main/java/com/dfsek/terra/api/noise/samplers/noise/NoiseFunction.java similarity index 97% rename from common/implementation/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/NoiseFunction.java rename to common/api/src/main/java/com/dfsek/terra/api/noise/samplers/noise/NoiseFunction.java index 1266c3762..5e9249faf 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/NoiseFunction.java +++ b/common/api/src/main/java/com/dfsek/terra/api/noise/samplers/noise/NoiseFunction.java @@ -1,6 +1,6 @@ -package com.dfsek.terra.api.math.noise.samplers.noise; +package com.dfsek.terra.api.noise.samplers.noise; -import com.dfsek.terra.api.math.noise.NoiseSampler; +import com.dfsek.terra.api.noise.NoiseSampler; import net.jafama.FastMath; @SuppressWarnings("ManualMinMaxCalculation") diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/fractal/BrownianMotionSampler.java b/common/api/src/main/java/com/dfsek/terra/api/noise/samplers/noise/fractal/BrownianMotionSampler.java similarity index 90% rename from common/implementation/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/fractal/BrownianMotionSampler.java rename to common/api/src/main/java/com/dfsek/terra/api/noise/samplers/noise/fractal/BrownianMotionSampler.java index 5233dd2b5..e04976feb 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/fractal/BrownianMotionSampler.java +++ b/common/api/src/main/java/com/dfsek/terra/api/noise/samplers/noise/fractal/BrownianMotionSampler.java @@ -1,6 +1,6 @@ -package com.dfsek.terra.api.math.noise.samplers.noise.fractal; +package com.dfsek.terra.api.noise.samplers.noise.fractal; -import com.dfsek.terra.api.math.noise.NoiseSampler; +import com.dfsek.terra.api.noise.NoiseSampler; public class BrownianMotionSampler extends FractalNoiseFunction { public BrownianMotionSampler(int seed, NoiseSampler input) { diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/fractal/FractalNoiseFunction.java b/common/api/src/main/java/com/dfsek/terra/api/noise/samplers/noise/fractal/FractalNoiseFunction.java similarity index 86% rename from common/implementation/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/fractal/FractalNoiseFunction.java rename to common/api/src/main/java/com/dfsek/terra/api/noise/samplers/noise/fractal/FractalNoiseFunction.java index 471184951..9c5c0f0cd 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/fractal/FractalNoiseFunction.java +++ b/common/api/src/main/java/com/dfsek/terra/api/noise/samplers/noise/fractal/FractalNoiseFunction.java @@ -1,7 +1,7 @@ -package com.dfsek.terra.api.math.noise.samplers.noise.fractal; +package com.dfsek.terra.api.noise.samplers.noise.fractal; -import com.dfsek.terra.api.math.noise.NoiseSampler; -import com.dfsek.terra.api.math.noise.samplers.noise.NoiseFunction; +import com.dfsek.terra.api.noise.NoiseSampler; +import com.dfsek.terra.api.noise.samplers.noise.NoiseFunction; public abstract class FractalNoiseFunction extends NoiseFunction { protected final NoiseSampler input; diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/fractal/PingPongSampler.java b/common/api/src/main/java/com/dfsek/terra/api/noise/samplers/noise/fractal/PingPongSampler.java similarity index 92% rename from common/implementation/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/fractal/PingPongSampler.java rename to common/api/src/main/java/com/dfsek/terra/api/noise/samplers/noise/fractal/PingPongSampler.java index bf5f0a4b2..48b71c018 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/fractal/PingPongSampler.java +++ b/common/api/src/main/java/com/dfsek/terra/api/noise/samplers/noise/fractal/PingPongSampler.java @@ -1,6 +1,6 @@ -package com.dfsek.terra.api.math.noise.samplers.noise.fractal; +package com.dfsek.terra.api.noise.samplers.noise.fractal; -import com.dfsek.terra.api.math.noise.NoiseSampler; +import com.dfsek.terra.api.noise.NoiseSampler; public class PingPongSampler extends FractalNoiseFunction { private double pingPongStrength = 2.0; diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/fractal/RidgedFractalSampler.java b/common/api/src/main/java/com/dfsek/terra/api/noise/samplers/noise/fractal/RidgedFractalSampler.java similarity index 91% rename from common/implementation/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/fractal/RidgedFractalSampler.java rename to common/api/src/main/java/com/dfsek/terra/api/noise/samplers/noise/fractal/RidgedFractalSampler.java index 08dfbb2ed..56e92269a 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/fractal/RidgedFractalSampler.java +++ b/common/api/src/main/java/com/dfsek/terra/api/noise/samplers/noise/fractal/RidgedFractalSampler.java @@ -1,6 +1,6 @@ -package com.dfsek.terra.api.math.noise.samplers.noise.fractal; +package com.dfsek.terra.api.noise.samplers.noise.fractal; -import com.dfsek.terra.api.math.noise.NoiseSampler; +import com.dfsek.terra.api.noise.NoiseSampler; public class RidgedFractalSampler extends FractalNoiseFunction { diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/random/GaussianNoiseSampler.java b/common/api/src/main/java/com/dfsek/terra/api/noise/samplers/noise/random/GaussianNoiseSampler.java similarity index 90% rename from common/implementation/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/random/GaussianNoiseSampler.java rename to common/api/src/main/java/com/dfsek/terra/api/noise/samplers/noise/random/GaussianNoiseSampler.java index 9843df3e4..b89346c1f 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/random/GaussianNoiseSampler.java +++ b/common/api/src/main/java/com/dfsek/terra/api/noise/samplers/noise/random/GaussianNoiseSampler.java @@ -1,6 +1,6 @@ -package com.dfsek.terra.api.math.noise.samplers.noise.random; +package com.dfsek.terra.api.noise.samplers.noise.random; -import com.dfsek.terra.api.math.noise.samplers.noise.NoiseFunction; +import com.dfsek.terra.api.noise.samplers.noise.NoiseFunction; /** * NoiseSampler implementation to provide random, normally distributed (Gaussian) noise. diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/random/WhiteNoiseSampler.java b/common/api/src/main/java/com/dfsek/terra/api/noise/samplers/noise/random/WhiteNoiseSampler.java similarity index 93% rename from common/implementation/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/random/WhiteNoiseSampler.java rename to common/api/src/main/java/com/dfsek/terra/api/noise/samplers/noise/random/WhiteNoiseSampler.java index 962ca2486..6f9c2fb42 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/random/WhiteNoiseSampler.java +++ b/common/api/src/main/java/com/dfsek/terra/api/noise/samplers/noise/random/WhiteNoiseSampler.java @@ -1,6 +1,6 @@ -package com.dfsek.terra.api.math.noise.samplers.noise.random; +package com.dfsek.terra.api.noise.samplers.noise.random; -import com.dfsek.terra.api.math.noise.samplers.noise.NoiseFunction; +import com.dfsek.terra.api.noise.samplers.noise.NoiseFunction; /** * NoiseSampler implementation to produce random, uniformly distributed (white) noise. diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/simplex/OpenSimplex2SSampler.java b/common/api/src/main/java/com/dfsek/terra/api/noise/samplers/noise/simplex/OpenSimplex2SSampler.java similarity index 99% rename from common/implementation/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/simplex/OpenSimplex2SSampler.java rename to common/api/src/main/java/com/dfsek/terra/api/noise/samplers/noise/simplex/OpenSimplex2SSampler.java index 2ed7fc612..94a7de195 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/simplex/OpenSimplex2SSampler.java +++ b/common/api/src/main/java/com/dfsek/terra/api/noise/samplers/noise/simplex/OpenSimplex2SSampler.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.api.math.noise.samplers.noise.simplex; +package com.dfsek.terra.api.noise.samplers.noise.simplex; /** * NoiseSampler implementation to provide OpenSimplex2 (Smooth Variant) noise. diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/simplex/OpenSimplex2Sampler.java b/common/api/src/main/java/com/dfsek/terra/api/noise/samplers/noise/simplex/OpenSimplex2Sampler.java similarity index 98% rename from common/implementation/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/simplex/OpenSimplex2Sampler.java rename to common/api/src/main/java/com/dfsek/terra/api/noise/samplers/noise/simplex/OpenSimplex2Sampler.java index 767ce45cb..43e1e8993 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/simplex/OpenSimplex2Sampler.java +++ b/common/api/src/main/java/com/dfsek/terra/api/noise/samplers/noise/simplex/OpenSimplex2Sampler.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.api.math.noise.samplers.noise.simplex; +package com.dfsek.terra.api.noise.samplers.noise.simplex; /** * NoiseSampler implementation to provide OpenSimplex2 noise. diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/simplex/PerlinSampler.java b/common/api/src/main/java/com/dfsek/terra/api/noise/samplers/noise/simplex/PerlinSampler.java similarity index 97% rename from common/implementation/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/simplex/PerlinSampler.java rename to common/api/src/main/java/com/dfsek/terra/api/noise/samplers/noise/simplex/PerlinSampler.java index 86469fd18..73832a28d 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/simplex/PerlinSampler.java +++ b/common/api/src/main/java/com/dfsek/terra/api/noise/samplers/noise/simplex/PerlinSampler.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.api.math.noise.samplers.noise.simplex; +package com.dfsek.terra.api.noise.samplers.noise.simplex; /** * NoiseSampler implementation to provide Perlin Noise. diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/simplex/SimplexSampler.java b/common/api/src/main/java/com/dfsek/terra/api/noise/samplers/noise/simplex/SimplexSampler.java similarity index 99% rename from common/implementation/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/simplex/SimplexSampler.java rename to common/api/src/main/java/com/dfsek/terra/api/noise/samplers/noise/simplex/SimplexSampler.java index b12a75d21..98644c689 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/simplex/SimplexSampler.java +++ b/common/api/src/main/java/com/dfsek/terra/api/noise/samplers/noise/simplex/SimplexSampler.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.api.math.noise.samplers.noise.simplex; +package com.dfsek.terra.api.noise.samplers.noise.simplex; public class SimplexSampler extends SimplexStyleSampler { private static final Double2[] GRAD_2D = { diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/simplex/SimplexStyleSampler.java b/common/api/src/main/java/com/dfsek/terra/api/noise/samplers/noise/simplex/SimplexStyleSampler.java similarity index 98% rename from common/implementation/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/simplex/SimplexStyleSampler.java rename to common/api/src/main/java/com/dfsek/terra/api/noise/samplers/noise/simplex/SimplexStyleSampler.java index 51e4a75ab..7ff57275b 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/simplex/SimplexStyleSampler.java +++ b/common/api/src/main/java/com/dfsek/terra/api/noise/samplers/noise/simplex/SimplexStyleSampler.java @@ -1,6 +1,6 @@ -package com.dfsek.terra.api.math.noise.samplers.noise.simplex; +package com.dfsek.terra.api.noise.samplers.noise.simplex; -import com.dfsek.terra.api.math.noise.samplers.noise.NoiseFunction; +import com.dfsek.terra.api.noise.samplers.noise.NoiseFunction; /** * Abstract NoiseSampler implementation for simplex-style noise functions. diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/value/ValueCubicSampler.java b/common/api/src/main/java/com/dfsek/terra/api/noise/samplers/noise/value/ValueCubicSampler.java similarity index 98% rename from common/implementation/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/value/ValueCubicSampler.java rename to common/api/src/main/java/com/dfsek/terra/api/noise/samplers/noise/value/ValueCubicSampler.java index d0664c922..f91376003 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/value/ValueCubicSampler.java +++ b/common/api/src/main/java/com/dfsek/terra/api/noise/samplers/noise/value/ValueCubicSampler.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.api.math.noise.samplers.noise.value; +package com.dfsek.terra.api.noise.samplers.noise.value; public class ValueCubicSampler extends ValueStyleNoise { public ValueCubicSampler(int seed) { diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/value/ValueSampler.java b/common/api/src/main/java/com/dfsek/terra/api/noise/samplers/noise/value/ValueSampler.java similarity index 96% rename from common/implementation/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/value/ValueSampler.java rename to common/api/src/main/java/com/dfsek/terra/api/noise/samplers/noise/value/ValueSampler.java index e79f5cf2b..cc8384b1a 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/value/ValueSampler.java +++ b/common/api/src/main/java/com/dfsek/terra/api/noise/samplers/noise/value/ValueSampler.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.api.math.noise.samplers.noise.value; +package com.dfsek.terra.api.noise.samplers.noise.value; public class ValueSampler extends ValueStyleNoise { public ValueSampler(int seed) { diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/value/ValueStyleNoise.java b/common/api/src/main/java/com/dfsek/terra/api/noise/samplers/noise/value/ValueStyleNoise.java similarity index 82% rename from common/implementation/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/value/ValueStyleNoise.java rename to common/api/src/main/java/com/dfsek/terra/api/noise/samplers/noise/value/ValueStyleNoise.java index 246d77538..7ea976614 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/math/noise/samplers/noise/value/ValueStyleNoise.java +++ b/common/api/src/main/java/com/dfsek/terra/api/noise/samplers/noise/value/ValueStyleNoise.java @@ -1,6 +1,6 @@ -package com.dfsek.terra.api.math.noise.samplers.noise.value; +package com.dfsek.terra.api.noise.samplers.noise.value; -import com.dfsek.terra.api.math.noise.samplers.noise.NoiseFunction; +import com.dfsek.terra.api.noise.samplers.noise.NoiseFunction; public abstract class ValueStyleNoise extends NoiseFunction { public ValueStyleNoise(int seed) { diff --git a/common/api/src/main/java/com/dfsek/terra/api/registry/CheckedRegistry.java b/common/api/src/main/java/com/dfsek/terra/api/registry/CheckedRegistry.java new file mode 100644 index 000000000..e3dbb2ce2 --- /dev/null +++ b/common/api/src/main/java/com/dfsek/terra/api/registry/CheckedRegistry.java @@ -0,0 +1,24 @@ +package com.dfsek.terra.api.registry; + +public interface CheckedRegistry extends Registry { + /** + * Add a value to this registry, checking whether it is present first. + * + * @param identifier Identifier to assign value. + * @param value Value to add. + * @throws DuplicateEntryException If an entry with the same identifier is already present. + */ + void add(String identifier, T value) throws DuplicateEntryException; + + /** + * Add a value to the registry, without checking presence beforehand. + *

+ * Use of this method is generally discouraged, as it is bad practice to overwrite registry values. + * + * @param identifier Identifier to assign value. + * @param value Value to add. + * @deprecated Use of {@link #add(String, Object)} is encouraged. + */ + @Deprecated + void addUnchecked(String identifier, T value); +} diff --git a/common/implementation/src/main/java/com/dfsek/terra/registry/exception/DuplicateEntryException.java b/common/api/src/main/java/com/dfsek/terra/api/registry/DuplicateEntryException.java similarity index 89% rename from common/implementation/src/main/java/com/dfsek/terra/registry/exception/DuplicateEntryException.java rename to common/api/src/main/java/com/dfsek/terra/api/registry/DuplicateEntryException.java index 477c93f50..e384fe8e5 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/registry/exception/DuplicateEntryException.java +++ b/common/api/src/main/java/com/dfsek/terra/api/registry/DuplicateEntryException.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.registry.exception; +package com.dfsek.terra.api.registry; /** * Thrown when a duplicate entry is found in a registry. diff --git a/common/api/src/main/java/com/dfsek/terra/api/registry/OpenRegistry.java b/common/api/src/main/java/com/dfsek/terra/api/registry/OpenRegistry.java new file mode 100644 index 000000000..f15ebd3db --- /dev/null +++ b/common/api/src/main/java/com/dfsek/terra/api/registry/OpenRegistry.java @@ -0,0 +1,25 @@ +package com.dfsek.terra.api.registry; + +public interface OpenRegistry extends Registry { + /** + * Add a value to this registry. + * + * @param identifier Identifier to assign value. + * @param value Value to add. + */ + boolean add(String identifier, T value); + + /** + * Add a value to this registry, checking whether it is present first. + * + * @param identifier Identifier to assign value. + * @param value Value to add. + * @throws DuplicateEntryException If an entry with the same identifier is already present. + */ + void addChecked(String identifier, T value) throws DuplicateEntryException; + + /** + * Clears all entries from the registry. + */ + void clear(); +} diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/registry/Registry.java b/common/api/src/main/java/com/dfsek/terra/api/registry/Registry.java similarity index 100% rename from common/implementation/src/main/java/com/dfsek/terra/api/registry/Registry.java rename to common/api/src/main/java/com/dfsek/terra/api/registry/Registry.java diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/transform/Transform.java b/common/api/src/main/java/com/dfsek/terra/api/transform/Transform.java similarity index 75% rename from common/implementation/src/main/java/com/dfsek/terra/api/transform/Transform.java rename to common/api/src/main/java/com/dfsek/terra/api/transform/Transform.java index 2732b1da7..42b863711 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/transform/Transform.java +++ b/common/api/src/main/java/com/dfsek/terra/api/transform/Transform.java @@ -1,5 +1,7 @@ package com.dfsek.terra.api.transform; +import com.dfsek.terra.api.transform.exception.TransformException; + /** * Interface to transform data from one type to another. */ diff --git a/common/api/src/main/java/com/dfsek/terra/api/transform/Transformer.java b/common/api/src/main/java/com/dfsek/terra/api/transform/Transformer.java new file mode 100644 index 000000000..9e4a33db6 --- /dev/null +++ b/common/api/src/main/java/com/dfsek/terra/api/transform/Transformer.java @@ -0,0 +1,11 @@ +package com.dfsek.terra.api.transform; + +public interface Transformer { + /** + * Translate data from {@code from} type to {@code to} type. + * + * @param from Data to translate + * @return Result + */ + T translate(F from); +} diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/transform/Validator.java b/common/api/src/main/java/com/dfsek/terra/api/transform/Validator.java similarity index 77% rename from common/implementation/src/main/java/com/dfsek/terra/api/transform/Validator.java rename to common/api/src/main/java/com/dfsek/terra/api/transform/Validator.java index b22b7c08b..d52c40c97 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/transform/Validator.java +++ b/common/api/src/main/java/com/dfsek/terra/api/transform/Validator.java @@ -1,6 +1,8 @@ package com.dfsek.terra.api.transform; +import com.dfsek.terra.api.transform.exception.TransformException; + import java.util.Objects; public interface Validator { diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/transform/AttemptsFailedException.java b/common/api/src/main/java/com/dfsek/terra/api/transform/exception/AttemptsFailedException.java similarity index 90% rename from common/implementation/src/main/java/com/dfsek/terra/api/transform/AttemptsFailedException.java rename to common/api/src/main/java/com/dfsek/terra/api/transform/exception/AttemptsFailedException.java index 904758a6c..f3a27d657 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/transform/AttemptsFailedException.java +++ b/common/api/src/main/java/com/dfsek/terra/api/transform/exception/AttemptsFailedException.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.api.transform; +package com.dfsek.terra.api.transform.exception; import com.dfsek.terra.api.util.GlueList; diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/transform/TransformException.java b/common/api/src/main/java/com/dfsek/terra/api/transform/exception/TransformException.java similarity index 90% rename from common/implementation/src/main/java/com/dfsek/terra/api/transform/TransformException.java rename to common/api/src/main/java/com/dfsek/terra/api/transform/exception/TransformException.java index 048c7d4da..9aab231e5 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/transform/TransformException.java +++ b/common/api/src/main/java/com/dfsek/terra/api/transform/exception/TransformException.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.api.transform; +package com.dfsek.terra.api.transform.exception; public class TransformException extends Exception { private static final long serialVersionUID = -6661338369581162084L; diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/math/MathUtil.java b/common/api/src/main/java/com/dfsek/terra/api/util/MathUtil.java similarity index 99% rename from common/implementation/src/main/java/com/dfsek/terra/api/math/MathUtil.java rename to common/api/src/main/java/com/dfsek/terra/api/util/MathUtil.java index 77c1a43cf..fea8bade5 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/math/MathUtil.java +++ b/common/api/src/main/java/com/dfsek/terra/api/util/MathUtil.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.api.math; +package com.dfsek.terra.api.util; import com.dfsek.terra.api.util.FastRandom; import com.dfsek.terra.world.generation.math.samplers.Sampler; diff --git a/common/api/src/main/java/com/dfsek/terra/api/util/ProbabilityCollection.java b/common/api/src/main/java/com/dfsek/terra/api/util/ProbabilityCollection.java new file mode 100644 index 000000000..0753f428b --- /dev/null +++ b/common/api/src/main/java/com/dfsek/terra/api/util/ProbabilityCollection.java @@ -0,0 +1,26 @@ +package com.dfsek.terra.api.util; + +import com.dfsek.terra.api.noise.NoiseSampler; + +import java.util.Collection; +import java.util.Random; +import java.util.Set; +import java.util.function.Function; + +public interface ProbabilityCollection extends Collection { + ProbabilityCollectionImpl add(E item, int probability); + + E get(Random r); + + E get(NoiseSampler n, double x, double y, double z); + + E get(NoiseSampler n, double x, double z); + + ProbabilityCollectionImpl map(Function mapper, boolean carryNull); + + int getTotalProbability(); + + int getProbability(E item); + + Set getContents(); +} diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/math/vector/Location.java b/common/api/src/main/java/com/dfsek/terra/api/vector/Location.java similarity index 95% rename from common/implementation/src/main/java/com/dfsek/terra/api/math/vector/Location.java rename to common/api/src/main/java/com/dfsek/terra/api/vector/Location.java index de01cce98..7712d2f10 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/math/vector/Location.java +++ b/common/api/src/main/java/com/dfsek/terra/api/vector/Location.java @@ -1,10 +1,11 @@ -package com.dfsek.terra.api.math.vector; +package com.dfsek.terra.api.vector; -import com.dfsek.terra.api.platform.block.Block; -import com.dfsek.terra.api.platform.world.World; +import com.dfsek.terra.api.block.Block; +import com.dfsek.terra.api.world.World; import java.util.Objects; +@Deprecated public class Location implements Cloneable { private World world; private Vector3 vector; @@ -13,7 +14,7 @@ public class Location implements Cloneable { public Location(World w, double x, double y, double z) { this.world = w; - this.vector = new Vector3(x, y, z); + this.vector = new Vector3Impl(x, y, z); } public Location(World w, Vector3 vector) { @@ -162,7 +163,7 @@ public class Location implements Cloneable { return hash; } - public Vector3 toVector() { + public Vector3Impl toVector() { return vector.clone(); } diff --git a/common/api/src/main/java/com/dfsek/terra/api/vector/Vector2.java b/common/api/src/main/java/com/dfsek/terra/api/vector/Vector2.java new file mode 100644 index 000000000..bfc63ee16 --- /dev/null +++ b/common/api/src/main/java/com/dfsek/terra/api/vector/Vector2.java @@ -0,0 +1,99 @@ +package com.dfsek.terra.api.vector; + +/** + * oh yeah + */ +public interface Vector2 extends Cloneable { + /** + * Get X component + * + * @return X component + */ + double getX(); + + Vector2 setX(double x); + + /** + * Get Z component + * + * @return Z component + */ + double getZ(); + + Vector2 setZ(double z); + + /** + * Multiply X and Z components by a value. + * + * @param m Value to multiply + * @return Mutated vector, for chaining. + */ + Vector2 multiply(double m); + + /** + * Add this vector to another. + * + * @param other Vector to add + * @return Mutated vector, for chaining. + */ + Vector2 add(Vector2Impl other); + + /** + * Subtract a vector from this vector, + * + * @param other Vector to subtract + * @return Mutated vector, for chaining. + */ + Vector2 subtract(Vector2Impl other); + + /** + * Normalize this vector to length 1 + * + * @return Mutated vector, for chaining. + */ + Vector2 normalize(); + + /** + * Divide X and Z components by a value. + * + * @param d Divisor + * @return Mutated vector, for chaining. + */ + Vector2 divide(double d); + + /** + * Get the length of this Vector + * + * @return length + */ + double length(); + + /** + * Get the squared length of this Vector + * + * @return squared length + */ + double lengthSquared(); + + /** + * Get the distance from this vector to another. + * + * @param other Another vector + * @return Distance between vectors + */ + double distance(Vector2Impl other); + + /** + * Get the squared distance between 2 vectors. + * + * @param other Another vector + * @return Squared distance + */ + double distanceSquared(Vector2Impl other); + + Vector2 add(double x, double z); + + int getBlockX(); + + int getBlockZ(); +} diff --git a/common/api/src/main/java/com/dfsek/terra/api/vector/Vector3.java b/common/api/src/main/java/com/dfsek/terra/api/vector/Vector3.java new file mode 100644 index 000000000..db8be7194 --- /dev/null +++ b/common/api/src/main/java/com/dfsek/terra/api/vector/Vector3.java @@ -0,0 +1,165 @@ +package com.dfsek.terra.api.vector; + +import com.dfsek.terra.api.world.World; +import org.jetbrains.annotations.NotNull; + +public interface Vector3 extends Cloneable { + double getZ(); + + Vector3 setZ(double z); + + double getX(); + + Vector3 setX(double x); + + double getY(); + + Vector3 setY(double y); + + int getBlockX(); + + int getBlockY(); + + int getBlockZ(); + + Vector3 multiply(double m); + + Vector3 add(double x, double y, double z); + + Vector3 add(Vector3 other); + + Vector3 add(Vector2 other); + + double lengthSquared(); + + double length(); + + double inverseLength(); + + /** + * Returns if a vector is normalized + * + * @return whether the vector is normalised + */ + boolean isNormalized(); + + /** + * Rotates the vector around the x axis. + *

+ * This piece of math is based on the standard rotation matrix for vectors + * in three dimensional space. This matrix can be found here: + * Rotation + * Matrix. + * + * @param angle the angle to rotate the vector about. This angle is passed + * in radians + * @return the same vector + */ + @NotNull Vector3 rotateAroundX(double angle); + + /** + * Rotates the vector around the y axis. + *

+ * This piece of math is based on the standard rotation matrix for vectors + * in three dimensional space. This matrix can be found here: + * Rotation + * Matrix. + * + * @param angle the angle to rotate the vector about. This angle is passed + * in radians + * @return the same vector + */ + @NotNull Vector3 rotateAroundY(double angle); + + /** + * Rotates the vector around the z axis + *

+ * This piece of math is based on the standard rotation matrix for vectors + * in three dimensional space. This matrix can be found here: + * Rotation + * Matrix. + * + * @param angle the angle to rotate the vector about. This angle is passed + * in radians + * @return the same vector + */ + @NotNull Vector3 rotateAroundZ(double angle); + + /** + * Get the distance between this vector and another. The value of this + * method is not cached and uses a costly square-root function, so do not + * repeatedly call this method to get the vector's magnitude. NaN will be + * returned if the inner result of the sqrt() function overflows, which + * will be caused if the distance is too long. + * + * @param o The other vector + * @return the distance + */ + double distance(@NotNull Vector3Impl o); + + /** + * Get the squared distance between this vector and another. + * + * @param o The other vector + * @return the distance + */ + double distanceSquared(@NotNull Vector3Impl o); + + /** + * Rotates the vector around a given arbitrary axis in 3 dimensional space. + * + *

+ * Rotation will follow the general Right-Hand-Rule, which means rotation + * will be counterclockwise when the axis is pointing towards the observer. + *

+ * This method will always make sure the provided axis is a unit vector, to + * not modify the length of the vector when rotating. + * + * @param axis the axis to rotate the vector around. If the passed vector is + * not of length 1, it gets copied and normalized before using it for the + * rotation. Please use {@link Vector3Impl#normalize()} on the instance before + * passing it to this method + * @param angle the angle to rotate the vector around the axis + * @return the same vector + * @throws IllegalArgumentException if the provided axis vector instance is + * null + */ + @NotNull Vector3 rotateAroundAxis(@NotNull Vector3 axis, double angle) throws IllegalArgumentException; + + /** + * Rotates the vector around a given arbitrary axis in 3 dimensional space. + * + *

+ * Rotation will follow the general Right-Hand-Rule, which means rotation + * will be counterclockwise when the axis is pointing towards the observer. + *

+ * Note that the vector length will change accordingly to the axis vector + * length. If the provided axis is not a unit vector, the rotated vector + * will not have its previous length. The scaled length of the resulting + * vector will be related to the axis vector. + * + * @param axis the axis to rotate the vector around. + * @param angle the angle to rotate the vector around the axis + * @return the same vector + * @throws IllegalArgumentException if the provided axis vector instance is + * null + */ + @NotNull Vector3 rotateAroundNonUnitAxis(@NotNull Vector3Impl axis, double angle) throws IllegalArgumentException; + + /** + * Calculates the dot product of this vector with another. The dot product + * is defined as x1*x2+y1*y2+z1*z2. The returned value is a scalar. + * + * @param other The other vector + * @return dot product + */ + double dot(@NotNull Vector3Impl other); + + Location toLocation(World world); + + Vector3 normalize(); + + Vector3 subtract(int x, int y, int z); + + Vector3 subtract(Vector3Impl end); +} diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/platform/world/BiomeGrid.java b/common/api/src/main/java/com/dfsek/terra/api/world/BiomeGrid.java similarity index 91% rename from common/implementation/src/main/java/com/dfsek/terra/api/platform/world/BiomeGrid.java rename to common/api/src/main/java/com/dfsek/terra/api/world/BiomeGrid.java index 0fe72dd42..528cf7a4b 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/platform/world/BiomeGrid.java +++ b/common/api/src/main/java/com/dfsek/terra/api/world/BiomeGrid.java @@ -1,6 +1,6 @@ -package com.dfsek.terra.api.platform.world; +package com.dfsek.terra.api.world; -import com.dfsek.terra.api.platform.Handle; +import com.dfsek.terra.api.Handle; import org.jetbrains.annotations.NotNull; public interface BiomeGrid extends Handle { diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/platform/world/Chunk.java b/common/api/src/main/java/com/dfsek/terra/api/world/Chunk.java similarity index 61% rename from common/implementation/src/main/java/com/dfsek/terra/api/platform/world/Chunk.java rename to common/api/src/main/java/com/dfsek/terra/api/world/Chunk.java index 0ba30f288..d36829f63 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/platform/world/Chunk.java +++ b/common/api/src/main/java/com/dfsek/terra/api/world/Chunk.java @@ -1,6 +1,6 @@ -package com.dfsek.terra.api.platform.world; +package com.dfsek.terra.api.world; -import com.dfsek.terra.api.platform.block.Block; +import com.dfsek.terra.api.block.Block; public interface Chunk extends ChunkAccess { int getX(); diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/platform/world/ChunkAccess.java b/common/api/src/main/java/com/dfsek/terra/api/world/ChunkAccess.java similarity index 89% rename from common/implementation/src/main/java/com/dfsek/terra/api/platform/world/ChunkAccess.java rename to common/api/src/main/java/com/dfsek/terra/api/world/ChunkAccess.java index b6da6e9a8..67ea10b98 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/platform/world/ChunkAccess.java +++ b/common/api/src/main/java/com/dfsek/terra/api/world/ChunkAccess.java @@ -1,7 +1,7 @@ -package com.dfsek.terra.api.platform.world; +package com.dfsek.terra.api.world; -import com.dfsek.terra.api.platform.Handle; -import com.dfsek.terra.api.platform.block.BlockData; +import com.dfsek.terra.api.Handle; +import com.dfsek.terra.api.block.BlockData; import org.jetbrains.annotations.NotNull; public interface ChunkAccess extends Handle { diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/platform/world/Tree.java b/common/api/src/main/java/com/dfsek/terra/api/world/Tree.java similarity index 66% rename from common/implementation/src/main/java/com/dfsek/terra/api/platform/world/Tree.java rename to common/api/src/main/java/com/dfsek/terra/api/world/Tree.java index 34225e7eb..450ca83cf 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/platform/world/Tree.java +++ b/common/api/src/main/java/com/dfsek/terra/api/world/Tree.java @@ -1,7 +1,7 @@ -package com.dfsek.terra.api.platform.world; +package com.dfsek.terra.api.world; -import com.dfsek.terra.api.math.vector.Location; +import com.dfsek.terra.api.vector.Location; import com.dfsek.terra.api.util.collections.MaterialSet; import java.util.Random; diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/platform/world/World.java b/common/api/src/main/java/com/dfsek/terra/api/world/World.java similarity index 64% rename from common/implementation/src/main/java/com/dfsek/terra/api/platform/world/World.java rename to common/api/src/main/java/com/dfsek/terra/api/world/World.java index 45d13ab4d..e35fb3b64 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/platform/world/World.java +++ b/common/api/src/main/java/com/dfsek/terra/api/world/World.java @@ -1,17 +1,14 @@ -package com.dfsek.terra.api.platform.world; +package com.dfsek.terra.api.world; -import com.dfsek.terra.api.math.vector.Location; -import com.dfsek.terra.api.platform.Handle; -import com.dfsek.terra.api.platform.block.Block; -import com.dfsek.terra.api.platform.entity.Entity; -import com.dfsek.terra.api.platform.entity.EntityType; -import com.dfsek.terra.api.platform.world.generator.ChunkGenerator; -import com.dfsek.terra.api.platform.world.generator.GeneratorWrapper; +import com.dfsek.terra.api.vector.Location; +import com.dfsek.terra.api.Handle; +import com.dfsek.terra.api.block.Block; +import com.dfsek.terra.api.entity.Entity; +import com.dfsek.terra.api.entity.EntityType; +import com.dfsek.terra.api.world.generator.ChunkGenerator; +import com.dfsek.terra.api.world.generator.GeneratorWrapper; import com.dfsek.terra.api.world.generation.TerraChunkGenerator; -import java.io.File; -import java.util.UUID; - public interface World extends Handle { long getSeed(); diff --git a/common/api/src/main/java/com/dfsek/terra/api/world/biome/Biome.java b/common/api/src/main/java/com/dfsek/terra/api/world/biome/Biome.java new file mode 100644 index 000000000..0dda04605 --- /dev/null +++ b/common/api/src/main/java/com/dfsek/terra/api/world/biome/Biome.java @@ -0,0 +1,6 @@ +package com.dfsek.terra.api.world.biome; + +import com.dfsek.terra.api.Handle; + +public interface Biome extends Handle { +} diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/world/biome/Generator.java b/common/api/src/main/java/com/dfsek/terra/api/world/biome/Generator.java similarity index 94% rename from common/implementation/src/main/java/com/dfsek/terra/api/world/biome/Generator.java rename to common/api/src/main/java/com/dfsek/terra/api/world/biome/Generator.java index a72243739..b3e6f9628 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/world/biome/Generator.java +++ b/common/api/src/main/java/com/dfsek/terra/api/world/biome/Generator.java @@ -1,6 +1,6 @@ package com.dfsek.terra.api.world.biome; -import com.dfsek.terra.api.math.noise.NoiseSampler; +import com.dfsek.terra.api.noise.NoiseSampler; import com.dfsek.terra.api.world.palette.Palette; public interface Generator { diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/world/biome/TerraBiome.java b/common/api/src/main/java/com/dfsek/terra/api/world/biome/TerraBiome.java similarity index 77% rename from common/implementation/src/main/java/com/dfsek/terra/api/world/biome/TerraBiome.java rename to common/api/src/main/java/com/dfsek/terra/api/world/biome/TerraBiome.java index 4aaac0e9e..a05210ab5 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/world/biome/TerraBiome.java +++ b/common/api/src/main/java/com/dfsek/terra/api/world/biome/TerraBiome.java @@ -1,9 +1,7 @@ package com.dfsek.terra.api.world.biome; -import com.dfsek.terra.api.platform.world.Biome; -import com.dfsek.terra.api.platform.world.World; -import com.dfsek.terra.api.util.collections.ProbabilityCollection; +import com.dfsek.terra.api.util.ProbabilityCollection; import java.util.Set; diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/world/biome/provider/BiomeProvider.java b/common/api/src/main/java/com/dfsek/terra/api/world/biome/generation/BiomeProvider.java similarity index 76% rename from common/implementation/src/main/java/com/dfsek/terra/api/world/biome/provider/BiomeProvider.java rename to common/api/src/main/java/com/dfsek/terra/api/world/biome/generation/BiomeProvider.java index c1f664314..028eb2422 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/world/biome/provider/BiomeProvider.java +++ b/common/api/src/main/java/com/dfsek/terra/api/world/biome/generation/BiomeProvider.java @@ -1,8 +1,8 @@ -package com.dfsek.terra.api.world.biome.provider; +package com.dfsek.terra.api.world.biome.generation; -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.vector.Location; +import com.dfsek.terra.api.vector.Vector2; +import com.dfsek.terra.api.vector.Vector3; import com.dfsek.terra.api.world.biome.TerraBiome; public interface BiomeProvider { @@ -24,6 +24,7 @@ public interface BiomeProvider { BiomeProvider build(long seed); } + @Deprecated enum Type { IMAGE, PIPELINE, SINGLE } diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/world/biome/pipeline/expand/BiomeExpander.java b/common/api/src/main/java/com/dfsek/terra/api/world/biome/generation/pipeline/BiomeExpander.java similarity index 72% rename from common/implementation/src/main/java/com/dfsek/terra/api/world/biome/pipeline/expand/BiomeExpander.java rename to common/api/src/main/java/com/dfsek/terra/api/world/biome/generation/pipeline/BiomeExpander.java index 15082a0fe..6a4297f27 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/world/biome/pipeline/expand/BiomeExpander.java +++ b/common/api/src/main/java/com/dfsek/terra/api/world/biome/generation/pipeline/BiomeExpander.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.api.world.biome.pipeline.expand; +package com.dfsek.terra.api.world.biome.generation.pipeline; import com.dfsek.terra.api.world.biome.TerraBiome; diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/world/biome/pipeline/BiomeHolder.java b/common/api/src/main/java/com/dfsek/terra/api/world/biome/generation/pipeline/BiomeHolder.java similarity index 53% rename from common/implementation/src/main/java/com/dfsek/terra/api/world/biome/pipeline/BiomeHolder.java rename to common/api/src/main/java/com/dfsek/terra/api/world/biome/generation/pipeline/BiomeHolder.java index 46edff4c4..2e3887747 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/world/biome/pipeline/BiomeHolder.java +++ b/common/api/src/main/java/com/dfsek/terra/api/world/biome/generation/pipeline/BiomeHolder.java @@ -1,9 +1,6 @@ -package com.dfsek.terra.api.world.biome.pipeline; +package com.dfsek.terra.api.world.biome.generation.pipeline; import com.dfsek.terra.api.world.biome.TerraBiome; -import com.dfsek.terra.api.world.biome.pipeline.expand.BiomeExpander; -import com.dfsek.terra.api.world.biome.pipeline.mutator.BiomeMutator; -import com.dfsek.terra.api.world.biome.pipeline.source.BiomeSource; public interface BiomeHolder { BiomeHolder expand(BiomeExpander expander); diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/world/biome/pipeline/mutator/BiomeMutator.java b/common/api/src/main/java/com/dfsek/terra/api/world/biome/generation/pipeline/BiomeMutator.java similarity index 81% rename from common/implementation/src/main/java/com/dfsek/terra/api/world/biome/pipeline/mutator/BiomeMutator.java rename to common/api/src/main/java/com/dfsek/terra/api/world/biome/generation/pipeline/BiomeMutator.java index da70c3d9e..3240297c0 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/world/biome/pipeline/mutator/BiomeMutator.java +++ b/common/api/src/main/java/com/dfsek/terra/api/world/biome/generation/pipeline/BiomeMutator.java @@ -1,7 +1,7 @@ -package com.dfsek.terra.api.world.biome.pipeline.mutator; +package com.dfsek.terra.api.world.biome.generation.pipeline; import com.dfsek.terra.api.world.biome.TerraBiome; -import com.dfsek.terra.api.world.biome.pipeline.BiomeHolder; +import com.dfsek.terra.api.world.biome.generation.pipeline.BiomeHolder; public interface BiomeMutator { TerraBiome mutate(ViewPoint viewPoint, double x, double z); diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/world/biome/pipeline/source/BiomeSource.java b/common/api/src/main/java/com/dfsek/terra/api/world/biome/generation/pipeline/BiomeSource.java similarity index 73% rename from common/implementation/src/main/java/com/dfsek/terra/api/world/biome/pipeline/source/BiomeSource.java rename to common/api/src/main/java/com/dfsek/terra/api/world/biome/generation/pipeline/BiomeSource.java index b2e2e37cc..ad8c208d0 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/world/biome/pipeline/source/BiomeSource.java +++ b/common/api/src/main/java/com/dfsek/terra/api/world/biome/generation/pipeline/BiomeSource.java @@ -1,4 +1,4 @@ -package com.dfsek.terra.api.world.biome.pipeline.source; +package com.dfsek.terra.api.world.biome.generation.pipeline; import com.dfsek.terra.api.world.biome.TerraBiome; diff --git a/common/api/src/main/java/com/dfsek/terra/api/world/biome/generation/pipeline/Stage.java b/common/api/src/main/java/com/dfsek/terra/api/world/biome/generation/pipeline/Stage.java new file mode 100644 index 000000000..3ed4417f6 --- /dev/null +++ b/common/api/src/main/java/com/dfsek/terra/api/world/biome/generation/pipeline/Stage.java @@ -0,0 +1,10 @@ +package com.dfsek.terra.api.world.biome.generation.pipeline; + +import com.dfsek.terra.api.world.biome.generation.pipeline.BiomeHolder; + +public interface Stage { + boolean isExpansion(); + + BiomeHolder apply(BiomeHolder in); + +} diff --git a/common/api/src/main/java/com/dfsek/terra/api/world/generator/BlockPopulator.java b/common/api/src/main/java/com/dfsek/terra/api/world/generator/BlockPopulator.java new file mode 100644 index 000000000..5cbfae751 --- /dev/null +++ b/common/api/src/main/java/com/dfsek/terra/api/world/generator/BlockPopulator.java @@ -0,0 +1,11 @@ +package com.dfsek.terra.api.world.generator; + +import com.dfsek.terra.api.Handle; +import com.dfsek.terra.api.world.Chunk; +import com.dfsek.terra.api.world.World; + +import java.util.Random; + +public interface BlockPopulator extends Handle { + void populate(World world, Random random, Chunk chunk); +} diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/platform/world/generator/ChunkData.java b/common/api/src/main/java/com/dfsek/terra/api/world/generator/ChunkData.java similarity index 69% rename from common/implementation/src/main/java/com/dfsek/terra/api/platform/world/generator/ChunkData.java rename to common/api/src/main/java/com/dfsek/terra/api/world/generator/ChunkData.java index bb7f164a4..cc948dea5 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/platform/world/generator/ChunkData.java +++ b/common/api/src/main/java/com/dfsek/terra/api/world/generator/ChunkData.java @@ -1,6 +1,6 @@ -package com.dfsek.terra.api.platform.world.generator; +package com.dfsek.terra.api.world.generator; -import com.dfsek.terra.api.platform.world.ChunkAccess; +import com.dfsek.terra.api.world.ChunkAccess; public interface ChunkData extends ChunkAccess { /** diff --git a/common/api/src/main/java/com/dfsek/terra/api/world/generator/ChunkGenerator.java b/common/api/src/main/java/com/dfsek/terra/api/world/generator/ChunkGenerator.java new file mode 100644 index 000000000..59c8a1678 --- /dev/null +++ b/common/api/src/main/java/com/dfsek/terra/api/world/generator/ChunkGenerator.java @@ -0,0 +1,7 @@ +package com.dfsek.terra.api.world.generator; + +import com.dfsek.terra.api.Handle; + +public interface ChunkGenerator extends Handle { + +} diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/platform/world/generator/GeneratorWrapper.java b/common/api/src/main/java/com/dfsek/terra/api/world/generator/GeneratorWrapper.java similarity index 63% rename from common/implementation/src/main/java/com/dfsek/terra/api/platform/world/generator/GeneratorWrapper.java rename to common/api/src/main/java/com/dfsek/terra/api/world/generator/GeneratorWrapper.java index 127f9e5bf..ad41a7026 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/platform/world/generator/GeneratorWrapper.java +++ b/common/api/src/main/java/com/dfsek/terra/api/world/generator/GeneratorWrapper.java @@ -1,6 +1,6 @@ -package com.dfsek.terra.api.platform.world.generator; +package com.dfsek.terra.api.world.generator; -import com.dfsek.terra.api.platform.Handle; +import com.dfsek.terra.api.Handle; import com.dfsek.terra.api.world.generation.TerraChunkGenerator; public interface GeneratorWrapper extends Handle { diff --git a/common/implementation/src/main/java/com/dfsek/terra/addon/AddonClassLoader.java b/common/implementation/src/main/java/com/dfsek/terra/addon/AddonClassLoader.java index 6f09a5307..e4258ba31 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/addon/AddonClassLoader.java +++ b/common/implementation/src/main/java/com/dfsek/terra/addon/AddonClassLoader.java @@ -1,7 +1,7 @@ package com.dfsek.terra.addon; -import com.dfsek.terra.api.addons.TerraAddon; -import com.dfsek.terra.api.addons.annotations.Addon; +import com.dfsek.terra.api.addon.TerraAddon; +import com.dfsek.terra.api.addon.annotations.Addon; import java.io.File; import java.io.IOException; diff --git a/common/implementation/src/main/java/com/dfsek/terra/addon/PreLoadAddon.java b/common/implementation/src/main/java/com/dfsek/terra/addon/PreLoadAddon.java index 7b21ecb40..f3b1b0482 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/addon/PreLoadAddon.java +++ b/common/implementation/src/main/java/com/dfsek/terra/addon/PreLoadAddon.java @@ -3,9 +3,9 @@ package com.dfsek.terra.addon; import com.dfsek.terra.addon.exception.AddonLoadException; import com.dfsek.terra.addon.exception.CircularDependencyException; import com.dfsek.terra.addon.exception.DependencyMissingException; -import com.dfsek.terra.api.addons.TerraAddon; -import com.dfsek.terra.api.addons.annotations.Addon; -import com.dfsek.terra.api.addons.annotations.Depends; +import com.dfsek.terra.api.addon.TerraAddon; +import com.dfsek.terra.api.addon.annotations.Addon; +import com.dfsek.terra.api.addon.annotations.Depends; import java.io.File; import java.util.ArrayList; diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/command/CommandManager.java b/common/implementation/src/main/java/com/dfsek/terra/api/command/CommandManager.java index a33d70921..4c5618531 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/command/CommandManager.java +++ b/common/implementation/src/main/java/com/dfsek/terra/api/command/CommandManager.java @@ -2,7 +2,7 @@ package com.dfsek.terra.api.command; import com.dfsek.terra.api.command.exception.CommandException; import com.dfsek.terra.api.command.exception.MalformedCommandException; -import com.dfsek.terra.api.platform.CommandSender; +import com.dfsek.terra.api.entity.CommandSender; import java.util.List; diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/command/CommandTemplate.java b/common/implementation/src/main/java/com/dfsek/terra/api/command/CommandTemplate.java index 836192b6b..86cbe8dad 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/command/CommandTemplate.java +++ b/common/implementation/src/main/java/com/dfsek/terra/api/command/CommandTemplate.java @@ -1,6 +1,6 @@ package com.dfsek.terra.api.command; -import com.dfsek.terra.api.platform.CommandSender; +import com.dfsek.terra.api.entity.CommandSender; public interface CommandTemplate { void execute(CommandSender sender); diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/command/ExecutionState.java b/common/implementation/src/main/java/com/dfsek/terra/api/command/ExecutionState.java index 89216bd89..9c55b7a55 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/command/ExecutionState.java +++ b/common/implementation/src/main/java/com/dfsek/terra/api/command/ExecutionState.java @@ -1,6 +1,6 @@ package com.dfsek.terra.api.command; -import com.dfsek.terra.api.platform.CommandSender; +import com.dfsek.terra.api.entity.CommandSender; import java.util.HashMap; import java.util.HashSet; diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/command/TerraCommandManager.java b/common/implementation/src/main/java/com/dfsek/terra/api/command/TerraCommandManager.java index 57b434164..4a75cf9b6 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/command/TerraCommandManager.java +++ b/common/implementation/src/main/java/com/dfsek/terra/api/command/TerraCommandManager.java @@ -17,12 +17,11 @@ import com.dfsek.terra.api.command.exception.InvalidArgumentsException; import com.dfsek.terra.api.command.exception.MalformedCommandException; import com.dfsek.terra.api.command.exception.SwitchFormatException; import com.dfsek.terra.api.command.tab.TabCompleter; -import com.dfsek.terra.api.injection.Injector; +import com.dfsek.terra.api.inject.InjectorImpl; import com.dfsek.terra.api.injection.exception.InjectionException; -import com.dfsek.terra.api.platform.CommandSender; -import com.dfsek.terra.api.platform.entity.Player; +import com.dfsek.terra.api.entity.CommandSender; +import com.dfsek.terra.api.entity.Player; import com.dfsek.terra.api.util.ReflectionUtil; -import com.dfsek.terra.world.TerraWorld; import net.jafama.FastMath; import java.lang.reflect.Field; @@ -37,12 +36,12 @@ import java.util.stream.Collectors; public class TerraCommandManager implements CommandManager { private final Map commands = new HashMap<>(); - private final Injector pluginInjector; + private final InjectorImpl pluginInjector; private final TerraPlugin main; public TerraCommandManager(TerraPlugin main) { this.main = main; - this.pluginInjector = new Injector<>(main); + this.pluginInjector = new InjectorImpl<>(main); pluginInjector.addExplicitTarget(TerraPlugin.class); } diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/command/arg/ArgumentParser.java b/common/implementation/src/main/java/com/dfsek/terra/api/command/arg/ArgumentParser.java index 3fcc5aeef..fe34f088a 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/command/arg/ArgumentParser.java +++ b/common/implementation/src/main/java/com/dfsek/terra/api/command/arg/ArgumentParser.java @@ -1,6 +1,6 @@ package com.dfsek.terra.api.command.arg; -import com.dfsek.terra.api.platform.CommandSender; +import com.dfsek.terra.api.entity.CommandSender; public interface ArgumentParser { T parse(CommandSender sender, String arg); diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/command/arg/DoubleArgumentParser.java b/common/implementation/src/main/java/com/dfsek/terra/api/command/arg/DoubleArgumentParser.java index 3f229b444..d05ae0f89 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/command/arg/DoubleArgumentParser.java +++ b/common/implementation/src/main/java/com/dfsek/terra/api/command/arg/DoubleArgumentParser.java @@ -1,6 +1,6 @@ package com.dfsek.terra.api.command.arg; -import com.dfsek.terra.api.platform.CommandSender; +import com.dfsek.terra.api.entity.CommandSender; public class DoubleArgumentParser implements ArgumentParser { @Override diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/command/arg/IntegerArgumentParser.java b/common/implementation/src/main/java/com/dfsek/terra/api/command/arg/IntegerArgumentParser.java index 24e3186ca..5f6d34ad6 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/command/arg/IntegerArgumentParser.java +++ b/common/implementation/src/main/java/com/dfsek/terra/api/command/arg/IntegerArgumentParser.java @@ -1,6 +1,6 @@ package com.dfsek.terra.api.command.arg; -import com.dfsek.terra.api.platform.CommandSender; +import com.dfsek.terra.api.entity.CommandSender; public class IntegerArgumentParser implements ArgumentParser { @Override diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/command/arg/StringArgumentParser.java b/common/implementation/src/main/java/com/dfsek/terra/api/command/arg/StringArgumentParser.java index 736b335d0..bba6de6bd 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/command/arg/StringArgumentParser.java +++ b/common/implementation/src/main/java/com/dfsek/terra/api/command/arg/StringArgumentParser.java @@ -1,6 +1,6 @@ package com.dfsek.terra.api.command.arg; -import com.dfsek.terra.api.platform.CommandSender; +import com.dfsek.terra.api.entity.CommandSender; public class StringArgumentParser implements ArgumentParser { @Override diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/command/tab/NothingCompleter.java b/common/implementation/src/main/java/com/dfsek/terra/api/command/tab/NothingCompleter.java index 111125505..4b7ab26cf 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/command/tab/NothingCompleter.java +++ b/common/implementation/src/main/java/com/dfsek/terra/api/command/tab/NothingCompleter.java @@ -1,6 +1,6 @@ package com.dfsek.terra.api.command.tab; -import com.dfsek.terra.api.platform.CommandSender; +import com.dfsek.terra.api.entity.CommandSender; import java.util.Collections; import java.util.List; diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/command/tab/TabCompleter.java b/common/implementation/src/main/java/com/dfsek/terra/api/command/tab/TabCompleter.java index 33f875234..c7c3174da 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/command/tab/TabCompleter.java +++ b/common/implementation/src/main/java/com/dfsek/terra/api/command/tab/TabCompleter.java @@ -1,6 +1,6 @@ package com.dfsek.terra.api.command.tab; -import com.dfsek.terra.api.platform.CommandSender; +import com.dfsek.terra.api.entity.CommandSender; import java.util.List; diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/event/TerraEventManager.java b/common/implementation/src/main/java/com/dfsek/terra/api/event/EventManagerImpl.java similarity index 96% rename from common/implementation/src/main/java/com/dfsek/terra/api/event/TerraEventManager.java rename to common/implementation/src/main/java/com/dfsek/terra/api/event/EventManagerImpl.java index 493efa364..cc97be2b2 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/event/TerraEventManager.java +++ b/common/implementation/src/main/java/com/dfsek/terra/api/event/EventManagerImpl.java @@ -1,7 +1,7 @@ package com.dfsek.terra.api.event; import com.dfsek.terra.api.TerraPlugin; -import com.dfsek.terra.api.addons.TerraAddon; +import com.dfsek.terra.api.addon.TerraAddon; import com.dfsek.terra.api.event.annotations.Global; import com.dfsek.terra.api.event.annotations.Priority; import com.dfsek.terra.api.event.events.Cancellable; @@ -20,11 +20,11 @@ import java.util.HashMap; import java.util.List; import java.util.Map; -public class TerraEventManager implements EventManager { +public class EventManagerImpl implements EventManager { private final Map, List> listeners = new HashMap<>(); private final TerraPlugin main; - public TerraEventManager(TerraPlugin main) { + public EventManagerImpl(TerraPlugin main) { this.main = main; } diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/injection/Injector.java b/common/implementation/src/main/java/com/dfsek/terra/api/inject/InjectorImpl.java similarity index 57% rename from common/implementation/src/main/java/com/dfsek/terra/api/injection/Injector.java rename to common/implementation/src/main/java/com/dfsek/terra/api/inject/InjectorImpl.java index c19a680fa..f36af83b9 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/injection/Injector.java +++ b/common/implementation/src/main/java/com/dfsek/terra/api/inject/InjectorImpl.java @@ -1,5 +1,6 @@ -package com.dfsek.terra.api.injection; +package com.dfsek.terra.api.inject; +import com.dfsek.terra.api.injection.Injector; import com.dfsek.terra.api.injection.annotations.Inject; import com.dfsek.terra.api.injection.exception.InjectionException; import com.dfsek.terra.api.util.ReflectionUtil; @@ -9,14 +10,8 @@ import java.lang.reflect.Modifier; import java.util.HashSet; import java.util.Set; -/** - * Dynamic dependency injector. - *

- * Stores an object to inject, and injects it into objects passed to {@link #inject(Object)}. - * - * @param Type of object to inject. - */ -public class Injector { + +public class InjectorImpl implements Injector { private final T value; private final Set> targets = new HashSet<>(); @@ -25,35 +20,18 @@ public class Injector { * * @param value Value to inject */ - public Injector(T value) { + public InjectorImpl(T value) { this.value = value; } - /** - * Add an explicit class as a target. Useful for applications where subclasses may cause issues with DI. - * - * @param target Target class type. - */ + + @Override public void addExplicitTarget(Class target) { targets.add(target); } - /** - * Inject the stored object into an object. - *

- * Injects the stored object into any non-static, non-final fields - * annotated with {@link Inject}, - * with type matching the stored object or any explicit targets - * ({@link #addExplicitTarget(Class)}. - * - * @param object Object to inject into - * @throws InjectionException If: - *

    - *
  • Matching field annotated with {@link Inject} is final
  • - *
  • Matching field annotated with {@link Inject} is static
  • - *
  • A reflective access exception occurs
  • - *
- */ + + @Override public void inject(Object object) throws InjectionException { for(Field field : ReflectionUtil.getFields(object.getClass())) { Inject inject = field.getAnnotation(Inject.class); diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/math/GridSpawn.java b/common/implementation/src/main/java/com/dfsek/terra/api/math/GridSpawn.java index f25832de1..da48b601d 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/math/GridSpawn.java +++ b/common/implementation/src/main/java/com/dfsek/terra/api/math/GridSpawn.java @@ -1,6 +1,8 @@ package com.dfsek.terra.api.math; -import com.dfsek.terra.api.math.vector.Vector3; +import com.dfsek.terra.api.util.MathUtil; +import com.dfsek.terra.api.vector.Vector3; +import com.dfsek.terra.vector.Vector3Impl; import com.dfsek.terra.api.util.FastRandom; import com.dfsek.terra.api.util.GlueList; @@ -38,9 +40,9 @@ public class GridSpawn { zones.add(getChunkSpawn(xi, zi, seed)); } } - Vector3 shortest = zones.get(0); - Vector3 compare = new Vector3(x, 0, z); - for(Vector3 v : zones) { + Vector3Impl shortest = zones.get(0); + Vector3 compare = new Vector3Impl(x, 0, z); + for(Vector3Impl v : zones) { if(compare.distanceSquared(shortest) > compare.distanceSquared(v)) shortest = v.clone(); } return shortest; @@ -60,7 +62,7 @@ public class GridSpawn { int offsetZ = r.nextInt(width); int sx = structureChunkX * (width + 2 * separation) + offsetX; int sz = structureChunkZ * (width + 2 * separation) + offsetZ; - return new Vector3(sx, 0, sz); + return new Vector3Impl(sx, 0, sz); } public int getWidth() { diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/math/paralithic/noise/NoiseFunction2.java b/common/implementation/src/main/java/com/dfsek/terra/api/math/paralithic/noise/NoiseFunction2.java index f4a516375..113a9cd5d 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/math/paralithic/noise/NoiseFunction2.java +++ b/common/implementation/src/main/java/com/dfsek/terra/api/math/paralithic/noise/NoiseFunction2.java @@ -1,6 +1,6 @@ package com.dfsek.terra.api.math.paralithic.noise; -import com.dfsek.terra.api.math.noise.NoiseSampler; +import com.dfsek.terra.api.noise.NoiseSampler; import com.dfsek.terra.api.util.hash.HashMapDoubleDouble; diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/math/paralithic/noise/NoiseFunction3.java b/common/implementation/src/main/java/com/dfsek/terra/api/math/paralithic/noise/NoiseFunction3.java index 297a0d2cb..0c4d826a1 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/math/paralithic/noise/NoiseFunction3.java +++ b/common/implementation/src/main/java/com/dfsek/terra/api/math/paralithic/noise/NoiseFunction3.java @@ -1,6 +1,6 @@ package com.dfsek.terra.api.math.paralithic.noise; -import com.dfsek.terra.api.math.noise.NoiseSampler; +import com.dfsek.terra.api.noise.NoiseSampler; public class NoiseFunction3 implements NoiseFunction { private final NoiseSampler gen; diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/math/pixel/Distribution.java b/common/implementation/src/main/java/com/dfsek/terra/api/math/pixel/Distribution.java deleted file mode 100644 index a91f07028..000000000 --- a/common/implementation/src/main/java/com/dfsek/terra/api/math/pixel/Distribution.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.dfsek.terra.api.math.pixel; - -public class Distribution { - public Distribution(Rectangle bound, int numPoints, double minRad) { - - } -} diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/math/pixel/Polygon.java b/common/implementation/src/main/java/com/dfsek/terra/api/math/pixel/Polygon.java deleted file mode 100644 index 00f996fd7..000000000 --- a/common/implementation/src/main/java/com/dfsek/terra/api/math/pixel/Polygon.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.dfsek.terra.api.math.pixel; - -import com.dfsek.terra.api.math.vector.Vector2; - -import java.util.Set; - -@SuppressWarnings("unused") -public abstract class Polygon { - public abstract Set getContainedPixels(); -} diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/math/pixel/Rectangle.java b/common/implementation/src/main/java/com/dfsek/terra/api/math/pixel/Rectangle.java deleted file mode 100644 index 0eecb2f40..000000000 --- a/common/implementation/src/main/java/com/dfsek/terra/api/math/pixel/Rectangle.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.dfsek.terra.api.math.pixel; - -import com.dfsek.terra.api.math.vector.Vector2; -import net.jafama.FastMath; - -import java.util.HashSet; -import java.util.Set; - -@SuppressWarnings("unused") -public class Rectangle extends Polygon { - private final Vector2 min; - private final Vector2 max; - - public Rectangle(Vector2 min, Vector2 max) { - this.max = new Vector2(FastMath.min(min.getX(), max.getX()), FastMath.min(min.getZ(), max.getZ())); - this.min = new Vector2(FastMath.max(min.getX(), max.getX()), FastMath.max(min.getZ(), max.getZ())); - } - - public Rectangle(Vector2 center, double xRadius, double zRadius) { - Vector2 rad = new Vector2(xRadius, zRadius); - this.min = center.clone().subtract(rad); - this.max = center.clone().add(rad); - } - - @Override - public Set getContainedPixels() { - Set pixels = new HashSet<>(); - for(int x = (int) min.getX(); x <= max.getX(); x++) { - for(int z = (int) min.getZ(); z <= max.getZ(); z++) { - pixels.add(new Vector2(x, z)); - } - } - return pixels; - } -} diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/math/voxel/Cylinder.java b/common/implementation/src/main/java/com/dfsek/terra/api/math/voxel/Cylinder.java deleted file mode 100644 index 44d5558c3..000000000 --- a/common/implementation/src/main/java/com/dfsek/terra/api/math/voxel/Cylinder.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.dfsek.terra.api.math.voxel; - - -import com.dfsek.terra.api.math.vector.Vector3; - -public class Cylinder extends VoxelGeometry { - public Cylinder(Vector3 start, int rad, int height) { - - } -} diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/math/voxel/DeformedSphere.java b/common/implementation/src/main/java/com/dfsek/terra/api/math/voxel/DeformedSphere.java deleted file mode 100644 index 668a0ccdc..000000000 --- a/common/implementation/src/main/java/com/dfsek/terra/api/math/voxel/DeformedSphere.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.dfsek.terra.api.math.voxel; - -import com.dfsek.terra.api.math.noise.NoiseSampler; -import com.dfsek.terra.api.math.vector.Vector3; - -public class DeformedSphere extends VoxelGeometry { - public DeformedSphere(Vector3 start, int rad, double deform, NoiseSampler noise) { - for(int x = -rad; x <= rad; x++) { - for(int y = -rad; y <= rad; y++) { - for(int z = -rad; z <= rad; z++) { - Vector3 c = new Vector3(x, y, z); - if(c.length() < (rad + 0.5) * ((noise.getNoise(x, y, z) + 1) * deform)) { - addVector(c.add(start)); - } - } - } - } - } -} diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/math/voxel/Sphere.java b/common/implementation/src/main/java/com/dfsek/terra/api/math/voxel/Sphere.java deleted file mode 100644 index ced0cb3cd..000000000 --- a/common/implementation/src/main/java/com/dfsek/terra/api/math/voxel/Sphere.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.dfsek.terra.api.math.voxel; - -import com.dfsek.terra.api.math.vector.Vector3; - -public class Sphere extends VoxelGeometry { - public Sphere(Vector3 start, int rad) { - for(int x = -rad; x <= rad; x++) { - for(int y = -rad; y <= rad; y++) { - for(int z = -rad; z <= rad; z++) { - Vector3 c = new Vector3(x, y, z); - if(c.length() < rad + 0.5) { - addVector(c.add(start)); - } - } - } - } - } -} diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/math/voxel/Tube.java b/common/implementation/src/main/java/com/dfsek/terra/api/math/voxel/Tube.java deleted file mode 100644 index 7e0af69fc..000000000 --- a/common/implementation/src/main/java/com/dfsek/terra/api/math/voxel/Tube.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.dfsek.terra.api.math.voxel; - -import com.dfsek.terra.api.math.vector.Vector3; - -public class Tube extends VoxelGeometry { - public Tube(Vector3 start, Vector3 end, int radius) { - Vector3 step = start.clone().subtract(end).normalize(); - Vector3 run = start.clone(); - int steps = (int) start.distance(end); - for(int i = 0; i < steps; i++) { - merge(new Sphere(run, radius)); - run.add(step); - } - } -} diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/math/voxel/VoxelGeometry.java b/common/implementation/src/main/java/com/dfsek/terra/api/math/voxel/VoxelGeometry.java deleted file mode 100644 index dccbe3f1c..000000000 --- a/common/implementation/src/main/java/com/dfsek/terra/api/math/voxel/VoxelGeometry.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.dfsek.terra.api.math.voxel; - -import com.dfsek.terra.api.math.vector.Vector3; -import com.dfsek.terra.api.util.GlueList; - -import java.util.List; - -public abstract class VoxelGeometry { - private final List geometry = new GlueList<>(); - - public static VoxelGeometry getBlank() { - return new VoxelGeometry() { - }; - } - - public List getGeometry() { - return geometry; - } - - protected void addVector(Vector3 v) { - geometry.add(v); - } - - public void merge(VoxelGeometry other) { - geometry.addAll(other.geometry); - } -} diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/platform/block/Axis.java b/common/implementation/src/main/java/com/dfsek/terra/api/platform/block/Axis.java deleted file mode 100644 index 38236b3b1..000000000 --- a/common/implementation/src/main/java/com/dfsek/terra/api/platform/block/Axis.java +++ /dev/null @@ -1,5 +0,0 @@ -package com.dfsek.terra.api.platform.block; - -public enum Axis { - X, Y, Z -} diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/platform/block/data/Directional.java b/common/implementation/src/main/java/com/dfsek/terra/api/platform/block/data/Directional.java deleted file mode 100644 index 6857121e3..000000000 --- a/common/implementation/src/main/java/com/dfsek/terra/api/platform/block/data/Directional.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.dfsek.terra.api.platform.block.data; - -import com.dfsek.terra.api.platform.block.BlockData; -import com.dfsek.terra.api.platform.block.BlockFace; - -public interface Directional extends BlockData { - BlockFace getFacing(); - - void setFacing(BlockFace facing); -} diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/platform/block/data/Rotatable.java b/common/implementation/src/main/java/com/dfsek/terra/api/platform/block/data/Rotatable.java deleted file mode 100644 index 58f23989e..000000000 --- a/common/implementation/src/main/java/com/dfsek/terra/api/platform/block/data/Rotatable.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.dfsek.terra.api.platform.block.data; - -import com.dfsek.terra.api.platform.block.BlockData; -import com.dfsek.terra.api.platform.block.BlockFace; - -public interface Rotatable extends BlockData { - BlockFace getRotation(); - - void setRotation(BlockFace face); -} diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/platform/block/data/properties/Property.java b/common/implementation/src/main/java/com/dfsek/terra/api/platform/block/data/properties/Property.java deleted file mode 100644 index 95bfeca93..000000000 --- a/common/implementation/src/main/java/com/dfsek/terra/api/platform/block/data/properties/Property.java +++ /dev/null @@ -1,5 +0,0 @@ -package com.dfsek.terra.api.platform.block.data.properties; - -public interface Property { - -} diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/platform/block/state/Container.java b/common/implementation/src/main/java/com/dfsek/terra/api/platform/block/state/Container.java deleted file mode 100644 index 450b8d09a..000000000 --- a/common/implementation/src/main/java/com/dfsek/terra/api/platform/block/state/Container.java +++ /dev/null @@ -1,6 +0,0 @@ -package com.dfsek.terra.api.platform.block.state; - -import com.dfsek.terra.api.platform.inventory.BlockInventoryHolder; - -public interface Container extends BlockState, BlockInventoryHolder { -} diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/platform/entity/Entity.java b/common/implementation/src/main/java/com/dfsek/terra/api/platform/entity/Entity.java deleted file mode 100644 index 51c9be6e5..000000000 --- a/common/implementation/src/main/java/com/dfsek/terra/api/platform/entity/Entity.java +++ /dev/null @@ -1,14 +0,0 @@ -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; -import com.dfsek.terra.api.platform.world.World; - -public interface Entity extends Handle, CommandSender { - Location getLocation(); - - void setLocation(Location location); - - World getWorld(); -} diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/platform/entity/EntityType.java b/common/implementation/src/main/java/com/dfsek/terra/api/platform/entity/EntityType.java deleted file mode 100644 index d893b967b..000000000 --- a/common/implementation/src/main/java/com/dfsek/terra/api/platform/entity/EntityType.java +++ /dev/null @@ -1,6 +0,0 @@ -package com.dfsek.terra.api.platform.entity; - -import com.dfsek.terra.api.platform.Handle; - -public interface EntityType extends Handle { -} diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/platform/entity/Player.java b/common/implementation/src/main/java/com/dfsek/terra/api/platform/entity/Player.java deleted file mode 100644 index 43a002089..000000000 --- a/common/implementation/src/main/java/com/dfsek/terra/api/platform/entity/Player.java +++ /dev/null @@ -1,4 +0,0 @@ -package com.dfsek.terra.api.platform.entity; - -public interface Player extends Entity { -} diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/platform/inventory/BlockInventoryHolder.java b/common/implementation/src/main/java/com/dfsek/terra/api/platform/inventory/BlockInventoryHolder.java deleted file mode 100644 index 157d8837e..000000000 --- a/common/implementation/src/main/java/com/dfsek/terra/api/platform/inventory/BlockInventoryHolder.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.dfsek.terra.api.platform.inventory; - -import com.dfsek.terra.api.platform.block.Block; - -public interface BlockInventoryHolder extends InventoryHolder { - Block getBlock(); -} diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/platform/inventory/InventoryHolder.java b/common/implementation/src/main/java/com/dfsek/terra/api/platform/inventory/InventoryHolder.java deleted file mode 100644 index c8550a121..000000000 --- a/common/implementation/src/main/java/com/dfsek/terra/api/platform/inventory/InventoryHolder.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.dfsek.terra.api.platform.inventory; - -import com.dfsek.terra.api.platform.Handle; - -public interface InventoryHolder extends Handle { - Inventory getInventory(); -} diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/platform/package-info.java b/common/implementation/src/main/java/com/dfsek/terra/api/platform/package-info.java deleted file mode 100644 index 44377a381..000000000 --- a/common/implementation/src/main/java/com/dfsek/terra/api/platform/package-info.java +++ /dev/null @@ -1,6 +0,0 @@ -/** - * API for platform implementations. Mostly interfaces to be implemented by platform delegates. - *

- * Interfaces in this package generally should not be implemented by addons. - */ -package com.dfsek.terra.api.platform; diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/platform/world/Biome.java b/common/implementation/src/main/java/com/dfsek/terra/api/platform/world/Biome.java deleted file mode 100644 index ec1b2060d..000000000 --- a/common/implementation/src/main/java/com/dfsek/terra/api/platform/world/Biome.java +++ /dev/null @@ -1,6 +0,0 @@ -package com.dfsek.terra.api.platform.world; - -import com.dfsek.terra.api.platform.Handle; - -public interface Biome extends Handle { -} diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/platform/world/generator/BlockPopulator.java b/common/implementation/src/main/java/com/dfsek/terra/api/platform/world/generator/BlockPopulator.java deleted file mode 100644 index 1ed9a3a33..000000000 --- a/common/implementation/src/main/java/com/dfsek/terra/api/platform/world/generator/BlockPopulator.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.dfsek.terra.api.platform.world.generator; - -import com.dfsek.terra.api.platform.Handle; -import com.dfsek.terra.api.platform.world.Chunk; -import com.dfsek.terra.api.platform.world.World; - -import java.util.Random; - -public interface BlockPopulator extends Handle { - void populate(World world, Random random, Chunk chunk); -} diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/platform/world/generator/ChunkGenerator.java b/common/implementation/src/main/java/com/dfsek/terra/api/platform/world/generator/ChunkGenerator.java deleted file mode 100644 index da3594011..000000000 --- a/common/implementation/src/main/java/com/dfsek/terra/api/platform/world/generator/ChunkGenerator.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.dfsek.terra.api.platform.world.generator; - -import com.dfsek.terra.api.platform.Handle; - -public interface ChunkGenerator extends Handle { - -} diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/structures/loot/Entry.java b/common/implementation/src/main/java/com/dfsek/terra/api/structures/loot/Entry.java index 81c48aab1..8de921647 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/structures/loot/Entry.java +++ b/common/implementation/src/main/java/com/dfsek/terra/api/structures/loot/Entry.java @@ -1,8 +1,8 @@ package com.dfsek.terra.api.structures.loot; import com.dfsek.terra.api.TerraPlugin; -import com.dfsek.terra.api.platform.inventory.Item; -import com.dfsek.terra.api.platform.inventory.ItemStack; +import com.dfsek.terra.api.inventory.Item; +import com.dfsek.terra.api.inventory.ItemStack; import com.dfsek.terra.api.structures.loot.functions.AmountFunction; import com.dfsek.terra.api.structures.loot.functions.DamageFunction; import com.dfsek.terra.api.structures.loot.functions.EnchantFunction; diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/structures/loot/LootTable.java b/common/implementation/src/main/java/com/dfsek/terra/api/structures/loot/LootTable.java index 886d72178..cb4679658 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/structures/loot/LootTable.java +++ b/common/implementation/src/main/java/com/dfsek/terra/api/structures/loot/LootTable.java @@ -1,8 +1,8 @@ package com.dfsek.terra.api.structures.loot; import com.dfsek.terra.api.TerraPlugin; -import com.dfsek.terra.api.platform.inventory.Inventory; -import com.dfsek.terra.api.platform.inventory.ItemStack; +import com.dfsek.terra.api.inventory.Inventory; +import com.dfsek.terra.api.inventory.ItemStack; import com.dfsek.terra.api.util.GlueList; import org.json.simple.JSONArray; import org.json.simple.JSONObject; diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/structures/loot/Pool.java b/common/implementation/src/main/java/com/dfsek/terra/api/structures/loot/Pool.java index e01a25bdb..f4a6c8f7e 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/structures/loot/Pool.java +++ b/common/implementation/src/main/java/com/dfsek/terra/api/structures/loot/Pool.java @@ -1,9 +1,9 @@ package com.dfsek.terra.api.structures.loot; import com.dfsek.terra.api.TerraPlugin; -import com.dfsek.terra.api.platform.inventory.ItemStack; +import com.dfsek.terra.api.inventory.ItemStack; import com.dfsek.terra.api.util.GlueList; -import com.dfsek.terra.api.util.collections.ProbabilityCollection; +import com.dfsek.terra.api.util.collections.ProbabilityCollectionImpl; import net.jafama.FastMath; import org.json.simple.JSONArray; import org.json.simple.JSONObject; @@ -17,7 +17,7 @@ import java.util.Random; public class Pool { private final int max; private final int min; - private final ProbabilityCollection entries; + private final ProbabilityCollectionImpl entries; /** * Instantiates a Pool from a JSON representation. @@ -25,7 +25,7 @@ public class Pool { * @param pool The JSON Object to instantiate from. */ public Pool(JSONObject pool, TerraPlugin main) { - entries = new ProbabilityCollection<>(); + entries = new ProbabilityCollectionImpl<>(); Object amount = pool.get("rolls"); if(amount instanceof Long) { max = FastMath.toIntExact((Long) amount); diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/structures/loot/functions/AmountFunction.java b/common/implementation/src/main/java/com/dfsek/terra/api/structures/loot/functions/AmountFunction.java index f83498fec..4e29905bd 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/structures/loot/functions/AmountFunction.java +++ b/common/implementation/src/main/java/com/dfsek/terra/api/structures/loot/functions/AmountFunction.java @@ -1,7 +1,7 @@ package com.dfsek.terra.api.structures.loot.functions; -import com.dfsek.terra.api.platform.inventory.ItemStack; +import com.dfsek.terra.api.inventory.ItemStack; import java.util.Random; diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/structures/loot/functions/DamageFunction.java b/common/implementation/src/main/java/com/dfsek/terra/api/structures/loot/functions/DamageFunction.java index 517777db0..0d9230b32 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/structures/loot/functions/DamageFunction.java +++ b/common/implementation/src/main/java/com/dfsek/terra/api/structures/loot/functions/DamageFunction.java @@ -1,8 +1,8 @@ package com.dfsek.terra.api.structures.loot.functions; -import com.dfsek.terra.api.platform.inventory.ItemStack; -import com.dfsek.terra.api.platform.inventory.item.Damageable; -import com.dfsek.terra.api.platform.inventory.item.ItemMeta; +import com.dfsek.terra.api.inventory.ItemStack; +import com.dfsek.terra.api.inventory.item.Damageable; +import com.dfsek.terra.api.inventory.item.ItemMeta; import java.util.Random; diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/structures/loot/functions/EnchantFunction.java b/common/implementation/src/main/java/com/dfsek/terra/api/structures/loot/functions/EnchantFunction.java index 50818d871..6facfe662 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/structures/loot/functions/EnchantFunction.java +++ b/common/implementation/src/main/java/com/dfsek/terra/api/structures/loot/functions/EnchantFunction.java @@ -1,9 +1,9 @@ package com.dfsek.terra.api.structures.loot.functions; import com.dfsek.terra.api.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; +import com.dfsek.terra.api.inventory.ItemStack; +import com.dfsek.terra.api.inventory.item.Enchantment; +import com.dfsek.terra.api.inventory.item.ItemMeta; import com.dfsek.terra.api.util.GlueList; import net.jafama.FastMath; import org.json.simple.JSONArray; diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/structures/loot/functions/LootFunction.java b/common/implementation/src/main/java/com/dfsek/terra/api/structures/loot/functions/LootFunction.java index 5b882c830..477290a74 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/structures/loot/functions/LootFunction.java +++ b/common/implementation/src/main/java/com/dfsek/terra/api/structures/loot/functions/LootFunction.java @@ -1,7 +1,7 @@ package com.dfsek.terra.api.structures.loot.functions; -import com.dfsek.terra.api.platform.inventory.ItemStack; +import com.dfsek.terra.api.inventory.ItemStack; import java.util.Random; diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/structures/script/StructureScript.java b/common/implementation/src/main/java/com/dfsek/terra/api/structures/script/StructureScript.java index 6608f3ffd..7c1381097 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/structures/script/StructureScript.java +++ b/common/implementation/src/main/java/com/dfsek/terra/api/structures/script/StructureScript.java @@ -1,8 +1,8 @@ package com.dfsek.terra.api.structures.script; import com.dfsek.terra.api.TerraPlugin; -import com.dfsek.terra.api.math.vector.Location; -import com.dfsek.terra.api.platform.world.Chunk; +import com.dfsek.terra.api.vector.Location; +import com.dfsek.terra.api.world.Chunk; import com.dfsek.terra.api.registry.Registry; import com.dfsek.terra.api.structures.loot.LootTable; import com.dfsek.terra.api.structures.parser.Parser; @@ -33,9 +33,6 @@ 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.profiler.ProfileFrame; -import com.dfsek.terra.registry.config.FunctionRegistry; -import com.dfsek.terra.registry.config.LootRegistry; -import com.dfsek.terra.registry.config.ScriptRegistry; import com.google.common.cache.Cache; import com.google.common.cache.CacheBuilder; import net.jafama.FastMath; diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/structures/script/functions/AbstractBlockFunction.java b/common/implementation/src/main/java/com/dfsek/terra/api/structures/script/functions/AbstractBlockFunction.java index b3ff81c62..dbb6d8806 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/structures/script/functions/AbstractBlockFunction.java +++ b/common/implementation/src/main/java/com/dfsek/terra/api/structures/script/functions/AbstractBlockFunction.java @@ -1,9 +1,10 @@ package com.dfsek.terra.api.structures.script.functions; import com.dfsek.terra.api.TerraPlugin; -import com.dfsek.terra.api.math.vector.Vector2; -import com.dfsek.terra.api.math.vector.Vector3; -import com.dfsek.terra.api.platform.block.BlockData; +import com.dfsek.terra.api.vector.Vector2; +import com.dfsek.terra.vector.Vector2Impl; +import com.dfsek.terra.vector.Vector3Impl; +import com.dfsek.terra.api.block.BlockData; 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; @@ -34,12 +35,12 @@ public abstract class AbstractBlockFunction implements Function { } void setBlock(ImplementationArguments implementationArguments, Map> variableMap, TerraImplementationArguments arguments, BlockData rot) { - Vector2 xz = new Vector2(x.apply(implementationArguments, variableMap).doubleValue(), z.apply(implementationArguments, variableMap).doubleValue()); + Vector2 xz = new Vector2Impl(x.apply(implementationArguments, variableMap).doubleValue(), z.apply(implementationArguments, variableMap).doubleValue()); RotationUtil.rotateVector(xz, arguments.getRotation()); RotationUtil.rotateBlockData(rot, arguments.getRotation().inverse()); - arguments.getBuffer().addItem(new BufferedBlock(rot, overwrite.apply(implementationArguments, variableMap), main, arguments.isWaterlog()), new Vector3(FastMath.roundToInt(xz.getX()), y.apply(implementationArguments, variableMap).doubleValue(), FastMath.roundToInt(xz.getZ())).toLocation(arguments.getBuffer().getOrigin().getWorld())); + arguments.getBuffer().addItem(new BufferedBlock(rot, overwrite.apply(implementationArguments, variableMap), main, arguments.isWaterlog()), new Vector3Impl(FastMath.roundToInt(xz.getX()), y.apply(implementationArguments, variableMap).doubleValue(), FastMath.roundToInt(xz.getZ())).toLocation(arguments.getBuffer().getOrigin().getWorld())); } @Override diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/structures/script/functions/BiomeFunction.java b/common/implementation/src/main/java/com/dfsek/terra/api/structures/script/functions/BiomeFunction.java index 54eb7e280..ba459a624 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/structures/script/functions/BiomeFunction.java +++ b/common/implementation/src/main/java/com/dfsek/terra/api/structures/script/functions/BiomeFunction.java @@ -1,8 +1,9 @@ package com.dfsek.terra.api.structures.script.functions; import com.dfsek.terra.api.TerraPlugin; -import com.dfsek.terra.api.math.vector.Vector2; -import com.dfsek.terra.api.math.vector.Vector3; +import com.dfsek.terra.api.vector.Vector2; +import com.dfsek.terra.vector.Vector2Impl; +import com.dfsek.terra.vector.Vector3Impl; 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; @@ -11,7 +12,7 @@ import com.dfsek.terra.api.structures.script.TerraImplementationArguments; import com.dfsek.terra.api.structures.structure.RotationUtil; import com.dfsek.terra.api.structures.tokenizer.Position; import com.dfsek.terra.api.world.biome.UserDefinedBiome; -import com.dfsek.terra.api.world.biome.provider.BiomeProvider; +import com.dfsek.terra.api.world.biome.generation.BiomeProvider; import net.jafama.FastMath; import java.util.Map; @@ -35,13 +36,13 @@ public class BiomeFunction implements Function { public String apply(ImplementationArguments implementationArguments, Map> variableMap) { TerraImplementationArguments arguments = (TerraImplementationArguments) implementationArguments; - Vector2 xz = new Vector2(x.apply(implementationArguments, variableMap).doubleValue(), z.apply(implementationArguments, variableMap).doubleValue()); + Vector2 xz = new Vector2Impl(x.apply(implementationArguments, variableMap).doubleValue(), z.apply(implementationArguments, variableMap).doubleValue()); RotationUtil.rotateVector(xz, arguments.getRotation()); BiomeProvider grid = main.getWorld(arguments.getBuffer().getOrigin().getWorld()).getBiomeProvider(); - return ((UserDefinedBiome) grid.getBiome(arguments.getBuffer().getOrigin().clone().add(new Vector3(FastMath.roundToInt(xz.getX()), y.apply(implementationArguments, variableMap).intValue(), FastMath.roundToInt(xz.getZ()))))).getID(); + return ((UserDefinedBiome) grid.getBiome(arguments.getBuffer().getOrigin().clone().add(new Vector3Impl(FastMath.roundToInt(xz.getX()), y.apply(implementationArguments, variableMap).intValue(), FastMath.roundToInt(xz.getZ()))))).getID(); } diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/structures/script/functions/BlockFunction.java b/common/implementation/src/main/java/com/dfsek/terra/api/structures/script/functions/BlockFunction.java index 22f82b720..c97c1c84f 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/structures/script/functions/BlockFunction.java +++ b/common/implementation/src/main/java/com/dfsek/terra/api/structures/script/functions/BlockFunction.java @@ -1,7 +1,7 @@ package com.dfsek.terra.api.structures.script.functions; import com.dfsek.terra.api.TerraPlugin; -import com.dfsek.terra.api.platform.block.BlockData; +import com.dfsek.terra.api.block.BlockData; import com.dfsek.terra.api.structures.parser.exceptions.ParseException; import com.dfsek.terra.api.structures.parser.lang.ImplementationArguments; import com.dfsek.terra.api.structures.parser.lang.Returnable; diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/structures/script/functions/CheckBlockFunction.java b/common/implementation/src/main/java/com/dfsek/terra/api/structures/script/functions/CheckBlockFunction.java index 546ac15f0..eb73a66e3 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/structures/script/functions/CheckBlockFunction.java +++ b/common/implementation/src/main/java/com/dfsek/terra/api/structures/script/functions/CheckBlockFunction.java @@ -1,7 +1,8 @@ package com.dfsek.terra.api.structures.script.functions; -import com.dfsek.terra.api.math.vector.Vector2; -import com.dfsek.terra.api.math.vector.Vector3; +import com.dfsek.terra.api.vector.Vector2; +import com.dfsek.terra.vector.Vector2Impl; +import com.dfsek.terra.vector.Vector3Impl; 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; @@ -29,11 +30,11 @@ public class CheckBlockFunction implements Function { public String apply(ImplementationArguments implementationArguments, Map> variableMap) { TerraImplementationArguments arguments = (TerraImplementationArguments) implementationArguments; - Vector2 xz = new Vector2(x.apply(implementationArguments, variableMap).doubleValue(), z.apply(implementationArguments, variableMap).doubleValue()); + Vector2 xz = new Vector2Impl(x.apply(implementationArguments, variableMap).doubleValue(), z.apply(implementationArguments, variableMap).doubleValue()); RotationUtil.rotateVector(xz, arguments.getRotation()); - String data = arguments.getBuffer().getOrigin().clone().add(new Vector3(FastMath.roundToInt(xz.getX()), y.apply(implementationArguments, variableMap).doubleValue(), FastMath.roundToInt(xz.getZ()))).getBlock().getBlockData().getAsString(); + String data = arguments.getBuffer().getOrigin().clone().add(new Vector3Impl(FastMath.roundToInt(xz.getX()), y.apply(implementationArguments, variableMap).doubleValue(), FastMath.roundToInt(xz.getZ()))).getBlock().getBlockData().getAsString(); if(data.contains("[")) return data.substring(0, data.indexOf('[')); // Strip properties else return data; } diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/structures/script/functions/CheckFunction.java b/common/implementation/src/main/java/com/dfsek/terra/api/structures/script/functions/CheckFunction.java index fee00e6c6..94d873fdf 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/structures/script/functions/CheckFunction.java +++ b/common/implementation/src/main/java/com/dfsek/terra/api/structures/script/functions/CheckFunction.java @@ -1,10 +1,11 @@ package com.dfsek.terra.api.structures.script.functions; import com.dfsek.terra.api.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.world.World; +import com.dfsek.terra.api.vector.Location; +import com.dfsek.terra.api.vector.Vector2; +import com.dfsek.terra.vector.Vector2Impl; +import com.dfsek.terra.vector.Vector3Impl; +import com.dfsek.terra.api.world.World; 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; @@ -13,7 +14,7 @@ import com.dfsek.terra.api.structures.script.TerraImplementationArguments; import com.dfsek.terra.api.structures.structure.RotationUtil; import com.dfsek.terra.api.structures.tokenizer.Position; import com.dfsek.terra.api.world.biome.UserDefinedBiome; -import com.dfsek.terra.api.world.biome.provider.BiomeProvider; +import com.dfsek.terra.api.world.biome.generation.BiomeProvider; import com.dfsek.terra.config.templates.BiomeTemplate; import com.dfsek.terra.world.TerraWorld; import com.dfsek.terra.world.generation.math.SamplerCache; @@ -42,11 +43,11 @@ public class CheckFunction implements Function { TerraImplementationArguments arguments = (TerraImplementationArguments) implementationArguments; - Vector2 xz = new Vector2(x.apply(implementationArguments, variableMap).doubleValue(), z.apply(implementationArguments, variableMap).doubleValue()); + Vector2 xz = new Vector2Impl(x.apply(implementationArguments, variableMap).doubleValue(), z.apply(implementationArguments, variableMap).doubleValue()); RotationUtil.rotateVector(xz, arguments.getRotation()); - Location location = arguments.getBuffer().getOrigin().clone().add(new Vector3(FastMath.roundToInt(xz.getX()), y.apply(implementationArguments, variableMap).doubleValue(), FastMath.roundToInt(xz.getZ()))); + Location location = arguments.getBuffer().getOrigin().clone().add(new Vector3Impl(FastMath.roundToInt(xz.getX()), y.apply(implementationArguments, variableMap).doubleValue(), FastMath.roundToInt(xz.getZ()))); return apply(location, arguments.getBuffer().getOrigin().getWorld()); } diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/structures/script/functions/DynamicBlockFunction.java b/common/implementation/src/main/java/com/dfsek/terra/api/structures/script/functions/DynamicBlockFunction.java index 080848345..2a977d0b9 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/structures/script/functions/DynamicBlockFunction.java +++ b/common/implementation/src/main/java/com/dfsek/terra/api/structures/script/functions/DynamicBlockFunction.java @@ -1,7 +1,7 @@ package com.dfsek.terra.api.structures.script.functions; import com.dfsek.terra.api.TerraPlugin; -import com.dfsek.terra.api.platform.block.BlockData; +import com.dfsek.terra.api.block.BlockData; 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.variables.Variable; diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/structures/script/functions/EntityFunction.java b/common/implementation/src/main/java/com/dfsek/terra/api/structures/script/functions/EntityFunction.java index b8b9f8d1b..4708a45e6 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/structures/script/functions/EntityFunction.java +++ b/common/implementation/src/main/java/com/dfsek/terra/api/structures/script/functions/EntityFunction.java @@ -1,9 +1,10 @@ package com.dfsek.terra.api.structures.script.functions; import com.dfsek.terra.api.TerraPlugin; -import com.dfsek.terra.api.math.vector.Vector2; -import com.dfsek.terra.api.math.vector.Vector3; -import com.dfsek.terra.api.platform.entity.EntityType; +import com.dfsek.terra.api.vector.Vector2; +import com.dfsek.terra.vector.Vector2Impl; +import com.dfsek.terra.vector.Vector3Impl; +import com.dfsek.terra.api.entity.EntityType; import com.dfsek.terra.api.structures.parser.exceptions.ParseException; import com.dfsek.terra.api.structures.parser.lang.ImplementationArguments; import com.dfsek.terra.api.structures.parser.lang.Returnable; @@ -37,11 +38,11 @@ public class EntityFunction implements Function { @Override public Void apply(ImplementationArguments implementationArguments, Map> variableMap) { TerraImplementationArguments arguments = (TerraImplementationArguments) implementationArguments; - Vector2 xz = new Vector2(x.apply(implementationArguments, variableMap).doubleValue(), z.apply(implementationArguments, variableMap).doubleValue()); + Vector2 xz = new Vector2Impl(x.apply(implementationArguments, variableMap).doubleValue(), z.apply(implementationArguments, variableMap).doubleValue()); RotationUtil.rotateVector(xz, arguments.getRotation()); - arguments.getBuffer().addItem(new BufferedEntity(data, main), new Vector3(xz.getX(), y.apply(implementationArguments, variableMap).doubleValue(), xz.getZ()).toLocation(arguments.getBuffer().getOrigin().getWorld())); + arguments.getBuffer().addItem(new BufferedEntity(data, main), new Vector3Impl(xz.getX(), y.apply(implementationArguments, variableMap).doubleValue(), xz.getZ()).toLocation(arguments.getBuffer().getOrigin().getWorld())); return null; } diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/structures/script/functions/GetMarkFunction.java b/common/implementation/src/main/java/com/dfsek/terra/api/structures/script/functions/GetMarkFunction.java index df67e3e2c..b033b486e 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/structures/script/functions/GetMarkFunction.java +++ b/common/implementation/src/main/java/com/dfsek/terra/api/structures/script/functions/GetMarkFunction.java @@ -1,7 +1,8 @@ package com.dfsek.terra.api.structures.script.functions; -import com.dfsek.terra.api.math.vector.Vector2; -import com.dfsek.terra.api.math.vector.Vector3; +import com.dfsek.terra.api.vector.Vector2; +import com.dfsek.terra.vector.Vector2Impl; +import com.dfsek.terra.vector.Vector3Impl; 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; @@ -27,10 +28,10 @@ public class GetMarkFunction implements Function { @Override public String apply(ImplementationArguments implementationArguments, Map> variableMap) { TerraImplementationArguments arguments = (TerraImplementationArguments) implementationArguments; - Vector2 xz = new Vector2(x.apply(implementationArguments, variableMap).doubleValue(), z.apply(implementationArguments, variableMap).doubleValue()); + Vector2 xz = new Vector2Impl(x.apply(implementationArguments, variableMap).doubleValue(), z.apply(implementationArguments, variableMap).doubleValue()); RotationUtil.rotateVector(xz, arguments.getRotation()); - String mark = arguments.getBuffer().getMark(new Vector3(FastMath.floorToInt(xz.getX()), FastMath.floorToInt(y.apply(implementationArguments, variableMap).doubleValue()), FastMath.floorToInt(xz.getZ())).toLocation(arguments.getBuffer().getOrigin().getWorld())); + String mark = arguments.getBuffer().getMark(new Vector3Impl(FastMath.floorToInt(xz.getX()), FastMath.floorToInt(y.apply(implementationArguments, variableMap).doubleValue()), FastMath.floorToInt(xz.getZ())).toLocation(arguments.getBuffer().getOrigin().getWorld())); return mark == null ? "" : mark; } diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/structures/script/functions/LootFunction.java b/common/implementation/src/main/java/com/dfsek/terra/api/structures/script/functions/LootFunction.java index ddbc064cd..bf4a9968d 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/structures/script/functions/LootFunction.java +++ b/common/implementation/src/main/java/com/dfsek/terra/api/structures/script/functions/LootFunction.java @@ -1,8 +1,9 @@ package com.dfsek.terra.api.structures.script.functions; import com.dfsek.terra.api.TerraPlugin; -import com.dfsek.terra.api.math.vector.Vector2; -import com.dfsek.terra.api.math.vector.Vector3; +import com.dfsek.terra.api.vector.Vector2; +import com.dfsek.terra.vector.Vector2Impl; +import com.dfsek.terra.vector.Vector3Impl; import com.dfsek.terra.api.registry.Registry; import com.dfsek.terra.api.structures.loot.LootTable; import com.dfsek.terra.api.structures.parser.lang.ImplementationArguments; @@ -40,7 +41,7 @@ public class LootFunction implements Function { @Override public Void apply(ImplementationArguments implementationArguments, Map> variableMap) { TerraImplementationArguments arguments = (TerraImplementationArguments) implementationArguments; - Vector2 xz = new Vector2(x.apply(implementationArguments, variableMap).doubleValue(), z.apply(implementationArguments, variableMap).doubleValue()); + Vector2 xz = new Vector2Impl(x.apply(implementationArguments, variableMap).doubleValue(), z.apply(implementationArguments, variableMap).doubleValue()); RotationUtil.rotateVector(xz, arguments.getRotation()); @@ -52,7 +53,7 @@ public class LootFunction implements Function { return null; } - arguments.getBuffer().addItem(new BufferedLootApplication(table, main, script), new Vector3(FastMath.roundToInt(xz.getX()), y.apply(implementationArguments, variableMap).intValue(), FastMath.roundToInt(xz.getZ())).toLocation(arguments.getBuffer().getOrigin().getWorld())); + arguments.getBuffer().addItem(new BufferedLootApplication(table, main, script), new Vector3Impl(FastMath.roundToInt(xz.getX()), y.apply(implementationArguments, variableMap).intValue(), FastMath.roundToInt(xz.getZ())).toLocation(arguments.getBuffer().getOrigin().getWorld())); return null; } diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/structures/script/functions/PullFunction.java b/common/implementation/src/main/java/com/dfsek/terra/api/structures/script/functions/PullFunction.java index 059aca0fa..528d4ebea 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/structures/script/functions/PullFunction.java +++ b/common/implementation/src/main/java/com/dfsek/terra/api/structures/script/functions/PullFunction.java @@ -1,9 +1,10 @@ package com.dfsek.terra.api.structures.script.functions; import com.dfsek.terra.api.TerraPlugin; -import com.dfsek.terra.api.math.vector.Vector2; -import com.dfsek.terra.api.math.vector.Vector3; -import com.dfsek.terra.api.platform.block.BlockData; +import com.dfsek.terra.api.vector.Vector2; +import com.dfsek.terra.vector.Vector2Impl; +import com.dfsek.terra.vector.Vector3Impl; +import com.dfsek.terra.api.block.BlockData; import com.dfsek.terra.api.structures.parser.exceptions.ParseException; import com.dfsek.terra.api.structures.parser.lang.ImplementationArguments; import com.dfsek.terra.api.structures.parser.lang.Returnable; @@ -36,12 +37,12 @@ public class PullFunction implements Function { @Override public Void apply(ImplementationArguments implementationArguments, Map> variableMap) { TerraImplementationArguments arguments = (TerraImplementationArguments) implementationArguments; - Vector2 xz = new Vector2(x.apply(implementationArguments, variableMap).doubleValue(), z.apply(implementationArguments, variableMap).doubleValue()); + Vector2 xz = new Vector2Impl(x.apply(implementationArguments, variableMap).doubleValue(), z.apply(implementationArguments, variableMap).doubleValue()); RotationUtil.rotateVector(xz, arguments.getRotation()); BlockData rot = data.clone(); RotationUtil.rotateBlockData(rot, arguments.getRotation().inverse()); - arguments.getBuffer().addItem(new BufferedPulledBlock(rot), new Vector3(FastMath.roundToInt(xz.getX()), y.apply(implementationArguments, variableMap).intValue(), FastMath.roundToInt(xz.getZ())).toLocation(arguments.getBuffer().getOrigin().getWorld())); + arguments.getBuffer().addItem(new BufferedPulledBlock(rot), new Vector3Impl(FastMath.roundToInt(xz.getX()), y.apply(implementationArguments, variableMap).intValue(), FastMath.roundToInt(xz.getZ())).toLocation(arguments.getBuffer().getOrigin().getWorld())); return null; } diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/structures/script/functions/SetMarkFunction.java b/common/implementation/src/main/java/com/dfsek/terra/api/structures/script/functions/SetMarkFunction.java index 75beae39b..e1e81034c 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/structures/script/functions/SetMarkFunction.java +++ b/common/implementation/src/main/java/com/dfsek/terra/api/structures/script/functions/SetMarkFunction.java @@ -1,7 +1,8 @@ package com.dfsek.terra.api.structures.script.functions; -import com.dfsek.terra.api.math.vector.Vector2; -import com.dfsek.terra.api.math.vector.Vector3; +import com.dfsek.terra.api.vector.Vector2; +import com.dfsek.terra.vector.Vector2Impl; +import com.dfsek.terra.vector.Vector3Impl; 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; @@ -29,11 +30,11 @@ public class SetMarkFunction implements Function { @Override public Void apply(ImplementationArguments implementationArguments, Map> variableMap) { TerraImplementationArguments arguments = (TerraImplementationArguments) implementationArguments; - Vector2 xz = new Vector2(x.apply(implementationArguments, variableMap).doubleValue(), z.apply(implementationArguments, variableMap).doubleValue()); + Vector2 xz = new Vector2Impl(x.apply(implementationArguments, variableMap).doubleValue(), z.apply(implementationArguments, variableMap).doubleValue()); RotationUtil.rotateVector(xz, arguments.getRotation()); - arguments.getBuffer().setMark(mark.apply(implementationArguments, variableMap), new Vector3(FastMath.floorToInt(xz.getX()), FastMath.floorToInt(y.apply(implementationArguments, variableMap).doubleValue()), FastMath.floorToInt(xz.getZ())).toLocation(arguments.getBuffer().getOrigin().getWorld())); + arguments.getBuffer().setMark(mark.apply(implementationArguments, variableMap), new Vector3Impl(FastMath.floorToInt(xz.getX()), FastMath.floorToInt(y.apply(implementationArguments, variableMap).doubleValue()), FastMath.floorToInt(xz.getZ())).toLocation(arguments.getBuffer().getOrigin().getWorld())); return null; } diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/structures/script/functions/StateFunction.java b/common/implementation/src/main/java/com/dfsek/terra/api/structures/script/functions/StateFunction.java index 4e2e2c276..d2792fe9c 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/structures/script/functions/StateFunction.java +++ b/common/implementation/src/main/java/com/dfsek/terra/api/structures/script/functions/StateFunction.java @@ -1,8 +1,9 @@ package com.dfsek.terra.api.structures.script.functions; import com.dfsek.terra.api.TerraPlugin; -import com.dfsek.terra.api.math.vector.Vector2; -import com.dfsek.terra.api.math.vector.Vector3; +import com.dfsek.terra.api.vector.Vector2; +import com.dfsek.terra.vector.Vector2Impl; +import com.dfsek.terra.vector.Vector3Impl; 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; @@ -33,10 +34,10 @@ public class StateFunction implements Function { @Override public Void apply(ImplementationArguments implementationArguments, Map> variableMap) { TerraImplementationArguments arguments = (TerraImplementationArguments) implementationArguments; - Vector2 xz = new Vector2(x.apply(implementationArguments, variableMap).doubleValue(), z.apply(implementationArguments, variableMap).doubleValue()); + Vector2 xz = new Vector2Impl(x.apply(implementationArguments, variableMap).doubleValue(), z.apply(implementationArguments, variableMap).doubleValue()); RotationUtil.rotateVector(xz, arguments.getRotation()); - arguments.getBuffer().addItem(new BufferedStateManipulator(main, data.apply(implementationArguments, variableMap)), new Vector3(FastMath.roundToInt(xz.getX()), y.apply(implementationArguments, variableMap).intValue(), FastMath.roundToInt(xz.getZ())).toLocation(arguments.getBuffer().getOrigin().getWorld())); + arguments.getBuffer().addItem(new BufferedStateManipulator(main, data.apply(implementationArguments, variableMap)), new Vector3Impl(FastMath.roundToInt(xz.getX()), y.apply(implementationArguments, variableMap).intValue(), FastMath.roundToInt(xz.getZ())).toLocation(arguments.getBuffer().getOrigin().getWorld())); return null; } diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/structures/script/functions/StructureFunction.java b/common/implementation/src/main/java/com/dfsek/terra/api/structures/script/functions/StructureFunction.java index c0378d60e..63b64c399 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/structures/script/functions/StructureFunction.java +++ b/common/implementation/src/main/java/com/dfsek/terra/api/structures/script/functions/StructureFunction.java @@ -1,8 +1,10 @@ package com.dfsek.terra.api.structures.script.functions; import com.dfsek.terra.api.TerraPlugin; -import com.dfsek.terra.api.math.vector.Vector2; -import com.dfsek.terra.api.math.vector.Vector3; +import com.dfsek.terra.api.vector.Vector2; +import com.dfsek.terra.vector.Vector2Impl; +import com.dfsek.terra.api.vector.Vector3; +import com.dfsek.terra.vector.Vector3Impl; import com.dfsek.terra.api.registry.Registry; import com.dfsek.terra.api.structures.parser.lang.ImplementationArguments; import com.dfsek.terra.api.structures.parser.lang.Returnable; @@ -50,7 +52,7 @@ public class StructureFunction implements Function { if(arguments.getRecursions() > main.getTerraConfig().getMaxRecursion()) throw new RuntimeException("Structure recursion too deep: " + arguments.getRecursions()); - Vector2 xz = new Vector2(x.apply(implementationArguments, variableMap).doubleValue(), z.apply(implementationArguments, variableMap).doubleValue()); + Vector2 xz = new Vector2Impl(x.apply(implementationArguments, variableMap).doubleValue(), z.apply(implementationArguments, variableMap).doubleValue()); RotationUtil.rotateVector(xz, arguments.getRotation()); @@ -70,7 +72,7 @@ public class StructureFunction implements Function { return null; } - Vector3 offset = new Vector3(FastMath.roundToInt(xz.getX()), y.apply(implementationArguments, variableMap).doubleValue(), FastMath.roundToInt(xz.getZ())); + Vector3 offset = new Vector3Impl(FastMath.roundToInt(xz.getX()), y.apply(implementationArguments, variableMap).doubleValue(), FastMath.roundToInt(xz.getZ())); return script.executeInBuffer(new IntermediateBuffer(arguments.getBuffer(), offset), arguments.getRandom(), arguments.getRotation().rotate(rotation1), arguments.getRecursions() + 1); } diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/structures/structure/RotationUtil.java b/common/implementation/src/main/java/com/dfsek/terra/api/structures/structure/RotationUtil.java index 1d77977d3..7a1c0e33c 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/structures/structure/RotationUtil.java +++ b/common/implementation/src/main/java/com/dfsek/terra/api/structures/structure/RotationUtil.java @@ -1,16 +1,16 @@ package com.dfsek.terra.api.structures.structure; -import com.dfsek.terra.api.math.vector.Vector2; -import com.dfsek.terra.api.platform.block.Axis; -import com.dfsek.terra.api.platform.block.BlockData; -import com.dfsek.terra.api.platform.block.BlockFace; -import com.dfsek.terra.api.platform.block.data.Directional; -import com.dfsek.terra.api.platform.block.data.MultipleFacing; -import com.dfsek.terra.api.platform.block.data.Orientable; -import com.dfsek.terra.api.platform.block.data.Rail; -import com.dfsek.terra.api.platform.block.data.RedstoneWire; -import com.dfsek.terra.api.platform.block.data.Rotatable; -import com.dfsek.terra.api.platform.block.data.Wall; +import com.dfsek.terra.api.vector.Vector2; +import com.dfsek.terra.api.block.Axis; +import com.dfsek.terra.api.block.BlockData; +import com.dfsek.terra.api.block.BlockFace; +import com.dfsek.terra.api.block.data.Directional; +import com.dfsek.terra.api.block.data.MultipleFacing; +import com.dfsek.terra.api.block.data.Orientable; +import com.dfsek.terra.api.block.data.Rail; +import com.dfsek.terra.api.block.data.RedstoneWire; +import com.dfsek.terra.api.block.data.Rotatable; +import com.dfsek.terra.api.block.data.Wall; import com.google.common.collect.Sets; import net.jafama.FastMath; diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/structures/structure/buffer/Buffer.java b/common/implementation/src/main/java/com/dfsek/terra/api/structures/structure/buffer/Buffer.java index 319534b78..76366bd1f 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/structures/structure/buffer/Buffer.java +++ b/common/implementation/src/main/java/com/dfsek/terra/api/structures/structure/buffer/Buffer.java @@ -1,6 +1,6 @@ package com.dfsek.terra.api.structures.structure.buffer; -import com.dfsek.terra.api.math.vector.Location; +import com.dfsek.terra.api.vector.Location; import com.dfsek.terra.api.structures.structure.buffer.items.BufferedItem; public interface Buffer { diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/structures/structure/buffer/Cell.java b/common/implementation/src/main/java/com/dfsek/terra/api/structures/structure/buffer/Cell.java index faf4860ab..68205f5ba 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/structures/structure/buffer/Cell.java +++ b/common/implementation/src/main/java/com/dfsek/terra/api/structures/structure/buffer/Cell.java @@ -1,6 +1,6 @@ package com.dfsek.terra.api.structures.structure.buffer; -import com.dfsek.terra.api.math.vector.Location; +import com.dfsek.terra.api.vector.Location; import com.dfsek.terra.api.structures.structure.buffer.items.BufferedItem; import com.dfsek.terra.api.util.GlueList; diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/structures/structure/buffer/DirectBuffer.java b/common/implementation/src/main/java/com/dfsek/terra/api/structures/structure/buffer/DirectBuffer.java index 40881ec0c..94f65b889 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/structures/structure/buffer/DirectBuffer.java +++ b/common/implementation/src/main/java/com/dfsek/terra/api/structures/structure/buffer/DirectBuffer.java @@ -1,6 +1,6 @@ package com.dfsek.terra.api.structures.structure.buffer; -import com.dfsek.terra.api.math.vector.Location; +import com.dfsek.terra.api.vector.Location; import com.dfsek.terra.api.structures.structure.buffer.items.BufferedItem; import java.util.LinkedHashMap; diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/structures/structure/buffer/IntermediateBuffer.java b/common/implementation/src/main/java/com/dfsek/terra/api/structures/structure/buffer/IntermediateBuffer.java index 34250571f..439d91585 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/structures/structure/buffer/IntermediateBuffer.java +++ b/common/implementation/src/main/java/com/dfsek/terra/api/structures/structure/buffer/IntermediateBuffer.java @@ -1,7 +1,7 @@ package com.dfsek.terra.api.structures.structure.buffer; -import com.dfsek.terra.api.math.vector.Location; -import com.dfsek.terra.api.math.vector.Vector3; +import com.dfsek.terra.api.vector.Location; +import com.dfsek.terra.api.vector.Vector3; import com.dfsek.terra.api.structures.structure.buffer.items.BufferedItem; public class IntermediateBuffer implements Buffer { diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/structures/structure/buffer/StructureBuffer.java b/common/implementation/src/main/java/com/dfsek/terra/api/structures/structure/buffer/StructureBuffer.java index 7b4e49a2e..ff2d3f9a1 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/structures/structure/buffer/StructureBuffer.java +++ b/common/implementation/src/main/java/com/dfsek/terra/api/structures/structure/buffer/StructureBuffer.java @@ -1,7 +1,7 @@ package com.dfsek.terra.api.structures.structure.buffer; -import com.dfsek.terra.api.math.vector.Location; -import com.dfsek.terra.api.platform.world.Chunk; +import com.dfsek.terra.api.vector.Location; +import com.dfsek.terra.api.world.Chunk; import com.dfsek.terra.api.structures.structure.buffer.items.BufferedItem; import net.jafama.FastMath; diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/structures/structure/buffer/items/BufferedBlock.java b/common/implementation/src/main/java/com/dfsek/terra/api/structures/structure/buffer/items/BufferedBlock.java index 9507edd15..b547eca97 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/structures/structure/buffer/items/BufferedBlock.java +++ b/common/implementation/src/main/java/com/dfsek/terra/api/structures/structure/buffer/items/BufferedBlock.java @@ -1,10 +1,10 @@ package com.dfsek.terra.api.structures.structure.buffer.items; import com.dfsek.terra.api.TerraPlugin; -import com.dfsek.terra.api.math.vector.Location; -import com.dfsek.terra.api.platform.block.Block; -import com.dfsek.terra.api.platform.block.BlockData; -import com.dfsek.terra.api.platform.block.data.Waterlogged; +import com.dfsek.terra.api.vector.Location; +import com.dfsek.terra.api.block.Block; +import com.dfsek.terra.api.block.BlockData; +import com.dfsek.terra.api.block.data.Waterlogged; public class BufferedBlock implements BufferedItem { private final BlockData data; diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/structures/structure/buffer/items/BufferedEntity.java b/common/implementation/src/main/java/com/dfsek/terra/api/structures/structure/buffer/items/BufferedEntity.java index fc90123ce..22735a5bb 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/structures/structure/buffer/items/BufferedEntity.java +++ b/common/implementation/src/main/java/com/dfsek/terra/api/structures/structure/buffer/items/BufferedEntity.java @@ -2,9 +2,9 @@ package com.dfsek.terra.api.structures.structure.buffer.items; import com.dfsek.terra.api.TerraPlugin; import com.dfsek.terra.api.event.events.world.generation.EntitySpawnEvent; -import com.dfsek.terra.api.math.vector.Location; -import com.dfsek.terra.api.platform.entity.Entity; -import com.dfsek.terra.api.platform.entity.EntityType; +import com.dfsek.terra.api.vector.Location; +import com.dfsek.terra.api.entity.Entity; +import com.dfsek.terra.api.entity.EntityType; public class BufferedEntity implements BufferedItem { diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/structures/structure/buffer/items/BufferedItem.java b/common/implementation/src/main/java/com/dfsek/terra/api/structures/structure/buffer/items/BufferedItem.java index 7d6ddef2c..87ed8f65d 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/structures/structure/buffer/items/BufferedItem.java +++ b/common/implementation/src/main/java/com/dfsek/terra/api/structures/structure/buffer/items/BufferedItem.java @@ -1,7 +1,7 @@ package com.dfsek.terra.api.structures.structure.buffer.items; -import com.dfsek.terra.api.math.vector.Location; -import com.dfsek.terra.api.platform.world.Chunk; +import com.dfsek.terra.api.vector.Location; +import com.dfsek.terra.api.world.Chunk; public interface BufferedItem { void paste(Location origin); diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/structures/structure/buffer/items/BufferedLootApplication.java b/common/implementation/src/main/java/com/dfsek/terra/api/structures/structure/buffer/items/BufferedLootApplication.java index 89e534449..e1ab11b32 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/structures/structure/buffer/items/BufferedLootApplication.java +++ b/common/implementation/src/main/java/com/dfsek/terra/api/structures/structure/buffer/items/BufferedLootApplication.java @@ -2,10 +2,10 @@ package com.dfsek.terra.api.structures.structure.buffer.items; import com.dfsek.terra.api.TerraPlugin; import com.dfsek.terra.api.event.events.world.generation.LootPopulateEvent; -import com.dfsek.terra.api.math.vector.Location; -import com.dfsek.terra.api.platform.block.Block; -import com.dfsek.terra.api.platform.block.state.BlockState; -import com.dfsek.terra.api.platform.block.state.Container; +import com.dfsek.terra.api.vector.Location; +import com.dfsek.terra.api.block.Block; +import com.dfsek.terra.api.block.state.BlockState; +import com.dfsek.terra.api.block.state.Container; import com.dfsek.terra.api.structures.loot.LootTable; import com.dfsek.terra.api.structures.script.StructureScript; import com.dfsek.terra.api.util.FastRandom; diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/structures/structure/buffer/items/BufferedPulledBlock.java b/common/implementation/src/main/java/com/dfsek/terra/api/structures/structure/buffer/items/BufferedPulledBlock.java index e82a061d8..9df3b44fb 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/structures/structure/buffer/items/BufferedPulledBlock.java +++ b/common/implementation/src/main/java/com/dfsek/terra/api/structures/structure/buffer/items/BufferedPulledBlock.java @@ -1,9 +1,9 @@ package com.dfsek.terra.api.structures.structure.buffer.items; -import com.dfsek.terra.api.math.vector.Location; -import com.dfsek.terra.api.platform.block.Block; -import com.dfsek.terra.api.platform.block.BlockData; -import com.dfsek.terra.api.platform.block.BlockFace; +import com.dfsek.terra.api.vector.Location; +import com.dfsek.terra.api.block.Block; +import com.dfsek.terra.api.block.BlockData; +import com.dfsek.terra.api.block.BlockFace; public class BufferedPulledBlock implements BufferedItem { private final BlockData data; diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/structures/structure/buffer/items/BufferedStateManipulator.java b/common/implementation/src/main/java/com/dfsek/terra/api/structures/structure/buffer/items/BufferedStateManipulator.java index 158f1a951..ab81b3225 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/structures/structure/buffer/items/BufferedStateManipulator.java +++ b/common/implementation/src/main/java/com/dfsek/terra/api/structures/structure/buffer/items/BufferedStateManipulator.java @@ -1,8 +1,8 @@ package com.dfsek.terra.api.structures.structure.buffer.items; import com.dfsek.terra.api.TerraPlugin; -import com.dfsek.terra.api.math.vector.Location; -import com.dfsek.terra.api.platform.block.state.BlockState; +import com.dfsek.terra.api.vector.Location; +import com.dfsek.terra.api.block.state.BlockState; public class BufferedStateManipulator implements BufferedItem { private final TerraPlugin main; diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/transform/MapTransform.java b/common/implementation/src/main/java/com/dfsek/terra/api/transform/MapTransform.java index efd409194..718e822e5 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/transform/MapTransform.java +++ b/common/implementation/src/main/java/com/dfsek/terra/api/transform/MapTransform.java @@ -1,5 +1,7 @@ package com.dfsek.terra.api.transform; +import com.dfsek.terra.api.transform.exception.TransformException; + import java.util.HashMap; import java.util.Map; diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/transform/Transformer.java b/common/implementation/src/main/java/com/dfsek/terra/api/transform/TransformerImpl.java similarity index 81% rename from common/implementation/src/main/java/com/dfsek/terra/api/transform/Transformer.java rename to common/implementation/src/main/java/com/dfsek/terra/api/transform/TransformerImpl.java index efd801dd8..43287fc64 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/transform/Transformer.java +++ b/common/implementation/src/main/java/com/dfsek/terra/api/transform/TransformerImpl.java @@ -1,5 +1,8 @@ package com.dfsek.terra.api.transform; +import com.dfsek.terra.api.transform.exception.AttemptsFailedException; +import com.dfsek.terra.api.transform.exception.TransformException; + import java.util.ArrayList; import java.util.Arrays; import java.util.LinkedHashMap; @@ -12,19 +15,14 @@ import java.util.Map; * @param Data type to transform from. * @param Data type to transform to. */ -public class Transformer { +public class TransformerImpl implements Transformer { private final LinkedHashMap, List>> transformers; - private Transformer(LinkedHashMap, List>> transformer) { + private TransformerImpl(LinkedHashMap, List>> transformer) { this.transformers = transformer; } - /** - * Translate data from {@code from} type to {@code to} type. - * - * @param from Data to translate - * @return Result - */ + @Override public T translate(F from) { List exceptions = new ArrayList<>(); for(Map.Entry, List>> transform : transformers.entrySet()) { @@ -59,8 +57,8 @@ public class Transformer { return this; } - public Transformer build() { - return new Transformer<>(transforms); + public TransformerImpl build() { + return new TransformerImpl<>(transforms); } } } diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/util/collections/MaterialSet.java b/common/implementation/src/main/java/com/dfsek/terra/api/util/collections/MaterialSet.java index 77099137e..cbfe1d165 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/util/collections/MaterialSet.java +++ b/common/implementation/src/main/java/com/dfsek/terra/api/util/collections/MaterialSet.java @@ -1,7 +1,7 @@ package com.dfsek.terra.api.util.collections; -import com.dfsek.terra.api.platform.block.BlockData; -import com.dfsek.terra.api.platform.block.BlockType; +import com.dfsek.terra.api.block.BlockData; +import com.dfsek.terra.api.block.BlockType; import java.util.Arrays; import java.util.HashSet; diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/util/collections/ProbabilityCollection.java b/common/implementation/src/main/java/com/dfsek/terra/api/util/collections/ProbabilityCollectionImpl.java similarity index 89% rename from common/implementation/src/main/java/com/dfsek/terra/api/util/collections/ProbabilityCollection.java rename to common/implementation/src/main/java/com/dfsek/terra/api/util/collections/ProbabilityCollectionImpl.java index f9ec64992..6542c6b47 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/util/collections/ProbabilityCollection.java +++ b/common/implementation/src/main/java/com/dfsek/terra/api/util/collections/ProbabilityCollectionImpl.java @@ -1,7 +1,8 @@ package com.dfsek.terra.api.util.collections; -import com.dfsek.terra.api.math.MathUtil; -import com.dfsek.terra.api.math.noise.NoiseSampler; +import com.dfsek.terra.api.util.MathUtil; +import com.dfsek.terra.api.noise.NoiseSampler; +import com.dfsek.terra.api.util.ProbabilityCollection; import com.dfsek.terra.api.util.mutable.MutableInteger; import org.jetbrains.annotations.NotNull; @@ -16,11 +17,12 @@ import java.util.Set; import java.util.function.Function; @SuppressWarnings("unchecked") -public class ProbabilityCollection implements Collection { +public class ProbabilityCollectionImpl implements ProbabilityCollection { protected final Map cont = new HashMap<>(); private Object[] array = new Object[0]; private int size; + @Override public ProbabilityCollection add(E item, int probability) { if(!cont.containsKey(item)) size++; cont.computeIfAbsent(item, i -> new MutableInteger(0)).increment(); @@ -32,23 +34,27 @@ public class ProbabilityCollection implements Collection { return this; } + @Override public E get(Random r) { if(array.length == 0) return null; return (E) array[r.nextInt(array.length)]; } + @Override public E get(NoiseSampler n, double x, double y, double z) { if(array.length == 0) return null; return (E) array[MathUtil.normalizeIndex(n.getNoise(x, y, z), array.length)]; } + @Override public E get(NoiseSampler n, double x, double z) { if(array.length == 0) return null; return (E) array[MathUtil.normalizeIndex(n.getNoise(x, z), array.length)]; } + @Override public ProbabilityCollection map(Function mapper, boolean carryNull) { - ProbabilityCollection newCollection = new ProbabilityCollection<>(); + ProbabilityCollectionImpl newCollection = new ProbabilityCollectionImpl<>(); newCollection.array = new Object[array.length]; for(int i = 0; i < array.length; i++) { @@ -58,10 +64,12 @@ public class ProbabilityCollection implements Collection { return newCollection; } + @Override public int getTotalProbability() { return array.length; } + @Override public int getProbability(E item) { MutableInteger integer = cont.get(item); return integer == null ? 0 : integer.get(); @@ -151,11 +159,12 @@ public class ProbabilityCollection implements Collection { array = new Object[0]; } + @Override public Set getContents() { return new HashSet<>(cont.keySet()); } - public static final class Singleton extends ProbabilityCollection { + public static final class Singleton extends ProbabilityCollectionImpl { private final T single; public Singleton(T single) { @@ -164,12 +173,12 @@ public class ProbabilityCollection implements Collection { } @Override - public ProbabilityCollection add(T item, int probability) { + public ProbabilityCollectionImpl add(T item, int probability) { throw new UnsupportedOperationException(); } @Override - public ProbabilityCollection map(Function mapper, boolean carryNull) { + public ProbabilityCollectionImpl map(Function mapper, boolean carryNull) { if(carryNull && single == null) return new Singleton<>(null); return new Singleton<>(mapper.apply(single)); } diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/util/seeded/NoiseSeeded.java b/common/implementation/src/main/java/com/dfsek/terra/api/util/seeded/NoiseSeeded.java index 4668c38a4..23fedb47a 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/util/seeded/NoiseSeeded.java +++ b/common/implementation/src/main/java/com/dfsek/terra/api/util/seeded/NoiseSeeded.java @@ -1,6 +1,6 @@ package com.dfsek.terra.api.util.seeded; -import com.dfsek.terra.api.math.noise.NoiseSampler; +import com.dfsek.terra.api.noise.NoiseSampler; public interface NoiseSeeded extends SeededBuilder { @Override diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/util/seeded/SourceSeeded.java b/common/implementation/src/main/java/com/dfsek/terra/api/util/seeded/SourceSeeded.java index 5ec6f4511..5f1d03f95 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/util/seeded/SourceSeeded.java +++ b/common/implementation/src/main/java/com/dfsek/terra/api/util/seeded/SourceSeeded.java @@ -1,6 +1,6 @@ package com.dfsek.terra.api.util.seeded; -import com.dfsek.terra.api.world.biome.pipeline.source.BiomeSource; +import com.dfsek.terra.api.world.biome.generation.pipeline.BiomeSource; @FunctionalInterface public interface SourceSeeded extends SeededBuilder { diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/util/seeded/StageSeeded.java b/common/implementation/src/main/java/com/dfsek/terra/api/util/seeded/StageSeeded.java index 02ebbe181..7fb160c4c 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/util/seeded/StageSeeded.java +++ b/common/implementation/src/main/java/com/dfsek/terra/api/util/seeded/StageSeeded.java @@ -1,6 +1,6 @@ package com.dfsek.terra.api.util.seeded; -import com.dfsek.terra.api.world.biome.pipeline.stages.Stage; +import com.dfsek.terra.api.world.biome.generation.pipeline.Stage; @FunctionalInterface public interface StageSeeded extends SeededBuilder { diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/util/world/PaletteUtil.java b/common/implementation/src/main/java/com/dfsek/terra/api/util/world/PaletteUtil.java index d79fe1e9a..a8416b8a5 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/util/world/PaletteUtil.java +++ b/common/implementation/src/main/java/com/dfsek/terra/api/util/world/PaletteUtil.java @@ -1,6 +1,6 @@ package com.dfsek.terra.api.util.world; -import com.dfsek.terra.api.math.MathUtil; +import com.dfsek.terra.api.util.MathUtil; import com.dfsek.terra.api.world.palette.Palette; import com.dfsek.terra.api.world.palette.slant.SlantHolder; import com.dfsek.terra.config.templates.BiomeTemplate; diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/util/world/PopulationUtil.java b/common/implementation/src/main/java/com/dfsek/terra/api/util/world/PopulationUtil.java index a1805d437..18ebe5f0a 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/util/world/PopulationUtil.java +++ b/common/implementation/src/main/java/com/dfsek/terra/api/util/world/PopulationUtil.java @@ -1,7 +1,7 @@ package com.dfsek.terra.api.util.world; -import com.dfsek.terra.api.math.MathUtil; -import com.dfsek.terra.api.platform.world.Chunk; +import com.dfsek.terra.api.util.MathUtil; +import com.dfsek.terra.api.world.Chunk; import com.dfsek.terra.api.util.FastRandom; public final class PopulationUtil { diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/world/biome/UserDefinedBiome.java b/common/implementation/src/main/java/com/dfsek/terra/api/world/biome/UserDefinedBiome.java index b6e5d9570..6dcbe2d09 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/world/biome/UserDefinedBiome.java +++ b/common/implementation/src/main/java/com/dfsek/terra/api/world/biome/UserDefinedBiome.java @@ -1,8 +1,7 @@ package com.dfsek.terra.api.world.biome; -import com.dfsek.terra.api.platform.world.Biome; -import com.dfsek.terra.api.platform.world.World; -import com.dfsek.terra.api.util.collections.ProbabilityCollection; +import com.dfsek.terra.api.world.World; +import com.dfsek.terra.api.util.collections.ProbabilityCollectionImpl; import com.dfsek.terra.config.templates.BiomeTemplate; import com.dfsek.terra.world.generation.WorldGenerator; @@ -13,14 +12,14 @@ import java.util.Set; */ public class UserDefinedBiome implements TerraBiome { private final WorldGenerator gen; - private final ProbabilityCollection vanilla; + private final ProbabilityCollectionImpl vanilla; private final String id; private final BiomeTemplate config; private final int color; private final Set tags; - public UserDefinedBiome(ProbabilityCollection vanilla, WorldGenerator gen, BiomeTemplate config) { + public UserDefinedBiome(ProbabilityCollectionImpl vanilla, WorldGenerator gen, BiomeTemplate config) { this.vanilla = vanilla; this.gen = gen; this.id = config.getID(); @@ -36,7 +35,7 @@ public class UserDefinedBiome implements TerraBiome { * @return Collection of biomes to represent the custom biome. */ @Override - public ProbabilityCollection getVanillaBiomes() { + public ProbabilityCollectionImpl getVanillaBiomes() { return vanilla; } diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/world/biome/pipeline/TerraBiomeHolder.java b/common/implementation/src/main/java/com/dfsek/terra/api/world/biome/pipeline/BiomeHolderImpl.java similarity index 78% rename from common/implementation/src/main/java/com/dfsek/terra/api/world/biome/pipeline/TerraBiomeHolder.java rename to common/implementation/src/main/java/com/dfsek/terra/api/world/biome/pipeline/BiomeHolderImpl.java index df07577c0..e39e5771a 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/world/biome/pipeline/TerraBiomeHolder.java +++ b/common/implementation/src/main/java/com/dfsek/terra/api/world/biome/pipeline/BiomeHolderImpl.java @@ -1,18 +1,19 @@ package com.dfsek.terra.api.world.biome.pipeline; -import com.dfsek.terra.api.math.vector.Vector2; +import com.dfsek.terra.api.vector.Vector2; import com.dfsek.terra.api.world.biome.TerraBiome; -import com.dfsek.terra.api.world.biome.pipeline.expand.BiomeExpander; -import com.dfsek.terra.api.world.biome.pipeline.mutator.BiomeMutator; -import com.dfsek.terra.api.world.biome.pipeline.source.BiomeSource; +import com.dfsek.terra.api.world.biome.generation.pipeline.BiomeHolder; +import com.dfsek.terra.api.world.biome.generation.pipeline.BiomeExpander; +import com.dfsek.terra.api.world.biome.generation.pipeline.BiomeMutator; +import com.dfsek.terra.api.world.biome.generation.pipeline.BiomeSource; -public class TerraBiomeHolder implements BiomeHolder { +public class BiomeHolderImpl implements BiomeHolder { private final Vector2 origin; private final int width; private TerraBiome[][] biomes; private final int offset; - public TerraBiomeHolder(int width, Vector2 origin) { + public BiomeHolderImpl(int width, Vector2 origin) { width += 4; this.width = width; biomes = new TerraBiome[width][width]; @@ -20,7 +21,7 @@ public class TerraBiomeHolder implements BiomeHolder { this.offset = 2; } - private TerraBiomeHolder(TerraBiome[][] biomes, Vector2 origin, int width, int offset) { + private BiomeHolderImpl(TerraBiome[][] biomes, Vector2 origin, int width, int offset) { this.biomes = biomes; this.origin = origin; this.width = width; @@ -45,7 +46,7 @@ public class TerraBiomeHolder implements BiomeHolder { biomes[x * 2 + 1][z * 2 + 1] = expander.getBetween(x + 1 + origin.getX(), z + 1 + origin.getZ(), old[x][z], old[x + 1][z + 1], old[x][z + 1], old[x + 1][z]); } } - return new TerraBiomeHolder(biomes, origin.setX(origin.getX() * 2 - 1).setZ(origin.getZ() * 2 - 1), newWidth, offset); + return new BiomeHolderImpl(biomes, origin.setX(origin.getX() * 2 - 1).setZ(origin.getZ() * 2 - 1), newWidth, offset); } @Override diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/world/biome/pipeline/BiomePipeline.java b/common/implementation/src/main/java/com/dfsek/terra/api/world/biome/pipeline/BiomePipelineImpl.java similarity index 70% rename from common/implementation/src/main/java/com/dfsek/terra/api/world/biome/pipeline/BiomePipeline.java rename to common/implementation/src/main/java/com/dfsek/terra/api/world/biome/pipeline/BiomePipelineImpl.java index ed4211892..cc6684316 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/world/biome/pipeline/BiomePipeline.java +++ b/common/implementation/src/main/java/com/dfsek/terra/api/world/biome/pipeline/BiomePipelineImpl.java @@ -1,21 +1,22 @@ package com.dfsek.terra.api.world.biome.pipeline; -import com.dfsek.terra.api.math.vector.Vector2; +import com.dfsek.terra.api.world.biome.generation.pipeline.BiomeHolder; +import com.dfsek.terra.vector.Vector2Impl; import com.dfsek.terra.api.util.GlueList; import com.dfsek.terra.api.util.seeded.StageSeeded; -import com.dfsek.terra.api.world.biome.pipeline.source.BiomeSource; -import com.dfsek.terra.api.world.biome.pipeline.stages.Stage; +import com.dfsek.terra.api.world.biome.generation.pipeline.BiomeSource; +import com.dfsek.terra.api.world.biome.generation.pipeline.Stage; import java.util.List; import java.util.stream.Collectors; -public class BiomePipeline { +public class BiomePipelineImpl { private final BiomeSource source; private final List stages; private final int size; private final int init; - private BiomePipeline(BiomeSource source, List stages, int size, int init) { + private BiomePipelineImpl(BiomeSource source, List stages, int size, int init) { this.source = source; this.stages = stages; this.size = size; @@ -30,7 +31,7 @@ public class BiomePipeline { * @return BiomeHolder containing biomes. */ public BiomeHolder getBiomes(int x, int z) { - BiomeHolder holder = new TerraBiomeHolder(init, new Vector2(x * (init - 1), z * (init - 1))); + BiomeHolder holder = new BiomeHolderImpl(init, new Vector2Impl(x * (init - 1), z * (init - 1))); holder.fill(source); for(Stage stage : stages) holder = stage.apply(holder); return holder; @@ -50,14 +51,14 @@ public class BiomePipeline { expand = init; } - public BiomePipeline build(BiomeSource source, long seed) { + public BiomePipelineImpl build(BiomeSource source, long seed) { List stagesBuilt = stages.stream().map(stageBuilder -> stageBuilder.apply(seed)).collect(Collectors.toList()); for(Stage stage : stagesBuilt) { if(stage.isExpansion()) expand = expand * 2 - 1; } - return new BiomePipeline(source, stagesBuilt, expand, init); + return new BiomePipelineImpl(source, stagesBuilt, expand, init); } public BiomePipelineBuilder addStage(StageSeeded stage) { diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/world/biome/pipeline/expand/FractalExpander.java b/common/implementation/src/main/java/com/dfsek/terra/api/world/biome/pipeline/expand/FractalExpander.java index a7d44be84..18179b82d 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/world/biome/pipeline/expand/FractalExpander.java +++ b/common/implementation/src/main/java/com/dfsek/terra/api/world/biome/pipeline/expand/FractalExpander.java @@ -1,8 +1,9 @@ package com.dfsek.terra.api.world.biome.pipeline.expand; -import com.dfsek.terra.api.math.MathUtil; -import com.dfsek.terra.api.math.noise.NoiseSampler; +import com.dfsek.terra.api.util.MathUtil; +import com.dfsek.terra.api.noise.NoiseSampler; import com.dfsek.terra.api.world.biome.TerraBiome; +import com.dfsek.terra.api.world.biome.generation.pipeline.BiomeExpander; public class FractalExpander implements BiomeExpander { private final NoiseSampler sampler; diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/world/biome/pipeline/mutator/BorderListMutator.java b/common/implementation/src/main/java/com/dfsek/terra/api/world/biome/pipeline/mutator/BorderListMutator.java index d16016d91..97b37dde1 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/world/biome/pipeline/mutator/BorderListMutator.java +++ b/common/implementation/src/main/java/com/dfsek/terra/api/world/biome/pipeline/mutator/BorderListMutator.java @@ -1,19 +1,20 @@ package com.dfsek.terra.api.world.biome.pipeline.mutator; -import com.dfsek.terra.api.math.noise.NoiseSampler; -import com.dfsek.terra.api.util.collections.ProbabilityCollection; +import com.dfsek.terra.api.noise.NoiseSampler; +import com.dfsek.terra.api.util.collections.ProbabilityCollectionImpl; import com.dfsek.terra.api.world.biome.TerraBiome; +import com.dfsek.terra.api.world.biome.generation.pipeline.BiomeMutator; import java.util.Map; public class BorderListMutator implements BiomeMutator { private final String border; private final NoiseSampler noiseSampler; - private final ProbabilityCollection replaceDefault; + private final ProbabilityCollectionImpl replaceDefault; private final String defaultReplace; - private final Map> replace; + private final Map> replace; - public BorderListMutator(Map> replace, String border, String defaultReplace, NoiseSampler noiseSampler, ProbabilityCollection replaceDefault) { + public BorderListMutator(Map> replace, String border, String defaultReplace, NoiseSampler noiseSampler, ProbabilityCollectionImpl replaceDefault) { this.border = border; this.noiseSampler = noiseSampler; this.replaceDefault = replaceDefault; diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/world/biome/pipeline/mutator/BorderMutator.java b/common/implementation/src/main/java/com/dfsek/terra/api/world/biome/pipeline/mutator/BorderMutator.java index d6195c7a4..039f7d3af 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/world/biome/pipeline/mutator/BorderMutator.java +++ b/common/implementation/src/main/java/com/dfsek/terra/api/world/biome/pipeline/mutator/BorderMutator.java @@ -1,16 +1,17 @@ package com.dfsek.terra.api.world.biome.pipeline.mutator; -import com.dfsek.terra.api.math.noise.NoiseSampler; -import com.dfsek.terra.api.util.collections.ProbabilityCollection; +import com.dfsek.terra.api.noise.NoiseSampler; +import com.dfsek.terra.api.util.collections.ProbabilityCollectionImpl; import com.dfsek.terra.api.world.biome.TerraBiome; +import com.dfsek.terra.api.world.biome.generation.pipeline.BiomeMutator; public class BorderMutator implements BiomeMutator { private final String border; private final NoiseSampler noiseSampler; - private final ProbabilityCollection replace; + private final ProbabilityCollectionImpl replace; private final String replaceTag; - public BorderMutator(String border, String replaceTag, NoiseSampler noiseSampler, ProbabilityCollection replace) { + public BorderMutator(String border, String replaceTag, NoiseSampler noiseSampler, ProbabilityCollectionImpl replace) { this.border = border; this.noiseSampler = noiseSampler; this.replace = replace; diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/world/biome/pipeline/mutator/ReplaceListMutator.java b/common/implementation/src/main/java/com/dfsek/terra/api/world/biome/pipeline/mutator/ReplaceListMutator.java index 8d701109a..84e6fa715 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/world/biome/pipeline/mutator/ReplaceListMutator.java +++ b/common/implementation/src/main/java/com/dfsek/terra/api/world/biome/pipeline/mutator/ReplaceListMutator.java @@ -1,18 +1,19 @@ package com.dfsek.terra.api.world.biome.pipeline.mutator; -import com.dfsek.terra.api.math.noise.NoiseSampler; -import com.dfsek.terra.api.util.collections.ProbabilityCollection; +import com.dfsek.terra.api.noise.NoiseSampler; +import com.dfsek.terra.api.util.collections.ProbabilityCollectionImpl; import com.dfsek.terra.api.world.biome.TerraBiome; +import com.dfsek.terra.api.world.biome.generation.pipeline.BiomeMutator; import java.util.Map; public class ReplaceListMutator implements BiomeMutator { - private final Map> replace; + private final Map> replace; private final NoiseSampler sampler; - private final ProbabilityCollection replaceDefault; + private final ProbabilityCollectionImpl replaceDefault; private final String defaultTag; - public ReplaceListMutator(Map> replace, String defaultTag, ProbabilityCollection replaceDefault, NoiseSampler sampler) { + public ReplaceListMutator(Map> replace, String defaultTag, ProbabilityCollectionImpl replaceDefault, NoiseSampler sampler) { this.replace = replace; this.sampler = sampler; this.defaultTag = defaultTag; diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/world/biome/pipeline/mutator/ReplaceMutator.java b/common/implementation/src/main/java/com/dfsek/terra/api/world/biome/pipeline/mutator/ReplaceMutator.java index 7bc705b66..9b40f8b2d 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/world/biome/pipeline/mutator/ReplaceMutator.java +++ b/common/implementation/src/main/java/com/dfsek/terra/api/world/biome/pipeline/mutator/ReplaceMutator.java @@ -1,15 +1,16 @@ package com.dfsek.terra.api.world.biome.pipeline.mutator; -import com.dfsek.terra.api.math.noise.NoiseSampler; -import com.dfsek.terra.api.util.collections.ProbabilityCollection; +import com.dfsek.terra.api.noise.NoiseSampler; +import com.dfsek.terra.api.util.collections.ProbabilityCollectionImpl; import com.dfsek.terra.api.world.biome.TerraBiome; +import com.dfsek.terra.api.world.biome.generation.pipeline.BiomeMutator; public class ReplaceMutator implements BiomeMutator { private final String replaceableTag; - private final ProbabilityCollection replace; + private final ProbabilityCollectionImpl replace; private final NoiseSampler sampler; - public ReplaceMutator(String replaceable, ProbabilityCollection replace, NoiseSampler sampler) { + public ReplaceMutator(String replaceable, ProbabilityCollectionImpl replace, NoiseSampler sampler) { this.replaceableTag = replaceable; this.replace = replace; this.sampler = sampler; diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/world/biome/pipeline/mutator/SmoothMutator.java b/common/implementation/src/main/java/com/dfsek/terra/api/world/biome/pipeline/mutator/SmoothMutator.java index a3c679ea1..35a5f7ba8 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/world/biome/pipeline/mutator/SmoothMutator.java +++ b/common/implementation/src/main/java/com/dfsek/terra/api/world/biome/pipeline/mutator/SmoothMutator.java @@ -1,8 +1,9 @@ package com.dfsek.terra.api.world.biome.pipeline.mutator; -import com.dfsek.terra.api.math.MathUtil; -import com.dfsek.terra.api.math.noise.NoiseSampler; +import com.dfsek.terra.api.util.MathUtil; +import com.dfsek.terra.api.noise.NoiseSampler; import com.dfsek.terra.api.world.biome.TerraBiome; +import com.dfsek.terra.api.world.biome.generation.pipeline.BiomeMutator; import java.util.Objects; diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/world/biome/pipeline/source/RandomSource.java b/common/implementation/src/main/java/com/dfsek/terra/api/world/biome/pipeline/source/RandomSource.java index fa95986b4..0a64c1ba0 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/world/biome/pipeline/source/RandomSource.java +++ b/common/implementation/src/main/java/com/dfsek/terra/api/world/biome/pipeline/source/RandomSource.java @@ -1,14 +1,15 @@ package com.dfsek.terra.api.world.biome.pipeline.source; -import com.dfsek.terra.api.math.noise.NoiseSampler; -import com.dfsek.terra.api.util.collections.ProbabilityCollection; +import com.dfsek.terra.api.noise.NoiseSampler; +import com.dfsek.terra.api.util.collections.ProbabilityCollectionImpl; import com.dfsek.terra.api.world.biome.TerraBiome; +import com.dfsek.terra.api.world.biome.generation.pipeline.BiomeSource; public class RandomSource implements BiomeSource { - private final ProbabilityCollection biomes; + private final ProbabilityCollectionImpl biomes; private final NoiseSampler sampler; - public RandomSource(ProbabilityCollection biomes, NoiseSampler sampler) { + public RandomSource(ProbabilityCollectionImpl biomes, NoiseSampler sampler) { this.biomes = biomes; this.sampler = sampler; } diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/world/biome/pipeline/stages/ExpanderStage.java b/common/implementation/src/main/java/com/dfsek/terra/api/world/biome/pipeline/stages/ExpanderStage.java index fc0555e19..9285b4021 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/world/biome/pipeline/stages/ExpanderStage.java +++ b/common/implementation/src/main/java/com/dfsek/terra/api/world/biome/pipeline/stages/ExpanderStage.java @@ -1,7 +1,8 @@ package com.dfsek.terra.api.world.biome.pipeline.stages; -import com.dfsek.terra.api.world.biome.pipeline.BiomeHolder; -import com.dfsek.terra.api.world.biome.pipeline.expand.BiomeExpander; +import com.dfsek.terra.api.world.biome.generation.pipeline.BiomeHolder; +import com.dfsek.terra.api.world.biome.generation.pipeline.Stage; +import com.dfsek.terra.api.world.biome.generation.pipeline.BiomeExpander; public class ExpanderStage implements Stage { private final BiomeExpander expander; diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/world/biome/pipeline/stages/MutatorStage.java b/common/implementation/src/main/java/com/dfsek/terra/api/world/biome/pipeline/stages/MutatorStage.java index a9b060fd1..af2851538 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/world/biome/pipeline/stages/MutatorStage.java +++ b/common/implementation/src/main/java/com/dfsek/terra/api/world/biome/pipeline/stages/MutatorStage.java @@ -1,7 +1,8 @@ package com.dfsek.terra.api.world.biome.pipeline.stages; -import com.dfsek.terra.api.world.biome.pipeline.BiomeHolder; -import com.dfsek.terra.api.world.biome.pipeline.mutator.BiomeMutator; +import com.dfsek.terra.api.world.biome.generation.pipeline.BiomeHolder; +import com.dfsek.terra.api.world.biome.generation.pipeline.Stage; +import com.dfsek.terra.api.world.biome.generation.pipeline.BiomeMutator; public class MutatorStage implements Stage { private final BiomeMutator mutator; diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/world/biome/pipeline/stages/Stage.java b/common/implementation/src/main/java/com/dfsek/terra/api/world/biome/pipeline/stages/Stage.java deleted file mode 100644 index a179da2eb..000000000 --- a/common/implementation/src/main/java/com/dfsek/terra/api/world/biome/pipeline/stages/Stage.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.dfsek.terra.api.world.biome.pipeline.stages; - -import com.dfsek.terra.api.world.biome.pipeline.BiomeHolder; - -public interface Stage { - boolean isExpansion(); - - BiomeHolder apply(BiomeHolder in); - -} diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/world/biome/provider/ImageBiomeProvider.java b/common/implementation/src/main/java/com/dfsek/terra/api/world/biome/provider/ImageBiomeProvider.java index 5e210abc7..eb52315d1 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/world/biome/provider/ImageBiomeProvider.java +++ b/common/implementation/src/main/java/com/dfsek/terra/api/world/biome/provider/ImageBiomeProvider.java @@ -1,7 +1,7 @@ package com.dfsek.terra.api.world.biome.provider; -import com.dfsek.terra.api.registry.Registry; import com.dfsek.terra.api.world.biome.TerraBiome; +import com.dfsek.terra.api.world.biome.generation.BiomeProvider; import com.dfsek.terra.registry.OpenRegistry; import net.jafama.FastMath; diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/world/biome/provider/SingleBiomeProvider.java b/common/implementation/src/main/java/com/dfsek/terra/api/world/biome/provider/SingleBiomeProvider.java index 6dc103cd6..3de31fb34 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/world/biome/provider/SingleBiomeProvider.java +++ b/common/implementation/src/main/java/com/dfsek/terra/api/world/biome/provider/SingleBiomeProvider.java @@ -1,6 +1,7 @@ package com.dfsek.terra.api.world.biome.provider; import com.dfsek.terra.api.world.biome.TerraBiome; +import com.dfsek.terra.api.world.biome.generation.BiomeProvider; public class SingleBiomeProvider implements BiomeProvider, BiomeProvider.BiomeProviderBuilder { private final TerraBiome biome; diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/world/biome/provider/StandardBiomeProvider.java b/common/implementation/src/main/java/com/dfsek/terra/api/world/biome/provider/StandardBiomeProvider.java index 397cbe7a4..ac5633e90 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/world/biome/provider/StandardBiomeProvider.java +++ b/common/implementation/src/main/java/com/dfsek/terra/api/world/biome/provider/StandardBiomeProvider.java @@ -1,11 +1,13 @@ package com.dfsek.terra.api.world.biome.provider; import com.dfsek.terra.api.TerraPlugin; -import com.dfsek.terra.api.math.noise.NoiseSampler; -import com.dfsek.terra.api.math.vector.Vector2; +import com.dfsek.terra.api.noise.NoiseSampler; +import com.dfsek.terra.api.vector.Vector2; +import com.dfsek.terra.api.world.biome.generation.BiomeProvider; +import com.dfsek.terra.vector.Vector2Impl; import com.dfsek.terra.api.world.biome.TerraBiome; -import com.dfsek.terra.api.world.biome.pipeline.BiomeHolder; -import com.dfsek.terra.api.world.biome.pipeline.BiomePipeline; +import com.dfsek.terra.api.world.biome.generation.pipeline.BiomeHolder; +import com.dfsek.terra.api.world.biome.pipeline.BiomePipelineImpl; import com.google.common.cache.CacheBuilder; import com.google.common.cache.CacheLoader; import com.google.common.cache.LoadingCache; @@ -14,13 +16,13 @@ import org.jetbrains.annotations.NotNull; public class StandardBiomeProvider implements BiomeProvider { private final LoadingCache holderCache; - private final BiomePipeline pipeline; + private final BiomePipelineImpl pipeline; private final int resolution; private final NoiseSampler mutator; private final double noiseAmp; private final int seed; - public StandardBiomeProvider(BiomePipeline pipeline, TerraPlugin main, int resolution, NoiseSampler mutator, double noiseAmp, int seed) { + public StandardBiomeProvider(BiomePipelineImpl pipeline, TerraPlugin main, int resolution, NoiseSampler mutator, double noiseAmp, int seed) { this.resolution = resolution; this.mutator = mutator; this.noiseAmp = noiseAmp; @@ -50,6 +52,6 @@ public class StandardBiomeProvider implements BiomeProvider { int fdX = FastMath.floorDiv(x, pipeline.getSize()); int fdZ = FastMath.floorDiv(z, pipeline.getSize()); - return holderCache.getUnchecked(new Vector2(fdX, fdZ)).getBiome(x - fdX * pipeline.getSize(), z - fdZ * pipeline.getSize()); + return holderCache.getUnchecked(new Vector2Impl(fdX, fdZ)).getBiome(x - fdX * pipeline.getSize(), z - fdZ * pipeline.getSize()); } } diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/world/carving/Carver.java b/common/implementation/src/main/java/com/dfsek/terra/api/world/carving/Carver.java index c0b21ae26..e62560d54 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/world/carving/Carver.java +++ b/common/implementation/src/main/java/com/dfsek/terra/api/world/carving/Carver.java @@ -1,7 +1,7 @@ package com.dfsek.terra.api.world.carving; -import com.dfsek.terra.api.math.vector.Vector3; -import com.dfsek.terra.api.platform.world.World; +import com.dfsek.terra.api.vector.Vector3; +import com.dfsek.terra.api.world.World; import net.jafama.FastMath; import java.util.Random; diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/world/carving/Worm.java b/common/implementation/src/main/java/com/dfsek/terra/api/world/carving/Worm.java index cfeadc836..2430150d9 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/world/carving/Worm.java +++ b/common/implementation/src/main/java/com/dfsek/terra/api/world/carving/Worm.java @@ -1,7 +1,8 @@ package com.dfsek.terra.api.world.carving; -import com.dfsek.terra.api.math.vector.Vector3; -import com.dfsek.terra.api.platform.world.World; +import com.dfsek.terra.api.vector.Vector3; +import com.dfsek.terra.vector.Vector3Impl; +import com.dfsek.terra.api.world.World; import net.jafama.FastMath; import java.util.Random; @@ -97,12 +98,12 @@ public abstract class Worm { 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)); + Vector3 position = origin.clone().add(new Vector3Impl(x, y, z)); if(position.getY() < world.getMinHeight() || position.getY() > world.getMaxHeight()) 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); + consumer.accept(new Vector3Impl(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) { @@ -110,7 +111,7 @@ public abstract class Worm { } else if(y >= yRad + 1 - topCut) { type = Carver.CarvingType.TOP; } - consumer.accept(new Vector3(position.getBlockX() - originX, position.getBlockY(), position.getBlockZ() - originZ), type); + consumer.accept(new Vector3Impl(position.getBlockX() - originX, position.getBlockY(), position.getBlockZ() - originZ), type); } } } diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/world/flora/Flora.java b/common/implementation/src/main/java/com/dfsek/terra/api/world/flora/Flora.java index 82d57f9b0..3abd739c1 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/world/flora/Flora.java +++ b/common/implementation/src/main/java/com/dfsek/terra/api/world/flora/Flora.java @@ -1,9 +1,9 @@ package com.dfsek.terra.api.world.flora; import com.dfsek.terra.api.math.Range; -import com.dfsek.terra.api.math.vector.Location; -import com.dfsek.terra.api.platform.block.Block; -import com.dfsek.terra.api.platform.world.Chunk; +import com.dfsek.terra.api.vector.Location; +import com.dfsek.terra.api.block.Block; +import com.dfsek.terra.api.world.Chunk; import java.util.List; diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/world/generation/TerraBlockPopulator.java b/common/implementation/src/main/java/com/dfsek/terra/api/world/generation/TerraBlockPopulator.java index 1d0e47577..8ee6659cd 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/world/generation/TerraBlockPopulator.java +++ b/common/implementation/src/main/java/com/dfsek/terra/api/world/generation/TerraBlockPopulator.java @@ -1,7 +1,7 @@ package com.dfsek.terra.api.world.generation; -import com.dfsek.terra.api.platform.world.Chunk; -import com.dfsek.terra.api.platform.world.World; +import com.dfsek.terra.api.world.Chunk; +import com.dfsek.terra.api.world.World; public interface TerraBlockPopulator { void populate(World world, Chunk chunk); diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/world/generation/TerraChunkGenerator.java b/common/implementation/src/main/java/com/dfsek/terra/api/world/generation/TerraChunkGenerator.java index 345e32c61..3ccb98191 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/world/generation/TerraChunkGenerator.java +++ b/common/implementation/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.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.ChunkData; -import com.dfsek.terra.api.world.biome.provider.BiomeProvider; +import com.dfsek.terra.api.world.BiomeGrid; +import com.dfsek.terra.api.world.World; +import com.dfsek.terra.api.world.generator.ChunkData; +import com.dfsek.terra.api.world.biome.generation.BiomeProvider; import com.dfsek.terra.config.pack.ConfigPack; import com.dfsek.terra.world.generation.math.samplers.Sampler; import org.jetbrains.annotations.NotNull; diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/world/locate/AsyncBiomeFinder.java b/common/implementation/src/main/java/com/dfsek/terra/api/world/locate/AsyncBiomeFinder.java index c41892b12..d5355509b 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/world/locate/AsyncBiomeFinder.java +++ b/common/implementation/src/main/java/com/dfsek/terra/api/world/locate/AsyncBiomeFinder.java @@ -1,10 +1,10 @@ package com.dfsek.terra.api.world.locate; import com.dfsek.terra.api.TerraPlugin; -import com.dfsek.terra.api.math.vector.Location; -import com.dfsek.terra.api.math.vector.Vector3; +import com.dfsek.terra.api.vector.Location; +import com.dfsek.terra.api.vector.Vector3; import com.dfsek.terra.api.world.biome.TerraBiome; -import com.dfsek.terra.api.world.biome.provider.BiomeProvider; +import com.dfsek.terra.api.world.biome.generation.BiomeProvider; import org.jetbrains.annotations.NotNull; import java.util.function.Consumer; diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/world/locate/AsyncFeatureFinder.java b/common/implementation/src/main/java/com/dfsek/terra/api/world/locate/AsyncFeatureFinder.java index 31b2dec6b..f5d905511 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/world/locate/AsyncFeatureFinder.java +++ b/common/implementation/src/main/java/com/dfsek/terra/api/world/locate/AsyncFeatureFinder.java @@ -1,10 +1,11 @@ package com.dfsek.terra.api.world.locate; import com.dfsek.terra.api.TerraPlugin; -import com.dfsek.terra.api.math.vector.Location; -import com.dfsek.terra.api.math.vector.Vector3; -import com.dfsek.terra.api.platform.world.World; -import com.dfsek.terra.api.world.biome.provider.BiomeProvider; +import com.dfsek.terra.api.vector.Location; +import com.dfsek.terra.api.vector.Vector3; +import com.dfsek.terra.vector.Vector3Impl; +import com.dfsek.terra.api.world.World; +import com.dfsek.terra.api.world.biome.generation.BiomeProvider; import org.jetbrains.annotations.NotNull; import java.util.function.Consumer; @@ -66,7 +67,7 @@ public abstract class AsyncFeatureFinder implements Runnable { run++; toggle = !toggle; } - Vector3 finalSpawn = found ? finalizeVector(new Vector3(x, 0, z)) : null; + Vector3 finalSpawn = found ? finalizeVector(new Vector3Impl(x, 0, z)) : null; callback.accept(finalSpawn); } diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/world/locate/AsyncStructureFinder.java b/common/implementation/src/main/java/com/dfsek/terra/api/world/locate/AsyncStructureFinder.java index 2686fb2db..8bb5cabe5 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/world/locate/AsyncStructureFinder.java +++ b/common/implementation/src/main/java/com/dfsek/terra/api/world/locate/AsyncStructureFinder.java @@ -1,13 +1,13 @@ package com.dfsek.terra.api.world.locate; import com.dfsek.terra.api.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.util.MathUtil; +import com.dfsek.terra.api.vector.Location; +import com.dfsek.terra.api.vector.Vector3; import com.dfsek.terra.api.structures.structure.Rotation; import com.dfsek.terra.api.util.FastRandom; import com.dfsek.terra.api.world.biome.UserDefinedBiome; -import com.dfsek.terra.api.world.biome.provider.BiomeProvider; +import com.dfsek.terra.api.world.biome.generation.BiomeProvider; import com.dfsek.terra.world.population.items.TerraStructure; import net.jafama.FastMath; import org.jetbrains.annotations.NotNull; diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/world/palette/NoisePalette.java b/common/implementation/src/main/java/com/dfsek/terra/api/world/palette/NoisePalette.java index f8d3b20a6..4f1ce92c6 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/world/palette/NoisePalette.java +++ b/common/implementation/src/main/java/com/dfsek/terra/api/world/palette/NoisePalette.java @@ -1,7 +1,7 @@ package com.dfsek.terra.api.world.palette; -import com.dfsek.terra.api.math.noise.NoiseSampler; -import com.dfsek.terra.api.platform.block.BlockData; +import com.dfsek.terra.api.noise.NoiseSampler; +import com.dfsek.terra.api.block.BlockData; import java.util.List; diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/world/palette/Palette.java b/common/implementation/src/main/java/com/dfsek/terra/api/world/palette/Palette.java index fb367c191..c16fc737a 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/world/palette/Palette.java +++ b/common/implementation/src/main/java/com/dfsek/terra/api/world/palette/Palette.java @@ -1,9 +1,9 @@ package com.dfsek.terra.api.world.palette; -import com.dfsek.terra.api.math.noise.NoiseSampler; -import com.dfsek.terra.api.platform.block.BlockData; +import com.dfsek.terra.api.noise.NoiseSampler; +import com.dfsek.terra.api.block.BlockData; import com.dfsek.terra.api.util.GlueList; -import com.dfsek.terra.api.util.collections.ProbabilityCollection; +import com.dfsek.terra.api.util.collections.ProbabilityCollectionImpl; import java.util.List; import java.util.Random; @@ -29,7 +29,7 @@ public abstract class Palette { return this; } - public com.dfsek.terra.api.world.palette.Palette add(ProbabilityCollection m, int layers, NoiseSampler sampler) { + public com.dfsek.terra.api.world.palette.Palette add(ProbabilityCollectionImpl m, int layers, NoiseSampler sampler) { for(int i = 0; i < layers; i++) { pallet.add(new PaletteLayer(m, sampler)); } @@ -58,7 +58,7 @@ public abstract class Palette { */ public static class PaletteLayer { private final boolean col; // Is layer using a collection? - private ProbabilityCollection collection; + private ProbabilityCollectionImpl collection; private final NoiseSampler sampler; private BlockData m; @@ -68,7 +68,7 @@ public abstract class Palette { * @param type The collection of materials to choose from. * @param sampler Noise sampler to use */ - public PaletteLayer(ProbabilityCollection type, NoiseSampler sampler) { + public PaletteLayer(ProbabilityCollectionImpl type, NoiseSampler sampler) { this.sampler = sampler; this.col = true; this.collection = type; @@ -106,7 +106,7 @@ public abstract class Palette { return m; } - public ProbabilityCollection getCollection() { + public ProbabilityCollectionImpl getCollection() { return collection; } } diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/world/palette/SinglePalette.java b/common/implementation/src/main/java/com/dfsek/terra/api/world/palette/SinglePalette.java index 7b2db1fe2..8bba80e14 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/world/palette/SinglePalette.java +++ b/common/implementation/src/main/java/com/dfsek/terra/api/world/palette/SinglePalette.java @@ -1,6 +1,6 @@ package com.dfsek.terra.api.world.palette; -import com.dfsek.terra.api.platform.block.BlockData; +import com.dfsek.terra.api.block.BlockData; public class SinglePalette extends Palette { private final BlockData item; diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/world/palette/holder/PaletteLayerHolder.java b/common/implementation/src/main/java/com/dfsek/terra/api/world/palette/holder/PaletteLayerHolder.java index cb44e8fb4..38510d148 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/world/palette/holder/PaletteLayerHolder.java +++ b/common/implementation/src/main/java/com/dfsek/terra/api/world/palette/holder/PaletteLayerHolder.java @@ -1,23 +1,23 @@ package com.dfsek.terra.api.world.palette.holder; -import com.dfsek.terra.api.math.noise.NoiseSampler; -import com.dfsek.terra.api.platform.block.BlockData; -import com.dfsek.terra.api.util.collections.ProbabilityCollection; +import com.dfsek.terra.api.noise.NoiseSampler; +import com.dfsek.terra.api.block.BlockData; +import com.dfsek.terra.api.util.collections.ProbabilityCollectionImpl; import org.jetbrains.annotations.NotNull; public class PaletteLayerHolder { - private final ProbabilityCollection layer; + private final ProbabilityCollectionImpl layer; private final NoiseSampler sampler; private final int size; - public PaletteLayerHolder(@NotNull ProbabilityCollection layer, NoiseSampler sampler, int size) { + public PaletteLayerHolder(@NotNull ProbabilityCollectionImpl layer, NoiseSampler sampler, int size) { this.layer = layer; this.sampler = sampler; this.size = size; } @NotNull - public ProbabilityCollection getLayer() { + public ProbabilityCollectionImpl getLayer() { return layer; } diff --git a/common/implementation/src/main/java/com/dfsek/terra/carving/CarverCache.java b/common/implementation/src/main/java/com/dfsek/terra/carving/CarverCache.java index 096635943..79b2fdc71 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/carving/CarverCache.java +++ b/common/implementation/src/main/java/com/dfsek/terra/carving/CarverCache.java @@ -1,14 +1,14 @@ package com.dfsek.terra.carving; import com.dfsek.terra.api.TerraPlugin; -import com.dfsek.terra.api.math.MathUtil; -import com.dfsek.terra.api.math.vector.Vector3; -import com.dfsek.terra.api.platform.world.World; +import com.dfsek.terra.api.util.MathUtil; +import com.dfsek.terra.vector.Vector3Impl; +import com.dfsek.terra.api.world.World; import com.dfsek.terra.api.util.FastRandom; import com.dfsek.terra.api.util.GlueList; import com.dfsek.terra.api.world.biome.TerraBiome; import com.dfsek.terra.api.world.biome.UserDefinedBiome; -import com.dfsek.terra.api.world.biome.provider.BiomeProvider; +import com.dfsek.terra.api.world.biome.generation.BiomeProvider; import com.dfsek.terra.api.world.carving.Worm; import com.google.common.cache.CacheBuilder; import com.google.common.cache.CacheLoader; @@ -36,7 +36,7 @@ public class CarverCache { if(CarverCache.this.carver.isChunkCarved(w, chunkX, chunkZ, new FastRandom(MathUtil.getCarverChunkSeed(chunkX, chunkZ, w.getSeed() + CarverCache.this.carver.hashCode())))) { long seed = MathUtil.getCarverChunkSeed(chunkX, chunkZ, w.getSeed()); Random r = new FastRandom(seed); - Worm carving = CarverCache.this.carver.getWorm(seed, new Vector3((chunkX << 4) + r.nextInt(16), CarverCache.this.carver.getConfig().getHeight().get(r), (chunkZ << 4) + r.nextInt(16))); + Worm carving = CarverCache.this.carver.getWorm(seed, new Vector3Impl((chunkX << 4) + r.nextInt(16), CarverCache.this.carver.getConfig().getHeight().get(r), (chunkZ << 4) + r.nextInt(16))); List points = new GlueList<>(); for(int i = 0; i < carving.getLength(); i++) { carving.step(); diff --git a/common/implementation/src/main/java/com/dfsek/terra/carving/CarverPalette.java b/common/implementation/src/main/java/com/dfsek/terra/carving/CarverPalette.java index 73e302e70..2ad5fc437 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/carving/CarverPalette.java +++ b/common/implementation/src/main/java/com/dfsek/terra/carving/CarverPalette.java @@ -1,9 +1,9 @@ package com.dfsek.terra.carving; -import com.dfsek.terra.api.platform.block.BlockData; -import com.dfsek.terra.api.platform.block.BlockType; +import com.dfsek.terra.api.block.BlockData; +import com.dfsek.terra.api.block.BlockType; import com.dfsek.terra.api.util.collections.MaterialSet; -import com.dfsek.terra.api.util.collections.ProbabilityCollection; +import com.dfsek.terra.api.util.collections.ProbabilityCollectionImpl; import net.jafama.FastMath; import java.util.Map; @@ -13,8 +13,8 @@ import java.util.TreeMap; public class CarverPalette { private final boolean blacklist; private final MaterialSet replace; - private final TreeMap> map = new TreeMap<>(); - private ProbabilityCollection[] layers; + private final TreeMap> map = new TreeMap<>(); + private ProbabilityCollectionImpl[] layers; private int offset = 0; public CarverPalette(MaterialSet replaceable, boolean blacklist) { @@ -22,12 +22,12 @@ public class CarverPalette { this.replace = replaceable; } - public CarverPalette add(ProbabilityCollection collection, int y) { + public CarverPalette add(ProbabilityCollectionImpl collection, int y) { map.put(y, collection); return this; } - public ProbabilityCollection get(int y) { + public ProbabilityCollectionImpl get(int y) { int index = y + offset; return index >= 0 ? index < layers.length @@ -47,10 +47,10 @@ public class CarverPalette { int min = FastMath.min(map.keySet().stream().min(Integer::compareTo).orElse(0), 0); int max = FastMath.max(map.keySet().stream().max(Integer::compareTo).orElse(255), 255); - layers = new ProbabilityCollection[map.lastKey() + 1 - min]; + layers = new ProbabilityCollectionImpl[map.lastKey() + 1 - min]; for(int y = min; y <= FastMath.max(map.lastKey(), max); y++) { - ProbabilityCollection d = null; - for(Map.Entry> e : map.entrySet()) { + ProbabilityCollectionImpl d = null; + for(Map.Entry> e : map.entrySet()) { if(e.getKey() >= y) { d = e.getValue(); break; diff --git a/common/implementation/src/main/java/com/dfsek/terra/carving/UserDefinedCarver.java b/common/implementation/src/main/java/com/dfsek/terra/carving/UserDefinedCarver.java index 3da18626a..5610fa151 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/carving/UserDefinedCarver.java +++ b/common/implementation/src/main/java/com/dfsek/terra/carving/UserDefinedCarver.java @@ -9,8 +9,9 @@ import com.dfsek.terra.api.math.Range; import com.dfsek.terra.api.math.paralithic.defined.UserDefinedFunction; import com.dfsek.terra.api.math.paralithic.noise.NoiseFunction2; import com.dfsek.terra.api.math.paralithic.noise.NoiseFunction3; -import com.dfsek.terra.api.math.vector.Vector3; -import com.dfsek.terra.api.platform.world.World; +import com.dfsek.terra.api.vector.Vector3; +import com.dfsek.terra.vector.Vector3Impl; +import com.dfsek.terra.api.world.World; import com.dfsek.terra.api.util.FastRandom; import com.dfsek.terra.api.util.seeded.NoiseSeeded; import com.dfsek.terra.api.world.biome.UserDefinedBiome; @@ -154,7 +155,7 @@ public class UserDefinedCarver extends Carver { this.seed = seed; super.setTopCut(topCut); super.setBottomCut(bottomCut); - direction = new Vector3((r.nextDouble() - 0.5D) * start[0], (r.nextDouble() - 0.5D) * start[1], (r.nextDouble() - 0.5D) * start[2]).normalize().multiply(step); + direction = new Vector3Impl((r.nextDouble() - 0.5D) * start[0], (r.nextDouble() - 0.5D) * start[1], (r.nextDouble() - 0.5D) * start[2]).normalize().multiply(step); double[] args = {origin.getX(), origin.getY(), origin.getZ(), length, 0, seed}; setRadius(new int[] {(int) (xRad.evaluate(args)), (int) (yRad.evaluate(args)), (int) (zRad.evaluate(args))}); } diff --git a/common/implementation/src/main/java/com/dfsek/terra/commands/AddonsCommand.java b/common/implementation/src/main/java/com/dfsek/terra/commands/AddonsCommand.java index d775de66b..abb1a746c 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/commands/AddonsCommand.java +++ b/common/implementation/src/main/java/com/dfsek/terra/commands/AddonsCommand.java @@ -4,7 +4,7 @@ import com.dfsek.terra.api.TerraPlugin; import com.dfsek.terra.api.command.CommandTemplate; import com.dfsek.terra.api.command.annotation.Command; import com.dfsek.terra.api.injection.annotations.Inject; -import com.dfsek.terra.api.platform.CommandSender; +import com.dfsek.terra.api.entity.CommandSender; @Command( usage = "/terra addons" 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 a9e327d08..3d2e3423a 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 @@ -3,7 +3,6 @@ package com.dfsek.terra.commands; 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.geometry.GeometryCommand; import com.dfsek.terra.commands.profiler.ProfileCommand; import com.dfsek.terra.commands.structure.StructureCommand; @@ -17,6 +16,5 @@ public final class CommandUtil { manager.register("getblock", GetBlockCommand.class); manager.register("packs", PacksCommand.class); manager.register("biome", BiomeCommand.class); - manager.register("geometry", GeometryCommand.class); } } diff --git a/common/implementation/src/main/java/com/dfsek/terra/commands/GetBlockCommand.java b/common/implementation/src/main/java/com/dfsek/terra/commands/GetBlockCommand.java index a57dd75f2..ddad92d6a 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/commands/GetBlockCommand.java +++ b/common/implementation/src/main/java/com/dfsek/terra/commands/GetBlockCommand.java @@ -7,8 +7,8 @@ import com.dfsek.terra.api.command.annotation.type.DebugCommand; import com.dfsek.terra.api.command.annotation.type.PlayerCommand; import com.dfsek.terra.api.command.annotation.type.WorldCommand; import com.dfsek.terra.api.injection.annotations.Inject; -import com.dfsek.terra.api.platform.CommandSender; -import com.dfsek.terra.api.platform.entity.Player; +import com.dfsek.terra.api.entity.CommandSender; +import com.dfsek.terra.api.entity.Player; @WorldCommand @DebugCommand diff --git a/common/implementation/src/main/java/com/dfsek/terra/commands/PacksCommand.java b/common/implementation/src/main/java/com/dfsek/terra/commands/PacksCommand.java index 875ca8ea1..fc71ccad2 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/commands/PacksCommand.java +++ b/common/implementation/src/main/java/com/dfsek/terra/commands/PacksCommand.java @@ -4,7 +4,7 @@ import com.dfsek.terra.api.TerraPlugin; import com.dfsek.terra.api.command.CommandTemplate; import com.dfsek.terra.api.command.annotation.Command; import com.dfsek.terra.api.injection.annotations.Inject; -import com.dfsek.terra.api.platform.CommandSender; +import com.dfsek.terra.api.entity.CommandSender; import com.dfsek.terra.api.registry.CheckedRegistry; import com.dfsek.terra.config.lang.LangUtil; import com.dfsek.terra.config.pack.ConfigPack; diff --git a/common/implementation/src/main/java/com/dfsek/terra/commands/ReloadCommand.java b/common/implementation/src/main/java/com/dfsek/terra/commands/ReloadCommand.java index e78909c04..dc7f1faf0 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/commands/ReloadCommand.java +++ b/common/implementation/src/main/java/com/dfsek/terra/commands/ReloadCommand.java @@ -4,7 +4,7 @@ import com.dfsek.terra.api.TerraPlugin; import com.dfsek.terra.api.command.CommandTemplate; import com.dfsek.terra.api.command.annotation.Command; import com.dfsek.terra.api.injection.annotations.Inject; -import com.dfsek.terra.api.platform.CommandSender; +import com.dfsek.terra.api.entity.CommandSender; import com.dfsek.terra.config.lang.LangUtil; @Command( diff --git a/common/implementation/src/main/java/com/dfsek/terra/commands/VersionCommand.java b/common/implementation/src/main/java/com/dfsek/terra/commands/VersionCommand.java index 7e8521b1c..0fcb6f4b4 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/commands/VersionCommand.java +++ b/common/implementation/src/main/java/com/dfsek/terra/commands/VersionCommand.java @@ -4,7 +4,7 @@ import com.dfsek.terra.api.TerraPlugin; import com.dfsek.terra.api.command.CommandTemplate; import com.dfsek.terra.api.command.annotation.Command; import com.dfsek.terra.api.injection.annotations.Inject; -import com.dfsek.terra.api.platform.CommandSender; +import com.dfsek.terra.api.entity.CommandSender; import com.dfsek.terra.config.lang.LangUtil; @Command( diff --git a/common/implementation/src/main/java/com/dfsek/terra/commands/biome/BiomeCommand.java b/common/implementation/src/main/java/com/dfsek/terra/commands/biome/BiomeCommand.java index 8871f736c..b427e5526 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/commands/biome/BiomeCommand.java +++ b/common/implementation/src/main/java/com/dfsek/terra/commands/biome/BiomeCommand.java @@ -7,10 +7,10 @@ import com.dfsek.terra.api.command.annotation.Subcommand; import com.dfsek.terra.api.command.annotation.type.PlayerCommand; import com.dfsek.terra.api.command.annotation.type.WorldCommand; import com.dfsek.terra.api.injection.annotations.Inject; -import com.dfsek.terra.api.platform.CommandSender; -import com.dfsek.terra.api.platform.entity.Player; +import com.dfsek.terra.api.entity.CommandSender; +import com.dfsek.terra.api.entity.Player; import com.dfsek.terra.api.world.biome.UserDefinedBiome; -import com.dfsek.terra.api.world.biome.provider.BiomeProvider; +import com.dfsek.terra.api.world.biome.generation.BiomeProvider; import com.dfsek.terra.config.lang.LangUtil; @Command( diff --git a/common/implementation/src/main/java/com/dfsek/terra/commands/biome/BiomeInfoCommand.java b/common/implementation/src/main/java/com/dfsek/terra/commands/biome/BiomeInfoCommand.java index b1d0ffe1b..307cebccc 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/commands/biome/BiomeInfoCommand.java +++ b/common/implementation/src/main/java/com/dfsek/terra/commands/biome/BiomeInfoCommand.java @@ -4,7 +4,7 @@ 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.inject.ArgumentTarget; -import com.dfsek.terra.api.platform.CommandSender; +import com.dfsek.terra.api.entity.CommandSender; import com.dfsek.terra.api.world.biome.TerraBiome; import com.dfsek.terra.api.world.biome.UserDefinedBiome; import com.dfsek.terra.commands.biome.arg.BiomeArgumentParser; diff --git a/common/implementation/src/main/java/com/dfsek/terra/commands/biome/BiomeLocateCommand.java b/common/implementation/src/main/java/com/dfsek/terra/commands/biome/BiomeLocateCommand.java index b6ef00483..bad1ab4c2 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/commands/biome/BiomeLocateCommand.java +++ b/common/implementation/src/main/java/com/dfsek/terra/commands/biome/BiomeLocateCommand.java @@ -11,10 +11,10 @@ import com.dfsek.terra.api.command.annotation.type.PlayerCommand; import com.dfsek.terra.api.command.annotation.type.WorldCommand; import com.dfsek.terra.api.command.arg.IntegerArgumentParser; import com.dfsek.terra.api.injection.annotations.Inject; -import com.dfsek.terra.api.math.vector.Location; -import com.dfsek.terra.api.math.vector.Vector3; -import com.dfsek.terra.api.platform.CommandSender; -import com.dfsek.terra.api.platform.entity.Player; +import com.dfsek.terra.api.vector.Location; +import com.dfsek.terra.vector.Vector3Impl; +import com.dfsek.terra.api.entity.CommandSender; +import com.dfsek.terra.api.entity.Player; import com.dfsek.terra.api.world.biome.TerraBiome; import com.dfsek.terra.api.world.locate.AsyncBiomeFinder; import com.dfsek.terra.commands.biome.arg.BiomeArgumentParser; @@ -67,7 +67,7 @@ public class BiomeLocateCommand implements CommandTemplate { new Thread(new AsyncBiomeFinder(main.getWorld(player.getWorld()).getBiomeProvider(), biome, player.getLocation().clone().multiply((1D / main.getTerraConfig().getBiomeSearchResolution())), 0, radius, location -> { if(location != null) { - sender.sendMessage(String.format("The nearest %s is at [%d, ~, %d] (%.1f blocks away)", biome.getID().toLowerCase(Locale.ROOT), location.getBlockX(), location.getBlockZ(), location.add(new Vector3(0, player.getLocation().getY(), 0)).distance(player.getLocation().toVector()))); + sender.sendMessage(String.format("The nearest %s is at [%d, ~, %d] (%.1f blocks away)", biome.getID().toLowerCase(Locale.ROOT), location.getBlockX(), location.getBlockZ(), location.add(new Vector3Impl(0, player.getLocation().getY(), 0)).distance(player.getLocation().toVector()))); if(teleport) { main.runPossiblyUnsafeTask(() -> player.setLocation(new Location(player.getWorld(), location.getX(), player.getLocation().getY(), location.getZ()))); } diff --git a/common/implementation/src/main/java/com/dfsek/terra/commands/biome/arg/BiomeArgumentParser.java b/common/implementation/src/main/java/com/dfsek/terra/commands/biome/arg/BiomeArgumentParser.java index 7931b30be..b7c93e9e5 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/commands/biome/arg/BiomeArgumentParser.java +++ b/common/implementation/src/main/java/com/dfsek/terra/commands/biome/arg/BiomeArgumentParser.java @@ -3,8 +3,8 @@ package com.dfsek.terra.commands.biome.arg; import com.dfsek.terra.api.TerraPlugin; import com.dfsek.terra.api.command.arg.ArgumentParser; import com.dfsek.terra.api.injection.annotations.Inject; -import com.dfsek.terra.api.platform.CommandSender; -import com.dfsek.terra.api.platform.entity.Player; +import com.dfsek.terra.api.entity.CommandSender; +import com.dfsek.terra.api.entity.Player; import com.dfsek.terra.api.world.biome.TerraBiome; public class BiomeArgumentParser implements ArgumentParser { diff --git a/common/implementation/src/main/java/com/dfsek/terra/commands/biome/tab/BiomeTabCompleter.java b/common/implementation/src/main/java/com/dfsek/terra/commands/biome/tab/BiomeTabCompleter.java index 4476e3613..4532063e9 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/commands/biome/tab/BiomeTabCompleter.java +++ b/common/implementation/src/main/java/com/dfsek/terra/commands/biome/tab/BiomeTabCompleter.java @@ -3,8 +3,8 @@ package com.dfsek.terra.commands.biome.tab; import com.dfsek.terra.api.TerraPlugin; import com.dfsek.terra.api.command.tab.TabCompleter; import com.dfsek.terra.api.injection.annotations.Inject; -import com.dfsek.terra.api.platform.CommandSender; -import com.dfsek.terra.api.platform.entity.Player; +import com.dfsek.terra.api.entity.CommandSender; +import com.dfsek.terra.api.entity.Player; import com.dfsek.terra.api.world.biome.TerraBiome; import java.util.List; diff --git a/common/implementation/src/main/java/com/dfsek/terra/commands/geometry/DeformedSphereCommand.java b/common/implementation/src/main/java/com/dfsek/terra/commands/geometry/DeformedSphereCommand.java deleted file mode 100644 index 46ce84559..000000000 --- a/common/implementation/src/main/java/com/dfsek/terra/commands/geometry/DeformedSphereCommand.java +++ /dev/null @@ -1,65 +0,0 @@ -package com.dfsek.terra.commands.geometry; - -import com.dfsek.terra.api.TerraPlugin; -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.inject.ArgumentTarget; -import com.dfsek.terra.api.command.annotation.type.DebugCommand; -import com.dfsek.terra.api.command.annotation.type.PlayerCommand; -import com.dfsek.terra.api.command.arg.DoubleArgumentParser; -import com.dfsek.terra.api.command.arg.IntegerArgumentParser; -import com.dfsek.terra.api.injection.annotations.Inject; -import com.dfsek.terra.api.math.noise.samplers.noise.simplex.OpenSimplex2Sampler; -import com.dfsek.terra.api.math.vector.Vector3; -import com.dfsek.terra.api.math.voxel.DeformedSphere; -import com.dfsek.terra.api.platform.CommandSender; -import com.dfsek.terra.api.platform.entity.Player; - -import java.util.concurrent.ThreadLocalRandom; - -@DebugCommand -@PlayerCommand -@Command( - arguments = { - @Argument( - value = "radius", - argumentParser = IntegerArgumentParser.class - ), - @Argument( - value = "deform", - argumentParser = DoubleArgumentParser.class - ), - @Argument( - value = "frequency", - argumentParser = DoubleArgumentParser.class - ) - }, - usage = "/terra geometry deformedsphere " -) -public class DeformedSphereCommand implements CommandTemplate { - @ArgumentTarget("radius") - private Integer radius; - - @ArgumentTarget("deform") - private Double deform; - - @ArgumentTarget("frequency") - private Double frequency; - - @Inject - private TerraPlugin main; - - @Override - public void execute(CommandSender sender) { - Player player = (Player) sender; - - OpenSimplex2Sampler noise = new OpenSimplex2Sampler(ThreadLocalRandom.current().nextInt()); - noise.setFrequency(frequency); - - DeformedSphere sphere = new DeformedSphere(player.getLocation().toVector(), radius, deform, noise); - for(Vector3 v : sphere.getGeometry()) { - v.toLocation(player.getWorld()).getBlock().setBlockData(main.getWorldHandle().createBlockData("minecraft:stone"), false); - } - } -} diff --git a/common/implementation/src/main/java/com/dfsek/terra/commands/geometry/GeometryCommand.java b/common/implementation/src/main/java/com/dfsek/terra/commands/geometry/GeometryCommand.java deleted file mode 100644 index d41bc8506..000000000 --- a/common/implementation/src/main/java/com/dfsek/terra/commands/geometry/GeometryCommand.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.dfsek.terra.commands.geometry; - -import com.dfsek.terra.api.command.CommandTemplate; -import com.dfsek.terra.api.command.annotation.Command; -import com.dfsek.terra.api.command.annotation.Subcommand; -import com.dfsek.terra.api.command.annotation.type.DebugCommand; -import com.dfsek.terra.api.command.annotation.type.PlayerCommand; -import com.dfsek.terra.api.platform.CommandSender; -import com.dfsek.terra.config.lang.LangUtil; - - -@DebugCommand -@PlayerCommand -@Command( - subcommands = { - @Subcommand( - value = "sphere", - clazz = SphereCommand.class, - aliases = {"s"} - ), - @Subcommand( - value = "deformedsphere", - clazz = DeformedSphereCommand.class, - aliases = {"df"} - ), - @Subcommand( - value = "tube", - clazz = TubeCommand.class, - aliases = {"t"} - ) - }, - usage = "/terra geometry" -) -public class GeometryCommand implements CommandTemplate { - @Override - public void execute(CommandSender sender) { - LangUtil.send("command.geometry.main-menu", sender); - } -} diff --git a/common/implementation/src/main/java/com/dfsek/terra/commands/geometry/SphereCommand.java b/common/implementation/src/main/java/com/dfsek/terra/commands/geometry/SphereCommand.java deleted file mode 100644 index 7d8586e6a..000000000 --- a/common/implementation/src/main/java/com/dfsek/terra/commands/geometry/SphereCommand.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.dfsek.terra.commands.geometry; - -import com.dfsek.terra.api.TerraPlugin; -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.inject.ArgumentTarget; -import com.dfsek.terra.api.command.annotation.type.DebugCommand; -import com.dfsek.terra.api.command.annotation.type.PlayerCommand; -import com.dfsek.terra.api.command.arg.IntegerArgumentParser; -import com.dfsek.terra.api.injection.annotations.Inject; -import com.dfsek.terra.api.math.vector.Vector3; -import com.dfsek.terra.api.math.voxel.Sphere; -import com.dfsek.terra.api.platform.CommandSender; -import com.dfsek.terra.api.platform.entity.Player; - -@DebugCommand -@PlayerCommand -@Command( - arguments = { - @Argument( - value = "radius", - argumentParser = IntegerArgumentParser.class - ) - }, - usage = "/terra geometry sphere " -) -public class SphereCommand implements CommandTemplate { - @ArgumentTarget("radius") - private Integer radius; - - @Inject - private TerraPlugin main; - - @Override - public void execute(CommandSender sender) { - Player player = (Player) sender; - - Sphere sphere = new Sphere(player.getLocation().toVector(), radius); - for(Vector3 v : sphere.getGeometry()) { - v.toLocation(player.getWorld()).getBlock().setBlockData(main.getWorldHandle().createBlockData("minecraft:stone"), false); - } - } -} diff --git a/common/implementation/src/main/java/com/dfsek/terra/commands/geometry/TubeCommand.java b/common/implementation/src/main/java/com/dfsek/terra/commands/geometry/TubeCommand.java deleted file mode 100644 index b24694762..000000000 --- a/common/implementation/src/main/java/com/dfsek/terra/commands/geometry/TubeCommand.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.dfsek.terra.commands.geometry; - -import com.dfsek.terra.api.TerraPlugin; -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.inject.ArgumentTarget; -import com.dfsek.terra.api.command.annotation.type.DebugCommand; -import com.dfsek.terra.api.command.annotation.type.PlayerCommand; -import com.dfsek.terra.api.command.arg.IntegerArgumentParser; -import com.dfsek.terra.api.injection.annotations.Inject; -import com.dfsek.terra.api.math.vector.Location; -import com.dfsek.terra.api.math.vector.Vector3; -import com.dfsek.terra.api.math.voxel.Tube; -import com.dfsek.terra.api.platform.CommandSender; -import com.dfsek.terra.api.platform.entity.Player; -import com.dfsek.terra.api.util.generic.pair.Pair; - -@DebugCommand -@PlayerCommand -@Command( - arguments = { - @Argument( - value = "radius", - argumentParser = IntegerArgumentParser.class - ) - }, - usage = "/terra geometry tube " -) -public class TubeCommand implements CommandTemplate { - @ArgumentTarget("radius") - private Integer radius; - - @Inject - private TerraPlugin main; - - @Override - public void execute(CommandSender sender) { - Player player = (Player) sender; - - Pair locations = main.getWorldHandle().getSelectedLocation(player); - - Tube tube = new Tube(locations.getLeft().toVector(), locations.getRight().toVector(), radius); - - for(Vector3 v : tube.getGeometry()) { - v.toLocation(player.getWorld()).getBlock().setBlockData(main.getWorldHandle().createBlockData("minecraft:stone"), false); - } - } -} diff --git a/common/implementation/src/main/java/com/dfsek/terra/commands/profiler/ProfileCommand.java b/common/implementation/src/main/java/com/dfsek/terra/commands/profiler/ProfileCommand.java index c81164363..6a7909793 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/commands/profiler/ProfileCommand.java +++ b/common/implementation/src/main/java/com/dfsek/terra/commands/profiler/ProfileCommand.java @@ -6,7 +6,7 @@ import com.dfsek.terra.api.command.annotation.Subcommand; import com.dfsek.terra.api.command.annotation.type.DebugCommand; import com.dfsek.terra.api.command.annotation.type.PlayerCommand; import com.dfsek.terra.api.command.annotation.type.WorldCommand; -import com.dfsek.terra.api.platform.CommandSender; +import com.dfsek.terra.api.entity.CommandSender; import com.dfsek.terra.config.lang.LangUtil; @Command( diff --git a/common/implementation/src/main/java/com/dfsek/terra/commands/profiler/ProfileQueryCommand.java b/common/implementation/src/main/java/com/dfsek/terra/commands/profiler/ProfileQueryCommand.java index eb54976e5..11adde655 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/commands/profiler/ProfileQueryCommand.java +++ b/common/implementation/src/main/java/com/dfsek/terra/commands/profiler/ProfileQueryCommand.java @@ -5,7 +5,7 @@ import com.dfsek.terra.api.command.CommandTemplate; import com.dfsek.terra.api.command.annotation.Command; import com.dfsek.terra.api.command.annotation.type.DebugCommand; import com.dfsek.terra.api.injection.annotations.Inject; -import com.dfsek.terra.api.platform.CommandSender; +import com.dfsek.terra.api.entity.CommandSender; @Command @DebugCommand diff --git a/common/implementation/src/main/java/com/dfsek/terra/commands/profiler/ProfileResetCommand.java b/common/implementation/src/main/java/com/dfsek/terra/commands/profiler/ProfileResetCommand.java index 2e5a97d6d..65c713414 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/commands/profiler/ProfileResetCommand.java +++ b/common/implementation/src/main/java/com/dfsek/terra/commands/profiler/ProfileResetCommand.java @@ -5,7 +5,7 @@ import com.dfsek.terra.api.command.CommandTemplate; import com.dfsek.terra.api.command.annotation.Command; import com.dfsek.terra.api.command.annotation.type.DebugCommand; import com.dfsek.terra.api.injection.annotations.Inject; -import com.dfsek.terra.api.platform.CommandSender; +import com.dfsek.terra.api.entity.CommandSender; @Command @DebugCommand diff --git a/common/implementation/src/main/java/com/dfsek/terra/commands/profiler/ProfileStartCommand.java b/common/implementation/src/main/java/com/dfsek/terra/commands/profiler/ProfileStartCommand.java index 63c28c472..cd84a470f 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/commands/profiler/ProfileStartCommand.java +++ b/common/implementation/src/main/java/com/dfsek/terra/commands/profiler/ProfileStartCommand.java @@ -5,7 +5,7 @@ import com.dfsek.terra.api.command.CommandTemplate; import com.dfsek.terra.api.command.annotation.Command; import com.dfsek.terra.api.command.annotation.type.DebugCommand; import com.dfsek.terra.api.injection.annotations.Inject; -import com.dfsek.terra.api.platform.CommandSender; +import com.dfsek.terra.api.entity.CommandSender; @Command @DebugCommand diff --git a/common/implementation/src/main/java/com/dfsek/terra/commands/profiler/ProfileStopCommand.java b/common/implementation/src/main/java/com/dfsek/terra/commands/profiler/ProfileStopCommand.java index baa5aeab3..bc1752321 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/commands/profiler/ProfileStopCommand.java +++ b/common/implementation/src/main/java/com/dfsek/terra/commands/profiler/ProfileStopCommand.java @@ -5,7 +5,7 @@ import com.dfsek.terra.api.command.CommandTemplate; import com.dfsek.terra.api.command.annotation.Command; import com.dfsek.terra.api.command.annotation.type.DebugCommand; import com.dfsek.terra.api.injection.annotations.Inject; -import com.dfsek.terra.api.platform.CommandSender; +import com.dfsek.terra.api.entity.CommandSender; @Command @DebugCommand diff --git a/common/implementation/src/main/java/com/dfsek/terra/commands/structure/SpawnCommand.java b/common/implementation/src/main/java/com/dfsek/terra/commands/structure/SpawnCommand.java index 490de66b4..73e9351b9 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/commands/structure/SpawnCommand.java +++ b/common/implementation/src/main/java/com/dfsek/terra/commands/structure/SpawnCommand.java @@ -7,9 +7,9 @@ import com.dfsek.terra.api.command.annotation.type.DebugCommand; import com.dfsek.terra.api.command.annotation.type.PlayerCommand; import com.dfsek.terra.api.command.annotation.type.WorldCommand; import com.dfsek.terra.api.injection.annotations.Inject; -import com.dfsek.terra.api.math.vector.Location; -import com.dfsek.terra.api.platform.CommandSender; -import com.dfsek.terra.api.platform.entity.Player; +import com.dfsek.terra.api.vector.Location; +import com.dfsek.terra.api.entity.CommandSender; +import com.dfsek.terra.api.entity.Player; import com.dfsek.terra.api.structures.parser.lang.constants.NumericConstant; import com.dfsek.terra.api.structures.script.TerraImplementationArguments; import com.dfsek.terra.api.structures.script.functions.CheckFunction; @@ -40,7 +40,7 @@ public class SpawnCommand implements CommandTemplate { Position dummy = new Position(0, 0); String check = new CheckFunction(main, new NumericConstant(0, dummy), new NumericConstant(0, dummy), new NumericConstant(0, dummy), dummy).apply(new TerraImplementationArguments(new StructureBuffer( - new com.dfsek.terra.api.math.vector.Location(player.getWorld(), x, y, z) + new Location(player.getWorld(), x, y, z) ), Rotation.NONE, new FastRandom(), 0), new HashMap<>()); sender.sendMessage("Found: " + check); diff --git a/common/implementation/src/main/java/com/dfsek/terra/commands/structure/StructureCommand.java b/common/implementation/src/main/java/com/dfsek/terra/commands/structure/StructureCommand.java index ad095ac70..fa44f2e08 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/commands/structure/StructureCommand.java +++ b/common/implementation/src/main/java/com/dfsek/terra/commands/structure/StructureCommand.java @@ -3,7 +3,7 @@ package com.dfsek.terra.commands.structure; import com.dfsek.terra.api.command.CommandTemplate; import com.dfsek.terra.api.command.annotation.Command; import com.dfsek.terra.api.command.annotation.Subcommand; -import com.dfsek.terra.api.platform.CommandSender; +import com.dfsek.terra.api.entity.CommandSender; import com.dfsek.terra.config.lang.LangUtil; @Command( diff --git a/common/implementation/src/main/java/com/dfsek/terra/commands/structure/StructureExportCommand.java b/common/implementation/src/main/java/com/dfsek/terra/commands/structure/StructureExportCommand.java index 47dd42a25..37b3cf7c9 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/commands/structure/StructureExportCommand.java +++ b/common/implementation/src/main/java/com/dfsek/terra/commands/structure/StructureExportCommand.java @@ -9,13 +9,13 @@ import com.dfsek.terra.api.command.annotation.type.DebugCommand; import com.dfsek.terra.api.command.annotation.type.PlayerCommand; import com.dfsek.terra.api.command.annotation.type.WorldCommand; import com.dfsek.terra.api.injection.annotations.Inject; -import com.dfsek.terra.api.math.vector.Location; -import com.dfsek.terra.api.platform.CommandSender; -import com.dfsek.terra.api.platform.block.Block; -import com.dfsek.terra.api.platform.block.BlockData; -import com.dfsek.terra.api.platform.block.state.BlockState; -import com.dfsek.terra.api.platform.block.state.Sign; -import com.dfsek.terra.api.platform.entity.Player; +import com.dfsek.terra.api.vector.Location; +import com.dfsek.terra.api.entity.CommandSender; +import com.dfsek.terra.api.block.Block; +import com.dfsek.terra.api.block.BlockData; +import com.dfsek.terra.api.block.state.BlockState; +import com.dfsek.terra.api.block.state.Sign; +import com.dfsek.terra.api.entity.Player; import com.dfsek.terra.api.util.generic.pair.Pair; import java.io.BufferedWriter; diff --git a/common/implementation/src/main/java/com/dfsek/terra/commands/structure/StructureLoadCommand.java b/common/implementation/src/main/java/com/dfsek/terra/commands/structure/StructureLoadCommand.java index dfd22addf..0ff923ab3 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/commands/structure/StructureLoadCommand.java +++ b/common/implementation/src/main/java/com/dfsek/terra/commands/structure/StructureLoadCommand.java @@ -12,8 +12,8 @@ import com.dfsek.terra.api.command.annotation.type.PlayerCommand; import com.dfsek.terra.api.command.annotation.type.WorldCommand; import com.dfsek.terra.api.command.arg.IntegerArgumentParser; import com.dfsek.terra.api.injection.annotations.Inject; -import com.dfsek.terra.api.platform.CommandSender; -import com.dfsek.terra.api.platform.entity.Player; +import com.dfsek.terra.api.entity.CommandSender; +import com.dfsek.terra.api.entity.Player; import com.dfsek.terra.api.structures.script.StructureScript; import com.dfsek.terra.api.structures.structure.Rotation; import com.dfsek.terra.api.util.FastRandom; diff --git a/common/implementation/src/main/java/com/dfsek/terra/commands/structure/StructureLocateCommand.java b/common/implementation/src/main/java/com/dfsek/terra/commands/structure/StructureLocateCommand.java index 0e04c3ec4..17eea5e15 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/commands/structure/StructureLocateCommand.java +++ b/common/implementation/src/main/java/com/dfsek/terra/commands/structure/StructureLocateCommand.java @@ -11,10 +11,10 @@ import com.dfsek.terra.api.command.annotation.type.PlayerCommand; import com.dfsek.terra.api.command.annotation.type.WorldCommand; import com.dfsek.terra.api.command.arg.IntegerArgumentParser; import com.dfsek.terra.api.injection.annotations.Inject; -import com.dfsek.terra.api.math.vector.Location; -import com.dfsek.terra.api.math.vector.Vector3; -import com.dfsek.terra.api.platform.CommandSender; -import com.dfsek.terra.api.platform.entity.Player; +import com.dfsek.terra.api.vector.Location; +import com.dfsek.terra.vector.Vector3Impl; +import com.dfsek.terra.api.entity.CommandSender; +import com.dfsek.terra.api.entity.Player; import com.dfsek.terra.api.world.locate.AsyncStructureFinder; import com.dfsek.terra.commands.structure.argument.StructureArgumentParser; import com.dfsek.terra.commands.structure.completer.StructureCompleter; @@ -65,7 +65,7 @@ public class StructureLocateCommand implements CommandTemplate { new Thread(new AsyncStructureFinder(main.getWorld(player.getWorld()).getBiomeProvider(), structure, player.getLocation().clone().multiply((1D / main.getTerraConfig().getBiomeSearchResolution())), 0, radius, location -> { if(location != null) { - sender.sendMessage(String.format("The nearest %s is at [%d, ~, %d] (%.1f blocks away)", structure.getTemplate().getID().toLowerCase(Locale.ROOT), location.getBlockX(), location.getBlockZ(), location.add(new Vector3(0, player.getLocation().getY(), 0)).distance(player.getLocation().toVector()))); + sender.sendMessage(String.format("The nearest %s is at [%d, ~, %d] (%.1f blocks away)", structure.getTemplate().getID().toLowerCase(Locale.ROOT), location.getBlockX(), location.getBlockZ(), location.add(new Vector3Impl(0, player.getLocation().getY(), 0)).distance(player.getLocation().toVector()))); if(teleport) { main.runPossiblyUnsafeTask(() -> player.setLocation(new Location(player.getWorld(), location.getX(), player.getLocation().getY(), location.getZ()))); } diff --git a/common/implementation/src/main/java/com/dfsek/terra/commands/structure/argument/ScriptArgumentParser.java b/common/implementation/src/main/java/com/dfsek/terra/commands/structure/argument/ScriptArgumentParser.java index f7d23dee8..81a7a28cb 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/commands/structure/argument/ScriptArgumentParser.java +++ b/common/implementation/src/main/java/com/dfsek/terra/commands/structure/argument/ScriptArgumentParser.java @@ -3,8 +3,8 @@ package com.dfsek.terra.commands.structure.argument; import com.dfsek.terra.api.TerraPlugin; import com.dfsek.terra.api.command.arg.ArgumentParser; import com.dfsek.terra.api.injection.annotations.Inject; -import com.dfsek.terra.api.platform.CommandSender; -import com.dfsek.terra.api.platform.entity.Player; +import com.dfsek.terra.api.entity.CommandSender; +import com.dfsek.terra.api.entity.Player; import com.dfsek.terra.api.structures.script.StructureScript; public class ScriptArgumentParser implements ArgumentParser { diff --git a/common/implementation/src/main/java/com/dfsek/terra/commands/structure/argument/StructureArgumentParser.java b/common/implementation/src/main/java/com/dfsek/terra/commands/structure/argument/StructureArgumentParser.java index cf8b3378f..16f31becd 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/commands/structure/argument/StructureArgumentParser.java +++ b/common/implementation/src/main/java/com/dfsek/terra/commands/structure/argument/StructureArgumentParser.java @@ -3,8 +3,8 @@ package com.dfsek.terra.commands.structure.argument; import com.dfsek.terra.api.TerraPlugin; import com.dfsek.terra.api.command.arg.ArgumentParser; import com.dfsek.terra.api.injection.annotations.Inject; -import com.dfsek.terra.api.platform.CommandSender; -import com.dfsek.terra.api.platform.entity.Player; +import com.dfsek.terra.api.entity.CommandSender; +import com.dfsek.terra.api.entity.Player; import com.dfsek.terra.world.population.items.TerraStructure; public class StructureArgumentParser implements ArgumentParser { diff --git a/common/implementation/src/main/java/com/dfsek/terra/commands/structure/completer/RotationCompleter.java b/common/implementation/src/main/java/com/dfsek/terra/commands/structure/completer/RotationCompleter.java index 3bfed746d..3adf7e09b 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/commands/structure/completer/RotationCompleter.java +++ b/common/implementation/src/main/java/com/dfsek/terra/commands/structure/completer/RotationCompleter.java @@ -1,7 +1,7 @@ package com.dfsek.terra.commands.structure.completer; import com.dfsek.terra.api.command.tab.TabCompleter; -import com.dfsek.terra.api.platform.CommandSender; +import com.dfsek.terra.api.entity.CommandSender; import java.util.Arrays; import java.util.List; diff --git a/common/implementation/src/main/java/com/dfsek/terra/commands/structure/completer/ScriptCompleter.java b/common/implementation/src/main/java/com/dfsek/terra/commands/structure/completer/ScriptCompleter.java index 81e6eba02..70ae70723 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/commands/structure/completer/ScriptCompleter.java +++ b/common/implementation/src/main/java/com/dfsek/terra/commands/structure/completer/ScriptCompleter.java @@ -3,8 +3,8 @@ package com.dfsek.terra.commands.structure.completer; import com.dfsek.terra.api.TerraPlugin; import com.dfsek.terra.api.command.tab.TabCompleter; import com.dfsek.terra.api.injection.annotations.Inject; -import com.dfsek.terra.api.platform.CommandSender; -import com.dfsek.terra.api.platform.entity.Player; +import com.dfsek.terra.api.entity.CommandSender; +import com.dfsek.terra.api.entity.Player; import com.dfsek.terra.api.structures.script.StructureScript; import java.util.List; diff --git a/common/implementation/src/main/java/com/dfsek/terra/commands/structure/completer/StructureCompleter.java b/common/implementation/src/main/java/com/dfsek/terra/commands/structure/completer/StructureCompleter.java index cebfa20ab..31f4e3519 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/commands/structure/completer/StructureCompleter.java +++ b/common/implementation/src/main/java/com/dfsek/terra/commands/structure/completer/StructureCompleter.java @@ -3,8 +3,8 @@ package com.dfsek.terra.commands.structure.completer; import com.dfsek.terra.api.TerraPlugin; import com.dfsek.terra.api.command.tab.TabCompleter; import com.dfsek.terra.api.injection.annotations.Inject; -import com.dfsek.terra.api.platform.CommandSender; -import com.dfsek.terra.api.platform.entity.Player; +import com.dfsek.terra.api.entity.CommandSender; +import com.dfsek.terra.api.entity.Player; import com.dfsek.terra.world.population.items.TerraStructure; import java.util.ArrayList; 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 5667a8efb..d6f891731 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 @@ -3,20 +3,20 @@ package com.dfsek.terra.config; import com.dfsek.tectonic.loading.TypeRegistry; import com.dfsek.terra.api.LoaderRegistrar; import com.dfsek.terra.api.TerraPlugin; -import com.dfsek.terra.api.addons.TerraAddon; +import com.dfsek.terra.api.addon.TerraAddon; import com.dfsek.terra.api.math.GridSpawn; import com.dfsek.terra.api.math.Range; -import com.dfsek.terra.api.math.noise.samplers.ImageSampler; -import com.dfsek.terra.api.math.noise.samplers.noise.CellularSampler; -import com.dfsek.terra.api.platform.block.BlockType; +import com.dfsek.terra.api.noise.samplers.ImageSampler; +import com.dfsek.terra.api.noise.samplers.noise.CellularSampler; +import com.dfsek.terra.api.block.BlockType; import com.dfsek.terra.api.util.collections.MaterialSet; -import com.dfsek.terra.api.util.collections.ProbabilityCollection; +import com.dfsek.terra.api.util.collections.ProbabilityCollectionImpl; import com.dfsek.terra.api.util.seeded.SourceSeeded; import com.dfsek.terra.api.util.seeded.StageSeeded; -import com.dfsek.terra.api.world.biome.pipeline.source.BiomeSource; +import com.dfsek.terra.api.world.biome.generation.pipeline.BiomeSource; import com.dfsek.terra.api.world.biome.pipeline.stages.ExpanderStage; import com.dfsek.terra.api.world.biome.pipeline.stages.MutatorStage; -import com.dfsek.terra.api.world.biome.provider.BiomeProvider; +import com.dfsek.terra.api.world.biome.generation.BiomeProvider; 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; @@ -69,7 +69,7 @@ public class GenericLoaders implements LoaderRegistrar { @Override public void register(TypeRegistry registry) { - registry.registerLoader(ProbabilityCollection.class, new ProbabilityCollectionLoader()) + registry.registerLoader(ProbabilityCollectionImpl.class, new ProbabilityCollectionLoader()) .registerLoader(Range.class, new RangeLoader()) .registerLoader(GridSpawn.class, new GridSpawnLoader()) .registerLoader(PaletteHolder.class, new PaletteHolderLoader()) diff --git a/common/implementation/src/main/java/com/dfsek/terra/config/builder/BiomeBuilder.java b/common/implementation/src/main/java/com/dfsek/terra/config/builder/BiomeBuilder.java index f29a06c7c..2e8accd13 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/config/builder/BiomeBuilder.java +++ b/common/implementation/src/main/java/com/dfsek/terra/config/builder/BiomeBuilder.java @@ -1,13 +1,13 @@ package com.dfsek.terra.config.builder; -import com.dfsek.terra.api.platform.world.Biome; -import com.dfsek.terra.api.util.collections.ProbabilityCollection; +import com.dfsek.terra.api.world.biome.Biome; +import com.dfsek.terra.api.util.collections.ProbabilityCollectionImpl; import com.dfsek.terra.api.util.seeded.SeededBuilder; import com.dfsek.terra.api.world.biome.TerraBiome; import com.dfsek.terra.config.templates.BiomeTemplate; public interface BiomeBuilder extends SeededBuilder { - ProbabilityCollection getVanillaBiomes(); + ProbabilityCollectionImpl getVanillaBiomes(); BiomeTemplate getTemplate(); } diff --git a/common/implementation/src/main/java/com/dfsek/terra/config/builder/UserDefinedBiomeBuilder.java b/common/implementation/src/main/java/com/dfsek/terra/config/builder/UserDefinedBiomeBuilder.java index 5dca280c9..1ea9dbeff 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/config/builder/UserDefinedBiomeBuilder.java +++ b/common/implementation/src/main/java/com/dfsek/terra/config/builder/UserDefinedBiomeBuilder.java @@ -2,11 +2,11 @@ package com.dfsek.terra.config.builder; import com.dfsek.paralithic.eval.parser.Scope; import com.dfsek.paralithic.eval.tokenizer.ParseException; -import com.dfsek.terra.api.math.noise.NoiseSampler; -import com.dfsek.terra.api.math.noise.samplers.ExpressionSampler; -import com.dfsek.terra.api.math.noise.samplers.noise.ConstantSampler; -import com.dfsek.terra.api.platform.world.Biome; -import com.dfsek.terra.api.util.collections.ProbabilityCollection; +import com.dfsek.terra.api.noise.NoiseSampler; +import com.dfsek.terra.api.noise.samplers.ExpressionSampler; +import com.dfsek.terra.api.noise.samplers.noise.ConstantSampler; +import com.dfsek.terra.api.world.biome.Biome; +import com.dfsek.terra.api.util.collections.ProbabilityCollectionImpl; import com.dfsek.terra.api.util.seeded.NoiseSeeded; import com.dfsek.terra.api.world.biome.UserDefinedBiome; import com.dfsek.terra.config.loaders.config.function.FunctionTemplate; @@ -63,7 +63,7 @@ public class UserDefinedBiomeBuilder implements BiomeBuilder { } @Override - public ProbabilityCollection getVanillaBiomes() { + public ProbabilityCollectionImpl getVanillaBiomes() { return template.getVanilla(); } diff --git a/common/implementation/src/main/java/com/dfsek/terra/config/dummy/DummyWorld.java b/common/implementation/src/main/java/com/dfsek/terra/config/dummy/DummyWorld.java index 26082be6a..d6f1441d9 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/config/dummy/DummyWorld.java +++ b/common/implementation/src/main/java/com/dfsek/terra/config/dummy/DummyWorld.java @@ -1,13 +1,13 @@ package com.dfsek.terra.config.dummy; -import com.dfsek.terra.api.math.vector.Location; -import com.dfsek.terra.api.platform.block.Block; -import com.dfsek.terra.api.platform.entity.Entity; -import com.dfsek.terra.api.platform.entity.EntityType; -import com.dfsek.terra.api.platform.world.Chunk; -import com.dfsek.terra.api.platform.world.World; -import com.dfsek.terra.api.platform.world.generator.ChunkGenerator; -import com.dfsek.terra.api.platform.world.generator.GeneratorWrapper; +import com.dfsek.terra.api.vector.Location; +import com.dfsek.terra.api.block.Block; +import com.dfsek.terra.api.entity.Entity; +import com.dfsek.terra.api.entity.EntityType; +import com.dfsek.terra.api.world.Chunk; +import com.dfsek.terra.api.world.World; +import com.dfsek.terra.api.world.generator.ChunkGenerator; +import com.dfsek.terra.api.world.generator.GeneratorWrapper; public class DummyWorld implements World { @Override diff --git a/common/implementation/src/main/java/com/dfsek/terra/config/factories/CarverFactory.java b/common/implementation/src/main/java/com/dfsek/terra/config/factories/CarverFactory.java index e572f3e6c..dc044c062 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/config/factories/CarverFactory.java +++ b/common/implementation/src/main/java/com/dfsek/terra/config/factories/CarverFactory.java @@ -3,7 +3,7 @@ package com.dfsek.terra.config.factories; import com.dfsek.paralithic.eval.tokenizer.ParseException; import com.dfsek.tectonic.exception.LoadException; import com.dfsek.terra.api.TerraPlugin; -import com.dfsek.terra.api.math.MathUtil; +import com.dfsek.terra.api.util.MathUtil; import com.dfsek.terra.carving.UserDefinedCarver; import com.dfsek.terra.config.pack.ConfigPack; import com.dfsek.terra.config.templates.CarverTemplate; diff --git a/common/implementation/src/main/java/com/dfsek/terra/config/factories/FloraFactory.java b/common/implementation/src/main/java/com/dfsek/terra/config/factories/FloraFactory.java index 78c2c288a..0fcb02d78 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/config/factories/FloraFactory.java +++ b/common/implementation/src/main/java/com/dfsek/terra/config/factories/FloraFactory.java @@ -1,7 +1,7 @@ package com.dfsek.terra.config.factories; import com.dfsek.terra.api.TerraPlugin; -import com.dfsek.terra.api.math.noise.samplers.noise.random.WhiteNoiseSampler; +import com.dfsek.terra.api.noise.samplers.noise.random.WhiteNoiseSampler; import com.dfsek.terra.api.world.flora.Flora; import com.dfsek.terra.api.world.palette.NoisePalette; import com.dfsek.terra.api.world.palette.Palette; diff --git a/common/implementation/src/main/java/com/dfsek/terra/config/factories/OreFactory.java b/common/implementation/src/main/java/com/dfsek/terra/config/factories/OreFactory.java index be6ea19d9..0fb8d13e6 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/config/factories/OreFactory.java +++ b/common/implementation/src/main/java/com/dfsek/terra/config/factories/OreFactory.java @@ -1,7 +1,7 @@ package com.dfsek.terra.config.factories; import com.dfsek.terra.api.TerraPlugin; -import com.dfsek.terra.api.platform.block.BlockData; +import com.dfsek.terra.api.block.BlockData; import com.dfsek.terra.config.templates.OreTemplate; import com.dfsek.terra.world.population.items.ores.DeformedSphereOre; import com.dfsek.terra.world.population.items.ores.Ore; diff --git a/common/implementation/src/main/java/com/dfsek/terra/config/factories/TreeFactory.java b/common/implementation/src/main/java/com/dfsek/terra/config/factories/TreeFactory.java index 6e57002dc..f03c86d16 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/config/factories/TreeFactory.java +++ b/common/implementation/src/main/java/com/dfsek/terra/config/factories/TreeFactory.java @@ -1,7 +1,7 @@ package com.dfsek.terra.config.factories; import com.dfsek.terra.api.TerraPlugin; -import com.dfsek.terra.api.platform.world.Tree; +import com.dfsek.terra.api.world.Tree; import com.dfsek.terra.config.templates.TreeTemplate; import com.dfsek.terra.world.population.items.tree.TerraTree; diff --git a/common/implementation/src/main/java/com/dfsek/terra/config/lang/LangUtil.java b/common/implementation/src/main/java/com/dfsek/terra/config/lang/LangUtil.java index 87f24b13e..d11d1e15f 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/config/lang/LangUtil.java +++ b/common/implementation/src/main/java/com/dfsek/terra/config/lang/LangUtil.java @@ -1,7 +1,7 @@ package com.dfsek.terra.config.lang; import com.dfsek.terra.api.TerraPlugin; -import com.dfsek.terra.api.platform.CommandSender; +import com.dfsek.terra.api.entity.CommandSender; import com.dfsek.terra.api.util.logging.Logger; import java.io.File; diff --git a/common/implementation/src/main/java/com/dfsek/terra/config/lang/Language.java b/common/implementation/src/main/java/com/dfsek/terra/config/lang/Language.java index 2b5836391..782eee0c7 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/config/lang/Language.java +++ b/common/implementation/src/main/java/com/dfsek/terra/config/lang/Language.java @@ -2,7 +2,7 @@ package com.dfsek.terra.config.lang; import com.dfsek.tectonic.config.Configuration; -import com.dfsek.terra.api.platform.CommandSender; +import com.dfsek.terra.api.entity.CommandSender; import java.io.File; import java.io.FileInputStream; diff --git a/common/implementation/src/main/java/com/dfsek/terra/config/lang/Message.java b/common/implementation/src/main/java/com/dfsek/terra/config/lang/Message.java index 20ac16c14..3fa11e901 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/config/lang/Message.java +++ b/common/implementation/src/main/java/com/dfsek/terra/config/lang/Message.java @@ -1,7 +1,7 @@ package com.dfsek.terra.config.lang; -import com.dfsek.terra.api.platform.CommandSender; +import com.dfsek.terra.api.entity.CommandSender; import java.util.logging.Level; import java.util.logging.Logger; diff --git a/common/implementation/src/main/java/com/dfsek/terra/config/lang/MultiLineMessage.java b/common/implementation/src/main/java/com/dfsek/terra/config/lang/MultiLineMessage.java index 2d9ef1c12..8cf574425 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/config/lang/MultiLineMessage.java +++ b/common/implementation/src/main/java/com/dfsek/terra/config/lang/MultiLineMessage.java @@ -1,6 +1,6 @@ package com.dfsek.terra.config.lang; -import com.dfsek.terra.api.platform.CommandSender; +import com.dfsek.terra.api.entity.CommandSender; import java.util.Arrays; import java.util.List; diff --git a/common/implementation/src/main/java/com/dfsek/terra/config/lang/SingleLineMessage.java b/common/implementation/src/main/java/com/dfsek/terra/config/lang/SingleLineMessage.java index f397dae50..23753cff0 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/config/lang/SingleLineMessage.java +++ b/common/implementation/src/main/java/com/dfsek/terra/config/lang/SingleLineMessage.java @@ -1,7 +1,7 @@ package com.dfsek.terra.config.lang; -import com.dfsek.terra.api.platform.CommandSender; +import com.dfsek.terra.api.entity.CommandSender; import java.util.Arrays; import java.util.logging.Level; diff --git a/common/implementation/src/main/java/com/dfsek/terra/config/loaders/MaterialSetLoader.java b/common/implementation/src/main/java/com/dfsek/terra/config/loaders/MaterialSetLoader.java index a98ca9837..5fa0125bc 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/config/loaders/MaterialSetLoader.java +++ b/common/implementation/src/main/java/com/dfsek/terra/config/loaders/MaterialSetLoader.java @@ -3,7 +3,7 @@ package com.dfsek.terra.config.loaders; import com.dfsek.tectonic.exception.LoadException; import com.dfsek.tectonic.loading.ConfigLoader; import com.dfsek.tectonic.loading.TypeLoader; -import com.dfsek.terra.api.platform.block.BlockType; +import com.dfsek.terra.api.block.BlockType; import com.dfsek.terra.api.util.collections.MaterialSet; import java.lang.reflect.Type; diff --git a/common/implementation/src/main/java/com/dfsek/terra/config/loaders/ProbabilityCollectionLoader.java b/common/implementation/src/main/java/com/dfsek/terra/config/loaders/ProbabilityCollectionLoader.java index 050281b4d..b5bd6b5d7 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/config/loaders/ProbabilityCollectionLoader.java +++ b/common/implementation/src/main/java/com/dfsek/terra/config/loaders/ProbabilityCollectionLoader.java @@ -3,7 +3,7 @@ package com.dfsek.terra.config.loaders; import com.dfsek.tectonic.exception.LoadException; import com.dfsek.tectonic.loading.ConfigLoader; import com.dfsek.tectonic.loading.TypeLoader; -import com.dfsek.terra.api.util.collections.ProbabilityCollection; +import com.dfsek.terra.api.util.collections.ProbabilityCollectionImpl; import java.lang.reflect.ParameterizedType; import java.lang.reflect.Type; @@ -11,10 +11,10 @@ import java.util.List; import java.util.Map; @SuppressWarnings("unchecked") -public class ProbabilityCollectionLoader implements TypeLoader> { +public class ProbabilityCollectionLoader implements TypeLoader> { @Override - public ProbabilityCollection load(Type type, Object o, ConfigLoader configLoader) throws LoadException { - ProbabilityCollection collection = new ProbabilityCollection<>(); + public ProbabilityCollectionImpl load(Type type, Object o, ConfigLoader configLoader) throws LoadException { + ProbabilityCollectionImpl collection = new ProbabilityCollectionImpl<>(); if(type instanceof ParameterizedType) { ParameterizedType pType = (ParameterizedType) type; @@ -34,7 +34,7 @@ public class ProbabilityCollectionLoader implements TypeLoader(configLoader.loadType(generic, o)); + return new ProbabilityCollectionImpl.Singleton<>(configLoader.loadType(generic, o)); } else { throw new LoadException("Malformed Probability Collection: " + o); } diff --git a/common/implementation/src/main/java/com/dfsek/terra/config/loaders/Types.java b/common/implementation/src/main/java/com/dfsek/terra/config/loaders/Types.java index 595728d60..ba1c05778 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/config/loaders/Types.java +++ b/common/implementation/src/main/java/com/dfsek/terra/config/loaders/Types.java @@ -1,8 +1,8 @@ package com.dfsek.terra.config.loaders; -import com.dfsek.terra.api.platform.block.BlockData; -import com.dfsek.terra.api.platform.world.Tree; -import com.dfsek.terra.api.util.collections.ProbabilityCollection; +import com.dfsek.terra.api.block.BlockData; +import com.dfsek.terra.api.world.Tree; +import com.dfsek.terra.api.util.collections.ProbabilityCollectionImpl; import com.dfsek.terra.api.world.biome.TerraBiome; import com.dfsek.terra.api.world.flora.Flora; @@ -28,11 +28,11 @@ public final class Types { TERRA_BIOME_TERRA_BIOME_PROBABILITY_COLLECTION_MAP = getType("terraBiomeProbabilityCollectionMap"); } - private ProbabilityCollection blockDataProbabilityCollection; - private ProbabilityCollection floraProbabilityCollection; - private ProbabilityCollection treeProbabilityCollection; - private ProbabilityCollection terraBiomeProbabilityCollection; - private Map> terraBiomeProbabilityCollectionMap; + private ProbabilityCollectionImpl blockDataProbabilityCollection; + private ProbabilityCollectionImpl floraProbabilityCollection; + private ProbabilityCollectionImpl treeProbabilityCollection; + private ProbabilityCollectionImpl terraBiomeProbabilityCollection; + private Map> terraBiomeProbabilityCollectionMap; private static Type getType(String dummyFieldName) { try { diff --git a/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/FloraLayerLoader.java b/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/FloraLayerLoader.java index 719bf9b91..837d2cd75 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/FloraLayerLoader.java +++ b/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/FloraLayerLoader.java @@ -5,8 +5,8 @@ import com.dfsek.tectonic.exception.LoadException; import com.dfsek.tectonic.loading.ConfigLoader; import com.dfsek.tectonic.loading.TypeLoader; import com.dfsek.terra.api.math.Range; -import com.dfsek.terra.api.math.noise.samplers.noise.random.WhiteNoiseSampler; -import com.dfsek.terra.api.util.collections.ProbabilityCollection; +import com.dfsek.terra.api.noise.samplers.noise.random.WhiteNoiseSampler; +import com.dfsek.terra.api.util.collections.ProbabilityCollectionImpl; import com.dfsek.terra.api.util.seeded.NoiseSeeded; import com.dfsek.terra.api.world.flora.Flora; import com.dfsek.terra.config.loaders.Types; @@ -23,7 +23,7 @@ public class FloraLayerLoader implements TypeLoader { double density = ((Number) map.get("density")).doubleValue(); Range range = configLoader.loadClass(Range.class, map.get("y")); if(range == null) throw new LoadException("Flora range unspecified"); - ProbabilityCollection items = (ProbabilityCollection) configLoader.loadType(Types.FLORA_PROBABILITY_COLLECTION_TYPE, map.get("items")); + ProbabilityCollectionImpl items = (ProbabilityCollectionImpl) configLoader.loadType(Types.FLORA_PROBABILITY_COLLECTION_TYPE, map.get("items")); NoiseSeeded sampler; if(map.containsKey("distribution")) { diff --git a/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/TreeLayerLoader.java b/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/TreeLayerLoader.java index 0b52d2d19..1ed99af7a 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/TreeLayerLoader.java +++ b/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/TreeLayerLoader.java @@ -4,9 +4,9 @@ import com.dfsek.tectonic.exception.LoadException; import com.dfsek.tectonic.loading.ConfigLoader; import com.dfsek.tectonic.loading.TypeLoader; import com.dfsek.terra.api.math.Range; -import com.dfsek.terra.api.math.noise.samplers.noise.random.WhiteNoiseSampler; -import com.dfsek.terra.api.platform.world.Tree; -import com.dfsek.terra.api.util.collections.ProbabilityCollection; +import com.dfsek.terra.api.noise.samplers.noise.random.WhiteNoiseSampler; +import com.dfsek.terra.api.world.Tree; +import com.dfsek.terra.api.util.collections.ProbabilityCollectionImpl; import com.dfsek.terra.api.util.seeded.NoiseSeeded; import com.dfsek.terra.config.loaders.Types; import com.dfsek.terra.world.population.items.tree.TreeLayer; @@ -22,7 +22,7 @@ public class TreeLayerLoader implements TypeLoader { double density = ((Number) map.get("density")).doubleValue(); Range range = configLoader.loadClass(Range.class, map.get("y")); if(range == null) throw new LoadException("Tree range unspecified"); - ProbabilityCollection items = (ProbabilityCollection) configLoader.loadType(Types.TREE_PROBABILITY_COLLECTION_TYPE, map.get("items")); + ProbabilityCollectionImpl items = (ProbabilityCollectionImpl) configLoader.loadType(Types.TREE_PROBABILITY_COLLECTION_TYPE, map.get("items")); if(map.containsKey("distribution")) { NoiseSeeded noise = configLoader.loadClass(NoiseSeeded.class, map.get("distribution")); diff --git a/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/biome/BiomeProviderBuilderLoader.java b/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/biome/BiomeProviderBuilderLoader.java index 718d33907..4c65f11fd 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/biome/BiomeProviderBuilderLoader.java +++ b/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/biome/BiomeProviderBuilderLoader.java @@ -3,7 +3,7 @@ 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.world.biome.provider.BiomeProvider; +import com.dfsek.terra.api.world.biome.generation.BiomeProvider; 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; diff --git a/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/biome/SourceBuilderLoader.java b/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/biome/SourceBuilderLoader.java index 33f1dcd42..b1fab8212 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/biome/SourceBuilderLoader.java +++ b/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/biome/SourceBuilderLoader.java @@ -3,13 +3,8 @@ 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.util.collections.ProbabilityCollection; -import com.dfsek.terra.api.util.seeded.NoiseSeeded; import com.dfsek.terra.api.util.seeded.SourceSeeded; -import com.dfsek.terra.api.world.biome.TerraBiome; -import com.dfsek.terra.api.world.biome.pipeline.source.BiomeSource; -import com.dfsek.terra.api.world.biome.pipeline.source.RandomSource; -import com.dfsek.terra.config.loaders.Types; +import com.dfsek.terra.api.world.biome.generation.pipeline.BiomeSource; import com.dfsek.terra.config.loaders.config.biome.templates.source.NoiseSourceTemplate; import java.lang.reflect.Type; diff --git a/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/provider/BiomePipelineTemplate.java b/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/provider/BiomePipelineTemplate.java index 31f448553..fee9144db 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/provider/BiomePipelineTemplate.java +++ b/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/provider/BiomePipelineTemplate.java @@ -5,8 +5,8 @@ import com.dfsek.tectonic.annotations.Value; import com.dfsek.terra.api.TerraPlugin; import com.dfsek.terra.api.util.seeded.SourceSeeded; import com.dfsek.terra.api.util.seeded.StageSeeded; -import com.dfsek.terra.api.world.biome.pipeline.BiomePipeline; -import com.dfsek.terra.api.world.biome.provider.BiomeProvider; +import com.dfsek.terra.api.world.biome.pipeline.BiomePipelineImpl; +import com.dfsek.terra.api.world.biome.generation.BiomeProvider; import com.dfsek.terra.api.world.biome.provider.StandardBiomeProvider; import java.util.List; @@ -30,9 +30,9 @@ public class BiomePipelineTemplate extends BiomeProviderTemplate { @Override public BiomeProvider build(long seed) { - BiomePipeline.BiomePipelineBuilder biomePipelineBuilder = new BiomePipeline.BiomePipelineBuilder(initialSize); + BiomePipelineImpl.BiomePipelineBuilder biomePipelineBuilder = new BiomePipelineImpl.BiomePipelineBuilder(initialSize); stages.forEach(biomePipelineBuilder::addStage); - BiomePipeline pipeline = biomePipelineBuilder.build(source.apply(seed), seed); + BiomePipelineImpl pipeline = biomePipelineBuilder.build(source.apply(seed), seed); return new StandardBiomeProvider(pipeline, main, resolution, blend.apply(seed), blendAmp, (int) seed); } } diff --git a/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/provider/BiomeProviderTemplate.java b/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/provider/BiomeProviderTemplate.java index 2b0799b87..a8f2597a5 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/provider/BiomeProviderTemplate.java +++ b/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/provider/BiomeProviderTemplate.java @@ -3,10 +3,10 @@ package com.dfsek.terra.config.loaders.config.biome.templates.provider; import com.dfsek.tectonic.annotations.Default; import com.dfsek.tectonic.annotations.Value; import com.dfsek.tectonic.loading.object.ObjectTemplate; -import com.dfsek.terra.api.math.noise.NoiseSampler; -import com.dfsek.terra.api.math.noise.samplers.noise.ConstantSampler; +import com.dfsek.terra.api.noise.NoiseSampler; +import com.dfsek.terra.api.noise.samplers.noise.ConstantSampler; import com.dfsek.terra.api.util.seeded.NoiseSeeded; -import com.dfsek.terra.api.world.biome.provider.BiomeProvider; +import com.dfsek.terra.api.world.biome.generation.BiomeProvider; public abstract class BiomeProviderTemplate implements ObjectTemplate, BiomeProvider.BiomeProviderBuilder { @Value("resolution") diff --git a/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/provider/ImageProviderTemplate.java b/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/provider/ImageProviderTemplate.java index b66e25cba..0b957b2c6 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/provider/ImageProviderTemplate.java +++ b/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/provider/ImageProviderTemplate.java @@ -2,7 +2,7 @@ package com.dfsek.terra.config.loaders.config.biome.templates.provider; import com.dfsek.tectonic.annotations.Value; import com.dfsek.terra.api.registry.Registry; -import com.dfsek.terra.api.world.biome.provider.BiomeProvider; +import com.dfsek.terra.api.world.biome.generation.BiomeProvider; import com.dfsek.terra.api.world.biome.provider.ImageBiomeProvider; import com.dfsek.terra.config.builder.BiomeBuilder; diff --git a/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/provider/SingleBiomeProviderTemplate.java b/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/provider/SingleBiomeProviderTemplate.java index 525315454..7538dba0b 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/provider/SingleBiomeProviderTemplate.java +++ b/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/provider/SingleBiomeProviderTemplate.java @@ -1,7 +1,7 @@ package com.dfsek.terra.config.loaders.config.biome.templates.provider; import com.dfsek.tectonic.annotations.Value; -import com.dfsek.terra.api.world.biome.provider.BiomeProvider; +import com.dfsek.terra.api.world.biome.generation.BiomeProvider; import com.dfsek.terra.api.world.biome.provider.SingleBiomeProvider; import com.dfsek.terra.config.builder.BiomeBuilder; diff --git a/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/source/NoiseSourceTemplate.java b/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/source/NoiseSourceTemplate.java index 7df6255d0..d82d90c23 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/source/NoiseSourceTemplate.java +++ b/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/source/NoiseSourceTemplate.java @@ -1,9 +1,9 @@ package com.dfsek.terra.config.loaders.config.biome.templates.source; import com.dfsek.tectonic.annotations.Value; -import com.dfsek.terra.api.util.collections.ProbabilityCollection; +import com.dfsek.terra.api.util.collections.ProbabilityCollectionImpl; import com.dfsek.terra.api.util.seeded.NoiseSeeded; -import com.dfsek.terra.api.world.biome.pipeline.source.BiomeSource; +import com.dfsek.terra.api.world.biome.generation.pipeline.BiomeSource; import com.dfsek.terra.api.world.biome.pipeline.source.RandomSource; import com.dfsek.terra.config.builder.BiomeBuilder; @@ -12,7 +12,7 @@ public class NoiseSourceTemplate extends SourceTemplate { private NoiseSeeded noise; @Value("biomes") - private ProbabilityCollection biomes; + private ProbabilityCollectionImpl biomes; @Override public BiomeSource apply(Long seed) { diff --git a/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/source/SourceTemplate.java b/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/source/SourceTemplate.java index cee30713b..b6c14f2b8 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/source/SourceTemplate.java +++ b/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/source/SourceTemplate.java @@ -2,7 +2,6 @@ package com.dfsek.terra.config.loaders.config.biome.templates.source; import com.dfsek.tectonic.loading.object.ObjectTemplate; import com.dfsek.terra.api.util.seeded.SourceSeeded; -import com.dfsek.terra.api.world.biome.pipeline.source.BiomeSource; public abstract class SourceTemplate implements ObjectTemplate, SourceSeeded { @Override diff --git a/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/stage/StageTemplate.java b/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/stage/StageTemplate.java index 151eaedef..d588e736f 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/stage/StageTemplate.java +++ b/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/stage/StageTemplate.java @@ -5,7 +5,7 @@ import com.dfsek.tectonic.loading.object.ObjectTemplate; import com.dfsek.terra.api.util.seeded.NoiseSeeded; import com.dfsek.terra.api.util.seeded.SeededBuilder; import com.dfsek.terra.api.util.seeded.StageSeeded; -import com.dfsek.terra.api.world.biome.pipeline.stages.Stage; +import com.dfsek.terra.api.world.biome.generation.pipeline.Stage; public abstract class StageTemplate implements ObjectTemplate>, StageSeeded { @Value("noise") diff --git a/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/stage/expander/ExpanderStageTemplate.java b/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/stage/expander/ExpanderStageTemplate.java index fb396ddbc..1196f3043 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/stage/expander/ExpanderStageTemplate.java +++ b/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/stage/expander/ExpanderStageTemplate.java @@ -2,7 +2,7 @@ package com.dfsek.terra.config.loaders.config.biome.templates.stage.expander; import com.dfsek.terra.api.world.biome.pipeline.expand.FractalExpander; import com.dfsek.terra.api.world.biome.pipeline.stages.ExpanderStage; -import com.dfsek.terra.api.world.biome.pipeline.stages.Stage; +import com.dfsek.terra.api.world.biome.generation.pipeline.Stage; import com.dfsek.terra.config.loaders.config.biome.templates.stage.StageTemplate; public class ExpanderStageTemplate extends StageTemplate { diff --git a/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/stage/mutator/BorderListMutatorTemplate.java b/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/stage/mutator/BorderListMutatorTemplate.java index 76146a088..1ddcfbd11 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/stage/mutator/BorderListMutatorTemplate.java +++ b/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/stage/mutator/BorderListMutatorTemplate.java @@ -1,9 +1,9 @@ package com.dfsek.terra.config.loaders.config.biome.templates.stage.mutator; import com.dfsek.tectonic.annotations.Value; -import com.dfsek.terra.api.util.collections.ProbabilityCollection; +import com.dfsek.terra.api.util.collections.ProbabilityCollectionImpl; import com.dfsek.terra.api.world.biome.TerraBiome; -import com.dfsek.terra.api.world.biome.pipeline.mutator.BiomeMutator; +import com.dfsek.terra.api.world.biome.generation.pipeline.BiomeMutator; import com.dfsek.terra.api.world.biome.pipeline.mutator.BorderListMutator; import com.dfsek.terra.config.builder.BiomeBuilder; @@ -19,15 +19,15 @@ public class BorderListMutatorTemplate extends MutatorStageTemplate { private String defaultReplace; @Value("default-to") - private ProbabilityCollection defaultTo; + private ProbabilityCollectionImpl defaultTo; @Value("replace") - private Map> replace; + private Map> replace; @Override public BiomeMutator build(long seed) { - Map> replaceMap = new HashMap<>(); + Map> replaceMap = new HashMap<>(); replace.forEach((keyBuilder, replacements) -> replaceMap.put(keyBuilder.apply(seed), replacements.map(replacement -> replacement.apply(seed), true))); diff --git a/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/stage/mutator/BorderMutatorTemplate.java b/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/stage/mutator/BorderMutatorTemplate.java index 5502a412f..f84f88265 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/stage/mutator/BorderMutatorTemplate.java +++ b/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/stage/mutator/BorderMutatorTemplate.java @@ -1,8 +1,8 @@ package com.dfsek.terra.config.loaders.config.biome.templates.stage.mutator; import com.dfsek.tectonic.annotations.Value; -import com.dfsek.terra.api.util.collections.ProbabilityCollection; -import com.dfsek.terra.api.world.biome.pipeline.mutator.BiomeMutator; +import com.dfsek.terra.api.util.collections.ProbabilityCollectionImpl; +import com.dfsek.terra.api.world.biome.generation.pipeline.BiomeMutator; import com.dfsek.terra.api.world.biome.pipeline.mutator.BorderMutator; import com.dfsek.terra.config.builder.BiomeBuilder; @@ -15,7 +15,7 @@ public class BorderMutatorTemplate extends MutatorStageTemplate { private String replace; @Value("to") - private ProbabilityCollection to; + private ProbabilityCollectionImpl to; @Override public BiomeMutator build(long seed) { diff --git a/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/stage/mutator/MutatorStageTemplate.java b/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/stage/mutator/MutatorStageTemplate.java index 84283ffcc..46021e4e7 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/stage/mutator/MutatorStageTemplate.java +++ b/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/stage/mutator/MutatorStageTemplate.java @@ -1,8 +1,8 @@ package com.dfsek.terra.config.loaders.config.biome.templates.stage.mutator; -import com.dfsek.terra.api.world.biome.pipeline.mutator.BiomeMutator; +import com.dfsek.terra.api.world.biome.generation.pipeline.BiomeMutator; import com.dfsek.terra.api.world.biome.pipeline.stages.MutatorStage; -import com.dfsek.terra.api.world.biome.pipeline.stages.Stage; +import com.dfsek.terra.api.world.biome.generation.pipeline.Stage; import com.dfsek.terra.config.loaders.config.biome.templates.stage.StageTemplate; public abstract class MutatorStageTemplate extends StageTemplate { diff --git a/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/stage/mutator/ReplaceListMutatorTemplate.java b/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/stage/mutator/ReplaceListMutatorTemplate.java index d40eec7b4..12d21f964 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/stage/mutator/ReplaceListMutatorTemplate.java +++ b/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/stage/mutator/ReplaceListMutatorTemplate.java @@ -1,9 +1,9 @@ package com.dfsek.terra.config.loaders.config.biome.templates.stage.mutator; import com.dfsek.tectonic.annotations.Value; -import com.dfsek.terra.api.util.collections.ProbabilityCollection; +import com.dfsek.terra.api.util.collections.ProbabilityCollectionImpl; import com.dfsek.terra.api.world.biome.TerraBiome; -import com.dfsek.terra.api.world.biome.pipeline.mutator.BiomeMutator; +import com.dfsek.terra.api.world.biome.generation.pipeline.BiomeMutator; import com.dfsek.terra.api.world.biome.pipeline.mutator.ReplaceListMutator; import com.dfsek.terra.config.builder.BiomeBuilder; @@ -16,14 +16,14 @@ public class ReplaceListMutatorTemplate extends MutatorStageTemplate { private String defaultFrom; @Value("default-to") - private ProbabilityCollection defaultTo; + private ProbabilityCollectionImpl defaultTo; @Value("to") - private Map> replace; + private Map> replace; @Override public BiomeMutator build(long seed) { - Map> replaceMap = new HashMap<>(); + Map> replaceMap = new HashMap<>(); replace.forEach((biomeBuilder, biomeBuilders) -> replaceMap.put(biomeBuilder.apply(seed), biomeBuilders.map(builder -> builder.apply(seed), true))); diff --git a/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/stage/mutator/ReplaceMutatorTemplate.java b/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/stage/mutator/ReplaceMutatorTemplate.java index fbe801fbf..d4a81b3e6 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/stage/mutator/ReplaceMutatorTemplate.java +++ b/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/stage/mutator/ReplaceMutatorTemplate.java @@ -1,8 +1,8 @@ package com.dfsek.terra.config.loaders.config.biome.templates.stage.mutator; import com.dfsek.tectonic.annotations.Value; -import com.dfsek.terra.api.util.collections.ProbabilityCollection; -import com.dfsek.terra.api.world.biome.pipeline.mutator.BiomeMutator; +import com.dfsek.terra.api.util.collections.ProbabilityCollectionImpl; +import com.dfsek.terra.api.world.biome.generation.pipeline.BiomeMutator; import com.dfsek.terra.api.world.biome.pipeline.mutator.ReplaceMutator; import com.dfsek.terra.config.builder.BiomeBuilder; @@ -12,7 +12,7 @@ public class ReplaceMutatorTemplate extends MutatorStageTemplate { private String from; @Value("to") - private ProbabilityCollection to; + private ProbabilityCollectionImpl to; @Override public BiomeMutator build(long seed) { diff --git a/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/stage/mutator/SmoothMutatorTemplate.java b/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/stage/mutator/SmoothMutatorTemplate.java index a5c27c54a..c0bd1f3b9 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/stage/mutator/SmoothMutatorTemplate.java +++ b/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/stage/mutator/SmoothMutatorTemplate.java @@ -1,6 +1,6 @@ package com.dfsek.terra.config.loaders.config.biome.templates.stage.mutator; -import com.dfsek.terra.api.world.biome.pipeline.mutator.BiomeMutator; +import com.dfsek.terra.api.world.biome.generation.pipeline.BiomeMutator; import com.dfsek.terra.api.world.biome.pipeline.mutator.SmoothMutator; public class SmoothMutatorTemplate extends MutatorStageTemplate { diff --git a/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/sampler/templates/DomainWarpTemplate.java b/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/sampler/templates/DomainWarpTemplate.java index 3607c17e9..03b94a4f9 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/sampler/templates/DomainWarpTemplate.java +++ b/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/sampler/templates/DomainWarpTemplate.java @@ -2,8 +2,8 @@ package com.dfsek.terra.config.loaders.config.sampler.templates; import com.dfsek.tectonic.annotations.Default; import com.dfsek.tectonic.annotations.Value; -import com.dfsek.terra.api.math.noise.NoiseSampler; -import com.dfsek.terra.api.math.noise.samplers.DomainWarpedSampler; +import com.dfsek.terra.api.noise.NoiseSampler; +import com.dfsek.terra.api.noise.samplers.DomainWarpedSampler; import com.dfsek.terra.api.util.seeded.NoiseSeeded; @SuppressWarnings({"unused", "FieldMayBeFinal"}) diff --git a/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/sampler/templates/ImageSamplerTemplate.java b/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/sampler/templates/ImageSamplerTemplate.java index db2ced46e..e8f3c77e4 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/sampler/templates/ImageSamplerTemplate.java +++ b/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/sampler/templates/ImageSamplerTemplate.java @@ -1,8 +1,8 @@ package com.dfsek.terra.config.loaders.config.sampler.templates; import com.dfsek.tectonic.annotations.Value; -import com.dfsek.terra.api.math.noise.NoiseSampler; -import com.dfsek.terra.api.math.noise.samplers.ImageSampler; +import com.dfsek.terra.api.noise.NoiseSampler; +import com.dfsek.terra.api.noise.samplers.ImageSampler; import java.awt.image.BufferedImage; diff --git a/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/sampler/templates/KernelTemplate.java b/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/sampler/templates/KernelTemplate.java index 0fc8db115..933aa3bf1 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/sampler/templates/KernelTemplate.java +++ b/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/sampler/templates/KernelTemplate.java @@ -4,8 +4,8 @@ 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.math.noise.NoiseSampler; -import com.dfsek.terra.api.math.noise.samplers.KernelSampler; +import com.dfsek.terra.api.noise.NoiseSampler; +import com.dfsek.terra.api.noise.samplers.KernelSampler; import com.dfsek.terra.api.util.seeded.NoiseSeeded; import java.util.List; diff --git a/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/sampler/templates/SamplerTemplate.java b/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/sampler/templates/SamplerTemplate.java index 7914ec957..39836d59f 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/sampler/templates/SamplerTemplate.java +++ b/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/sampler/templates/SamplerTemplate.java @@ -5,7 +5,7 @@ import com.dfsek.tectonic.annotations.Value; import com.dfsek.tectonic.config.ValidatedConfigTemplate; import com.dfsek.tectonic.exception.ValidationException; import com.dfsek.tectonic.loading.object.ObjectTemplate; -import com.dfsek.terra.api.math.noise.NoiseSampler; +import com.dfsek.terra.api.noise.NoiseSampler; import com.dfsek.terra.api.util.seeded.NoiseSeeded; @SuppressWarnings("FieldMayBeFinal") diff --git a/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/sampler/templates/noise/CellularNoiseTemplate.java b/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/sampler/templates/noise/CellularNoiseTemplate.java index 90a53d277..73149b741 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/sampler/templates/noise/CellularNoiseTemplate.java +++ b/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/sampler/templates/noise/CellularNoiseTemplate.java @@ -2,9 +2,9 @@ package com.dfsek.terra.config.loaders.config.sampler.templates.noise; import com.dfsek.tectonic.annotations.Default; import com.dfsek.tectonic.annotations.Value; -import com.dfsek.terra.api.math.noise.NoiseSampler; -import com.dfsek.terra.api.math.noise.samplers.noise.CellularSampler; -import com.dfsek.terra.api.math.noise.samplers.noise.simplex.OpenSimplex2Sampler; +import com.dfsek.terra.api.noise.NoiseSampler; +import com.dfsek.terra.api.noise.samplers.noise.CellularSampler; +import com.dfsek.terra.api.noise.samplers.noise.simplex.OpenSimplex2Sampler; import com.dfsek.terra.api.util.seeded.NoiseSeeded; @SuppressWarnings("FieldMayBeFinal") diff --git a/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/sampler/templates/noise/ConstantNoiseTemplate.java b/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/sampler/templates/noise/ConstantNoiseTemplate.java index ba4aa14a4..693cb1ef1 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/sampler/templates/noise/ConstantNoiseTemplate.java +++ b/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/sampler/templates/noise/ConstantNoiseTemplate.java @@ -2,8 +2,8 @@ package com.dfsek.terra.config.loaders.config.sampler.templates.noise; import com.dfsek.tectonic.annotations.Default; import com.dfsek.tectonic.annotations.Value; -import com.dfsek.terra.api.math.noise.NoiseSampler; -import com.dfsek.terra.api.math.noise.samplers.noise.ConstantSampler; +import com.dfsek.terra.api.noise.NoiseSampler; +import com.dfsek.terra.api.noise.samplers.noise.ConstantSampler; import com.dfsek.terra.config.loaders.config.sampler.templates.SamplerTemplate; @SuppressWarnings("FieldMayBeFinal") diff --git a/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/sampler/templates/noise/ExpressionFunctionTemplate.java b/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/sampler/templates/noise/ExpressionFunctionTemplate.java index 90926aea6..fb4d26c00 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/sampler/templates/noise/ExpressionFunctionTemplate.java +++ b/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/sampler/templates/noise/ExpressionFunctionTemplate.java @@ -8,9 +8,8 @@ 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.math.noise.NoiseSampler; -import com.dfsek.terra.api.math.noise.samplers.noise.ExpressionFunction; -import com.dfsek.terra.api.math.paralithic.BlankFunction; +import com.dfsek.terra.api.noise.NoiseSampler; +import com.dfsek.terra.api.noise.samplers.noise.ExpressionFunction; import com.dfsek.terra.api.math.paralithic.defined.UserDefinedFunction; import com.dfsek.terra.api.math.paralithic.noise.NoiseFunction2; import com.dfsek.terra.api.math.paralithic.noise.NoiseFunction3; diff --git a/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/sampler/templates/noise/GaborNoiseTemplate.java b/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/sampler/templates/noise/GaborNoiseTemplate.java index b15aa75cd..f426f1f62 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/sampler/templates/noise/GaborNoiseTemplate.java +++ b/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/sampler/templates/noise/GaborNoiseTemplate.java @@ -2,8 +2,8 @@ package com.dfsek.terra.config.loaders.config.sampler.templates.noise; import com.dfsek.tectonic.annotations.Default; import com.dfsek.tectonic.annotations.Value; -import com.dfsek.terra.api.math.noise.NoiseSampler; -import com.dfsek.terra.api.math.noise.samplers.noise.GaborNoiseSampler; +import com.dfsek.terra.api.noise.NoiseSampler; +import com.dfsek.terra.api.noise.samplers.noise.GaborNoiseSampler; public class GaborNoiseTemplate extends NoiseTemplate { @Value("rotation") diff --git a/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/sampler/templates/noise/NoiseTemplate.java b/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/sampler/templates/noise/NoiseTemplate.java index 9fb123865..c8bcc8ed8 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/sampler/templates/noise/NoiseTemplate.java +++ b/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/sampler/templates/noise/NoiseTemplate.java @@ -2,7 +2,7 @@ package com.dfsek.terra.config.loaders.config.sampler.templates.noise; import com.dfsek.tectonic.annotations.Default; import com.dfsek.tectonic.annotations.Value; -import com.dfsek.terra.api.math.noise.samplers.noise.NoiseFunction; +import com.dfsek.terra.api.noise.samplers.noise.NoiseFunction; import com.dfsek.terra.config.loaders.config.sampler.templates.SamplerTemplate; @SuppressWarnings({"unused", "FieldMayBeFinal"}) diff --git a/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/sampler/templates/noise/SimpleNoiseTemplate.java b/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/sampler/templates/noise/SimpleNoiseTemplate.java index 9c1ab1cb2..e4c463743 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/sampler/templates/noise/SimpleNoiseTemplate.java +++ b/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/sampler/templates/noise/SimpleNoiseTemplate.java @@ -1,7 +1,7 @@ package com.dfsek.terra.config.loaders.config.sampler.templates.noise; -import com.dfsek.terra.api.math.noise.NoiseSampler; -import com.dfsek.terra.api.math.noise.samplers.noise.NoiseFunction; +import com.dfsek.terra.api.noise.NoiseSampler; +import com.dfsek.terra.api.noise.samplers.noise.NoiseFunction; import java.util.function.Function; diff --git a/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/sampler/templates/noise/fractal/BrownianMotionTemplate.java b/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/sampler/templates/noise/fractal/BrownianMotionTemplate.java index 155822003..f550b3e77 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/sampler/templates/noise/fractal/BrownianMotionTemplate.java +++ b/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/sampler/templates/noise/fractal/BrownianMotionTemplate.java @@ -1,7 +1,7 @@ package com.dfsek.terra.config.loaders.config.sampler.templates.noise.fractal; -import com.dfsek.terra.api.math.noise.NoiseSampler; -import com.dfsek.terra.api.math.noise.samplers.noise.fractal.BrownianMotionSampler; +import com.dfsek.terra.api.noise.NoiseSampler; +import com.dfsek.terra.api.noise.samplers.noise.fractal.BrownianMotionSampler; public class BrownianMotionTemplate extends FractalTemplate { @Override diff --git a/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/sampler/templates/noise/fractal/FractalTemplate.java b/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/sampler/templates/noise/fractal/FractalTemplate.java index 5a1bb3602..b4b9274e7 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/sampler/templates/noise/fractal/FractalTemplate.java +++ b/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/sampler/templates/noise/fractal/FractalTemplate.java @@ -2,7 +2,7 @@ package com.dfsek.terra.config.loaders.config.sampler.templates.noise.fractal; import com.dfsek.tectonic.annotations.Default; import com.dfsek.tectonic.annotations.Value; -import com.dfsek.terra.api.math.noise.samplers.noise.fractal.FractalNoiseFunction; +import com.dfsek.terra.api.noise.samplers.noise.fractal.FractalNoiseFunction; import com.dfsek.terra.api.util.seeded.NoiseSeeded; import com.dfsek.terra.config.loaders.config.sampler.templates.SamplerTemplate; diff --git a/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/sampler/templates/noise/fractal/PingPongTemplate.java b/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/sampler/templates/noise/fractal/PingPongTemplate.java index b0319155e..c59de2b11 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/sampler/templates/noise/fractal/PingPongTemplate.java +++ b/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/sampler/templates/noise/fractal/PingPongTemplate.java @@ -2,8 +2,8 @@ package com.dfsek.terra.config.loaders.config.sampler.templates.noise.fractal; import com.dfsek.tectonic.annotations.Default; import com.dfsek.tectonic.annotations.Value; -import com.dfsek.terra.api.math.noise.NoiseSampler; -import com.dfsek.terra.api.math.noise.samplers.noise.fractal.PingPongSampler; +import com.dfsek.terra.api.noise.NoiseSampler; +import com.dfsek.terra.api.noise.samplers.noise.fractal.PingPongSampler; @SuppressWarnings({"unused", "FieldMayBeFinal"}) public class PingPongTemplate extends FractalTemplate { @Value("ping-pong") diff --git a/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/sampler/templates/noise/fractal/RidgedFractalTemplate.java b/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/sampler/templates/noise/fractal/RidgedFractalTemplate.java index d74b34e91..fdebb63a4 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/sampler/templates/noise/fractal/RidgedFractalTemplate.java +++ b/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/sampler/templates/noise/fractal/RidgedFractalTemplate.java @@ -1,7 +1,7 @@ package com.dfsek.terra.config.loaders.config.sampler.templates.noise.fractal; -import com.dfsek.terra.api.math.noise.NoiseSampler; -import com.dfsek.terra.api.math.noise.samplers.noise.fractal.RidgedFractalSampler; +import com.dfsek.terra.api.noise.NoiseSampler; +import com.dfsek.terra.api.noise.samplers.noise.fractal.RidgedFractalSampler; public class RidgedFractalTemplate extends FractalTemplate { @Override diff --git a/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/sampler/templates/normalizer/ClampNormalizerTemplate.java b/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/sampler/templates/normalizer/ClampNormalizerTemplate.java index 1701e8223..b8f0e65ed 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/sampler/templates/normalizer/ClampNormalizerTemplate.java +++ b/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/sampler/templates/normalizer/ClampNormalizerTemplate.java @@ -1,9 +1,9 @@ package com.dfsek.terra.config.loaders.config.sampler.templates.normalizer; import com.dfsek.tectonic.annotations.Value; -import com.dfsek.terra.api.math.noise.NoiseSampler; -import com.dfsek.terra.api.math.noise.normalizer.ClampNormalizer; -import com.dfsek.terra.api.math.noise.normalizer.LinearNormalizer; +import com.dfsek.terra.api.noise.NoiseSampler; +import com.dfsek.terra.api.noise.normalizer.ClampNormalizer; +import com.dfsek.terra.api.noise.normalizer.LinearNormalizer; @SuppressWarnings({"unused", "FieldMayBeFinal"}) public class ClampNormalizerTemplate extends NormalizerTemplate { diff --git a/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/sampler/templates/normalizer/LinearNormalizerTemplate.java b/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/sampler/templates/normalizer/LinearNormalizerTemplate.java index 42b7cb2f8..b1c8ad727 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/sampler/templates/normalizer/LinearNormalizerTemplate.java +++ b/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/sampler/templates/normalizer/LinearNormalizerTemplate.java @@ -1,8 +1,8 @@ package com.dfsek.terra.config.loaders.config.sampler.templates.normalizer; import com.dfsek.tectonic.annotations.Value; -import com.dfsek.terra.api.math.noise.NoiseSampler; -import com.dfsek.terra.api.math.noise.normalizer.LinearNormalizer; +import com.dfsek.terra.api.noise.NoiseSampler; +import com.dfsek.terra.api.noise.normalizer.LinearNormalizer; @SuppressWarnings({"unused", "FieldMayBeFinal"}) public class LinearNormalizerTemplate extends NormalizerTemplate { diff --git a/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/sampler/templates/normalizer/NormalNormalizerTemplate.java b/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/sampler/templates/normalizer/NormalNormalizerTemplate.java index cdc9cc48f..8f8bb308b 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/sampler/templates/normalizer/NormalNormalizerTemplate.java +++ b/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/sampler/templates/normalizer/NormalNormalizerTemplate.java @@ -2,8 +2,8 @@ package com.dfsek.terra.config.loaders.config.sampler.templates.normalizer; import com.dfsek.tectonic.annotations.Default; import com.dfsek.tectonic.annotations.Value; -import com.dfsek.terra.api.math.noise.NoiseSampler; -import com.dfsek.terra.api.math.noise.normalizer.NormalNormalizer; +import com.dfsek.terra.api.noise.NoiseSampler; +import com.dfsek.terra.api.noise.normalizer.NormalNormalizer; @SuppressWarnings({"unused", "FieldMayBeFinal"}) public class NormalNormalizerTemplate extends NormalizerTemplate { diff --git a/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/sampler/templates/normalizer/NormalizerTemplate.java b/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/sampler/templates/normalizer/NormalizerTemplate.java index 35ad8c7fe..af4f843f7 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/sampler/templates/normalizer/NormalizerTemplate.java +++ b/common/implementation/src/main/java/com/dfsek/terra/config/loaders/config/sampler/templates/normalizer/NormalizerTemplate.java @@ -1,7 +1,7 @@ package com.dfsek.terra.config.loaders.config.sampler.templates.normalizer; import com.dfsek.tectonic.annotations.Value; -import com.dfsek.terra.api.math.noise.normalizer.Normalizer; +import com.dfsek.terra.api.noise.normalizer.Normalizer; import com.dfsek.terra.api.util.seeded.NoiseSeeded; import com.dfsek.terra.config.loaders.config.sampler.templates.SamplerTemplate; diff --git a/common/implementation/src/main/java/com/dfsek/terra/config/loaders/palette/CarverPaletteLoader.java b/common/implementation/src/main/java/com/dfsek/terra/config/loaders/palette/CarverPaletteLoader.java index 696683dd5..e2fa6c247 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/config/loaders/palette/CarverPaletteLoader.java +++ b/common/implementation/src/main/java/com/dfsek/terra/config/loaders/palette/CarverPaletteLoader.java @@ -4,9 +4,9 @@ import com.dfsek.tectonic.config.Configuration; import com.dfsek.tectonic.exception.LoadException; 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.block.BlockData; import com.dfsek.terra.api.util.collections.MaterialSet; -import com.dfsek.terra.api.util.collections.ProbabilityCollection; +import com.dfsek.terra.api.util.collections.ProbabilityCollectionImpl; import com.dfsek.terra.carving.CarverPalette; import com.dfsek.terra.config.loaders.Types; @@ -24,7 +24,7 @@ public class CarverPaletteLoader implements TypeLoader { CarverPalette palette = new CarverPalette((MaterialSet) configLoader.loadType(MaterialSet.class, configuration.get("replace")), (Boolean) configuration.get("replace-blacklist")); for(Map map : (List>) configuration.get("layers")) { - ProbabilityCollection layer = (ProbabilityCollection) configLoader.loadType(Types.BLOCK_DATA_PROBABILITY_COLLECTION_TYPE, map.get("materials")); + ProbabilityCollectionImpl layer = (ProbabilityCollectionImpl) configLoader.loadType(Types.BLOCK_DATA_PROBABILITY_COLLECTION_TYPE, map.get("materials")); palette.add(layer, (Integer) map.get("y")); } palette.build(); diff --git a/common/implementation/src/main/java/com/dfsek/terra/config/loaders/palette/PaletteLayerLoader.java b/common/implementation/src/main/java/com/dfsek/terra/config/loaders/palette/PaletteLayerLoader.java index 01a30a2e2..716570673 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/config/loaders/palette/PaletteLayerLoader.java +++ b/common/implementation/src/main/java/com/dfsek/terra/config/loaders/palette/PaletteLayerLoader.java @@ -3,9 +3,9 @@ package com.dfsek.terra.config.loaders.palette; import com.dfsek.tectonic.exception.LoadException; import com.dfsek.tectonic.loading.ConfigLoader; import com.dfsek.tectonic.loading.TypeLoader; -import com.dfsek.terra.api.math.noise.NoiseSampler; -import com.dfsek.terra.api.platform.block.BlockData; -import com.dfsek.terra.api.util.collections.ProbabilityCollection; +import com.dfsek.terra.api.noise.NoiseSampler; +import com.dfsek.terra.api.block.BlockData; +import com.dfsek.terra.api.util.collections.ProbabilityCollectionImpl; import com.dfsek.terra.api.util.seeded.NoiseSeeded; import com.dfsek.terra.api.world.palette.holder.PaletteLayerHolder; import com.dfsek.terra.config.loaders.Types; @@ -18,7 +18,7 @@ public class PaletteLayerLoader implements TypeLoader { @Override 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")); + ProbabilityCollectionImpl collection = (ProbabilityCollectionImpl) configLoader.loadType(Types.BLOCK_DATA_PROBABILITY_COLLECTION_TYPE, map.get("materials")); NoiseSampler sampler = null; if(map.containsKey("noise")) { diff --git a/common/implementation/src/main/java/com/dfsek/terra/config/pack/ConfigPack.java b/common/implementation/src/main/java/com/dfsek/terra/config/pack/ConfigPack.java index bfbdfc6fa..ed57d3fdb 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/config/pack/ConfigPack.java +++ b/common/implementation/src/main/java/com/dfsek/terra/config/pack/ConfigPack.java @@ -4,7 +4,6 @@ import com.dfsek.paralithic.eval.parser.Scope; import com.dfsek.tectonic.abstraction.AbstractConfigLoader; import com.dfsek.tectonic.config.ConfigTemplate; import com.dfsek.tectonic.config.Configuration; -import com.dfsek.tectonic.config.Configuration; import com.dfsek.tectonic.exception.ConfigException; import com.dfsek.tectonic.exception.LoadException; import com.dfsek.tectonic.loading.ConfigLoader; @@ -21,7 +20,7 @@ import com.dfsek.terra.api.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.util.seeded.NoiseSeeded; -import com.dfsek.terra.api.world.biome.provider.BiomeProvider; +import com.dfsek.terra.api.world.biome.generation.BiomeProvider; import com.dfsek.terra.config.builder.BiomeBuilder; import com.dfsek.terra.config.dummy.DummyWorld; import com.dfsek.terra.config.fileloaders.FolderLoader; diff --git a/common/implementation/src/main/java/com/dfsek/terra/config/pack/ConfigPackPostTemplate.java b/common/implementation/src/main/java/com/dfsek/terra/config/pack/ConfigPackPostTemplate.java index dd24def46..b710440e9 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/config/pack/ConfigPackPostTemplate.java +++ b/common/implementation/src/main/java/com/dfsek/terra/config/pack/ConfigPackPostTemplate.java @@ -2,7 +2,7 @@ package com.dfsek.terra.config.pack; import com.dfsek.tectonic.annotations.Value; import com.dfsek.tectonic.config.ConfigTemplate; -import com.dfsek.terra.api.world.biome.provider.BiomeProvider; +import com.dfsek.terra.api.world.biome.generation.BiomeProvider; public class ConfigPackPostTemplate implements ConfigTemplate { @Value("biomes") 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 bfebcb717..d1b767d04 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 @@ -3,7 +3,7 @@ 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.api.addons.TerraAddon; +import com.dfsek.terra.api.addon.TerraAddon; import com.dfsek.terra.api.util.seeded.NoiseSeeded; import com.dfsek.terra.config.loaders.config.function.FunctionTemplate; diff --git a/common/implementation/src/main/java/com/dfsek/terra/config/pack/WorldConfig.java b/common/implementation/src/main/java/com/dfsek/terra/config/pack/WorldConfig.java index c3be03456..25eb3dfa3 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/config/pack/WorldConfig.java +++ b/common/implementation/src/main/java/com/dfsek/terra/config/pack/WorldConfig.java @@ -3,7 +3,7 @@ package com.dfsek.terra.config.pack; import com.dfsek.terra.api.TerraPlugin; import com.dfsek.terra.api.registry.LockedRegistry; import com.dfsek.terra.api.world.biome.TerraBiome; -import com.dfsek.terra.api.world.biome.provider.BiomeProvider; +import com.dfsek.terra.api.world.biome.generation.BiomeProvider; import com.dfsek.terra.carving.UserDefinedCarver; import com.dfsek.terra.config.builder.BiomeBuilder; import com.dfsek.terra.registry.OpenRegistry; diff --git a/common/implementation/src/main/java/com/dfsek/terra/config/templates/BiomeTemplate.java b/common/implementation/src/main/java/com/dfsek/terra/config/templates/BiomeTemplate.java index 6a355a3e6..ea91e851a 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/config/templates/BiomeTemplate.java +++ b/common/implementation/src/main/java/com/dfsek/terra/config/templates/BiomeTemplate.java @@ -9,14 +9,14 @@ import com.dfsek.tectonic.annotations.Value; import com.dfsek.tectonic.config.ValidatedConfigTemplate; import com.dfsek.tectonic.exception.ValidationException; import com.dfsek.terra.api.TerraPlugin; -import com.dfsek.terra.api.math.noise.NoiseSampler; -import com.dfsek.terra.api.math.noise.samplers.noise.ConstantSampler; +import com.dfsek.terra.api.noise.NoiseSampler; +import com.dfsek.terra.api.noise.samplers.noise.ConstantSampler; import com.dfsek.terra.api.math.paralithic.BlankFunction; import com.dfsek.terra.api.math.paralithic.defined.UserDefinedFunction; -import com.dfsek.terra.api.platform.block.BlockType; -import com.dfsek.terra.api.platform.world.Biome; +import com.dfsek.terra.api.block.BlockType; +import com.dfsek.terra.api.world.biome.Biome; import com.dfsek.terra.api.util.GlueList; -import com.dfsek.terra.api.util.collections.ProbabilityCollection; +import com.dfsek.terra.api.util.collections.ProbabilityCollectionImpl; import com.dfsek.terra.api.util.seeded.NoiseSeeded; import com.dfsek.terra.api.world.palette.Palette; import com.dfsek.terra.api.world.palette.SinglePalette; @@ -75,7 +75,7 @@ public class BiomeTemplate extends AbstractableTemplate implements ValidatedConf @Value("vanilla") @Abstractable - private ProbabilityCollection vanilla; + private ProbabilityCollectionImpl vanilla; @Value("biome-noise") @Default @@ -302,7 +302,7 @@ public class BiomeTemplate extends AbstractableTemplate implements ValidatedConf return trees; } - public ProbabilityCollection getVanilla() { + public ProbabilityCollectionImpl getVanilla() { return vanilla; } diff --git a/common/implementation/src/main/java/com/dfsek/terra/config/templates/CarverTemplate.java b/common/implementation/src/main/java/com/dfsek/terra/config/templates/CarverTemplate.java index 96cdbde03..001adb36c 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/config/templates/CarverTemplate.java +++ b/common/implementation/src/main/java/com/dfsek/terra/config/templates/CarverTemplate.java @@ -4,7 +4,7 @@ import com.dfsek.tectonic.annotations.Abstractable; 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.BlockType; +import com.dfsek.terra.api.block.BlockType; import com.dfsek.terra.api.util.collections.MaterialSet; import com.dfsek.terra.carving.CarverPalette; diff --git a/common/implementation/src/main/java/com/dfsek/terra/config/templates/OreTemplate.java b/common/implementation/src/main/java/com/dfsek/terra/config/templates/OreTemplate.java index 82de9a134..de58654fc 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/config/templates/OreTemplate.java +++ b/common/implementation/src/main/java/com/dfsek/terra/config/templates/OreTemplate.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.Range; -import com.dfsek.terra.api.platform.block.BlockData; -import com.dfsek.terra.api.platform.block.BlockType; +import com.dfsek.terra.api.block.BlockData; +import com.dfsek.terra.api.block.BlockType; import com.dfsek.terra.api.util.collections.MaterialSet; import com.dfsek.terra.world.population.items.ores.Ore; diff --git a/common/implementation/src/main/java/com/dfsek/terra/config/templates/PaletteTemplate.java b/common/implementation/src/main/java/com/dfsek/terra/config/templates/PaletteTemplate.java index e18ae2618..567a9896e 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/config/templates/PaletteTemplate.java +++ b/common/implementation/src/main/java/com/dfsek/terra/config/templates/PaletteTemplate.java @@ -3,8 +3,8 @@ 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.api.math.noise.NoiseSampler; -import com.dfsek.terra.api.math.noise.samplers.noise.random.WhiteNoiseSampler; +import com.dfsek.terra.api.noise.NoiseSampler; +import com.dfsek.terra.api.noise.samplers.noise.random.WhiteNoiseSampler; import com.dfsek.terra.api.util.seeded.NoiseSeeded; import com.dfsek.terra.api.world.palette.holder.PaletteLayerHolder; diff --git a/common/implementation/src/main/java/com/dfsek/terra/config/templates/StructureTemplate.java b/common/implementation/src/main/java/com/dfsek/terra/config/templates/StructureTemplate.java index a291ae3f9..0537fcea3 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/config/templates/StructureTemplate.java +++ b/common/implementation/src/main/java/com/dfsek/terra/config/templates/StructureTemplate.java @@ -8,7 +8,7 @@ import com.dfsek.terra.api.math.GridSpawn; import com.dfsek.terra.api.math.Range; import com.dfsek.terra.api.structures.script.StructureScript; import com.dfsek.terra.api.util.GlueList; -import com.dfsek.terra.api.util.collections.ProbabilityCollection; +import com.dfsek.terra.api.util.collections.ProbabilityCollectionImpl; import java.util.List; @@ -19,7 +19,7 @@ public class StructureTemplate extends AbstractableTemplate implements ConfigTem @Value("scripts") @Abstractable - private ProbabilityCollection structure; + private ProbabilityCollectionImpl structure; @Value("spawn.start") @Abstractable @@ -38,7 +38,7 @@ public class StructureTemplate extends AbstractableTemplate implements ConfigTem return id; } - public ProbabilityCollection getStructures() { + public ProbabilityCollectionImpl getStructures() { return structure; } diff --git a/common/implementation/src/main/java/com/dfsek/terra/config/templates/TreeTemplate.java b/common/implementation/src/main/java/com/dfsek/terra/config/templates/TreeTemplate.java index 008d05d4f..5ae0ebb03 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/config/templates/TreeTemplate.java +++ b/common/implementation/src/main/java/com/dfsek/terra/config/templates/TreeTemplate.java @@ -5,13 +5,13 @@ import com.dfsek.tectonic.annotations.Default; import com.dfsek.tectonic.annotations.Value; import com.dfsek.terra.api.structures.script.StructureScript; import com.dfsek.terra.api.util.collections.MaterialSet; -import com.dfsek.terra.api.util.collections.ProbabilityCollection; +import com.dfsek.terra.api.util.collections.ProbabilityCollectionImpl; @SuppressWarnings({"unused", "FieldMayBeFinal"}) public class TreeTemplate extends AbstractableTemplate { @Value("scripts") @Abstractable - private ProbabilityCollection structure; + private ProbabilityCollectionImpl structure; @Value("id") private String id; @@ -25,7 +25,7 @@ public class TreeTemplate extends AbstractableTemplate { @Abstractable private MaterialSet spawnable; - public ProbabilityCollection getStructures() { + public ProbabilityCollectionImpl getStructures() { return structure; } diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/registry/CheckedRegistry.java b/common/implementation/src/main/java/com/dfsek/terra/registry/CheckedRegistryImpl.java similarity index 63% rename from common/implementation/src/main/java/com/dfsek/terra/api/registry/CheckedRegistry.java rename to common/implementation/src/main/java/com/dfsek/terra/registry/CheckedRegistryImpl.java index 85323611b..85725d943 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/registry/CheckedRegistry.java +++ b/common/implementation/src/main/java/com/dfsek/terra/registry/CheckedRegistryImpl.java @@ -1,9 +1,11 @@ -package com.dfsek.terra.api.registry; +package com.dfsek.terra.registry; import com.dfsek.tectonic.exception.LoadException; import com.dfsek.tectonic.loading.ConfigLoader; +import com.dfsek.terra.api.registry.CheckedRegistry; +import com.dfsek.terra.api.registry.OpenRegistry; import com.dfsek.terra.registry.OpenRegistry; -import com.dfsek.terra.registry.exception.DuplicateEntryException; +import com.dfsek.terra.api.registry.DuplicateEntryException; import java.lang.reflect.Type; import java.util.Collection; @@ -16,33 +18,19 @@ import java.util.function.Consumer; * * @param Type in registry */ -public class CheckedRegistry implements Registry { +public class CheckedRegistryImpl implements CheckedRegistry { private final OpenRegistry registry; - public CheckedRegistry(OpenRegistry registry) { + public CheckedRegistryImpl(OpenRegistry registry) { this.registry = registry; } - /** - * Add a value to this registry, checking whether it is present first. - * - * @param identifier Identifier to assign value. - * @param value Value to add. - * @throws DuplicateEntryException If an entry with the same identifier is already present. - */ + @Override public void add(String identifier, T value) throws DuplicateEntryException { registry.addChecked(identifier, value); } - /** - * Add a value to the registry, without checking presence beforehand. - *

- * Use of this method is generally discouraged, as it is bad practice to overwrite registry values. - * - * @param identifier Identifier to assign value. - * @param value Value to add. - * @deprecated Use of {@link #add(String, Object)} is encouraged. - */ + @Override @Deprecated public void addUnchecked(String identifier, T value) { registry.add(identifier, value); diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/registry/LockedRegistry.java b/common/implementation/src/main/java/com/dfsek/terra/registry/LockedRegistryImpl.java similarity index 86% rename from common/implementation/src/main/java/com/dfsek/terra/api/registry/LockedRegistry.java rename to common/implementation/src/main/java/com/dfsek/terra/registry/LockedRegistryImpl.java index 8889998b6..c98062a53 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/registry/LockedRegistry.java +++ b/common/implementation/src/main/java/com/dfsek/terra/registry/LockedRegistryImpl.java @@ -1,7 +1,8 @@ -package com.dfsek.terra.api.registry; +package com.dfsek.terra.registry; import com.dfsek.tectonic.exception.LoadException; import com.dfsek.tectonic.loading.ConfigLoader; +import com.dfsek.terra.api.registry.Registry; import java.lang.reflect.Type; import java.util.Collection; @@ -14,10 +15,10 @@ import java.util.function.Consumer; * * @param Type in registry */ -public class LockedRegistry implements Registry { +public class LockedRegistryImpl implements Registry { private final Registry registry; - public LockedRegistry(Registry registry) { + public LockedRegistryImpl(Registry registry) { this.registry = registry; } diff --git a/common/implementation/src/main/java/com/dfsek/terra/registry/OpenRegistry.java b/common/implementation/src/main/java/com/dfsek/terra/registry/OpenRegistryImpl.java similarity index 79% rename from common/implementation/src/main/java/com/dfsek/terra/registry/OpenRegistry.java rename to common/implementation/src/main/java/com/dfsek/terra/registry/OpenRegistryImpl.java index 3cbe07b0a..82070af97 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/registry/OpenRegistry.java +++ b/common/implementation/src/main/java/com/dfsek/terra/registry/OpenRegistryImpl.java @@ -2,8 +2,8 @@ package com.dfsek.terra.registry; import com.dfsek.tectonic.exception.LoadException; import com.dfsek.tectonic.loading.ConfigLoader; -import com.dfsek.terra.api.registry.Registry; -import com.dfsek.terra.registry.exception.DuplicateEntryException; +import com.dfsek.terra.api.registry.OpenRegistry; +import com.dfsek.terra.api.registry.DuplicateEntryException; import java.lang.reflect.Type; import java.util.Collection; @@ -19,15 +19,15 @@ import java.util.stream.Collectors; * Registry implementation with read/write access. For internal use only. * @param */ -public class OpenRegistry implements Registry { +public class OpenRegistryImpl implements OpenRegistry { private final Map> objects; private static final Entry NULL = new Entry<>(null); - public OpenRegistry() { + public OpenRegistryImpl() { objects = new HashMap<>(); } - protected OpenRegistry(Map> init) { + protected OpenRegistryImpl(Map> init) { this.objects = init; } @@ -39,29 +39,18 @@ public class OpenRegistry implements Registry { return obj; } - /** - * Add a value to this registry. - * - * @param identifier Identifier to assign value. - * @param value Value to add. - */ + @Override public boolean add(String identifier, T value) { return add(identifier, new Entry<>(value)); } - protected boolean add(String identifier, Entry value) { + public boolean add(String identifier, Entry value) { boolean exists = objects.containsKey(identifier); objects.put(identifier, value); return exists; } - /** - * Add a value to this registry, checking whether it is present first. - * - * @param identifier Identifier to assign value. - * @param value Value to add. - * @throws DuplicateEntryException If an entry with the same identifier is already present. - */ + @Override public void addChecked(String identifier, T value) throws DuplicateEntryException { if(objects.containsKey(identifier)) throw new DuplicateEntryException("Value with identifier \"" + identifier + "\" is already defined in registry."); @@ -107,9 +96,7 @@ public class OpenRegistry implements Registry { return dead; } - /** - * Clears all entries from the registry. - */ + @Override public void clear() { objects.clear(); } 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 90dd2a4b4..2148949f3 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 @@ -3,7 +3,7 @@ package com.dfsek.terra.registry.config; import com.dfsek.tectonic.config.ConfigTemplate; import com.dfsek.tectonic.exception.LoadException; import com.dfsek.terra.api.TerraPlugin; -import com.dfsek.terra.api.platform.world.Tree; +import com.dfsek.terra.api.world.Tree; import com.dfsek.terra.api.world.flora.Flora; import com.dfsek.terra.api.world.palette.Palette; import com.dfsek.terra.carving.UserDefinedCarver; diff --git a/common/implementation/src/main/java/com/dfsek/terra/registry/config/FloraRegistry.java b/common/implementation/src/main/java/com/dfsek/terra/registry/config/FloraRegistry.java index 65858b8ad..5ae64fabd 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/registry/config/FloraRegistry.java +++ b/common/implementation/src/main/java/com/dfsek/terra/registry/config/FloraRegistry.java @@ -1,7 +1,7 @@ package com.dfsek.terra.registry.config; import com.dfsek.terra.api.TerraPlugin; -import com.dfsek.terra.api.platform.block.BlockData; +import com.dfsek.terra.api.block.BlockData; import com.dfsek.terra.api.util.collections.MaterialSet; import com.dfsek.terra.api.world.flora.Flora; import com.dfsek.terra.registry.OpenRegistry; diff --git a/common/implementation/src/main/java/com/dfsek/terra/registry/config/LootRegistry.java b/common/implementation/src/main/java/com/dfsek/terra/registry/config/LootRegistry.java index 8c8e987aa..fbf9bedc8 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/registry/config/LootRegistry.java +++ b/common/implementation/src/main/java/com/dfsek/terra/registry/config/LootRegistry.java @@ -1,7 +1,7 @@ package com.dfsek.terra.registry.config; +import com.dfsek.terra.registry.OpenRegistryImpl; import com.dfsek.terra.api.structures.loot.LootTable; -import com.dfsek.terra.registry.OpenRegistry; -public class LootRegistry extends OpenRegistry { +public class LootRegistry extends OpenRegistryImpl { } diff --git a/common/implementation/src/main/java/com/dfsek/terra/registry/config/NoiseRegistry.java b/common/implementation/src/main/java/com/dfsek/terra/registry/config/NoiseRegistry.java index ac0bc4b48..72752f96f 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/registry/config/NoiseRegistry.java +++ b/common/implementation/src/main/java/com/dfsek/terra/registry/config/NoiseRegistry.java @@ -1,13 +1,13 @@ package com.dfsek.terra.registry.config; -import com.dfsek.terra.api.math.noise.samplers.noise.random.GaussianNoiseSampler; -import com.dfsek.terra.api.math.noise.samplers.noise.random.WhiteNoiseSampler; -import com.dfsek.terra.api.math.noise.samplers.noise.simplex.OpenSimplex2SSampler; -import com.dfsek.terra.api.math.noise.samplers.noise.simplex.OpenSimplex2Sampler; -import com.dfsek.terra.api.math.noise.samplers.noise.simplex.PerlinSampler; -import com.dfsek.terra.api.math.noise.samplers.noise.simplex.SimplexSampler; -import com.dfsek.terra.api.math.noise.samplers.noise.value.ValueCubicSampler; -import com.dfsek.terra.api.math.noise.samplers.noise.value.ValueSampler; +import com.dfsek.terra.api.noise.samplers.noise.random.GaussianNoiseSampler; +import com.dfsek.terra.api.noise.samplers.noise.random.WhiteNoiseSampler; +import com.dfsek.terra.api.noise.samplers.noise.simplex.OpenSimplex2SSampler; +import com.dfsek.terra.api.noise.samplers.noise.simplex.OpenSimplex2Sampler; +import com.dfsek.terra.api.noise.samplers.noise.simplex.PerlinSampler; +import com.dfsek.terra.api.noise.samplers.noise.simplex.SimplexSampler; +import com.dfsek.terra.api.noise.samplers.noise.value.ValueCubicSampler; +import com.dfsek.terra.api.noise.samplers.noise.value.ValueSampler; import com.dfsek.terra.api.util.seeded.NoiseProvider; import com.dfsek.terra.config.loaders.config.sampler.templates.DomainWarpTemplate; import com.dfsek.terra.config.loaders.config.sampler.templates.ImageSamplerTemplate; diff --git a/common/implementation/src/main/java/com/dfsek/terra/registry/config/TreeRegistry.java b/common/implementation/src/main/java/com/dfsek/terra/registry/config/TreeRegistry.java index cc100ac3f..9812cf4da 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/registry/config/TreeRegistry.java +++ b/common/implementation/src/main/java/com/dfsek/terra/registry/config/TreeRegistry.java @@ -1,6 +1,6 @@ package com.dfsek.terra.registry.config; -import com.dfsek.terra.api.platform.world.Tree; +import com.dfsek.terra.api.world.Tree; import com.dfsek.terra.registry.OpenRegistry; public class TreeRegistry extends OpenRegistry { diff --git a/common/implementation/src/main/java/com/dfsek/terra/registry/master/AddonRegistry.java b/common/implementation/src/main/java/com/dfsek/terra/registry/master/AddonRegistry.java index f2c50acfb..0f00a007c 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/registry/master/AddonRegistry.java +++ b/common/implementation/src/main/java/com/dfsek/terra/registry/master/AddonRegistry.java @@ -5,11 +5,11 @@ import com.dfsek.terra.addon.AddonPool; import com.dfsek.terra.addon.PreLoadAddon; import com.dfsek.terra.addon.exception.AddonLoadException; import com.dfsek.terra.api.TerraPlugin; -import com.dfsek.terra.api.addons.TerraAddon; -import com.dfsek.terra.api.injection.Injector; +import com.dfsek.terra.api.addon.TerraAddon; +import com.dfsek.terra.api.inject.InjectorImpl; import com.dfsek.terra.api.injection.exception.InjectionException; -import com.dfsek.terra.registry.OpenRegistry; -import com.dfsek.terra.registry.exception.DuplicateEntryException; +import com.dfsek.terra.api.registry.DuplicateEntryException; +import com.dfsek.terra.registry.OpenRegistryImpl; import java.io.File; import java.io.IOException; @@ -18,11 +18,10 @@ import java.lang.reflect.InvocationTargetException; import java.util.logging.LogManager; import java.util.logging.Logger; -public class AddonRegistry extends OpenRegistry { +public class AddonRegistry extends OpenRegistryImpl { private final TerraPlugin main; public AddonRegistry(TerraPlugin main) { - this.main = main; } @@ -45,7 +44,7 @@ public class AddonRegistry extends OpenRegistry { } public boolean loadAll() { - Injector pluginInjector = new Injector<>(main); + InjectorImpl pluginInjector = new InjectorImpl<>(main); pluginInjector.addExplicitTarget(TerraPlugin.class); boolean valid = true; @@ -75,7 +74,7 @@ public class AddonRegistry extends OpenRegistry { addonLogger = LogManager.getLogManager().getLogger(logPrefix); } - Injector loggerInjector = new Injector<>(addonLogger); + InjectorImpl loggerInjector = new InjectorImpl<>(addonLogger); loggerInjector.addExplicitTarget(Logger.class); try { diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/math/vector/Vector2.java b/common/implementation/src/main/java/com/dfsek/terra/vector/Vector2Impl.java similarity index 56% rename from common/implementation/src/main/java/com/dfsek/terra/api/math/vector/Vector2.java rename to common/implementation/src/main/java/com/dfsek/terra/vector/Vector2Impl.java index 8513e56d2..285a15080 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/math/vector/Vector2.java +++ b/common/implementation/src/main/java/com/dfsek/terra/vector/Vector2Impl.java @@ -1,12 +1,13 @@ -package com.dfsek.terra.api.math.vector; +package com.dfsek.terra.vector; import com.dfsek.terra.api.math.MathUtil; +import com.dfsek.terra.api.vector.Vector2; import net.jafama.FastMath; /** * oh yeah */ -public class Vector2 implements Cloneable { +public class Vector2Impl implements Vector2 { private double x; private double z; @@ -16,132 +17,84 @@ public class Vector2 implements Cloneable { * @param x X component * @param z Z component */ - public Vector2(double x, double z) { + public Vector2Impl(double x, double z) { this.x = x; this.z = z; } - /** - * Get X component - * - * @return X component - */ + @Override public double getX() { return x; } + @Override public Vector2 setX(double x) { this.x = x; return this; } - /** - * Get Z component - * - * @return Z component - */ + @Override public double getZ() { return z; } + @Override public Vector2 setZ(double z) { this.z = z; return this; } - /** - * Multiply X and Z components by a value. - * - * @param m Value to multiply - * @return Mutated vector, for chaining. - */ + @Override public Vector2 multiply(double m) { x *= m; z *= m; return this; } - /** - * Add this vector to another. - * - * @param other Vector to add - * @return Mutated vector, for chaining. - */ - public Vector2 add(Vector2 other) { + @Override + public Vector2 add(Vector2Impl other) { x += other.x; z += other.z; return this; } - /** - * Subtract a vector from this vector, - * - * @param other Vector to subtract - * @return Mutated vector, for chaining. - */ - public Vector2 subtract(Vector2 other) { + @Override + public Vector2 subtract(Vector2Impl other) { x -= other.x; z -= other.z; return this; } - /** - * Normalize this vector to length 1 - * - * @return Mutated vector, for chaining. - */ + @Override public Vector2 normalize() { divide(length()); return this; } - /** - * Divide X and Z components by a value. - * - * @param d Divisor - * @return Mutated vector, for chaining. - */ + @Override public Vector2 divide(double d) { x /= d; z /= d; return this; } - /** - * Get the length of this Vector - * - * @return length - */ + @Override public double length() { return FastMath.sqrt(lengthSquared()); } - /** - * Get the squared length of this Vector - * - * @return squared length - */ + @Override public double lengthSquared() { return x * x + z * z; } - /** - * Get the distance from this vector to another. - * - * @param other Another vector - * @return Distance between vectors - */ - public double distance(Vector2 other) { + @Override + public double distance(Vector2Impl other) { return FastMath.sqrt(distanceSquared(other)); } - /** - * Get the squared distance between 2 vectors. - * - * @param other Another vector - * @return Squared distance - */ - public double distanceSquared(Vector2 other) { + @Override + public double distanceSquared(Vector2Impl other) { double dx = other.x - x; double dz = other.z - z; return dx * dx + dz * dz; @@ -157,8 +110,8 @@ public class Vector2 implements Cloneable { @Override public boolean equals(Object obj) { - if(!(obj instanceof Vector2)) return false; - Vector2 other = (Vector2) obj; + if(!(obj instanceof Vector2Impl)) return false; + Vector2Impl other = (Vector2Impl) obj; return MathUtil.equals(this.x, other.x) && MathUtil.equals(this.z, other.z); } @@ -171,16 +124,19 @@ public class Vector2 implements Cloneable { } } + @Override public Vector2 add(double x, double z) { this.x += x; this.z += z; return this; } + @Override public int getBlockX() { return FastMath.floorToInt(x); } + @Override public int getBlockZ() { return FastMath.floorToInt(z); } diff --git a/common/implementation/src/main/java/com/dfsek/terra/api/math/vector/Vector3.java b/common/implementation/src/main/java/com/dfsek/terra/vector/Vector3Impl.java similarity index 53% rename from common/implementation/src/main/java/com/dfsek/terra/api/math/vector/Vector3.java rename to common/implementation/src/main/java/com/dfsek/terra/vector/Vector3Impl.java index b422a1019..2f1906941 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/api/math/vector/Vector3.java +++ b/common/implementation/src/main/java/com/dfsek/terra/vector/Vector3Impl.java @@ -1,65 +1,76 @@ -package com.dfsek.terra.api.math.vector; +package com.dfsek.terra.vector; import com.dfsek.terra.api.math.MathUtil; -import com.dfsek.terra.api.platform.world.World; +import com.dfsek.terra.api.world.World; +import com.dfsek.terra.api.vector.Location; +import com.dfsek.terra.api.vector.Vector2; +import com.dfsek.terra.api.vector.Vector3; import net.jafama.FastMath; import org.jetbrains.annotations.NotNull; /** * 3D Mutable Vector */ -public class Vector3 implements Cloneable { - - +public class Vector3Impl implements Vector3 { private double x; private double y; private double z; - public Vector3(double x, double y, double z) { + public Vector3Impl(double x, double y, double z) { this.x = x; this.y = y; this.z = z; } + @Override public double getZ() { return z; } + @Override public Vector3 setZ(double z) { this.z = z; return this; } + @Override public double getX() { return x; } + @Override public Vector3 setX(double x) { this.x = x; return this; } + @Override public double getY() { return y; } + @Override public Vector3 setY(double y) { this.y = y; return this; } + @Override public int getBlockX() { return FastMath.floorToInt(x); } + @Override public int getBlockY() { return FastMath.floorToInt(y); } + @Override public int getBlockZ() { return FastMath.floorToInt(z); } + @Override public Vector3 multiply(double m) { x *= m; y *= m; @@ -67,6 +78,7 @@ public class Vector3 implements Cloneable { return this; } + @Override public Vector3 add(double x, double y, double z) { this.x += x; this.y += y; @@ -74,6 +86,7 @@ public class Vector3 implements Cloneable { return this; } + @Override public Vector3 add(Vector3 other) { this.x += other.getX(); this.y += other.getY(); @@ -81,54 +94,43 @@ public class Vector3 implements Cloneable { return this; } + @Override public Vector3 add(Vector2 other) { this.x += other.getX(); this.z += other.getZ(); return this; } + @Override public double lengthSquared() { return x * x + y * y + z * z; } @Override - public Vector3 clone() { + public Vector3Impl clone() { try { - return (Vector3) super.clone(); + return (Vector3Impl) super.clone(); } catch(CloneNotSupportedException e) { throw new Error(e); } } + @Override public double length() { return FastMath.sqrt(lengthSquared()); } + @Override public double inverseLength() { return FastMath.invSqrtQuick(lengthSquared()); } - /** - * Returns if a vector is normalized - * - * @return whether the vector is normalised - */ + @Override public boolean isNormalized() { return MathUtil.equals(this.lengthSquared(), 1); } - /** - * Rotates the vector around the x axis. - *

- * This piece of math is based on the standard rotation matrix for vectors - * in three dimensional space. This matrix can be found here: - * Rotation - * Matrix. - * - * @param angle the angle to rotate the vector about. This angle is passed - * in radians - * @return the same vector - */ + @Override @NotNull public Vector3 rotateAroundX(double angle) { double angleCos = Math.cos(angle); @@ -139,18 +141,7 @@ public class Vector3 implements Cloneable { return setY(y).setZ(z); } - /** - * Rotates the vector around the y axis. - *

- * This piece of math is based on the standard rotation matrix for vectors - * in three dimensional space. This matrix can be found here: - * Rotation - * Matrix. - * - * @param angle the angle to rotate the vector about. This angle is passed - * in radians - * @return the same vector - */ + @Override @NotNull public Vector3 rotateAroundY(double angle) { double angleCos = Math.cos(angle); @@ -161,18 +152,7 @@ public class Vector3 implements Cloneable { return setX(x).setZ(z); } - /** - * Rotates the vector around the z axis - *

- * This piece of math is based on the standard rotation matrix for vectors - * in three dimensional space. This matrix can be found here: - * Rotation - * Matrix. - * - * @param angle the angle to rotate the vector about. This angle is passed - * in radians - * @return the same vector - */ + @Override @NotNull public Vector3 rotateAroundZ(double angle) { double angleCos = Math.cos(angle); @@ -183,74 +163,25 @@ public class Vector3 implements Cloneable { return setX(x).setY(y); } - /** - * Get the distance between this vector and another. The value of this - * method is not cached and uses a costly square-root function, so do not - * repeatedly call this method to get the vector's magnitude. NaN will be - * returned if the inner result of the sqrt() function overflows, which - * will be caused if the distance is too long. - * - * @param o The other vector - * @return the distance - */ - public double distance(@NotNull Vector3 o) { + @Override + public double distance(@NotNull Vector3Impl o) { return FastMath.sqrt(FastMath.pow2(x - o.x) + FastMath.pow2(y - o.y) + FastMath.pow2(z - o.z)); } - /** - * Get the squared distance between this vector and another. - * - * @param o The other vector - * @return the distance - */ - public double distanceSquared(@NotNull Vector3 o) { + @Override + public double distanceSquared(@NotNull Vector3Impl o) { return FastMath.pow2(x - o.x) + FastMath.pow2(y - o.y) + FastMath.pow2(z - o.z); } - /** - * Rotates the vector around a given arbitrary axis in 3 dimensional space. - * - *

- * Rotation will follow the general Right-Hand-Rule, which means rotation - * will be counterclockwise when the axis is pointing towards the observer. - *

- * This method will always make sure the provided axis is a unit vector, to - * not modify the length of the vector when rotating. - * - * @param axis the axis to rotate the vector around. If the passed vector is - * not of length 1, it gets copied and normalized before using it for the - * rotation. Please use {@link Vector3#normalize()} on the instance before - * passing it to this method - * @param angle the angle to rotate the vector around the axis - * @return the same vector - * @throws IllegalArgumentException if the provided axis vector instance is - * null - */ + @Override @NotNull public Vector3 rotateAroundAxis(@NotNull Vector3 axis, double angle) throws IllegalArgumentException { return rotateAroundNonUnitAxis(axis.isNormalized() ? axis : axis.clone().normalize(), angle); } - /** - * Rotates the vector around a given arbitrary axis in 3 dimensional space. - * - *

- * Rotation will follow the general Right-Hand-Rule, which means rotation - * will be counterclockwise when the axis is pointing towards the observer. - *

- * Note that the vector length will change accordingly to the axis vector - * length. If the provided axis is not a unit vector, the rotated vector - * will not have its previous length. The scaled length of the resulting - * vector will be related to the axis vector. - * - * @param axis the axis to rotate the vector around. - * @param angle the angle to rotate the vector around the axis - * @return the same vector - * @throws IllegalArgumentException if the provided axis vector instance is - * null - */ + @Override @NotNull - public Vector3 rotateAroundNonUnitAxis(@NotNull Vector3 axis, double angle) throws IllegalArgumentException { + public Vector3 rotateAroundNonUnitAxis(@NotNull Vector3Impl axis, double angle) throws IllegalArgumentException { double x = getX(), y = getY(), z = getZ(); double x2 = axis.getX(), y2 = axis.getY(), z2 = axis.getZ(); @@ -271,25 +202,22 @@ public class Vector3 implements Cloneable { return setX(xPrime).setY(yPrime).setZ(zPrime); } - /** - * Calculates the dot product of this vector with another. The dot product - * is defined as x1*x2+y1*y2+z1*z2. The returned value is a scalar. - * - * @param other The other vector - * @return dot product - */ - public double dot(@NotNull Vector3 other) { + @Override + public double dot(@NotNull Vector3Impl other) { return x * other.x + y * other.y + z * other.z; } + @Override public Location toLocation(World world) { return new Location(world, this.clone()); } + @Override public Vector3 normalize() { return this.multiply(this.inverseLength()); } + @Override public Vector3 subtract(int x, int y, int z) { this.x -= x; this.y -= y; @@ -297,7 +225,8 @@ public class Vector3 implements Cloneable { return this; } - public Vector3 subtract(Vector3 end) { + @Override + public Vector3 subtract(Vector3Impl end) { x -= end.x; y -= end.y; z -= end.z; @@ -328,8 +257,8 @@ public class Vector3 implements Cloneable { */ @Override public boolean equals(Object obj) { - if(!(obj instanceof Vector3)) return false; - Vector3 other = (Vector3) obj; + if(!(obj instanceof Vector3Impl)) return false; + Vector3Impl other = (Vector3Impl) obj; return MathUtil.equals(x, other.x) && MathUtil.equals(y, other.y) && MathUtil.equals(x, other.z); } diff --git a/common/implementation/src/main/java/com/dfsek/terra/world/Carver.java b/common/implementation/src/main/java/com/dfsek/terra/world/Carver.java index 869abc92d..c8d13998a 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/world/Carver.java +++ b/common/implementation/src/main/java/com/dfsek/terra/world/Carver.java @@ -1,7 +1,7 @@ package com.dfsek.terra.world; -import com.dfsek.terra.api.platform.world.ChunkAccess; -import com.dfsek.terra.api.platform.world.World; +import com.dfsek.terra.api.world.ChunkAccess; +import com.dfsek.terra.api.world.World; public interface Carver { void carve(World world, int chunkX, int chunkZ, ChunkAccess chunk); diff --git a/common/implementation/src/main/java/com/dfsek/terra/world/TerraWorld.java b/common/implementation/src/main/java/com/dfsek/terra/world/TerraWorld.java index a989d3906..c50065af0 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/world/TerraWorld.java +++ b/common/implementation/src/main/java/com/dfsek/terra/world/TerraWorld.java @@ -2,12 +2,12 @@ package com.dfsek.terra.world; import com.dfsek.terra.api.TerraPlugin; import com.dfsek.terra.api.event.events.world.TerraWorldLoadEvent; -import com.dfsek.terra.api.math.vector.Location; -import com.dfsek.terra.api.math.vector.Vector3; -import com.dfsek.terra.api.platform.block.BlockData; -import com.dfsek.terra.api.platform.world.World; +import com.dfsek.terra.api.vector.Location; +import com.dfsek.terra.api.vector.Vector3; +import com.dfsek.terra.api.block.BlockData; +import com.dfsek.terra.api.world.World; import com.dfsek.terra.api.world.biome.UserDefinedBiome; -import com.dfsek.terra.api.world.biome.provider.BiomeProvider; +import com.dfsek.terra.api.world.biome.generation.BiomeProvider; import com.dfsek.terra.api.world.palette.Palette; import com.dfsek.terra.config.pack.ConfigPack; import com.dfsek.terra.config.pack.WorldConfig; diff --git a/common/implementation/src/main/java/com/dfsek/terra/world/carving/NoiseCarver.java b/common/implementation/src/main/java/com/dfsek/terra/world/carving/NoiseCarver.java index e325e7a0c..e3ee142fa 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/world/carving/NoiseCarver.java +++ b/common/implementation/src/main/java/com/dfsek/terra/world/carving/NoiseCarver.java @@ -2,9 +2,9 @@ package com.dfsek.terra.world.carving; import com.dfsek.terra.api.TerraPlugin; import com.dfsek.terra.api.math.Range; -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.api.block.BlockData; +import com.dfsek.terra.api.world.ChunkAccess; +import com.dfsek.terra.api.world.World; import com.dfsek.terra.world.Carver; import com.dfsek.terra.world.generation.math.interpolation.ChunkInterpolator; import com.dfsek.terra.world.generation.math.interpolation.ChunkInterpolator3D; diff --git a/common/implementation/src/main/java/com/dfsek/terra/world/generation/WorldGenerator.java b/common/implementation/src/main/java/com/dfsek/terra/world/generation/WorldGenerator.java index f4b80c410..8fb83d9c4 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/world/generation/WorldGenerator.java +++ b/common/implementation/src/main/java/com/dfsek/terra/world/generation/WorldGenerator.java @@ -1,6 +1,6 @@ package com.dfsek.terra.world.generation; -import com.dfsek.terra.api.math.noise.NoiseSampler; +import com.dfsek.terra.api.noise.NoiseSampler; import com.dfsek.terra.api.world.biome.Generator; import com.dfsek.terra.api.world.palette.Palette; import com.dfsek.terra.api.world.palette.holder.PaletteHolder; 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 index 4797ba463..d2e93ced2 100644 --- 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 @@ -2,14 +2,14 @@ package com.dfsek.terra.world.generation.generators; import com.dfsek.terra.api.TerraPlugin; import com.dfsek.terra.api.math.Range; -import com.dfsek.terra.api.platform.block.BlockData; -import com.dfsek.terra.api.platform.world.BiomeGrid; -import com.dfsek.terra.api.platform.world.World; -import com.dfsek.terra.api.platform.world.generator.ChunkData; +import com.dfsek.terra.api.block.BlockData; +import com.dfsek.terra.api.world.BiomeGrid; +import com.dfsek.terra.api.world.World; +import com.dfsek.terra.api.world.generator.ChunkData; import com.dfsek.terra.api.util.world.PaletteUtil; import com.dfsek.terra.api.world.biome.TerraBiome; import com.dfsek.terra.api.world.biome.UserDefinedBiome; -import com.dfsek.terra.api.world.biome.provider.BiomeProvider; +import com.dfsek.terra.api.world.biome.generation.BiomeProvider; import com.dfsek.terra.api.world.generation.TerraBlockPopulator; import com.dfsek.terra.api.world.generation.TerraChunkGenerator; import com.dfsek.terra.api.world.palette.Palette; 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 678d3b2a6..6902852b9 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 @@ -2,21 +2,22 @@ package com.dfsek.terra.world.generation.generators; import com.dfsek.terra.api.TerraPlugin; import com.dfsek.terra.api.math.Range; -import com.dfsek.terra.api.math.vector.Vector3; -import com.dfsek.terra.api.platform.block.BlockData; -import com.dfsek.terra.api.platform.block.BlockFace; -import com.dfsek.terra.api.platform.block.BlockType; -import com.dfsek.terra.api.platform.block.data.Bisected; -import com.dfsek.terra.api.platform.block.data.Slab; -import com.dfsek.terra.api.platform.block.data.Stairs; -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.ChunkData; +import com.dfsek.terra.api.vector.Vector3; +import com.dfsek.terra.vector.Vector3Impl; +import com.dfsek.terra.api.block.BlockData; +import com.dfsek.terra.api.block.BlockFace; +import com.dfsek.terra.api.block.BlockType; +import com.dfsek.terra.api.block.data.Bisected; +import com.dfsek.terra.api.block.data.Slab; +import com.dfsek.terra.api.block.data.Stairs; +import com.dfsek.terra.api.block.data.Waterlogged; +import com.dfsek.terra.api.world.BiomeGrid; +import com.dfsek.terra.api.world.World; +import com.dfsek.terra.api.world.generator.ChunkData; import com.dfsek.terra.api.util.world.PaletteUtil; import com.dfsek.terra.api.world.biome.TerraBiome; import com.dfsek.terra.api.world.biome.UserDefinedBiome; -import com.dfsek.terra.api.world.biome.provider.BiomeProvider; +import com.dfsek.terra.api.world.biome.generation.BiomeProvider; import com.dfsek.terra.api.world.generation.TerraBlockPopulator; import com.dfsek.terra.api.world.generation.TerraChunkGenerator; import com.dfsek.terra.api.world.palette.Palette; @@ -134,20 +135,20 @@ public class DefaultChunkGenerator3D implements TerraChunkGenerator { 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.getBlockData(x, y + 1, z), chunk, new Vector3(x, y + 1, z), c.getSlabPalettes(), + prepareBlockPartFloor(data, chunk.getBlockData(x, y + 1, z), chunk, new Vector3Impl(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.getBlockData(x, y, z), chunk, new Vector3(x, y, z), c.getSlabPalettes(), c.getStairPalettes(), c.getSlabThreshold(), sampler); + prepareBlockPartCeiling(data, chunk.getBlockData(x, y, z), chunk, new Vector3Impl(x, y, z), c.getSlabPalettes(), c.getStairPalettes(), c.getSlabThreshold(), sampler); } justSet = false; paletteLevel = 0; } else { if(justSet && c.doSlabs()) { - prepareBlockPartCeiling(data, chunk.getBlockData(x, y, z), chunk, new Vector3(x, y, z), c.getSlabPalettes(), c.getStairPalettes(), c.getSlabThreshold(), sampler); + prepareBlockPartCeiling(data, chunk.getBlockData(x, y, z), chunk, new Vector3Impl(x, y, z), c.getSlabPalettes(), c.getStairPalettes(), c.getSlabThreshold(), sampler); } justSet = false; paletteLevel = 0; diff --git a/common/implementation/src/main/java/com/dfsek/terra/world/generation/math/SamplerCache.java b/common/implementation/src/main/java/com/dfsek/terra/world/generation/math/SamplerCache.java index e9965d49b..f80c9684a 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/world/generation/math/SamplerCache.java +++ b/common/implementation/src/main/java/com/dfsek/terra/world/generation/math/SamplerCache.java @@ -1,8 +1,7 @@ package com.dfsek.terra.world.generation.math; import com.dfsek.terra.api.TerraPlugin; -import com.dfsek.terra.api.math.MathUtil; -import com.dfsek.terra.api.platform.world.World; +import com.dfsek.terra.api.util.MathUtil; import com.dfsek.terra.world.TerraWorld; import com.dfsek.terra.world.generation.math.samplers.Sampler; import com.google.common.cache.CacheBuilder; @@ -11,10 +10,6 @@ import com.google.common.cache.LoadingCache; import net.jafama.FastMath; import org.jetbrains.annotations.NotNull; -import java.util.Collections; -import java.util.HashMap; -import java.util.Map; - public class SamplerCache { private final LoadingCache cache; diff --git a/common/implementation/src/main/java/com/dfsek/terra/world/generation/math/interpolation/ChunkInterpolator2D.java b/common/implementation/src/main/java/com/dfsek/terra/world/generation/math/interpolation/ChunkInterpolator2D.java index 27c0d42e7..da084e791 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/world/generation/math/interpolation/ChunkInterpolator2D.java +++ b/common/implementation/src/main/java/com/dfsek/terra/world/generation/math/interpolation/ChunkInterpolator2D.java @@ -1,10 +1,11 @@ package com.dfsek.terra.world.generation.math.interpolation; -import com.dfsek.terra.api.math.vector.Vector3; -import com.dfsek.terra.api.platform.world.World; +import com.dfsek.terra.api.vector.Vector3; +import com.dfsek.terra.vector.Vector3Impl; +import com.dfsek.terra.api.world.World; import com.dfsek.terra.api.util.mutable.MutableInteger; import com.dfsek.terra.api.world.biome.Generator; -import com.dfsek.terra.api.world.biome.provider.BiomeProvider; +import com.dfsek.terra.api.world.biome.generation.BiomeProvider; import net.jafama.FastMath; import java.util.HashMap; @@ -67,7 +68,7 @@ public class ChunkInterpolator2D implements ChunkInterpolator { } public double computeNoise(Generator generator, double x, double y, double z) { - return noiseGetter.apply(generator, new Vector3(x, y, z)); + return noiseGetter.apply(generator, new Vector3Impl(x, y, z)); } /** diff --git a/common/implementation/src/main/java/com/dfsek/terra/world/generation/math/interpolation/ChunkInterpolator3D.java b/common/implementation/src/main/java/com/dfsek/terra/world/generation/math/interpolation/ChunkInterpolator3D.java index 9d71d8774..814f1f12a 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/world/generation/math/interpolation/ChunkInterpolator3D.java +++ b/common/implementation/src/main/java/com/dfsek/terra/world/generation/math/interpolation/ChunkInterpolator3D.java @@ -1,10 +1,11 @@ package com.dfsek.terra.world.generation.math.interpolation; -import com.dfsek.terra.api.math.vector.Vector3; -import com.dfsek.terra.api.platform.world.World; +import com.dfsek.terra.api.vector.Vector3; +import com.dfsek.terra.vector.Vector3Impl; +import com.dfsek.terra.api.world.World; import com.dfsek.terra.api.util.mutable.MutableInteger; import com.dfsek.terra.api.world.biome.Generator; -import com.dfsek.terra.api.world.biome.provider.BiomeProvider; +import com.dfsek.terra.api.world.biome.generation.BiomeProvider; import net.jafama.FastMath; import java.util.HashMap; @@ -82,7 +83,7 @@ public class ChunkInterpolator3D implements ChunkInterpolator { } public double computeNoise(Generator generator, double x, double y, double z) { - return noiseGetter.apply(generator, new Vector3(x, y, z)); + return noiseGetter.apply(generator, new Vector3Impl(x, y, z)); } private static int reRange(int value, int high) { 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 330cafdc8..fc7c0b5c3 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 @@ -1,8 +1,8 @@ package com.dfsek.terra.world.generation.math.interpolation; -import com.dfsek.terra.api.platform.world.World; +import com.dfsek.terra.api.world.World; import com.dfsek.terra.api.world.biome.Generator; -import com.dfsek.terra.api.world.biome.provider.BiomeProvider; +import com.dfsek.terra.api.world.biome.generation.BiomeProvider; import com.dfsek.terra.world.generation.WorldGenerator; public class ElevationInterpolator { diff --git a/common/implementation/src/main/java/com/dfsek/terra/world/generation/math/samplers/Sampler2D.java b/common/implementation/src/main/java/com/dfsek/terra/world/generation/math/samplers/Sampler2D.java index 8b1b53bf7..4ce0f2eae 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/world/generation/math/samplers/Sampler2D.java +++ b/common/implementation/src/main/java/com/dfsek/terra/world/generation/math/samplers/Sampler2D.java @@ -1,7 +1,7 @@ package com.dfsek.terra.world.generation.math.samplers; -import com.dfsek.terra.api.platform.world.World; -import com.dfsek.terra.api.world.biome.provider.BiomeProvider; +import com.dfsek.terra.api.world.World; +import com.dfsek.terra.api.world.biome.generation.BiomeProvider; import com.dfsek.terra.world.generation.math.interpolation.ChunkInterpolator2D; import com.dfsek.terra.world.generation.math.interpolation.ElevationInterpolator; import net.jafama.FastMath; diff --git a/common/implementation/src/main/java/com/dfsek/terra/world/generation/math/samplers/Sampler3D.java b/common/implementation/src/main/java/com/dfsek/terra/world/generation/math/samplers/Sampler3D.java index 6a6c085b6..f85600c27 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/world/generation/math/samplers/Sampler3D.java +++ b/common/implementation/src/main/java/com/dfsek/terra/world/generation/math/samplers/Sampler3D.java @@ -1,7 +1,7 @@ package com.dfsek.terra.world.generation.math.samplers; -import com.dfsek.terra.api.platform.world.World; -import com.dfsek.terra.api.world.biome.provider.BiomeProvider; +import com.dfsek.terra.api.world.World; +import com.dfsek.terra.api.world.biome.generation.BiomeProvider; import com.dfsek.terra.world.generation.math.interpolation.ChunkInterpolator3D; import com.dfsek.terra.world.generation.math.interpolation.ElevationInterpolator; import net.jafama.FastMath; diff --git a/common/implementation/src/main/java/com/dfsek/terra/world/population/CavePopulator.java b/common/implementation/src/main/java/com/dfsek/terra/world/population/CavePopulator.java index 09ce5976a..f68c37b8f 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/world/population/CavePopulator.java +++ b/common/implementation/src/main/java/com/dfsek/terra/world/population/CavePopulator.java @@ -1,13 +1,13 @@ package com.dfsek.terra.world.population; import com.dfsek.terra.api.TerraPlugin; -import com.dfsek.terra.api.math.vector.Location; -import com.dfsek.terra.api.platform.block.Block; -import com.dfsek.terra.api.platform.block.BlockData; -import com.dfsek.terra.api.platform.block.BlockType; -import com.dfsek.terra.api.platform.handle.WorldHandle; -import com.dfsek.terra.api.platform.world.Chunk; -import com.dfsek.terra.api.platform.world.World; +import com.dfsek.terra.api.vector.Location; +import com.dfsek.terra.api.block.Block; +import com.dfsek.terra.api.block.BlockData; +import com.dfsek.terra.api.block.BlockType; +import com.dfsek.terra.api.handle.WorldHandle; +import com.dfsek.terra.api.world.Chunk; +import com.dfsek.terra.api.world.World; import com.dfsek.terra.api.util.world.PopulationUtil; import com.dfsek.terra.api.world.generation.Chunkified; import com.dfsek.terra.api.world.generation.TerraBlockPopulator; diff --git a/common/implementation/src/main/java/com/dfsek/terra/world/population/FloraPopulator.java b/common/implementation/src/main/java/com/dfsek/terra/world/population/FloraPopulator.java index 99c97f411..976c82247 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/world/population/FloraPopulator.java +++ b/common/implementation/src/main/java/com/dfsek/terra/world/population/FloraPopulator.java @@ -1,12 +1,13 @@ package com.dfsek.terra.world.population; import com.dfsek.terra.api.TerraPlugin; -import com.dfsek.terra.api.math.vector.Vector2; -import com.dfsek.terra.api.platform.world.Chunk; -import com.dfsek.terra.api.platform.world.World; +import com.dfsek.terra.api.vector.Vector2; +import com.dfsek.terra.vector.Vector2Impl; +import com.dfsek.terra.api.world.Chunk; +import com.dfsek.terra.api.world.World; import com.dfsek.terra.api.util.world.PopulationUtil; import com.dfsek.terra.api.world.biome.UserDefinedBiome; -import com.dfsek.terra.api.world.biome.provider.BiomeProvider; +import com.dfsek.terra.api.world.biome.generation.BiomeProvider; import com.dfsek.terra.api.world.generation.TerraBlockPopulator; import com.dfsek.terra.profiler.ProfileFrame; import com.dfsek.terra.world.TerraWorld; @@ -41,7 +42,7 @@ public class FloraPopulator implements TerraBlockPopulator { for(int x = 0; x < 16; x++) { for(int z = 0; z < 16; z++) { UserDefinedBiome biome = (UserDefinedBiome) provider.getBiome((chunk.getX() << 4) + x, (chunk.getZ() << 4) + z); - Vector2 l = new Vector2(x, z); + Vector2 l = new Vector2Impl(x, z); layers.put(l, biome.getConfig().getFlora()); } } diff --git a/common/implementation/src/main/java/com/dfsek/terra/world/population/OrePopulator.java b/common/implementation/src/main/java/com/dfsek/terra/world/population/OrePopulator.java index 3d5c0966a..69cb3fc37 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/world/population/OrePopulator.java +++ b/common/implementation/src/main/java/com/dfsek/terra/world/population/OrePopulator.java @@ -1,10 +1,10 @@ package com.dfsek.terra.world.population; import com.dfsek.terra.api.TerraPlugin; -import com.dfsek.terra.api.math.MathUtil; -import com.dfsek.terra.api.math.vector.Vector3; -import com.dfsek.terra.api.platform.world.Chunk; -import com.dfsek.terra.api.platform.world.World; +import com.dfsek.terra.api.util.MathUtil; +import com.dfsek.terra.vector.Vector3Impl; +import com.dfsek.terra.api.world.Chunk; +import com.dfsek.terra.api.world.World; import com.dfsek.terra.api.util.FastRandom; import com.dfsek.terra.api.world.biome.TerraBiome; import com.dfsek.terra.api.world.biome.UserDefinedBiome; @@ -44,7 +44,7 @@ public class OrePopulator implements TerraBlockPopulator { try(ProfileFrame ignored = main.getProfiler().profile("ore:" + id)) { int amount = orePair.getRight().getAmount().get(random); for(int i = 0; i < amount; i++) { - Vector3 location = new Vector3(random.nextInt(16) + 16 * finalCx, orePair.getRight().getHeight().get(random), random.nextInt(16) + 16 * finalCz); + Vector3Impl location = new Vector3Impl(random.nextInt(16) + 16 * finalCx, orePair.getRight().getHeight().get(random), random.nextInt(16) + 16 * finalCz); orePair.getLeft().generate(location, chunk, random); } } diff --git a/common/implementation/src/main/java/com/dfsek/terra/world/population/StructurePopulator.java b/common/implementation/src/main/java/com/dfsek/terra/world/population/StructurePopulator.java index 30346917c..ea8b42361 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/world/population/StructurePopulator.java +++ b/common/implementation/src/main/java/com/dfsek/terra/world/population/StructurePopulator.java @@ -1,14 +1,14 @@ package com.dfsek.terra.world.population; import com.dfsek.terra.api.TerraPlugin; -import com.dfsek.terra.api.math.MathUtil; -import com.dfsek.terra.api.math.vector.Location; -import com.dfsek.terra.api.platform.world.Chunk; -import com.dfsek.terra.api.platform.world.World; +import com.dfsek.terra.api.util.MathUtil; +import com.dfsek.terra.api.vector.Location; +import com.dfsek.terra.api.world.Chunk; +import com.dfsek.terra.api.world.World; import com.dfsek.terra.api.structures.structure.Rotation; import com.dfsek.terra.api.util.FastRandom; import com.dfsek.terra.api.world.biome.UserDefinedBiome; -import com.dfsek.terra.api.world.biome.provider.BiomeProvider; +import com.dfsek.terra.api.world.biome.generation.BiomeProvider; import com.dfsek.terra.api.world.generation.Chunkified; import com.dfsek.terra.api.world.generation.TerraBlockPopulator; import com.dfsek.terra.config.pack.WorldConfig; diff --git a/common/implementation/src/main/java/com/dfsek/terra/world/population/TreePopulator.java b/common/implementation/src/main/java/com/dfsek/terra/world/population/TreePopulator.java index 5dd58fb92..8437809d0 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/world/population/TreePopulator.java +++ b/common/implementation/src/main/java/com/dfsek/terra/world/population/TreePopulator.java @@ -1,12 +1,12 @@ package com.dfsek.terra.world.population; import com.dfsek.terra.api.TerraPlugin; -import com.dfsek.terra.api.math.vector.Vector2; -import com.dfsek.terra.api.platform.world.Chunk; -import com.dfsek.terra.api.platform.world.World; +import com.dfsek.terra.vector.Vector2Impl; +import com.dfsek.terra.api.world.Chunk; +import com.dfsek.terra.api.world.World; import com.dfsek.terra.api.util.world.PopulationUtil; import com.dfsek.terra.api.world.biome.UserDefinedBiome; -import com.dfsek.terra.api.world.biome.provider.BiomeProvider; +import com.dfsek.terra.api.world.biome.generation.BiomeProvider; import com.dfsek.terra.api.world.generation.TerraBlockPopulator; import com.dfsek.terra.profiler.ProfileFrame; import com.dfsek.terra.world.TerraWorld; @@ -43,7 +43,7 @@ public class TreePopulator implements TerraBlockPopulator { UserDefinedBiome biome = (UserDefinedBiome) provider.getBiome((chunk.getX() << 4) + x, (chunk.getZ() << 4) + z); for(TreeLayer layer : biome.getConfig().getTrees()) { if(layer.getDensity() >= random.nextDouble() * 100) { - layer.place(chunk, new Vector2(offset(random, x), offset(random, z))); + layer.place(chunk, new Vector2Impl(offset(random, x), offset(random, z))); } } } diff --git a/common/implementation/src/main/java/com/dfsek/terra/world/population/items/PlaceableLayer.java b/common/implementation/src/main/java/com/dfsek/terra/world/population/items/PlaceableLayer.java index e150d92fe..164c01e17 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/world/population/items/PlaceableLayer.java +++ b/common/implementation/src/main/java/com/dfsek/terra/world/population/items/PlaceableLayer.java @@ -1,18 +1,18 @@ package com.dfsek.terra.world.population.items; import com.dfsek.terra.api.math.Range; -import com.dfsek.terra.api.math.noise.NoiseSampler; -import com.dfsek.terra.api.math.vector.Vector2; -import com.dfsek.terra.api.platform.world.Chunk; -import com.dfsek.terra.api.util.collections.ProbabilityCollection; +import com.dfsek.terra.api.noise.NoiseSampler; +import com.dfsek.terra.api.vector.Vector2; +import com.dfsek.terra.api.world.Chunk; +import com.dfsek.terra.api.util.collections.ProbabilityCollectionImpl; public abstract class PlaceableLayer { protected final double density; protected final Range level; - protected final ProbabilityCollection layer; + protected final ProbabilityCollectionImpl layer; protected final NoiseSampler noise; - public PlaceableLayer(double density, Range level, ProbabilityCollection layer, NoiseSampler noise) { + public PlaceableLayer(double density, Range level, ProbabilityCollectionImpl layer, NoiseSampler noise) { this.density = density; this.level = level; this.layer = layer; @@ -31,7 +31,7 @@ public abstract class PlaceableLayer { return level; } - public ProbabilityCollection getLayer() { + public ProbabilityCollectionImpl getLayer() { return layer; } diff --git a/common/implementation/src/main/java/com/dfsek/terra/world/population/items/TerraStructure.java b/common/implementation/src/main/java/com/dfsek/terra/world/population/items/TerraStructure.java index f3976fbab..56980f163 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/world/population/items/TerraStructure.java +++ b/common/implementation/src/main/java/com/dfsek/terra/world/population/items/TerraStructure.java @@ -3,16 +3,16 @@ package com.dfsek.terra.world.population.items; import com.dfsek.terra.api.math.GridSpawn; import com.dfsek.terra.api.math.Range; import com.dfsek.terra.api.structures.script.StructureScript; -import com.dfsek.terra.api.util.collections.ProbabilityCollection; +import com.dfsek.terra.api.util.collections.ProbabilityCollectionImpl; import com.dfsek.terra.config.templates.StructureTemplate; public class TerraStructure { - private final ProbabilityCollection structure; + private final ProbabilityCollectionImpl structure; private final Range spawnStart; private final GridSpawn spawn; private final StructureTemplate template; - public TerraStructure(ProbabilityCollection structures, Range spawnStart, GridSpawn spawn, StructureTemplate template) { + public TerraStructure(ProbabilityCollectionImpl structures, Range spawnStart, GridSpawn spawn, StructureTemplate template) { this.structure = structures; this.spawnStart = spawnStart; this.spawn = spawn; @@ -23,7 +23,7 @@ public class TerraStructure { return template; } - public ProbabilityCollection getStructure() { + public ProbabilityCollectionImpl getStructure() { return structure; } diff --git a/common/implementation/src/main/java/com/dfsek/terra/world/population/items/flora/BlockFlora.java b/common/implementation/src/main/java/com/dfsek/terra/world/population/items/flora/BlockFlora.java index dbc714388..48ad7ab5a 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/world/population/items/flora/BlockFlora.java +++ b/common/implementation/src/main/java/com/dfsek/terra/world/population/items/flora/BlockFlora.java @@ -1,11 +1,11 @@ package com.dfsek.terra.world.population.items.flora; import com.dfsek.terra.api.math.Range; -import com.dfsek.terra.api.math.vector.Location; -import com.dfsek.terra.api.platform.block.Block; -import com.dfsek.terra.api.platform.block.BlockData; -import com.dfsek.terra.api.platform.block.BlockFace; -import com.dfsek.terra.api.platform.world.Chunk; +import com.dfsek.terra.api.vector.Location; +import com.dfsek.terra.api.block.Block; +import com.dfsek.terra.api.block.BlockData; +import com.dfsek.terra.api.block.BlockFace; +import com.dfsek.terra.api.world.Chunk; import com.dfsek.terra.api.util.GlueList; import com.dfsek.terra.api.world.flora.Flora; diff --git a/common/implementation/src/main/java/com/dfsek/terra/world/population/items/flora/ConstantFlora.java b/common/implementation/src/main/java/com/dfsek/terra/world/population/items/flora/ConstantFlora.java index d7bec46bf..771b3588b 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/world/population/items/flora/ConstantFlora.java +++ b/common/implementation/src/main/java/com/dfsek/terra/world/population/items/flora/ConstantFlora.java @@ -1,11 +1,11 @@ package com.dfsek.terra.world.population.items.flora; import com.dfsek.terra.api.math.Range; -import com.dfsek.terra.api.math.vector.Location; -import com.dfsek.terra.api.platform.block.Block; -import com.dfsek.terra.api.platform.block.BlockData; -import com.dfsek.terra.api.platform.block.BlockFace; -import com.dfsek.terra.api.platform.world.Chunk; +import com.dfsek.terra.api.vector.Location; +import com.dfsek.terra.api.block.Block; +import com.dfsek.terra.api.block.BlockData; +import com.dfsek.terra.api.block.BlockFace; +import com.dfsek.terra.api.world.Chunk; import com.dfsek.terra.api.util.GlueList; import com.dfsek.terra.api.util.collections.MaterialSet; import com.dfsek.terra.api.world.flora.Flora; diff --git a/common/implementation/src/main/java/com/dfsek/terra/world/population/items/flora/FloraLayer.java b/common/implementation/src/main/java/com/dfsek/terra/world/population/items/flora/FloraLayer.java index 579b70035..8d042f238 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/world/population/items/flora/FloraLayer.java +++ b/common/implementation/src/main/java/com/dfsek/terra/world/population/items/flora/FloraLayer.java @@ -1,16 +1,16 @@ package com.dfsek.terra.world.population.items.flora; import com.dfsek.terra.api.math.Range; -import com.dfsek.terra.api.math.noise.NoiseSampler; -import com.dfsek.terra.api.math.vector.Vector2; -import com.dfsek.terra.api.platform.world.Chunk; -import com.dfsek.terra.api.util.collections.ProbabilityCollection; +import com.dfsek.terra.api.noise.NoiseSampler; +import com.dfsek.terra.api.vector.Vector2; +import com.dfsek.terra.api.world.Chunk; +import com.dfsek.terra.api.util.collections.ProbabilityCollectionImpl; import com.dfsek.terra.api.world.flora.Flora; import com.dfsek.terra.world.population.items.PlaceableLayer; public class FloraLayer extends PlaceableLayer { - public FloraLayer(double density, Range level, ProbabilityCollection layer, NoiseSampler noise) { + public FloraLayer(double density, Range level, ProbabilityCollectionImpl layer, NoiseSampler noise) { super(density, level, layer, noise); } diff --git a/common/implementation/src/main/java/com/dfsek/terra/world/population/items/flora/TerraFlora.java b/common/implementation/src/main/java/com/dfsek/terra/world/population/items/flora/TerraFlora.java index b154c2e91..0c4fe265e 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/world/population/items/flora/TerraFlora.java +++ b/common/implementation/src/main/java/com/dfsek/terra/world/population/items/flora/TerraFlora.java @@ -2,15 +2,15 @@ package com.dfsek.terra.world.population.items.flora; import com.dfsek.terra.api.TerraPlugin; import com.dfsek.terra.api.math.Range; -import com.dfsek.terra.api.math.vector.Location; -import com.dfsek.terra.api.platform.block.Block; -import com.dfsek.terra.api.platform.block.BlockData; -import com.dfsek.terra.api.platform.block.BlockFace; -import com.dfsek.terra.api.platform.block.data.Directional; -import com.dfsek.terra.api.platform.block.data.MultipleFacing; -import com.dfsek.terra.api.platform.block.data.Rotatable; -import com.dfsek.terra.api.platform.handle.WorldHandle; -import com.dfsek.terra.api.platform.world.Chunk; +import com.dfsek.terra.api.vector.Location; +import com.dfsek.terra.api.block.Block; +import com.dfsek.terra.api.block.BlockData; +import com.dfsek.terra.api.block.BlockFace; +import com.dfsek.terra.api.block.data.Directional; +import com.dfsek.terra.api.block.data.MultipleFacing; +import com.dfsek.terra.api.block.data.Rotatable; +import com.dfsek.terra.api.handle.WorldHandle; +import com.dfsek.terra.api.world.Chunk; import com.dfsek.terra.api.util.FastRandom; import com.dfsek.terra.api.util.GlueList; import com.dfsek.terra.api.util.collections.MaterialSet; diff --git a/common/implementation/src/main/java/com/dfsek/terra/world/population/items/ores/DeformedSphereOre.java b/common/implementation/src/main/java/com/dfsek/terra/world/population/items/ores/DeformedSphereOre.java index 2bc782196..aa5466c0f 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/world/population/items/ores/DeformedSphereOre.java +++ b/common/implementation/src/main/java/com/dfsek/terra/world/population/items/ores/DeformedSphereOre.java @@ -2,12 +2,13 @@ package com.dfsek.terra.world.population.items.ores; import com.dfsek.terra.api.TerraPlugin; import com.dfsek.terra.api.math.Range; -import com.dfsek.terra.api.math.noise.samplers.noise.simplex.OpenSimplex2Sampler; -import com.dfsek.terra.api.math.vector.Vector3; -import com.dfsek.terra.api.platform.block.Block; -import com.dfsek.terra.api.platform.block.BlockData; -import com.dfsek.terra.api.platform.block.BlockType; -import com.dfsek.terra.api.platform.world.Chunk; +import com.dfsek.terra.api.noise.samplers.noise.simplex.OpenSimplex2Sampler; +import com.dfsek.terra.api.vector.Vector3; +import com.dfsek.terra.vector.Vector3Impl; +import com.dfsek.terra.api.block.Block; +import com.dfsek.terra.api.block.BlockData; +import com.dfsek.terra.api.block.BlockType; +import com.dfsek.terra.api.world.Chunk; import com.dfsek.terra.api.util.collections.MaterialSet; import java.util.Map; @@ -27,14 +28,14 @@ public class DeformedSphereOre extends Ore { @Override - public void generate(Vector3 origin, Chunk c, Random r) { + public void generate(Vector3Impl origin, Chunk c, Random r) { OpenSimplex2Sampler ore = new OpenSimplex2Sampler(r.nextInt()); ore.setFrequency(deformFrequency); int rad = size.get(r); for(int x = -rad; x <= rad; x++) { for(int y = -rad; y <= rad; y++) { for(int z = -rad; z <= rad; z++) { - Vector3 oreLoc = origin.clone().add(new Vector3(x, y, z)); + Vector3 oreLoc = origin.clone().add(new Vector3Impl(x, y, z)); if(oreLoc.getBlockX() > 15 || oreLoc.getBlockZ() > 15 || oreLoc.getBlockY() > c.getWorld().getMaxHeight() || oreLoc.getBlockX() < 0 || oreLoc.getBlockZ() < 0 || oreLoc.getBlockY() < c.getWorld().getMinHeight()) continue; if(oreLoc.distance(origin) < (rad + 0.5) * ((ore.getNoise(x, y, z) + 1) * deform)) { diff --git a/common/implementation/src/main/java/com/dfsek/terra/world/population/items/ores/Ore.java b/common/implementation/src/main/java/com/dfsek/terra/world/population/items/ores/Ore.java index d52bdf4a0..d62568c11 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/world/population/items/ores/Ore.java +++ b/common/implementation/src/main/java/com/dfsek/terra/world/population/items/ores/Ore.java @@ -1,10 +1,10 @@ package com.dfsek.terra.world.population.items.ores; import com.dfsek.terra.api.TerraPlugin; -import com.dfsek.terra.api.math.vector.Vector3; -import com.dfsek.terra.api.platform.block.BlockData; -import com.dfsek.terra.api.platform.block.BlockType; -import com.dfsek.terra.api.platform.world.Chunk; +import com.dfsek.terra.vector.Vector3Impl; +import com.dfsek.terra.api.block.BlockData; +import com.dfsek.terra.api.block.BlockType; +import com.dfsek.terra.api.world.Chunk; import com.dfsek.terra.api.util.collections.MaterialSet; import java.util.Map; @@ -26,7 +26,7 @@ public abstract class Ore { this.materials = materials; } - public abstract void generate(Vector3 origin, Chunk c, Random r); + public abstract void generate(Vector3Impl origin, Chunk c, Random r); public BlockData getMaterial(BlockType replace) { return materials.getOrDefault(replace, material); diff --git a/common/implementation/src/main/java/com/dfsek/terra/world/population/items/ores/VanillaOre.java b/common/implementation/src/main/java/com/dfsek/terra/world/population/items/ores/VanillaOre.java index 0e5e5d4af..699590b63 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/world/population/items/ores/VanillaOre.java +++ b/common/implementation/src/main/java/com/dfsek/terra/world/population/items/ores/VanillaOre.java @@ -2,11 +2,11 @@ package com.dfsek.terra.world.population.items.ores; import com.dfsek.terra.api.TerraPlugin; import com.dfsek.terra.api.math.Range; -import com.dfsek.terra.api.math.vector.Vector3; -import com.dfsek.terra.api.platform.block.Block; -import com.dfsek.terra.api.platform.block.BlockData; -import com.dfsek.terra.api.platform.block.BlockType; -import com.dfsek.terra.api.platform.world.Chunk; +import com.dfsek.terra.vector.Vector3Impl; +import com.dfsek.terra.api.block.Block; +import com.dfsek.terra.api.block.BlockData; +import com.dfsek.terra.api.block.BlockType; +import com.dfsek.terra.api.world.Chunk; import com.dfsek.terra.api.util.collections.MaterialSet; import net.jafama.FastMath; @@ -23,7 +23,7 @@ public class VanillaOre extends Ore { } @Override - public void generate(Vector3 location, Chunk chunk, Random random) { + public void generate(Vector3Impl location, Chunk chunk, Random random) { double size = sizeRange.get(random); int centerX = location.getBlockX(); diff --git a/common/implementation/src/main/java/com/dfsek/terra/world/population/items/tree/TerraTree.java b/common/implementation/src/main/java/com/dfsek/terra/world/population/items/tree/TerraTree.java index 2576d2eca..083c4f670 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/world/population/items/tree/TerraTree.java +++ b/common/implementation/src/main/java/com/dfsek/terra/world/population/items/tree/TerraTree.java @@ -1,20 +1,20 @@ package com.dfsek.terra.world.population.items.tree; -import com.dfsek.terra.api.math.vector.Location; -import com.dfsek.terra.api.platform.world.Tree; +import com.dfsek.terra.api.vector.Location; +import com.dfsek.terra.api.world.Tree; import com.dfsek.terra.api.structures.script.StructureScript; import com.dfsek.terra.api.structures.structure.Rotation; import com.dfsek.terra.api.util.collections.MaterialSet; -import com.dfsek.terra.api.util.collections.ProbabilityCollection; +import com.dfsek.terra.api.util.collections.ProbabilityCollectionImpl; import java.util.Random; public class TerraTree implements Tree { private final MaterialSet spawnable; private final int yOffset; - private final ProbabilityCollection structure; + private final ProbabilityCollectionImpl structure; - public TerraTree(MaterialSet spawnable, int yOffset, ProbabilityCollection structure) { + public TerraTree(MaterialSet spawnable, int yOffset, ProbabilityCollectionImpl structure) { this.spawnable = spawnable; this.yOffset = yOffset; this.structure = structure; diff --git a/common/implementation/src/main/java/com/dfsek/terra/world/population/items/tree/TreeLayer.java b/common/implementation/src/main/java/com/dfsek/terra/world/population/items/tree/TreeLayer.java index 707a062cc..da19f47ec 100644 --- a/common/implementation/src/main/java/com/dfsek/terra/world/population/items/tree/TreeLayer.java +++ b/common/implementation/src/main/java/com/dfsek/terra/world/population/items/tree/TreeLayer.java @@ -1,19 +1,19 @@ package com.dfsek.terra.world.population.items.tree; import com.dfsek.terra.api.math.Range; -import com.dfsek.terra.api.math.noise.NoiseSampler; -import com.dfsek.terra.api.math.vector.Vector2; -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.platform.world.Tree; -import com.dfsek.terra.api.util.collections.ProbabilityCollection; +import com.dfsek.terra.api.noise.NoiseSampler; +import com.dfsek.terra.api.vector.Vector2; +import com.dfsek.terra.api.block.Block; +import com.dfsek.terra.api.block.BlockFace; +import com.dfsek.terra.api.world.Chunk; +import com.dfsek.terra.api.world.Tree; +import com.dfsek.terra.api.util.collections.ProbabilityCollectionImpl; import com.dfsek.terra.api.util.world.PopulationUtil; import com.dfsek.terra.world.population.items.PlaceableLayer; public class TreeLayer extends PlaceableLayer { - public TreeLayer(double density, Range level, ProbabilityCollection layer, NoiseSampler noise) { + public TreeLayer(double density, Range level, ProbabilityCollectionImpl layer, NoiseSampler noise) { super(density, level, layer, noise); } diff --git a/common/implementation/src/test/java/command/CommandTest.java b/common/implementation/src/test/java/command/CommandTest.java index 2598be813..3aa0ccf89 100644 --- a/common/implementation/src/test/java/command/CommandTest.java +++ b/common/implementation/src/test/java/command/CommandTest.java @@ -14,7 +14,7 @@ import com.dfsek.terra.api.command.arg.IntegerArgumentParser; import com.dfsek.terra.api.command.exception.CommandException; import com.dfsek.terra.api.command.exception.InvalidArgumentsException; import com.dfsek.terra.api.command.exception.MalformedCommandException; -import com.dfsek.terra.api.platform.CommandSender; +import com.dfsek.terra.api.entity.CommandSender; import org.junit.jupiter.api.Test; import java.util.Arrays; diff --git a/common/implementation/src/test/java/noise/ColorConfigTemplate.java b/common/implementation/src/test/java/noise/ColorConfigTemplate.java index ddc3ba9f0..4383dfbc1 100644 --- a/common/implementation/src/test/java/noise/ColorConfigTemplate.java +++ b/common/implementation/src/test/java/noise/ColorConfigTemplate.java @@ -3,11 +3,11 @@ package noise; import com.dfsek.tectonic.annotations.Default; import com.dfsek.tectonic.annotations.Value; import com.dfsek.tectonic.config.ConfigTemplate; -import com.dfsek.terra.api.util.collections.ProbabilityCollection; +import com.dfsek.terra.api.util.collections.ProbabilityCollectionImpl; public class ColorConfigTemplate implements ConfigTemplate { @Value("colors") - private ProbabilityCollection colors; + private ProbabilityCollectionImpl colors; @Value("enable") @Default @@ -17,7 +17,7 @@ public class ColorConfigTemplate implements ConfigTemplate { return enable; } - public ProbabilityCollection getColors() { + public ProbabilityCollectionImpl getColors() { return colors; } } diff --git a/common/implementation/src/test/java/noise/NoiseTool.java b/common/implementation/src/test/java/noise/NoiseTool.java index a335a88de..7e4ed53cc 100644 --- a/common/implementation/src/test/java/noise/NoiseTool.java +++ b/common/implementation/src/test/java/noise/NoiseTool.java @@ -2,8 +2,8 @@ package noise; import com.dfsek.tectonic.exception.ConfigException; import com.dfsek.tectonic.loading.ConfigLoader; -import com.dfsek.terra.api.math.noise.NoiseSampler; -import com.dfsek.terra.api.util.collections.ProbabilityCollection; +import com.dfsek.terra.api.noise.NoiseSampler; +import com.dfsek.terra.api.util.collections.ProbabilityCollectionImpl; import com.dfsek.terra.api.util.seeded.NoiseSeeded; import com.dfsek.terra.config.GenericLoaders; import com.dfsek.terra.config.fileloaders.FolderLoader; @@ -99,7 +99,7 @@ public class NoiseTool { ConfigLoader loader = new ConfigLoader(); loader.registerLoader(NoiseSeeded.class, new NoiseSamplerBuilderLoader(new NoiseRegistry())) .registerLoader(BufferedImage.class, new BufferedImageLoader(folderLoader)) - .registerLoader(ProbabilityCollection.class, new ProbabilityCollectionLoader()); + .registerLoader(ProbabilityCollectionImpl.class, new ProbabilityCollectionLoader()); new GenericLoaders(null).register(loader); NoiseConfigTemplate template = new NoiseConfigTemplate(); @@ -124,7 +124,7 @@ public class NoiseTool { loader.load(color, new FileInputStream(colorFile)); colors = color.enable(); } - ProbabilityCollection colorCollection = color.getColors(); + ProbabilityCollectionImpl colorCollection = color.getColors(); loader.load(template, new FileInputStream(file)); System.out.println(template.getBuilder().getDimensions()); diff --git a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/BukkitCommandSender.java b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/BukkitCommandSender.java index ed65c569a..708afa648 100644 --- a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/BukkitCommandSender.java +++ b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/BukkitCommandSender.java @@ -1,6 +1,6 @@ package com.dfsek.terra.bukkit; -import com.dfsek.terra.api.platform.CommandSender; +import com.dfsek.terra.api.entity.CommandSender; import org.bukkit.ChatColor; public class BukkitCommandSender implements CommandSender { 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 ff3bd80ec..25fd3a142 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,8 +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.api.platform.world.World; +import com.dfsek.terra.api.vector.Location; +import com.dfsek.terra.api.entity.Entity; +import com.dfsek.terra.api.world.World; import com.dfsek.terra.bukkit.world.BukkitAdapter; public class BukkitEntity implements Entity { 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 822fa0d7c..c9ca72228 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,8 +1,8 @@ package com.dfsek.terra.bukkit; -import com.dfsek.terra.api.math.vector.Location; -import com.dfsek.terra.api.platform.entity.Player; -import com.dfsek.terra.api.platform.world.World; +import com.dfsek.terra.api.vector.Location; +import com.dfsek.terra.api.entity.Player; +import com.dfsek.terra.api.world.World; import com.dfsek.terra.bukkit.world.BukkitAdapter; public class BukkitPlayer implements Player { 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 189fc5139..47d3fe4ef 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 @@ -2,20 +2,20 @@ package com.dfsek.terra.bukkit; import com.dfsek.tectonic.loading.TypeRegistry; import com.dfsek.terra.api.TerraPlugin; -import com.dfsek.terra.api.addons.TerraAddon; -import com.dfsek.terra.api.addons.annotations.Addon; -import com.dfsek.terra.api.addons.annotations.Author; -import com.dfsek.terra.api.addons.annotations.Version; +import com.dfsek.terra.api.addon.TerraAddon; +import com.dfsek.terra.api.addon.annotations.Addon; +import com.dfsek.terra.api.addon.annotations.Author; +import com.dfsek.terra.api.addon.annotations.Version; import com.dfsek.terra.api.command.CommandManager; import com.dfsek.terra.api.command.TerraCommandManager; import com.dfsek.terra.api.command.exception.MalformedCommandException; import com.dfsek.terra.api.event.EventManager; -import com.dfsek.terra.api.event.TerraEventManager; -import com.dfsek.terra.api.platform.block.BlockData; -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.api.event.EventManagerImpl; +import com.dfsek.terra.api.block.BlockData; +import com.dfsek.terra.api.handle.ItemHandle; +import com.dfsek.terra.api.handle.WorldHandle; +import com.dfsek.terra.api.world.biome.Biome; +import com.dfsek.terra.api.world.World; import com.dfsek.terra.api.registry.CheckedRegistry; import com.dfsek.terra.api.registry.LockedRegistry; import com.dfsek.terra.api.util.logging.DebugLogger; @@ -79,7 +79,7 @@ public class TerraBukkitPlugin extends JavaPlugin implements TerraPlugin { private DebugLogger debugLogger; - private final EventManager eventManager = new TerraEventManager(this); + private final EventManager eventManager = new EventManagerImpl(this); public static final BukkitVersion BUKKIT_VERSION; static { diff --git a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/command/FixChunkCommand.java b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/command/FixChunkCommand.java index 87d69c115..31ba05123 100644 --- a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/command/FixChunkCommand.java +++ b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/command/FixChunkCommand.java @@ -4,8 +4,8 @@ import com.dfsek.terra.api.command.CommandTemplate; import com.dfsek.terra.api.command.annotation.Command; import com.dfsek.terra.api.command.annotation.type.PlayerCommand; import com.dfsek.terra.api.command.annotation.type.WorldCommand; -import com.dfsek.terra.api.platform.CommandSender; -import com.dfsek.terra.api.platform.entity.Player; +import com.dfsek.terra.api.entity.CommandSender; +import com.dfsek.terra.api.entity.Player; import com.dfsek.terra.bukkit.generator.BukkitChunkGeneratorWrapper; @Command diff --git a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/command/SaveDataCommand.java b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/command/SaveDataCommand.java index 4648cb01e..118a8c779 100644 --- a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/command/SaveDataCommand.java +++ b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/command/SaveDataCommand.java @@ -2,7 +2,7 @@ package com.dfsek.terra.bukkit.command; import com.dfsek.terra.api.command.CommandTemplate; import com.dfsek.terra.api.command.annotation.Command; -import com.dfsek.terra.api.platform.CommandSender; +import com.dfsek.terra.api.entity.CommandSender; import com.dfsek.terra.bukkit.generator.BukkitChunkGeneratorWrapper; import com.dfsek.terra.config.lang.LangUtil; diff --git a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/generator/BukkitChunkGenerator.java b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/generator/BukkitChunkGenerator.java index da186a425..409288703 100644 --- a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/generator/BukkitChunkGenerator.java +++ b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/generator/BukkitChunkGenerator.java @@ -1,12 +1,12 @@ package com.dfsek.terra.bukkit.generator; -import com.dfsek.terra.api.platform.block.BlockData; -import com.dfsek.terra.api.platform.world.generator.ChunkData; +import com.dfsek.terra.api.block.BlockData; +import com.dfsek.terra.api.world.generator.ChunkData; import com.dfsek.terra.bukkit.world.block.data.BukkitBlockData; import org.bukkit.generator.ChunkGenerator; import org.jetbrains.annotations.NotNull; -public class BukkitChunkGenerator implements com.dfsek.terra.api.platform.world.generator.ChunkGenerator { +public class BukkitChunkGenerator implements com.dfsek.terra.api.world.generator.ChunkGenerator { private final ChunkGenerator delegate; public BukkitChunkGenerator(ChunkGenerator delegate) { 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 67b7148e6..c54407525 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,13 +1,12 @@ package com.dfsek.terra.bukkit.generator; import com.dfsek.terra.api.TerraPlugin; -import com.dfsek.terra.api.platform.world.Chunk; -import com.dfsek.terra.api.platform.world.generator.GeneratorWrapper; +import com.dfsek.terra.api.world.Chunk; +import com.dfsek.terra.api.world.generator.GeneratorWrapper; import com.dfsek.terra.api.world.generation.TerraChunkGenerator; 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.world.TerraWorld; import org.bukkit.World; import org.bukkit.generator.BlockPopulator; import org.bukkit.generator.ChunkGenerator; @@ -23,7 +22,7 @@ import java.util.Random; public class BukkitChunkGeneratorWrapper extends ChunkGenerator implements GeneratorWrapper { - private static final Map popMap = new HashMap<>(); + private static final Map popMap = new HashMap<>(); private final PopulationManager popMan; @@ -42,7 +41,7 @@ public class BukkitChunkGeneratorWrapper extends ChunkGenerator implements Gener public static synchronized void saveAll() { - for(Map.Entry e : popMap.entrySet()) { + for(Map.Entry e : popMap.entrySet()) { try { e.getValue().saveBlocks(e.getKey()); } catch(IOException ioException) { @@ -56,7 +55,7 @@ public class BukkitChunkGeneratorWrapper extends ChunkGenerator implements Gener popMap.get(c.getWorld()).checkNeighbors(c.getX(), c.getZ(), c.getWorld()); } - private void load(com.dfsek.terra.api.platform.world.World w) { + private void load(com.dfsek.terra.api.world.World w) { try { popMan.loadBlocks(w); } catch(FileNotFoundException ignore) { @@ -70,7 +69,7 @@ public class BukkitChunkGeneratorWrapper extends ChunkGenerator implements Gener @Override public @NotNull ChunkData generateChunkData(@NotNull World world, @NotNull Random random, int x, int z, @NotNull BiomeGrid biome) { - com.dfsek.terra.api.platform.world.World bukkitWorld = BukkitAdapter.adapt(world); + com.dfsek.terra.api.world.World bukkitWorld = BukkitAdapter.adapt(world); if(needsLoad) load(bukkitWorld); // Load population data for world. delegate.generateBiomes(bukkitWorld, random, x, z, new BukkitBiomeGrid(biome)); return (ChunkData) delegate.generateChunkData(bukkitWorld, random, x, z, new BukkitChunkGenerator.BukkitChunkData(createChunkData(world))).getHandle(); diff --git a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/handles/BukkitItemHandle.java b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/handles/BukkitItemHandle.java index f13783203..e13b8291b 100644 --- a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/handles/BukkitItemHandle.java +++ b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/handles/BukkitItemHandle.java @@ -1,8 +1,8 @@ package com.dfsek.terra.bukkit.handles; -import com.dfsek.terra.api.platform.handle.ItemHandle; -import com.dfsek.terra.api.platform.inventory.Item; -import com.dfsek.terra.api.platform.inventory.item.Enchantment; +import com.dfsek.terra.api.handle.ItemHandle; +import com.dfsek.terra.api.inventory.Item; +import com.dfsek.terra.api.inventory.item.Enchantment; import com.dfsek.terra.bukkit.util.MinecraftUtils; import com.dfsek.terra.bukkit.world.BukkitAdapter; import org.bukkit.Material; diff --git a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/handles/BukkitWorldHandle.java b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/handles/BukkitWorldHandle.java index 62747e2e2..81741caab 100644 --- a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/handles/BukkitWorldHandle.java +++ b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/handles/BukkitWorldHandle.java @@ -1,10 +1,10 @@ package com.dfsek.terra.bukkit.handles; -import com.dfsek.terra.api.math.vector.Location; -import com.dfsek.terra.api.platform.block.BlockData; -import com.dfsek.terra.api.platform.entity.EntityType; -import com.dfsek.terra.api.platform.entity.Player; -import com.dfsek.terra.api.platform.handle.WorldHandle; +import com.dfsek.terra.api.vector.Location; +import com.dfsek.terra.api.block.BlockData; +import com.dfsek.terra.api.entity.EntityType; +import com.dfsek.terra.api.entity.Player; +import com.dfsek.terra.api.handle.WorldHandle; import com.dfsek.terra.api.util.generic.pair.Pair; import com.dfsek.terra.bukkit.structure.WorldEditUtil; import com.dfsek.terra.bukkit.world.BukkitAdapter; 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 5ea6f4bd5..afe0ed6b4 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,11 +1,11 @@ package com.dfsek.terra.bukkit.listeners; import com.dfsek.terra.api.TerraPlugin; -import com.dfsek.terra.api.math.vector.Location; -import com.dfsek.terra.api.platform.world.Tree; -import com.dfsek.terra.api.platform.world.World; +import com.dfsek.terra.api.vector.Location; +import com.dfsek.terra.api.world.Tree; +import com.dfsek.terra.api.world.World; import com.dfsek.terra.api.transform.MapTransform; -import com.dfsek.terra.api.transform.Transformer; +import com.dfsek.terra.api.transform.TransformerImpl; import com.dfsek.terra.api.util.FastRandom; import com.dfsek.terra.bukkit.world.BukkitAdapter; import com.dfsek.terra.config.pack.WorldConfig; @@ -29,7 +29,7 @@ public class CommonListener implements Listener { this.main = main; } - private static final Transformer TREE_TYPE_STRING_TRANSFORMER = new Transformer.Builder() + private static final TransformerImpl TREE_TYPE_STRING_TRANSFORMER = new TransformerImpl.Builder() .addTransform(new MapTransform() .add(TreeType.COCOA_TREE, "JUNGLE_COCOA") .add(TreeType.BIG_TREE, "LARGE_OAK") diff --git a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/listeners/TerraListener.java b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/listeners/TerraListener.java index f1a205e79..20aae02f0 100644 --- a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/listeners/TerraListener.java +++ b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/listeners/TerraListener.java @@ -5,10 +5,10 @@ import com.dfsek.terra.api.event.EventListener; import com.dfsek.terra.api.event.annotations.Global; import com.dfsek.terra.api.event.annotations.Priority; import com.dfsek.terra.api.event.events.config.ConfigPackPreLoadEvent; -import com.dfsek.terra.api.platform.world.Tree; +import com.dfsek.terra.api.world.Tree; import com.dfsek.terra.bukkit.world.BukkitAdapter; import com.dfsek.terra.bukkit.world.BukkitTree; -import com.dfsek.terra.registry.exception.DuplicateEntryException; +import com.dfsek.terra.api.registry.DuplicateEntryException; import org.bukkit.TreeType; public class TerraListener implements EventListener { diff --git a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/population/ChunkCoordinate.java b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/population/ChunkCoordinate.java index a68e575fa..d1f73ee9f 100644 --- a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/population/ChunkCoordinate.java +++ b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/population/ChunkCoordinate.java @@ -1,7 +1,7 @@ package com.dfsek.terra.bukkit.population; -import com.dfsek.terra.api.platform.world.Chunk; +import com.dfsek.terra.api.world.Chunk; import com.dfsek.terra.bukkit.world.BukkitWorld; import java.io.Serializable; diff --git a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/population/PopulationManager.java b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/population/PopulationManager.java index ca3f3e8aa..233ed8e9e 100644 --- a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/population/PopulationManager.java +++ b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/population/PopulationManager.java @@ -1,8 +1,8 @@ package com.dfsek.terra.bukkit.population; import com.dfsek.terra.api.TerraPlugin; -import com.dfsek.terra.api.platform.world.Chunk; -import com.dfsek.terra.api.platform.world.World; +import com.dfsek.terra.api.world.Chunk; +import com.dfsek.terra.api.world.World; import com.dfsek.terra.api.util.FastRandom; import com.dfsek.terra.api.world.generation.Chunkified; import com.dfsek.terra.api.world.generation.TerraChunkGenerator; 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 c50cd2711..2dd92d1c2 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 @@ -1,23 +1,24 @@ package com.dfsek.terra.bukkit.world; -import com.dfsek.terra.api.math.vector.Vector3; -import com.dfsek.terra.api.platform.CommandSender; -import com.dfsek.terra.api.platform.block.Axis; -import com.dfsek.terra.api.platform.block.BlockData; -import com.dfsek.terra.api.platform.block.BlockFace; -import com.dfsek.terra.api.platform.block.BlockType; -import com.dfsek.terra.api.platform.block.data.Bisected; -import com.dfsek.terra.api.platform.block.data.Rail; -import com.dfsek.terra.api.platform.block.data.RedstoneWire; -import com.dfsek.terra.api.platform.block.data.Slab; -import com.dfsek.terra.api.platform.block.data.Stairs; -import com.dfsek.terra.api.platform.inventory.ItemStack; -import com.dfsek.terra.api.platform.inventory.item.Enchantment; -import com.dfsek.terra.api.platform.world.Chunk; -import com.dfsek.terra.api.platform.world.World; +import com.dfsek.terra.api.vector.Vector3; +import com.dfsek.terra.vector.Vector3Impl; +import com.dfsek.terra.api.entity.CommandSender; +import com.dfsek.terra.api.block.Axis; +import com.dfsek.terra.api.block.BlockData; +import com.dfsek.terra.api.block.BlockFace; +import com.dfsek.terra.api.block.BlockType; +import com.dfsek.terra.api.block.data.Bisected; +import com.dfsek.terra.api.block.data.Rail; +import com.dfsek.terra.api.block.data.RedstoneWire; +import com.dfsek.terra.api.block.data.Slab; +import com.dfsek.terra.api.block.data.Stairs; +import com.dfsek.terra.api.inventory.ItemStack; +import com.dfsek.terra.api.inventory.item.Enchantment; +import com.dfsek.terra.api.world.Chunk; +import com.dfsek.terra.api.world.World; import com.dfsek.terra.api.transform.MapTransform; -import com.dfsek.terra.api.transform.Transformer; +import com.dfsek.terra.api.transform.TransformerImpl; import com.dfsek.terra.bukkit.BukkitCommandSender; import com.dfsek.terra.bukkit.BukkitEntity; import com.dfsek.terra.bukkit.BukkitPlayer; @@ -36,7 +37,7 @@ import org.bukkit.util.Vector; * Utility class to adapt Bukkit enums to Terra enums. */ public final class BukkitAdapter { - public static Transformer TREE_TRANSFORMER = new Transformer.Builder() + public static TransformerImpl TREE_TRANSFORMER = new TransformerImpl.Builder() .addTransform(new MapTransform() .add(TreeType.COCOA_TREE, "JUNGLE_COCOA") .add(TreeType.BIG_TREE, "LARGE_OAK") @@ -336,12 +337,12 @@ public final class BukkitAdapter { } } - public static Location adapt(com.dfsek.terra.api.math.vector.Location location) { + public static Location adapt(com.dfsek.terra.api.vector.Location location) { return new Location(((BukkitWorld) location.getWorld()).getHandle(), location.getX(), location.getY(), location.getZ()); } - public static com.dfsek.terra.api.math.vector.Location adapt(Location location) { - return new com.dfsek.terra.api.math.vector.Location(adapt(location.getWorld()), location.getX(), location.getY(), location.getZ()); + public static com.dfsek.terra.api.vector.Location adapt(Location location) { + return new com.dfsek.terra.api.vector.Location(adapt(location.getWorld()), location.getX(), location.getY(), location.getZ()); } public static Vector adapt(Vector3 vector3) { @@ -349,7 +350,7 @@ public final class BukkitAdapter { } public static Vector3 adapt(Vector vector) { - return new Vector3(vector.getX(), vector.getY(), vector.getZ()); + return new Vector3Impl(vector.getX(), vector.getY(), vector.getZ()); } public static CommandSender adapt(org.bukkit.command.CommandSender sender) { @@ -386,11 +387,11 @@ public final class BukkitAdapter { return ((BukkitEnchantment) enchantment).getHandle(); } - public static Player adapt(com.dfsek.terra.api.platform.entity.Player player) { + public static Player adapt(com.dfsek.terra.api.entity.Player player) { return ((BukkitPlayer) player).getHandle(); } - public static com.dfsek.terra.api.platform.entity.Player adapt(Player player) { + public static com.dfsek.terra.api.entity.Player adapt(Player player) { return new BukkitPlayer(player); } diff --git a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/BukkitBiome.java b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/BukkitBiome.java index 843268183..fe5e0308b 100644 --- a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/BukkitBiome.java +++ b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/BukkitBiome.java @@ -1,6 +1,6 @@ package com.dfsek.terra.bukkit.world; -import com.dfsek.terra.api.platform.world.Biome; +import com.dfsek.terra.api.world.biome.Biome; public class BukkitBiome implements Biome { private final org.bukkit.block.Biome biome; diff --git a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/BukkitBiomeGrid.java b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/BukkitBiomeGrid.java index 9f3b91a23..308e6a03d 100644 --- a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/BukkitBiomeGrid.java +++ b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/BukkitBiomeGrid.java @@ -1,7 +1,7 @@ package com.dfsek.terra.bukkit.world; -import com.dfsek.terra.api.platform.world.Biome; -import com.dfsek.terra.api.platform.world.BiomeGrid; +import com.dfsek.terra.api.world.biome.Biome; +import com.dfsek.terra.api.world.BiomeGrid; import org.bukkit.generator.ChunkGenerator; import org.jetbrains.annotations.NotNull; diff --git a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/BukkitChunk.java b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/BukkitChunk.java index e27f02ab6..78b94176f 100644 --- a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/BukkitChunk.java +++ b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/BukkitChunk.java @@ -1,9 +1,9 @@ package com.dfsek.terra.bukkit.world; -import com.dfsek.terra.api.platform.block.Block; -import com.dfsek.terra.api.platform.block.BlockData; -import com.dfsek.terra.api.platform.world.Chunk; -import com.dfsek.terra.api.platform.world.World; +import com.dfsek.terra.api.block.Block; +import com.dfsek.terra.api.block.BlockData; +import com.dfsek.terra.api.world.Chunk; +import com.dfsek.terra.api.world.World; import com.dfsek.terra.bukkit.world.block.BukkitBlock; import org.jetbrains.annotations.NotNull; 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 41445619f..a32542ac3 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,9 +1,9 @@ package com.dfsek.terra.bukkit.world; import com.dfsek.terra.api.TerraPlugin; -import com.dfsek.terra.api.math.vector.Location; -import com.dfsek.terra.api.platform.handle.WorldHandle; -import com.dfsek.terra.api.platform.world.Tree; +import com.dfsek.terra.api.vector.Location; +import com.dfsek.terra.api.handle.WorldHandle; +import com.dfsek.terra.api.world.Tree; import com.dfsek.terra.api.util.collections.MaterialSet; import com.dfsek.terra.profiler.ProfileFrame; import org.bukkit.TreeType; diff --git a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/BukkitWorld.java b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/BukkitWorld.java index 158041ae5..e29fb1786 100644 --- a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/BukkitWorld.java +++ b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/BukkitWorld.java @@ -1,12 +1,12 @@ package com.dfsek.terra.bukkit.world; -import com.dfsek.terra.api.math.vector.Location; -import com.dfsek.terra.api.platform.block.Block; -import com.dfsek.terra.api.platform.entity.Entity; -import com.dfsek.terra.api.platform.entity.EntityType; -import com.dfsek.terra.api.platform.world.Chunk; -import com.dfsek.terra.api.platform.world.World; -import com.dfsek.terra.api.platform.world.generator.ChunkGenerator; +import com.dfsek.terra.api.vector.Location; +import com.dfsek.terra.api.block.Block; +import com.dfsek.terra.api.entity.Entity; +import com.dfsek.terra.api.entity.EntityType; +import com.dfsek.terra.api.world.Chunk; +import com.dfsek.terra.api.world.World; +import com.dfsek.terra.api.world.generator.ChunkGenerator; import com.dfsek.terra.bukkit.BukkitEntity; import com.dfsek.terra.bukkit.generator.BukkitChunkGenerator; import com.dfsek.terra.bukkit.world.block.BukkitBlock; diff --git a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/BukkitBlock.java b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/BukkitBlock.java index dcf49acdd..9c9e10669 100644 --- a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/BukkitBlock.java +++ b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/BukkitBlock.java @@ -1,11 +1,11 @@ package com.dfsek.terra.bukkit.world.block; -import com.dfsek.terra.api.math.vector.Location; -import com.dfsek.terra.api.platform.block.Block; -import com.dfsek.terra.api.platform.block.BlockData; -import com.dfsek.terra.api.platform.block.BlockFace; -import com.dfsek.terra.api.platform.block.BlockType; -import com.dfsek.terra.api.platform.block.state.BlockState; +import com.dfsek.terra.api.vector.Location; +import com.dfsek.terra.api.block.Block; +import com.dfsek.terra.api.block.BlockData; +import com.dfsek.terra.api.block.BlockFace; +import com.dfsek.terra.api.block.BlockType; +import com.dfsek.terra.api.block.state.BlockState; import com.dfsek.terra.bukkit.world.BukkitAdapter; import com.dfsek.terra.bukkit.world.block.data.BukkitBlockData; import com.dfsek.terra.bukkit.world.block.state.BukkitBlockState; diff --git a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/BukkitBlockTypeAndItem.java b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/BukkitBlockTypeAndItem.java index 5b3e0767c..8e72cc3f0 100644 --- a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/BukkitBlockTypeAndItem.java +++ b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/BukkitBlockTypeAndItem.java @@ -1,9 +1,9 @@ package com.dfsek.terra.bukkit.world.block; -import com.dfsek.terra.api.platform.block.BlockData; -import com.dfsek.terra.api.platform.block.BlockType; -import com.dfsek.terra.api.platform.inventory.Item; -import com.dfsek.terra.api.platform.inventory.ItemStack; +import com.dfsek.terra.api.block.BlockData; +import com.dfsek.terra.api.block.BlockType; +import com.dfsek.terra.api.inventory.Item; +import com.dfsek.terra.api.inventory.ItemStack; import com.dfsek.terra.bukkit.world.BukkitAdapter; import org.bukkit.Material; diff --git a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitAnaloguePowerable.java b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitAnaloguePowerable.java index 71cd99513..4179e58d4 100644 --- a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitAnaloguePowerable.java +++ b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitAnaloguePowerable.java @@ -1,6 +1,6 @@ package com.dfsek.terra.bukkit.world.block.data; -import com.dfsek.terra.api.platform.block.data.AnaloguePowerable; +import com.dfsek.terra.api.block.data.AnaloguePowerable; public class BukkitAnaloguePowerable extends BukkitBlockData implements AnaloguePowerable { public BukkitAnaloguePowerable(org.bukkit.block.data.AnaloguePowerable delegate) { diff --git a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitBlockData.java b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitBlockData.java index e0dffe72b..ee4635636 100644 --- a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitBlockData.java +++ b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitBlockData.java @@ -1,7 +1,7 @@ package com.dfsek.terra.bukkit.world.block.data; -import com.dfsek.terra.api.platform.block.BlockData; -import com.dfsek.terra.api.platform.block.BlockType; +import com.dfsek.terra.api.block.BlockData; +import com.dfsek.terra.api.block.BlockType; import com.dfsek.terra.bukkit.TerraBukkitPlugin; import com.dfsek.terra.bukkit.world.BukkitAdapter; import org.bukkit.Material; diff --git a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitDirectional.java b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitDirectional.java index 13d610774..64a447a48 100644 --- a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitDirectional.java +++ b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitDirectional.java @@ -1,7 +1,7 @@ package com.dfsek.terra.bukkit.world.block.data; -import com.dfsek.terra.api.platform.block.BlockFace; -import com.dfsek.terra.api.platform.block.data.Directional; +import com.dfsek.terra.api.block.BlockFace; +import com.dfsek.terra.api.block.data.Directional; import com.dfsek.terra.bukkit.world.BukkitAdapter; public class BukkitDirectional extends BukkitBlockData implements Directional { diff --git a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitMultipleFacing.java b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitMultipleFacing.java index 4e01a62f3..7a4b5f484 100644 --- a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitMultipleFacing.java +++ b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitMultipleFacing.java @@ -1,7 +1,7 @@ package com.dfsek.terra.bukkit.world.block.data; -import com.dfsek.terra.api.platform.block.BlockFace; -import com.dfsek.terra.api.platform.block.data.MultipleFacing; +import com.dfsek.terra.api.block.BlockFace; +import com.dfsek.terra.api.block.data.MultipleFacing; import com.dfsek.terra.bukkit.world.BukkitAdapter; import java.util.Set; diff --git a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitOrientable.java b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitOrientable.java index c6cfdca18..87d9d2587 100644 --- a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitOrientable.java +++ b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitOrientable.java @@ -1,7 +1,7 @@ package com.dfsek.terra.bukkit.world.block.data; -import com.dfsek.terra.api.platform.block.Axis; -import com.dfsek.terra.api.platform.block.data.Orientable; +import com.dfsek.terra.api.block.Axis; +import com.dfsek.terra.api.block.data.Orientable; import com.dfsek.terra.bukkit.world.BukkitAdapter; import java.util.Set; diff --git a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitRail.java b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitRail.java index ae85d2b76..3c7455735 100644 --- a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitRail.java +++ b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitRail.java @@ -1,6 +1,6 @@ package com.dfsek.terra.bukkit.world.block.data; -import com.dfsek.terra.api.platform.block.data.Rail; +import com.dfsek.terra.api.block.data.Rail; import com.dfsek.terra.bukkit.world.BukkitAdapter; public class BukkitRail extends BukkitBlockData implements Rail { diff --git a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitRedstoneWire.java b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitRedstoneWire.java index 708c1316b..8ee7fbb59 100644 --- a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitRedstoneWire.java +++ b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitRedstoneWire.java @@ -1,7 +1,7 @@ package com.dfsek.terra.bukkit.world.block.data; -import com.dfsek.terra.api.platform.block.BlockFace; -import com.dfsek.terra.api.platform.block.data.RedstoneWire; +import com.dfsek.terra.api.block.BlockFace; +import com.dfsek.terra.api.block.data.RedstoneWire; import com.dfsek.terra.bukkit.world.BukkitAdapter; import java.util.Set; diff --git a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitRotatable.java b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitRotatable.java index 0da5c04b9..5b5c7be8d 100644 --- a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitRotatable.java +++ b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitRotatable.java @@ -1,7 +1,7 @@ package com.dfsek.terra.bukkit.world.block.data; -import com.dfsek.terra.api.platform.block.BlockFace; -import com.dfsek.terra.api.platform.block.data.Rotatable; +import com.dfsek.terra.api.block.BlockFace; +import com.dfsek.terra.api.block.data.Rotatable; import com.dfsek.terra.bukkit.world.BukkitAdapter; public class BukkitRotatable extends BukkitBlockData implements Rotatable { diff --git a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitSlab.java b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitSlab.java index 6ddf160b3..6420e6de0 100644 --- a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitSlab.java +++ b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitSlab.java @@ -1,6 +1,6 @@ package com.dfsek.terra.bukkit.world.block.data; -import com.dfsek.terra.api.platform.block.data.Slab; +import com.dfsek.terra.api.block.data.Slab; import com.dfsek.terra.bukkit.world.BukkitAdapter; public class BukkitSlab extends BukkitWaterlogged implements Slab { diff --git a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitStairs.java b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitStairs.java index c54d4a993..046b17b91 100644 --- a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitStairs.java +++ b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitStairs.java @@ -1,7 +1,7 @@ package com.dfsek.terra.bukkit.world.block.data; -import com.dfsek.terra.api.platform.block.BlockFace; -import com.dfsek.terra.api.platform.block.data.Stairs; +import com.dfsek.terra.api.block.BlockFace; +import com.dfsek.terra.api.block.data.Stairs; import com.dfsek.terra.bukkit.world.BukkitAdapter; public class BukkitStairs extends BukkitBlockData implements Stairs { diff --git a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitWall.java b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitWall.java index 2addb83b7..e19038dba 100644 --- a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitWall.java +++ b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitWall.java @@ -1,7 +1,7 @@ package com.dfsek.terra.bukkit.world.block.data; -import com.dfsek.terra.api.platform.block.BlockFace; -import com.dfsek.terra.api.platform.block.data.Wall; +import com.dfsek.terra.api.block.BlockFace; +import com.dfsek.terra.api.block.data.Wall; import com.dfsek.terra.bukkit.world.BukkitAdapter; public class BukkitWall extends BukkitWaterlogged implements Wall { @@ -19,7 +19,7 @@ public class BukkitWall extends BukkitWaterlogged implements Wall { ((org.bukkit.block.data.type.Wall) getHandle()).setUp(up); } - public static org.bukkit.block.data.type.Wall.Height adapt(com.dfsek.terra.api.platform.block.data.Wall.Height height) { + public static org.bukkit.block.data.type.Wall.Height adapt(com.dfsek.terra.api.block.data.Wall.Height height) { switch(height) { case NONE: return org.bukkit.block.data.type.Wall.Height.NONE; @@ -32,14 +32,14 @@ public class BukkitWall extends BukkitWaterlogged implements Wall { } } - public static com.dfsek.terra.api.platform.block.data.Wall.Height adapt(org.bukkit.block.data.type.Wall.Height height) { + public static com.dfsek.terra.api.block.data.Wall.Height adapt(org.bukkit.block.data.type.Wall.Height height) { switch(height) { case TALL: - return com.dfsek.terra.api.platform.block.data.Wall.Height.TALL; + return com.dfsek.terra.api.block.data.Wall.Height.TALL; case LOW: - return com.dfsek.terra.api.platform.block.data.Wall.Height.LOW; + return com.dfsek.terra.api.block.data.Wall.Height.LOW; case NONE: - return com.dfsek.terra.api.platform.block.data.Wall.Height.NONE; + return com.dfsek.terra.api.block.data.Wall.Height.NONE; default: throw new IllegalStateException(); } diff --git a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitWaterlogged.java b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitWaterlogged.java index b75c6c170..a866d32f2 100644 --- a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitWaterlogged.java +++ b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitWaterlogged.java @@ -1,6 +1,6 @@ package com.dfsek.terra.bukkit.world.block.data; -import com.dfsek.terra.api.platform.block.data.Waterlogged; +import com.dfsek.terra.api.block.data.Waterlogged; public class BukkitWaterlogged extends BukkitBlockData implements Waterlogged { public BukkitWaterlogged(org.bukkit.block.data.Waterlogged delegate) { diff --git a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/state/BukkitBlockState.java b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/state/BukkitBlockState.java index c96c520de..cd8127c09 100644 --- a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/state/BukkitBlockState.java +++ b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/state/BukkitBlockState.java @@ -1,8 +1,8 @@ package com.dfsek.terra.bukkit.world.block.state; -import com.dfsek.terra.api.platform.block.Block; -import com.dfsek.terra.api.platform.block.BlockData; -import com.dfsek.terra.api.platform.block.state.BlockState; +import com.dfsek.terra.api.block.Block; +import com.dfsek.terra.api.block.BlockData; +import com.dfsek.terra.api.block.state.BlockState; import com.dfsek.terra.bukkit.world.block.BukkitBlock; import com.dfsek.terra.bukkit.world.block.data.BukkitBlockData; import org.bukkit.block.Container; diff --git a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/state/BukkitContainer.java b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/state/BukkitContainer.java index cdb1fe636..d940d62a5 100644 --- a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/state/BukkitContainer.java +++ b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/state/BukkitContainer.java @@ -1,7 +1,7 @@ package com.dfsek.terra.bukkit.world.block.state; -import com.dfsek.terra.api.platform.block.state.Container; -import com.dfsek.terra.api.platform.inventory.Inventory; +import com.dfsek.terra.api.block.state.Container; +import com.dfsek.terra.api.inventory.Inventory; import com.dfsek.terra.bukkit.world.inventory.BukkitInventory; public class BukkitContainer extends BukkitBlockState implements Container { diff --git a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/state/BukkitMobSpawner.java b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/state/BukkitMobSpawner.java index 526d1481d..f6f45180c 100644 --- a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/state/BukkitMobSpawner.java +++ b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/state/BukkitMobSpawner.java @@ -1,8 +1,8 @@ package com.dfsek.terra.bukkit.world.block.state; -import com.dfsek.terra.api.platform.block.state.MobSpawner; -import com.dfsek.terra.api.platform.block.state.SerialState; -import com.dfsek.terra.api.platform.entity.EntityType; +import com.dfsek.terra.api.block.state.MobSpawner; +import com.dfsek.terra.api.block.state.SerialState; +import com.dfsek.terra.api.entity.EntityType; import com.dfsek.terra.bukkit.world.entity.BukkitEntityType; import org.bukkit.block.CreatureSpawner; import org.jetbrains.annotations.NotNull; diff --git a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/state/BukkitSign.java b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/state/BukkitSign.java index 05625cc1a..b3e5b3b46 100644 --- a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/state/BukkitSign.java +++ b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/state/BukkitSign.java @@ -1,7 +1,7 @@ package com.dfsek.terra.bukkit.world.block.state; -import com.dfsek.terra.api.platform.block.state.SerialState; -import com.dfsek.terra.api.platform.block.state.Sign; +import com.dfsek.terra.api.block.state.SerialState; +import com.dfsek.terra.api.block.state.Sign; import org.jetbrains.annotations.NotNull; @SuppressWarnings("deprecation") diff --git a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/entity/BukkitEntityType.java b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/entity/BukkitEntityType.java index 280ebc5b4..0338372a6 100644 --- a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/entity/BukkitEntityType.java +++ b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/entity/BukkitEntityType.java @@ -1,6 +1,6 @@ package com.dfsek.terra.bukkit.world.entity; -import com.dfsek.terra.api.platform.entity.EntityType; +import com.dfsek.terra.api.entity.EntityType; public class BukkitEntityType implements EntityType { private final org.bukkit.entity.EntityType delegate; diff --git a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/inventory/BukkitInventory.java b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/inventory/BukkitInventory.java index f567bff01..d354396a0 100644 --- a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/inventory/BukkitInventory.java +++ b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/inventory/BukkitInventory.java @@ -1,7 +1,7 @@ package com.dfsek.terra.bukkit.world.inventory; -import com.dfsek.terra.api.platform.inventory.Inventory; -import com.dfsek.terra.api.platform.inventory.ItemStack; +import com.dfsek.terra.api.inventory.Inventory; +import com.dfsek.terra.api.inventory.ItemStack; public class BukkitInventory implements Inventory { private final org.bukkit.inventory.Inventory delegate; diff --git a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/inventory/BukkitItemMeta.java b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/inventory/BukkitItemMeta.java index a8bc30131..e80ac6419 100644 --- a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/inventory/BukkitItemMeta.java +++ b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/inventory/BukkitItemMeta.java @@ -1,7 +1,7 @@ package com.dfsek.terra.bukkit.world.inventory; -import com.dfsek.terra.api.platform.inventory.item.Enchantment; -import com.dfsek.terra.api.platform.inventory.item.ItemMeta; +import com.dfsek.terra.api.inventory.item.Enchantment; +import com.dfsek.terra.api.inventory.item.ItemMeta; import com.dfsek.terra.bukkit.world.BukkitAdapter; import com.dfsek.terra.bukkit.world.inventory.meta.BukkitDamageable; import com.dfsek.terra.bukkit.world.inventory.meta.BukkitEnchantment; diff --git a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/inventory/BukkitItemStack.java b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/inventory/BukkitItemStack.java index b42f7319d..564b0149c 100644 --- a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/inventory/BukkitItemStack.java +++ b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/inventory/BukkitItemStack.java @@ -1,8 +1,8 @@ package com.dfsek.terra.bukkit.world.inventory; -import com.dfsek.terra.api.platform.inventory.Item; -import com.dfsek.terra.api.platform.inventory.ItemStack; -import com.dfsek.terra.api.platform.inventory.item.ItemMeta; +import com.dfsek.terra.api.inventory.Item; +import com.dfsek.terra.api.inventory.ItemStack; +import com.dfsek.terra.api.inventory.item.ItemMeta; import com.dfsek.terra.bukkit.world.BukkitAdapter; public class BukkitItemStack implements ItemStack { diff --git a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/inventory/meta/BukkitDamageable.java b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/inventory/meta/BukkitDamageable.java index 0c2ba018f..0aab11176 100644 --- a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/inventory/meta/BukkitDamageable.java +++ b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/inventory/meta/BukkitDamageable.java @@ -1,6 +1,6 @@ package com.dfsek.terra.bukkit.world.inventory.meta; -import com.dfsek.terra.api.platform.inventory.item.Damageable; +import com.dfsek.terra.api.inventory.item.Damageable; import com.dfsek.terra.bukkit.world.inventory.BukkitItemMeta; import org.bukkit.inventory.meta.ItemMeta; diff --git a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/inventory/meta/BukkitEnchantment.java b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/inventory/meta/BukkitEnchantment.java index 577414c28..a2a149d29 100644 --- a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/inventory/meta/BukkitEnchantment.java +++ b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/inventory/meta/BukkitEnchantment.java @@ -1,7 +1,7 @@ package com.dfsek.terra.bukkit.world.inventory.meta; -import com.dfsek.terra.api.platform.inventory.ItemStack; -import com.dfsek.terra.api.platform.inventory.item.Enchantment; +import com.dfsek.terra.api.inventory.ItemStack; +import com.dfsek.terra.api.inventory.item.Enchantment; import com.dfsek.terra.bukkit.world.inventory.BukkitItemStack; public class BukkitEnchantment implements Enchantment { 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 77ff1b952..81af2b609 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 @@ -4,28 +4,28 @@ import com.dfsek.tectonic.exception.ConfigException; import com.dfsek.tectonic.exception.LoadException; import com.dfsek.tectonic.loading.TypeRegistry; import com.dfsek.terra.api.TerraPlugin; -import com.dfsek.terra.api.addons.TerraAddon; -import com.dfsek.terra.api.addons.annotations.Addon; -import com.dfsek.terra.api.addons.annotations.Author; -import com.dfsek.terra.api.addons.annotations.Version; +import com.dfsek.terra.api.addon.TerraAddon; +import com.dfsek.terra.api.addon.annotations.Addon; +import com.dfsek.terra.api.addon.annotations.Author; +import com.dfsek.terra.api.addon.annotations.Version; import com.dfsek.terra.api.command.CommandManager; import com.dfsek.terra.api.command.TerraCommandManager; import com.dfsek.terra.api.command.exception.MalformedCommandException; import com.dfsek.terra.api.event.EventListener; import com.dfsek.terra.api.event.EventManager; -import com.dfsek.terra.api.event.TerraEventManager; +import com.dfsek.terra.api.event.EventManagerImpl; import com.dfsek.terra.api.event.annotations.Global; import com.dfsek.terra.api.event.annotations.Priority; import com.dfsek.terra.api.event.events.config.ConfigPackPostLoadEvent; import com.dfsek.terra.api.event.events.config.ConfigPackPreLoadEvent; -import com.dfsek.terra.api.platform.block.BlockData; -import com.dfsek.terra.api.platform.handle.ItemHandle; -import com.dfsek.terra.api.platform.handle.WorldHandle; -import com.dfsek.terra.api.platform.world.Tree; -import com.dfsek.terra.api.platform.world.World; +import com.dfsek.terra.api.block.BlockData; +import com.dfsek.terra.api.handle.ItemHandle; +import com.dfsek.terra.api.handle.WorldHandle; +import com.dfsek.terra.api.world.Tree; +import com.dfsek.terra.api.world.World; import com.dfsek.terra.api.registry.CheckedRegistry; import com.dfsek.terra.api.registry.LockedRegistry; -import com.dfsek.terra.api.transform.Transformer; +import com.dfsek.terra.api.transform.TransformerImpl; import com.dfsek.terra.api.transform.Validator; import com.dfsek.terra.api.util.generic.pair.Pair; import com.dfsek.terra.api.util.logging.DebugLogger; @@ -37,7 +37,6 @@ import com.dfsek.terra.config.builder.BiomeBuilder; import com.dfsek.terra.config.lang.LangUtil; import com.dfsek.terra.config.lang.Language; import com.dfsek.terra.config.pack.ConfigPack; -import com.dfsek.terra.config.templates.BiomeTemplate; import com.dfsek.terra.fabric.generation.FabricChunkGeneratorWrapper; import com.dfsek.terra.fabric.generation.PopulatorFeature; import com.dfsek.terra.fabric.generation.TerraBiomeSource; @@ -45,18 +44,13 @@ import com.dfsek.terra.fabric.config.PostLoadCompatibilityOptions; import com.dfsek.terra.fabric.config.PreLoadCompatibilityOptions; import com.dfsek.terra.fabric.event.BiomeRegistrationEvent; import com.dfsek.terra.fabric.event.GameInitializationEvent; -import com.dfsek.terra.fabric.generation.FabricChunkGeneratorWrapper; -import com.dfsek.terra.fabric.generation.PopulatorFeature; -import com.dfsek.terra.fabric.generation.TerraBiomeSource; import com.dfsek.terra.fabric.handle.FabricItemHandle; import com.dfsek.terra.fabric.handle.FabricWorldHandle; -import com.dfsek.terra.fabric.mixin.access.BiomeEffectsAccessor; -import com.dfsek.terra.fabric.mixin.access.GeneratorTypeAccessor; import com.dfsek.terra.fabric.util.FabricUtil; import com.dfsek.terra.fabric.util.ProtoBiome; import com.dfsek.terra.profiler.Profiler; import com.dfsek.terra.profiler.ProfilerImpl; -import com.dfsek.terra.registry.exception.DuplicateEntryException; +import com.dfsek.terra.api.registry.DuplicateEntryException; import com.dfsek.terra.registry.master.AddonRegistry; import com.dfsek.terra.registry.master.ConfigRegistry; import com.dfsek.terra.world.TerraWorld; @@ -97,7 +91,7 @@ public class TerraFabricPlugin implements TerraPlugin, ModInitializer { return worldMap; } - private final EventManager eventManager = new TerraEventManager(this); + private final EventManager eventManager = new EventManagerImpl(this); private final GenericLoaders genericLoaders = new GenericLoaders(this); private final Profiler profiler = new ProfilerImpl(); @@ -131,7 +125,7 @@ public class TerraFabricPlugin implements TerraPlugin, ModInitializer { private final PluginConfig config = new PluginConfig(); - private final Transformer biomeFixer = new Transformer.Builder() + private final TransformerImpl biomeFixer = new TransformerImpl.Builder() .addTransform(this::parseBiome, Validator.notNull()) .addTransform(id -> parseBiome("minecraft:" + id.toLowerCase()), Validator.notNull()).build(); @@ -245,7 +239,7 @@ public class TerraFabricPlugin implements TerraPlugin, ModInitializer { genericLoaders.register(registry); registry .registerLoader(BlockData.class, (t, o, l) -> worldHandle.createBlockData((String) o)) - .registerLoader(com.dfsek.terra.api.platform.world.Biome.class, (t, o, l) -> biomeFixer.translate((String) o)) + .registerLoader(com.dfsek.terra.api.world.Biome.class, (t, o, l) -> biomeFixer.translate((String) o)) .registerLoader(Identifier.class, (t, o, l) -> { Identifier identifier = Identifier.tryParse((String) o); if(identifier == null) throw new LoadException("Invalid identifier: " + o); diff --git a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/block/FabricBlock.java b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/block/FabricBlock.java index 78c1211b5..167bd72a4 100644 --- a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/block/FabricBlock.java +++ b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/block/FabricBlock.java @@ -1,12 +1,12 @@ package com.dfsek.terra.fabric.block; -import com.dfsek.terra.api.math.vector.Location; -import com.dfsek.terra.api.platform.block.Block; -import com.dfsek.terra.api.platform.block.BlockData; -import com.dfsek.terra.api.platform.block.BlockFace; -import com.dfsek.terra.api.platform.block.BlockType; -import com.dfsek.terra.api.platform.block.state.BlockState; -import com.dfsek.terra.api.platform.world.World; +import com.dfsek.terra.api.vector.Location; +import com.dfsek.terra.api.block.Block; +import com.dfsek.terra.api.block.BlockData; +import com.dfsek.terra.api.block.BlockFace; +import com.dfsek.terra.api.block.BlockType; +import com.dfsek.terra.api.block.state.BlockState; +import com.dfsek.terra.api.world.World; import com.dfsek.terra.fabric.util.FabricAdapter; import net.minecraft.block.FluidBlock; import net.minecraft.util.math.BlockPos; diff --git a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/block/FabricBlockData.java b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/block/FabricBlockData.java index 6fd723bfb..05e4fd21e 100644 --- a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/block/FabricBlockData.java +++ b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/block/FabricBlockData.java @@ -1,7 +1,7 @@ package com.dfsek.terra.fabric.block; -import com.dfsek.terra.api.platform.block.BlockData; -import com.dfsek.terra.api.platform.block.BlockType; +import com.dfsek.terra.api.block.BlockData; +import com.dfsek.terra.api.block.BlockType; import com.dfsek.terra.fabric.mixin.access.StateAccessor; import net.minecraft.block.BlockState; import net.minecraft.block.Blocks; diff --git a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/block/data/FabricAnaloguePowerable.java b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/block/data/FabricAnaloguePowerable.java index b2fab164e..7e0345474 100644 --- a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/block/data/FabricAnaloguePowerable.java +++ b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/block/data/FabricAnaloguePowerable.java @@ -1,6 +1,6 @@ package com.dfsek.terra.fabric.block.data; -import com.dfsek.terra.api.platform.block.data.AnaloguePowerable; +import com.dfsek.terra.api.block.data.AnaloguePowerable; import com.dfsek.terra.fabric.block.FabricBlockData; import net.minecraft.block.BlockState; diff --git a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/block/data/FabricDirectional.java b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/block/data/FabricDirectional.java index be4eb316b..8d5eff52e 100644 --- a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/block/data/FabricDirectional.java +++ b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/block/data/FabricDirectional.java @@ -1,7 +1,7 @@ package com.dfsek.terra.fabric.block.data; -import com.dfsek.terra.api.platform.block.BlockFace; -import com.dfsek.terra.api.platform.block.data.Directional; +import com.dfsek.terra.api.block.BlockFace; +import com.dfsek.terra.api.block.data.Directional; import com.dfsek.terra.fabric.block.FabricBlockData; import com.dfsek.terra.fabric.util.FabricAdapter; import net.minecraft.block.BlockState; diff --git a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/block/data/FabricMultipleFacing.java b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/block/data/FabricMultipleFacing.java index d1caae8e1..2dbfe8e27 100644 --- a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/block/data/FabricMultipleFacing.java +++ b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/block/data/FabricMultipleFacing.java @@ -1,7 +1,7 @@ package com.dfsek.terra.fabric.block.data; -import com.dfsek.terra.api.platform.block.BlockFace; -import com.dfsek.terra.api.platform.block.data.MultipleFacing; +import com.dfsek.terra.api.block.BlockFace; +import com.dfsek.terra.api.block.data.MultipleFacing; import com.dfsek.terra.fabric.block.FabricBlockData; import net.minecraft.block.BlockState; import net.minecraft.state.property.Properties; diff --git a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/block/data/FabricOrientable.java b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/block/data/FabricOrientable.java index d8e88d566..4a92e02c4 100644 --- a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/block/data/FabricOrientable.java +++ b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/block/data/FabricOrientable.java @@ -1,7 +1,7 @@ package com.dfsek.terra.fabric.block.data; -import com.dfsek.terra.api.platform.block.Axis; -import com.dfsek.terra.api.platform.block.data.Orientable; +import com.dfsek.terra.api.block.Axis; +import com.dfsek.terra.api.block.data.Orientable; import com.dfsek.terra.fabric.block.FabricBlockData; import com.dfsek.terra.fabric.util.FabricAdapter; import net.minecraft.block.BlockState; diff --git a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/block/data/FabricRotatable.java b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/block/data/FabricRotatable.java index 4b7a971ea..2dc2eee73 100644 --- a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/block/data/FabricRotatable.java +++ b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/block/data/FabricRotatable.java @@ -1,7 +1,7 @@ package com.dfsek.terra.fabric.block.data; -import com.dfsek.terra.api.platform.block.BlockFace; -import com.dfsek.terra.api.platform.block.data.Rotatable; +import com.dfsek.terra.api.block.BlockFace; +import com.dfsek.terra.api.block.data.Rotatable; import com.dfsek.terra.fabric.block.FabricBlockData; import net.minecraft.block.BlockState; import net.minecraft.state.property.Properties; diff --git a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/block/data/FabricSlab.java b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/block/data/FabricSlab.java index cf0d0c277..bcd7c753e 100644 --- a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/block/data/FabricSlab.java +++ b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/block/data/FabricSlab.java @@ -1,6 +1,6 @@ package com.dfsek.terra.fabric.block.data; -import com.dfsek.terra.api.platform.block.data.Slab; +import com.dfsek.terra.api.block.data.Slab; import com.dfsek.terra.fabric.util.FabricAdapter; import net.minecraft.block.BlockState; import net.minecraft.state.property.Properties; diff --git a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/block/data/FabricStairs.java b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/block/data/FabricStairs.java index d18ec13da..2764551ba 100644 --- a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/block/data/FabricStairs.java +++ b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/block/data/FabricStairs.java @@ -1,7 +1,7 @@ package com.dfsek.terra.fabric.block.data; -import com.dfsek.terra.api.platform.block.BlockFace; -import com.dfsek.terra.api.platform.block.data.Stairs; +import com.dfsek.terra.api.block.BlockFace; +import com.dfsek.terra.api.block.data.Stairs; import com.dfsek.terra.fabric.util.FabricAdapter; import net.minecraft.block.BlockState; import net.minecraft.state.property.Properties; diff --git a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/block/data/FabricWaterlogged.java b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/block/data/FabricWaterlogged.java index 7e3636bde..e1e71a3ce 100644 --- a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/block/data/FabricWaterlogged.java +++ b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/block/data/FabricWaterlogged.java @@ -1,6 +1,6 @@ package com.dfsek.terra.fabric.block.data; -import com.dfsek.terra.api.platform.block.data.Waterlogged; +import com.dfsek.terra.api.block.data.Waterlogged; import com.dfsek.terra.fabric.block.FabricBlockData; import net.minecraft.block.BlockState; import net.minecraft.state.property.Properties; diff --git a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/generation/FabricChunkGeneratorWrapper.java b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/generation/FabricChunkGeneratorWrapper.java index e3e4b18d9..d29f2df63 100644 --- a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/generation/FabricChunkGeneratorWrapper.java +++ b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/generation/FabricChunkGeneratorWrapper.java @@ -1,8 +1,8 @@ package com.dfsek.terra.fabric.generation; -import com.dfsek.terra.api.platform.world.World; -import com.dfsek.terra.api.platform.world.generator.ChunkData; -import com.dfsek.terra.api.platform.world.generator.GeneratorWrapper; +import com.dfsek.terra.api.world.World; +import com.dfsek.terra.api.world.generator.ChunkData; +import com.dfsek.terra.api.world.generator.GeneratorWrapper; import com.dfsek.terra.api.util.FastRandom; import com.dfsek.terra.api.world.generation.Chunkified; import com.dfsek.terra.api.world.generation.TerraChunkGenerator; @@ -153,7 +153,7 @@ public class FabricChunkGeneratorWrapper extends ChunkGenerator implements Gener delegate.generateChunkData(world, new FastRandom(), chunk.getPos().x, chunk.getPos().z, (ChunkData) chunk); delegate.getPopulators().forEach(populator -> { if(populator instanceof Chunkified) { - populator.populate(world, (com.dfsek.terra.api.platform.world.Chunk) world); + populator.populate(world, (com.dfsek.terra.api.world.Chunk) world); } }); return chunk; diff --git a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/generation/PopulatorFeature.java b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/generation/PopulatorFeature.java index 99a30d378..0af63397b 100644 --- a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/generation/PopulatorFeature.java +++ b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/generation/PopulatorFeature.java @@ -1,7 +1,7 @@ package com.dfsek.terra.fabric.generation; -import com.dfsek.terra.api.platform.world.Chunk; -import com.dfsek.terra.api.platform.world.World; +import com.dfsek.terra.api.world.Chunk; +import com.dfsek.terra.api.world.World; import com.dfsek.terra.api.world.generation.Chunkified; import com.mojang.serialization.Codec; import net.minecraft.world.StructureWorldAccess; diff --git a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/generation/TerraBiomeSource.java b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/generation/TerraBiomeSource.java index d8ee36830..040a1f473 100644 --- a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/generation/TerraBiomeSource.java +++ b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/generation/TerraBiomeSource.java @@ -1,7 +1,7 @@ package com.dfsek.terra.fabric.generation; import com.dfsek.terra.api.world.biome.UserDefinedBiome; -import com.dfsek.terra.api.world.biome.provider.BiomeProvider; +import com.dfsek.terra.api.world.biome.generation.BiomeProvider; import com.dfsek.terra.config.pack.ConfigPack; import com.dfsek.terra.fabric.TerraFabricPlugin; import com.dfsek.terra.fabric.util.FabricUtil; diff --git a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/handle/FabricItemHandle.java b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/handle/FabricItemHandle.java index 4ea99a542..4fa7b5e40 100644 --- a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/handle/FabricItemHandle.java +++ b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/handle/FabricItemHandle.java @@ -1,8 +1,8 @@ package com.dfsek.terra.fabric.handle; -import com.dfsek.terra.api.platform.handle.ItemHandle; -import com.dfsek.terra.api.platform.inventory.Item; -import com.dfsek.terra.api.platform.inventory.item.Enchantment; +import com.dfsek.terra.api.handle.ItemHandle; +import com.dfsek.terra.api.inventory.Item; +import com.dfsek.terra.api.inventory.item.Enchantment; import com.mojang.brigadier.StringReader; import com.mojang.brigadier.exceptions.CommandSyntaxException; import net.minecraft.command.argument.ItemStackArgumentType; diff --git a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/handle/FabricWorldHandle.java b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/handle/FabricWorldHandle.java index 1f801f1d0..e211d9989 100644 --- a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/handle/FabricWorldHandle.java +++ b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/handle/FabricWorldHandle.java @@ -1,9 +1,9 @@ package com.dfsek.terra.fabric.handle; -import com.dfsek.terra.api.math.vector.Location; -import com.dfsek.terra.api.platform.entity.EntityType; -import com.dfsek.terra.api.platform.entity.Player; -import com.dfsek.terra.api.platform.handle.WorldHandle; +import com.dfsek.terra.api.vector.Location; +import com.dfsek.terra.api.entity.EntityType; +import com.dfsek.terra.api.entity.Player; +import com.dfsek.terra.api.handle.WorldHandle; import com.dfsek.terra.api.util.generic.pair.Pair; import com.dfsek.terra.fabric.block.FabricBlockData; import com.dfsek.terra.fabric.util.FabricAdapter; diff --git a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/CommandManagerMixin.java b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/CommandManagerMixin.java index 2e98614df..dc21f4cc1 100644 --- a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/CommandManagerMixin.java +++ b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/CommandManagerMixin.java @@ -1,8 +1,8 @@ package com.dfsek.terra.fabric.mixin; import com.dfsek.terra.api.command.exception.CommandException; -import com.dfsek.terra.api.platform.CommandSender; -import com.dfsek.terra.api.platform.entity.Entity; +import com.dfsek.terra.api.entity.CommandSender; +import com.dfsek.terra.api.entity.Entity; import com.dfsek.terra.fabric.TerraFabricPlugin; import com.mojang.brigadier.CommandDispatcher; import com.mojang.brigadier.arguments.StringArgumentType; diff --git a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/ServerWorldMixin.java b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/ServerWorldMixin.java index b3d5d7c97..399c80208 100644 --- a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/ServerWorldMixin.java +++ b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/ServerWorldMixin.java @@ -27,7 +27,7 @@ public abstract class ServerWorldMixin { @Inject(method = "", at = @At(value = "RETURN")) public void injectConstructor(MinecraftServer server, Executor workerExecutor, LevelStorage.Session session, ServerWorldProperties properties, RegistryKey registryKey, DimensionType dimensionType, WorldGenerationProgressListener worldGenerationProgressListener, ChunkGenerator chunkGenerator, boolean debugWorld, long l, List list, boolean bl, CallbackInfo ci) { if(chunkGenerator instanceof FabricChunkGeneratorWrapper) { - TerraFabricPlugin.getInstance().getWorldMap().put(dimensionType, Pair.of((ServerWorld) (Object) this, new TerraWorld((com.dfsek.terra.api.platform.world.World) this, ((FabricChunkGeneratorWrapper) chunkGenerator).getPack(), TerraFabricPlugin.getInstance()))); + TerraFabricPlugin.getInstance().getWorldMap().put(dimensionType, Pair.of((ServerWorld) (Object) this, new TerraWorld((com.dfsek.terra.api.world.World) this, ((FabricChunkGeneratorWrapper) chunkGenerator).getPack(), TerraFabricPlugin.getInstance()))); ((FabricChunkGeneratorWrapper) chunkGenerator).setDimensionType(dimensionType); TerraFabricPlugin.getInstance().logger().info("Registered world " + this + " to dimension type " + dimensionType); } diff --git a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/BiomeMixin.java b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/BiomeMixin.java index 4a928cbb6..22d8eb3b3 100644 --- a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/BiomeMixin.java +++ b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/BiomeMixin.java @@ -7,7 +7,7 @@ import org.spongepowered.asm.mixin.Intrinsic; import org.spongepowered.asm.mixin.Mixin; @Mixin(Biome.class) -@Implements(@Interface(iface = com.dfsek.terra.api.platform.world.Biome.class, prefix = "terra$", remap = Interface.Remap.NONE)) +@Implements(@Interface(iface = com.dfsek.terra.api.world.Biome.class, prefix = "terra$", remap = Interface.Remap.NONE)) public abstract class BiomeMixin { @Intrinsic public Object terra$getHandle() { diff --git a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/ChunkGeneratorMixin.java b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/ChunkGeneratorMixin.java index cc7b82e80..cb290eb3f 100644 --- a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/ChunkGeneratorMixin.java +++ b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/ChunkGeneratorMixin.java @@ -7,7 +7,7 @@ import org.spongepowered.asm.mixin.Intrinsic; import org.spongepowered.asm.mixin.Mixin; @Mixin(ChunkGenerator.class) -@Implements(@Interface(iface = com.dfsek.terra.api.platform.world.generator.ChunkGenerator.class, prefix = "terra$", remap = Interface.Remap.NONE)) +@Implements(@Interface(iface = com.dfsek.terra.api.world.generator.ChunkGenerator.class, prefix = "terra$", remap = Interface.Remap.NONE)) public abstract class ChunkGeneratorMixin { @Intrinsic public Object terra$getHandle() { diff --git a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/ConfiguredFeatureMixin.java b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/ConfiguredFeatureMixin.java index 0398a2d4c..0934235e4 100644 --- a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/ConfiguredFeatureMixin.java +++ b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/ConfiguredFeatureMixin.java @@ -1,7 +1,7 @@ package com.dfsek.terra.fabric.mixin.implementations; -import com.dfsek.terra.api.math.vector.Location; -import com.dfsek.terra.api.platform.world.Tree; +import com.dfsek.terra.api.vector.Location; +import com.dfsek.terra.api.world.Tree; import com.dfsek.terra.api.util.collections.MaterialSet; import com.dfsek.terra.fabric.TerraFabricPlugin; import com.dfsek.terra.profiler.ProfileFrame; diff --git a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/block/BlockEntityMixin.java b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/block/BlockEntityMixin.java index 5082204d9..95f38cce8 100644 --- a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/block/BlockEntityMixin.java +++ b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/block/BlockEntityMixin.java @@ -1,8 +1,8 @@ package com.dfsek.terra.fabric.mixin.implementations.block; -import com.dfsek.terra.api.platform.block.Block; -import com.dfsek.terra.api.platform.block.BlockData; -import com.dfsek.terra.api.platform.block.state.BlockState; +import com.dfsek.terra.api.block.Block; +import com.dfsek.terra.api.block.BlockData; +import com.dfsek.terra.api.block.state.BlockState; import com.dfsek.terra.fabric.block.FabricBlock; import com.dfsek.terra.fabric.util.FabricAdapter; import net.minecraft.block.entity.BlockEntity; diff --git a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/block/BlockMixin.java b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/block/BlockMixin.java index 579b404f8..99b62296e 100644 --- a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/block/BlockMixin.java +++ b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/block/BlockMixin.java @@ -1,7 +1,7 @@ package com.dfsek.terra.fabric.mixin.implementations.block; -import com.dfsek.terra.api.platform.block.BlockData; -import com.dfsek.terra.api.platform.block.BlockType; +import com.dfsek.terra.api.block.BlockData; +import com.dfsek.terra.api.block.BlockType; import com.dfsek.terra.fabric.util.FabricAdapter; import net.minecraft.block.Block; import net.minecraft.block.BlockState; diff --git a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/block/state/LootableContainerBlockEntityMixin.java b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/block/state/LootableContainerBlockEntityMixin.java index f72957753..588c1b463 100644 --- a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/block/state/LootableContainerBlockEntityMixin.java +++ b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/block/state/LootableContainerBlockEntityMixin.java @@ -1,7 +1,7 @@ package com.dfsek.terra.fabric.mixin.implementations.block.state; -import com.dfsek.terra.api.platform.block.state.Container; -import com.dfsek.terra.api.platform.inventory.Inventory; +import com.dfsek.terra.api.block.state.Container; +import com.dfsek.terra.api.inventory.Inventory; import com.dfsek.terra.fabric.mixin.implementations.block.BlockEntityMixin; import net.minecraft.block.entity.LootableContainerBlockEntity; import org.spongepowered.asm.mixin.Implements; diff --git a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/block/state/MobSpawnerBlockEntityMixin.java b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/block/state/MobSpawnerBlockEntityMixin.java index f678ab0a7..4102ddde9 100644 --- a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/block/state/MobSpawnerBlockEntityMixin.java +++ b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/block/state/MobSpawnerBlockEntityMixin.java @@ -1,8 +1,8 @@ package com.dfsek.terra.fabric.mixin.implementations.block.state; -import com.dfsek.terra.api.platform.block.state.MobSpawner; -import com.dfsek.terra.api.platform.block.state.SerialState; -import com.dfsek.terra.api.platform.entity.EntityType; +import com.dfsek.terra.api.block.state.MobSpawner; +import com.dfsek.terra.api.block.state.SerialState; +import com.dfsek.terra.api.entity.EntityType; import com.dfsek.terra.fabric.TerraFabricPlugin; import com.dfsek.terra.fabric.mixin.access.MobSpawnerLogicAccessor; import net.minecraft.block.BlockState; @@ -12,7 +12,6 @@ import net.minecraft.block.entity.MobSpawnerBlockEntity; import net.minecraft.util.math.BlockPos; import net.minecraft.util.registry.Registry; import net.minecraft.world.MobSpawnerLogic; -import net.minecraft.world.World; import org.jetbrains.annotations.NotNull; import org.spongepowered.asm.mixin.Implements; import org.spongepowered.asm.mixin.Interface; diff --git a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/block/state/SignBlockEntityMixin.java b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/block/state/SignBlockEntityMixin.java index c9dd3f065..debd3a15c 100644 --- a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/block/state/SignBlockEntityMixin.java +++ b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/block/state/SignBlockEntityMixin.java @@ -1,7 +1,7 @@ package com.dfsek.terra.fabric.mixin.implementations.block.state; -import com.dfsek.terra.api.platform.block.state.SerialState; -import com.dfsek.terra.api.platform.block.state.Sign; +import com.dfsek.terra.api.block.state.SerialState; +import com.dfsek.terra.api.block.state.Sign; import net.minecraft.block.entity.SignBlockEntity; import net.minecraft.text.LiteralText; import net.minecraft.text.Text; diff --git a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/chunk/ChunkRegionMixin.java b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/chunk/ChunkRegionMixin.java index 7912b2f2a..9ac566d19 100644 --- a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/chunk/ChunkRegionMixin.java +++ b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/chunk/ChunkRegionMixin.java @@ -1,9 +1,9 @@ package com.dfsek.terra.fabric.mixin.implementations.chunk; -import com.dfsek.terra.api.platform.block.Block; -import com.dfsek.terra.api.platform.block.BlockData; -import com.dfsek.terra.api.platform.world.Chunk; -import com.dfsek.terra.api.platform.world.World; +import com.dfsek.terra.api.block.Block; +import com.dfsek.terra.api.block.BlockData; +import com.dfsek.terra.api.world.Chunk; +import com.dfsek.terra.api.world.World; import com.dfsek.terra.fabric.block.FabricBlock; import com.dfsek.terra.fabric.block.FabricBlockData; import net.minecraft.util.math.BlockPos; diff --git a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/chunk/WorldChunkMixin.java b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/chunk/WorldChunkMixin.java index 56681d0ab..ee6d73e5c 100644 --- a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/chunk/WorldChunkMixin.java +++ b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/chunk/WorldChunkMixin.java @@ -1,9 +1,9 @@ package com.dfsek.terra.fabric.mixin.implementations.chunk; -import com.dfsek.terra.api.platform.block.Block; -import com.dfsek.terra.api.platform.block.BlockData; -import com.dfsek.terra.api.platform.world.Chunk; -import com.dfsek.terra.api.platform.world.World; +import com.dfsek.terra.api.block.Block; +import com.dfsek.terra.api.block.BlockData; +import com.dfsek.terra.api.world.Chunk; +import com.dfsek.terra.api.world.World; import com.dfsek.terra.fabric.block.FabricBlock; import com.dfsek.terra.fabric.block.FabricBlockData; import net.minecraft.util.math.BlockPos; diff --git a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/chunk/data/ProtoChunkMixin.java b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/chunk/data/ProtoChunkMixin.java index 2b2b87eb4..3e2d2ed9f 100644 --- a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/chunk/data/ProtoChunkMixin.java +++ b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/chunk/data/ProtoChunkMixin.java @@ -1,7 +1,7 @@ package com.dfsek.terra.fabric.mixin.implementations.chunk.data; -import com.dfsek.terra.api.platform.block.BlockData; -import com.dfsek.terra.api.platform.world.generator.ChunkData; +import com.dfsek.terra.api.block.BlockData; +import com.dfsek.terra.api.world.generator.ChunkData; import com.dfsek.terra.fabric.block.FabricBlockData; import net.minecraft.block.BlockState; import net.minecraft.util.math.BlockPos; diff --git a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/entity/EntityMixin.java b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/entity/EntityMixin.java index d829f7fe3..1738950c4 100644 --- a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/entity/EntityMixin.java +++ b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/entity/EntityMixin.java @@ -1,7 +1,7 @@ package com.dfsek.terra.fabric.mixin.implementations.entity; -import com.dfsek.terra.api.math.vector.Location; -import com.dfsek.terra.api.platform.world.World; +import com.dfsek.terra.api.vector.Location; +import com.dfsek.terra.api.world.World; import com.dfsek.terra.fabric.util.FabricAdapter; import net.minecraft.entity.Entity; import net.minecraft.text.LiteralText; @@ -16,7 +16,7 @@ import org.spongepowered.asm.mixin.Shadow; import java.util.UUID; @Mixin(Entity.class) -@Implements(@Interface(iface = com.dfsek.terra.api.platform.entity.Entity.class, prefix = "terra$", remap = Interface.Remap.NONE)) +@Implements(@Interface(iface = com.dfsek.terra.api.entity.Entity.class, prefix = "terra$", remap = Interface.Remap.NONE)) public abstract class EntityMixin { @Shadow public net.minecraft.world.World world; diff --git a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/entity/EntityTypeMixin.java b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/entity/EntityTypeMixin.java index 85ffb4c25..0a338d3d4 100644 --- a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/entity/EntityTypeMixin.java +++ b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/entity/EntityTypeMixin.java @@ -7,7 +7,7 @@ import org.spongepowered.asm.mixin.Intrinsic; import org.spongepowered.asm.mixin.Mixin; @Mixin(EntityType.class) -@Implements(@Interface(iface = com.dfsek.terra.api.platform.entity.EntityType.class, prefix = "terra$", remap = Interface.Remap.NONE)) +@Implements(@Interface(iface = com.dfsek.terra.api.entity.EntityType.class, prefix = "terra$", remap = Interface.Remap.NONE)) public abstract class EntityTypeMixin { @Intrinsic public Object terra$getHandle() { diff --git a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/entity/PlayerEntityMixin.java b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/entity/PlayerEntityMixin.java index b4bf0d35e..805f47aa2 100644 --- a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/entity/PlayerEntityMixin.java +++ b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/entity/PlayerEntityMixin.java @@ -1,6 +1,6 @@ package com.dfsek.terra.fabric.mixin.implementations.entity; -import com.dfsek.terra.api.platform.entity.Player; +import com.dfsek.terra.api.entity.Player; import net.minecraft.entity.player.PlayerEntity; import org.spongepowered.asm.mixin.Implements; import org.spongepowered.asm.mixin.Interface; diff --git a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/entity/ServerCommandSourceMixin.java b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/entity/ServerCommandSourceMixin.java index 9b0593521..f2ef8cf14 100644 --- a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/entity/ServerCommandSourceMixin.java +++ b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/entity/ServerCommandSourceMixin.java @@ -1,6 +1,6 @@ package com.dfsek.terra.fabric.mixin.implementations.entity; -import com.dfsek.terra.api.platform.CommandSender; +import com.dfsek.terra.api.entity.CommandSender; import net.minecraft.server.command.ServerCommandSource; import net.minecraft.text.LiteralText; import net.minecraft.text.Text; diff --git a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/inventory/LockableContainerBlockEntityMixin.java b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/inventory/LockableContainerBlockEntityMixin.java index cff0892bb..4fae156a7 100644 --- a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/inventory/LockableContainerBlockEntityMixin.java +++ b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/inventory/LockableContainerBlockEntityMixin.java @@ -1,7 +1,7 @@ package com.dfsek.terra.fabric.mixin.implementations.inventory; -import com.dfsek.terra.api.platform.inventory.Inventory; -import com.dfsek.terra.api.platform.inventory.ItemStack; +import com.dfsek.terra.api.inventory.Inventory; +import com.dfsek.terra.api.inventory.ItemStack; import net.minecraft.block.entity.LockableContainerBlockEntity; import net.minecraft.item.Items; import org.spongepowered.asm.mixin.Implements; diff --git a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/inventory/item/ItemMixin.java b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/inventory/item/ItemMixin.java index b14939c1c..6a3291430 100644 --- a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/inventory/item/ItemMixin.java +++ b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/inventory/item/ItemMixin.java @@ -1,6 +1,6 @@ package com.dfsek.terra.fabric.mixin.implementations.inventory.item; -import com.dfsek.terra.api.platform.inventory.ItemStack; +import com.dfsek.terra.api.inventory.ItemStack; import net.minecraft.item.Item; import org.spongepowered.asm.mixin.Implements; import org.spongepowered.asm.mixin.Interface; @@ -9,7 +9,7 @@ import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; @Mixin(Item.class) -@Implements(@Interface(iface = com.dfsek.terra.api.platform.inventory.Item.class, prefix = "terra$", remap = Interface.Remap.NONE)) +@Implements(@Interface(iface = com.dfsek.terra.api.inventory.Item.class, prefix = "terra$", remap = Interface.Remap.NONE)) public abstract class ItemMixin { @Shadow public abstract int getMaxDamage(); diff --git a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/inventory/item/ItemStackMixin.java b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/inventory/item/ItemStackMixin.java index 864e4724a..75e1cda06 100644 --- a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/inventory/item/ItemStackMixin.java +++ b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/inventory/item/ItemStackMixin.java @@ -1,7 +1,7 @@ package com.dfsek.terra.fabric.mixin.implementations.inventory.item; -import com.dfsek.terra.api.platform.inventory.Item; -import com.dfsek.terra.api.platform.inventory.item.ItemMeta; +import com.dfsek.terra.api.inventory.Item; +import com.dfsek.terra.api.inventory.item.ItemMeta; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NbtCompound; import org.jetbrains.annotations.Nullable; @@ -12,7 +12,7 @@ import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; @Mixin(ItemStack.class) -@Implements(@Interface(iface = com.dfsek.terra.api.platform.inventory.ItemStack.class, prefix = "terra$", remap = Interface.Remap.NONE)) +@Implements(@Interface(iface = com.dfsek.terra.api.inventory.ItemStack.class, prefix = "terra$", remap = Interface.Remap.NONE)) public abstract class ItemStackMixin { @Shadow public abstract int getCount(); diff --git a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/inventory/meta/EnchantmentMixin.java b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/inventory/meta/EnchantmentMixin.java index eb47a6498..ee36013e4 100644 --- a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/inventory/meta/EnchantmentMixin.java +++ b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/inventory/meta/EnchantmentMixin.java @@ -1,6 +1,6 @@ package com.dfsek.terra.fabric.mixin.implementations.inventory.meta; -import com.dfsek.terra.api.platform.inventory.ItemStack; +import com.dfsek.terra.api.inventory.ItemStack; import net.minecraft.enchantment.Enchantment; import net.minecraft.util.registry.Registry; import org.spongepowered.asm.mixin.Implements; @@ -12,7 +12,7 @@ import org.spongepowered.asm.mixin.Shadow; import java.util.Objects; @Mixin(Enchantment.class) -@Implements(@Interface(iface = com.dfsek.terra.api.platform.inventory.item.Enchantment.class, prefix = "terra$", remap = Interface.Remap.NONE)) +@Implements(@Interface(iface = com.dfsek.terra.api.inventory.item.Enchantment.class, prefix = "terra$", remap = Interface.Remap.NONE)) public abstract class EnchantmentMixin { @Shadow public abstract boolean isAcceptableItem(net.minecraft.item.ItemStack stack); @@ -34,7 +34,7 @@ public abstract class EnchantmentMixin { return Objects.requireNonNull(Registry.ENCHANTMENT.getId((Enchantment) (Object) this)).toString(); } - public boolean terra$conflictsWith(com.dfsek.terra.api.platform.inventory.item.Enchantment other) { + public boolean terra$conflictsWith(com.dfsek.terra.api.inventory.item.Enchantment other) { return !canCombine((Enchantment) other); } } diff --git a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/inventory/meta/ItemStackDamageableMixin.java b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/inventory/meta/ItemStackDamageableMixin.java index 0d3a2fd06..d245e6027 100644 --- a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/inventory/meta/ItemStackDamageableMixin.java +++ b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/inventory/meta/ItemStackDamageableMixin.java @@ -1,6 +1,6 @@ package com.dfsek.terra.fabric.mixin.implementations.inventory.meta; -import com.dfsek.terra.api.platform.inventory.item.Damageable; +import com.dfsek.terra.api.inventory.item.Damageable; import net.minecraft.item.ItemStack; import org.spongepowered.asm.mixin.Implements; import org.spongepowered.asm.mixin.Interface; diff --git a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/inventory/meta/ItemStackMetaMixin.java b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/inventory/meta/ItemStackMetaMixin.java index 5ddaca96a..92675fc72 100644 --- a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/inventory/meta/ItemStackMetaMixin.java +++ b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/inventory/meta/ItemStackMetaMixin.java @@ -1,7 +1,7 @@ package com.dfsek.terra.fabric.mixin.implementations.inventory.meta; -import com.dfsek.terra.api.platform.inventory.item.Enchantment; -import com.dfsek.terra.api.platform.inventory.item.ItemMeta; +import com.dfsek.terra.api.inventory.item.Enchantment; +import com.dfsek.terra.api.inventory.item.ItemMeta; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NbtCompound; import net.minecraft.nbt.NbtList; diff --git a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/world/ChunkRegionMixin.java b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/world/ChunkRegionMixin.java index 0a2b05d57..7df859f37 100644 --- a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/world/ChunkRegionMixin.java +++ b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/world/ChunkRegionMixin.java @@ -1,13 +1,13 @@ package com.dfsek.terra.fabric.mixin.implementations.world; -import com.dfsek.terra.api.math.vector.Location; -import com.dfsek.terra.api.platform.block.Block; -import com.dfsek.terra.api.platform.entity.Entity; -import com.dfsek.terra.api.platform.entity.EntityType; -import com.dfsek.terra.api.platform.world.Chunk; -import com.dfsek.terra.api.platform.world.World; -import com.dfsek.terra.api.platform.world.generator.ChunkGenerator; -import com.dfsek.terra.api.platform.world.generator.GeneratorWrapper; +import com.dfsek.terra.api.vector.Location; +import com.dfsek.terra.api.block.Block; +import com.dfsek.terra.api.entity.Entity; +import com.dfsek.terra.api.entity.EntityType; +import com.dfsek.terra.api.world.Chunk; +import com.dfsek.terra.api.world.World; +import com.dfsek.terra.api.world.generator.ChunkGenerator; +import com.dfsek.terra.api.world.generator.GeneratorWrapper; import com.dfsek.terra.api.world.generation.TerraChunkGenerator; import com.dfsek.terra.fabric.block.FabricBlock; import com.dfsek.terra.fabric.generation.FabricChunkGeneratorWrapper; diff --git a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/world/ServerWorldMixin.java b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/world/ServerWorldMixin.java index 71b6de5e8..9e9a844de 100644 --- a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/world/ServerWorldMixin.java +++ b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/world/ServerWorldMixin.java @@ -1,19 +1,18 @@ package com.dfsek.terra.fabric.mixin.implementations.world; -import com.dfsek.terra.api.math.vector.Location; -import com.dfsek.terra.api.platform.block.Block; -import com.dfsek.terra.api.platform.entity.Entity; -import com.dfsek.terra.api.platform.entity.EntityType; -import com.dfsek.terra.api.platform.world.Chunk; -import com.dfsek.terra.api.platform.world.World; -import com.dfsek.terra.api.platform.world.generator.ChunkGenerator; -import com.dfsek.terra.api.platform.world.generator.GeneratorWrapper; +import com.dfsek.terra.api.vector.Location; +import com.dfsek.terra.api.block.Block; +import com.dfsek.terra.api.entity.Entity; +import com.dfsek.terra.api.entity.EntityType; +import com.dfsek.terra.api.world.Chunk; +import com.dfsek.terra.api.world.World; +import com.dfsek.terra.api.world.generator.ChunkGenerator; +import com.dfsek.terra.api.world.generator.GeneratorWrapper; import com.dfsek.terra.api.world.generation.TerraChunkGenerator; import com.dfsek.terra.fabric.block.FabricBlock; import com.dfsek.terra.fabric.generation.FabricChunkGeneratorWrapper; import net.minecraft.server.world.ServerWorld; import net.minecraft.util.math.BlockPos; -import net.minecraft.world.ChunkRegion; import net.minecraft.world.ServerWorldAccess; import org.spongepowered.asm.mixin.Implements; import org.spongepowered.asm.mixin.Interface; diff --git a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/util/FabricAdapter.java b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/util/FabricAdapter.java index 8c197d573..e94b779ed 100644 --- a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/util/FabricAdapter.java +++ b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/util/FabricAdapter.java @@ -1,14 +1,15 @@ package com.dfsek.terra.fabric.util; -import com.dfsek.terra.api.math.vector.Vector3; -import com.dfsek.terra.api.platform.block.Axis; -import com.dfsek.terra.api.platform.block.BlockFace; -import com.dfsek.terra.api.platform.block.data.Bisected; -import com.dfsek.terra.api.platform.block.data.Slab; -import com.dfsek.terra.api.platform.block.data.Stairs; -import com.dfsek.terra.api.platform.block.state.Container; -import com.dfsek.terra.api.platform.block.state.MobSpawner; -import com.dfsek.terra.api.platform.block.state.Sign; +import com.dfsek.terra.api.vector.Vector3; +import com.dfsek.terra.vector.Vector3Impl; +import com.dfsek.terra.api.block.Axis; +import com.dfsek.terra.api.block.BlockFace; +import com.dfsek.terra.api.block.data.Bisected; +import com.dfsek.terra.api.block.data.Slab; +import com.dfsek.terra.api.block.data.Stairs; +import com.dfsek.terra.api.block.state.Container; +import com.dfsek.terra.api.block.state.MobSpawner; +import com.dfsek.terra.api.block.state.Sign; import com.dfsek.terra.fabric.block.FabricBlockData; import com.dfsek.terra.fabric.block.data.FabricDirectional; import com.dfsek.terra.fabric.block.data.FabricMultipleFacing; @@ -38,7 +39,7 @@ public final class FabricAdapter { } public static Vector3 adapt(BlockPos pos) { - return new Vector3(pos.getX(), pos.getY(), pos.getZ()); + return new Vector3Impl(pos.getX(), pos.getY(), pos.getZ()); } public static FabricBlockData adapt(BlockState state) { @@ -81,7 +82,7 @@ public final class FabricAdapter { } - public static com.dfsek.terra.api.platform.block.state.BlockState adapt(com.dfsek.terra.api.platform.block.Block block) { + public static com.dfsek.terra.api.block.state.BlockState adapt(com.dfsek.terra.api.block.Block block) { WorldAccess worldAccess = (WorldAccess) block.getLocation().getWorld(); BlockEntity entity = worldAccess.getBlockEntity(adapt(block.getLocation().toVector())); diff --git a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/util/ProtoBiome.java b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/util/ProtoBiome.java index a7ff41ecd..92bcecc5b 100644 --- a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/util/ProtoBiome.java +++ b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/util/ProtoBiome.java @@ -1,6 +1,6 @@ package com.dfsek.terra.fabric.util; -import com.dfsek.terra.api.platform.world.Biome; +import com.dfsek.terra.api.world.biome.Biome; import net.minecraft.util.Identifier; import net.minecraft.util.registry.Registry; diff --git a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/util/WorldEditUtil.java b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/util/WorldEditUtil.java index 159e4fbc8..2372965cb 100644 --- a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/util/WorldEditUtil.java +++ b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/util/WorldEditUtil.java @@ -1,7 +1,7 @@ package com.dfsek.terra.fabric.util; -import com.dfsek.terra.api.math.vector.Location; -import com.dfsek.terra.api.platform.entity.Player; +import com.dfsek.terra.api.vector.Location; +import com.dfsek.terra.api.entity.Player; import com.dfsek.terra.api.util.generic.pair.Pair; import com.sk89q.worldedit.IncompleteRegionException; import com.sk89q.worldedit.WorldEdit; diff --git a/platforms/forge/src/main/java/com/dfsek/terra/forge/ForgeAdapter.java b/platforms/forge/src/main/java/com/dfsek/terra/forge/ForgeAdapter.java index 6b9f585d3..d9dd869f4 100644 --- a/platforms/forge/src/main/java/com/dfsek/terra/forge/ForgeAdapter.java +++ b/platforms/forge/src/main/java/com/dfsek/terra/forge/ForgeAdapter.java @@ -1,10 +1,10 @@ package com.dfsek.terra.forge; import com.dfsek.terra.api.math.vector.Vector3; -import com.dfsek.terra.api.platform.block.BlockFace; -import com.dfsek.terra.api.platform.block.state.Container; -import com.dfsek.terra.api.platform.block.state.MobSpawner; -import com.dfsek.terra.api.platform.block.state.Sign; +import com.dfsek.terra.api.block.BlockFace; +import com.dfsek.terra.api.block.state.Container; +import com.dfsek.terra.api.block.state.MobSpawner; +import com.dfsek.terra.api.block.state.Sign; import com.dfsek.terra.forge.block.ForgeBlockData; import com.dfsek.terra.forge.block.data.ForgeDirectional; import com.dfsek.terra.forge.block.data.ForgeMultipleFacing; @@ -55,7 +55,7 @@ public final class ForgeAdapter { return new ForgeBlockData(state); } - public static com.dfsek.terra.api.platform.block.state.BlockState adapt(com.dfsek.terra.api.platform.block.Block block) { + public static com.dfsek.terra.api.block.state.BlockState adapt(com.dfsek.terra.api.block.Block block) { IWorld worldAccess = (IWorld) block.getLocation().getWorld(); TileEntity entity = worldAccess.getBlockEntity(adapt(block.getLocation().toVector())); diff --git a/platforms/forge/src/main/java/com/dfsek/terra/forge/TerraForgePlugin.java b/platforms/forge/src/main/java/com/dfsek/terra/forge/TerraForgePlugin.java index d624c53e6..9a2d118ff 100644 --- a/platforms/forge/src/main/java/com/dfsek/terra/forge/TerraForgePlugin.java +++ b/platforms/forge/src/main/java/com/dfsek/terra/forge/TerraForgePlugin.java @@ -5,9 +5,9 @@ import com.dfsek.tectonic.exception.LoadException; import com.dfsek.tectonic.loading.TypeRegistry; import com.dfsek.terra.api.TerraPlugin; import com.dfsek.terra.api.addons.TerraAddon; -import com.dfsek.terra.api.addons.annotations.Addon; -import com.dfsek.terra.api.addons.annotations.Author; -import com.dfsek.terra.api.addons.annotations.Version; +import com.dfsek.terra.api.addon.annotations.Addon; +import com.dfsek.terra.api.addon.annotations.Author; +import com.dfsek.terra.api.addon.annotations.Version; import com.dfsek.terra.api.command.CommandManager; import com.dfsek.terra.api.command.TerraCommandManager; import com.dfsek.terra.api.command.exception.MalformedCommandException; @@ -18,11 +18,11 @@ import com.dfsek.terra.api.event.annotations.Global; import com.dfsek.terra.api.event.annotations.Priority; import com.dfsek.terra.api.event.events.config.ConfigPackPostLoadEvent; import com.dfsek.terra.api.event.events.config.ConfigPackPreLoadEvent; -import com.dfsek.terra.api.platform.block.BlockData; -import com.dfsek.terra.api.platform.handle.ItemHandle; -import com.dfsek.terra.api.platform.handle.WorldHandle; -import com.dfsek.terra.api.platform.world.Tree; -import com.dfsek.terra.api.platform.world.World; +import com.dfsek.terra.api.block.BlockData; +import com.dfsek.terra.api.handle.ItemHandle; +import com.dfsek.terra.api.handle.WorldHandle; +import com.dfsek.terra.api.world.Tree; +import com.dfsek.terra.api.world.World; import com.dfsek.terra.api.registry.CheckedRegistry; import com.dfsek.terra.api.registry.LockedRegistry; import com.dfsek.terra.api.transform.Transformer; @@ -291,7 +291,7 @@ public class TerraForgePlugin implements TerraPlugin { genericLoaders.register(registry); registry .registerLoader(BlockData.class, (t, o, l) -> worldHandle.createBlockData((String) o)) - .registerLoader(com.dfsek.terra.api.platform.world.Biome.class, (t, o, l) -> biomeFixer.translate((String) o)) + .registerLoader(com.dfsek.terra.api.world.Biome.class, (t, o, l) -> biomeFixer.translate((String) o)) .registerLoader(ResourceLocation.class, (t, o, l) -> { ResourceLocation identifier = ResourceLocation.tryParse((String) o); if(identifier == null) throw new LoadException("Invalid identifier: " + o); diff --git a/platforms/forge/src/main/java/com/dfsek/terra/forge/block/ForgeBlock.java b/platforms/forge/src/main/java/com/dfsek/terra/forge/block/ForgeBlock.java index 98ad4d61e..f43b49905 100644 --- a/platforms/forge/src/main/java/com/dfsek/terra/forge/block/ForgeBlock.java +++ b/platforms/forge/src/main/java/com/dfsek/terra/forge/block/ForgeBlock.java @@ -1,12 +1,12 @@ package com.dfsek.terra.forge.block; import com.dfsek.terra.api.math.vector.Location; -import com.dfsek.terra.api.platform.block.Block; -import com.dfsek.terra.api.platform.block.BlockData; -import com.dfsek.terra.api.platform.block.BlockFace; -import com.dfsek.terra.api.platform.block.BlockType; -import com.dfsek.terra.api.platform.block.state.BlockState; -import com.dfsek.terra.api.platform.world.World; +import com.dfsek.terra.api.block.Block; +import com.dfsek.terra.api.block.BlockData; +import com.dfsek.terra.api.block.BlockFace; +import com.dfsek.terra.api.block.BlockType; +import com.dfsek.terra.api.block.state.BlockState; +import com.dfsek.terra.api.world.World; import com.dfsek.terra.forge.ForgeAdapter; import net.minecraft.block.FlowingFluidBlock; import net.minecraft.util.math.BlockPos; diff --git a/platforms/forge/src/main/java/com/dfsek/terra/forge/block/ForgeBlockData.java b/platforms/forge/src/main/java/com/dfsek/terra/forge/block/ForgeBlockData.java index 1fb22ec35..00a09f0e2 100644 --- a/platforms/forge/src/main/java/com/dfsek/terra/forge/block/ForgeBlockData.java +++ b/platforms/forge/src/main/java/com/dfsek/terra/forge/block/ForgeBlockData.java @@ -1,7 +1,7 @@ package com.dfsek.terra.forge.block; -import com.dfsek.terra.api.platform.block.BlockData; -import com.dfsek.terra.api.platform.block.BlockType; +import com.dfsek.terra.api.block.BlockData; +import com.dfsek.terra.api.block.BlockType; import net.minecraft.block.BlockState; import net.minecraft.block.Blocks; import net.minecraft.state.Property; diff --git a/platforms/forge/src/main/java/com/dfsek/terra/forge/block/data/ForgeAnaloguePowerable.java b/platforms/forge/src/main/java/com/dfsek/terra/forge/block/data/ForgeAnaloguePowerable.java index f8455c5c7..29ff41d12 100644 --- a/platforms/forge/src/main/java/com/dfsek/terra/forge/block/data/ForgeAnaloguePowerable.java +++ b/platforms/forge/src/main/java/com/dfsek/terra/forge/block/data/ForgeAnaloguePowerable.java @@ -1,6 +1,6 @@ package com.dfsek.terra.forge.block.data; -import com.dfsek.terra.api.platform.block.data.AnaloguePowerable; +import com.dfsek.terra.api.block.data.AnaloguePowerable; import com.dfsek.terra.forge.block.ForgeBlockData; import net.minecraft.block.BlockState; diff --git a/platforms/forge/src/main/java/com/dfsek/terra/forge/block/data/ForgeDirectional.java b/platforms/forge/src/main/java/com/dfsek/terra/forge/block/data/ForgeDirectional.java index c4cc15636..e3a958077 100644 --- a/platforms/forge/src/main/java/com/dfsek/terra/forge/block/data/ForgeDirectional.java +++ b/platforms/forge/src/main/java/com/dfsek/terra/forge/block/data/ForgeDirectional.java @@ -1,7 +1,7 @@ package com.dfsek.terra.forge.block.data; -import com.dfsek.terra.api.platform.block.BlockFace; -import com.dfsek.terra.api.platform.block.data.Directional; +import com.dfsek.terra.api.block.BlockFace; +import com.dfsek.terra.api.block.data.Directional; import com.dfsek.terra.forge.ForgeAdapter; import com.dfsek.terra.forge.block.ForgeBlockData; import net.minecraft.block.BlockState; diff --git a/platforms/forge/src/main/java/com/dfsek/terra/forge/block/data/ForgeEnumAdapter.java b/platforms/forge/src/main/java/com/dfsek/terra/forge/block/data/ForgeEnumAdapter.java index 16ba0bb8a..80e685df2 100644 --- a/platforms/forge/src/main/java/com/dfsek/terra/forge/block/data/ForgeEnumAdapter.java +++ b/platforms/forge/src/main/java/com/dfsek/terra/forge/block/data/ForgeEnumAdapter.java @@ -1,10 +1,10 @@ package com.dfsek.terra.forge.block.data; -import com.dfsek.terra.api.platform.block.Axis; -import com.dfsek.terra.api.platform.block.BlockFace; -import com.dfsek.terra.api.platform.block.data.Bisected; -import com.dfsek.terra.api.platform.block.data.Slab; -import com.dfsek.terra.api.platform.block.data.Stairs; +import com.dfsek.terra.api.block.Axis; +import com.dfsek.terra.api.block.BlockFace; +import com.dfsek.terra.api.block.data.Bisected; +import com.dfsek.terra.api.block.data.Slab; +import com.dfsek.terra.api.block.data.Stairs; import net.minecraft.state.properties.Half; import net.minecraft.state.properties.SlabType; import net.minecraft.state.properties.StairsShape; diff --git a/platforms/forge/src/main/java/com/dfsek/terra/forge/block/data/ForgeMultipleFacing.java b/platforms/forge/src/main/java/com/dfsek/terra/forge/block/data/ForgeMultipleFacing.java index 7e9510282..50ea34971 100644 --- a/platforms/forge/src/main/java/com/dfsek/terra/forge/block/data/ForgeMultipleFacing.java +++ b/platforms/forge/src/main/java/com/dfsek/terra/forge/block/data/ForgeMultipleFacing.java @@ -1,7 +1,7 @@ package com.dfsek.terra.forge.block.data; -import com.dfsek.terra.api.platform.block.BlockFace; -import com.dfsek.terra.api.platform.block.data.MultipleFacing; +import com.dfsek.terra.api.block.BlockFace; +import com.dfsek.terra.api.block.data.MultipleFacing; import com.dfsek.terra.forge.block.ForgeBlockData; import net.minecraft.block.BlockState; import net.minecraft.state.properties.BlockStateProperties; diff --git a/platforms/forge/src/main/java/com/dfsek/terra/forge/block/data/ForgeOrientable.java b/platforms/forge/src/main/java/com/dfsek/terra/forge/block/data/ForgeOrientable.java index 9f3e53f2d..b9f52f028 100644 --- a/platforms/forge/src/main/java/com/dfsek/terra/forge/block/data/ForgeOrientable.java +++ b/platforms/forge/src/main/java/com/dfsek/terra/forge/block/data/ForgeOrientable.java @@ -1,7 +1,7 @@ package com.dfsek.terra.forge.block.data; -import com.dfsek.terra.api.platform.block.Axis; -import com.dfsek.terra.api.platform.block.data.Orientable; +import com.dfsek.terra.api.block.Axis; +import com.dfsek.terra.api.block.data.Orientable; import com.dfsek.terra.forge.block.ForgeBlockData; import net.minecraft.block.BlockState; import net.minecraft.state.EnumProperty; diff --git a/platforms/forge/src/main/java/com/dfsek/terra/forge/block/data/ForgeRotatable.java b/platforms/forge/src/main/java/com/dfsek/terra/forge/block/data/ForgeRotatable.java index b64727b59..fd3d7cfbb 100644 --- a/platforms/forge/src/main/java/com/dfsek/terra/forge/block/data/ForgeRotatable.java +++ b/platforms/forge/src/main/java/com/dfsek/terra/forge/block/data/ForgeRotatable.java @@ -1,7 +1,7 @@ package com.dfsek.terra.forge.block.data; -import com.dfsek.terra.api.platform.block.BlockFace; -import com.dfsek.terra.api.platform.block.data.Rotatable; +import com.dfsek.terra.api.block.BlockFace; +import com.dfsek.terra.api.block.data.Rotatable; import com.dfsek.terra.forge.block.ForgeBlockData; import net.minecraft.block.BlockState; import net.minecraft.state.properties.BlockStateProperties; diff --git a/platforms/forge/src/main/java/com/dfsek/terra/forge/block/data/ForgeSlab.java b/platforms/forge/src/main/java/com/dfsek/terra/forge/block/data/ForgeSlab.java index 4f294604e..887ab27bc 100644 --- a/platforms/forge/src/main/java/com/dfsek/terra/forge/block/data/ForgeSlab.java +++ b/platforms/forge/src/main/java/com/dfsek/terra/forge/block/data/ForgeSlab.java @@ -1,6 +1,6 @@ package com.dfsek.terra.forge.block.data; -import com.dfsek.terra.api.platform.block.data.Slab; +import com.dfsek.terra.api.block.data.Slab; import net.minecraft.block.BlockState; import net.minecraft.state.properties.BlockStateProperties; diff --git a/platforms/forge/src/main/java/com/dfsek/terra/forge/block/data/ForgeStairs.java b/platforms/forge/src/main/java/com/dfsek/terra/forge/block/data/ForgeStairs.java index ef9c6e8ff..12f25c5fa 100644 --- a/platforms/forge/src/main/java/com/dfsek/terra/forge/block/data/ForgeStairs.java +++ b/platforms/forge/src/main/java/com/dfsek/terra/forge/block/data/ForgeStairs.java @@ -1,7 +1,7 @@ package com.dfsek.terra.forge.block.data; -import com.dfsek.terra.api.platform.block.BlockFace; -import com.dfsek.terra.api.platform.block.data.Stairs; +import com.dfsek.terra.api.block.BlockFace; +import com.dfsek.terra.api.block.data.Stairs; import net.minecraft.block.BlockState; import net.minecraft.state.properties.BlockStateProperties; diff --git a/platforms/forge/src/main/java/com/dfsek/terra/forge/block/data/ForgeWaterlogged.java b/platforms/forge/src/main/java/com/dfsek/terra/forge/block/data/ForgeWaterlogged.java index ed6abffbe..92afbe168 100644 --- a/platforms/forge/src/main/java/com/dfsek/terra/forge/block/data/ForgeWaterlogged.java +++ b/platforms/forge/src/main/java/com/dfsek/terra/forge/block/data/ForgeWaterlogged.java @@ -1,6 +1,6 @@ package com.dfsek.terra.forge.block.data; -import com.dfsek.terra.api.platform.block.data.Waterlogged; +import com.dfsek.terra.api.block.data.Waterlogged; import com.dfsek.terra.forge.block.ForgeBlockData; import net.minecraft.block.BlockState; import net.minecraft.state.properties.BlockStateProperties; diff --git a/platforms/forge/src/main/java/com/dfsek/terra/forge/generation/ForgeChunkGeneratorWrapper.java b/platforms/forge/src/main/java/com/dfsek/terra/forge/generation/ForgeChunkGeneratorWrapper.java index 3a34608b6..cfcc25216 100644 --- a/platforms/forge/src/main/java/com/dfsek/terra/forge/generation/ForgeChunkGeneratorWrapper.java +++ b/platforms/forge/src/main/java/com/dfsek/terra/forge/generation/ForgeChunkGeneratorWrapper.java @@ -1,8 +1,8 @@ package com.dfsek.terra.forge.generation; -import com.dfsek.terra.api.platform.world.World; -import com.dfsek.terra.api.platform.world.generator.ChunkData; -import com.dfsek.terra.api.platform.world.generator.GeneratorWrapper; +import com.dfsek.terra.api.world.World; +import com.dfsek.terra.api.world.generator.ChunkData; +import com.dfsek.terra.api.world.generator.GeneratorWrapper; import com.dfsek.terra.api.util.FastRandom; import com.dfsek.terra.api.world.biome.UserDefinedBiome; import com.dfsek.terra.api.world.generation.TerraChunkGenerator; diff --git a/platforms/forge/src/main/java/com/dfsek/terra/forge/generation/PopulatorFeature.java b/platforms/forge/src/main/java/com/dfsek/terra/forge/generation/PopulatorFeature.java index e586e82d4..d1e1106dd 100644 --- a/platforms/forge/src/main/java/com/dfsek/terra/forge/generation/PopulatorFeature.java +++ b/platforms/forge/src/main/java/com/dfsek/terra/forge/generation/PopulatorFeature.java @@ -1,7 +1,7 @@ package com.dfsek.terra.forge.generation; -import com.dfsek.terra.api.platform.world.Chunk; -import com.dfsek.terra.api.platform.world.World; +import com.dfsek.terra.api.world.Chunk; +import com.dfsek.terra.api.world.World; import com.mojang.serialization.Codec; import net.minecraft.util.math.BlockPos; import net.minecraft.world.ISeedReader; diff --git a/platforms/forge/src/main/java/com/dfsek/terra/forge/handle/ForgeItemHandle.java b/platforms/forge/src/main/java/com/dfsek/terra/forge/handle/ForgeItemHandle.java index e2dc4185a..886ef1b1e 100644 --- a/platforms/forge/src/main/java/com/dfsek/terra/forge/handle/ForgeItemHandle.java +++ b/platforms/forge/src/main/java/com/dfsek/terra/forge/handle/ForgeItemHandle.java @@ -1,8 +1,8 @@ package com.dfsek.terra.forge.handle; -import com.dfsek.terra.api.platform.handle.ItemHandle; -import com.dfsek.terra.api.platform.inventory.Item; -import com.dfsek.terra.api.platform.inventory.item.Enchantment; +import com.dfsek.terra.api.handle.ItemHandle; +import com.dfsek.terra.api.inventory.Item; +import com.dfsek.terra.api.inventory.item.Enchantment; import com.mojang.brigadier.StringReader; import com.mojang.brigadier.exceptions.CommandSyntaxException; import net.minecraft.command.arguments.ItemArgument; diff --git a/platforms/forge/src/main/java/com/dfsek/terra/forge/handle/ForgeWorldHandle.java b/platforms/forge/src/main/java/com/dfsek/terra/forge/handle/ForgeWorldHandle.java index 96c2e37fa..f3b8118be 100644 --- a/platforms/forge/src/main/java/com/dfsek/terra/forge/handle/ForgeWorldHandle.java +++ b/platforms/forge/src/main/java/com/dfsek/terra/forge/handle/ForgeWorldHandle.java @@ -1,7 +1,7 @@ package com.dfsek.terra.forge.handle; -import com.dfsek.terra.api.platform.entity.EntityType; -import com.dfsek.terra.api.platform.handle.WorldHandle; +import com.dfsek.terra.api.entity.EntityType; +import com.dfsek.terra.api.handle.WorldHandle; import com.dfsek.terra.forge.ForgeAdapter; import com.dfsek.terra.forge.block.ForgeBlockData; import com.mojang.brigadier.StringReader; diff --git a/platforms/forge/src/main/java/com/dfsek/terra/forge/listener/ForgeListener.java b/platforms/forge/src/main/java/com/dfsek/terra/forge/listener/ForgeListener.java index 35f0d9d63..4cfec2e15 100644 --- a/platforms/forge/src/main/java/com/dfsek/terra/forge/listener/ForgeListener.java +++ b/platforms/forge/src/main/java/com/dfsek/terra/forge/listener/ForgeListener.java @@ -3,7 +3,7 @@ package com.dfsek.terra.forge.listener; import com.dfsek.terra.api.command.CommandManager; import com.dfsek.terra.api.command.exception.CommandException; import com.dfsek.terra.api.platform.CommandSender; -import com.dfsek.terra.api.platform.entity.Entity; +import com.dfsek.terra.api.entity.Entity; import com.dfsek.terra.forge.TerraForgePlugin; import com.mojang.brigadier.arguments.StringArgumentType; import com.mojang.brigadier.builder.ArgumentBuilder; diff --git a/platforms/forge/src/main/java/com/dfsek/terra/forge/mixin/ServerWorldMixin.java b/platforms/forge/src/main/java/com/dfsek/terra/forge/mixin/ServerWorldMixin.java index 39cdce89d..7bdb717d6 100644 --- a/platforms/forge/src/main/java/com/dfsek/terra/forge/mixin/ServerWorldMixin.java +++ b/platforms/forge/src/main/java/com/dfsek/terra/forge/mixin/ServerWorldMixin.java @@ -28,7 +28,7 @@ public abstract class ServerWorldMixin { if(chunkSource.getGenerator() instanceof ForgeChunkGeneratorWrapper) { ForgeChunkGeneratorWrapper chunkGeneratorWrapper = (ForgeChunkGeneratorWrapper) chunkSource.getGenerator(); DimensionType dimensionType = ((World) (Object) this).dimensionType(); - TerraForgePlugin.getInstance().getWorldMap().put(dimensionType, Pair.of((ServerWorld) (Object) this, new TerraWorld((com.dfsek.terra.api.platform.world.World) this, chunkGeneratorWrapper.getPack(), TerraForgePlugin.getInstance()))); + TerraForgePlugin.getInstance().getWorldMap().put(dimensionType, Pair.of((ServerWorld) (Object) this, new TerraWorld((com.dfsek.terra.api.world.World) this, chunkGeneratorWrapper.getPack(), TerraForgePlugin.getInstance()))); chunkGeneratorWrapper.setDimensionType(dimensionType); TerraForgePlugin.getInstance().logger().info("Registered world " + this + " to dimension type " + dimensionType); } diff --git a/platforms/forge/src/main/java/com/dfsek/terra/forge/mixin/implementations/BiomeMixin.java b/platforms/forge/src/main/java/com/dfsek/terra/forge/mixin/implementations/BiomeMixin.java index 317893290..e9718aa16 100644 --- a/platforms/forge/src/main/java/com/dfsek/terra/forge/mixin/implementations/BiomeMixin.java +++ b/platforms/forge/src/main/java/com/dfsek/terra/forge/mixin/implementations/BiomeMixin.java @@ -6,7 +6,7 @@ import org.spongepowered.asm.mixin.Interface; import org.spongepowered.asm.mixin.Mixin; @Mixin(Biome.class) -@Implements(@Interface(iface = com.dfsek.terra.api.platform.world.Biome.class, prefix = "terra$", remap = Interface.Remap.NONE)) +@Implements(@Interface(iface = com.dfsek.terra.api.world.Biome.class, prefix = "terra$", remap = Interface.Remap.NONE)) public abstract class BiomeMixin { public Object terra$getHandle() { return this; diff --git a/platforms/forge/src/main/java/com/dfsek/terra/forge/mixin/implementations/ChunkGeneratorMixin.java b/platforms/forge/src/main/java/com/dfsek/terra/forge/mixin/implementations/ChunkGeneratorMixin.java index 14fa0e2c5..741a80515 100644 --- a/platforms/forge/src/main/java/com/dfsek/terra/forge/mixin/implementations/ChunkGeneratorMixin.java +++ b/platforms/forge/src/main/java/com/dfsek/terra/forge/mixin/implementations/ChunkGeneratorMixin.java @@ -6,7 +6,7 @@ import org.spongepowered.asm.mixin.Interface; import org.spongepowered.asm.mixin.Mixin; @Mixin(ChunkGenerator.class) -@Implements(@Interface(iface = com.dfsek.terra.api.platform.world.generator.ChunkGenerator.class, prefix = "terra$", remap = Interface.Remap.NONE)) +@Implements(@Interface(iface = com.dfsek.terra.api.world.generator.ChunkGenerator.class, prefix = "terra$", remap = Interface.Remap.NONE)) public abstract class ChunkGeneratorMixin { public Object terra$getHandle() { return this; diff --git a/platforms/forge/src/main/java/com/dfsek/terra/forge/mixin/implementations/ConfiguredFeatureMixin.java b/platforms/forge/src/main/java/com/dfsek/terra/forge/mixin/implementations/ConfiguredFeatureMixin.java index f0e1d0b4a..1a4a8856b 100644 --- a/platforms/forge/src/main/java/com/dfsek/terra/forge/mixin/implementations/ConfiguredFeatureMixin.java +++ b/platforms/forge/src/main/java/com/dfsek/terra/forge/mixin/implementations/ConfiguredFeatureMixin.java @@ -1,7 +1,7 @@ package com.dfsek.terra.forge.mixin.implementations; import com.dfsek.terra.api.math.vector.Location; -import com.dfsek.terra.api.platform.world.Tree; +import com.dfsek.terra.api.world.Tree; import com.dfsek.terra.api.util.collections.MaterialSet; import com.dfsek.terra.forge.TerraForgePlugin; import com.dfsek.terra.profiler.ProfileFrame; diff --git a/platforms/forge/src/main/java/com/dfsek/terra/forge/mixin/implementations/block/BlockMixin.java b/platforms/forge/src/main/java/com/dfsek/terra/forge/mixin/implementations/block/BlockMixin.java index ee4bf13ed..0ca7c207b 100644 --- a/platforms/forge/src/main/java/com/dfsek/terra/forge/mixin/implementations/block/BlockMixin.java +++ b/platforms/forge/src/main/java/com/dfsek/terra/forge/mixin/implementations/block/BlockMixin.java @@ -1,7 +1,7 @@ package com.dfsek.terra.forge.mixin.implementations.block; -import com.dfsek.terra.api.platform.block.BlockData; -import com.dfsek.terra.api.platform.block.BlockType; +import com.dfsek.terra.api.block.BlockData; +import com.dfsek.terra.api.block.BlockType; import com.dfsek.terra.forge.ForgeAdapter; import net.minecraft.block.Block; import net.minecraft.block.BlockState; diff --git a/platforms/forge/src/main/java/com/dfsek/terra/forge/mixin/implementations/block/TileEntityMixin.java b/platforms/forge/src/main/java/com/dfsek/terra/forge/mixin/implementations/block/TileEntityMixin.java index 2f7bd3918..614fad18b 100644 --- a/platforms/forge/src/main/java/com/dfsek/terra/forge/mixin/implementations/block/TileEntityMixin.java +++ b/platforms/forge/src/main/java/com/dfsek/terra/forge/mixin/implementations/block/TileEntityMixin.java @@ -1,8 +1,8 @@ package com.dfsek.terra.forge.mixin.implementations.block; -import com.dfsek.terra.api.platform.block.Block; -import com.dfsek.terra.api.platform.block.BlockData; -import com.dfsek.terra.api.platform.block.state.BlockState; +import com.dfsek.terra.api.block.Block; +import com.dfsek.terra.api.block.BlockData; +import com.dfsek.terra.api.block.state.BlockState; import com.dfsek.terra.forge.ForgeAdapter; import com.dfsek.terra.forge.block.ForgeBlock; import net.minecraft.tileentity.TileEntity; diff --git a/platforms/forge/src/main/java/com/dfsek/terra/forge/mixin/implementations/block/state/LockableLootTileEntityMixin.java b/platforms/forge/src/main/java/com/dfsek/terra/forge/mixin/implementations/block/state/LockableLootTileEntityMixin.java index 977309616..3b93eafef 100644 --- a/platforms/forge/src/main/java/com/dfsek/terra/forge/mixin/implementations/block/state/LockableLootTileEntityMixin.java +++ b/platforms/forge/src/main/java/com/dfsek/terra/forge/mixin/implementations/block/state/LockableLootTileEntityMixin.java @@ -1,7 +1,7 @@ package com.dfsek.terra.forge.mixin.implementations.block.state; -import com.dfsek.terra.api.platform.block.state.Container; -import com.dfsek.terra.api.platform.inventory.Inventory; +import com.dfsek.terra.api.block.state.Container; +import com.dfsek.terra.api.inventory.Inventory; import com.dfsek.terra.forge.mixin.implementations.block.TileEntityMixin; import net.minecraft.tileentity.LockableLootTileEntity; import org.spongepowered.asm.mixin.Implements; diff --git a/platforms/forge/src/main/java/com/dfsek/terra/forge/mixin/implementations/block/state/MobSpawnerTileEntityMixin.java b/platforms/forge/src/main/java/com/dfsek/terra/forge/mixin/implementations/block/state/MobSpawnerTileEntityMixin.java index 1f73b7583..18a3df3cd 100644 --- a/platforms/forge/src/main/java/com/dfsek/terra/forge/mixin/implementations/block/state/MobSpawnerTileEntityMixin.java +++ b/platforms/forge/src/main/java/com/dfsek/terra/forge/mixin/implementations/block/state/MobSpawnerTileEntityMixin.java @@ -1,8 +1,8 @@ package com.dfsek.terra.forge.mixin.implementations.block.state; -import com.dfsek.terra.api.platform.block.state.MobSpawner; -import com.dfsek.terra.api.platform.block.state.SerialState; -import com.dfsek.terra.api.platform.entity.EntityType; +import com.dfsek.terra.api.block.state.MobSpawner; +import com.dfsek.terra.api.block.state.SerialState; +import com.dfsek.terra.api.entity.EntityType; import com.dfsek.terra.forge.TerraForgePlugin; import com.dfsek.terra.forge.mixin.access.AbstractSpawnerAccessor; import com.dfsek.terra.forge.mixin.implementations.block.TileEntityMixin; diff --git a/platforms/forge/src/main/java/com/dfsek/terra/forge/mixin/implementations/block/state/SignTileEntityMixin.java b/platforms/forge/src/main/java/com/dfsek/terra/forge/mixin/implementations/block/state/SignTileEntityMixin.java index 40ec0368c..44a97ec83 100644 --- a/platforms/forge/src/main/java/com/dfsek/terra/forge/mixin/implementations/block/state/SignTileEntityMixin.java +++ b/platforms/forge/src/main/java/com/dfsek/terra/forge/mixin/implementations/block/state/SignTileEntityMixin.java @@ -1,7 +1,7 @@ package com.dfsek.terra.forge.mixin.implementations.block.state; -import com.dfsek.terra.api.platform.block.state.SerialState; -import com.dfsek.terra.api.platform.block.state.Sign; +import com.dfsek.terra.api.block.state.SerialState; +import com.dfsek.terra.api.block.state.Sign; import net.minecraft.tileentity.SignTileEntity; import net.minecraft.util.text.ITextComponent; import net.minecraft.util.text.StringTextComponent; diff --git a/platforms/forge/src/main/java/com/dfsek/terra/forge/mixin/implementations/chunk/ChunkMixin.java b/platforms/forge/src/main/java/com/dfsek/terra/forge/mixin/implementations/chunk/ChunkMixin.java index 6d93b8cef..2a84b1a32 100644 --- a/platforms/forge/src/main/java/com/dfsek/terra/forge/mixin/implementations/chunk/ChunkMixin.java +++ b/platforms/forge/src/main/java/com/dfsek/terra/forge/mixin/implementations/chunk/ChunkMixin.java @@ -1,9 +1,9 @@ package com.dfsek.terra.forge.mixin.implementations.chunk; -import com.dfsek.terra.api.platform.block.Block; -import com.dfsek.terra.api.platform.block.BlockData; -import com.dfsek.terra.api.platform.world.Chunk; -import com.dfsek.terra.api.platform.world.World; +import com.dfsek.terra.api.block.Block; +import com.dfsek.terra.api.block.BlockData; +import com.dfsek.terra.api.world.Chunk; +import com.dfsek.terra.api.world.World; import com.dfsek.terra.forge.block.ForgeBlock; import com.dfsek.terra.forge.block.ForgeBlockData; import net.minecraft.util.math.BlockPos; diff --git a/platforms/forge/src/main/java/com/dfsek/terra/forge/mixin/implementations/chunk/WorldGenRegionMixin.java b/platforms/forge/src/main/java/com/dfsek/terra/forge/mixin/implementations/chunk/WorldGenRegionMixin.java index 7844a9637..abec0eefd 100644 --- a/platforms/forge/src/main/java/com/dfsek/terra/forge/mixin/implementations/chunk/WorldGenRegionMixin.java +++ b/platforms/forge/src/main/java/com/dfsek/terra/forge/mixin/implementations/chunk/WorldGenRegionMixin.java @@ -1,9 +1,9 @@ package com.dfsek.terra.forge.mixin.implementations.chunk; -import com.dfsek.terra.api.platform.block.Block; -import com.dfsek.terra.api.platform.block.BlockData; -import com.dfsek.terra.api.platform.world.Chunk; -import com.dfsek.terra.api.platform.world.World; +import com.dfsek.terra.api.block.Block; +import com.dfsek.terra.api.block.BlockData; +import com.dfsek.terra.api.world.Chunk; +import com.dfsek.terra.api.world.World; import com.dfsek.terra.forge.block.ForgeBlock; import com.dfsek.terra.forge.block.ForgeBlockData; import net.minecraft.util.math.BlockPos; diff --git a/platforms/forge/src/main/java/com/dfsek/terra/forge/mixin/implementations/chunk/data/ChunkPrimerMixin.java b/platforms/forge/src/main/java/com/dfsek/terra/forge/mixin/implementations/chunk/data/ChunkPrimerMixin.java index 5e5404406..59fae46c1 100644 --- a/platforms/forge/src/main/java/com/dfsek/terra/forge/mixin/implementations/chunk/data/ChunkPrimerMixin.java +++ b/platforms/forge/src/main/java/com/dfsek/terra/forge/mixin/implementations/chunk/data/ChunkPrimerMixin.java @@ -1,7 +1,7 @@ package com.dfsek.terra.forge.mixin.implementations.chunk.data; -import com.dfsek.terra.api.platform.block.BlockData; -import com.dfsek.terra.api.platform.world.generator.ChunkData; +import com.dfsek.terra.api.block.BlockData; +import com.dfsek.terra.api.world.generator.ChunkData; import com.dfsek.terra.forge.block.ForgeBlockData; import net.minecraft.block.BlockState; import net.minecraft.util.math.BlockPos; diff --git a/platforms/forge/src/main/java/com/dfsek/terra/forge/mixin/implementations/entity/EntityMixin.java b/platforms/forge/src/main/java/com/dfsek/terra/forge/mixin/implementations/entity/EntityMixin.java index 7cc684c35..a3ac19283 100644 --- a/platforms/forge/src/main/java/com/dfsek/terra/forge/mixin/implementations/entity/EntityMixin.java +++ b/platforms/forge/src/main/java/com/dfsek/terra/forge/mixin/implementations/entity/EntityMixin.java @@ -1,7 +1,7 @@ package com.dfsek.terra.forge.mixin.implementations.entity; import com.dfsek.terra.api.math.vector.Location; -import com.dfsek.terra.api.platform.world.World; +import com.dfsek.terra.api.world.World; import com.dfsek.terra.forge.ForgeAdapter; import net.minecraft.entity.Entity; import net.minecraft.util.math.BlockPos; @@ -15,7 +15,7 @@ import org.spongepowered.asm.mixin.Shadow; import java.util.UUID; @Mixin(Entity.class) -@Implements(@Interface(iface = com.dfsek.terra.api.platform.entity.Entity.class, prefix = "terra$", remap = Interface.Remap.NONE)) +@Implements(@Interface(iface = com.dfsek.terra.api.entity.Entity.class, prefix = "terra$", remap = Interface.Remap.NONE)) public abstract class EntityMixin { @Shadow public net.minecraft.world.World level; diff --git a/platforms/forge/src/main/java/com/dfsek/terra/forge/mixin/implementations/entity/EntityTypeMixin.java b/platforms/forge/src/main/java/com/dfsek/terra/forge/mixin/implementations/entity/EntityTypeMixin.java index e7bb15a70..37836982f 100644 --- a/platforms/forge/src/main/java/com/dfsek/terra/forge/mixin/implementations/entity/EntityTypeMixin.java +++ b/platforms/forge/src/main/java/com/dfsek/terra/forge/mixin/implementations/entity/EntityTypeMixin.java @@ -6,7 +6,7 @@ import org.spongepowered.asm.mixin.Interface; import org.spongepowered.asm.mixin.Mixin; @Mixin(EntityType.class) -@Implements(@Interface(iface = com.dfsek.terra.api.platform.entity.EntityType.class, prefix = "terra$", remap = Interface.Remap.NONE)) +@Implements(@Interface(iface = com.dfsek.terra.api.entity.EntityType.class, prefix = "terra$", remap = Interface.Remap.NONE)) public abstract class EntityTypeMixin { public Object terra$getHandle() { return this; diff --git a/platforms/forge/src/main/java/com/dfsek/terra/forge/mixin/implementations/entity/PlayerEntityMixin.java b/platforms/forge/src/main/java/com/dfsek/terra/forge/mixin/implementations/entity/PlayerEntityMixin.java index 7ee5d6731..e0ba8972a 100644 --- a/platforms/forge/src/main/java/com/dfsek/terra/forge/mixin/implementations/entity/PlayerEntityMixin.java +++ b/platforms/forge/src/main/java/com/dfsek/terra/forge/mixin/implementations/entity/PlayerEntityMixin.java @@ -1,6 +1,6 @@ package com.dfsek.terra.forge.mixin.implementations.entity; -import com.dfsek.terra.api.platform.entity.Player; +import com.dfsek.terra.api.entity.Player; import net.minecraft.entity.player.PlayerEntity; import org.spongepowered.asm.mixin.Implements; import org.spongepowered.asm.mixin.Interface; diff --git a/platforms/forge/src/main/java/com/dfsek/terra/forge/mixin/implementations/inventory/LockableTileEntityMixin.java b/platforms/forge/src/main/java/com/dfsek/terra/forge/mixin/implementations/inventory/LockableTileEntityMixin.java index 06a279ed3..379c457f5 100644 --- a/platforms/forge/src/main/java/com/dfsek/terra/forge/mixin/implementations/inventory/LockableTileEntityMixin.java +++ b/platforms/forge/src/main/java/com/dfsek/terra/forge/mixin/implementations/inventory/LockableTileEntityMixin.java @@ -1,7 +1,7 @@ package com.dfsek.terra.forge.mixin.implementations.inventory; -import com.dfsek.terra.api.platform.inventory.Inventory; -import com.dfsek.terra.api.platform.inventory.ItemStack; +import com.dfsek.terra.api.inventory.Inventory; +import com.dfsek.terra.api.inventory.ItemStack; import net.minecraft.item.Items; import net.minecraft.tileentity.LockableTileEntity; import org.spongepowered.asm.mixin.Implements; diff --git a/platforms/forge/src/main/java/com/dfsek/terra/forge/mixin/implementations/inventory/item/ItemMixin.java b/platforms/forge/src/main/java/com/dfsek/terra/forge/mixin/implementations/inventory/item/ItemMixin.java index a7efd1706..624781bcd 100644 --- a/platforms/forge/src/main/java/com/dfsek/terra/forge/mixin/implementations/inventory/item/ItemMixin.java +++ b/platforms/forge/src/main/java/com/dfsek/terra/forge/mixin/implementations/inventory/item/ItemMixin.java @@ -1,6 +1,6 @@ package com.dfsek.terra.forge.mixin.implementations.inventory.item; -import com.dfsek.terra.api.platform.inventory.ItemStack; +import com.dfsek.terra.api.inventory.ItemStack; import net.minecraft.item.Item; import org.spongepowered.asm.mixin.Implements; import org.spongepowered.asm.mixin.Interface; @@ -8,7 +8,7 @@ import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; @Mixin(Item.class) -@Implements(@Interface(iface = com.dfsek.terra.api.platform.inventory.Item.class, prefix = "terra$", remap = Interface.Remap.NONE)) +@Implements(@Interface(iface = com.dfsek.terra.api.inventory.Item.class, prefix = "terra$", remap = Interface.Remap.NONE)) public abstract class ItemMixin { @Shadow public abstract int getMaxDamage(); diff --git a/platforms/forge/src/main/java/com/dfsek/terra/forge/mixin/implementations/inventory/item/ItemStackMixin.java b/platforms/forge/src/main/java/com/dfsek/terra/forge/mixin/implementations/inventory/item/ItemStackMixin.java index 714dcab02..109edbaf7 100644 --- a/platforms/forge/src/main/java/com/dfsek/terra/forge/mixin/implementations/inventory/item/ItemStackMixin.java +++ b/platforms/forge/src/main/java/com/dfsek/terra/forge/mixin/implementations/inventory/item/ItemStackMixin.java @@ -1,7 +1,7 @@ package com.dfsek.terra.forge.mixin.implementations.inventory.item; -import com.dfsek.terra.api.platform.inventory.Item; -import com.dfsek.terra.api.platform.inventory.item.ItemMeta; +import com.dfsek.terra.api.inventory.Item; +import com.dfsek.terra.api.inventory.item.ItemMeta; import net.minecraft.item.ItemStack; import net.minecraft.nbt.CompoundNBT; import org.jetbrains.annotations.Nullable; @@ -12,7 +12,7 @@ import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; @Mixin(ItemStack.class) -@Implements(@Interface(iface = com.dfsek.terra.api.platform.inventory.ItemStack.class, prefix = "terra$", remap = Interface.Remap.NONE)) +@Implements(@Interface(iface = com.dfsek.terra.api.inventory.ItemStack.class, prefix = "terra$", remap = Interface.Remap.NONE)) public abstract class ItemStackMixin { @Shadow public abstract int getCount(); diff --git a/platforms/forge/src/main/java/com/dfsek/terra/forge/mixin/implementations/inventory/meta/EnchantmentMixin.java b/platforms/forge/src/main/java/com/dfsek/terra/forge/mixin/implementations/inventory/meta/EnchantmentMixin.java index 69bbfecaa..b6c7cb06b 100644 --- a/platforms/forge/src/main/java/com/dfsek/terra/forge/mixin/implementations/inventory/meta/EnchantmentMixin.java +++ b/platforms/forge/src/main/java/com/dfsek/terra/forge/mixin/implementations/inventory/meta/EnchantmentMixin.java @@ -1,6 +1,6 @@ package com.dfsek.terra.forge.mixin.implementations.inventory.meta; -import com.dfsek.terra.api.platform.inventory.ItemStack; +import com.dfsek.terra.api.inventory.ItemStack; import net.minecraft.enchantment.Enchantment; import net.minecraft.util.registry.Registry; import org.spongepowered.asm.mixin.Implements; @@ -11,7 +11,7 @@ import org.spongepowered.asm.mixin.Shadow; import java.util.Objects; @Mixin(Enchantment.class) -@Implements(@Interface(iface = com.dfsek.terra.api.platform.inventory.item.Enchantment.class, prefix = "terra$", remap = Interface.Remap.NONE)) +@Implements(@Interface(iface = com.dfsek.terra.api.inventory.item.Enchantment.class, prefix = "terra$", remap = Interface.Remap.NONE)) public abstract class EnchantmentMixin { @Shadow @@ -33,7 +33,7 @@ public abstract class EnchantmentMixin { return Objects.requireNonNull(Registry.ENCHANTMENT.getId((Enchantment) (Object) this)).toString(); } - public boolean terra$conflictsWith(com.dfsek.terra.api.platform.inventory.item.Enchantment other) { + public boolean terra$conflictsWith(com.dfsek.terra.api.inventory.item.Enchantment other) { return !isCompatibleWith((Enchantment) other); } } diff --git a/platforms/forge/src/main/java/com/dfsek/terra/forge/mixin/implementations/inventory/meta/ItemStackDamageableMixin.java b/platforms/forge/src/main/java/com/dfsek/terra/forge/mixin/implementations/inventory/meta/ItemStackDamageableMixin.java index 8a1b438f5..38f147475 100644 --- a/platforms/forge/src/main/java/com/dfsek/terra/forge/mixin/implementations/inventory/meta/ItemStackDamageableMixin.java +++ b/platforms/forge/src/main/java/com/dfsek/terra/forge/mixin/implementations/inventory/meta/ItemStackDamageableMixin.java @@ -1,6 +1,6 @@ package com.dfsek.terra.forge.mixin.implementations.inventory.meta; -import com.dfsek.terra.api.platform.inventory.item.Damageable; +import com.dfsek.terra.api.inventory.item.Damageable; import net.minecraft.item.ItemStack; import org.spongepowered.asm.mixin.Implements; import org.spongepowered.asm.mixin.Interface; diff --git a/platforms/forge/src/main/java/com/dfsek/terra/forge/mixin/implementations/inventory/meta/ItemStackMetaMixin.java b/platforms/forge/src/main/java/com/dfsek/terra/forge/mixin/implementations/inventory/meta/ItemStackMetaMixin.java index aa9b2a41b..b7215982f 100644 --- a/platforms/forge/src/main/java/com/dfsek/terra/forge/mixin/implementations/inventory/meta/ItemStackMetaMixin.java +++ b/platforms/forge/src/main/java/com/dfsek/terra/forge/mixin/implementations/inventory/meta/ItemStackMetaMixin.java @@ -1,7 +1,7 @@ package com.dfsek.terra.forge.mixin.implementations.inventory.meta; -import com.dfsek.terra.api.platform.inventory.item.Enchantment; -import com.dfsek.terra.api.platform.inventory.item.ItemMeta; +import com.dfsek.terra.api.inventory.item.Enchantment; +import com.dfsek.terra.api.inventory.item.ItemMeta; import net.minecraft.item.ItemStack; import net.minecraft.nbt.CompoundNBT; import net.minecraft.nbt.ListNBT; diff --git a/platforms/forge/src/main/java/com/dfsek/terra/forge/mixin/implementations/world/ServerWorldMixin.java b/platforms/forge/src/main/java/com/dfsek/terra/forge/mixin/implementations/world/ServerWorldMixin.java index 024b4970d..984a134e0 100644 --- a/platforms/forge/src/main/java/com/dfsek/terra/forge/mixin/implementations/world/ServerWorldMixin.java +++ b/platforms/forge/src/main/java/com/dfsek/terra/forge/mixin/implementations/world/ServerWorldMixin.java @@ -1,13 +1,13 @@ package com.dfsek.terra.forge.mixin.implementations.world; import com.dfsek.terra.api.math.vector.Location; -import com.dfsek.terra.api.platform.block.Block; -import com.dfsek.terra.api.platform.entity.Entity; -import com.dfsek.terra.api.platform.entity.EntityType; -import com.dfsek.terra.api.platform.world.Chunk; -import com.dfsek.terra.api.platform.world.World; -import com.dfsek.terra.api.platform.world.generator.ChunkGenerator; -import com.dfsek.terra.api.platform.world.generator.GeneratorWrapper; +import com.dfsek.terra.api.block.Block; +import com.dfsek.terra.api.entity.Entity; +import com.dfsek.terra.api.entity.EntityType; +import com.dfsek.terra.api.world.Chunk; +import com.dfsek.terra.api.world.World; +import com.dfsek.terra.api.world.generator.ChunkGenerator; +import com.dfsek.terra.api.world.generator.GeneratorWrapper; import com.dfsek.terra.api.world.generation.TerraChunkGenerator; import com.dfsek.terra.forge.block.ForgeBlock; import com.dfsek.terra.forge.generation.ForgeChunkGeneratorWrapper; diff --git a/platforms/forge/src/main/java/com/dfsek/terra/forge/mixin/implementations/world/WorldGenRegionMixin.java b/platforms/forge/src/main/java/com/dfsek/terra/forge/mixin/implementations/world/WorldGenRegionMixin.java index 0b162b591..aa184c147 100644 --- a/platforms/forge/src/main/java/com/dfsek/terra/forge/mixin/implementations/world/WorldGenRegionMixin.java +++ b/platforms/forge/src/main/java/com/dfsek/terra/forge/mixin/implementations/world/WorldGenRegionMixin.java @@ -1,13 +1,13 @@ package com.dfsek.terra.forge.mixin.implementations.world; import com.dfsek.terra.api.math.vector.Location; -import com.dfsek.terra.api.platform.block.Block; -import com.dfsek.terra.api.platform.entity.Entity; -import com.dfsek.terra.api.platform.entity.EntityType; -import com.dfsek.terra.api.platform.world.Chunk; -import com.dfsek.terra.api.platform.world.World; -import com.dfsek.terra.api.platform.world.generator.ChunkGenerator; -import com.dfsek.terra.api.platform.world.generator.GeneratorWrapper; +import com.dfsek.terra.api.block.Block; +import com.dfsek.terra.api.entity.Entity; +import com.dfsek.terra.api.entity.EntityType; +import com.dfsek.terra.api.world.Chunk; +import com.dfsek.terra.api.world.World; +import com.dfsek.terra.api.world.generator.ChunkGenerator; +import com.dfsek.terra.api.world.generator.GeneratorWrapper; import com.dfsek.terra.api.world.generation.TerraChunkGenerator; import com.dfsek.terra.forge.block.ForgeBlock; import com.dfsek.terra.forge.generation.ForgeChunkGeneratorWrapper; diff --git a/platforms/region/src/main/java/com/dfsek/terra/DirectUtils.java b/platforms/region/src/main/java/com/dfsek/terra/DirectUtils.java index 2be2ebf6e..8d4d0bd9b 100644 --- a/platforms/region/src/main/java/com/dfsek/terra/DirectUtils.java +++ b/platforms/region/src/main/java/com/dfsek/terra/DirectUtils.java @@ -1,6 +1,6 @@ package com.dfsek.terra; -import com.dfsek.terra.api.math.MathUtil; +import com.dfsek.terra.api.util.MathUtil; import net.querz.mca.MCAUtil; public final class DirectUtils { 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 8cf274b36..917ca45fc 100644 --- a/platforms/region/src/main/java/com/dfsek/terra/StandalonePlugin.java +++ b/platforms/region/src/main/java/com/dfsek/terra/StandalonePlugin.java @@ -2,14 +2,14 @@ package com.dfsek.terra; import com.dfsek.tectonic.loading.TypeRegistry; import com.dfsek.terra.api.TerraPlugin; -import com.dfsek.terra.api.addons.TerraAddon; +import com.dfsek.terra.api.addon.TerraAddon; import com.dfsek.terra.api.event.EventManager; -import com.dfsek.terra.api.event.TerraEventManager; -import com.dfsek.terra.api.platform.block.BlockData; -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.api.event.EventManagerImpl; +import com.dfsek.terra.api.block.BlockData; +import com.dfsek.terra.api.handle.ItemHandle; +import com.dfsek.terra.api.handle.WorldHandle; +import com.dfsek.terra.api.world.biome.Biome; +import com.dfsek.terra.api.world.World; import com.dfsek.terra.api.registry.CheckedRegistry; import com.dfsek.terra.api.registry.LockedRegistry; import com.dfsek.terra.api.util.logging.DebugLogger; @@ -39,7 +39,7 @@ public class StandalonePlugin implements TerraPlugin { private final PluginConfig config = new PluginConfig(); private final RawWorldHandle worldHandle = new RawWorldHandle(); - private final EventManager eventManager = new TerraEventManager(this); + private final EventManager eventManager = new EventManagerImpl(this); private final Profiler profiler = new ProfilerImpl(); diff --git a/platforms/region/src/main/java/com/dfsek/terra/platform/Data.java b/platforms/region/src/main/java/com/dfsek/terra/platform/Data.java index 2267b7f91..eb956ea2a 100644 --- a/platforms/region/src/main/java/com/dfsek/terra/platform/Data.java +++ b/platforms/region/src/main/java/com/dfsek/terra/platform/Data.java @@ -1,7 +1,7 @@ package com.dfsek.terra.platform; -import com.dfsek.terra.api.platform.block.BlockData; -import com.dfsek.terra.api.platform.block.BlockType; +import com.dfsek.terra.api.block.BlockData; +import com.dfsek.terra.api.block.BlockType; import net.querz.nbt.tag.CompoundTag; public class Data implements BlockData, BlockType { diff --git a/platforms/region/src/main/java/com/dfsek/terra/platform/DirectBlock.java b/platforms/region/src/main/java/com/dfsek/terra/platform/DirectBlock.java index 3169d0667..87d1fb788 100644 --- a/platforms/region/src/main/java/com/dfsek/terra/platform/DirectBlock.java +++ b/platforms/region/src/main/java/com/dfsek/terra/platform/DirectBlock.java @@ -1,12 +1,12 @@ package com.dfsek.terra.platform; -import com.dfsek.terra.api.math.vector.Location; -import com.dfsek.terra.api.math.vector.Vector3; -import com.dfsek.terra.api.platform.block.Block; -import com.dfsek.terra.api.platform.block.BlockData; -import com.dfsek.terra.api.platform.block.BlockFace; -import com.dfsek.terra.api.platform.block.BlockType; -import com.dfsek.terra.api.platform.block.state.BlockState; +import com.dfsek.terra.api.vector.Location; +import com.dfsek.terra.api.vector.Vector3; +import com.dfsek.terra.api.block.Block; +import com.dfsek.terra.api.block.BlockData; +import com.dfsek.terra.api.block.BlockFace; +import com.dfsek.terra.api.block.BlockType; +import com.dfsek.terra.api.block.state.BlockState; import net.jafama.FastMath; public class DirectBlock implements Block { diff --git a/platforms/region/src/main/java/com/dfsek/terra/platform/DirectBlockState.java b/platforms/region/src/main/java/com/dfsek/terra/platform/DirectBlockState.java index db759cb44..e78607792 100644 --- a/platforms/region/src/main/java/com/dfsek/terra/platform/DirectBlockState.java +++ b/platforms/region/src/main/java/com/dfsek/terra/platform/DirectBlockState.java @@ -1,8 +1,8 @@ package com.dfsek.terra.platform; -import com.dfsek.terra.api.platform.block.Block; -import com.dfsek.terra.api.platform.block.BlockData; -import com.dfsek.terra.api.platform.block.state.BlockState; +import com.dfsek.terra.api.block.Block; +import com.dfsek.terra.api.block.BlockData; +import com.dfsek.terra.api.block.state.BlockState; public class DirectBlockState implements BlockState { @Override diff --git a/platforms/region/src/main/java/com/dfsek/terra/platform/DirectChunkData.java b/platforms/region/src/main/java/com/dfsek/terra/platform/DirectChunkData.java index 4eac21cce..7dcc02815 100644 --- a/platforms/region/src/main/java/com/dfsek/terra/platform/DirectChunkData.java +++ b/platforms/region/src/main/java/com/dfsek/terra/platform/DirectChunkData.java @@ -1,15 +1,15 @@ package com.dfsek.terra.platform; -import com.dfsek.terra.api.math.vector.Vector3; -import com.dfsek.terra.api.platform.block.Block; -import com.dfsek.terra.api.platform.block.BlockData; -import com.dfsek.terra.api.platform.world.World; -import com.dfsek.terra.api.platform.world.generator.ChunkData; +import com.dfsek.terra.vector.Vector3Impl; +import com.dfsek.terra.api.block.Block; +import com.dfsek.terra.api.block.BlockData; +import com.dfsek.terra.api.world.World; +import com.dfsek.terra.api.world.generator.ChunkData; import net.querz.mca.Chunk; import net.querz.nbt.tag.CompoundTag; import org.jetbrains.annotations.NotNull; -public class DirectChunkData implements ChunkData, com.dfsek.terra.api.platform.world.Chunk { +public class DirectChunkData implements ChunkData, com.dfsek.terra.api.world.Chunk { private final Chunk delegate; private final DirectWorld world; private final int x; @@ -61,6 +61,6 @@ public class DirectChunkData implements ChunkData, com.dfsek.terra.api.platform. @Override public Block getBlock(int x, int y, int z) { - return new DirectBlock(world, new Vector3(x + (this.x << 4), y, z + (this.z << 4))); + return new DirectBlock(world, new Vector3Impl(x + (this.x << 4), y, z + (this.z << 4))); } } diff --git a/platforms/region/src/main/java/com/dfsek/terra/platform/DirectWorld.java b/platforms/region/src/main/java/com/dfsek/terra/platform/DirectWorld.java index 84b90b7d8..86f2697b6 100644 --- a/platforms/region/src/main/java/com/dfsek/terra/platform/DirectWorld.java +++ b/platforms/region/src/main/java/com/dfsek/terra/platform/DirectWorld.java @@ -1,14 +1,14 @@ package com.dfsek.terra.platform; import com.dfsek.terra.DirectUtils; -import com.dfsek.terra.api.math.vector.Location; -import com.dfsek.terra.api.math.vector.Vector3; -import com.dfsek.terra.api.platform.block.Block; -import com.dfsek.terra.api.platform.entity.Entity; -import com.dfsek.terra.api.platform.entity.EntityType; -import com.dfsek.terra.api.platform.world.Chunk; -import com.dfsek.terra.api.platform.world.World; -import com.dfsek.terra.api.platform.world.generator.ChunkGenerator; +import com.dfsek.terra.api.vector.Location; +import com.dfsek.terra.vector.Vector3Impl; +import com.dfsek.terra.api.block.Block; +import com.dfsek.terra.api.entity.Entity; +import com.dfsek.terra.api.entity.EntityType; +import com.dfsek.terra.api.world.Chunk; +import com.dfsek.terra.api.world.World; +import com.dfsek.terra.api.world.generator.ChunkGenerator; import net.jafama.FastMath; import net.querz.mca.MCAFile; import net.querz.mca.MCAUtil; @@ -58,7 +58,7 @@ public class DirectWorld implements World { @Override public Block getBlockAt(int x, int y, int z) { - return new DirectBlock(this, new Vector3(x, y, z)); + return new DirectBlock(this, new Vector3Impl(x, y, z)); } @Override 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 7de56d5bf..b4ec0a5c3 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 @@ -1,6 +1,6 @@ package com.dfsek.terra.platform; -import com.dfsek.terra.api.platform.world.generator.ChunkGenerator; +import com.dfsek.terra.api.world.generator.ChunkGenerator; import com.dfsek.terra.world.generation.generators.DefaultChunkGenerator3D; public class GenWrapper implements ChunkGenerator { diff --git a/platforms/region/src/main/java/com/dfsek/terra/platform/RawBiome.java b/platforms/region/src/main/java/com/dfsek/terra/platform/RawBiome.java index d9082aa4c..7046dcdee 100644 --- a/platforms/region/src/main/java/com/dfsek/terra/platform/RawBiome.java +++ b/platforms/region/src/main/java/com/dfsek/terra/platform/RawBiome.java @@ -1,6 +1,6 @@ package com.dfsek.terra.platform; -import com.dfsek.terra.api.platform.world.Biome; +import com.dfsek.terra.api.world.biome.Biome; public class RawBiome implements Biome { private final String id; diff --git a/platforms/region/src/main/java/com/dfsek/terra/platform/RawTree.java b/platforms/region/src/main/java/com/dfsek/terra/platform/RawTree.java index e86172ce5..75528e905 100644 --- a/platforms/region/src/main/java/com/dfsek/terra/platform/RawTree.java +++ b/platforms/region/src/main/java/com/dfsek/terra/platform/RawTree.java @@ -1,7 +1,7 @@ package com.dfsek.terra.platform; -import com.dfsek.terra.api.math.vector.Location; -import com.dfsek.terra.api.platform.world.Tree; +import com.dfsek.terra.api.vector.Location; +import com.dfsek.terra.api.world.Tree; import com.dfsek.terra.api.util.collections.MaterialSet; import java.util.Random; diff --git a/platforms/region/src/main/java/com/dfsek/terra/platform/RawWorldHandle.java b/platforms/region/src/main/java/com/dfsek/terra/platform/RawWorldHandle.java index 2e2ce5b63..0c78798b1 100644 --- a/platforms/region/src/main/java/com/dfsek/terra/platform/RawWorldHandle.java +++ b/platforms/region/src/main/java/com/dfsek/terra/platform/RawWorldHandle.java @@ -1,8 +1,8 @@ package com.dfsek.terra.platform; -import com.dfsek.terra.api.platform.block.BlockData; -import com.dfsek.terra.api.platform.entity.EntityType; -import com.dfsek.terra.api.platform.handle.WorldHandle; +import com.dfsek.terra.api.block.BlockData; +import com.dfsek.terra.api.entity.EntityType; +import com.dfsek.terra.api.handle.WorldHandle; public class RawWorldHandle implements WorldHandle { 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 cd6a55e66..cf33cdd1a 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,12 +1,11 @@ package com.dfsek.terra.region; import com.dfsek.terra.StandalonePlugin; -import com.dfsek.terra.api.platform.world.World; +import com.dfsek.terra.api.world.World; import com.dfsek.terra.platform.DirectChunkData; import com.dfsek.terra.platform.DirectWorld; import com.dfsek.terra.platform.GenWrapper; import com.dfsek.terra.world.generation.generators.DefaultChunkGenerator3D; -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; diff --git a/platforms/sponge/src/main/java/com/dfsek/terra/sponge/SpongeAdapter.java b/platforms/sponge/src/main/java/com/dfsek/terra/sponge/SpongeAdapter.java index 781b5f91e..669253dd9 100644 --- a/platforms/sponge/src/main/java/com/dfsek/terra/sponge/SpongeAdapter.java +++ b/platforms/sponge/src/main/java/com/dfsek/terra/sponge/SpongeAdapter.java @@ -1,6 +1,6 @@ package com.dfsek.terra.sponge; -import com.dfsek.terra.api.platform.block.BlockData; +import com.dfsek.terra.api.block.BlockData; import com.dfsek.terra.sponge.world.block.data.SpongeBlockData; import org.spongepowered.api.block.BlockState; diff --git a/platforms/sponge/src/main/java/com/dfsek/terra/sponge/TerraSpongePlugin.java b/platforms/sponge/src/main/java/com/dfsek/terra/sponge/TerraSpongePlugin.java index e15135a51..7d3adeeec 100644 --- a/platforms/sponge/src/main/java/com/dfsek/terra/sponge/TerraSpongePlugin.java +++ b/platforms/sponge/src/main/java/com/dfsek/terra/sponge/TerraSpongePlugin.java @@ -2,12 +2,12 @@ package com.dfsek.terra.sponge; import com.dfsek.tectonic.loading.TypeRegistry; import com.dfsek.terra.api.TerraPlugin; -import com.dfsek.terra.api.addons.TerraAddon; +import com.dfsek.terra.api.addon.TerraAddon; import com.dfsek.terra.api.event.EventManager; -import com.dfsek.terra.api.event.TerraEventManager; -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.api.event.EventManagerImpl; +import com.dfsek.terra.api.handle.ItemHandle; +import com.dfsek.terra.api.handle.WorldHandle; +import com.dfsek.terra.api.world.World; import com.dfsek.terra.api.registry.CheckedRegistry; import com.dfsek.terra.api.registry.LockedRegistry; import com.dfsek.terra.api.util.logging.DebugLogger; @@ -40,7 +40,7 @@ public class TerraSpongePlugin implements TerraPlugin { private final SpongeWorldHandle spongeWorldHandle = new SpongeWorldHandle(); - private final EventManager eventManager = new TerraEventManager(this); + private final EventManager eventManager = new EventManagerImpl(this); @Inject @ConfigDir(sharedRoot = false) diff --git a/platforms/sponge/src/main/java/com/dfsek/terra/sponge/world/SpongeWorldHandle.java b/platforms/sponge/src/main/java/com/dfsek/terra/sponge/world/SpongeWorldHandle.java index 422229ba9..f48453aaa 100644 --- a/platforms/sponge/src/main/java/com/dfsek/terra/sponge/world/SpongeWorldHandle.java +++ b/platforms/sponge/src/main/java/com/dfsek/terra/sponge/world/SpongeWorldHandle.java @@ -1,8 +1,8 @@ package com.dfsek.terra.sponge.world; -import com.dfsek.terra.api.platform.block.BlockData; -import com.dfsek.terra.api.platform.entity.EntityType; -import com.dfsek.terra.api.platform.handle.WorldHandle; +import com.dfsek.terra.api.block.BlockData; +import com.dfsek.terra.api.entity.EntityType; +import com.dfsek.terra.api.handle.WorldHandle; import com.dfsek.terra.sponge.SpongeAdapter; import org.spongepowered.api.Sponge; import org.spongepowered.api.block.BlockState; diff --git a/platforms/sponge/src/main/java/com/dfsek/terra/sponge/world/block/data/SpongeBlockData.java b/platforms/sponge/src/main/java/com/dfsek/terra/sponge/world/block/data/SpongeBlockData.java index eb68b9030..5782d392a 100644 --- a/platforms/sponge/src/main/java/com/dfsek/terra/sponge/world/block/data/SpongeBlockData.java +++ b/platforms/sponge/src/main/java/com/dfsek/terra/sponge/world/block/data/SpongeBlockData.java @@ -1,7 +1,7 @@ package com.dfsek.terra.sponge.world.block.data; -import com.dfsek.terra.api.platform.block.BlockData; -import com.dfsek.terra.api.platform.block.BlockType; +import com.dfsek.terra.api.block.BlockData; +import com.dfsek.terra.api.block.BlockType; import org.spongepowered.api.block.BlockState; public class SpongeBlockData implements BlockData {