From 3f23ef960bac72eb33c996c13aa3d5ce8dd56d99 Mon Sep 17 00:00:00 2001 From: TomTheFurry Date: Mon, 12 Sep 2022 22:43:06 +0800 Subject: [PATCH] Reorganize all the classes and move them around to make more sense and be easier to navigate. Also removed/unwrapped the 'a7' temp package. --- .../java/com/seibel/lod/api/DhApiMain.java | 2 +- .../override/IDhApiOverrideable.java | 4 +- .../api/items/objects/math/DhApiMat4f.java | 2 +- .../methods/events/DhApiEventRegister.java | 2 +- .../events/interfaces/IDhApiEvent.java | 2 +- .../DhApiWorldGeneratorOverrideRegister.java | 2 +- .../test/java/tests/EventInjectorTest.java | 3 +- .../{handlers => }/IReflectionHandler.java | 4 +- .../seibel/lod/core/{a7 => }/Initializer.java | 8 +- .../lod/core/{objects => }/ParsedIp.java | 2 +- .../{handlers => }/ReflectionHandler.java | 4 +- .../lod/core/a7/util/CombinableResult.java | 5 - .../ConcurrentQuadCombinableProviderTree.java | 347 ------------ .../lod/core/a7/util/LazySectionPosTree.java | 514 ------------------ .../interfaces/events/ICoreDhApiEvent.java | 2 +- .../override/ICoreDhApiOverrideable.java | 4 +- .../CoreDhApiRenderParam.java | 2 +- .../core/api/internal/{a7 => }/ClientApi.java | 24 +- .../core/api/internal/{a7 => }/ServerApi.java | 12 +- .../core/api/internal/{a7 => }/SharedApi.java | 10 +- .../core/config/file/ConfigFileHandling.java | 7 +- .../lod/core/config/gui/ConfigScreen.java | 10 +- .../{a7 => }/datatype/DataSourceLoader.java | 6 +- .../core/{a7 => }/datatype/LodDataSource.java | 10 +- .../{a7 => }/datatype/LodRenderSource.java | 15 +- .../datatype/PlaceHolderRenderSource.java | 14 +- .../{a7 => }/datatype/RenderSourceLoader.java | 8 +- .../datatype/column/ColumnRenderLoader.java | 20 +- .../datatype/column/ColumnRenderSource.java | 34 +- .../column/accessor/ColumnArrayView.java | 2 +- .../column/accessor/ColumnFormat.java | 2 +- .../column/accessor/ColumnQuadView.java | 2 +- .../column/accessor/IColumnDataView.java | 2 +- .../column/accessor/IColumnDatatype.java | 2 +- .../render}/BufferMergeDirectionEnum.java | 2 +- .../column/render}/BufferQuad.java | 2 +- .../datatype/column/render/ColumnBox.java | 27 +- .../column/render/ColumnRenderBuffer.java | 42 +- .../column/render}/CubicLodTemplate.java | 9 +- .../column/render}/LodQuadBuilder.java | 6 +- .../datatype/full/ChunkSizedData.java | 6 +- .../datatype/full/FullDataDownSampler.java | 12 +- .../datatype/full/FullDataLoader.java | 11 +- .../datatype/full/FullDataSource.java | 20 +- .../{a7 => }/datatype/full/FullFormat.java | 4 +- .../datatype/full/IdBiomeBlockStateMap.java | 5 +- .../datatype/full/SampledDataSource.java | 4 +- .../datatype/full/SparseDataLoader.java | 11 +- .../datatype/full/SparseDataSource.java | 17 +- .../datatype/full/accessor/FullArrayView.java | 6 +- .../datatype/full/accessor/IFullDataType.java | 2 +- .../datatype/full/accessor/IFullDataView.java | 4 +- .../full/accessor/SingleFullArrayView.java | 6 +- .../transform/DataRenderTransformer.java | 12 +- .../transform/FullToColumnTransformer.java | 26 +- .../transform}/LodBuilder.java | 16 +- .../transform}/LodBuilderConfig.java | 2 +- .../datatype/transform/LodDataBuilder.java | 8 +- .../DependencyInjector.java | 2 +- .../DhApiEventInjector.java | 2 +- .../dependencyInjection/IBindable.java | 2 +- .../ModAccessorInjector.java | 2 +- .../dependencyInjection/OverrideInjector.java | 2 +- .../OverridePriorityListContainer.java | 2 +- .../SingletonInjector.java | 2 +- .../WorldGeneratorInjector.java | 3 +- .../seibel/lod/core/enums/ELodDirection.java | 2 +- .../BatchGenerator.java | 11 +- .../{a7 => }/generation/GenerationQueue.java | 14 +- .../{a7 => }/generation/IChunkGenerator.java | 13 +- .../core/{a7 => }/generation/IGenerator.java | 9 +- .../{a7/save => }/io/LevelToFileMatcher.java | 10 +- .../lod/core/{a7/save => }/io/MetaFile.java | 6 +- .../dimensionFinder => io}/PlayerData.java | 14 +- .../dimensionFinder => io}/SubDimCompare.java | 2 +- .../file => io/datafile}/DataFileHandler.java | 17 +- .../io/file => io/datafile}/DataMetaFile.java | 18 +- .../datafile}/GeneratedDataFileHandler.java | 16 +- .../datafile}/IDataSourceProvider.java | 14 +- .../datafile}/RemoteDataFileHandler.java | 5 +- .../renderfile}/IRenderSourceProvider.java | 8 +- .../renderfile}/RenderFileHandler.java | 26 +- .../renderfile}/RenderMetaFile.java | 24 +- .../structure/ClientOnlySaveStructure.java | 8 +- .../structure/LocalSaveStructure.java | 4 +- .../save => io}/structure/SaveStructure.java | 2 +- .../lod/core/jar/JarDependencySetup.java | 2 +- .../seibel/lod/core/jar/gui/BaseJFrame.java | 3 +- .../core/{a7 => }/level/DhClientLevel.java | 32 +- .../{a7 => }/level/DhClientServerLevel.java | 38 +- .../core/{a7 => }/level/DhServerLevel.java | 11 +- .../lod/core/{a7 => }/level/IClientLevel.java | 10 +- .../lod/core/{a7 => }/level/ILevel.java | 2 +- .../lod/core/{a7 => }/level/IServerLevel.java | 2 +- .../lod/core/logging/ConfigBasedLogger.java | 2 +- .../core/logging/ConfigBasedSpamLogger.java | 2 +- .../seibel/lod/core/logging/f3/F3Screen.java | 1 - .../DHBlockPos.java => pos/DhBlockPos.java} | 26 +- .../lod/core/{a7 => }/pos/DhBlockPos2D.java | 8 +- .../DHChunkPos.java => pos/DhChunkPos.java} | 25 +- .../lod/core/{a7 => }/pos/DhLodPos.java | 2 +- .../lod/core/{a7 => }/pos/DhLodUnit.java | 2 +- .../lod/core/{a7 => }/pos/DhSectionPos.java | 2 +- .../lod/core/{objects => pos}/Pos2D.java | 2 +- .../lod/core/{a7 => }/render/LodQuadTree.java | 15 +- .../{a7 => }/render/LodRenderSection.java | 10 +- .../core/{a7 => }/render/RenderBuffer.java | 8 +- .../{a7 => }/render/RenderBufferHandler.java | 17 +- .../{objects => render/fog}/FogSettings.java | 2 +- .../core/render/{ => fog}/LodFogConfig.java | 13 +- .../render/{objects => glObject}/GLEnums.java | 2 +- .../core/render/{ => glObject}/GLProxy.java | 8 +- .../render/{objects => glObject}/GLState.java | 3 +- .../LightmapTexture.java | 2 +- .../buffer}/GLBuffer.java | 6 +- .../buffer}/GLElementBuffer.java | 2 +- .../buffer}/GLVertexBuffer.java | 3 +- .../buffer}/QuadElementBuffer.java | 5 +- .../{objects => glObject/shader}/Shader.java | 4 +- .../shader}/ShaderProgram.java | 8 +- .../vertexAttribute}/VertexAttribute.java | 4 +- .../VertexAttributePostGL43.java | 4 +- .../VertexAttributePreGL43.java | 4 +- .../{ => renderer}/LodRenderProgram.java | 16 +- .../renderer/LodRenderer.java} | 42 +- .../TestRenderer.java} | 21 +- .../DefaultLodVertexFormats.java | 4 +- .../vertexFormat}/LodVertexFormat.java | 2 +- .../vertexFormat}/LodVertexFormatElement.java | 2 +- .../util/{Atomics.java => AtomicsUtil.java} | 2 +- .../FileScanUtil.java} | 10 +- .../com/seibel/lod/core/util/LodUtil.java | 17 +- .../lod/core/{render => util}/RenderUtil.java | 25 +- .../lod/core/util/gridList/ArrayGridList.java | 2 +- .../gridList/EdgeDistanceBooleanGrid.java | 4 +- .../util/gridList/MovableGridRingList.java | 2 +- .../core/{objects => util}/math/Mat4f.java | 2 +- .../lod/core/util/{ => math}/UnitBytes.java | 2 +- .../core/{objects => util}/math/Vec3d.java | 2 +- .../core/{objects => util}/math/Vec3f.java | 2 +- .../core/{objects => util}/math/Vec3i.java | 2 +- .../lod/core/{ => util}/objects/BoolType.java | 2 +- .../DummyRunExecutorService.java | 2 +- .../core/util/{ => objects}/EventLoop.java | 2 +- .../core/util/{ => objects}/EventTimer.java | 2 +- .../core/util/{ => objects}/GLMessage.java | 2 +- .../{ => objects}/GLMessageOutputStream.java | 2 +- .../util/{ => objects}/LodThreadFactory.java | 2 +- .../core/util/{ => objects}/Reference.java | 2 +- .../lod/core/util/{ => objects}/StatsMap.java | 4 +- .../UncheckedInterruptedException.java | 2 +- .../objects}/UnclosableInputStream.java | 2 +- .../objects}/UnclosableOutputStream.java | 2 +- .../{a7 => }/world/DhClientServerWorld.java | 13 +- .../core/{a7 => }/world/DhClientWorld.java | 10 +- .../core/{a7 => }/world/DhServerWorld.java | 8 +- .../lod/core/{a7 => }/world/DhWorld.java | 4 +- .../lod/core/{a7 => }/world/IClientWorld.java | 2 +- .../lod/core/{a7 => }/world/IServerWorld.java | 2 +- .../core/{a7 => }/world/WorldEnvironment.java | 2 +- .../wrapperInterfaces/IVersionConstants.java | 2 +- .../wrapperInterfaces/IWrapperFactory.java | 4 +- .../block/IBlockStateWrapper.java | 5 - .../chunk/IChunkWrapper.java | 6 +- .../config/IConfigWrapper.java | 2 +- .../config/ILodConfigWrapperSingleton.java | 6 +- .../minecraft/IMinecraftClientWrapper.java | 11 +- .../minecraft/IMinecraftRenderWrapper.java | 28 +- .../minecraft/IMinecraftSharedWrapper.java | 2 +- .../minecraft/IProfilerWrapper.java | 2 +- .../misc/ILightMapWrapper.java | 2 +- .../modAccessor/IModAccessor.java | 2 +- .../modAccessor/IModChecker.java | 2 +- .../modAccessor/IOptifineAccessor.java | 4 +- .../modAccessor/ISodiumAccessor.java | 4 +- .../world/IBiomeWrapper.java | 2 +- .../world/IClientLevelWrapper.java | 4 +- .../world/IDimensionTypeWrapper.java | 2 +- .../world/ILevelWrapper.java | 15 +- ...tractBatchGenerationEnvionmentWrapper.java | 2 +- .../objects/OverrideTestCore.java | 2 +- .../objects/OverrideTestPrimary.java | 2 +- .../interfaces/ISingletonTestOne.java | 2 +- .../interfaces/ISingletonTestTwo.java | 2 +- .../objects/ConcreteSingletonTestBoth.java | 2 +- .../objects/ConcreteSingletonTestOne.java | 5 +- .../objects/ConcreteSingletonTestTwo.java | 5 +- .../objects/WorldGeneratorTestCore.java | 2 +- .../objects/WorldGeneratorTestPrimary.java | 2 +- .../objects/WorldGeneratorTestSecondary.java | 2 +- .../java/tests/DependencyInjectorTest.java | 5 +- 191 files changed, 668 insertions(+), 1577 deletions(-) rename core/src/main/java/com/seibel/lod/core/{handlers => }/IReflectionHandler.java (94%) rename core/src/main/java/com/seibel/lod/core/{a7 => }/Initializer.java (60%) rename core/src/main/java/com/seibel/lod/core/{objects => }/ParsedIp.java (98%) rename core/src/main/java/com/seibel/lod/core/{handlers => }/ReflectionHandler.java (97%) delete mode 100644 core/src/main/java/com/seibel/lod/core/a7/util/CombinableResult.java delete mode 100644 core/src/main/java/com/seibel/lod/core/a7/util/ConcurrentQuadCombinableProviderTree.java delete mode 100644 core/src/main/java/com/seibel/lod/core/a7/util/LazySectionPosTree.java rename core/src/main/java/com/seibel/lod/core/api/internal/{a7 => }/ClientApi.java (93%) rename core/src/main/java/com/seibel/lod/core/api/internal/{a7 => }/ServerApi.java (93%) rename core/src/main/java/com/seibel/lod/core/api/internal/{a7 => }/SharedApi.java (56%) rename core/src/main/java/com/seibel/lod/core/{a7 => }/datatype/DataSourceLoader.java (94%) rename core/src/main/java/com/seibel/lod/core/{a7 => }/datatype/LodDataSource.java (57%) rename core/src/main/java/com/seibel/lod/core/{a7 => }/datatype/LodRenderSource.java (79%) rename core/src/main/java/com/seibel/lod/core/{a7 => }/datatype/PlaceHolderRenderSource.java (81%) rename core/src/main/java/com/seibel/lod/core/{a7 => }/datatype/RenderSourceLoader.java (93%) rename core/src/main/java/com/seibel/lod/core/{a7 => }/datatype/column/ColumnRenderLoader.java (68%) rename core/src/main/java/com/seibel/lod/core/{a7 => }/datatype/column/ColumnRenderSource.java (94%) rename core/src/main/java/com/seibel/lod/core/{a7 => }/datatype/column/accessor/ColumnArrayView.java (98%) rename core/src/main/java/com/seibel/lod/core/{a7 => }/datatype/column/accessor/ColumnFormat.java (99%) rename core/src/main/java/com/seibel/lod/core/{a7 => }/datatype/column/accessor/ColumnQuadView.java (98%) rename core/src/main/java/com/seibel/lod/core/{a7 => }/datatype/column/accessor/IColumnDataView.java (92%) rename core/src/main/java/com/seibel/lod/core/{a7 => }/datatype/column/accessor/IColumnDatatype.java (95%) rename core/src/main/java/com/seibel/lod/core/{builders/lodBuilding/bufferBuilding => datatype/column/render}/BufferMergeDirectionEnum.java (94%) rename core/src/main/java/com/seibel/lod/core/{builders/lodBuilding/bufferBuilding => datatype/column/render}/BufferQuad.java (99%) rename core/src/main/java/com/seibel/lod/core/{a7 => }/datatype/column/render/ColumnBox.java (92%) rename core/src/main/java/com/seibel/lod/core/{a7 => }/datatype/column/render/ColumnRenderBuffer.java (93%) rename core/src/main/java/com/seibel/lod/core/{builders/lodBuilding/bufferBuilding => datatype/column/render}/CubicLodTemplate.java (91%) rename core/src/main/java/com/seibel/lod/core/{builders/lodBuilding/bufferBuilding => datatype/column/render}/LodQuadBuilder.java (98%) rename core/src/main/java/com/seibel/lod/core/{a7 => }/datatype/full/ChunkSizedData.java (84%) rename core/src/main/java/com/seibel/lod/core/{a7 => }/datatype/full/FullDataDownSampler.java (94%) rename core/src/main/java/com/seibel/lod/core/{a7 => }/datatype/full/FullDataLoader.java (62%) rename core/src/main/java/com/seibel/lod/core/{a7 => }/datatype/full/FullDataSource.java (95%) rename core/src/main/java/com/seibel/lod/core/{a7 => }/datatype/full/FullFormat.java (95%) rename core/src/main/java/com/seibel/lod/core/{a7 => }/datatype/full/IdBiomeBlockStateMap.java (95%) rename core/src/main/java/com/seibel/lod/core/{a7 => }/datatype/full/SampledDataSource.java (66%) rename core/src/main/java/com/seibel/lod/core/{a7 => }/datatype/full/SparseDataLoader.java (61%) rename core/src/main/java/com/seibel/lod/core/{a7 => }/datatype/full/SparseDataSource.java (96%) rename core/src/main/java/com/seibel/lod/core/{a7 => }/datatype/full/accessor/FullArrayView.java (95%) rename core/src/main/java/com/seibel/lod/core/{a7 => }/datatype/full/accessor/IFullDataType.java (87%) rename core/src/main/java/com/seibel/lod/core/{a7 => }/datatype/full/accessor/IFullDataView.java (87%) rename core/src/main/java/com/seibel/lod/core/{a7 => }/datatype/full/accessor/SingleFullArrayView.java (94%) rename core/src/main/java/com/seibel/lod/core/{a7 => }/datatype/transform/DataRenderTransformer.java (76%) rename core/src/main/java/com/seibel/lod/core/{a7 => }/datatype/transform/FullToColumnTransformer.java (96%) rename core/src/main/java/com/seibel/lod/core/{a7/datatype => datatype/transform}/LodBuilder.java (88%) rename core/src/main/java/com/seibel/lod/core/{builders/lodBuilding => datatype/transform}/LodBuilderConfig.java (97%) rename core/src/main/java/com/seibel/lod/core/{a7 => }/datatype/transform/LodDataBuilder.java (92%) rename core/src/main/java/com/seibel/lod/core/{handlers => }/dependencyInjection/DependencyInjector.java (99%) rename core/src/main/java/com/seibel/lod/core/{handlers => }/dependencyInjection/DhApiEventInjector.java (98%) rename core/src/main/java/com/seibel/lod/core/{handlers => }/dependencyInjection/IBindable.java (96%) rename core/src/main/java/com/seibel/lod/core/{handlers => }/dependencyInjection/ModAccessorInjector.java (97%) rename core/src/main/java/com/seibel/lod/core/{handlers => }/dependencyInjection/OverrideInjector.java (99%) rename core/src/main/java/com/seibel/lod/core/{handlers => }/dependencyInjection/OverridePriorityListContainer.java (97%) rename core/src/main/java/com/seibel/lod/core/{handlers => }/dependencyInjection/SingletonInjector.java (95%) rename core/src/main/java/com/seibel/lod/core/{handlers => }/dependencyInjection/WorldGeneratorInjector.java (97%) rename core/src/main/java/com/seibel/lod/core/{builders/worldGeneration => generation}/BatchGenerator.java (97%) rename core/src/main/java/com/seibel/lod/core/{a7 => }/generation/GenerationQueue.java (98%) rename core/src/main/java/com/seibel/lod/core/{a7 => }/generation/IChunkGenerator.java (59%) rename core/src/main/java/com/seibel/lod/core/{a7 => }/generation/IGenerator.java (85%) rename core/src/main/java/com/seibel/lod/core/{a7/save => }/io/LevelToFileMatcher.java (97%) rename core/src/main/java/com/seibel/lod/core/{a7/save => }/io/MetaFile.java (98%) rename core/src/main/java/com/seibel/lod/core/{handlers/dimensionFinder => io}/PlayerData.java (91%) rename core/src/main/java/com/seibel/lod/core/{handlers/dimensionFinder => io}/SubDimCompare.java (97%) rename core/src/main/java/com/seibel/lod/core/{a7/save/io/file => io/datafile}/DataFileHandler.java (96%) rename core/src/main/java/com/seibel/lod/core/{a7/save/io/file => io/datafile}/DataMetaFile.java (96%) rename core/src/main/java/com/seibel/lod/core/{a7/save/io/file => io/datafile}/GeneratedDataFileHandler.java (93%) rename core/src/main/java/com/seibel/lod/core/{a7/save/io/file => io/datafile}/IDataSourceProvider.java (69%) rename core/src/main/java/com/seibel/lod/core/{a7/save/io/file => io/datafile}/RemoteDataFileHandler.java (60%) rename core/src/main/java/com/seibel/lod/core/{a7/save/io/render => io/renderfile}/IRenderSourceProvider.java (68%) rename core/src/main/java/com/seibel/lod/core/{a7/save/io/render => io/renderfile}/RenderFileHandler.java (94%) rename core/src/main/java/com/seibel/lod/core/{a7/save/io/render => io/renderfile}/RenderMetaFile.java (92%) rename core/src/main/java/com/seibel/lod/core/{a7/save => io}/structure/ClientOnlySaveStructure.java (96%) rename core/src/main/java/com/seibel/lod/core/{a7/save => io}/structure/LocalSaveStructure.java (87%) rename core/src/main/java/com/seibel/lod/core/{a7/save => io}/structure/SaveStructure.java (93%) rename core/src/main/java/com/seibel/lod/core/{a7 => }/level/DhClientLevel.java (78%) rename core/src/main/java/com/seibel/lod/core/{a7 => }/level/DhClientServerLevel.java (88%) rename core/src/main/java/com/seibel/lod/core/{a7 => }/level/DhServerLevel.java (83%) rename core/src/main/java/com/seibel/lod/core/{a7 => }/level/IClientLevel.java (72%) rename core/src/main/java/com/seibel/lod/core/{a7 => }/level/ILevel.java (90%) rename core/src/main/java/com/seibel/lod/core/{a7 => }/level/IServerLevel.java (85%) rename core/src/main/java/com/seibel/lod/core/{objects/DHBlockPos.java => pos/DhBlockPos.java} (89%) rename core/src/main/java/com/seibel/lod/core/{a7 => }/pos/DhBlockPos2D.java (87%) rename core/src/main/java/com/seibel/lod/core/{objects/DHChunkPos.java => pos/DhChunkPos.java} (85%) rename core/src/main/java/com/seibel/lod/core/{a7 => }/pos/DhLodPos.java (98%) rename core/src/main/java/com/seibel/lod/core/{a7 => }/pos/DhLodUnit.java (95%) rename core/src/main/java/com/seibel/lod/core/{a7 => }/pos/DhSectionPos.java (99%) rename core/src/main/java/com/seibel/lod/core/{objects => pos}/Pos2D.java (98%) rename core/src/main/java/com/seibel/lod/core/{a7 => }/render/LodQuadTree.java (98%) rename core/src/main/java/com/seibel/lod/core/{a7 => }/render/LodRenderSection.java (92%) rename core/src/main/java/com/seibel/lod/core/{a7 => }/render/RenderBuffer.java (92%) rename core/src/main/java/com/seibel/lod/core/{a7 => }/render/RenderBufferHandler.java (95%) rename core/src/main/java/com/seibel/lod/core/{objects => render/fog}/FogSettings.java (98%) rename core/src/main/java/com/seibel/lod/core/render/{ => fog}/LodFogConfig.java (97%) rename core/src/main/java/com/seibel/lod/core/render/{objects => glObject}/GLEnums.java (99%) rename core/src/main/java/com/seibel/lod/core/render/{ => glObject}/GLProxy.java (98%) rename core/src/main/java/com/seibel/lod/core/render/{objects => glObject}/GLState.java (98%) rename core/src/main/java/com/seibel/lod/core/render/{objects => glObject}/LightmapTexture.java (98%) rename core/src/main/java/com/seibel/lod/core/render/{objects => glObject/buffer}/GLBuffer.java (98%) rename core/src/main/java/com/seibel/lod/core/render/{objects => glObject/buffer}/GLElementBuffer.java (96%) rename core/src/main/java/com/seibel/lod/core/render/{objects => glObject/buffer}/GLVertexBuffer.java (98%) rename core/src/main/java/com/seibel/lod/core/render/{objects => glObject/buffer}/QuadElementBuffer.java (96%) rename core/src/main/java/com/seibel/lod/core/render/{objects => glObject/shader}/Shader.java (97%) rename core/src/main/java/com/seibel/lod/core/render/{objects => glObject/shader}/ShaderProgram.java (96%) rename core/src/main/java/com/seibel/lod/core/render/{objects => glObject/vertexAttribute}/VertexAttribute.java (97%) rename core/src/main/java/com/seibel/lod/core/render/{objects => glObject/vertexAttribute}/VertexAttributePostGL43.java (96%) rename core/src/main/java/com/seibel/lod/core/render/{objects => glObject/vertexAttribute}/VertexAttributePreGL43.java (97%) rename core/src/main/java/com/seibel/lod/core/render/{ => renderer}/LodRenderProgram.java (90%) rename core/src/main/java/com/seibel/lod/core/{a7/render/a7LodRenderer.java => render/renderer/LodRenderer.java} (91%) rename core/src/main/java/com/seibel/lod/core/render/{RenderSystemTest.java => renderer/TestRenderer.java} (87%) rename core/src/main/java/com/seibel/lod/core/{objects/opengl => render/vertexFormat}/DefaultLodVertexFormats.java (94%) rename core/src/main/java/com/seibel/lod/core/{objects/opengl => render/vertexFormat}/LodVertexFormat.java (98%) rename core/src/main/java/com/seibel/lod/core/{objects/opengl => render/vertexFormat}/LodVertexFormatElement.java (98%) rename core/src/main/java/com/seibel/lod/core/util/{Atomics.java => AtomicsUtil.java} (99%) rename core/src/main/java/com/seibel/lod/core/{a7/util/FileScanner.java => util/FileScanUtil.java} (88%) rename core/src/main/java/com/seibel/lod/core/{render => util}/RenderUtil.java (92%) rename core/src/main/java/com/seibel/lod/core/{objects => util}/math/Mat4f.java (99%) rename core/src/main/java/com/seibel/lod/core/util/{ => math}/UnitBytes.java (98%) rename core/src/main/java/com/seibel/lod/core/{objects => util}/math/Vec3d.java (99%) rename core/src/main/java/com/seibel/lod/core/{objects => util}/math/Vec3f.java (99%) rename core/src/main/java/com/seibel/lod/core/{objects => util}/math/Vec3i.java (98%) rename core/src/main/java/com/seibel/lod/core/{ => util}/objects/BoolType.java (95%) rename core/src/main/java/com/seibel/lod/core/util/{ => objects}/DummyRunExecutorService.java (98%) rename core/src/main/java/com/seibel/lod/core/util/{ => objects}/EventLoop.java (97%) rename core/src/main/java/com/seibel/lod/core/util/{ => objects}/EventTimer.java (97%) rename core/src/main/java/com/seibel/lod/core/util/{ => objects}/GLMessage.java (99%) rename core/src/main/java/com/seibel/lod/core/util/{ => objects}/GLMessageOutputStream.java (97%) rename core/src/main/java/com/seibel/lod/core/util/{ => objects}/LodThreadFactory.java (98%) rename core/src/main/java/com/seibel/lod/core/util/{ => objects}/Reference.java (87%) rename core/src/main/java/com/seibel/lod/core/util/{ => objects}/StatsMap.java (94%) rename core/src/main/java/com/seibel/lod/core/{a7/util => util/objects}/UncheckedInterruptedException.java (97%) rename core/src/main/java/com/seibel/lod/core/{a7/util => util/objects}/UnclosableInputStream.java (88%) rename core/src/main/java/com/seibel/lod/core/{a7/util => util/objects}/UnclosableOutputStream.java (87%) rename core/src/main/java/com/seibel/lod/core/{a7 => }/world/DhClientServerWorld.java (92%) rename core/src/main/java/com/seibel/lod/core/{a7 => }/world/DhClientWorld.java (92%) rename core/src/main/java/com/seibel/lod/core/{a7 => }/world/DhServerWorld.java (92%) rename core/src/main/java/com/seibel/lod/core/{a7 => }/world/DhWorld.java (91%) rename core/src/main/java/com/seibel/lod/core/{a7 => }/world/IClientWorld.java (60%) rename core/src/main/java/com/seibel/lod/core/{a7 => }/world/IServerWorld.java (68%) rename core/src/main/java/com/seibel/lod/core/{a7 => }/world/WorldEnvironment.java (69%) diff --git a/api/src/main/java/com/seibel/lod/api/DhApiMain.java b/api/src/main/java/com/seibel/lod/api/DhApiMain.java index e3f82a937..c1e790a6b 100644 --- a/api/src/main/java/com/seibel/lod/api/DhApiMain.java +++ b/api/src/main/java/com/seibel/lod/api/DhApiMain.java @@ -1,7 +1,7 @@ package com.seibel.lod.api; import com.seibel.lod.core.ModInfo; -import com.seibel.lod.core.a7.datatype.full.FullDataSource; +import com.seibel.lod.core.datatype.full.FullDataSource; /** * This holds API methods related to version numbers and other unchanging endpoints. diff --git a/api/src/main/java/com/seibel/lod/api/items/interfaces/override/IDhApiOverrideable.java b/api/src/main/java/com/seibel/lod/api/items/interfaces/override/IDhApiOverrideable.java index ab8fb189e..bddb9617f 100644 --- a/api/src/main/java/com/seibel/lod/api/items/interfaces/override/IDhApiOverrideable.java +++ b/api/src/main/java/com/seibel/lod/api/items/interfaces/override/IDhApiOverrideable.java @@ -1,8 +1,8 @@ package com.seibel.lod.api.items.interfaces.override; import com.seibel.lod.core.api.external.coreImplementations.interfaces.override.ICoreDhApiOverrideable; -import com.seibel.lod.core.handlers.dependencyInjection.IBindable; -import com.seibel.lod.core.handlers.dependencyInjection.OverrideInjector; +import com.seibel.lod.core.dependencyInjection.IBindable; +import com.seibel.lod.core.dependencyInjection.OverrideInjector; /** * Implemented by all DhApi objects that can be overridden. diff --git a/api/src/main/java/com/seibel/lod/api/items/objects/math/DhApiMat4f.java b/api/src/main/java/com/seibel/lod/api/items/objects/math/DhApiMat4f.java index 1d63ee6f1..81301f792 100644 --- a/api/src/main/java/com/seibel/lod/api/items/objects/math/DhApiMat4f.java +++ b/api/src/main/java/com/seibel/lod/api/items/objects/math/DhApiMat4f.java @@ -19,7 +19,7 @@ package com.seibel.lod.api.items.objects.math; -import com.seibel.lod.core.objects.math.Mat4f; +import com.seibel.lod.core.util.math.Mat4f; /** * A simple way to store a 4x4 array diff --git a/api/src/main/java/com/seibel/lod/api/methods/events/DhApiEventRegister.java b/api/src/main/java/com/seibel/lod/api/methods/events/DhApiEventRegister.java index d7a7caebc..bac209f8f 100644 --- a/api/src/main/java/com/seibel/lod/api/methods/events/DhApiEventRegister.java +++ b/api/src/main/java/com/seibel/lod/api/methods/events/DhApiEventRegister.java @@ -2,7 +2,7 @@ package com.seibel.lod.api.methods.events; import com.seibel.lod.api.items.objects.DhApiResult; import com.seibel.lod.core.api.external.coreImplementations.interfaces.events.ICoreDhApiEvent; -import com.seibel.lod.core.handlers.dependencyInjection.DhApiEventInjector; +import com.seibel.lod.core.dependencyInjection.DhApiEventInjector; /** * Handles adding/removing event handlers. diff --git a/api/src/main/java/com/seibel/lod/api/methods/events/interfaces/IDhApiEvent.java b/api/src/main/java/com/seibel/lod/api/methods/events/interfaces/IDhApiEvent.java index 8c71ff66e..60a4c25ff 100644 --- a/api/src/main/java/com/seibel/lod/api/methods/events/interfaces/IDhApiEvent.java +++ b/api/src/main/java/com/seibel/lod/api/methods/events/interfaces/IDhApiEvent.java @@ -1,7 +1,7 @@ package com.seibel.lod.api.methods.events.interfaces; import com.seibel.lod.core.api.external.coreImplementations.interfaces.events.ICoreDhApiEvent; -import com.seibel.lod.core.handlers.dependencyInjection.IBindable; +import com.seibel.lod.core.dependencyInjection.IBindable; /** * A combination of all interfaces required by all diff --git a/api/src/main/java/com/seibel/lod/api/override/DhApiWorldGeneratorOverrideRegister.java b/api/src/main/java/com/seibel/lod/api/override/DhApiWorldGeneratorOverrideRegister.java index 17632b3bb..38333e5f0 100644 --- a/api/src/main/java/com/seibel/lod/api/override/DhApiWorldGeneratorOverrideRegister.java +++ b/api/src/main/java/com/seibel/lod/api/override/DhApiWorldGeneratorOverrideRegister.java @@ -3,7 +3,7 @@ package com.seibel.lod.api.override; import com.seibel.lod.api.items.interfaces.world.IDhApiLevelWrapper; import com.seibel.lod.api.items.objects.DhApiResult; import com.seibel.lod.core.api.external.coreImplementations.interfaces.override.worldGenerator.ICoreDhApiWorldGenerator; -import com.seibel.lod.core.handlers.dependencyInjection.WorldGeneratorInjector; +import com.seibel.lod.core.dependencyInjection.WorldGeneratorInjector; /** * Handles adding world generator overrides. diff --git a/api/src/test/java/tests/EventInjectorTest.java b/api/src/test/java/tests/EventInjectorTest.java index 8d193bbe4..e881d4a1b 100644 --- a/api/src/test/java/tests/EventInjectorTest.java +++ b/api/src/test/java/tests/EventInjectorTest.java @@ -1,9 +1,8 @@ package tests; import com.seibel.lod.core.api.external.coreImplementations.objects.events.abstractEvents.CoreDhApiTestEvent; -import com.seibel.lod.core.handlers.dependencyInjection.*; +import com.seibel.lod.core.dependencyInjection.DhApiEventInjector; import org.junit.Assert; -import org.junit.Test; import testItems.events.abstractObjects.DhApiTestEvent; import testItems.events.objects.DhTestEvent; import testItems.events.objects.DhTestEventAlt; diff --git a/core/src/main/java/com/seibel/lod/core/handlers/IReflectionHandler.java b/core/src/main/java/com/seibel/lod/core/IReflectionHandler.java similarity index 94% rename from core/src/main/java/com/seibel/lod/core/handlers/IReflectionHandler.java rename to core/src/main/java/com/seibel/lod/core/IReflectionHandler.java index 14224be75..3b5306789 100644 --- a/core/src/main/java/com/seibel/lod/core/handlers/IReflectionHandler.java +++ b/core/src/main/java/com/seibel/lod/core/IReflectionHandler.java @@ -17,10 +17,10 @@ * along with this program. If not, see . */ -package com.seibel.lod.core.handlers; +package com.seibel.lod.core; import com.seibel.lod.core.enums.rendering.EFogDrawMode; -import com.seibel.lod.core.handlers.dependencyInjection.IBindable; +import com.seibel.lod.core.dependencyInjection.IBindable; /** * A singleton used to get variables from methods diff --git a/core/src/main/java/com/seibel/lod/core/a7/Initializer.java b/core/src/main/java/com/seibel/lod/core/Initializer.java similarity index 60% rename from core/src/main/java/com/seibel/lod/core/a7/Initializer.java rename to core/src/main/java/com/seibel/lod/core/Initializer.java index bb2941913..af8b4084c 100644 --- a/core/src/main/java/com/seibel/lod/core/a7/Initializer.java +++ b/core/src/main/java/com/seibel/lod/core/Initializer.java @@ -1,8 +1,8 @@ -package com.seibel.lod.core.a7; +package com.seibel.lod.core; -import com.seibel.lod.core.a7.datatype.column.ColumnRenderLoader; -import com.seibel.lod.core.a7.datatype.full.FullDataLoader; -import com.seibel.lod.core.a7.datatype.full.SparseDataLoader; +import com.seibel.lod.core.datatype.column.ColumnRenderLoader; +import com.seibel.lod.core.datatype.full.FullDataLoader; +import com.seibel.lod.core.datatype.full.SparseDataLoader; public class Initializer { public static void init() { diff --git a/core/src/main/java/com/seibel/lod/core/objects/ParsedIp.java b/core/src/main/java/com/seibel/lod/core/ParsedIp.java similarity index 98% rename from core/src/main/java/com/seibel/lod/core/objects/ParsedIp.java rename to core/src/main/java/com/seibel/lod/core/ParsedIp.java index 464ceca9e..123ceb797 100644 --- a/core/src/main/java/com/seibel/lod/core/objects/ParsedIp.java +++ b/core/src/main/java/com/seibel/lod/core/ParsedIp.java @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -package com.seibel.lod.core.objects; +package com.seibel.lod.core; /** diff --git a/core/src/main/java/com/seibel/lod/core/handlers/ReflectionHandler.java b/core/src/main/java/com/seibel/lod/core/ReflectionHandler.java similarity index 97% rename from core/src/main/java/com/seibel/lod/core/handlers/ReflectionHandler.java rename to core/src/main/java/com/seibel/lod/core/ReflectionHandler.java index f0206bad2..0b890d86d 100644 --- a/core/src/main/java/com/seibel/lod/core/handlers/ReflectionHandler.java +++ b/core/src/main/java/com/seibel/lod/core/ReflectionHandler.java @@ -17,12 +17,12 @@ * along with this program. If not, see . */ -package com.seibel.lod.core.handlers; +package com.seibel.lod.core; import java.lang.invoke.MethodHandles; import java.lang.reflect.Field; -import com.seibel.lod.core.handlers.dependencyInjection.SingletonInjector; +import com.seibel.lod.core.dependencyInjection.SingletonInjector; import com.seibel.lod.core.logging.DhLoggerBuilder; import com.seibel.lod.core.wrapperInterfaces.minecraft.IMinecraftClientWrapper; import org.apache.logging.log4j.Logger; diff --git a/core/src/main/java/com/seibel/lod/core/a7/util/CombinableResult.java b/core/src/main/java/com/seibel/lod/core/a7/util/CombinableResult.java deleted file mode 100644 index 6acfb7acb..000000000 --- a/core/src/main/java/com/seibel/lod/core/a7/util/CombinableResult.java +++ /dev/null @@ -1,5 +0,0 @@ -package com.seibel.lod.core.a7.util; - -public interface CombinableResult { - T combineWith(T b, T c, T d); -} diff --git a/core/src/main/java/com/seibel/lod/core/a7/util/ConcurrentQuadCombinableProviderTree.java b/core/src/main/java/com/seibel/lod/core/a7/util/ConcurrentQuadCombinableProviderTree.java deleted file mode 100644 index 4e522465b..000000000 --- a/core/src/main/java/com/seibel/lod/core/a7/util/ConcurrentQuadCombinableProviderTree.java +++ /dev/null @@ -1,347 +0,0 @@ -package com.seibel.lod.core.a7.util; - -import com.seibel.lod.core.a7.pos.DhLodPos; -import com.seibel.lod.core.logging.DhLoggerBuilder; -import com.seibel.lod.core.util.Atomics; -import com.seibel.lod.core.util.LodUtil; -import org.apache.logging.log4j.Logger; - -import java.lang.ref.WeakReference; -import java.util.Objects; -import java.util.concurrent.CompletableFuture; -import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.ThreadLocalRandom; -import java.util.concurrent.atomic.AtomicReference; -import java.util.concurrent.atomic.AtomicReferenceArray; -import java.util.concurrent.locks.ReentrantReadWriteLock; -import java.util.function.Function; - -public class ConcurrentQuadCombinableProviderTree> { - private static final Logger LOGGER = DhLoggerBuilder.getLogger(); - public static class Node { - private final DhLodPos pos; - public final AtomicReference> future; - // The child node is stored as a weak reference so that it can be garbage collected when that node's future is completed - // and which then releases the hold on that node, thus allowing automatic garbage collection. - public final AtomicReferenceArray>> children = new AtomicReferenceArray<>(4); - @SuppressWarnings("unused") - AtomicReference> parent = null; // This is only used to ensure that the parent is not garbage collected before the child. - private Node(DhLodPos pos, CompletableFuture future) { - this.pos = pos; - this.future = new AtomicReference<>(future); - } - private Node(DhLodPos pos, CompletableFuture future, Node parent) { - this.pos = pos; - this.future = new AtomicReference<>(future); - this.parent = new AtomicReference<>(parent); - } - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - Node node = (Node) o; - return pos.equals(node.pos); - } - @Override - public int hashCode() { - return pos.hashCode(); - } - public Node setIfNullAndGet(int childIndex, Node newChild) { - WeakReference> newRef = new WeakReference<>(newChild); - WeakReference> oldRef; - do { - oldRef = Atomics.compareAndExchange(children, childIndex, null, newRef); - if (oldRef == null) return newChild; // CompareAndExchange succeeded - Node oldNode = oldRef.get(); - if (oldNode != null) return oldNode; // CompareAndExchange failed with old node not null - // Otherwise, the old node weak reference is null. - } while (!children.compareAndSet(childIndex, oldRef, newRef)); // If this cas fails, then try again. (Some other thread beat us to it.) - return newChild; // If we get here, then we successfully replaced the old node weak reference with the new one. - } - } - - static class RootMap { - private final ConcurrentHashMap>> roots = new ConcurrentHashMap<>(); - private final int topLevel; - - RootMap(int topLevel) { - this.topLevel = topLevel; - } - - public int getTopLevel() { - return topLevel; - } - public Node get(DhLodPos pos) { - WeakReference> ref = roots.get(pos); - return ref == null ? null : ref.get(); - } - public Node compareNullAndExchange(DhLodPos pos, Node newRoot) { - WeakReference> newRef = new WeakReference<>(newRoot); - WeakReference> oldRef; - do { - oldRef = roots.putIfAbsent(pos, newRef); - if (oldRef == null) return null; // putIfAbsent succeeded - Node oldRoot = oldRef.get(); - if (oldRoot != null) return oldRoot; // putIfAbsent failed with old root not null - // Otherwise, the old root weak reference is null. - } while (!roots.replace(pos, oldRef, newRef)); // If this cas fails, then try again. (Some other thread beat us to it.) - return null; // If we get here, then we successfully replaced the old root weak reference with the new one, so return null. - } - public boolean compareNullAndSet(DhLodPos pos, Node newRoot) { - WeakReference> newRef = new WeakReference<>(newRoot); - WeakReference> oldRef; - do { - oldRef = roots.putIfAbsent(pos, newRef); - if (oldRef == null) return true; // putIfAbsent succeeded - Node oldRoot = oldRef.get(); - if (oldRoot != null) return false; // putIfAbsent failed with old root not null - // Otherwise, the old root weak reference is null. - } while (!roots.replace(pos, oldRef, newRef)); // If this cas fails, then try again. (Some other thread beat us to it.) - return true; // If we get here, then we successfully replaced the old root weak reference with the new one. - } - public Node setIfNullAndGet(DhLodPos pos, Node newRoot) { - WeakReference> newRef = new WeakReference<>(newRoot); - WeakReference> oldRef; - do { - oldRef = roots.putIfAbsent(pos, newRef); - if (oldRef == null) return newRoot; // putIfAbsent succeeded - Node oldRoot = oldRef.get(); - if (oldRoot != null) return oldRoot; // putIfAbsent failed with old root not null - // Otherwise, the old root weak reference is null. - } while (!roots.replace(pos, oldRef, newRef)); // If this cas fails, then try again. (Some other thread beat us to it.) - return newRoot; // If we get here, then we successfully replaced the old root weak reference with the new one. - } - public void clean() { - roots.forEach((k,v) -> { - if (v.get() == null) // Remove the entry if the root is null - roots.remove(k, v); // But only if what we check is what we will be removing. (A CAS operation) - // Otherwise, continue. - // (It is not important that we must remove the entry if the root is null, - // as this is just a cleanup op to shrink the map.) - }); - } - } - - private final ReentrantReadWriteLock rootMapGlobalLock = new ReentrantReadWriteLock(); - private final AtomicReference> rootMap = new AtomicReference<>(new RootMap<>(0)); - - - public ConcurrentQuadCombinableProviderTree() {} - @Override - public String toString() { - return "CQCPT@" + rootMap.get().topLevel + "(~" + rootMap.get().roots.size() + ")"; - } - - // Atomically update and get the generation future - private CompletableFuture checkAndMakeFuture(Node node, Function> allNullCompleter) { - CompletableFuture future = new CompletableFuture<>(); - CompletableFuture casValue = Atomics.compareAndExchange(node.future, null, future); - if (casValue != null) { // cas failed. Existing future. Return it. - return casValue; - } - - // Next, we need to make the future completable. - // We first check for each child connection if it exists. If it does, we store it for a later 'allOf'. - boolean allNull = true; - @SuppressWarnings("unchecked") - CompletableFuture[] childFutures = new CompletableFuture[4]; - for (int i = 0; i < 4; i++) { - WeakReference> childRef = node.children.get(i); - Node nextChild = childRef == null ? null : childRef.get(); - if (nextChild != null) { // child node exists. Recursively make or get the child's future. - allNull = false; - childFutures[i] = checkAndMakeFuture(nextChild, allNullCompleter); - } - } - if (allNull) { // all children are null. We can then just run the allNullCompleter in this node. - allNullCompleter.apply(node.pos).whenComplete((r, e) -> { - // NOTE(*1): This *HAVE* to get the future via the node reference instead of directly capturing the future, - // as otherwise the node will be garbage collected before the future is completed. - // With this, we can guarantee that the node is garbage collected only when the future is (being) completed. - // (The actual order is not important however as long as the node is still alive when the generation is in progress) - CompletableFuture f = node.future.get(); - LodUtil.assertTrue(f != null, "Future should not be null"); - if (e != null) { - f.completeExceptionally(e); - } else { - f.complete(r); - } - }); - } else { // some children exist. We need to wait for some or all of them to complete. - // But before that, we need to create the children node where they are missing. - for (int i = 0; i < 4; i++) { - if (childFutures[i] == null) { - CompletableFuture newChildFuture = new CompletableFuture<>(); - Node newChild = new Node<>(node.pos.getChild(i), newChildFuture, node); - node.children.set(i, new WeakReference<>(newChild)); - childFutures[i] = newChildFuture; - // Since the child is new, we can be sure that it doesn't have any children. - // So, we need to make the new child's future completable by running the allNullCompleter. - // (The above relies on the fact that we did a CAS on the beginning of this method, - // which means that we have unique access to the node and its links to the children, and that - // no other thread can be concurrently modifying its links) - allNullCompleter.apply(newChild.pos).whenComplete((r, e) -> { - // NOTE: Same as 'NOTE(*1)', we *HAVE* to get the future via the node reference instead of directly capturing the future. - CompletableFuture f = newChild.future.get(); - LodUtil.assertTrue(f != null, "Future should not be null"); - if (e != null) { - f.completeExceptionally(e); - } else { - f.complete(r); - } - }); - } - LodUtil.assertTrue(childFutures[i] != null); - } - // Now, we can wait for all the child futures to complete, and then complete this node's future with - // the combined result of all child futures. - CompletableFuture.allOf(childFutures).handle((v, e) -> { - // NOTE: Same as 'NOTE(*1)', we *HAVE* to get the future via the node reference instead of directly capturing the future. - CompletableFuture f = node.future.get(); - LodUtil.assertTrue(f != null, "Future should not be null"); - if (e != null) { - f.completeExceptionally(e); - } else { - try { - f.complete(childFutures[0].join().combineWith( - childFutures[1].join(), childFutures[2].join(), childFutures[3].join())); - } catch (Throwable e2) { - f.completeExceptionally(e2); - } - } - return null; - }); - } - return future; - } - - public CompletableFuture createOrUseExisting(DhLodPos pos, Function> completer) { - LOGGER.info("Creating or using existing future for {}", pos); - int cleanRng = ThreadLocalRandom.current().nextInt(0, 10); - if (cleanRng == 0) cleanIfNeeded(); - // First, ensure that the root map is locked for reading. (The lock is for the structure of the map, not the values) - rootMapGlobalLock.readLock().lock(); - RootMap map = rootMap.get(); - // Next, do different thing depending on the top level of the map compared to the target position. - if (map.topLevel == pos.detail) { // The target position is at the top level, meaning that we can directly use the root. - // Make the future and node first for the later CAS on null. - CompletableFuture future = new CompletableFuture<>(); - Node newNode = new Node(pos, future); // No parent node as it's the root. - Node cas = map.compareNullAndExchange(pos, newNode); // CAS the node into the map. - rootMapGlobalLock.readLock().unlock(); // We're done with the map, as following code no longer accesses it. - - if (cas == null) { // cas succeeded. Which means no existing overlapping node in same detail level. - // Reason: Since any lower level nodes should have upper level nodes as parent up to the top level, - // and that there are no same level nodes, we can assume that the new node does not overlap any existing nodes. - // Therefore, we can apply the completer function to the new node, and return the future. - completer.apply(pos).whenComplete((r, e) -> { - // See NOTE(*1) above. - CompletableFuture f = newNode.future.get(); - LodUtil.assertTrue(f != null, "Future should not be null"); - if (e != null) { - f.completeExceptionally(e); - } else { - f.complete(r); - } - }); - return future; - } else { // cas failed. Existing overlapping node. - // Run the checkAndMakeFuture method on the existing node to update and get the generation future. - return checkAndMakeFuture(cas, completer); - } - } else if (map.topLevel > pos.detail) { - // We need to traverse down the tree with the following rules during the traversal: - // 1. If the next node is not null and has a future, halt and return that future. - // 2. If the next node is not null with no future, continue traversing down the tree. - // 3. if the next node is null, create a new node and CompareExchange it into the current node, and run rule 1/2. - // Note that DO NOT assume that all subsequent nodes will fall into case 3, as someone else can concurrently - // use and modify the newly created node! - - // To start, just treat the rootMap as the... well, root, and it's content as the children node. - // We can then traverse down the tree until we reach the target node or hit the 1st case and return prematurely. - - // First iteration: - Node currentNode; - DhLodPos childPos = pos.convertUpwardsTo((byte) map.topLevel); - Node childNode = map.setIfNullAndGet( // rule 3: if null, create a new node. - childPos, new Node(childPos, null)); // No parent node as it's the root. - rootMapGlobalLock.readLock().unlock(); // We're done with the map, as following code no longer accesses it. - - CompletableFuture future = childNode.future.get(); - if (future != null) { // rule 1: if future is not null, halt and return the future. - return future; - } else { // rule 2: if future is null, continue traversing down the tree. - currentNode = childNode; - - // Second and subsequent iterations: - while (currentNode.pos.detail > pos.detail) { - childPos = pos.convertUpwardsTo((byte) (currentNode.pos.detail - 1)); - // Note: It is important that child link is set and created before we check the child future, - // so to avoid race conditions with checkAndMakeFuture. - childNode = currentNode.setIfNullAndGet(childPos.getChildIndexOfParent(), - new Node(childPos, null, currentNode)); // rule 3: if null, create a new node. - CompletableFuture childFuture = childNode.future.get(); - if (childFuture != null) { // rule 1: if future is not null, halt and return the future. - return childFuture; - } else { // rule 2: if future is null, continue traversing down the tree. - currentNode = childNode; - } - } - } - // At this point, we have reached the target node. - LodUtil.assertTrue(currentNode.pos.equals(pos)); - // We can now run the checkAndMakeFuture method on the target node to update and get the generation future. - return checkAndMakeFuture(currentNode, completer); // Technically, this will rerun the 1st rule. But code is cleaner this way. - } else { // map.topLevel < pos.detail - // Now, this is the complex case. We need to rebase the tree to the higher detail level. - // For now, this implementation will do a lock based version. However, I will figure out a way to do this without a lock. - - rootMapGlobalLock.readLock().unlock(); - while (map.topLevel < pos.detail) { - map = rebaseUpward(pos.detail); - } - LodUtil.assertTrue(map.topLevel >= pos.detail); - return createOrUseExisting(pos, completer); // After rebasing, we can just call the createOrUseExisting method again. - } - } - - private RootMap rebaseUpward(int targetLevel) { - rootMapGlobalLock.writeLock().lock(); - try { - RootMap map = rootMap.get(); - if (map.topLevel >= targetLevel) { - return map; - } - // At this point, we have exclusive access to the rootMap. - map.clean(); // Clean the map. (Could actually be done with just readLock.) - RootMap newMap = new RootMap<>(map.topLevel + 1); - map.roots.forEach((pos, nodeRef) -> { - Node node = nodeRef.get(); - if (node == null) return; // If null, ignore that node. - LodUtil.assertTrue(pos.detail+1 == newMap.topLevel); - LodUtil.assertTrue(node.parent.get() == null); - LodUtil.assertTrue(node.pos.equals(pos)); - DhLodPos newPos = pos.convertUpwardsTo((byte) (pos.detail+1)); - - // Create the parent node, or if it already exists, use it to set the child node's parent. - // NOTE: While this section is protected by the rootMapGlobalLock, we still need to use the normal - // CAS methods to setAndGet the parent node, as the parent node may be GC'd concurrently by other threads - // who have just completed the node's future, and caused the GC parent chain up to the new map. - Node newParentNode = newMap.setIfNullAndGet(newPos, new Node(newPos, null)); - node.parent.set(newParentNode); - }); - boolean casWorked = rootMap.compareAndSet(map, newMap); - LodUtil.assertTrue(casWorked); - return newMap; - } finally { - rootMapGlobalLock.writeLock().unlock(); - } - } - - public void cleanIfNeeded() { - if (rootMapGlobalLock.readLock().tryLock()) { - rootMap.get().clean(); - rootMapGlobalLock.readLock().unlock(); - } - } -} diff --git a/core/src/main/java/com/seibel/lod/core/a7/util/LazySectionPosTree.java b/core/src/main/java/com/seibel/lod/core/a7/util/LazySectionPosTree.java deleted file mode 100644 index 768173cab..000000000 --- a/core/src/main/java/com/seibel/lod/core/a7/util/LazySectionPosTree.java +++ /dev/null @@ -1,514 +0,0 @@ -package com.seibel.lod.core.a7.util; - -import com.seibel.lod.core.a7.pos.DhLodPos; -import com.seibel.lod.core.util.LodUtil; -import org.apache.commons.lang3.NotImplementedException; -import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; - -import java.util.Collection; -import java.util.Map; -import java.util.Set; -import java.util.concurrent.ConcurrentMap; -import java.util.concurrent.ConcurrentSkipListMap; -import java.util.concurrent.atomic.AtomicInteger; -import java.util.function.BiConsumer; -import java.util.function.BiFunction; -import java.util.function.Function; - -public class LazySectionPosTree implements ConcurrentMap { - class Node implements Entry { - private Node parent; - private int child0to3; - private final DhLodPos pos; - private final AtomicInteger sizeCounter = size; - private T value = null; - private Node child0 = null; - private Node child1 = null; - private Node child2 = null; - private Node child3 = null; - private Node(Node parent, int child0to3, DhLodPos pos) { - this.parent = parent; - this.child0to3 = child0to3; - this.pos = pos; - } - private Node(Node parent, int child0to3, DhLodPos pos, T value) { - this.parent = parent; - this.child0to3 = child0to3; - this.pos = pos; - this.value = value; - } - @Override - public DhLodPos getKey() { - return pos; - } - @Override - public T getValue() { - return value; - } - @Override - public T setValue(T value) { - T old = this.value; - this.value = value; - if (old == null && value != null) { - sizeCounter.incrementAndGet(); - } else if (old != null && value == null) { - sizeCounter.decrementAndGet(); - } - return old; - } - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - Node node = (Node) o; - return pos.equals(node.pos); - } - @Override - public int hashCode() { - return pos.hashCode(); - } - private T setIfAbsent(T value) { - T old = this.value; - if (old == null) { - this.value = value; - sizeCounter.incrementAndGet(); - } - return old; - } - private T computeIfAbsent(@NotNull Function mappingFunction) { - if (value == null) { - value = mappingFunction.apply(pos); - sizeCounter.incrementAndGet(); - } - return value; - } - private T computeIfPresent(@NotNull BiFunction remappingFunction) { - if (value != null) { - T newValue = remappingFunction.apply(pos, value); - if (newValue != null) { - value = newValue; - } else { - sizeCounter.decrementAndGet(); - value = null; - } - } - return value; - } - - - private boolean noChildren() { - return child0 == null && child1 == null && child2 == null && child3 == null; - } - - private Node makeOrGetChild(int child0to3) { - LodUtil.assertTrue(child0to3 >= 0 && child0to3 <= 3); - switch (child0to3) { - case 0: - return child0 == null ? child0 = new Node(this, 0, pos.getChild(0)) : child0; - case 1: - return child1 == null ? child1 = new Node(this, 1, pos.getChild(1)) : child1; - case 2: - return child2 == null ? child2 = new Node(this, 2, pos.getChild(2)) : child2; - case 3: - return child3 == null ? child3 = new Node(this, 3, pos.getChild(3)) : child3; - } - LodUtil.assertNotReach(); - return new Node(null, 0, pos.getChild(0)); // unreachable. Just hack to make contract happy. - } - private Node getChild(int child0to3) { - LodUtil.assertTrue(child0to3 >= 0 && child0to3 <= 3); - switch (child0to3) { - case 0: - return child0; - case 1: - return child1; - case 2: - return child2; - case 3: - return child3; - } - LodUtil.assertNotReach(); - return null; - } - private void removeChild(int child0to3) { - LodUtil.assertTrue(child0to3 >= 0 && child0to3 <= 3); - switch (child0to3) { - case 0: - child0 = null; - break; - case 1: - child1 = null; - break; - case 2: - child2 = null; - break; - case 3: - child3 = null; - break; - } - LodUtil.assertNotReach(); - } - private void setChild(int child0to3, Node child) { - LodUtil.assertTrue(child0to3 >= 0 && child0to3 <= 3); - child.parent = this; - switch (child0to3) { - case 0: - child0 = child; - child.child0to3 = 0; - break; - case 1: - child1 = child; - child.child0to3 = 1; - break; - case 2: - child2 = child; - child.child0to3 = 2; - break; - case 3: - child3 = child; - child.child0to3 = 3; - break; - } - LodUtil.assertNotReach(); - } - } - private ConcurrentSkipListMap nodes = new ConcurrentSkipListMap<>(); - private byte topLevel = 0; - private AtomicInteger size = new AtomicInteger(0); - public LazySectionPosTree() {} - @Override - public int hashCode() { - throw new NotImplementedException(); - } - @Override - public boolean equals(Object obj) { - throw new NotImplementedException(); - } - @Override - protected Object clone() throws CloneNotSupportedException { - throw new NotImplementedException(); - } - @Override - public String toString() { - throw new NotImplementedException(); - } - - @Override - public int size() { - return size.get(); - } - @Override - public boolean isEmpty() { - return size.get() == 0; - } - - private Node travel(Node from, DhLodPos pos) { - if (from == null) return null; - LodUtil.assertTrue(pos != null); - LodUtil.assertTrue(from.pos.detail > pos.detail); - LodUtil.assertTrue(from.pos.overlaps(pos)); - byte iterDetail = from.pos.detail; - while (iterDetail > pos.detail) { - from = from.getChild(pos.convertUpwardsTo(--iterDetail).getChildIndexOfParent()); - if (from == null) return null; - } - LodUtil.assertTrue(from.pos.equals(pos)); - return from; - } - private Node initTravel(Node from, DhLodPos pos) { - LodUtil.assertTrue(from != null); - LodUtil.assertTrue(pos != null); - LodUtil.assertTrue(from.pos.detail > pos.detail); - LodUtil.assertTrue(from.pos.overlaps(pos)); - byte iterDetail = from.pos.detail; - while (iterDetail > pos.detail) - from = from.makeOrGetChild(pos.convertUpwardsTo(--iterDetail).getChildIndexOfParent()); - LodUtil.assertTrue(from.pos.equals(pos)); - return from; - } - - private void upcastTreeBase() { - - } - private byte upcastSingeTreeBase() { - byte nextLevel = (byte) (topLevel + 1); - ConcurrentSkipListMap newBase = new ConcurrentSkipListMap<>(); - nodes.forEach((pos, node) -> - newBase.compute(pos.convertUpwardsTo(nextLevel), (key, old) -> { - if (old == null) { - old = new Node(null, 0, pos.convertUpwardsTo(nextLevel)); - } - old.setChild(pos.getChildIndexOfParent(), node); - return old; - }) - ); - nodes = newBase; // todo: cas operation to here. (Will be block free but not wait free) - topLevel = nextLevel; //todo: atomic??? - return nextLevel; - } - private void downcastTreeBase() { - byte prevLevel = (byte) (topLevel - 1); - ConcurrentSkipListMap newBase = new ConcurrentSkipListMap<>(); - - - } - - - - @Override - public boolean containsKey(Object key) { - DhLodPos pos = (DhLodPos) key; - if (pos.detail > topLevel) return false; - if (pos.detail == topLevel) return nodes.containsKey(pos); - Node node = travel(nodes.get(pos.convertUpwardsTo(topLevel)), pos); - return node != null; - } - - @Override - public boolean containsValue(Object value) { - throw new UnsupportedOperationException("Such operation is not supported in LazySectionPosTree"); - } - - @Override - public T get(Object key) { - DhLodPos pos = (DhLodPos) key; - if (pos.detail > topLevel) return null; - if (pos.detail == topLevel) return nodes.get(pos).value; - Node node = travel(nodes.get(pos.convertUpwardsTo(topLevel)), pos); - return node == null ? null : node.value; - } - - @Override - public T getOrDefault(Object key, T defaultValue) { - T value = get(key); - return value == null ? defaultValue : value; - } - - @Nullable - @Override - public T put(DhLodPos key, T value) { - if (key.detail == topLevel) { - return nodes.computeIfAbsent(key, k -> new Node(null, 0, key, value)).setValue(value); - } - if (key.detail < topLevel) { - Node node = initTravel(nodes.get(key.convertUpwardsTo(topLevel)), key); - return node.setValue(value); - } - // key.detail > topLevel: - // Rebase the tree - //upcastTreeBase(key.detail); - return nodes.computeIfAbsent(key, k -> new Node(null, 0, key, value)).setValue(value); - } - - private void removeNode(Node node) { - if (node.parent != null) { - node.parent.removeChild(node.child0to3); - if (node.parent.noChildren()) { - removeNode(node.parent); - } - } - else nodes.remove(node.pos); - } - - @Override - public T remove(Object key) { - DhLodPos pos = (DhLodPos) key; - if (pos.detail > topLevel) return null; - Node node; - if (pos.detail == topLevel) { - node = nodes.remove(pos); - } else { - node = travel(nodes.get(pos.convertUpwardsTo(topLevel)), pos); - } - if (node == null) return null; - // Pop the value - T value = node.setValue(null); - // Delete the node if there are no children - if (node.noChildren()) { - removeNode(node); - } - return value; - } - - @Override - public boolean remove(@NotNull Object key, Object value) { - DhLodPos pos = (DhLodPos) key; - if (pos.detail > topLevel) return false; - Node node; - if (pos.detail == topLevel) { - node = nodes.get(pos); - } else { - node = travel(nodes.get(pos.convertUpwardsTo(topLevel)), pos); - } - if (node == null) return false; - //TODO: Make this atomic - if (node.value.equals(value)) { - removeNode(node); - return true; - } - return false; - } - - @Override - public boolean replace(@NotNull DhLodPos key, @NotNull T oldValue, @NotNull T newValue) { - if (key.detail > topLevel) return false; - Node node; - if (key.detail == topLevel) { - node = nodes.get(key); - } else { - node = travel(nodes.get(key.convertUpwardsTo(topLevel)), key); - } - if (node == null) return false; - //TODO: Make this atomic - if (node.value.equals(oldValue)) { - node.setValue(newValue); - return true; - } - return false; - } - - @Override - public T replace(@NotNull DhLodPos key, @NotNull T value) { - if (key.detail == topLevel) { - Node n = nodes.get(key); - //TODO: Make this atomic - if (n == null || n.value==null) return null; - return n.setValue(value); - } - if (key.detail < topLevel) { - Node node = travel(nodes.get(key.convertUpwardsTo(topLevel)), key); - //TODO: Make this atomic - if (node == null || node.value==null) return null; - return node.setValue(value); - } - // key.detail > topLevel: Does not exist - return null; - } - - @Nullable - @Override - public T putIfAbsent(@NotNull DhLodPos key, T value) { - if (key.detail == topLevel) { - return nodes.computeIfAbsent(key, k -> new Node(null, 0, key, null)).setIfAbsent(value); - } - if (key.detail < topLevel) { - Node node = initTravel(nodes.get(key.convertUpwardsTo(topLevel)), key); - return node.setIfAbsent(value); - } - // key.detail > topLevel: - // Rebase the tree - //upcastTreeBase(key.detail); - return nodes.computeIfAbsent(key, k -> new Node(null, 0, key, null)).setIfAbsent(value); - - } - - @Override - public T computeIfAbsent(DhLodPos key, @NotNull Function mappingFunction) { - if (key.detail == topLevel) { - return nodes.computeIfAbsent(key, k -> new Node(null, 0, key, null)).computeIfAbsent(mappingFunction); - } - if (key.detail < topLevel) { - Node node = initTravel(nodes.get(key.convertUpwardsTo(topLevel)), key); - return node.computeIfAbsent(mappingFunction); - } - // key.detail > topLevel: - // Rebase the tree - //upcastTreeBase(key.detail); - return nodes.computeIfAbsent(key, k -> new Node(null, 0, key, null)).computeIfAbsent(mappingFunction); - - } - - @Override - public T computeIfPresent(DhLodPos key, @NotNull BiFunction remappingFunction) { - if (key.detail == topLevel) { - Node n = nodes.get(key); - if (n == null) return null; - T r = n.computeIfPresent(remappingFunction); - if (r == null && n.noChildren()) { - nodes.remove(key); - } - return r; - } - if (key.detail < topLevel) { - Node node = travel(nodes.get(key.convertUpwardsTo(topLevel)), key); - if (node == null) return null; - T r = node.computeIfPresent(remappingFunction); - if (r == null && node.noChildren()) { - removeNode(node); - } - } - // key.detail > topLevel: Does not exist - return null; - } - - // TODO: Improve this naive implementation of compute - @Override - public T compute(DhLodPos key, @NotNull BiFunction remappingFunction) { - T r = get(key); - if (r == null) { - r = remappingFunction.apply(key, null); - if (r != null) { - put(key, r); - } - } else { - r = remappingFunction.apply(key, r); - if (r != null) { - put(key, r); - } else { - remove(key); - } - } - return r; - } - - // TODO: Optimize putAll - @Override - public void putAll(@NotNull Map m) { - for (Map.Entry entry : m.entrySet()) { - put(entry.getKey(), entry.getValue()); - } - } - - @Override - public void clear() { - nodes.clear(); - size = new AtomicInteger(0); // Do this to swap the counter obj so old nodes won't mess up the counter - } - - @NotNull - @Override - public Set keySet() { - //TODO - throw new NotImplementedException(); - } - - @NotNull - @Override - public Collection values() { - //TODO - throw new NotImplementedException(); - } - - @NotNull - @Override - public Set> entrySet() { - //TODO - throw new NotImplementedException(); - } - - @Override - public void forEach(BiConsumer action) { - //TODO - throw new NotImplementedException(); - } - - @Override - public void replaceAll(BiFunction function) { - //TODO - throw new NotImplementedException(); - } - - // merge: Use default implementation - //public T merge(DhLodPos key, @NotNull T value, @NotNull BiFunction remappingFunction); -} diff --git a/core/src/main/java/com/seibel/lod/core/api/external/coreImplementations/interfaces/events/ICoreDhApiEvent.java b/core/src/main/java/com/seibel/lod/core/api/external/coreImplementations/interfaces/events/ICoreDhApiEvent.java index a6508b0d2..0280ec631 100644 --- a/core/src/main/java/com/seibel/lod/core/api/external/coreImplementations/interfaces/events/ICoreDhApiEvent.java +++ b/core/src/main/java/com/seibel/lod/core/api/external/coreImplementations/interfaces/events/ICoreDhApiEvent.java @@ -1,6 +1,6 @@ package com.seibel.lod.core.api.external.coreImplementations.interfaces.events; -import com.seibel.lod.core.handlers.dependencyInjection.IBindable; +import com.seibel.lod.core.dependencyInjection.IBindable; /** * A combination of all interfaces required by all diff --git a/core/src/main/java/com/seibel/lod/core/api/external/coreImplementations/interfaces/override/ICoreDhApiOverrideable.java b/core/src/main/java/com/seibel/lod/core/api/external/coreImplementations/interfaces/override/ICoreDhApiOverrideable.java index ba52144d0..b135d7f85 100644 --- a/core/src/main/java/com/seibel/lod/core/api/external/coreImplementations/interfaces/override/ICoreDhApiOverrideable.java +++ b/core/src/main/java/com/seibel/lod/core/api/external/coreImplementations/interfaces/override/ICoreDhApiOverrideable.java @@ -1,7 +1,7 @@ package com.seibel.lod.core.api.external.coreImplementations.interfaces.override; -import com.seibel.lod.core.handlers.dependencyInjection.IBindable; -import com.seibel.lod.core.handlers.dependencyInjection.OverrideInjector; +import com.seibel.lod.core.dependencyInjection.IBindable; +import com.seibel.lod.core.dependencyInjection.OverrideInjector; /** * Implemented by all DhApi objects that can be overridden. diff --git a/core/src/main/java/com/seibel/lod/core/api/external/coreImplementations/objects/events/sharedParameterObjects/CoreDhApiRenderParam.java b/core/src/main/java/com/seibel/lod/core/api/external/coreImplementations/objects/events/sharedParameterObjects/CoreDhApiRenderParam.java index 80114e4cd..0ba4f337b 100644 --- a/core/src/main/java/com/seibel/lod/core/api/external/coreImplementations/objects/events/sharedParameterObjects/CoreDhApiRenderParam.java +++ b/core/src/main/java/com/seibel/lod/core/api/external/coreImplementations/objects/events/sharedParameterObjects/CoreDhApiRenderParam.java @@ -1,6 +1,6 @@ package com.seibel.lod.core.api.external.coreImplementations.objects.events.sharedParameterObjects; -import com.seibel.lod.core.objects.math.Mat4f; +import com.seibel.lod.core.util.math.Mat4f; /** * Parameter passed into Render events. diff --git a/core/src/main/java/com/seibel/lod/core/api/internal/a7/ClientApi.java b/core/src/main/java/com/seibel/lod/core/api/internal/ClientApi.java similarity index 93% rename from core/src/main/java/com/seibel/lod/core/api/internal/a7/ClientApi.java rename to core/src/main/java/com/seibel/lod/core/api/internal/ClientApi.java index b247f44f7..05eb7b578 100644 --- a/core/src/main/java/com/seibel/lod/core/api/internal/a7/ClientApi.java +++ b/core/src/main/java/com/seibel/lod/core/api/internal/ClientApi.java @@ -17,26 +17,28 @@ * along with this program. If not, see . */ -package com.seibel.lod.core.api.internal.a7; +package com.seibel.lod.core.api.internal; -import com.seibel.lod.core.a7.level.IClientLevel; -import com.seibel.lod.core.a7.world.*; +import com.seibel.lod.core.level.IClientLevel; import com.seibel.lod.core.api.external.coreImplementations.objects.events.abstractEvents.*; import com.seibel.lod.core.api.external.coreImplementations.objects.events.sharedParameterObjects.CoreDhApiRenderParam; -import com.seibel.lod.core.api.external.coreImplementations.objects.wrappers.CoreDhApiLevelWrapper; import com.seibel.lod.core.config.Config; import com.seibel.lod.core.ModInfo; import com.seibel.lod.core.enums.rendering.EDebugMode; import com.seibel.lod.core.enums.rendering.ERendererMode; -import com.seibel.lod.core.handlers.dependencyInjection.DhApiEventInjector; -import com.seibel.lod.core.handlers.dependencyInjection.SingletonInjector; +import com.seibel.lod.core.dependencyInjection.DhApiEventInjector; +import com.seibel.lod.core.dependencyInjection.SingletonInjector; import com.seibel.lod.core.logging.ConfigBasedLogger; import com.seibel.lod.core.logging.ConfigBasedSpamLogger; import com.seibel.lod.core.logging.SpamReducedLogger; -import com.seibel.lod.core.objects.math.Mat4f; -import com.seibel.lod.core.render.GLProxy; -import com.seibel.lod.core.render.RenderSystemTest; -import com.seibel.lod.core.render.RenderUtil; +import com.seibel.lod.core.util.math.Mat4f; +import com.seibel.lod.core.render.glObject.GLProxy; +import com.seibel.lod.core.render.renderer.TestRenderer; +import com.seibel.lod.core.util.RenderUtil; +import com.seibel.lod.core.world.DhClientWorld; +import com.seibel.lod.core.world.DhWorld; +import com.seibel.lod.core.world.IClientWorld; +import com.seibel.lod.core.world.WorldEnvironment; import com.seibel.lod.core.wrapperInterfaces.chunk.IChunkWrapper; import com.seibel.lod.core.wrapperInterfaces.minecraft.IMinecraftClientWrapper; import com.seibel.lod.core.wrapperInterfaces.minecraft.IMinecraftRenderWrapper; @@ -64,7 +66,7 @@ public class ClientApi public static boolean prefLoggerEnabled = false; public static final ClientApi INSTANCE = new ClientApi(); - public static RenderSystemTest testRenderer = new RenderSystemTest(); + public static TestRenderer testRenderer = new TestRenderer(); private static final IMinecraftClientWrapper MC = SingletonInjector.INSTANCE.get(IMinecraftClientWrapper.class); private static final IMinecraftRenderWrapper MC_RENDER = SingletonInjector.INSTANCE.get(IMinecraftRenderWrapper.class); diff --git a/core/src/main/java/com/seibel/lod/core/api/internal/a7/ServerApi.java b/core/src/main/java/com/seibel/lod/core/api/internal/ServerApi.java similarity index 93% rename from core/src/main/java/com/seibel/lod/core/api/internal/a7/ServerApi.java rename to core/src/main/java/com/seibel/lod/core/api/internal/ServerApi.java index 08f6895ad..6d50c8c03 100644 --- a/core/src/main/java/com/seibel/lod/core/api/internal/a7/ServerApi.java +++ b/core/src/main/java/com/seibel/lod/core/api/internal/ServerApi.java @@ -17,13 +17,13 @@ * along with this program. If not, see . */ -package com.seibel.lod.core.api.internal.a7; +package com.seibel.lod.core.api.internal; -import com.seibel.lod.core.a7.level.ILevel; -import com.seibel.lod.core.a7.world.DhClientServerWorld; -import com.seibel.lod.core.a7.world.DhServerWorld; -import com.seibel.lod.core.a7.world.IServerWorld; -import com.seibel.lod.core.handlers.dependencyInjection.SingletonInjector; +import com.seibel.lod.core.level.ILevel; +import com.seibel.lod.core.world.DhClientServerWorld; +import com.seibel.lod.core.world.DhServerWorld; +import com.seibel.lod.core.world.IServerWorld; +import com.seibel.lod.core.dependencyInjection.SingletonInjector; import com.seibel.lod.core.logging.DhLoggerBuilder; import com.seibel.lod.core.wrapperInterfaces.IVersionConstants; import com.seibel.lod.core.wrapperInterfaces.chunk.IChunkWrapper; diff --git a/core/src/main/java/com/seibel/lod/core/api/internal/a7/SharedApi.java b/core/src/main/java/com/seibel/lod/core/api/internal/SharedApi.java similarity index 56% rename from core/src/main/java/com/seibel/lod/core/api/internal/a7/SharedApi.java rename to core/src/main/java/com/seibel/lod/core/api/internal/SharedApi.java index 904f8fe5d..dadce5712 100644 --- a/core/src/main/java/com/seibel/lod/core/api/internal/a7/SharedApi.java +++ b/core/src/main/java/com/seibel/lod/core/api/internal/SharedApi.java @@ -1,11 +1,9 @@ -package com.seibel.lod.core.api.internal.a7; +package com.seibel.lod.core.api.internal; -import com.seibel.lod.core.a7.Initializer; -import com.seibel.lod.core.a7.world.WorldEnvironment; -import com.seibel.lod.core.logging.DhLoggerBuilder; -import com.seibel.lod.core.a7.world.DhWorld; +import com.seibel.lod.core.Initializer; +import com.seibel.lod.core.world.WorldEnvironment; +import com.seibel.lod.core.world.DhWorld; import com.seibel.lod.core.wrapperInterfaces.minecraft.IMinecraftSharedWrapper; -import org.apache.logging.log4j.Logger; public class SharedApi { diff --git a/core/src/main/java/com/seibel/lod/core/config/file/ConfigFileHandling.java b/core/src/main/java/com/seibel/lod/core/config/file/ConfigFileHandling.java index 1c08e2594..b56f4816d 100644 --- a/core/src/main/java/com/seibel/lod/core/config/file/ConfigFileHandling.java +++ b/core/src/main/java/com/seibel/lod/core/config/file/ConfigFileHandling.java @@ -1,18 +1,13 @@ package com.seibel.lod.core.config.file; import com.electronwill.nightconfig.core.file.CommentedFileConfig; -import com.seibel.lod.core.ModInfo; import com.seibel.lod.core.config.ConfigBase; import com.seibel.lod.core.config.types.AbstractConfigType; import com.seibel.lod.core.config.types.ConfigEntry; -import com.seibel.lod.core.handlers.dependencyInjection.SingletonInjector; +import com.seibel.lod.core.dependencyInjection.SingletonInjector; import com.seibel.lod.core.wrapperInterfaces.minecraft.IMinecraftClientWrapper; import com.seibel.lod.core.wrapperInterfaces.minecraft.IMinecraftSharedWrapper; -import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import org.json.simple.JSONObject; -import org.json.simple.parser.JSONParser; -import org.json.simple.parser.ParseException; import java.io.IOException; import java.nio.file.Files; diff --git a/core/src/main/java/com/seibel/lod/core/config/gui/ConfigScreen.java b/core/src/main/java/com/seibel/lod/core/config/gui/ConfigScreen.java index 3aaa1e6bf..ec7aa645b 100644 --- a/core/src/main/java/com/seibel/lod/core/config/gui/ConfigScreen.java +++ b/core/src/main/java/com/seibel/lod/core/config/gui/ConfigScreen.java @@ -1,11 +1,11 @@ package com.seibel.lod.core.config.gui; import com.seibel.lod.core.enums.config.EGpuUploadMethod; -import com.seibel.lod.core.render.GLProxy; -import com.seibel.lod.core.render.objects.GLState; -import com.seibel.lod.core.render.objects.GLVertexBuffer; -import com.seibel.lod.core.render.objects.ShaderProgram; -import com.seibel.lod.core.render.objects.VertexAttribute; +import com.seibel.lod.core.render.glObject.GLProxy; +import com.seibel.lod.core.render.glObject.GLState; +import com.seibel.lod.core.render.glObject.buffer.GLVertexBuffer; +import com.seibel.lod.core.render.glObject.shader.ShaderProgram; +import com.seibel.lod.core.render.glObject.vertexAttribute.VertexAttribute; import org.lwjgl.opengl.GL32; import java.nio.ByteBuffer; diff --git a/core/src/main/java/com/seibel/lod/core/a7/datatype/DataSourceLoader.java b/core/src/main/java/com/seibel/lod/core/datatype/DataSourceLoader.java similarity index 94% rename from core/src/main/java/com/seibel/lod/core/a7/datatype/DataSourceLoader.java rename to core/src/main/java/com/seibel/lod/core/datatype/DataSourceLoader.java index 0624d9ce5..9f1bc8b80 100644 --- a/core/src/main/java/com/seibel/lod/core/a7/datatype/DataSourceLoader.java +++ b/core/src/main/java/com/seibel/lod/core/datatype/DataSourceLoader.java @@ -1,8 +1,8 @@ -package com.seibel.lod.core.a7.datatype; +package com.seibel.lod.core.datatype; import com.google.common.collect.HashMultimap; -import com.seibel.lod.core.a7.level.ILevel; -import com.seibel.lod.core.a7.save.io.file.DataMetaFile; +import com.seibel.lod.core.level.ILevel; +import com.seibel.lod.core.io.datafile.DataMetaFile; import java.io.IOException; import java.io.InputStream; diff --git a/core/src/main/java/com/seibel/lod/core/a7/datatype/LodDataSource.java b/core/src/main/java/com/seibel/lod/core/datatype/LodDataSource.java similarity index 57% rename from core/src/main/java/com/seibel/lod/core/a7/datatype/LodDataSource.java rename to core/src/main/java/com/seibel/lod/core/datatype/LodDataSource.java index ca202f0e0..3c5cfd4f4 100644 --- a/core/src/main/java/com/seibel/lod/core/a7/datatype/LodDataSource.java +++ b/core/src/main/java/com/seibel/lod/core/datatype/LodDataSource.java @@ -1,9 +1,9 @@ -package com.seibel.lod.core.a7.datatype; +package com.seibel.lod.core.datatype; -import com.seibel.lod.core.a7.datatype.full.ChunkSizedData; -import com.seibel.lod.core.a7.level.ILevel; -import com.seibel.lod.core.a7.pos.DhSectionPos; -import com.seibel.lod.core.a7.save.io.file.DataMetaFile; +import com.seibel.lod.core.datatype.full.ChunkSizedData; +import com.seibel.lod.core.level.ILevel; +import com.seibel.lod.core.pos.DhSectionPos; +import com.seibel.lod.core.io.datafile.DataMetaFile; import java.io.IOException; import java.io.OutputStream; diff --git a/core/src/main/java/com/seibel/lod/core/a7/datatype/LodRenderSource.java b/core/src/main/java/com/seibel/lod/core/datatype/LodRenderSource.java similarity index 79% rename from core/src/main/java/com/seibel/lod/core/a7/datatype/LodRenderSource.java rename to core/src/main/java/com/seibel/lod/core/datatype/LodRenderSource.java index c0c6df329..040e96e3f 100644 --- a/core/src/main/java/com/seibel/lod/core/a7/datatype/LodRenderSource.java +++ b/core/src/main/java/com/seibel/lod/core/datatype/LodRenderSource.java @@ -1,12 +1,11 @@ -package com.seibel.lod.core.a7.datatype; +package com.seibel.lod.core.datatype; -import com.seibel.lod.core.a7.datatype.full.ChunkSizedData; -import com.seibel.lod.core.a7.level.IClientLevel; -import com.seibel.lod.core.a7.level.ILevel; -import com.seibel.lod.core.a7.pos.DhSectionPos; -import com.seibel.lod.core.a7.render.LodQuadTree; -import com.seibel.lod.core.a7.render.RenderBuffer; -import com.seibel.lod.core.a7.save.io.render.RenderMetaFile; +import com.seibel.lod.core.datatype.full.ChunkSizedData; +import com.seibel.lod.core.level.IClientLevel; +import com.seibel.lod.core.pos.DhSectionPos; +import com.seibel.lod.core.render.LodQuadTree; +import com.seibel.lod.core.render.RenderBuffer; +import com.seibel.lod.core.io.renderfile.RenderMetaFile; import java.io.IOException; import java.io.OutputStream; diff --git a/core/src/main/java/com/seibel/lod/core/a7/datatype/PlaceHolderRenderSource.java b/core/src/main/java/com/seibel/lod/core/datatype/PlaceHolderRenderSource.java similarity index 81% rename from core/src/main/java/com/seibel/lod/core/a7/datatype/PlaceHolderRenderSource.java rename to core/src/main/java/com/seibel/lod/core/datatype/PlaceHolderRenderSource.java index 9e749d6fd..7ac6f5bd9 100644 --- a/core/src/main/java/com/seibel/lod/core/a7/datatype/PlaceHolderRenderSource.java +++ b/core/src/main/java/com/seibel/lod/core/datatype/PlaceHolderRenderSource.java @@ -1,11 +1,11 @@ -package com.seibel.lod.core.a7.datatype; +package com.seibel.lod.core.datatype; -import com.seibel.lod.core.a7.datatype.full.ChunkSizedData; -import com.seibel.lod.core.a7.level.IClientLevel; -import com.seibel.lod.core.a7.pos.DhSectionPos; -import com.seibel.lod.core.a7.render.LodQuadTree; -import com.seibel.lod.core.a7.render.RenderBuffer; -import com.seibel.lod.core.a7.save.io.render.RenderMetaFile; +import com.seibel.lod.core.datatype.full.ChunkSizedData; +import com.seibel.lod.core.level.IClientLevel; +import com.seibel.lod.core.pos.DhSectionPos; +import com.seibel.lod.core.render.LodQuadTree; +import com.seibel.lod.core.render.RenderBuffer; +import com.seibel.lod.core.io.renderfile.RenderMetaFile; import java.io.IOException; import java.io.OutputStream; diff --git a/core/src/main/java/com/seibel/lod/core/a7/datatype/RenderSourceLoader.java b/core/src/main/java/com/seibel/lod/core/datatype/RenderSourceLoader.java similarity index 93% rename from core/src/main/java/com/seibel/lod/core/a7/datatype/RenderSourceLoader.java rename to core/src/main/java/com/seibel/lod/core/datatype/RenderSourceLoader.java index a68ab8a35..7173beda2 100644 --- a/core/src/main/java/com/seibel/lod/core/a7/datatype/RenderSourceLoader.java +++ b/core/src/main/java/com/seibel/lod/core/datatype/RenderSourceLoader.java @@ -1,9 +1,9 @@ -package com.seibel.lod.core.a7.datatype; +package com.seibel.lod.core.datatype; import com.google.common.collect.HashMultimap; -import com.seibel.lod.core.a7.level.IClientLevel; -import com.seibel.lod.core.a7.level.ILevel; -import com.seibel.lod.core.a7.save.io.render.RenderMetaFile; +import com.seibel.lod.core.level.IClientLevel; +import com.seibel.lod.core.level.ILevel; +import com.seibel.lod.core.io.renderfile.RenderMetaFile; import java.io.IOException; import java.io.InputStream; diff --git a/core/src/main/java/com/seibel/lod/core/a7/datatype/column/ColumnRenderLoader.java b/core/src/main/java/com/seibel/lod/core/datatype/column/ColumnRenderLoader.java similarity index 68% rename from core/src/main/java/com/seibel/lod/core/a7/datatype/column/ColumnRenderLoader.java rename to core/src/main/java/com/seibel/lod/core/datatype/column/ColumnRenderLoader.java index aa3c4e17b..8f104f559 100644 --- a/core/src/main/java/com/seibel/lod/core/a7/datatype/column/ColumnRenderLoader.java +++ b/core/src/main/java/com/seibel/lod/core/datatype/column/ColumnRenderLoader.java @@ -1,14 +1,14 @@ -package com.seibel.lod.core.a7.datatype.column; +package com.seibel.lod.core.datatype.column; -import com.seibel.lod.core.a7.datatype.LodDataSource; -import com.seibel.lod.core.a7.datatype.full.FullDataSource; -import com.seibel.lod.core.a7.datatype.full.SparseDataSource; -import com.seibel.lod.core.a7.datatype.transform.FullToColumnTransformer; -import com.seibel.lod.core.a7.level.IClientLevel; -import com.seibel.lod.core.a7.datatype.LodRenderSource; -import com.seibel.lod.core.a7.datatype.RenderSourceLoader; -import com.seibel.lod.core.a7.level.ILevel; -import com.seibel.lod.core.a7.save.io.render.RenderMetaFile; +import com.seibel.lod.core.datatype.LodDataSource; +import com.seibel.lod.core.datatype.full.FullDataSource; +import com.seibel.lod.core.datatype.full.SparseDataSource; +import com.seibel.lod.core.datatype.transform.FullToColumnTransformer; +import com.seibel.lod.core.level.IClientLevel; +import com.seibel.lod.core.datatype.LodRenderSource; +import com.seibel.lod.core.datatype.RenderSourceLoader; +import com.seibel.lod.core.level.ILevel; +import com.seibel.lod.core.io.renderfile.RenderMetaFile; import com.seibel.lod.core.util.LodUtil; import java.io.DataInputStream; diff --git a/core/src/main/java/com/seibel/lod/core/a7/datatype/column/ColumnRenderSource.java b/core/src/main/java/com/seibel/lod/core/datatype/column/ColumnRenderSource.java similarity index 94% rename from core/src/main/java/com/seibel/lod/core/a7/datatype/column/ColumnRenderSource.java rename to core/src/main/java/com/seibel/lod/core/datatype/column/ColumnRenderSource.java index 91ab87076..29bf6d5bb 100644 --- a/core/src/main/java/com/seibel/lod/core/a7/datatype/column/ColumnRenderSource.java +++ b/core/src/main/java/com/seibel/lod/core/datatype/column/ColumnRenderSource.java @@ -1,21 +1,21 @@ -package com.seibel.lod.core.a7.datatype.column; +package com.seibel.lod.core.datatype.column; -import com.seibel.lod.core.a7.datatype.column.accessor.*; -import com.seibel.lod.core.a7.datatype.column.render.ColumnRenderBuffer; -import com.seibel.lod.core.a7.datatype.full.ChunkSizedData; -import com.seibel.lod.core.a7.datatype.transform.FullToColumnTransformer; -import com.seibel.lod.core.a7.level.IClientLevel; -import com.seibel.lod.core.a7.pos.DhSectionPos; -import com.seibel.lod.core.a7.render.RenderBuffer; -import com.seibel.lod.core.a7.render.a7LodRenderer; -import com.seibel.lod.core.a7.save.io.render.RenderMetaFile; +import com.seibel.lod.core.datatype.column.accessor.*; +import com.seibel.lod.core.datatype.column.render.ColumnRenderBuffer; +import com.seibel.lod.core.datatype.full.ChunkSizedData; +import com.seibel.lod.core.datatype.transform.FullToColumnTransformer; +import com.seibel.lod.core.level.IClientLevel; +import com.seibel.lod.core.pos.DhSectionPos; +import com.seibel.lod.core.render.RenderBuffer; +import com.seibel.lod.core.render.renderer.LodRenderer; +import com.seibel.lod.core.io.renderfile.RenderMetaFile; import com.seibel.lod.core.enums.ELodDirection; import com.seibel.lod.core.logging.DhLoggerBuilder; -import com.seibel.lod.core.a7.level.ILevel; -import com.seibel.lod.core.a7.render.LodQuadTree; -import com.seibel.lod.core.a7.render.LodRenderSection; -import com.seibel.lod.core.a7.datatype.LodRenderSource; -import com.seibel.lod.core.util.Reference; +import com.seibel.lod.core.level.ILevel; +import com.seibel.lod.core.render.LodQuadTree; +import com.seibel.lod.core.render.LodRenderSection; +import com.seibel.lod.core.datatype.LodRenderSource; +import com.seibel.lod.core.util.objects.Reference; import com.seibel.lod.core.util.LodUtil; import org.apache.logging.log4j.Logger; @@ -339,10 +339,10 @@ public class ColumnRenderSource implements LodRenderSource, IColumnDatatype { LodUtil.assertTrue(swapped == null); } - if(a7LodRenderer.transparencyEnabled) { + if(LodRenderer.transparencyEnabled) { RenderBuffer oldBuffersTransparent = referenceSlotsTransparent.getAndSet(newBuffers[1]); - if (a7LodRenderer.transparencyEnabled) { + if (LodRenderer.transparencyEnabled) { if (oldBuffersTransparent instanceof ColumnRenderBuffer) { swapped = usedBufferTransparent.swap((ColumnRenderBuffer) oldBuffersTransparent); LodUtil.assertTrue(swapped == null); diff --git a/core/src/main/java/com/seibel/lod/core/a7/datatype/column/accessor/ColumnArrayView.java b/core/src/main/java/com/seibel/lod/core/datatype/column/accessor/ColumnArrayView.java similarity index 98% rename from core/src/main/java/com/seibel/lod/core/a7/datatype/column/accessor/ColumnArrayView.java rename to core/src/main/java/com/seibel/lod/core/datatype/column/accessor/ColumnArrayView.java index a05d95051..1041af13c 100644 --- a/core/src/main/java/com/seibel/lod/core/a7/datatype/column/accessor/ColumnArrayView.java +++ b/core/src/main/java/com/seibel/lod/core/datatype/column/accessor/ColumnArrayView.java @@ -1,4 +1,4 @@ -package com.seibel.lod.core.a7.datatype.column.accessor; +package com.seibel.lod.core.datatype.column.accessor; import java.util.Arrays; diff --git a/core/src/main/java/com/seibel/lod/core/a7/datatype/column/accessor/ColumnFormat.java b/core/src/main/java/com/seibel/lod/core/datatype/column/accessor/ColumnFormat.java similarity index 99% rename from core/src/main/java/com/seibel/lod/core/a7/datatype/column/accessor/ColumnFormat.java rename to core/src/main/java/com/seibel/lod/core/datatype/column/accessor/ColumnFormat.java index 8897bcd43..c7b9fbea0 100644 --- a/core/src/main/java/com/seibel/lod/core/a7/datatype/column/accessor/ColumnFormat.java +++ b/core/src/main/java/com/seibel/lod/core/datatype/column/accessor/ColumnFormat.java @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -package com.seibel.lod.core.a7.datatype.column.accessor; +package com.seibel.lod.core.datatype.column.accessor; import com.seibel.lod.core.logging.SpamReducedLogger; import com.seibel.lod.core.util.ColorUtil; diff --git a/core/src/main/java/com/seibel/lod/core/a7/datatype/column/accessor/ColumnQuadView.java b/core/src/main/java/com/seibel/lod/core/datatype/column/accessor/ColumnQuadView.java similarity index 98% rename from core/src/main/java/com/seibel/lod/core/a7/datatype/column/accessor/ColumnQuadView.java rename to core/src/main/java/com/seibel/lod/core/datatype/column/accessor/ColumnQuadView.java index e48654329..7270b7079 100644 --- a/core/src/main/java/com/seibel/lod/core/a7/datatype/column/accessor/ColumnQuadView.java +++ b/core/src/main/java/com/seibel/lod/core/datatype/column/accessor/ColumnQuadView.java @@ -1,4 +1,4 @@ -package com.seibel.lod.core.a7.datatype.column.accessor; +package com.seibel.lod.core.datatype.column.accessor; public class ColumnQuadView implements IColumnDataView { private final long[] data; diff --git a/core/src/main/java/com/seibel/lod/core/a7/datatype/column/accessor/IColumnDataView.java b/core/src/main/java/com/seibel/lod/core/datatype/column/accessor/IColumnDataView.java similarity index 92% rename from core/src/main/java/com/seibel/lod/core/a7/datatype/column/accessor/IColumnDataView.java rename to core/src/main/java/com/seibel/lod/core/datatype/column/accessor/IColumnDataView.java index a1b3650e6..c9d771bdc 100644 --- a/core/src/main/java/com/seibel/lod/core/a7/datatype/column/accessor/IColumnDataView.java +++ b/core/src/main/java/com/seibel/lod/core/datatype/column/accessor/IColumnDataView.java @@ -1,4 +1,4 @@ -package com.seibel.lod.core.a7.datatype.column.accessor; +package com.seibel.lod.core.datatype.column.accessor; import java.util.Iterator; diff --git a/core/src/main/java/com/seibel/lod/core/a7/datatype/column/accessor/IColumnDatatype.java b/core/src/main/java/com/seibel/lod/core/datatype/column/accessor/IColumnDatatype.java similarity index 95% rename from core/src/main/java/com/seibel/lod/core/a7/datatype/column/accessor/IColumnDatatype.java rename to core/src/main/java/com/seibel/lod/core/datatype/column/accessor/IColumnDatatype.java index 0004e1e35..98bf3dfb9 100644 --- a/core/src/main/java/com/seibel/lod/core/a7/datatype/column/accessor/IColumnDatatype.java +++ b/core/src/main/java/com/seibel/lod/core/datatype/column/accessor/IColumnDatatype.java @@ -1,4 +1,4 @@ -package com.seibel.lod.core.a7.datatype.column.accessor; +package com.seibel.lod.core.datatype.column.accessor; public interface IColumnDatatype { byte getDetailOffset(); diff --git a/core/src/main/java/com/seibel/lod/core/builders/lodBuilding/bufferBuilding/BufferMergeDirectionEnum.java b/core/src/main/java/com/seibel/lod/core/datatype/column/render/BufferMergeDirectionEnum.java similarity index 94% rename from core/src/main/java/com/seibel/lod/core/builders/lodBuilding/bufferBuilding/BufferMergeDirectionEnum.java rename to core/src/main/java/com/seibel/lod/core/datatype/column/render/BufferMergeDirectionEnum.java index 0d4dd13d8..5359cab08 100644 --- a/core/src/main/java/com/seibel/lod/core/builders/lodBuilding/bufferBuilding/BufferMergeDirectionEnum.java +++ b/core/src/main/java/com/seibel/lod/core/datatype/column/render/BufferMergeDirectionEnum.java @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -package com.seibel.lod.core.builders.lodBuilding.bufferBuilding; +package com.seibel.lod.core.datatype.column.render; /** * EastWest
diff --git a/core/src/main/java/com/seibel/lod/core/builders/lodBuilding/bufferBuilding/BufferQuad.java b/core/src/main/java/com/seibel/lod/core/datatype/column/render/BufferQuad.java similarity index 99% rename from core/src/main/java/com/seibel/lod/core/builders/lodBuilding/bufferBuilding/BufferQuad.java rename to core/src/main/java/com/seibel/lod/core/datatype/column/render/BufferQuad.java index fd0008267..1669809c9 100644 --- a/core/src/main/java/com/seibel/lod/core/builders/lodBuilding/bufferBuilding/BufferQuad.java +++ b/core/src/main/java/com/seibel/lod/core/datatype/column/render/BufferQuad.java @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -package com.seibel.lod.core.builders.lodBuilding.bufferBuilding; +package com.seibel.lod.core.datatype.column.render; import com.seibel.lod.core.enums.ELodDirection; diff --git a/core/src/main/java/com/seibel/lod/core/a7/datatype/column/render/ColumnBox.java b/core/src/main/java/com/seibel/lod/core/datatype/column/render/ColumnBox.java similarity index 92% rename from core/src/main/java/com/seibel/lod/core/a7/datatype/column/render/ColumnBox.java rename to core/src/main/java/com/seibel/lod/core/datatype/column/render/ColumnBox.java index e1da28c8a..f23f7e5b5 100644 --- a/core/src/main/java/com/seibel/lod/core/a7/datatype/column/render/ColumnBox.java +++ b/core/src/main/java/com/seibel/lod/core/datatype/column/render/ColumnBox.java @@ -17,14 +17,13 @@ * along with this program. If not, see . */ -package com.seibel.lod.core.a7.datatype.column.render; +package com.seibel.lod.core.datatype.column.render; -import com.seibel.lod.core.a7.datatype.column.accessor.ColumnArrayView; -import com.seibel.lod.core.a7.datatype.column.accessor.ColumnFormat; -import com.seibel.lod.core.a7.render.a7LodRenderer; -import com.seibel.lod.core.builders.lodBuilding.bufferBuilding.LodQuadBuilder; +import com.seibel.lod.core.datatype.column.accessor.ColumnArrayView; +import com.seibel.lod.core.datatype.column.accessor.ColumnFormat; +import com.seibel.lod.core.render.renderer.LodRenderer; import com.seibel.lod.core.enums.ELodDirection; -import com.seibel.lod.core.handlers.dependencyInjection.SingletonInjector; +import com.seibel.lod.core.dependencyInjection.SingletonInjector; import com.seibel.lod.core.util.ColorUtil; import com.seibel.lod.core.util.LodUtil; import com.seibel.lod.core.wrapperInterfaces.minecraft.IMinecraftClientWrapper; @@ -42,9 +41,9 @@ public class ColumnBox byte skyLightTop = skyLight; byte skyLightBot = ColumnFormat.doesItExist(botData) ? ColumnFormat.getLightSky(botData) : 0; - boolean isTransparent = ColorUtil.getAlpha(color)<255 && a7LodRenderer.transparencyEnabled; - boolean isTopTransparent = ColumnFormat.getAlpha(topData)<255 && a7LodRenderer.transparencyEnabled; - boolean isBotTransparent = ColumnFormat.getAlpha(botData)<255 && a7LodRenderer.transparencyEnabled; + boolean isTransparent = ColorUtil.getAlpha(color)<255 && LodRenderer.transparencyEnabled; + boolean isTopTransparent = ColumnFormat.getAlpha(topData)<255 && LodRenderer.transparencyEnabled; + boolean isBotTransparent = ColumnFormat.getAlpha(botData)<255 && LodRenderer.transparencyEnabled; // Up direction case @@ -53,7 +52,7 @@ public class ColumnBox boolean skipTop = ColumnFormat.doesItExist(topData) && (ColumnFormat.getDepth(topData) == maxY) && !isTopTransparent; boolean skipBot = ColumnFormat.doesItExist(botData) && (ColumnFormat.getHeight(botData) == y) && !isBotTransparent; - if(a7LodRenderer.transparencyEnabled && a7LodRenderer.fakeOceanFloor) { + if(LodRenderer.transparencyEnabled && LodRenderer.fakeOceanFloor) { if (!isTransparent && isTopTransparent && ColumnFormat.doesItExist(topData)) { skyLightTop = (byte) LodUtil.clamp(0, 15 - (ColumnFormat.getHeight(topData) - y), 15); ySize = (short) (ColumnFormat.getHeight(topData) - y - 1); @@ -181,23 +180,23 @@ public class ColumnBox boolean allAbove = true; short previousDepth = -1; byte nextSkyLight = upSkyLight; - boolean isTransparent = ColorUtil.getAlpha(color) < 255 && a7LodRenderer.transparencyEnabled; + boolean isTransparent = ColorUtil.getAlpha(color) < 255 && LodRenderer.transparencyEnabled; boolean lastWasTransparent = false; for (i = 0; i < dataPoint.size() && ColumnFormat.doesItExist(adjData.get(i)) && !ColumnFormat.isVoid(adjData.get(i)); i++) { long adjPoint = adjData.get(i); - boolean isAdjTransparent = ColumnFormat.getAlpha(adjPoint) < 255 && a7LodRenderer.transparencyEnabled; + boolean isAdjTransparent = ColumnFormat.getAlpha(adjPoint) < 255 && LodRenderer.transparencyEnabled; - if (!isTransparent && isAdjTransparent && a7LodRenderer.transparencyEnabled) + if (!isTransparent && isAdjTransparent && LodRenderer.transparencyEnabled) continue; short height = ColumnFormat.getHeight(adjPoint); short depth = ColumnFormat.getDepth(adjPoint); - if(a7LodRenderer.transparencyEnabled && a7LodRenderer.fakeOceanFloor) + if(LodRenderer.transparencyEnabled && LodRenderer.fakeOceanFloor) { if(lastWasTransparent && !isAdjTransparent) diff --git a/core/src/main/java/com/seibel/lod/core/a7/datatype/column/render/ColumnRenderBuffer.java b/core/src/main/java/com/seibel/lod/core/datatype/column/render/ColumnRenderBuffer.java similarity index 93% rename from core/src/main/java/com/seibel/lod/core/a7/datatype/column/render/ColumnRenderBuffer.java rename to core/src/main/java/com/seibel/lod/core/datatype/column/render/ColumnRenderBuffer.java index 0881d11d3..c73406962 100644 --- a/core/src/main/java/com/seibel/lod/core/a7/datatype/column/render/ColumnRenderBuffer.java +++ b/core/src/main/java/com/seibel/lod/core/datatype/column/render/ColumnRenderBuffer.java @@ -1,25 +1,25 @@ -package com.seibel.lod.core.a7.datatype.column.render; +package com.seibel.lod.core.datatype.column.render; -import com.seibel.lod.core.a7.datatype.column.ColumnRenderSource; -import com.seibel.lod.core.a7.datatype.column.accessor.ColumnArrayView; -import com.seibel.lod.core.a7.datatype.column.accessor.ColumnFormat; -import com.seibel.lod.core.a7.level.IClientLevel; -import com.seibel.lod.core.a7.render.a7LodRenderer; -import com.seibel.lod.core.a7.util.UncheckedInterruptedException; -import com.seibel.lod.core.a7.render.RenderBuffer; +import com.seibel.lod.core.datatype.column.ColumnRenderSource; +import com.seibel.lod.core.datatype.column.accessor.ColumnArrayView; +import com.seibel.lod.core.datatype.column.accessor.ColumnFormat; +import com.seibel.lod.core.level.IClientLevel; +import com.seibel.lod.core.render.renderer.LodRenderer; +import com.seibel.lod.core.util.objects.UncheckedInterruptedException; +import com.seibel.lod.core.render.RenderBuffer; import com.seibel.lod.core.config.Config; -import com.seibel.lod.core.builders.lodBuilding.bufferBuilding.CubicLodTemplate; -import com.seibel.lod.core.builders.lodBuilding.bufferBuilding.LodQuadBuilder; import com.seibel.lod.core.enums.ELodDirection; import com.seibel.lod.core.enums.config.EGpuUploadMethod; import com.seibel.lod.core.enums.rendering.EDebugMode; import com.seibel.lod.core.enums.rendering.EGLProxyContext; import com.seibel.lod.core.logging.ConfigBasedLogger; import com.seibel.lod.core.logging.DhLoggerBuilder; -import com.seibel.lod.core.objects.DHBlockPos; -import com.seibel.lod.core.render.GLProxy; -import com.seibel.lod.core.render.objects.GLVertexBuffer; +import com.seibel.lod.core.pos.DhBlockPos; +import com.seibel.lod.core.render.glObject.GLProxy; +import com.seibel.lod.core.render.glObject.buffer.GLVertexBuffer; import com.seibel.lod.core.util.*; +import com.seibel.lod.core.util.objects.Reference; +import com.seibel.lod.core.util.objects.StatsMap; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -28,7 +28,7 @@ import java.nio.ByteBuffer; import java.util.Iterator; import java.util.concurrent.*; -import static com.seibel.lod.core.render.GLProxy.GL_LOGGER; +import static com.seibel.lod.core.render.glObject.GLProxy.GL_LOGGER; public class ColumnRenderBuffer extends RenderBuffer { @@ -42,9 +42,9 @@ public class ColumnRenderBuffer extends RenderBuffer { private static final Logger LOGGER = DhLoggerBuilder.getLogger(MethodHandles.lookup().lookupClass().getSimpleName()); private static final long MAX_BUFFER_UPLOAD_TIMEOUT_NANOSECONDS = 1_000_000; GLVertexBuffer[] vbos; - public final DHBlockPos pos; + public final DhBlockPos pos; - public ColumnRenderBuffer(DHBlockPos pos) { + public ColumnRenderBuffer(DhBlockPos pos) { this.pos = pos; vbos = new GLVertexBuffer[0]; } @@ -135,7 +135,7 @@ public class ColumnRenderBuffer extends RenderBuffer { } @Override - public boolean render(a7LodRenderer renderContext) { + public boolean render(LodRenderer renderContext) { boolean hasRendered = false; renderContext.setupOffset(pos); for (GLVertexBuffer vbo : vbos) { @@ -232,11 +232,11 @@ public class ColumnRenderBuffer extends RenderBuffer { if (buffersSlotOpaque == null) buffersSlotOpaque = new ColumnRenderBuffer( - new DHBlockPos(data.sectionPos.getCorner().getCorner(), clientLevel.getMinY()) + new DhBlockPos(data.sectionPos.getCorner().getCorner(), clientLevel.getMinY()) ); if (buffersSlotTransparent == null) buffersSlotTransparent = new ColumnRenderBuffer( - new DHBlockPos(data.sectionPos.getCorner().getCorner(), clientLevel.getMinY()) + new DhBlockPos(data.sectionPos.getCorner().getCorner(), clientLevel.getMinY()) ); try { buffersSlotOpaque.uploadBuffer(builders[0], method); @@ -374,7 +374,7 @@ public class ColumnRenderBuffer extends RenderBuffer { // We send the call to create the vertices - if(ColumnFormat.getAlpha(data) == 255 || !a7LodRenderer.transparencyEnabled) + if(ColumnFormat.getAlpha(data) == 255 || !LodRenderer.transparencyEnabled) { CubicLodTemplate.addLodToBuffer(data, adjDataTop, adjDataBot, adjData, detailLevel, x, z, quadBuilderOpaque, debugMode); @@ -388,7 +388,7 @@ public class ColumnRenderBuffer extends RenderBuffer { } } quadBuilderOpaque.mergeQuads(); - if(a7LodRenderer.transparencyEnabled) + if(LodRenderer.transparencyEnabled) quadBuilderTransparent.mergeQuads(); } } diff --git a/core/src/main/java/com/seibel/lod/core/builders/lodBuilding/bufferBuilding/CubicLodTemplate.java b/core/src/main/java/com/seibel/lod/core/datatype/column/render/CubicLodTemplate.java similarity index 91% rename from core/src/main/java/com/seibel/lod/core/builders/lodBuilding/bufferBuilding/CubicLodTemplate.java rename to core/src/main/java/com/seibel/lod/core/datatype/column/render/CubicLodTemplate.java index ad72b8edd..35a61056e 100644 --- a/core/src/main/java/com/seibel/lod/core/builders/lodBuilding/bufferBuilding/CubicLodTemplate.java +++ b/core/src/main/java/com/seibel/lod/core/datatype/column/render/CubicLodTemplate.java @@ -17,13 +17,12 @@ * along with this program. If not, see . */ -package com.seibel.lod.core.builders.lodBuilding.bufferBuilding; +package com.seibel.lod.core.datatype.column.render; -import com.seibel.lod.core.a7.datatype.column.accessor.ColumnFormat; +import com.seibel.lod.core.datatype.column.accessor.ColumnFormat; import com.seibel.lod.core.enums.rendering.EDebugMode; -import com.seibel.lod.core.handlers.dependencyInjection.SingletonInjector; -import com.seibel.lod.core.a7.datatype.column.accessor.ColumnArrayView; -import com.seibel.lod.core.a7.datatype.column.render.ColumnBox; +import com.seibel.lod.core.dependencyInjection.SingletonInjector; +import com.seibel.lod.core.datatype.column.accessor.ColumnArrayView; import com.seibel.lod.core.util.ColorUtil; import com.seibel.lod.core.util.LevelPosUtil; import com.seibel.lod.core.util.LodUtil; diff --git a/core/src/main/java/com/seibel/lod/core/builders/lodBuilding/bufferBuilding/LodQuadBuilder.java b/core/src/main/java/com/seibel/lod/core/datatype/column/render/LodQuadBuilder.java similarity index 98% rename from core/src/main/java/com/seibel/lod/core/builders/lodBuilding/bufferBuilding/LodQuadBuilder.java rename to core/src/main/java/com/seibel/lod/core/datatype/column/render/LodQuadBuilder.java index 151ba2d15..c444d2e60 100644 --- a/core/src/main/java/com/seibel/lod/core/builders/lodBuilding/bufferBuilding/LodQuadBuilder.java +++ b/core/src/main/java/com/seibel/lod/core/datatype/column/render/LodQuadBuilder.java @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -package com.seibel.lod.core.builders.lodBuilding.bufferBuilding; +package com.seibel.lod.core.datatype.column.render; import java.nio.ByteBuffer; import java.nio.ByteOrder; @@ -25,12 +25,12 @@ import java.util.ArrayList; import java.util.Iterator; import java.util.ListIterator; -import com.seibel.lod.core.a7.render.RenderBuffer; +import com.seibel.lod.core.render.RenderBuffer; import com.seibel.lod.core.enums.ELodDirection; import com.seibel.lod.core.enums.ELodDirection.Axis; import com.seibel.lod.core.enums.config.EGpuUploadMethod; import com.seibel.lod.core.logging.DhLoggerBuilder; -import com.seibel.lod.core.render.objects.GLVertexBuffer; +import com.seibel.lod.core.render.glObject.buffer.GLVertexBuffer; import com.seibel.lod.core.util.ColorUtil; import com.seibel.lod.core.util.LodUtil; import org.apache.logging.log4j.Logger; diff --git a/core/src/main/java/com/seibel/lod/core/a7/datatype/full/ChunkSizedData.java b/core/src/main/java/com/seibel/lod/core/datatype/full/ChunkSizedData.java similarity index 84% rename from core/src/main/java/com/seibel/lod/core/a7/datatype/full/ChunkSizedData.java rename to core/src/main/java/com/seibel/lod/core/datatype/full/ChunkSizedData.java index 8bc0da235..f78754f92 100644 --- a/core/src/main/java/com/seibel/lod/core/a7/datatype/full/ChunkSizedData.java +++ b/core/src/main/java/com/seibel/lod/core/datatype/full/ChunkSizedData.java @@ -1,7 +1,7 @@ -package com.seibel.lod.core.a7.datatype.full; +package com.seibel.lod.core.datatype.full; -import com.seibel.lod.core.a7.datatype.full.accessor.FullArrayView; -import com.seibel.lod.core.a7.pos.DhLodPos; +import com.seibel.lod.core.datatype.full.accessor.FullArrayView; +import com.seibel.lod.core.pos.DhLodPos; public class ChunkSizedData extends FullArrayView { public final byte dataDetail; diff --git a/core/src/main/java/com/seibel/lod/core/a7/datatype/full/FullDataDownSampler.java b/core/src/main/java/com/seibel/lod/core/datatype/full/FullDataDownSampler.java similarity index 94% rename from core/src/main/java/com/seibel/lod/core/a7/datatype/full/FullDataDownSampler.java rename to core/src/main/java/com/seibel/lod/core/datatype/full/FullDataDownSampler.java index 7df69f634..dbd27e0ee 100644 --- a/core/src/main/java/com/seibel/lod/core/a7/datatype/full/FullDataDownSampler.java +++ b/core/src/main/java/com/seibel/lod/core/datatype/full/FullDataDownSampler.java @@ -1,10 +1,10 @@ -package com.seibel.lod.core.a7.datatype.full; +package com.seibel.lod.core.datatype.full; -import com.seibel.lod.core.a7.datatype.LodDataSource; -import com.seibel.lod.core.a7.datatype.full.accessor.SingleFullArrayView; -import com.seibel.lod.core.a7.pos.DhLodPos; -import com.seibel.lod.core.a7.pos.DhSectionPos; -import com.seibel.lod.core.a7.save.io.file.IDataSourceProvider; +import com.seibel.lod.core.datatype.LodDataSource; +import com.seibel.lod.core.datatype.full.accessor.SingleFullArrayView; +import com.seibel.lod.core.pos.DhLodPos; +import com.seibel.lod.core.pos.DhSectionPos; +import com.seibel.lod.core.io.datafile.IDataSourceProvider; import com.seibel.lod.core.logging.DhLoggerBuilder; import com.seibel.lod.core.util.LodUtil; import org.apache.logging.log4j.Logger; diff --git a/core/src/main/java/com/seibel/lod/core/a7/datatype/full/FullDataLoader.java b/core/src/main/java/com/seibel/lod/core/datatype/full/FullDataLoader.java similarity index 62% rename from core/src/main/java/com/seibel/lod/core/a7/datatype/full/FullDataLoader.java rename to core/src/main/java/com/seibel/lod/core/datatype/full/FullDataLoader.java index e45002822..5bbfbd2c4 100644 --- a/core/src/main/java/com/seibel/lod/core/a7/datatype/full/FullDataLoader.java +++ b/core/src/main/java/com/seibel/lod/core/datatype/full/FullDataLoader.java @@ -1,11 +1,10 @@ -package com.seibel.lod.core.a7.datatype.full; +package com.seibel.lod.core.datatype.full; -import com.seibel.lod.core.a7.datatype.DataSourceLoader; -import com.seibel.lod.core.a7.datatype.LodDataSource; -import com.seibel.lod.core.a7.level.ILevel; -import com.seibel.lod.core.a7.save.io.file.DataMetaFile; +import com.seibel.lod.core.datatype.DataSourceLoader; +import com.seibel.lod.core.datatype.LodDataSource; +import com.seibel.lod.core.level.ILevel; +import com.seibel.lod.core.io.datafile.DataMetaFile; -import java.io.DataInputStream; import java.io.IOException; import java.io.InputStream; diff --git a/core/src/main/java/com/seibel/lod/core/a7/datatype/full/FullDataSource.java b/core/src/main/java/com/seibel/lod/core/datatype/full/FullDataSource.java similarity index 95% rename from core/src/main/java/com/seibel/lod/core/a7/datatype/full/FullDataSource.java rename to core/src/main/java/com/seibel/lod/core/datatype/full/FullDataSource.java index a0ed0773c..713671c7f 100644 --- a/core/src/main/java/com/seibel/lod/core/a7/datatype/full/FullDataSource.java +++ b/core/src/main/java/com/seibel/lod/core/datatype/full/FullDataSource.java @@ -1,14 +1,14 @@ -package com.seibel.lod.core.a7.datatype.full; +package com.seibel.lod.core.datatype.full; -import com.seibel.lod.core.a7.datatype.full.accessor.FullArrayView; -import com.seibel.lod.core.a7.datatype.full.accessor.SingleFullArrayView; -import com.seibel.lod.core.a7.level.ILevel; -import com.seibel.lod.core.a7.pos.DhBlockPos2D; -import com.seibel.lod.core.a7.pos.DhLodPos; -import com.seibel.lod.core.a7.save.io.file.DataMetaFile; -import com.seibel.lod.core.a7.datatype.LodDataSource; -import com.seibel.lod.core.a7.pos.DhSectionPos; -import com.seibel.lod.core.a7.util.UnclosableInputStream; +import com.seibel.lod.core.datatype.full.accessor.FullArrayView; +import com.seibel.lod.core.datatype.full.accessor.SingleFullArrayView; +import com.seibel.lod.core.level.ILevel; +import com.seibel.lod.core.pos.DhBlockPos2D; +import com.seibel.lod.core.pos.DhLodPos; +import com.seibel.lod.core.io.datafile.DataMetaFile; +import com.seibel.lod.core.datatype.LodDataSource; +import com.seibel.lod.core.pos.DhSectionPos; +import com.seibel.lod.core.util.objects.UnclosableInputStream; import com.seibel.lod.core.logging.DhLoggerBuilder; import com.seibel.lod.core.util.LodUtil; import org.apache.logging.log4j.Logger; diff --git a/core/src/main/java/com/seibel/lod/core/a7/datatype/full/FullFormat.java b/core/src/main/java/com/seibel/lod/core/datatype/full/FullFormat.java similarity index 95% rename from core/src/main/java/com/seibel/lod/core/a7/datatype/full/FullFormat.java rename to core/src/main/java/com/seibel/lod/core/datatype/full/FullFormat.java index 883c2f071..7a82c4f7d 100644 --- a/core/src/main/java/com/seibel/lod/core/a7/datatype/full/FullFormat.java +++ b/core/src/main/java/com/seibel/lod/core/datatype/full/FullFormat.java @@ -1,4 +1,4 @@ -package com.seibel.lod.core.a7.datatype.full; +package com.seibel.lod.core.datatype.full; // Static class for the data format: // ID: blockState id Y: Height(signed) DP: Depth(signed?) (Depth means the length of the block!) @@ -16,7 +16,7 @@ package com.seibel.lod.core.a7.datatype.full; import com.seibel.lod.core.util.LodUtil; import org.jetbrains.annotations.Contract; -import static com.seibel.lod.core.a7.datatype.column.accessor.ColumnFormat.MAX_WORLD_Y_SIZE; +import static com.seibel.lod.core.datatype.column.accessor.ColumnFormat.MAX_WORLD_Y_SIZE; public class FullFormat { diff --git a/core/src/main/java/com/seibel/lod/core/a7/datatype/full/IdBiomeBlockStateMap.java b/core/src/main/java/com/seibel/lod/core/datatype/full/IdBiomeBlockStateMap.java similarity index 95% rename from core/src/main/java/com/seibel/lod/core/a7/datatype/full/IdBiomeBlockStateMap.java rename to core/src/main/java/com/seibel/lod/core/datatype/full/IdBiomeBlockStateMap.java index 2ea0ba4dd..19e6a72cd 100644 --- a/core/src/main/java/com/seibel/lod/core/a7/datatype/full/IdBiomeBlockStateMap.java +++ b/core/src/main/java/com/seibel/lod/core/datatype/full/IdBiomeBlockStateMap.java @@ -1,7 +1,6 @@ -package com.seibel.lod.core.a7.datatype.full; +package com.seibel.lod.core.datatype.full; -import com.seibel.lod.core.a7.util.UnclosableInputStream; -import com.seibel.lod.core.handlers.dependencyInjection.SingletonInjector; +import com.seibel.lod.core.dependencyInjection.SingletonInjector; import com.seibel.lod.core.wrapperInterfaces.IWrapperFactory; import com.seibel.lod.core.wrapperInterfaces.block.IBlockStateWrapper; import com.seibel.lod.core.wrapperInterfaces.world.IBiomeWrapper; diff --git a/core/src/main/java/com/seibel/lod/core/a7/datatype/full/SampledDataSource.java b/core/src/main/java/com/seibel/lod/core/datatype/full/SampledDataSource.java similarity index 66% rename from core/src/main/java/com/seibel/lod/core/a7/datatype/full/SampledDataSource.java rename to core/src/main/java/com/seibel/lod/core/datatype/full/SampledDataSource.java index 1fcad0d6a..3ea593039 100644 --- a/core/src/main/java/com/seibel/lod/core/a7/datatype/full/SampledDataSource.java +++ b/core/src/main/java/com/seibel/lod/core/datatype/full/SampledDataSource.java @@ -1,6 +1,6 @@ -package com.seibel.lod.core.a7.datatype.full; +package com.seibel.lod.core.datatype.full; -import com.seibel.lod.core.a7.pos.DhSectionPos; +import com.seibel.lod.core.pos.DhSectionPos; public class SampledDataSource extends FullDataSource { private boolean[] isGenerated; diff --git a/core/src/main/java/com/seibel/lod/core/a7/datatype/full/SparseDataLoader.java b/core/src/main/java/com/seibel/lod/core/datatype/full/SparseDataLoader.java similarity index 61% rename from core/src/main/java/com/seibel/lod/core/a7/datatype/full/SparseDataLoader.java rename to core/src/main/java/com/seibel/lod/core/datatype/full/SparseDataLoader.java index eaed74dcf..5f6d5cc8d 100644 --- a/core/src/main/java/com/seibel/lod/core/a7/datatype/full/SparseDataLoader.java +++ b/core/src/main/java/com/seibel/lod/core/datatype/full/SparseDataLoader.java @@ -1,11 +1,10 @@ -package com.seibel.lod.core.a7.datatype.full; +package com.seibel.lod.core.datatype.full; -import com.seibel.lod.core.a7.datatype.DataSourceLoader; -import com.seibel.lod.core.a7.datatype.LodDataSource; -import com.seibel.lod.core.a7.level.ILevel; -import com.seibel.lod.core.a7.save.io.file.DataMetaFile; +import com.seibel.lod.core.datatype.DataSourceLoader; +import com.seibel.lod.core.datatype.LodDataSource; +import com.seibel.lod.core.level.ILevel; +import com.seibel.lod.core.io.datafile.DataMetaFile; -import java.io.DataInputStream; import java.io.IOException; import java.io.InputStream; diff --git a/core/src/main/java/com/seibel/lod/core/a7/datatype/full/SparseDataSource.java b/core/src/main/java/com/seibel/lod/core/datatype/full/SparseDataSource.java similarity index 96% rename from core/src/main/java/com/seibel/lod/core/a7/datatype/full/SparseDataSource.java rename to core/src/main/java/com/seibel/lod/core/datatype/full/SparseDataSource.java index 408bfcb35..4be22c326 100644 --- a/core/src/main/java/com/seibel/lod/core/a7/datatype/full/SparseDataSource.java +++ b/core/src/main/java/com/seibel/lod/core/datatype/full/SparseDataSource.java @@ -1,13 +1,12 @@ -package com.seibel.lod.core.a7.datatype.full; +package com.seibel.lod.core.datatype.full; -import com.seibel.lod.core.a7.datatype.LodDataSource; -import com.seibel.lod.core.a7.datatype.full.accessor.FullArrayView; -import com.seibel.lod.core.a7.datatype.full.accessor.SingleFullArrayView; -import com.seibel.lod.core.a7.level.ILevel; -import com.seibel.lod.core.a7.pos.DhLodPos; -import com.seibel.lod.core.a7.pos.DhSectionPos; -import com.seibel.lod.core.a7.save.io.file.DataMetaFile; -import com.seibel.lod.core.a7.util.UnclosableInputStream; +import com.seibel.lod.core.datatype.LodDataSource; +import com.seibel.lod.core.datatype.full.accessor.FullArrayView; +import com.seibel.lod.core.datatype.full.accessor.SingleFullArrayView; +import com.seibel.lod.core.level.ILevel; +import com.seibel.lod.core.pos.DhLodPos; +import com.seibel.lod.core.pos.DhSectionPos; +import com.seibel.lod.core.io.datafile.DataMetaFile; import com.seibel.lod.core.logging.DhLoggerBuilder; import com.seibel.lod.core.util.LodUtil; import org.apache.logging.log4j.Logger; diff --git a/core/src/main/java/com/seibel/lod/core/a7/datatype/full/accessor/FullArrayView.java b/core/src/main/java/com/seibel/lod/core/datatype/full/accessor/FullArrayView.java similarity index 95% rename from core/src/main/java/com/seibel/lod/core/a7/datatype/full/accessor/FullArrayView.java rename to core/src/main/java/com/seibel/lod/core/datatype/full/accessor/FullArrayView.java index 5d966bb4a..c3a5b1fb5 100644 --- a/core/src/main/java/com/seibel/lod/core/a7/datatype/full/accessor/FullArrayView.java +++ b/core/src/main/java/com/seibel/lod/core/datatype/full/accessor/FullArrayView.java @@ -1,7 +1,7 @@ -package com.seibel.lod.core.a7.datatype.full.accessor; +package com.seibel.lod.core.datatype.full.accessor; -import com.seibel.lod.core.a7.datatype.full.FullFormat; -import com.seibel.lod.core.a7.datatype.full.IdBiomeBlockStateMap; +import com.seibel.lod.core.datatype.full.FullFormat; +import com.seibel.lod.core.datatype.full.IdBiomeBlockStateMap; import com.seibel.lod.core.util.LodUtil; public class FullArrayView implements IFullDataView { diff --git a/core/src/main/java/com/seibel/lod/core/a7/datatype/full/accessor/IFullDataType.java b/core/src/main/java/com/seibel/lod/core/datatype/full/accessor/IFullDataType.java similarity index 87% rename from core/src/main/java/com/seibel/lod/core/a7/datatype/full/accessor/IFullDataType.java rename to core/src/main/java/com/seibel/lod/core/datatype/full/accessor/IFullDataType.java index 73ab7115b..4b8c94b00 100644 --- a/core/src/main/java/com/seibel/lod/core/a7/datatype/full/accessor/IFullDataType.java +++ b/core/src/main/java/com/seibel/lod/core/datatype/full/accessor/IFullDataType.java @@ -1,4 +1,4 @@ -package com.seibel.lod.core.a7.datatype.full.accessor; +package com.seibel.lod.core.datatype.full.accessor; public interface IFullDataType { byte getDetailOffset(); diff --git a/core/src/main/java/com/seibel/lod/core/a7/datatype/full/accessor/IFullDataView.java b/core/src/main/java/com/seibel/lod/core/datatype/full/accessor/IFullDataView.java similarity index 87% rename from core/src/main/java/com/seibel/lod/core/a7/datatype/full/accessor/IFullDataView.java rename to core/src/main/java/com/seibel/lod/core/datatype/full/accessor/IFullDataView.java index a8f310028..424600ed5 100644 --- a/core/src/main/java/com/seibel/lod/core/a7/datatype/full/accessor/IFullDataView.java +++ b/core/src/main/java/com/seibel/lod/core/datatype/full/accessor/IFullDataView.java @@ -1,6 +1,6 @@ -package com.seibel.lod.core.a7.datatype.full.accessor; +package com.seibel.lod.core.datatype.full.accessor; -import com.seibel.lod.core.a7.datatype.full.IdBiomeBlockStateMap; +import com.seibel.lod.core.datatype.full.IdBiomeBlockStateMap; import com.seibel.lod.core.util.LodUtil; import java.util.Iterator; diff --git a/core/src/main/java/com/seibel/lod/core/a7/datatype/full/accessor/SingleFullArrayView.java b/core/src/main/java/com/seibel/lod/core/datatype/full/accessor/SingleFullArrayView.java similarity index 94% rename from core/src/main/java/com/seibel/lod/core/a7/datatype/full/accessor/SingleFullArrayView.java rename to core/src/main/java/com/seibel/lod/core/datatype/full/accessor/SingleFullArrayView.java index 66ae6bd68..2d9cd3677 100644 --- a/core/src/main/java/com/seibel/lod/core/a7/datatype/full/accessor/SingleFullArrayView.java +++ b/core/src/main/java/com/seibel/lod/core/datatype/full/accessor/SingleFullArrayView.java @@ -1,7 +1,7 @@ -package com.seibel.lod.core.a7.datatype.full.accessor; +package com.seibel.lod.core.datatype.full.accessor; -import com.seibel.lod.core.a7.datatype.full.FullFormat; -import com.seibel.lod.core.a7.datatype.full.IdBiomeBlockStateMap; +import com.seibel.lod.core.datatype.full.FullFormat; +import com.seibel.lod.core.datatype.full.IdBiomeBlockStateMap; public class SingleFullArrayView implements IFullDataView { private final long[][] dataArrays; diff --git a/core/src/main/java/com/seibel/lod/core/a7/datatype/transform/DataRenderTransformer.java b/core/src/main/java/com/seibel/lod/core/datatype/transform/DataRenderTransformer.java similarity index 76% rename from core/src/main/java/com/seibel/lod/core/a7/datatype/transform/DataRenderTransformer.java rename to core/src/main/java/com/seibel/lod/core/datatype/transform/DataRenderTransformer.java index 9833b9b78..d37200813 100644 --- a/core/src/main/java/com/seibel/lod/core/a7/datatype/transform/DataRenderTransformer.java +++ b/core/src/main/java/com/seibel/lod/core/datatype/transform/DataRenderTransformer.java @@ -1,10 +1,10 @@ -package com.seibel.lod.core.a7.datatype.transform; +package com.seibel.lod.core.datatype.transform; -import com.seibel.lod.core.a7.datatype.LodDataSource; -import com.seibel.lod.core.a7.datatype.LodRenderSource; -import com.seibel.lod.core.a7.datatype.column.ColumnRenderLoader; -import com.seibel.lod.core.a7.datatype.column.ColumnRenderSource; -import com.seibel.lod.core.a7.level.IClientLevel; +import com.seibel.lod.core.datatype.LodDataSource; +import com.seibel.lod.core.datatype.LodRenderSource; +import com.seibel.lod.core.datatype.column.ColumnRenderLoader; +import com.seibel.lod.core.datatype.column.ColumnRenderSource; +import com.seibel.lod.core.level.IClientLevel; import com.seibel.lod.core.util.LodUtil; import java.util.concurrent.CompletableFuture; diff --git a/core/src/main/java/com/seibel/lod/core/a7/datatype/transform/FullToColumnTransformer.java b/core/src/main/java/com/seibel/lod/core/datatype/transform/FullToColumnTransformer.java similarity index 96% rename from core/src/main/java/com/seibel/lod/core/a7/datatype/transform/FullToColumnTransformer.java rename to core/src/main/java/com/seibel/lod/core/datatype/transform/FullToColumnTransformer.java index 58ed2921b..82c36d76e 100644 --- a/core/src/main/java/com/seibel/lod/core/a7/datatype/transform/FullToColumnTransformer.java +++ b/core/src/main/java/com/seibel/lod/core/datatype/transform/FullToColumnTransformer.java @@ -1,17 +1,17 @@ -package com.seibel.lod.core.a7.datatype.transform; +package com.seibel.lod.core.datatype.transform; -import com.seibel.lod.core.a7.datatype.LodRenderSource; -import com.seibel.lod.core.a7.datatype.column.accessor.ColumnFormat; -import com.seibel.lod.core.a7.datatype.column.ColumnRenderSource; -import com.seibel.lod.core.a7.datatype.column.accessor.ColumnArrayView; -import com.seibel.lod.core.a7.datatype.column.accessor.ColumnQuadView; -import com.seibel.lod.core.a7.datatype.full.*; -import com.seibel.lod.core.a7.datatype.full.accessor.SingleFullArrayView; -import com.seibel.lod.core.a7.level.IClientLevel; -import com.seibel.lod.core.a7.pos.DhSectionPos; +import com.seibel.lod.core.datatype.LodRenderSource; +import com.seibel.lod.core.datatype.column.accessor.ColumnFormat; +import com.seibel.lod.core.datatype.column.ColumnRenderSource; +import com.seibel.lod.core.datatype.column.accessor.ColumnArrayView; +import com.seibel.lod.core.datatype.column.accessor.ColumnQuadView; +import com.seibel.lod.core.datatype.full.*; +import com.seibel.lod.core.datatype.full.accessor.SingleFullArrayView; +import com.seibel.lod.core.level.IClientLevel; +import com.seibel.lod.core.pos.DhSectionPos; import com.seibel.lod.core.config.Config; -import com.seibel.lod.core.handlers.dependencyInjection.SingletonInjector; -import com.seibel.lod.core.objects.DHBlockPos; +import com.seibel.lod.core.dependencyInjection.SingletonInjector; +import com.seibel.lod.core.pos.DhBlockPos; import com.seibel.lod.core.util.LodUtil; import com.seibel.lod.core.wrapperInterfaces.IWrapperFactory; import com.seibel.lod.core.wrapperInterfaces.block.IBlockStateWrapper; @@ -172,7 +172,7 @@ public class FullToColumnTransformer { IBlockStateWrapper block = entry.blockState; if (block.equals(AIR)) continue; isVoid = false; - int color = level.computeBaseColor(new DHBlockPos(blockX, y + level.getMinY(), blockZ), biome, block); + int color = level.computeBaseColor(new DhBlockPos(blockX, y + level.getMinY(), blockZ), biome, block); long columnData = ColumnFormat.createDataPoint(y + blockLength, y, color, light, genMode); column.set(offset, columnData); offset++; diff --git a/core/src/main/java/com/seibel/lod/core/a7/datatype/LodBuilder.java b/core/src/main/java/com/seibel/lod/core/datatype/transform/LodBuilder.java similarity index 88% rename from core/src/main/java/com/seibel/lod/core/a7/datatype/LodBuilder.java rename to core/src/main/java/com/seibel/lod/core/datatype/transform/LodBuilder.java index bc8f0fc83..c9422b7e1 100644 --- a/core/src/main/java/com/seibel/lod/core/a7/datatype/LodBuilder.java +++ b/core/src/main/java/com/seibel/lod/core/datatype/transform/LodBuilder.java @@ -1,14 +1,14 @@ -package com.seibel.lod.core.a7.datatype; +package com.seibel.lod.core.datatype.transform; import java.util.concurrent.*; -import com.seibel.lod.core.a7.datatype.full.ChunkSizedData; -import com.seibel.lod.core.a7.datatype.transform.LodDataBuilder; -import com.seibel.lod.core.a7.level.ILevel; +import com.seibel.lod.core.datatype.full.ChunkSizedData; +import com.seibel.lod.core.level.ILevel; import com.seibel.lod.core.config.Config; import com.seibel.lod.core.logging.ConfigBasedLogger; -import com.seibel.lod.core.objects.DHChunkPos; +import com.seibel.lod.core.pos.DhChunkPos; import com.seibel.lod.core.util.*; +import com.seibel.lod.core.util.objects.EventLoop; import com.seibel.lod.core.wrapperInterfaces.chunk.IChunkWrapper; import org.apache.logging.log4j.LogManager; @@ -17,14 +17,14 @@ public class LodBuilder { public static final ConfigBasedLogger LOGGER = new ConfigBasedLogger(LogManager.getLogger(), () -> Config.Client.Advanced.Debugging.DebugSwitch.logLodBuilderEvent.get()); static class Task { - final DHChunkPos chunkPos; + final DhChunkPos chunkPos; final CompletableFuture future; - Task(DHChunkPos chunkPos, CompletableFuture future) { + Task(DhChunkPos chunkPos, CompletableFuture future) { this.chunkPos = chunkPos; this.future = future; } } - private final ConcurrentHashMap latestChunkToBuild = new ConcurrentHashMap<>(); + private final ConcurrentHashMap latestChunkToBuild = new ConcurrentHashMap<>(); private final ConcurrentLinkedDeque taskToBuild = new ConcurrentLinkedDeque<>(); private final ExecutorService executor = LodUtil.makeSingleThreadPool(LodBuilder.class); private final EventLoop ticker = new EventLoop(executor, this::_tick); diff --git a/core/src/main/java/com/seibel/lod/core/builders/lodBuilding/LodBuilderConfig.java b/core/src/main/java/com/seibel/lod/core/datatype/transform/LodBuilderConfig.java similarity index 97% rename from core/src/main/java/com/seibel/lod/core/builders/lodBuilding/LodBuilderConfig.java rename to core/src/main/java/com/seibel/lod/core/datatype/transform/LodBuilderConfig.java index 55c6aff5b..1f8aee8bd 100644 --- a/core/src/main/java/com/seibel/lod/core/builders/lodBuilding/LodBuilderConfig.java +++ b/core/src/main/java/com/seibel/lod/core/datatype/transform/LodBuilderConfig.java @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -package com.seibel.lod.core.builders.lodBuilding; +package com.seibel.lod.core.datatype.transform; import com.seibel.lod.core.enums.config.EDistanceGenerationMode; diff --git a/core/src/main/java/com/seibel/lod/core/a7/datatype/transform/LodDataBuilder.java b/core/src/main/java/com/seibel/lod/core/datatype/transform/LodDataBuilder.java similarity index 92% rename from core/src/main/java/com/seibel/lod/core/a7/datatype/transform/LodDataBuilder.java rename to core/src/main/java/com/seibel/lod/core/datatype/transform/LodDataBuilder.java index a9b522f9c..67acc4d35 100644 --- a/core/src/main/java/com/seibel/lod/core/a7/datatype/transform/LodDataBuilder.java +++ b/core/src/main/java/com/seibel/lod/core/datatype/transform/LodDataBuilder.java @@ -1,8 +1,8 @@ -package com.seibel.lod.core.a7.datatype.transform; +package com.seibel.lod.core.datatype.transform; -import com.seibel.lod.core.a7.datatype.full.ChunkSizedData; -import com.seibel.lod.core.a7.datatype.full.FullFormat; -import com.seibel.lod.core.handlers.dependencyInjection.SingletonInjector; +import com.seibel.lod.core.datatype.full.ChunkSizedData; +import com.seibel.lod.core.datatype.full.FullFormat; +import com.seibel.lod.core.dependencyInjection.SingletonInjector; import com.seibel.lod.core.util.LodUtil; import com.seibel.lod.core.wrapperInterfaces.IWrapperFactory; import com.seibel.lod.core.wrapperInterfaces.block.IBlockStateWrapper; diff --git a/core/src/main/java/com/seibel/lod/core/handlers/dependencyInjection/DependencyInjector.java b/core/src/main/java/com/seibel/lod/core/dependencyInjection/DependencyInjector.java similarity index 99% rename from core/src/main/java/com/seibel/lod/core/handlers/dependencyInjection/DependencyInjector.java rename to core/src/main/java/com/seibel/lod/core/dependencyInjection/DependencyInjector.java index 2dd0ab61a..ce8217da0 100644 --- a/core/src/main/java/com/seibel/lod/core/handlers/dependencyInjection/DependencyInjector.java +++ b/core/src/main/java/com/seibel/lod/core/dependencyInjection/DependencyInjector.java @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -package com.seibel.lod.core.handlers.dependencyInjection; +package com.seibel.lod.core.dependencyInjection; import java.util.ArrayList; import java.util.HashMap; diff --git a/core/src/main/java/com/seibel/lod/core/handlers/dependencyInjection/DhApiEventInjector.java b/core/src/main/java/com/seibel/lod/core/dependencyInjection/DhApiEventInjector.java similarity index 98% rename from core/src/main/java/com/seibel/lod/core/handlers/dependencyInjection/DhApiEventInjector.java rename to core/src/main/java/com/seibel/lod/core/dependencyInjection/DhApiEventInjector.java index fc4164f21..6dd3de6f4 100644 --- a/core/src/main/java/com/seibel/lod/core/handlers/dependencyInjection/DhApiEventInjector.java +++ b/core/src/main/java/com/seibel/lod/core/dependencyInjection/DhApiEventInjector.java @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -package com.seibel.lod.core.handlers.dependencyInjection; +package com.seibel.lod.core.dependencyInjection; import com.seibel.lod.core.api.external.coreImplementations.interfaces.events.ICoreDhApiEvent; import org.apache.logging.log4j.LogManager; diff --git a/core/src/main/java/com/seibel/lod/core/handlers/dependencyInjection/IBindable.java b/core/src/main/java/com/seibel/lod/core/dependencyInjection/IBindable.java similarity index 96% rename from core/src/main/java/com/seibel/lod/core/handlers/dependencyInjection/IBindable.java rename to core/src/main/java/com/seibel/lod/core/dependencyInjection/IBindable.java index 9ce077eff..3f90701d2 100644 --- a/core/src/main/java/com/seibel/lod/core/handlers/dependencyInjection/IBindable.java +++ b/core/src/main/java/com/seibel/lod/core/dependencyInjection/IBindable.java @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -package com.seibel.lod.core.handlers.dependencyInjection; +package com.seibel.lod.core.dependencyInjection; /** * Necessary for all singletons that can be dependency injected. diff --git a/core/src/main/java/com/seibel/lod/core/handlers/dependencyInjection/ModAccessorInjector.java b/core/src/main/java/com/seibel/lod/core/dependencyInjection/ModAccessorInjector.java similarity index 97% rename from core/src/main/java/com/seibel/lod/core/handlers/dependencyInjection/ModAccessorInjector.java rename to core/src/main/java/com/seibel/lod/core/dependencyInjection/ModAccessorInjector.java index b88bd2242..d0b978366 100644 --- a/core/src/main/java/com/seibel/lod/core/handlers/dependencyInjection/ModAccessorInjector.java +++ b/core/src/main/java/com/seibel/lod/core/dependencyInjection/ModAccessorInjector.java @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -package com.seibel.lod.core.handlers.dependencyInjection; +package com.seibel.lod.core.dependencyInjection; import com.seibel.lod.core.logging.DhLoggerBuilder; import com.seibel.lod.core.wrapperInterfaces.modAccessor.IModAccessor; diff --git a/core/src/main/java/com/seibel/lod/core/handlers/dependencyInjection/OverrideInjector.java b/core/src/main/java/com/seibel/lod/core/dependencyInjection/OverrideInjector.java similarity index 99% rename from core/src/main/java/com/seibel/lod/core/handlers/dependencyInjection/OverrideInjector.java rename to core/src/main/java/com/seibel/lod/core/dependencyInjection/OverrideInjector.java index 6adb12b3a..d21f00ced 100644 --- a/core/src/main/java/com/seibel/lod/core/handlers/dependencyInjection/OverrideInjector.java +++ b/core/src/main/java/com/seibel/lod/core/dependencyInjection/OverrideInjector.java @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -package com.seibel.lod.core.handlers.dependencyInjection; +package com.seibel.lod.core.dependencyInjection; import com.seibel.lod.core.api.external.coreImplementations.interfaces.override.ICoreDhApiOverrideable; import com.seibel.lod.core.util.StringUtil; diff --git a/core/src/main/java/com/seibel/lod/core/handlers/dependencyInjection/OverridePriorityListContainer.java b/core/src/main/java/com/seibel/lod/core/dependencyInjection/OverridePriorityListContainer.java similarity index 97% rename from core/src/main/java/com/seibel/lod/core/handlers/dependencyInjection/OverridePriorityListContainer.java rename to core/src/main/java/com/seibel/lod/core/dependencyInjection/OverridePriorityListContainer.java index faefcc8a9..f66a876d4 100644 --- a/core/src/main/java/com/seibel/lod/core/handlers/dependencyInjection/OverridePriorityListContainer.java +++ b/core/src/main/java/com/seibel/lod/core/dependencyInjection/OverridePriorityListContainer.java @@ -1,4 +1,4 @@ -package com.seibel.lod.core.handlers.dependencyInjection; +package com.seibel.lod.core.dependencyInjection; import com.seibel.lod.core.api.external.coreImplementations.interfaces.override.ICoreDhApiOverrideable; diff --git a/core/src/main/java/com/seibel/lod/core/handlers/dependencyInjection/SingletonInjector.java b/core/src/main/java/com/seibel/lod/core/dependencyInjection/SingletonInjector.java similarity index 95% rename from core/src/main/java/com/seibel/lod/core/handlers/dependencyInjection/SingletonInjector.java rename to core/src/main/java/com/seibel/lod/core/dependencyInjection/SingletonInjector.java index bf3869b28..7ccbe925c 100644 --- a/core/src/main/java/com/seibel/lod/core/handlers/dependencyInjection/SingletonInjector.java +++ b/core/src/main/java/com/seibel/lod/core/dependencyInjection/SingletonInjector.java @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -package com.seibel.lod.core.handlers.dependencyInjection; +package com.seibel.lod.core.dependencyInjection; /** * This class takes care of dependency injection diff --git a/core/src/main/java/com/seibel/lod/core/handlers/dependencyInjection/WorldGeneratorInjector.java b/core/src/main/java/com/seibel/lod/core/dependencyInjection/WorldGeneratorInjector.java similarity index 97% rename from core/src/main/java/com/seibel/lod/core/handlers/dependencyInjection/WorldGeneratorInjector.java rename to core/src/main/java/com/seibel/lod/core/dependencyInjection/WorldGeneratorInjector.java index 5d2cf9122..bae6cc046 100644 --- a/core/src/main/java/com/seibel/lod/core/handlers/dependencyInjection/WorldGeneratorInjector.java +++ b/core/src/main/java/com/seibel/lod/core/dependencyInjection/WorldGeneratorInjector.java @@ -17,12 +17,11 @@ * along with this program. If not, see . */ -package com.seibel.lod.core.handlers.dependencyInjection; +package com.seibel.lod.core.dependencyInjection; import com.seibel.lod.core.api.external.coreImplementations.interfaces.override.worldGenerator.ICoreDhApiWorldGenerator; import com.seibel.lod.core.api.external.coreImplementations.interfaces.wrappers.world.ICoreDhApiLevelWrapper; import com.seibel.lod.core.util.StringUtil; -import com.seibel.lod.core.wrapperInterfaces.world.ILevelWrapper; import java.util.HashMap; diff --git a/core/src/main/java/com/seibel/lod/core/enums/ELodDirection.java b/core/src/main/java/com/seibel/lod/core/enums/ELodDirection.java index af760595e..9da16ace9 100644 --- a/core/src/main/java/com/seibel/lod/core/enums/ELodDirection.java +++ b/core/src/main/java/com/seibel/lod/core/enums/ELodDirection.java @@ -25,7 +25,7 @@ import java.util.Map; import java.util.function.Predicate; import java.util.stream.Collectors; -import com.seibel.lod.core.objects.math.Vec3i; +import com.seibel.lod.core.util.math.Vec3i; /** * An (almost) exact copy of Minecraft's diff --git a/core/src/main/java/com/seibel/lod/core/builders/worldGeneration/BatchGenerator.java b/core/src/main/java/com/seibel/lod/core/generation/BatchGenerator.java similarity index 97% rename from core/src/main/java/com/seibel/lod/core/builders/worldGeneration/BatchGenerator.java rename to core/src/main/java/com/seibel/lod/core/generation/BatchGenerator.java index 94edf3664..f9f6bccb9 100644 --- a/core/src/main/java/com/seibel/lod/core/builders/worldGeneration/BatchGenerator.java +++ b/core/src/main/java/com/seibel/lod/core/generation/BatchGenerator.java @@ -17,15 +17,14 @@ * along with this program. If not, see . */ -package com.seibel.lod.core.builders.worldGeneration; +package com.seibel.lod.core.generation; -import com.seibel.lod.core.a7.generation.IChunkGenerator; -import com.seibel.lod.core.a7.level.ILevel; +import com.seibel.lod.core.level.ILevel; import com.seibel.lod.core.config.Config; import com.seibel.lod.core.enums.config.EDistanceGenerationMode; -import com.seibel.lod.core.handlers.dependencyInjection.SingletonInjector; +import com.seibel.lod.core.dependencyInjection.SingletonInjector; import com.seibel.lod.core.logging.DhLoggerBuilder; -import com.seibel.lod.core.objects.DHChunkPos; +import com.seibel.lod.core.pos.DhChunkPos; import com.seibel.lod.core.wrapperInterfaces.IWrapperFactory; import com.seibel.lod.core.wrapperInterfaces.chunk.IChunkWrapper; import com.seibel.lod.core.wrapperInterfaces.minecraft.IMinecraftClientWrapper; @@ -260,7 +259,7 @@ public class BatchGenerator implements IChunkGenerator } @Override - public CompletableFuture generateChunks(DHChunkPos chunkPosMin, byte granularity, byte targetDataDetail, Consumer resultConsumer) { + public CompletableFuture generateChunks(DhChunkPos chunkPosMin, byte granularity, byte targetDataDetail, Consumer resultConsumer) { EDistanceGenerationMode mode = Config.Client.WorldGenerator.distanceGenerationMode.get(); Steps targetStep = null; switch (mode) { diff --git a/core/src/main/java/com/seibel/lod/core/a7/generation/GenerationQueue.java b/core/src/main/java/com/seibel/lod/core/generation/GenerationQueue.java similarity index 98% rename from core/src/main/java/com/seibel/lod/core/a7/generation/GenerationQueue.java rename to core/src/main/java/com/seibel/lod/core/generation/GenerationQueue.java index 5a30f5dd6..6d9d0c349 100644 --- a/core/src/main/java/com/seibel/lod/core/a7/generation/GenerationQueue.java +++ b/core/src/main/java/com/seibel/lod/core/generation/GenerationQueue.java @@ -1,11 +1,11 @@ -package com.seibel.lod.core.a7.generation; +package com.seibel.lod.core.generation; -import com.seibel.lod.core.a7.datatype.full.ChunkSizedData; -import com.seibel.lod.core.a7.pos.DhBlockPos2D; -import com.seibel.lod.core.a7.pos.DhLodPos; -import com.seibel.lod.core.a7.util.UncheckedInterruptedException; +import com.seibel.lod.core.datatype.full.ChunkSizedData; +import com.seibel.lod.core.pos.DhBlockPos2D; +import com.seibel.lod.core.pos.DhLodPos; +import com.seibel.lod.core.util.objects.UncheckedInterruptedException; import com.seibel.lod.core.logging.DhLoggerBuilder; -import com.seibel.lod.core.objects.DHChunkPos; +import com.seibel.lod.core.pos.DhChunkPos; import com.seibel.lod.core.util.LodUtil; import org.apache.logging.log4j.Logger; @@ -355,7 +355,7 @@ public class GenerationQueue implements Closeable { LodUtil.assertTrue(granularity >= minGranularity && granularity <= maxGranularity); LodUtil.assertTrue(dataDetail >= minDataDetail && dataDetail <= maxDataDetail); - DHChunkPos chunkPosMin = new DHChunkPos(pos.getCorner()); + DhChunkPos chunkPosMin = new DhChunkPos(pos.getCorner()); logger.info("Generating section {} with granularity {} at {}", pos, granularity, chunkPosMin); task.genFuture = generator.generate( chunkPosMin, granularity, dataDetail, task.group::accept); diff --git a/core/src/main/java/com/seibel/lod/core/a7/generation/IChunkGenerator.java b/core/src/main/java/com/seibel/lod/core/generation/IChunkGenerator.java similarity index 59% rename from core/src/main/java/com/seibel/lod/core/a7/generation/IChunkGenerator.java rename to core/src/main/java/com/seibel/lod/core/generation/IChunkGenerator.java index 0969ccc83..af98fc9a6 100644 --- a/core/src/main/java/com/seibel/lod/core/a7/generation/IChunkGenerator.java +++ b/core/src/main/java/com/seibel/lod/core/generation/IChunkGenerator.java @@ -1,19 +1,18 @@ -package com.seibel.lod.core.a7.generation; +package com.seibel.lod.core.generation; -import com.seibel.lod.core.a7.datatype.full.ChunkSizedData; -import com.seibel.lod.core.a7.datatype.transform.LodDataBuilder; -import com.seibel.lod.core.objects.DHChunkPos; -import com.seibel.lod.core.util.gridList.ArrayGridList; +import com.seibel.lod.core.datatype.full.ChunkSizedData; +import com.seibel.lod.core.datatype.transform.LodDataBuilder; +import com.seibel.lod.core.pos.DhChunkPos; import com.seibel.lod.core.wrapperInterfaces.chunk.IChunkWrapper; import java.util.concurrent.CompletableFuture; import java.util.function.Consumer; public interface IChunkGenerator extends IGenerator { - CompletableFuture generateChunks(DHChunkPos chunkPosMin, byte granularity, byte targetDataDetail, Consumer resultConsumer); + CompletableFuture generateChunks(DhChunkPos chunkPosMin, byte granularity, byte targetDataDetail, Consumer resultConsumer); @Override - default CompletableFuture generate(DHChunkPos chunkPosMin, byte granularity, byte targetDataDetail, Consumer resultConsumer) { + default CompletableFuture generate(DhChunkPos chunkPosMin, byte granularity, byte targetDataDetail, Consumer resultConsumer) { return generateChunks(chunkPosMin, granularity, targetDataDetail, (chunk) -> { resultConsumer.accept(LodDataBuilder.createChunkData(chunk)); }); diff --git a/core/src/main/java/com/seibel/lod/core/a7/generation/IGenerator.java b/core/src/main/java/com/seibel/lod/core/generation/IGenerator.java similarity index 85% rename from core/src/main/java/com/seibel/lod/core/a7/generation/IGenerator.java rename to core/src/main/java/com/seibel/lod/core/generation/IGenerator.java index 70e3583d2..ed5f7c0b7 100644 --- a/core/src/main/java/com/seibel/lod/core/a7/generation/IGenerator.java +++ b/core/src/main/java/com/seibel/lod/core/generation/IGenerator.java @@ -1,8 +1,7 @@ -package com.seibel.lod.core.a7.generation; +package com.seibel.lod.core.generation; -import com.seibel.lod.core.a7.datatype.full.ChunkSizedData; -import com.seibel.lod.core.objects.DHChunkPos; -import com.seibel.lod.core.util.gridList.ArrayGridList; +import com.seibel.lod.core.datatype.full.ChunkSizedData; +import com.seibel.lod.core.pos.DhChunkPos; import java.util.concurrent.CompletableFuture; import java.util.function.Consumer; @@ -28,7 +27,7 @@ public interface IGenerator extends AutoCloseable { // Start a generation event // (Note that the chunkPos is always aligned to the granularity) // (For example, if the granularity is 4, data detail is 0, the chunkPos will be aligned to 16x16 blocks) - CompletableFuture generate(DHChunkPos chunkPosMin, byte granularity, byte targetDataDetail, Consumer resultConsumer); + CompletableFuture generate(DhChunkPos chunkPosMin, byte granularity, byte targetDataDetail, Consumer resultConsumer); // Return whether the generator is currently busy and cannot accept new generation requests. boolean isBusy(); diff --git a/core/src/main/java/com/seibel/lod/core/a7/save/io/LevelToFileMatcher.java b/core/src/main/java/com/seibel/lod/core/io/LevelToFileMatcher.java similarity index 97% rename from core/src/main/java/com/seibel/lod/core/a7/save/io/LevelToFileMatcher.java rename to core/src/main/java/com/seibel/lod/core/io/LevelToFileMatcher.java index 1112fd484..b0adcb15c 100644 --- a/core/src/main/java/com/seibel/lod/core/a7/save/io/LevelToFileMatcher.java +++ b/core/src/main/java/com/seibel/lod/core/io/LevelToFileMatcher.java @@ -1,11 +1,9 @@ -package com.seibel.lod.core.a7.save.io; +package com.seibel.lod.core.io; import com.seibel.lod.core.config.Config; -import com.seibel.lod.core.handlers.dependencyInjection.SingletonInjector; -import com.seibel.lod.core.handlers.dimensionFinder.PlayerData; -import com.seibel.lod.core.handlers.dimensionFinder.SubDimCompare; +import com.seibel.lod.core.dependencyInjection.SingletonInjector; import com.seibel.lod.core.logging.ConfigBasedLogger; -import com.seibel.lod.core.objects.DHChunkPos; +import com.seibel.lod.core.pos.DhChunkPos; import com.seibel.lod.core.util.LodUtil; import com.seibel.lod.core.wrapperInterfaces.chunk.IChunkWrapper; import com.seibel.lod.core.wrapperInterfaces.minecraft.IMinecraftClientWrapper; @@ -97,7 +95,7 @@ public class LevelToFileMatcher implements AutoCloseable { } // relevant positions - DHChunkPos playerChunkPos = new DHChunkPos(playerData.playerBlockPos); + DhChunkPos playerChunkPos = new DhChunkPos(playerData.playerBlockPos); int startingBlockPosX = playerChunkPos.getMinBlockX(); int startingBlockPosZ = playerChunkPos.getMinBlockZ(); diff --git a/core/src/main/java/com/seibel/lod/core/a7/save/io/MetaFile.java b/core/src/main/java/com/seibel/lod/core/io/MetaFile.java similarity index 98% rename from core/src/main/java/com/seibel/lod/core/a7/save/io/MetaFile.java rename to core/src/main/java/com/seibel/lod/core/io/MetaFile.java index e7eb6532c..84dbef08d 100644 --- a/core/src/main/java/com/seibel/lod/core/a7/save/io/MetaFile.java +++ b/core/src/main/java/com/seibel/lod/core/io/MetaFile.java @@ -1,4 +1,4 @@ -package com.seibel.lod.core.a7.save.io; +package com.seibel.lod.core.io; import java.io.*; import java.nio.ByteBuffer; @@ -12,8 +12,8 @@ import java.util.concurrent.atomic.AtomicLong; import java.util.zip.Adler32; import java.util.zip.CheckedOutputStream; -import com.seibel.lod.core.a7.pos.DhSectionPos; -import com.seibel.lod.core.a7.util.UnclosableOutputStream; +import com.seibel.lod.core.pos.DhSectionPos; +import com.seibel.lod.core.util.objects.UnclosableOutputStream; import com.seibel.lod.core.logging.DhLoggerBuilder; import com.seibel.lod.core.util.LodUtil; import org.apache.logging.log4j.Logger; diff --git a/core/src/main/java/com/seibel/lod/core/handlers/dimensionFinder/PlayerData.java b/core/src/main/java/com/seibel/lod/core/io/PlayerData.java similarity index 91% rename from core/src/main/java/com/seibel/lod/core/handlers/dimensionFinder/PlayerData.java rename to core/src/main/java/com/seibel/lod/core/io/PlayerData.java index 1d3e45dc0..48feb3e4d 100644 --- a/core/src/main/java/com/seibel/lod/core/handlers/dimensionFinder/PlayerData.java +++ b/core/src/main/java/com/seibel/lod/core/io/PlayerData.java @@ -17,12 +17,12 @@ * along with this program. If not, see . */ -package com.seibel.lod.core.handlers.dimensionFinder; +package com.seibel.lod.core.io; import com.electronwill.nightconfig.core.file.CommentedFileConfig; -import com.seibel.lod.core.handlers.dependencyInjection.SingletonInjector; -import com.seibel.lod.core.objects.DHBlockPos; +import com.seibel.lod.core.dependencyInjection.SingletonInjector; +import com.seibel.lod.core.pos.DhBlockPos; import com.seibel.lod.core.wrapperInterfaces.IWrapperFactory; import com.seibel.lod.core.wrapperInterfaces.minecraft.IMinecraftClientWrapper; @@ -45,7 +45,7 @@ public class PlayerData public static final String PLAYER_BLOCK_POS_X_PATH = "playerBlockPosX"; public static final String PLAYER_BLOCK_POS_Y_PATH = "playerBlockPosY"; public static final String PLAYER_BLOCK_POS_Z_PATH = "playerBlockPosZ"; - public DHBlockPos playerBlockPos; + public DhBlockPos playerBlockPos; // not implemented yet public static final String WORLD_SPAWN_POS_X_PATH = "worldSpawnBlockPosX"; @@ -55,7 +55,7 @@ public class PlayerData * The client world has access to a spawn point, so this should be possible to fill in. * I'm not sure what this will look like for worlds that don't have a spawn point. */ - public DHBlockPos worldSpawnPointBlockPos; + public DhBlockPos worldSpawnPointBlockPos; @Nullable public static PlayerData tryGetPlayerData(IMinecraftClientWrapper mcClient) { if (!mcClient.playerExists()) return null; @@ -86,11 +86,11 @@ public class PlayerData int x = toml.getIntOrElse(PLAYER_BLOCK_POS_X_PATH, 0); int y = toml.getIntOrElse(PLAYER_BLOCK_POS_Y_PATH, 0); int z = toml.getIntOrElse(PLAYER_BLOCK_POS_Z_PATH, 0); - this.playerBlockPos = new DHBlockPos(x, y, z); + this.playerBlockPos = new DhBlockPos(x, y, z); } else { - this.playerBlockPos = new DHBlockPos(0, 0, 0); + this.playerBlockPos = new DhBlockPos(0, 0, 0); } } } diff --git a/core/src/main/java/com/seibel/lod/core/handlers/dimensionFinder/SubDimCompare.java b/core/src/main/java/com/seibel/lod/core/io/SubDimCompare.java similarity index 97% rename from core/src/main/java/com/seibel/lod/core/handlers/dimensionFinder/SubDimCompare.java rename to core/src/main/java/com/seibel/lod/core/io/SubDimCompare.java index 518c55c84..fce8c2da5 100644 --- a/core/src/main/java/com/seibel/lod/core/handlers/dimensionFinder/SubDimCompare.java +++ b/core/src/main/java/com/seibel/lod/core/io/SubDimCompare.java @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -package com.seibel.lod.core.handlers.dimensionFinder; +package com.seibel.lod.core.io; import com.seibel.lod.core.config.Config; import org.jetbrains.annotations.NotNull; diff --git a/core/src/main/java/com/seibel/lod/core/a7/save/io/file/DataFileHandler.java b/core/src/main/java/com/seibel/lod/core/io/datafile/DataFileHandler.java similarity index 96% rename from core/src/main/java/com/seibel/lod/core/a7/save/io/file/DataFileHandler.java rename to core/src/main/java/com/seibel/lod/core/io/datafile/DataFileHandler.java index fd6a624c3..d91a816d2 100644 --- a/core/src/main/java/com/seibel/lod/core/a7/save/io/file/DataFileHandler.java +++ b/core/src/main/java/com/seibel/lod/core/io/datafile/DataFileHandler.java @@ -1,14 +1,13 @@ -package com.seibel.lod.core.a7.save.io.file; +package com.seibel.lod.core.io.datafile; import com.google.common.collect.HashMultimap; -import com.seibel.lod.core.a7.datatype.LodDataSource; -import com.seibel.lod.core.a7.datatype.full.ChunkSizedData; -import com.seibel.lod.core.a7.datatype.full.FullDataSource; -import com.seibel.lod.core.a7.datatype.full.SparseDataSource; -import com.seibel.lod.core.a7.level.ILevel; -import com.seibel.lod.core.a7.pos.DhLodPos; -import com.seibel.lod.core.a7.pos.DhSectionPos; -import com.seibel.lod.core.a7.save.io.MetaFile; +import com.seibel.lod.core.datatype.LodDataSource; +import com.seibel.lod.core.datatype.full.ChunkSizedData; +import com.seibel.lod.core.datatype.full.FullDataSource; +import com.seibel.lod.core.datatype.full.SparseDataSource; +import com.seibel.lod.core.level.ILevel; +import com.seibel.lod.core.pos.DhLodPos; +import com.seibel.lod.core.pos.DhSectionPos; import com.seibel.lod.core.logging.DhLoggerBuilder; import com.seibel.lod.core.util.LodUtil; import org.apache.logging.log4j.Logger; diff --git a/core/src/main/java/com/seibel/lod/core/a7/save/io/file/DataMetaFile.java b/core/src/main/java/com/seibel/lod/core/io/datafile/DataMetaFile.java similarity index 96% rename from core/src/main/java/com/seibel/lod/core/a7/save/io/file/DataMetaFile.java rename to core/src/main/java/com/seibel/lod/core/io/datafile/DataMetaFile.java index 2c72afc32..cf327e0c1 100644 --- a/core/src/main/java/com/seibel/lod/core/a7/save/io/file/DataMetaFile.java +++ b/core/src/main/java/com/seibel/lod/core/io/datafile/DataMetaFile.java @@ -1,23 +1,21 @@ -package com.seibel.lod.core.a7.save.io.file; +package com.seibel.lod.core.io.datafile; import java.io.*; import java.lang.ref.*; import java.util.Set; import java.util.concurrent.*; import java.util.concurrent.atomic.AtomicBoolean; -import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicReference; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantReadWriteLock; -import com.seibel.lod.core.a7.datatype.LodDataSource; -import com.seibel.lod.core.a7.datatype.DataSourceLoader; -import com.seibel.lod.core.a7.datatype.LodRenderSource; -import com.seibel.lod.core.a7.datatype.full.ChunkSizedData; -import com.seibel.lod.core.a7.pos.DhLodPos; -import com.seibel.lod.core.a7.save.io.MetaFile; -import com.seibel.lod.core.a7.level.ILevel; -import com.seibel.lod.core.a7.pos.DhSectionPos; +import com.seibel.lod.core.datatype.LodDataSource; +import com.seibel.lod.core.datatype.DataSourceLoader; +import com.seibel.lod.core.datatype.full.ChunkSizedData; +import com.seibel.lod.core.pos.DhLodPos; +import com.seibel.lod.core.io.MetaFile; +import com.seibel.lod.core.level.ILevel; +import com.seibel.lod.core.pos.DhSectionPos; import com.seibel.lod.core.logging.DhLoggerBuilder; import com.seibel.lod.core.util.LodUtil; import org.apache.logging.log4j.Logger; diff --git a/core/src/main/java/com/seibel/lod/core/a7/save/io/file/GeneratedDataFileHandler.java b/core/src/main/java/com/seibel/lod/core/io/datafile/GeneratedDataFileHandler.java similarity index 93% rename from core/src/main/java/com/seibel/lod/core/a7/save/io/file/GeneratedDataFileHandler.java rename to core/src/main/java/com/seibel/lod/core/io/datafile/GeneratedDataFileHandler.java index c2c5de641..4d9b53b0f 100644 --- a/core/src/main/java/com/seibel/lod/core/a7/save/io/file/GeneratedDataFileHandler.java +++ b/core/src/main/java/com/seibel/lod/core/io/datafile/GeneratedDataFileHandler.java @@ -1,12 +1,12 @@ -package com.seibel.lod.core.a7.save.io.file; +package com.seibel.lod.core.io.datafile; -import com.seibel.lod.core.a7.datatype.LodDataSource; -import com.seibel.lod.core.a7.datatype.full.ChunkSizedData; -import com.seibel.lod.core.a7.datatype.full.FullDataSource; -import com.seibel.lod.core.a7.datatype.full.SparseDataSource; -import com.seibel.lod.core.a7.generation.GenerationQueue; -import com.seibel.lod.core.a7.level.IServerLevel; -import com.seibel.lod.core.a7.pos.DhSectionPos; +import com.seibel.lod.core.datatype.LodDataSource; +import com.seibel.lod.core.datatype.full.ChunkSizedData; +import com.seibel.lod.core.datatype.full.FullDataSource; +import com.seibel.lod.core.datatype.full.SparseDataSource; +import com.seibel.lod.core.generation.GenerationQueue; +import com.seibel.lod.core.level.IServerLevel; +import com.seibel.lod.core.pos.DhSectionPos; import com.seibel.lod.core.logging.DhLoggerBuilder; import com.seibel.lod.core.util.LodUtil; import org.apache.logging.log4j.Logger; diff --git a/core/src/main/java/com/seibel/lod/core/a7/save/io/file/IDataSourceProvider.java b/core/src/main/java/com/seibel/lod/core/io/datafile/IDataSourceProvider.java similarity index 69% rename from core/src/main/java/com/seibel/lod/core/a7/save/io/file/IDataSourceProvider.java rename to core/src/main/java/com/seibel/lod/core/io/datafile/IDataSourceProvider.java index 0b5978e3b..c5c947624 100644 --- a/core/src/main/java/com/seibel/lod/core/a7/save/io/file/IDataSourceProvider.java +++ b/core/src/main/java/com/seibel/lod/core/io/datafile/IDataSourceProvider.java @@ -1,17 +1,11 @@ -package com.seibel.lod.core.a7.save.io.file; +package com.seibel.lod.core.io.datafile; -import com.seibel.lod.core.a7.datatype.LodDataSource; -import com.seibel.lod.core.a7.datatype.full.ChunkSizedData; -import com.seibel.lod.core.a7.datatype.full.FullFormat; -import com.seibel.lod.core.a7.pos.DhLodPos; -import com.seibel.lod.core.a7.pos.DhSectionPos; -import com.seibel.lod.core.objects.DHChunkPos; +import com.seibel.lod.core.datatype.LodDataSource; +import com.seibel.lod.core.datatype.full.ChunkSizedData; +import com.seibel.lod.core.pos.DhSectionPos; -import javax.annotation.Nullable; import java.io.File; -import java.nio.file.Path; import java.util.Collection; -import java.util.Collections; import java.util.concurrent.CompletableFuture; import java.util.concurrent.Executor; import java.util.function.Consumer; diff --git a/core/src/main/java/com/seibel/lod/core/a7/save/io/file/RemoteDataFileHandler.java b/core/src/main/java/com/seibel/lod/core/io/datafile/RemoteDataFileHandler.java similarity index 60% rename from core/src/main/java/com/seibel/lod/core/a7/save/io/file/RemoteDataFileHandler.java rename to core/src/main/java/com/seibel/lod/core/io/datafile/RemoteDataFileHandler.java index e05e63823..1438e75ea 100644 --- a/core/src/main/java/com/seibel/lod/core/a7/save/io/file/RemoteDataFileHandler.java +++ b/core/src/main/java/com/seibel/lod/core/io/datafile/RemoteDataFileHandler.java @@ -1,7 +1,6 @@ -package com.seibel.lod.core.a7.save.io.file; +package com.seibel.lod.core.io.datafile; -import com.seibel.lod.core.a7.level.ILevel; -import com.seibel.lod.core.util.LodUtil; +import com.seibel.lod.core.level.ILevel; import java.io.File; diff --git a/core/src/main/java/com/seibel/lod/core/a7/save/io/render/IRenderSourceProvider.java b/core/src/main/java/com/seibel/lod/core/io/renderfile/IRenderSourceProvider.java similarity index 68% rename from core/src/main/java/com/seibel/lod/core/a7/save/io/render/IRenderSourceProvider.java rename to core/src/main/java/com/seibel/lod/core/io/renderfile/IRenderSourceProvider.java index 115853781..4d88cf937 100644 --- a/core/src/main/java/com/seibel/lod/core/a7/save/io/render/IRenderSourceProvider.java +++ b/core/src/main/java/com/seibel/lod/core/io/renderfile/IRenderSourceProvider.java @@ -1,8 +1,8 @@ -package com.seibel.lod.core.a7.save.io.render; +package com.seibel.lod.core.io.renderfile; -import com.seibel.lod.core.a7.datatype.LodRenderSource; -import com.seibel.lod.core.a7.datatype.full.ChunkSizedData; -import com.seibel.lod.core.a7.pos.DhSectionPos; +import com.seibel.lod.core.datatype.LodRenderSource; +import com.seibel.lod.core.datatype.full.ChunkSizedData; +import com.seibel.lod.core.pos.DhSectionPos; import java.io.File; import java.util.Collection; diff --git a/core/src/main/java/com/seibel/lod/core/a7/save/io/render/RenderFileHandler.java b/core/src/main/java/com/seibel/lod/core/io/renderfile/RenderFileHandler.java similarity index 94% rename from core/src/main/java/com/seibel/lod/core/a7/save/io/render/RenderFileHandler.java rename to core/src/main/java/com/seibel/lod/core/io/renderfile/RenderFileHandler.java index 1476ad62e..a6ccbfa74 100644 --- a/core/src/main/java/com/seibel/lod/core/a7/save/io/render/RenderFileHandler.java +++ b/core/src/main/java/com/seibel/lod/core/io/renderfile/RenderFileHandler.java @@ -1,18 +1,18 @@ -package com.seibel.lod.core.a7.save.io.render; +package com.seibel.lod.core.io.renderfile; import com.google.common.collect.HashMultimap; -import com.seibel.lod.core.a7.datatype.LodDataSource; -import com.seibel.lod.core.a7.datatype.PlaceHolderRenderSource; -import com.seibel.lod.core.a7.datatype.LodRenderSource; -import com.seibel.lod.core.a7.datatype.RenderSourceLoader; -import com.seibel.lod.core.a7.datatype.column.ColumnRenderSource; -import com.seibel.lod.core.a7.datatype.full.ChunkSizedData; -import com.seibel.lod.core.a7.datatype.transform.DataRenderTransformer; -import com.seibel.lod.core.a7.level.IClientLevel; -import com.seibel.lod.core.a7.pos.DhLodPos; -import com.seibel.lod.core.a7.save.io.file.IDataSourceProvider; -import com.seibel.lod.core.a7.pos.DhSectionPos; -import com.seibel.lod.core.a7.util.UncheckedInterruptedException; +import com.seibel.lod.core.datatype.LodDataSource; +import com.seibel.lod.core.datatype.PlaceHolderRenderSource; +import com.seibel.lod.core.datatype.LodRenderSource; +import com.seibel.lod.core.datatype.RenderSourceLoader; +import com.seibel.lod.core.datatype.column.ColumnRenderSource; +import com.seibel.lod.core.datatype.full.ChunkSizedData; +import com.seibel.lod.core.datatype.transform.DataRenderTransformer; +import com.seibel.lod.core.level.IClientLevel; +import com.seibel.lod.core.pos.DhLodPos; +import com.seibel.lod.core.io.datafile.IDataSourceProvider; +import com.seibel.lod.core.pos.DhSectionPos; +import com.seibel.lod.core.util.objects.UncheckedInterruptedException; import com.seibel.lod.core.config.Config; import com.seibel.lod.core.logging.DhLoggerBuilder; import com.seibel.lod.core.util.LodUtil; diff --git a/core/src/main/java/com/seibel/lod/core/a7/save/io/render/RenderMetaFile.java b/core/src/main/java/com/seibel/lod/core/io/renderfile/RenderMetaFile.java similarity index 92% rename from core/src/main/java/com/seibel/lod/core/a7/save/io/render/RenderMetaFile.java rename to core/src/main/java/com/seibel/lod/core/io/renderfile/RenderMetaFile.java index f365e615f..d0ea51643 100644 --- a/core/src/main/java/com/seibel/lod/core/a7/save/io/render/RenderMetaFile.java +++ b/core/src/main/java/com/seibel/lod/core/io/renderfile/RenderMetaFile.java @@ -1,19 +1,15 @@ -package com.seibel.lod.core.a7.save.io.render; +package com.seibel.lod.core.io.renderfile; -import com.seibel.lod.core.a7.datatype.DataSourceLoader; -import com.seibel.lod.core.a7.datatype.LodDataSource; -import com.seibel.lod.core.a7.datatype.LodRenderSource; -import com.seibel.lod.core.a7.datatype.RenderSourceLoader; -import com.seibel.lod.core.a7.datatype.full.ChunkSizedData; -import com.seibel.lod.core.a7.datatype.transform.DataRenderTransformer; -import com.seibel.lod.core.a7.level.IClientLevel; -import com.seibel.lod.core.a7.level.ILevel; -import com.seibel.lod.core.a7.pos.DhLodPos; -import com.seibel.lod.core.a7.save.io.MetaFile; -import com.seibel.lod.core.a7.pos.DhSectionPos; +import com.seibel.lod.core.datatype.LodDataSource; +import com.seibel.lod.core.datatype.LodRenderSource; +import com.seibel.lod.core.datatype.RenderSourceLoader; +import com.seibel.lod.core.datatype.full.ChunkSizedData; +import com.seibel.lod.core.level.IClientLevel; +import com.seibel.lod.core.level.ILevel; +import com.seibel.lod.core.pos.DhLodPos; +import com.seibel.lod.core.io.MetaFile; +import com.seibel.lod.core.pos.DhSectionPos; import com.seibel.lod.core.logging.DhLoggerBuilder; -import com.seibel.lod.core.a7.save.io.file.DataMetaFile; -import com.seibel.lod.core.a7.save.io.file.IDataSourceProvider; import com.seibel.lod.core.util.LodUtil; import org.apache.logging.log4j.Logger; diff --git a/core/src/main/java/com/seibel/lod/core/a7/save/structure/ClientOnlySaveStructure.java b/core/src/main/java/com/seibel/lod/core/io/structure/ClientOnlySaveStructure.java similarity index 96% rename from core/src/main/java/com/seibel/lod/core/a7/save/structure/ClientOnlySaveStructure.java rename to core/src/main/java/com/seibel/lod/core/io/structure/ClientOnlySaveStructure.java index ada5d3d01..da35ad4dc 100644 --- a/core/src/main/java/com/seibel/lod/core/a7/save/structure/ClientOnlySaveStructure.java +++ b/core/src/main/java/com/seibel/lod/core/io/structure/ClientOnlySaveStructure.java @@ -1,10 +1,10 @@ -package com.seibel.lod.core.a7.save.structure; +package com.seibel.lod.core.io.structure; -import com.seibel.lod.core.a7.save.io.LevelToFileMatcher; +import com.seibel.lod.core.io.LevelToFileMatcher; import com.seibel.lod.core.config.Config; import com.seibel.lod.core.enums.config.EServerFolderNameMode; -import com.seibel.lod.core.handlers.dependencyInjection.SingletonInjector; -import com.seibel.lod.core.objects.ParsedIp; +import com.seibel.lod.core.dependencyInjection.SingletonInjector; +import com.seibel.lod.core.ParsedIp; import com.seibel.lod.core.util.LodUtil; import com.seibel.lod.core.wrapperInterfaces.minecraft.IMinecraftClientWrapper; import com.seibel.lod.core.wrapperInterfaces.world.ILevelWrapper; diff --git a/core/src/main/java/com/seibel/lod/core/a7/save/structure/LocalSaveStructure.java b/core/src/main/java/com/seibel/lod/core/io/structure/LocalSaveStructure.java similarity index 87% rename from core/src/main/java/com/seibel/lod/core/a7/save/structure/LocalSaveStructure.java rename to core/src/main/java/com/seibel/lod/core/io/structure/LocalSaveStructure.java index 3015efe33..8d7eeb612 100644 --- a/core/src/main/java/com/seibel/lod/core/a7/save/structure/LocalSaveStructure.java +++ b/core/src/main/java/com/seibel/lod/core/io/structure/LocalSaveStructure.java @@ -1,7 +1,5 @@ -package com.seibel.lod.core.a7.save.structure; +package com.seibel.lod.core.io.structure; -import com.seibel.lod.core.handlers.dependencyInjection.SingletonInjector; -import com.seibel.lod.core.wrapperInterfaces.minecraft.IMinecraftSharedWrapper; import com.seibel.lod.core.wrapperInterfaces.world.ILevelWrapper; import com.seibel.lod.core.wrapperInterfaces.world.IServerLevelWrapper; diff --git a/core/src/main/java/com/seibel/lod/core/a7/save/structure/SaveStructure.java b/core/src/main/java/com/seibel/lod/core/io/structure/SaveStructure.java similarity index 93% rename from core/src/main/java/com/seibel/lod/core/a7/save/structure/SaveStructure.java rename to core/src/main/java/com/seibel/lod/core/io/structure/SaveStructure.java index a93a1e6f3..8cda20962 100644 --- a/core/src/main/java/com/seibel/lod/core/a7/save/structure/SaveStructure.java +++ b/core/src/main/java/com/seibel/lod/core/io/structure/SaveStructure.java @@ -1,4 +1,4 @@ -package com.seibel.lod.core.a7.save.structure; +package com.seibel.lod.core.io.structure; import com.seibel.lod.core.logging.DhLoggerBuilder; import com.seibel.lod.core.wrapperInterfaces.world.ILevelWrapper; diff --git a/core/src/main/java/com/seibel/lod/core/jar/JarDependencySetup.java b/core/src/main/java/com/seibel/lod/core/jar/JarDependencySetup.java index 753b7d008..0b92041d5 100644 --- a/core/src/main/java/com/seibel/lod/core/jar/JarDependencySetup.java +++ b/core/src/main/java/com/seibel/lod/core/jar/JarDependencySetup.java @@ -1,6 +1,6 @@ package com.seibel.lod.core.jar; -import com.seibel.lod.core.handlers.dependencyInjection.SingletonInjector; +import com.seibel.lod.core.dependencyInjection.SingletonInjector; import com.seibel.lod.core.jar.wrapperInterfaces.config.ConfigWrapper; import com.seibel.lod.core.wrapperInterfaces.config.IConfigWrapper; diff --git a/core/src/main/java/com/seibel/lod/core/jar/gui/BaseJFrame.java b/core/src/main/java/com/seibel/lod/core/jar/gui/BaseJFrame.java index b3c61fbe8..ac8c80642 100644 --- a/core/src/main/java/com/seibel/lod/core/jar/gui/BaseJFrame.java +++ b/core/src/main/java/com/seibel/lod/core/jar/gui/BaseJFrame.java @@ -3,8 +3,7 @@ package com.seibel.lod.core.jar.gui; import com.formdev.flatlaf.FlatDarkLaf; import com.formdev.flatlaf.FlatLightLaf; import com.formdev.flatlaf.extras.FlatSVGIcon; -import com.seibel.lod.core.JarMain; -import com.seibel.lod.core.handlers.dependencyInjection.SingletonInjector; +import com.seibel.lod.core.dependencyInjection.SingletonInjector; import com.seibel.lod.core.jar.JarUtils; import com.seibel.lod.core.wrapperInterfaces.config.IConfigWrapper; diff --git a/core/src/main/java/com/seibel/lod/core/a7/level/DhClientLevel.java b/core/src/main/java/com/seibel/lod/core/level/DhClientLevel.java similarity index 78% rename from core/src/main/java/com/seibel/lod/core/a7/level/DhClientLevel.java rename to core/src/main/java/com/seibel/lod/core/level/DhClientLevel.java index 7d744aa4b..f2fb89a29 100644 --- a/core/src/main/java/com/seibel/lod/core/a7/level/DhClientLevel.java +++ b/core/src/main/java/com/seibel/lod/core/level/DhClientLevel.java @@ -1,18 +1,18 @@ -package com.seibel.lod.core.a7.level; +package com.seibel.lod.core.level; -import com.seibel.lod.core.a7.render.LodQuadTree; -import com.seibel.lod.core.a7.util.FileScanner; -import com.seibel.lod.core.a7.save.io.file.RemoteDataFileHandler; -import com.seibel.lod.core.a7.save.io.render.RenderFileHandler; -import com.seibel.lod.core.a7.pos.DhBlockPos2D; -import com.seibel.lod.core.a7.render.RenderBufferHandler; -import com.seibel.lod.core.a7.save.structure.ClientOnlySaveStructure; +import com.seibel.lod.core.render.LodQuadTree; +import com.seibel.lod.core.util.FileScanUtil; +import com.seibel.lod.core.io.datafile.RemoteDataFileHandler; +import com.seibel.lod.core.io.renderfile.RenderFileHandler; +import com.seibel.lod.core.pos.DhBlockPos2D; +import com.seibel.lod.core.render.RenderBufferHandler; +import com.seibel.lod.core.io.structure.ClientOnlySaveStructure; import com.seibel.lod.core.config.Config; -import com.seibel.lod.core.handlers.dependencyInjection.SingletonInjector; +import com.seibel.lod.core.dependencyInjection.SingletonInjector; import com.seibel.lod.core.logging.DhLoggerBuilder; -import com.seibel.lod.core.objects.DHBlockPos; -import com.seibel.lod.core.objects.math.Mat4f; -import com.seibel.lod.core.a7.render.a7LodRenderer; +import com.seibel.lod.core.pos.DhBlockPos; +import com.seibel.lod.core.util.math.Mat4f; +import com.seibel.lod.core.render.renderer.LodRenderer; import com.seibel.lod.core.wrapperInterfaces.block.IBlockStateWrapper; import com.seibel.lod.core.wrapperInterfaces.minecraft.IMinecraftClientWrapper; import com.seibel.lod.core.wrapperInterfaces.minecraft.IProfilerWrapper; @@ -31,7 +31,7 @@ public class DhClientLevel implements IClientLevel { public final RenderFileHandler renderFileHandler; public final RenderBufferHandler renderBufferHandler; //TODO: Should this be owned by renderer? public final IClientLevelWrapper level; - public a7LodRenderer renderer = null; + public LodRenderer renderer = null; public LodQuadTree tree; public DhClientLevel(ClientOnlySaveStructure save, IClientLevelWrapper level) { @@ -44,7 +44,7 @@ public class DhClientLevel implements IClientLevel { MC_CLIENT.getPlayerBlockPos().x, MC_CLIENT.getPlayerBlockPos().z, renderFileHandler); renderBufferHandler = new RenderBufferHandler(tree); this.level = level; - FileScanner.scanFile(save, level, dataFileHandler, renderFileHandler); + FileScanUtil.scanFile(save, level, dataFileHandler, renderFileHandler); LOGGER.info("Started DHLevel for {} with saves at {}", level, save); } @@ -63,7 +63,7 @@ public class DhClientLevel implements IClientLevel { @Override public void render(Mat4f mcModelViewMatrix, Mat4f mcProjectionMatrix, float partialTicks, IProfilerWrapper profiler) { if (renderer == null) { - renderer = new a7LodRenderer(this); + renderer = new LodRenderer(this); } renderer.drawLODs(mcModelViewMatrix, mcProjectionMatrix, partialTicks, profiler); } @@ -74,7 +74,7 @@ public class DhClientLevel implements IClientLevel { } @Override - public int computeBaseColor(DHBlockPos pos, IBiomeWrapper biome, IBlockStateWrapper block) { + public int computeBaseColor(DhBlockPos pos, IBiomeWrapper biome, IBlockStateWrapper block) { return 0; //TODO } diff --git a/core/src/main/java/com/seibel/lod/core/a7/level/DhClientServerLevel.java b/core/src/main/java/com/seibel/lod/core/level/DhClientServerLevel.java similarity index 88% rename from core/src/main/java/com/seibel/lod/core/a7/level/DhClientServerLevel.java rename to core/src/main/java/com/seibel/lod/core/level/DhClientServerLevel.java index af9562cfc..a7cdf1fcd 100644 --- a/core/src/main/java/com/seibel/lod/core/a7/level/DhClientServerLevel.java +++ b/core/src/main/java/com/seibel/lod/core/level/DhClientServerLevel.java @@ -1,21 +1,21 @@ -package com.seibel.lod.core.a7.level; +package com.seibel.lod.core.level; -import com.seibel.lod.core.a7.generation.GenerationQueue; -import com.seibel.lod.core.a7.render.LodQuadTree; -import com.seibel.lod.core.a7.save.io.file.GeneratedDataFileHandler; -import com.seibel.lod.core.a7.util.FileScanner; -import com.seibel.lod.core.a7.save.io.render.RenderFileHandler; -import com.seibel.lod.core.a7.pos.DhBlockPos2D; -import com.seibel.lod.core.a7.render.RenderBufferHandler; -import com.seibel.lod.core.a7.save.structure.LocalSaveStructure; -import com.seibel.lod.core.builders.worldGeneration.BatchGenerator; +import com.seibel.lod.core.generation.GenerationQueue; +import com.seibel.lod.core.render.LodQuadTree; +import com.seibel.lod.core.io.datafile.GeneratedDataFileHandler; +import com.seibel.lod.core.util.FileScanUtil; +import com.seibel.lod.core.io.renderfile.RenderFileHandler; +import com.seibel.lod.core.pos.DhBlockPos2D; +import com.seibel.lod.core.render.RenderBufferHandler; +import com.seibel.lod.core.io.structure.LocalSaveStructure; +import com.seibel.lod.core.generation.BatchGenerator; import com.seibel.lod.core.config.Config; -import com.seibel.lod.core.handlers.dependencyInjection.SingletonInjector; +import com.seibel.lod.core.dependencyInjection.SingletonInjector; import com.seibel.lod.core.logging.DhLoggerBuilder; import com.seibel.lod.core.logging.f3.F3Screen; -import com.seibel.lod.core.objects.DHBlockPos; -import com.seibel.lod.core.objects.math.Mat4f; -import com.seibel.lod.core.a7.render.a7LodRenderer; +import com.seibel.lod.core.pos.DhBlockPos; +import com.seibel.lod.core.util.math.Mat4f; +import com.seibel.lod.core.render.renderer.LodRenderer; import com.seibel.lod.core.util.LodUtil; import com.seibel.lod.core.wrapperInterfaces.block.IBlockStateWrapper; import com.seibel.lod.core.wrapperInterfaces.minecraft.IMinecraftClientWrapper; @@ -39,7 +39,7 @@ public class DhClientServerLevel implements IClientLevel, IServerLevel { public RenderBufferHandler renderBufferHandler = null; //TODO: Should this be owned by renderer? public final IServerLevelWrapper serverLevel; public IClientLevelWrapper clientLevel; - public a7LodRenderer renderer = null; + public LodRenderer renderer = null; public LodQuadTree tree = null; public volatile BatchGenerator worldGenerator = null; private final ReentrantLock renderStateLifecycleLock = new ReentrantLock(); @@ -52,7 +52,7 @@ public class DhClientServerLevel implements IClientLevel, IServerLevel { save.getDataFolder(level).mkdirs(); save.getRenderCacheFolder(level).mkdirs(); dataFileHandler = new GeneratedDataFileHandler(this, save.getDataFolder(level)); - FileScanner.scanFile(save, serverLevel, dataFileHandler, null); + FileScanUtil.scanFile(save, serverLevel, dataFileHandler, null); LOGGER.info("Started DHLevel for {} with saves at {}", level, save); f3Msg = new F3Screen.NestedMessage(this::f3Log); } @@ -108,7 +108,7 @@ public class DhClientServerLevel implements IClientLevel, IServerLevel { tree = new LodQuadTree(this, Config.Client.Graphics.Quality.lodChunkRenderDistance.get() * 16, MC_CLIENT.getPlayerBlockPos().x, MC_CLIENT.getPlayerBlockPos().z, renderFileHandler); renderBufferHandler = new RenderBufferHandler(tree); - FileScanner.scanFile(save, serverLevel, null, renderFileHandler); + FileScanUtil.scanFile(save, serverLevel, null, renderFileHandler); } finally { renderStateLifecycleLock.unlock(); } @@ -123,7 +123,7 @@ public class DhClientServerLevel implements IClientLevel, IServerLevel { return; } if (renderer == null) { - renderer = new a7LodRenderer(this); + renderer = new LodRenderer(this); } renderer.drawLODs(mcModelViewMatrix, mcProjectionMatrix, partialTicks, profiler); } finally { @@ -172,7 +172,7 @@ public class DhClientServerLevel implements IClientLevel, IServerLevel { } @Override - public int computeBaseColor(DHBlockPos pos, IBiomeWrapper biome, IBlockStateWrapper block) { + public int computeBaseColor(DhBlockPos pos, IBiomeWrapper biome, IBlockStateWrapper block) { return clientLevel.computeBaseColor(pos, biome, block); } diff --git a/core/src/main/java/com/seibel/lod/core/a7/level/DhServerLevel.java b/core/src/main/java/com/seibel/lod/core/level/DhServerLevel.java similarity index 83% rename from core/src/main/java/com/seibel/lod/core/a7/level/DhServerLevel.java rename to core/src/main/java/com/seibel/lod/core/level/DhServerLevel.java index 92f40b2eb..8c563ef1d 100644 --- a/core/src/main/java/com/seibel/lod/core/a7/level/DhServerLevel.java +++ b/core/src/main/java/com/seibel/lod/core/level/DhServerLevel.java @@ -1,9 +1,8 @@ -package com.seibel.lod.core.a7.level; +package com.seibel.lod.core.level; -import com.seibel.lod.core.a7.save.io.file.RemoteDataFileHandler; -import com.seibel.lod.core.a7.util.FileScanner; -import com.seibel.lod.core.a7.save.io.file.DataFileHandler; -import com.seibel.lod.core.a7.save.structure.LocalSaveStructure; +import com.seibel.lod.core.util.FileScanUtil; +import com.seibel.lod.core.io.datafile.DataFileHandler; +import com.seibel.lod.core.io.structure.LocalSaveStructure; import com.seibel.lod.core.logging.DhLoggerBuilder; import com.seibel.lod.core.wrapperInterfaces.world.ILevelWrapper; import com.seibel.lod.core.wrapperInterfaces.world.IServerLevelWrapper; @@ -24,7 +23,7 @@ public class DhServerLevel implements IServerLevel this.level = level; save.getDataFolder(level).mkdirs(); dataFileHandler = new DataFileHandler(this, save.getDataFolder(level)); //FIXME: GenerationQueue - FileScanner.scanFile(save, level, dataFileHandler, null); + FileScanUtil.scanFile(save, level, dataFileHandler, null); LOGGER.info("Started DHLevel for {} with saves at {}", level, save); } diff --git a/core/src/main/java/com/seibel/lod/core/a7/level/IClientLevel.java b/core/src/main/java/com/seibel/lod/core/level/IClientLevel.java similarity index 72% rename from core/src/main/java/com/seibel/lod/core/a7/level/IClientLevel.java rename to core/src/main/java/com/seibel/lod/core/level/IClientLevel.java index b39af928b..afafbed7a 100644 --- a/core/src/main/java/com/seibel/lod/core/a7/level/IClientLevel.java +++ b/core/src/main/java/com/seibel/lod/core/level/IClientLevel.java @@ -1,8 +1,8 @@ -package com.seibel.lod.core.a7.level; +package com.seibel.lod.core.level; -import com.seibel.lod.core.a7.render.RenderBufferHandler; -import com.seibel.lod.core.objects.DHBlockPos; -import com.seibel.lod.core.objects.math.Mat4f; +import com.seibel.lod.core.render.RenderBufferHandler; +import com.seibel.lod.core.pos.DhBlockPos; +import com.seibel.lod.core.util.math.Mat4f; import com.seibel.lod.core.wrapperInterfaces.block.IBlockStateWrapper; import com.seibel.lod.core.wrapperInterfaces.minecraft.IProfilerWrapper; import com.seibel.lod.core.wrapperInterfaces.world.IBiomeWrapper; @@ -18,7 +18,7 @@ public interface IClientLevel extends ILevel { RenderBufferHandler getRenderBufferHandler(); - int computeBaseColor(DHBlockPos pos, IBiomeWrapper biome, IBlockStateWrapper block); + int computeBaseColor(DhBlockPos pos, IBiomeWrapper biome, IBlockStateWrapper block); IClientLevelWrapper getClientLevelWrapper(); } diff --git a/core/src/main/java/com/seibel/lod/core/a7/level/ILevel.java b/core/src/main/java/com/seibel/lod/core/level/ILevel.java similarity index 90% rename from core/src/main/java/com/seibel/lod/core/a7/level/ILevel.java rename to core/src/main/java/com/seibel/lod/core/level/ILevel.java index a6c4c311a..cbe5b5f38 100644 --- a/core/src/main/java/com/seibel/lod/core/a7/level/ILevel.java +++ b/core/src/main/java/com/seibel/lod/core/level/ILevel.java @@ -1,4 +1,4 @@ -package com.seibel.lod.core.a7.level; +package com.seibel.lod.core.level; import com.seibel.lod.core.wrapperInterfaces.world.ILevelWrapper; diff --git a/core/src/main/java/com/seibel/lod/core/a7/level/IServerLevel.java b/core/src/main/java/com/seibel/lod/core/level/IServerLevel.java similarity index 85% rename from core/src/main/java/com/seibel/lod/core/a7/level/IServerLevel.java rename to core/src/main/java/com/seibel/lod/core/level/IServerLevel.java index 9382f6e29..1277d7d15 100644 --- a/core/src/main/java/com/seibel/lod/core/a7/level/IServerLevel.java +++ b/core/src/main/java/com/seibel/lod/core/level/IServerLevel.java @@ -1,4 +1,4 @@ -package com.seibel.lod.core.a7.level; +package com.seibel.lod.core.level; import com.seibel.lod.core.wrapperInterfaces.world.IServerLevelWrapper; diff --git a/core/src/main/java/com/seibel/lod/core/logging/ConfigBasedLogger.java b/core/src/main/java/com/seibel/lod/core/logging/ConfigBasedLogger.java index e08fbbe77..54fb5e69f 100644 --- a/core/src/main/java/com/seibel/lod/core/logging/ConfigBasedLogger.java +++ b/core/src/main/java/com/seibel/lod/core/logging/ConfigBasedLogger.java @@ -20,7 +20,7 @@ package com.seibel.lod.core.logging; import com.seibel.lod.core.enums.config.ELoggerMode; -import com.seibel.lod.core.handlers.dependencyInjection.SingletonInjector; +import com.seibel.lod.core.dependencyInjection.SingletonInjector; import com.seibel.lod.core.wrapperInterfaces.minecraft.IMinecraftClientWrapper; import org.apache.logging.log4j.Level; import org.apache.logging.log4j.Logger; diff --git a/core/src/main/java/com/seibel/lod/core/logging/ConfigBasedSpamLogger.java b/core/src/main/java/com/seibel/lod/core/logging/ConfigBasedSpamLogger.java index 65290b1ea..d523ff93e 100644 --- a/core/src/main/java/com/seibel/lod/core/logging/ConfigBasedSpamLogger.java +++ b/core/src/main/java/com/seibel/lod/core/logging/ConfigBasedSpamLogger.java @@ -20,7 +20,7 @@ package com.seibel.lod.core.logging; import com.seibel.lod.core.enums.config.ELoggerMode; -import com.seibel.lod.core.handlers.dependencyInjection.SingletonInjector; +import com.seibel.lod.core.dependencyInjection.SingletonInjector; import com.seibel.lod.core.wrapperInterfaces.minecraft.IMinecraftClientWrapper; import org.apache.logging.log4j.Level; import org.apache.logging.log4j.Logger; diff --git a/core/src/main/java/com/seibel/lod/core/logging/f3/F3Screen.java b/core/src/main/java/com/seibel/lod/core/logging/f3/F3Screen.java index b0aa0164a..d755ecfbf 100644 --- a/core/src/main/java/com/seibel/lod/core/logging/f3/F3Screen.java +++ b/core/src/main/java/com/seibel/lod/core/logging/f3/F3Screen.java @@ -1,7 +1,6 @@ package com.seibel.lod.core.logging.f3; import com.seibel.lod.core.ModInfo; -import com.seibel.lod.core.a7.datatype.column.accessor.ColumnArrayView; import java.lang.ref.WeakReference; import java.util.Arrays; diff --git a/core/src/main/java/com/seibel/lod/core/objects/DHBlockPos.java b/core/src/main/java/com/seibel/lod/core/pos/DhBlockPos.java similarity index 89% rename from core/src/main/java/com/seibel/lod/core/objects/DHBlockPos.java rename to core/src/main/java/com/seibel/lod/core/pos/DhBlockPos.java index be3d1f3c8..48c346285 100644 --- a/core/src/main/java/com/seibel/lod/core/objects/DHBlockPos.java +++ b/core/src/main/java/com/seibel/lod/core/pos/DhBlockPos.java @@ -17,13 +17,11 @@ * along with this program. If not, see . */ -package com.seibel.lod.core.objects; - -import com.seibel.lod.core.a7.pos.DhBlockPos2D; +package com.seibel.lod.core.pos; import java.util.Objects; -public class DHBlockPos { +public class DhBlockPos { public static final boolean DO_CHECKS = false; // 26 bits wide as that just encompasses the maximum possible value @@ -46,19 +44,19 @@ public class DHBlockPos { public final int y; public final int z; - public DHBlockPos(int x, int y, int z) { + public DhBlockPos(int x, int y, int z) { this.x = x; this.y = y; this.z = z; } - public DHBlockPos() { + public DhBlockPos() { this(0, 0, 0); } - public DHBlockPos(DHBlockPos pos) { + public DhBlockPos(DhBlockPos pos) { this(pos.x, pos.y, pos.z); } - public DHBlockPos(DhBlockPos2D pos, int y) { + public DhBlockPos(DhBlockPos2D pos, int y) { this(pos.x, y, pos.z); } @@ -104,7 +102,7 @@ public class DHBlockPos { public static int getZ(long packed) { // Z is at the middle return (int)(packed <<(64 - PACKED_Z_OFFSET - PACKED_Z_LENGTH) >> (64 - PACKED_Z_LENGTH)); } - public DHBlockPos(long packed) { + public DhBlockPos(long packed) { this(getX(packed), getY(packed), getZ(packed)); } @@ -112,12 +110,12 @@ public class DHBlockPos { return asLong(x, y, z); } - public DHBlockPos offset(int x, int y, int z) + public DhBlockPos offset(int x, int y, int z) { - return new DHBlockPos(this.x + x, this.y + y, this.z + z); + return new DhBlockPos(this.x + x, this.y + y, this.z + z); } - public int getManhattanDistance(DHBlockPos otherPos) + public int getManhattanDistance(DhBlockPos otherPos) { return Math.abs(this.getX() - otherPos.getX()) + Math.abs(this.getY() - otherPos.getY()) + Math.abs(this.getZ() - otherPos.getZ()); } @@ -126,7 +124,7 @@ public class DHBlockPos { public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; - DHBlockPos that = (DHBlockPos) o; + DhBlockPos that = (DhBlockPos) o; return x == that.x && y == that.y && z == that.z; } @@ -148,7 +146,7 @@ public class DHBlockPos { if (packed != expected) { throw new IllegalArgumentException("Packed values don't match: " + packed + " != " + expected); } - DHBlockPos pos = new DHBlockPos(packed); + DhBlockPos pos = new DhBlockPos(packed); if (pos.getX() != x || pos.getY() != y || pos.getZ() != z) { throw new IllegalArgumentException("Values after decode don't match: " + pos + " != " + x + ", " + y + ", " + z); } diff --git a/core/src/main/java/com/seibel/lod/core/a7/pos/DhBlockPos2D.java b/core/src/main/java/com/seibel/lod/core/pos/DhBlockPos2D.java similarity index 87% rename from core/src/main/java/com/seibel/lod/core/a7/pos/DhBlockPos2D.java rename to core/src/main/java/com/seibel/lod/core/pos/DhBlockPos2D.java index e17c27159..e01ec430e 100644 --- a/core/src/main/java/com/seibel/lod/core/a7/pos/DhBlockPos2D.java +++ b/core/src/main/java/com/seibel/lod/core/pos/DhBlockPos2D.java @@ -1,11 +1,7 @@ -package com.seibel.lod.core.a7.pos; +package com.seibel.lod.core.pos; -import com.seibel.lod.core.objects.DHBlockPos; -import com.seibel.lod.core.objects.Pos2D; import com.seibel.lod.core.util.LodUtil; -import java.util.Objects; - public class DhBlockPos2D { public final int x; public final int z; @@ -14,7 +10,7 @@ public class DhBlockPos2D { this.z = z; } - public DhBlockPos2D(DHBlockPos blockPos) { + public DhBlockPos2D(DhBlockPos blockPos) { this.x = blockPos.x; this.z = blockPos.z; } diff --git a/core/src/main/java/com/seibel/lod/core/objects/DHChunkPos.java b/core/src/main/java/com/seibel/lod/core/pos/DhChunkPos.java similarity index 85% rename from core/src/main/java/com/seibel/lod/core/objects/DHChunkPos.java rename to core/src/main/java/com/seibel/lod/core/pos/DhChunkPos.java index ef42746b8..1fe736caa 100644 --- a/core/src/main/java/com/seibel/lod/core/objects/DHChunkPos.java +++ b/core/src/main/java/com/seibel/lod/core/pos/DhChunkPos.java @@ -17,37 +17,36 @@ * along with this program. If not, see . */ -package com.seibel.lod.core.objects; +package com.seibel.lod.core.pos; import java.util.Objects; -import com.seibel.lod.core.a7.pos.DhBlockPos2D; import com.seibel.lod.core.util.LevelPosUtil; import com.seibel.lod.core.util.LodUtil; -public class DHChunkPos { +public class DhChunkPos { public final int x; // Low 32 bits public final int z; // High 32 bits - public DHChunkPos(int x, int z) { + public DhChunkPos(int x, int z) { this.x = x; this.z = z; } - public DHChunkPos(DHBlockPos blockPos) { + public DhChunkPos(DhBlockPos blockPos) { this.x = blockPos.x >> 4; // Same as div 16 this.z = blockPos.z >> 4; // Same as div 16 } - public DHChunkPos(DhBlockPos2D blockPos) { + public DhChunkPos(DhBlockPos2D blockPos) { this.x = blockPos.x >> 4; // Same as div 16 this.z = blockPos.z >> 4; // Same as div 16 } - public DHBlockPos center() { - return new DHBlockPos(8 + x << 4, 0, 8 + z << 4); + public DhBlockPos center() { + return new DhBlockPos(8 + x << 4, 0, 8 + z << 4); } - public DHBlockPos corner() { - return new DHBlockPos(x << 4, 0, z << 4); + public DhBlockPos corner() { + return new DhBlockPos(x << 4, 0, z << 4); } public static long toLong(int x, int z) { @@ -61,7 +60,7 @@ public class DHChunkPos { return (int)(chunkPos & 0xFFFFFFFFL); } - public DHChunkPos(long packed) { + public DhChunkPos(long packed) { this(getX(packed), getZ(packed)); } @@ -110,7 +109,7 @@ public class DHChunkPos { public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; - DHChunkPos that = (DHChunkPos) o; + DhChunkPos that = (DhChunkPos) o; return x == that.x && z == that.z; } @@ -130,7 +129,7 @@ public class DHChunkPos { if (packed != expected) { throw new IllegalArgumentException("Packed values don't match: " + packed + " != " + expected); } - DHChunkPos pos = new DHChunkPos(packed); + DhChunkPos pos = new DhChunkPos(packed); if (pos.x != x || pos.z != z) { throw new IllegalArgumentException("Values after decode don't match: " + pos + " != " + x + ", " + z); } diff --git a/core/src/main/java/com/seibel/lod/core/a7/pos/DhLodPos.java b/core/src/main/java/com/seibel/lod/core/pos/DhLodPos.java similarity index 98% rename from core/src/main/java/com/seibel/lod/core/a7/pos/DhLodPos.java rename to core/src/main/java/com/seibel/lod/core/pos/DhLodPos.java index 88c7be0b5..3591c2e1e 100644 --- a/core/src/main/java/com/seibel/lod/core/a7/pos/DhLodPos.java +++ b/core/src/main/java/com/seibel/lod/core/pos/DhLodPos.java @@ -1,4 +1,4 @@ -package com.seibel.lod.core.a7.pos; +package com.seibel.lod.core.pos; import com.seibel.lod.core.util.LodUtil; import org.jetbrains.annotations.NotNull; diff --git a/core/src/main/java/com/seibel/lod/core/a7/pos/DhLodUnit.java b/core/src/main/java/com/seibel/lod/core/pos/DhLodUnit.java similarity index 95% rename from core/src/main/java/com/seibel/lod/core/a7/pos/DhLodUnit.java rename to core/src/main/java/com/seibel/lod/core/pos/DhLodUnit.java index 226ed59bf..2b6fe2099 100644 --- a/core/src/main/java/com/seibel/lod/core/a7/pos/DhLodUnit.java +++ b/core/src/main/java/com/seibel/lod/core/pos/DhLodUnit.java @@ -1,4 +1,4 @@ -package com.seibel.lod.core.a7.pos; +package com.seibel.lod.core.pos; public class DhLodUnit { public final byte detail; diff --git a/core/src/main/java/com/seibel/lod/core/a7/pos/DhSectionPos.java b/core/src/main/java/com/seibel/lod/core/pos/DhSectionPos.java similarity index 99% rename from core/src/main/java/com/seibel/lod/core/a7/pos/DhSectionPos.java rename to core/src/main/java/com/seibel/lod/core/pos/DhSectionPos.java index b98e4a6f9..26fb6fbc9 100644 --- a/core/src/main/java/com/seibel/lod/core/a7/pos/DhSectionPos.java +++ b/core/src/main/java/com/seibel/lod/core/pos/DhSectionPos.java @@ -1,4 +1,4 @@ -package com.seibel.lod.core.a7.pos; +package com.seibel.lod.core.pos; import com.seibel.lod.core.enums.ELodDirection; import com.seibel.lod.core.util.LodUtil; diff --git a/core/src/main/java/com/seibel/lod/core/objects/Pos2D.java b/core/src/main/java/com/seibel/lod/core/pos/Pos2D.java similarity index 98% rename from core/src/main/java/com/seibel/lod/core/objects/Pos2D.java rename to core/src/main/java/com/seibel/lod/core/pos/Pos2D.java index 848423544..862ba2b2a 100644 --- a/core/src/main/java/com/seibel/lod/core/objects/Pos2D.java +++ b/core/src/main/java/com/seibel/lod/core/pos/Pos2D.java @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -package com.seibel.lod.core.objects; +package com.seibel.lod.core.pos; import com.seibel.lod.core.util.LodUtil; diff --git a/core/src/main/java/com/seibel/lod/core/a7/render/LodQuadTree.java b/core/src/main/java/com/seibel/lod/core/render/LodQuadTree.java similarity index 98% rename from core/src/main/java/com/seibel/lod/core/a7/render/LodQuadTree.java rename to core/src/main/java/com/seibel/lod/core/render/LodQuadTree.java index db5494f93..98968892e 100644 --- a/core/src/main/java/com/seibel/lod/core/a7/render/LodQuadTree.java +++ b/core/src/main/java/com/seibel/lod/core/render/LodQuadTree.java @@ -1,13 +1,12 @@ -package com.seibel.lod.core.a7.render; +package com.seibel.lod.core.render; -import com.seibel.lod.core.a7.datatype.LodRenderSource; -import com.seibel.lod.core.a7.datatype.column.ColumnRenderSource; -import com.seibel.lod.core.a7.level.IClientLevel; -import com.seibel.lod.core.a7.pos.DhBlockPos2D; -import com.seibel.lod.core.a7.pos.DhSectionPos; -import com.seibel.lod.core.a7.save.io.render.IRenderSourceProvider; +import com.seibel.lod.core.datatype.column.ColumnRenderSource; +import com.seibel.lod.core.level.IClientLevel; +import com.seibel.lod.core.pos.DhBlockPos2D; +import com.seibel.lod.core.pos.DhSectionPos; +import com.seibel.lod.core.io.renderfile.IRenderSourceProvider; import com.seibel.lod.core.logging.DhLoggerBuilder; -import com.seibel.lod.core.objects.Pos2D; +import com.seibel.lod.core.pos.Pos2D; import com.seibel.lod.core.util.DetailDistanceUtil; import com.seibel.lod.core.util.LodUtil; import com.seibel.lod.core.util.gridList.MovableGridRingList; diff --git a/core/src/main/java/com/seibel/lod/core/a7/render/LodRenderSection.java b/core/src/main/java/com/seibel/lod/core/render/LodRenderSection.java similarity index 92% rename from core/src/main/java/com/seibel/lod/core/a7/render/LodRenderSection.java rename to core/src/main/java/com/seibel/lod/core/render/LodRenderSection.java index b07d4933b..d0ce8d525 100644 --- a/core/src/main/java/com/seibel/lod/core/a7/render/LodRenderSection.java +++ b/core/src/main/java/com/seibel/lod/core/render/LodRenderSection.java @@ -1,9 +1,9 @@ -package com.seibel.lod.core.a7.render; +package com.seibel.lod.core.render; -import com.seibel.lod.core.a7.level.IClientLevel; -import com.seibel.lod.core.a7.pos.DhSectionPos; -import com.seibel.lod.core.a7.datatype.LodRenderSource; -import com.seibel.lod.core.a7.save.io.render.IRenderSourceProvider; +import com.seibel.lod.core.level.IClientLevel; +import com.seibel.lod.core.pos.DhSectionPos; +import com.seibel.lod.core.datatype.LodRenderSource; +import com.seibel.lod.core.io.renderfile.IRenderSourceProvider; import java.util.concurrent.CompletableFuture; diff --git a/core/src/main/java/com/seibel/lod/core/a7/render/RenderBuffer.java b/core/src/main/java/com/seibel/lod/core/render/RenderBuffer.java similarity index 92% rename from core/src/main/java/com/seibel/lod/core/a7/render/RenderBuffer.java rename to core/src/main/java/com/seibel/lod/core/render/RenderBuffer.java index e7225921b..4fe82e1d7 100644 --- a/core/src/main/java/com/seibel/lod/core/a7/render/RenderBuffer.java +++ b/core/src/main/java/com/seibel/lod/core/render/RenderBuffer.java @@ -17,11 +17,11 @@ * along with this program. If not, see . */ -package com.seibel.lod.core.a7.render; +package com.seibel.lod.core.render; -import com.seibel.lod.core.render.LodRenderProgram; +import com.seibel.lod.core.render.renderer.LodRenderer; import com.seibel.lod.core.util.LodUtil; -import com.seibel.lod.core.util.StatsMap; +import com.seibel.lod.core.util.objects.StatsMap; public abstract class RenderBuffer implements AutoCloseable { @@ -32,7 +32,7 @@ public abstract class RenderBuffer implements AutoCloseable // ========== Called by render thread ========== /* Called on... well... rendering. * Return false if nothing rendered. (Optional) */ - public abstract boolean render(a7LodRenderer renderContext); + public abstract boolean render(LodRenderer renderContext); // ========== Called by any thread. (thread safe) ========== diff --git a/core/src/main/java/com/seibel/lod/core/a7/render/RenderBufferHandler.java b/core/src/main/java/com/seibel/lod/core/render/RenderBufferHandler.java similarity index 95% rename from core/src/main/java/com/seibel/lod/core/a7/render/RenderBufferHandler.java rename to core/src/main/java/com/seibel/lod/core/render/RenderBufferHandler.java index a5d594ee9..18d46bb84 100644 --- a/core/src/main/java/com/seibel/lod/core/a7/render/RenderBufferHandler.java +++ b/core/src/main/java/com/seibel/lod/core/render/RenderBufferHandler.java @@ -1,8 +1,9 @@ -package com.seibel.lod.core.a7.render; +package com.seibel.lod.core.render; -import com.seibel.lod.core.a7.datatype.LodRenderSource; -import com.seibel.lod.core.objects.Pos2D; -import com.seibel.lod.core.a7.pos.DhSectionPos; +import com.seibel.lod.core.datatype.LodRenderSource; +import com.seibel.lod.core.pos.Pos2D; +import com.seibel.lod.core.pos.DhSectionPos; +import com.seibel.lod.core.render.renderer.LodRenderer; import com.seibel.lod.core.util.LodUtil; import com.seibel.lod.core.util.gridList.MovableGridRingList; @@ -27,7 +28,7 @@ public class RenderBufferHandler { * This will render all opaque lods * @param renderContext */ - public void renderOpaque(a7LodRenderer renderContext) { + public void renderOpaque(LodRenderer renderContext) { RenderBuffer buff; buff = renderBufferSlotOpaque.get(); @@ -47,7 +48,7 @@ public class RenderBufferHandler { * This will render all transparent lods * @param renderContext */ - public void renderTransparent(a7LodRenderer renderContext) { + public void renderTransparent(LodRenderer renderContext) { RenderBuffer buff; buff = renderBufferSlotTransparent.get(); if (buff != null) { @@ -145,13 +146,13 @@ public class RenderBufferHandler { renderBufferNodes = new MovableGridRingList<>(referenceList.getHalfSize(), center); } - public void render(a7LodRenderer renderContext) { + public void render(LodRenderer renderContext) { //TODO: This might get locked by update() causing move() call. Is there a way to avoid this? // Maybe dupe the base list and use atomic swap on render? Or is this not worth it? //TODO: Directional culling //TODO: Ordered by distance renderBufferNodes.forEachOrdered(n -> n.renderOpaque(renderContext)); - if(a7LodRenderer.transparencyEnabled) + if(LodRenderer.transparencyEnabled) renderBufferNodes.forEachOrdered(n -> n.renderTransparent(renderContext)); } diff --git a/core/src/main/java/com/seibel/lod/core/objects/FogSettings.java b/core/src/main/java/com/seibel/lod/core/render/fog/FogSettings.java similarity index 98% rename from core/src/main/java/com/seibel/lod/core/objects/FogSettings.java rename to core/src/main/java/com/seibel/lod/core/render/fog/FogSettings.java index 2f20ee167..2964dbcb3 100644 --- a/core/src/main/java/com/seibel/lod/core/objects/FogSettings.java +++ b/core/src/main/java/com/seibel/lod/core/render/fog/FogSettings.java @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -package com.seibel.lod.core.objects; +package com.seibel.lod.core.render.fog; import com.seibel.lod.core.enums.rendering.EFogFalloff; diff --git a/core/src/main/java/com/seibel/lod/core/render/LodFogConfig.java b/core/src/main/java/com/seibel/lod/core/render/fog/LodFogConfig.java similarity index 97% rename from core/src/main/java/com/seibel/lod/core/render/LodFogConfig.java rename to core/src/main/java/com/seibel/lod/core/render/fog/LodFogConfig.java index d6cc1dab2..a728cb7d6 100644 --- a/core/src/main/java/com/seibel/lod/core/render/LodFogConfig.java +++ b/core/src/main/java/com/seibel/lod/core/render/fog/LodFogConfig.java @@ -17,16 +17,15 @@ * along with this program. If not, see . */ -package com.seibel.lod.core.render; +package com.seibel.lod.core.render.fog; import com.seibel.lod.core.config.Config; import com.seibel.lod.core.enums.rendering.EFogDrawMode; import com.seibel.lod.core.enums.rendering.EFogDistance; import com.seibel.lod.core.enums.rendering.*; -import com.seibel.lod.core.handlers.IReflectionHandler; -import com.seibel.lod.core.handlers.dependencyInjection.SingletonInjector; -import com.seibel.lod.core.objects.FogSettings; -import com.seibel.lod.core.render.objects.Shader; +import com.seibel.lod.core.IReflectionHandler; +import com.seibel.lod.core.dependencyInjection.SingletonInjector; +import com.seibel.lod.core.render.glObject.shader.Shader; import com.seibel.lod.core.wrapperInterfaces.config.ILodConfigWrapperSingleton; import java.io.FileOutputStream; @@ -34,7 +33,7 @@ import java.io.IOException; import java.nio.charset.StandardCharsets; import java.util.Objects; -import static com.seibel.lod.core.render.GLProxy.GL_LOGGER; +import static com.seibel.lod.core.render.glObject.GLProxy.GL_LOGGER; /** * This holds fog related settings and @@ -59,7 +58,7 @@ public class LodFogConfig final boolean drawNearFog; - final int earthCurveRatio; // FIXME: Move this out of here + public final int earthCurveRatio; // FIXME: Move this out of here public static LodFogConfig generateFogConfig() diff --git a/core/src/main/java/com/seibel/lod/core/render/objects/GLEnums.java b/core/src/main/java/com/seibel/lod/core/render/glObject/GLEnums.java similarity index 99% rename from core/src/main/java/com/seibel/lod/core/render/objects/GLEnums.java rename to core/src/main/java/com/seibel/lod/core/render/glObject/GLEnums.java index a6ce998a9..6768dfd80 100644 --- a/core/src/main/java/com/seibel/lod/core/render/objects/GLEnums.java +++ b/core/src/main/java/com/seibel/lod/core/render/glObject/GLEnums.java @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -package com.seibel.lod.core.render.objects; +package com.seibel.lod.core.render.glObject; import static org.lwjgl.opengl.GL46.*; diff --git a/core/src/main/java/com/seibel/lod/core/render/GLProxy.java b/core/src/main/java/com/seibel/lod/core/render/glObject/GLProxy.java similarity index 98% rename from core/src/main/java/com/seibel/lod/core/render/GLProxy.java rename to core/src/main/java/com/seibel/lod/core/render/glObject/GLProxy.java index fc163a76e..52b5c2b19 100644 --- a/core/src/main/java/com/seibel/lod/core/render/GLProxy.java +++ b/core/src/main/java/com/seibel/lod/core/render/glObject/GLProxy.java @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -package com.seibel.lod.core.render; +package com.seibel.lod.core.render.glObject; import java.io.FileNotFoundException; import java.io.PrintStream; @@ -42,9 +42,9 @@ import com.google.common.util.concurrent.ThreadFactoryBuilder; import com.seibel.lod.core.ModInfo; import com.seibel.lod.core.enums.config.EGpuUploadMethod; import com.seibel.lod.core.enums.rendering.EGLProxyContext; -import com.seibel.lod.core.handlers.dependencyInjection.SingletonInjector; -import com.seibel.lod.core.util.GLMessage; -import com.seibel.lod.core.util.GLMessageOutputStream; +import com.seibel.lod.core.dependencyInjection.SingletonInjector; +import com.seibel.lod.core.util.objects.GLMessage; +import com.seibel.lod.core.util.objects.GLMessageOutputStream; import com.seibel.lod.core.wrapperInterfaces.minecraft.IMinecraftClientWrapper; /** diff --git a/core/src/main/java/com/seibel/lod/core/render/objects/GLState.java b/core/src/main/java/com/seibel/lod/core/render/glObject/GLState.java similarity index 98% rename from core/src/main/java/com/seibel/lod/core/render/objects/GLState.java rename to core/src/main/java/com/seibel/lod/core/render/glObject/GLState.java index 7a5cfbbec..757fe613d 100644 --- a/core/src/main/java/com/seibel/lod/core/render/objects/GLState.java +++ b/core/src/main/java/com/seibel/lod/core/render/glObject/GLState.java @@ -17,8 +17,9 @@ * along with this program. If not, see . */ -package com.seibel.lod.core.render.objects; +package com.seibel.lod.core.render.glObject; +import com.seibel.lod.core.render.glObject.GLEnums; import org.lwjgl.opengl.GL32; public class GLState { diff --git a/core/src/main/java/com/seibel/lod/core/render/objects/LightmapTexture.java b/core/src/main/java/com/seibel/lod/core/render/glObject/LightmapTexture.java similarity index 98% rename from core/src/main/java/com/seibel/lod/core/render/objects/LightmapTexture.java rename to core/src/main/java/com/seibel/lod/core/render/glObject/LightmapTexture.java index ac556f538..ce73e3f35 100644 --- a/core/src/main/java/com/seibel/lod/core/render/objects/LightmapTexture.java +++ b/core/src/main/java/com/seibel/lod/core/render/glObject/LightmapTexture.java @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -package com.seibel.lod.core.render.objects; +package com.seibel.lod.core.render.glObject; import org.lwjgl.opengl.GL32; diff --git a/core/src/main/java/com/seibel/lod/core/render/objects/GLBuffer.java b/core/src/main/java/com/seibel/lod/core/render/glObject/buffer/GLBuffer.java similarity index 98% rename from core/src/main/java/com/seibel/lod/core/render/objects/GLBuffer.java rename to core/src/main/java/com/seibel/lod/core/render/glObject/buffer/GLBuffer.java index ff6f1116b..8e2a32657 100644 --- a/core/src/main/java/com/seibel/lod/core/render/objects/GLBuffer.java +++ b/core/src/main/java/com/seibel/lod/core/render/glObject/buffer/GLBuffer.java @@ -1,11 +1,11 @@ -package com.seibel.lod.core.render.objects; +package com.seibel.lod.core.render.glObject.buffer; import com.seibel.lod.core.enums.config.EGpuUploadMethod; import com.seibel.lod.core.enums.rendering.EGLProxyContext; import com.seibel.lod.core.logging.DhLoggerBuilder; -import com.seibel.lod.core.render.GLProxy; +import com.seibel.lod.core.render.glObject.GLProxy; import com.seibel.lod.core.util.LodUtil; -import com.seibel.lod.core.util.UnitBytes; +import com.seibel.lod.core.util.math.UnitBytes; import org.apache.logging.log4j.Logger; import org.lwjgl.opengl.GL32; import org.lwjgl.opengl.GL44; diff --git a/core/src/main/java/com/seibel/lod/core/render/objects/GLElementBuffer.java b/core/src/main/java/com/seibel/lod/core/render/glObject/buffer/GLElementBuffer.java similarity index 96% rename from core/src/main/java/com/seibel/lod/core/render/objects/GLElementBuffer.java rename to core/src/main/java/com/seibel/lod/core/render/glObject/buffer/GLElementBuffer.java index a80e5a26b..ff64a083a 100644 --- a/core/src/main/java/com/seibel/lod/core/render/objects/GLElementBuffer.java +++ b/core/src/main/java/com/seibel/lod/core/render/glObject/buffer/GLElementBuffer.java @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -package com.seibel.lod.core.render.objects; +package com.seibel.lod.core.render.glObject.buffer; import org.lwjgl.opengl.GL32; diff --git a/core/src/main/java/com/seibel/lod/core/render/objects/GLVertexBuffer.java b/core/src/main/java/com/seibel/lod/core/render/glObject/buffer/GLVertexBuffer.java similarity index 98% rename from core/src/main/java/com/seibel/lod/core/render/objects/GLVertexBuffer.java rename to core/src/main/java/com/seibel/lod/core/render/glObject/buffer/GLVertexBuffer.java index 3f35cf94a..bea05f5d4 100644 --- a/core/src/main/java/com/seibel/lod/core/render/objects/GLVertexBuffer.java +++ b/core/src/main/java/com/seibel/lod/core/render/glObject/buffer/GLVertexBuffer.java @@ -17,9 +17,10 @@ * along with this program. If not, see . */ -package com.seibel.lod.core.render.objects; +package com.seibel.lod.core.render.glObject.buffer; import java.nio.ByteBuffer; + import org.lwjgl.opengl.GL32; import com.seibel.lod.core.enums.config.EGpuUploadMethod; diff --git a/core/src/main/java/com/seibel/lod/core/render/objects/QuadElementBuffer.java b/core/src/main/java/com/seibel/lod/core/render/glObject/buffer/QuadElementBuffer.java similarity index 96% rename from core/src/main/java/com/seibel/lod/core/render/objects/QuadElementBuffer.java rename to core/src/main/java/com/seibel/lod/core/render/glObject/buffer/QuadElementBuffer.java index 6484cd9b2..a6a1944fc 100644 --- a/core/src/main/java/com/seibel/lod/core/render/objects/QuadElementBuffer.java +++ b/core/src/main/java/com/seibel/lod/core/render/glObject/buffer/QuadElementBuffer.java @@ -1,8 +1,9 @@ -package com.seibel.lod.core.render.objects; +package com.seibel.lod.core.render.glObject.buffer; import com.seibel.lod.core.enums.config.EGpuUploadMethod; import com.seibel.lod.core.logging.DhLoggerBuilder; -import com.seibel.lod.core.render.GLProxy; +import com.seibel.lod.core.render.glObject.GLProxy; +import com.seibel.lod.core.render.glObject.GLEnums; import org.apache.logging.log4j.Logger; import org.lwjgl.opengl.GL32; diff --git a/core/src/main/java/com/seibel/lod/core/render/objects/Shader.java b/core/src/main/java/com/seibel/lod/core/render/glObject/shader/Shader.java similarity index 97% rename from core/src/main/java/com/seibel/lod/core/render/objects/Shader.java rename to core/src/main/java/com/seibel/lod/core/render/glObject/shader/Shader.java index d2a2825a7..ef4cfc8a5 100644 --- a/core/src/main/java/com/seibel/lod/core/render/objects/Shader.java +++ b/core/src/main/java/com/seibel/lod/core/render/glObject/shader/Shader.java @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -package com.seibel.lod.core.render.objects; +package com.seibel.lod.core.render.glObject.shader; import java.io.BufferedReader; import java.io.FileInputStream; @@ -28,7 +28,7 @@ import java.io.InputStreamReader; import org.lwjgl.opengl.GL32; -import static com.seibel.lod.core.render.GLProxy.GL_LOGGER; +import static com.seibel.lod.core.render.glObject.GLProxy.GL_LOGGER; /** * This object holds a OpenGL reference to a shader diff --git a/core/src/main/java/com/seibel/lod/core/render/objects/ShaderProgram.java b/core/src/main/java/com/seibel/lod/core/render/glObject/shader/ShaderProgram.java similarity index 96% rename from core/src/main/java/com/seibel/lod/core/render/objects/ShaderProgram.java rename to core/src/main/java/com/seibel/lod/core/render/glObject/shader/ShaderProgram.java index bd6af7f89..d2a1c656b 100644 --- a/core/src/main/java/com/seibel/lod/core/render/objects/ShaderProgram.java +++ b/core/src/main/java/com/seibel/lod/core/render/glObject/shader/ShaderProgram.java @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -package com.seibel.lod.core.render.objects; +package com.seibel.lod.core.render.glObject.shader; import java.awt.Color; import java.nio.FloatBuffer; @@ -26,9 +26,9 @@ import java.util.function.Supplier; import org.lwjgl.opengl.GL32; import org.lwjgl.system.MemoryStack; -import com.seibel.lod.core.objects.math.Mat4f; -import com.seibel.lod.core.objects.math.Vec3d; -import com.seibel.lod.core.objects.math.Vec3f; +import com.seibel.lod.core.util.math.Mat4f; +import com.seibel.lod.core.util.math.Vec3d; +import com.seibel.lod.core.util.math.Vec3f; /** diff --git a/core/src/main/java/com/seibel/lod/core/render/objects/VertexAttribute.java b/core/src/main/java/com/seibel/lod/core/render/glObject/vertexAttribute/VertexAttribute.java similarity index 97% rename from core/src/main/java/com/seibel/lod/core/render/objects/VertexAttribute.java rename to core/src/main/java/com/seibel/lod/core/render/glObject/vertexAttribute/VertexAttribute.java index f5b24ad1d..554f24f20 100644 --- a/core/src/main/java/com/seibel/lod/core/render/objects/VertexAttribute.java +++ b/core/src/main/java/com/seibel/lod/core/render/glObject/vertexAttribute/VertexAttribute.java @@ -17,9 +17,9 @@ * along with this program. If not, see . */ -package com.seibel.lod.core.render.objects; +package com.seibel.lod.core.render.glObject.vertexAttribute; -import com.seibel.lod.core.render.GLProxy; +import com.seibel.lod.core.render.glObject.GLProxy; import org.lwjgl.opengl.GL32; import com.seibel.lod.core.util.LodUtil; diff --git a/core/src/main/java/com/seibel/lod/core/render/objects/VertexAttributePostGL43.java b/core/src/main/java/com/seibel/lod/core/render/glObject/vertexAttribute/VertexAttributePostGL43.java similarity index 96% rename from core/src/main/java/com/seibel/lod/core/render/objects/VertexAttributePostGL43.java rename to core/src/main/java/com/seibel/lod/core/render/glObject/vertexAttribute/VertexAttributePostGL43.java index fa9fbc8c0..45023fd97 100644 --- a/core/src/main/java/com/seibel/lod/core/render/objects/VertexAttributePostGL43.java +++ b/core/src/main/java/com/seibel/lod/core/render/glObject/vertexAttribute/VertexAttributePostGL43.java @@ -17,11 +17,11 @@ * along with this program. If not, see . */ -package com.seibel.lod.core.render.objects; +package com.seibel.lod.core.render.glObject.vertexAttribute; import org.lwjgl.opengl.GL43; -import static com.seibel.lod.core.render.GLProxy.GL_LOGGER; +import static com.seibel.lod.core.render.glObject.GLProxy.GL_LOGGER; // In OpenGL 4.3 and later, Vertex Attribute got a make-over. // Now it provides support for buffer binding points natively. diff --git a/core/src/main/java/com/seibel/lod/core/render/objects/VertexAttributePreGL43.java b/core/src/main/java/com/seibel/lod/core/render/glObject/vertexAttribute/VertexAttributePreGL43.java similarity index 97% rename from core/src/main/java/com/seibel/lod/core/render/objects/VertexAttributePreGL43.java rename to core/src/main/java/com/seibel/lod/core/render/glObject/vertexAttribute/VertexAttributePreGL43.java index 10ffaf918..119d373c0 100644 --- a/core/src/main/java/com/seibel/lod/core/render/objects/VertexAttributePreGL43.java +++ b/core/src/main/java/com/seibel/lod/core/render/glObject/vertexAttribute/VertexAttributePreGL43.java @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -package com.seibel.lod.core.render.objects; +package com.seibel.lod.core.render.glObject.vertexAttribute; import java.util.ArrayList; import java.util.Iterator; @@ -26,7 +26,7 @@ import java.util.TreeSet; import org.lwjgl.opengl.GL32; -import static com.seibel.lod.core.render.GLProxy.GL_LOGGER; +import static com.seibel.lod.core.render.glObject.GLProxy.GL_LOGGER; public final class VertexAttributePreGL43 extends VertexAttribute { diff --git a/core/src/main/java/com/seibel/lod/core/render/LodRenderProgram.java b/core/src/main/java/com/seibel/lod/core/render/renderer/LodRenderProgram.java similarity index 90% rename from core/src/main/java/com/seibel/lod/core/render/LodRenderProgram.java rename to core/src/main/java/com/seibel/lod/core/render/renderer/LodRenderProgram.java index fdcbe51ad..ff0753c33 100644 --- a/core/src/main/java/com/seibel/lod/core/render/LodRenderProgram.java +++ b/core/src/main/java/com/seibel/lod/core/render/renderer/LodRenderProgram.java @@ -17,14 +17,20 @@ * along with this program. If not, see . */ -package com.seibel.lod.core.render; +package com.seibel.lod.core.render.renderer; import java.awt.Color; -import com.seibel.lod.core.handlers.dependencyInjection.SingletonInjector; -import com.seibel.lod.core.objects.math.Mat4f; -import com.seibel.lod.core.objects.math.Vec3f; -import com.seibel.lod.core.render.objects.*; +import com.seibel.lod.core.dependencyInjection.SingletonInjector; +import com.seibel.lod.core.render.fog.LodFogConfig; +import com.seibel.lod.core.render.glObject.GLProxy; +import com.seibel.lod.core.render.glObject.shader.Shader; +import com.seibel.lod.core.render.glObject.shader.ShaderProgram; +import com.seibel.lod.core.render.glObject.vertexAttribute.VertexAttribute; +import com.seibel.lod.core.render.glObject.vertexAttribute.VertexAttributePostGL43; +import com.seibel.lod.core.render.glObject.vertexAttribute.VertexAttributePreGL43; +import com.seibel.lod.core.util.math.Mat4f; +import com.seibel.lod.core.util.math.Vec3f; import com.seibel.lod.core.util.LodUtil; import com.seibel.lod.core.wrapperInterfaces.IVersionConstants; diff --git a/core/src/main/java/com/seibel/lod/core/a7/render/a7LodRenderer.java b/core/src/main/java/com/seibel/lod/core/render/renderer/LodRenderer.java similarity index 91% rename from core/src/main/java/com/seibel/lod/core/a7/render/a7LodRenderer.java rename to core/src/main/java/com/seibel/lod/core/render/renderer/LodRenderer.java index 8407a5692..575c18c57 100644 --- a/core/src/main/java/com/seibel/lod/core/a7/render/a7LodRenderer.java +++ b/core/src/main/java/com/seibel/lod/core/render/renderer/LodRenderer.java @@ -17,29 +17,29 @@ * along with this program. If not, see . */ -package com.seibel.lod.core.a7.render; +package com.seibel.lod.core.render.renderer; -import com.seibel.lod.core.a7.level.IClientLevel; +import com.seibel.lod.core.level.IClientLevel; import com.seibel.lod.core.config.Config; import com.seibel.lod.core.config.types.ConfigEntry; import com.seibel.lod.core.enums.rendering.EDebugMode; import com.seibel.lod.core.enums.rendering.EFogColorMode; -import com.seibel.lod.core.handlers.dependencyInjection.SingletonInjector; +import com.seibel.lod.core.dependencyInjection.SingletonInjector; import com.seibel.lod.core.logging.ConfigBasedLogger; import com.seibel.lod.core.logging.ConfigBasedSpamLogger; -import com.seibel.lod.core.objects.DHBlockPos; -import com.seibel.lod.core.objects.math.Mat4f; -import com.seibel.lod.core.objects.math.Vec3d; -import com.seibel.lod.core.objects.math.Vec3f; -import com.seibel.lod.core.render.GLProxy; -import com.seibel.lod.core.render.LodFogConfig; -import com.seibel.lod.core.render.LodRenderProgram; -import com.seibel.lod.core.render.RenderUtil; -import com.seibel.lod.core.render.objects.GLState; -import com.seibel.lod.core.render.objects.GLVertexBuffer; -import com.seibel.lod.core.render.objects.QuadElementBuffer; +import com.seibel.lod.core.pos.DhBlockPos; +import com.seibel.lod.core.render.RenderBuffer; +import com.seibel.lod.core.render.RenderBufferHandler; +import com.seibel.lod.core.util.RenderUtil; +import com.seibel.lod.core.render.fog.LodFogConfig; +import com.seibel.lod.core.render.glObject.GLProxy; +import com.seibel.lod.core.util.math.Mat4f; +import com.seibel.lod.core.util.math.Vec3d; +import com.seibel.lod.core.util.math.Vec3f; +import com.seibel.lod.core.render.glObject.GLState; +import com.seibel.lod.core.render.glObject.buffer.GLVertexBuffer; +import com.seibel.lod.core.render.glObject.buffer.QuadElementBuffer; import com.seibel.lod.core.util.LodUtil; -import com.seibel.lod.core.wrapperInterfaces.config.ILodConfigWrapperSingleton; import com.seibel.lod.core.wrapperInterfaces.minecraft.IMinecraftClientWrapper; import com.seibel.lod.core.wrapperInterfaces.minecraft.IMinecraftRenderWrapper; import com.seibel.lod.core.wrapperInterfaces.minecraft.IProfilerWrapper; @@ -58,12 +58,12 @@ import java.util.concurrent.TimeUnit; * @author James Seibel * @version 2022-8-21 */ -public class a7LodRenderer +public class LodRenderer { - public static final ConfigBasedLogger EVENT_LOGGER = new ConfigBasedLogger(LogManager.getLogger(a7LodRenderer.class), + public static final ConfigBasedLogger EVENT_LOGGER = new ConfigBasedLogger(LogManager.getLogger(LodRenderer.class), () -> Config.Client.Advanced.Debugging.DebugSwitch.logRendererBufferEvent.get()); - public static ConfigBasedSpamLogger tickLogger = new ConfigBasedSpamLogger(LogManager.getLogger(a7LodRenderer.class), + public static ConfigBasedSpamLogger tickLogger = new ConfigBasedSpamLogger(LogManager.getLogger(LodRenderer.class), () -> Config.Client.Advanced.Debugging.DebugSwitch.logRendererBufferEvent.get(),1); public static final boolean ENABLE_DRAW_LAG_SPIKE_LOGGING = false; public static final boolean ENABLE_DUMP_GL_STATE = true; @@ -74,7 +74,7 @@ public class a7LodRenderer public static boolean transparencyEnabled = true; public static boolean fakeOceanFloor = true; - public void setupOffset(DHBlockPos pos) { + public void setupOffset(DhBlockPos pos) { Vec3d cam = MC_RENDER.getCameraExactPosition(); shaderProgram.setModelPos(new Vec3f((float) (pos.x - cam.x), (float) (pos.y - cam.y), (float) (pos.z - cam.z))); } @@ -109,7 +109,7 @@ public class a7LodRenderer public QuadElementBuffer quadIBO = null; public boolean isSetupComplete = false; - public a7LodRenderer(IClientLevel level) + public LodRenderer(IClientLevel level) { this.level = level; } @@ -231,7 +231,7 @@ public class a7LodRenderer boolean cullingDisabled = Config.Client.Graphics.AdvancedGraphics.disableDirectionalCulling.get(); Vec3d cameraPos = MC_RENDER.getCameraExactPosition(); - DHBlockPos cameraBlockPos = MC_RENDER.getCameraBlockPosition(); + DhBlockPos cameraBlockPos = MC_RENDER.getCameraBlockPosition(); Vec3f cameraDir = MC_RENDER.getLookAtVector(); int drawCount = 0; diff --git a/core/src/main/java/com/seibel/lod/core/render/RenderSystemTest.java b/core/src/main/java/com/seibel/lod/core/render/renderer/TestRenderer.java similarity index 87% rename from core/src/main/java/com/seibel/lod/core/render/RenderSystemTest.java rename to core/src/main/java/com/seibel/lod/core/render/renderer/TestRenderer.java index fa71af36f..18e39c1de 100644 --- a/core/src/main/java/com/seibel/lod/core/render/RenderSystemTest.java +++ b/core/src/main/java/com/seibel/lod/core/render/renderer/TestRenderer.java @@ -17,18 +17,19 @@ * along with this program. If not, see . */ -package com.seibel.lod.core.render; +package com.seibel.lod.core.render.renderer; import com.seibel.lod.core.enums.config.EGpuUploadMethod; import com.seibel.lod.core.enums.config.ELoggerMode; -import com.seibel.lod.core.handlers.dependencyInjection.SingletonInjector; +import com.seibel.lod.core.dependencyInjection.SingletonInjector; import com.seibel.lod.core.logging.ConfigBasedLogger; import com.seibel.lod.core.logging.ConfigBasedSpamLogger; -import com.seibel.lod.core.render.objects.GLVertexBuffer; -import com.seibel.lod.core.render.objects.GLState; -import com.seibel.lod.core.render.objects.ShaderProgram; -import com.seibel.lod.core.render.objects.VertexAttribute; +import com.seibel.lod.core.render.glObject.GLProxy; +import com.seibel.lod.core.render.glObject.buffer.GLVertexBuffer; +import com.seibel.lod.core.render.glObject.GLState; +import com.seibel.lod.core.render.glObject.shader.ShaderProgram; +import com.seibel.lod.core.render.glObject.vertexAttribute.VertexAttribute; import com.seibel.lod.core.wrapperInterfaces.minecraft.IMinecraftRenderWrapper; import org.apache.logging.log4j.LogManager; import org.lwjgl.opengl.GL32; @@ -37,14 +38,14 @@ import java.nio.ByteBuffer; import java.nio.ByteOrder; -public class RenderSystemTest { +public class TestRenderer { - public RenderSystemTest() {} + public TestRenderer() {} public static final ConfigBasedLogger logger = new ConfigBasedLogger( - LogManager.getLogger(RenderSystemTest.class), () -> ELoggerMode.LOG_ALL_TO_CHAT); + LogManager.getLogger(TestRenderer.class), () -> ELoggerMode.LOG_ALL_TO_CHAT); public static final ConfigBasedSpamLogger spamLogger = new ConfigBasedSpamLogger( - LogManager.getLogger(RenderSystemTest.class), () -> ELoggerMode.LOG_ALL_TO_CHAT, 1); + LogManager.getLogger(TestRenderer.class), () -> ELoggerMode.LOG_ALL_TO_CHAT, 1); private static final IMinecraftRenderWrapper MC_RENDER = SingletonInjector.INSTANCE.get(IMinecraftRenderWrapper.class); ShaderProgram basicShader; diff --git a/core/src/main/java/com/seibel/lod/core/objects/opengl/DefaultLodVertexFormats.java b/core/src/main/java/com/seibel/lod/core/render/vertexFormat/DefaultLodVertexFormats.java similarity index 94% rename from core/src/main/java/com/seibel/lod/core/objects/opengl/DefaultLodVertexFormats.java rename to core/src/main/java/com/seibel/lod/core/render/vertexFormat/DefaultLodVertexFormats.java index 8ed68475b..d73ed1ab3 100644 --- a/core/src/main/java/com/seibel/lod/core/objects/opengl/DefaultLodVertexFormats.java +++ b/core/src/main/java/com/seibel/lod/core/render/vertexFormat/DefaultLodVertexFormats.java @@ -17,9 +17,11 @@ * along with this program. If not, see . */ -package com.seibel.lod.core.objects.opengl; +package com.seibel.lod.core.render.vertexFormat; import com.google.common.collect.ImmutableList; +import com.seibel.lod.core.render.vertexFormat.LodVertexFormat; +import com.seibel.lod.core.render.vertexFormat.LodVertexFormatElement; /** * A (almost) exact copy of MC's diff --git a/core/src/main/java/com/seibel/lod/core/objects/opengl/LodVertexFormat.java b/core/src/main/java/com/seibel/lod/core/render/vertexFormat/LodVertexFormat.java similarity index 98% rename from core/src/main/java/com/seibel/lod/core/objects/opengl/LodVertexFormat.java rename to core/src/main/java/com/seibel/lod/core/render/vertexFormat/LodVertexFormat.java index 7287a2846..463544c90 100644 --- a/core/src/main/java/com/seibel/lod/core/objects/opengl/LodVertexFormat.java +++ b/core/src/main/java/com/seibel/lod/core/render/vertexFormat/LodVertexFormat.java @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -package com.seibel.lod.core.objects.opengl; +package com.seibel.lod.core.render.vertexFormat; import java.util.stream.Collectors; diff --git a/core/src/main/java/com/seibel/lod/core/objects/opengl/LodVertexFormatElement.java b/core/src/main/java/com/seibel/lod/core/render/vertexFormat/LodVertexFormatElement.java similarity index 98% rename from core/src/main/java/com/seibel/lod/core/objects/opengl/LodVertexFormatElement.java rename to core/src/main/java/com/seibel/lod/core/render/vertexFormat/LodVertexFormatElement.java index 96af231ad..e141b5921 100644 --- a/core/src/main/java/com/seibel/lod/core/objects/opengl/LodVertexFormatElement.java +++ b/core/src/main/java/com/seibel/lod/core/render/vertexFormat/LodVertexFormatElement.java @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -package com.seibel.lod.core.objects.opengl; +package com.seibel.lod.core.render.vertexFormat; import org.lwjgl.opengl.GL11; diff --git a/core/src/main/java/com/seibel/lod/core/util/Atomics.java b/core/src/main/java/com/seibel/lod/core/util/AtomicsUtil.java similarity index 99% rename from core/src/main/java/com/seibel/lod/core/util/Atomics.java rename to core/src/main/java/com/seibel/lod/core/util/AtomicsUtil.java index fc38bcaa4..ccb26fad3 100644 --- a/core/src/main/java/com/seibel/lod/core/util/Atomics.java +++ b/core/src/main/java/com/seibel/lod/core/util/AtomicsUtil.java @@ -6,7 +6,7 @@ import java.util.concurrent.atomic.AtomicReference; import java.util.concurrent.atomic.AtomicReferenceArray; import java.util.function.Predicate; -public class Atomics { +public class AtomicsUtil { // While java 8 does have built in atomic operations, there doesn't seem to be any Compare And Exchange operation... // So here we implement our own. diff --git a/core/src/main/java/com/seibel/lod/core/a7/util/FileScanner.java b/core/src/main/java/com/seibel/lod/core/util/FileScanUtil.java similarity index 88% rename from core/src/main/java/com/seibel/lod/core/a7/util/FileScanner.java rename to core/src/main/java/com/seibel/lod/core/util/FileScanUtil.java index c8381b6d4..600a43270 100644 --- a/core/src/main/java/com/seibel/lod/core/a7/util/FileScanner.java +++ b/core/src/main/java/com/seibel/lod/core/util/FileScanUtil.java @@ -1,8 +1,8 @@ -package com.seibel.lod.core.a7.util; +package com.seibel.lod.core.util; -import com.seibel.lod.core.a7.save.io.file.IDataSourceProvider; -import com.seibel.lod.core.a7.save.io.render.IRenderSourceProvider; -import com.seibel.lod.core.a7.save.structure.SaveStructure; +import com.seibel.lod.core.io.datafile.IDataSourceProvider; +import com.seibel.lod.core.io.renderfile.IRenderSourceProvider; +import com.seibel.lod.core.io.structure.SaveStructure; import com.seibel.lod.core.logging.DhLoggerBuilder; import com.seibel.lod.core.wrapperInterfaces.world.ILevelWrapper; import org.apache.logging.log4j.Logger; @@ -14,7 +14,7 @@ import java.util.stream.Collectors; import java.util.stream.Stream; // Static util class?? -public class FileScanner { +public class FileScanUtil { private static final Logger LOGGER = DhLoggerBuilder.getLogger(); public static final int MAX_SCAN_DEPTH = 5; public static final String LOD_FILE_POSTFIX = ".lod"; diff --git a/core/src/main/java/com/seibel/lod/core/util/LodUtil.java b/core/src/main/java/com/seibel/lod/core/util/LodUtil.java index 0a7230fa1..f932df0e3 100644 --- a/core/src/main/java/com/seibel/lod/core/util/LodUtil.java +++ b/core/src/main/java/com/seibel/lod/core/util/LodUtil.java @@ -26,14 +26,15 @@ import java.util.concurrent.Executors; import com.seibel.lod.core.config.Config; import com.seibel.lod.core.enums.config.EServerFolderNameMode; import com.seibel.lod.core.enums.config.EVanillaOverdraw; -import com.seibel.lod.core.handlers.dependencyInjection.SingletonInjector; +import com.seibel.lod.core.dependencyInjection.SingletonInjector; import com.seibel.lod.core.logging.DhLoggerBuilder; -import com.seibel.lod.core.objects.DHChunkPos; -import com.seibel.lod.core.objects.ParsedIp; -import com.seibel.lod.core.objects.Pos2D; -import com.seibel.lod.core.objects.opengl.DefaultLodVertexFormats; -import com.seibel.lod.core.objects.opengl.LodVertexFormat; +import com.seibel.lod.core.pos.DhChunkPos; +import com.seibel.lod.core.ParsedIp; +import com.seibel.lod.core.pos.Pos2D; +import com.seibel.lod.core.render.vertexFormat.DefaultLodVertexFormats; +import com.seibel.lod.core.render.vertexFormat.LodVertexFormat; import com.seibel.lod.core.util.gridList.EdgeDistanceBooleanGrid; +import com.seibel.lod.core.util.objects.LodThreadFactory; import com.seibel.lod.core.wrapperInterfaces.minecraft.IMinecraftRenderWrapper; import com.seibel.lod.core.wrapperInterfaces.minecraft.IMinecraftClientWrapper; import com.seibel.lod.core.wrapperInterfaces.world.IDimensionTypeWrapper; @@ -305,7 +306,7 @@ public class LodUtil if (offset == Integer.MAX_VALUE) return null; int renderDist = MC_RENDER.getRenderDistance() + 1; - Iterator posIter = MC_RENDER.getVanillaRenderedChunks().iterator(); + Iterator posIter = MC_RENDER.getVanillaRenderedChunks().iterator(); return new EdgeDistanceBooleanGrid(new Iterator() { @Override @@ -315,7 +316,7 @@ public class LodUtil @Override public Pos2D next() { - DHChunkPos pos = posIter.next(); + DhChunkPos pos = posIter.next(); return new Pos2D(pos.getX(), pos.getZ()); } }, diff --git a/core/src/main/java/com/seibel/lod/core/render/RenderUtil.java b/core/src/main/java/com/seibel/lod/core/util/RenderUtil.java similarity index 92% rename from core/src/main/java/com/seibel/lod/core/render/RenderUtil.java rename to core/src/main/java/com/seibel/lod/core/util/RenderUtil.java index 31abccd87..97dd665d6 100644 --- a/core/src/main/java/com/seibel/lod/core/render/RenderUtil.java +++ b/core/src/main/java/com/seibel/lod/core/util/RenderUtil.java @@ -17,19 +17,18 @@ * along with this program. If not, see . */ -package com.seibel.lod.core.render; +package com.seibel.lod.core.util; -import com.seibel.lod.core.a7.level.IClientLevel; -import com.seibel.lod.core.a7.world.DhWorld; -import com.seibel.lod.core.a7.world.IClientWorld; -import com.seibel.lod.core.api.internal.a7.SharedApi; +import com.seibel.lod.core.level.IClientLevel; +import com.seibel.lod.core.world.DhWorld; +import com.seibel.lod.core.world.IClientWorld; +import com.seibel.lod.core.api.internal.SharedApi; import com.seibel.lod.core.config.Config; -import com.seibel.lod.core.handlers.dependencyInjection.SingletonInjector; -import com.seibel.lod.core.objects.DHBlockPos; -import com.seibel.lod.core.objects.DHChunkPos; -import com.seibel.lod.core.objects.math.Mat4f; -import com.seibel.lod.core.objects.math.Vec3f; -import com.seibel.lod.core.util.LodUtil; +import com.seibel.lod.core.dependencyInjection.SingletonInjector; +import com.seibel.lod.core.pos.DhBlockPos; +import com.seibel.lod.core.pos.DhChunkPos; +import com.seibel.lod.core.util.math.Mat4f; +import com.seibel.lod.core.util.math.Vec3f; import com.seibel.lod.core.wrapperInterfaces.minecraft.IMinecraftClientWrapper; import com.seibel.lod.core.wrapperInterfaces.minecraft.IMinecraftRenderWrapper; import com.seibel.lod.core.wrapperInterfaces.world.ILevelWrapper; @@ -55,7 +54,7 @@ public class RenderUtil * Returns if the given ChunkPos is in the loaded area of the world. * @param center the center of the loaded world (probably the player's ChunkPos) */ - public static boolean isChunkPosInLoadedArea(DHChunkPos pos, DHChunkPos center) + public static boolean isChunkPosInLoadedArea(DhChunkPos pos, DhChunkPos center) { return (pos.getX() >= center.getX() - MC_RENDER.getRenderDistance() && pos.getX() <= center.getX() + MC_RENDER.getRenderDistance()) @@ -96,7 +95,7 @@ public class RenderUtil * Returns true if one of the region's 4 corners is in front * of the camera. */ - public static boolean isRegionInViewFrustum(DHBlockPos playerBlockPos, Vec3f cameraDir, int vboRegionX, int vboRegionZ) + public static boolean isRegionInViewFrustum(DhBlockPos playerBlockPos, Vec3f cameraDir, int vboRegionX, int vboRegionZ) { // convert the vbo position into a direction vector // starting from the player's position diff --git a/core/src/main/java/com/seibel/lod/core/util/gridList/ArrayGridList.java b/core/src/main/java/com/seibel/lod/core/util/gridList/ArrayGridList.java index 0f24cc4df..6a9acf533 100644 --- a/core/src/main/java/com/seibel/lod/core/util/gridList/ArrayGridList.java +++ b/core/src/main/java/com/seibel/lod/core/util/gridList/ArrayGridList.java @@ -19,7 +19,7 @@ package com.seibel.lod.core.util.gridList; -import com.seibel.lod.core.objects.Pos2D; +import com.seibel.lod.core.pos.Pos2D; import java.util.ArrayList; import java.util.function.BiConsumer; diff --git a/core/src/main/java/com/seibel/lod/core/util/gridList/EdgeDistanceBooleanGrid.java b/core/src/main/java/com/seibel/lod/core/util/gridList/EdgeDistanceBooleanGrid.java index 2a3686ae9..deb619b7e 100644 --- a/core/src/main/java/com/seibel/lod/core/util/gridList/EdgeDistanceBooleanGrid.java +++ b/core/src/main/java/com/seibel/lod/core/util/gridList/EdgeDistanceBooleanGrid.java @@ -19,8 +19,8 @@ package com.seibel.lod.core.util.gridList; -import com.seibel.lod.core.objects.BoolType; -import com.seibel.lod.core.objects.Pos2D; +import com.seibel.lod.core.util.objects.BoolType; +import com.seibel.lod.core.pos.Pos2D; import java.util.Iterator; import java.util.function.IntPredicate; diff --git a/core/src/main/java/com/seibel/lod/core/util/gridList/MovableGridRingList.java b/core/src/main/java/com/seibel/lod/core/util/gridList/MovableGridRingList.java index 8a58978e1..6a7791bfa 100644 --- a/core/src/main/java/com/seibel/lod/core/util/gridList/MovableGridRingList.java +++ b/core/src/main/java/com/seibel/lod/core/util/gridList/MovableGridRingList.java @@ -19,7 +19,7 @@ package com.seibel.lod.core.util.gridList; -import com.seibel.lod.core.objects.Pos2D; +import com.seibel.lod.core.pos.Pos2D; import com.seibel.lod.core.util.LodUtil; import java.util.ArrayList; diff --git a/core/src/main/java/com/seibel/lod/core/objects/math/Mat4f.java b/core/src/main/java/com/seibel/lod/core/util/math/Mat4f.java similarity index 99% rename from core/src/main/java/com/seibel/lod/core/objects/math/Mat4f.java rename to core/src/main/java/com/seibel/lod/core/util/math/Mat4f.java index 537d14925..d3fcadb10 100644 --- a/core/src/main/java/com/seibel/lod/core/objects/math/Mat4f.java +++ b/core/src/main/java/com/seibel/lod/core/util/math/Mat4f.java @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -package com.seibel.lod.core.objects.math; +package com.seibel.lod.core.util.math; import java.nio.FloatBuffer; diff --git a/core/src/main/java/com/seibel/lod/core/util/UnitBytes.java b/core/src/main/java/com/seibel/lod/core/util/math/UnitBytes.java similarity index 98% rename from core/src/main/java/com/seibel/lod/core/util/UnitBytes.java rename to core/src/main/java/com/seibel/lod/core/util/math/UnitBytes.java index 2ca943708..2b33dfbf5 100644 --- a/core/src/main/java/com/seibel/lod/core/util/UnitBytes.java +++ b/core/src/main/java/com/seibel/lod/core/util/math/UnitBytes.java @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -package com.seibel.lod.core.util; +package com.seibel.lod.core.util.math; import java.util.Objects; diff --git a/core/src/main/java/com/seibel/lod/core/objects/math/Vec3d.java b/core/src/main/java/com/seibel/lod/core/util/math/Vec3d.java similarity index 99% rename from core/src/main/java/com/seibel/lod/core/objects/math/Vec3d.java rename to core/src/main/java/com/seibel/lod/core/util/math/Vec3d.java index ff4355e94..403a4f03f 100644 --- a/core/src/main/java/com/seibel/lod/core/objects/math/Vec3d.java +++ b/core/src/main/java/com/seibel/lod/core/util/math/Vec3d.java @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -package com.seibel.lod.core.objects.math; +package com.seibel.lod.core.util.math; import com.seibel.lod.core.util.LodUtil; diff --git a/core/src/main/java/com/seibel/lod/core/objects/math/Vec3f.java b/core/src/main/java/com/seibel/lod/core/util/math/Vec3f.java similarity index 99% rename from core/src/main/java/com/seibel/lod/core/objects/math/Vec3f.java rename to core/src/main/java/com/seibel/lod/core/util/math/Vec3f.java index 31c5c5d82..b9e308023 100644 --- a/core/src/main/java/com/seibel/lod/core/objects/math/Vec3f.java +++ b/core/src/main/java/com/seibel/lod/core/util/math/Vec3f.java @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -package com.seibel.lod.core.objects.math; +package com.seibel.lod.core.util.math; import com.seibel.lod.core.util.LodUtil; diff --git a/core/src/main/java/com/seibel/lod/core/objects/math/Vec3i.java b/core/src/main/java/com/seibel/lod/core/util/math/Vec3i.java similarity index 98% rename from core/src/main/java/com/seibel/lod/core/objects/math/Vec3i.java rename to core/src/main/java/com/seibel/lod/core/util/math/Vec3i.java index 930575c0b..2c27c11a6 100644 --- a/core/src/main/java/com/seibel/lod/core/objects/math/Vec3i.java +++ b/core/src/main/java/com/seibel/lod/core/util/math/Vec3i.java @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -package com.seibel.lod.core.objects.math; +package com.seibel.lod.core.util.math; import com.seibel.lod.core.util.LodUtil; diff --git a/core/src/main/java/com/seibel/lod/core/objects/BoolType.java b/core/src/main/java/com/seibel/lod/core/util/objects/BoolType.java similarity index 95% rename from core/src/main/java/com/seibel/lod/core/objects/BoolType.java rename to core/src/main/java/com/seibel/lod/core/util/objects/BoolType.java index 38b0c5cff..4cdc928fa 100644 --- a/core/src/main/java/com/seibel/lod/core/objects/BoolType.java +++ b/core/src/main/java/com/seibel/lod/core/util/objects/BoolType.java @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -package com.seibel.lod.core.objects; +package com.seibel.lod.core.util.objects; public final class BoolType { public static final BoolType TRUE = new BoolType(); diff --git a/core/src/main/java/com/seibel/lod/core/util/DummyRunExecutorService.java b/core/src/main/java/com/seibel/lod/core/util/objects/DummyRunExecutorService.java similarity index 98% rename from core/src/main/java/com/seibel/lod/core/util/DummyRunExecutorService.java rename to core/src/main/java/com/seibel/lod/core/util/objects/DummyRunExecutorService.java index 35f8535f4..2dc64e81d 100644 --- a/core/src/main/java/com/seibel/lod/core/util/DummyRunExecutorService.java +++ b/core/src/main/java/com/seibel/lod/core/util/objects/DummyRunExecutorService.java @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -package com.seibel.lod.core.util; +package com.seibel.lod.core.util.objects; import java.util.ArrayList; import java.util.Collection; diff --git a/core/src/main/java/com/seibel/lod/core/util/EventLoop.java b/core/src/main/java/com/seibel/lod/core/util/objects/EventLoop.java similarity index 97% rename from core/src/main/java/com/seibel/lod/core/util/EventLoop.java rename to core/src/main/java/com/seibel/lod/core/util/objects/EventLoop.java index 01c4f49d3..b0e63dc2c 100644 --- a/core/src/main/java/com/seibel/lod/core/util/EventLoop.java +++ b/core/src/main/java/com/seibel/lod/core/util/objects/EventLoop.java @@ -1,4 +1,4 @@ -package com.seibel.lod.core.util; +package com.seibel.lod.core.util.objects; import com.seibel.lod.core.ModInfo; import com.seibel.lod.core.logging.DhLoggerBuilder; diff --git a/core/src/main/java/com/seibel/lod/core/util/EventTimer.java b/core/src/main/java/com/seibel/lod/core/util/objects/EventTimer.java similarity index 97% rename from core/src/main/java/com/seibel/lod/core/util/EventTimer.java rename to core/src/main/java/com/seibel/lod/core/util/objects/EventTimer.java index b07a4b359..db76adceb 100644 --- a/core/src/main/java/com/seibel/lod/core/util/EventTimer.java +++ b/core/src/main/java/com/seibel/lod/core/util/objects/EventTimer.java @@ -1,4 +1,4 @@ -package com.seibel.lod.core.util; +package com.seibel.lod.core.util.objects; import java.time.Duration; import java.util.ArrayList; diff --git a/core/src/main/java/com/seibel/lod/core/util/GLMessage.java b/core/src/main/java/com/seibel/lod/core/util/objects/GLMessage.java similarity index 99% rename from core/src/main/java/com/seibel/lod/core/util/GLMessage.java rename to core/src/main/java/com/seibel/lod/core/util/objects/GLMessage.java index 982a5b622..695c4c7c5 100644 --- a/core/src/main/java/com/seibel/lod/core/util/GLMessage.java +++ b/core/src/main/java/com/seibel/lod/core/util/objects/GLMessage.java @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -package com.seibel.lod.core.util; +package com.seibel.lod.core.util.objects; import com.seibel.lod.core.logging.DhLoggerBuilder; import org.apache.logging.log4j.Logger; diff --git a/core/src/main/java/com/seibel/lod/core/util/GLMessageOutputStream.java b/core/src/main/java/com/seibel/lod/core/util/objects/GLMessageOutputStream.java similarity index 97% rename from core/src/main/java/com/seibel/lod/core/util/GLMessageOutputStream.java rename to core/src/main/java/com/seibel/lod/core/util/objects/GLMessageOutputStream.java index b0e4f49df..ddf9ad058 100644 --- a/core/src/main/java/com/seibel/lod/core/util/GLMessageOutputStream.java +++ b/core/src/main/java/com/seibel/lod/core/util/objects/GLMessageOutputStream.java @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -package com.seibel.lod.core.util; +package com.seibel.lod.core.util.objects; import java.io.ByteArrayOutputStream; import java.io.IOException; diff --git a/core/src/main/java/com/seibel/lod/core/util/LodThreadFactory.java b/core/src/main/java/com/seibel/lod/core/util/objects/LodThreadFactory.java similarity index 98% rename from core/src/main/java/com/seibel/lod/core/util/LodThreadFactory.java rename to core/src/main/java/com/seibel/lod/core/util/objects/LodThreadFactory.java index 69539c224..926743581 100644 --- a/core/src/main/java/com/seibel/lod/core/util/LodThreadFactory.java +++ b/core/src/main/java/com/seibel/lod/core/util/objects/LodThreadFactory.java @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -package com.seibel.lod.core.util; +package com.seibel.lod.core.util.objects; import java.lang.invoke.MethodHandles; import java.lang.ref.WeakReference; diff --git a/core/src/main/java/com/seibel/lod/core/util/Reference.java b/core/src/main/java/com/seibel/lod/core/util/objects/Reference.java similarity index 87% rename from core/src/main/java/com/seibel/lod/core/util/Reference.java rename to core/src/main/java/com/seibel/lod/core/util/objects/Reference.java index e0e49d506..699e58428 100644 --- a/core/src/main/java/com/seibel/lod/core/util/Reference.java +++ b/core/src/main/java/com/seibel/lod/core/util/objects/Reference.java @@ -1,4 +1,4 @@ -package com.seibel.lod.core.util; +package com.seibel.lod.core.util.objects; public class Reference { public T v; diff --git a/core/src/main/java/com/seibel/lod/core/util/StatsMap.java b/core/src/main/java/com/seibel/lod/core/util/objects/StatsMap.java similarity index 94% rename from core/src/main/java/com/seibel/lod/core/util/StatsMap.java rename to core/src/main/java/com/seibel/lod/core/util/objects/StatsMap.java index dbe0ee02c..c3b3b072c 100644 --- a/core/src/main/java/com/seibel/lod/core/util/StatsMap.java +++ b/core/src/main/java/com/seibel/lod/core/util/objects/StatsMap.java @@ -17,7 +17,9 @@ * along with this program. If not, see . */ -package com.seibel.lod.core.util; +package com.seibel.lod.core.util.objects; + +import com.seibel.lod.core.util.math.UnitBytes; import java.util.TreeMap; diff --git a/core/src/main/java/com/seibel/lod/core/a7/util/UncheckedInterruptedException.java b/core/src/main/java/com/seibel/lod/core/util/objects/UncheckedInterruptedException.java similarity index 97% rename from core/src/main/java/com/seibel/lod/core/a7/util/UncheckedInterruptedException.java rename to core/src/main/java/com/seibel/lod/core/util/objects/UncheckedInterruptedException.java index 2b06e5dc8..e4594cdc2 100644 --- a/core/src/main/java/com/seibel/lod/core/a7/util/UncheckedInterruptedException.java +++ b/core/src/main/java/com/seibel/lod/core/util/objects/UncheckedInterruptedException.java @@ -1,4 +1,4 @@ -package com.seibel.lod.core.a7.util; +package com.seibel.lod.core.util.objects; import java.util.concurrent.CompletionException; diff --git a/core/src/main/java/com/seibel/lod/core/a7/util/UnclosableInputStream.java b/core/src/main/java/com/seibel/lod/core/util/objects/UnclosableInputStream.java similarity index 88% rename from core/src/main/java/com/seibel/lod/core/a7/util/UnclosableInputStream.java rename to core/src/main/java/com/seibel/lod/core/util/objects/UnclosableInputStream.java index 3eae49f3a..3a4860be7 100644 --- a/core/src/main/java/com/seibel/lod/core/a7/util/UnclosableInputStream.java +++ b/core/src/main/java/com/seibel/lod/core/util/objects/UnclosableInputStream.java @@ -1,4 +1,4 @@ -package com.seibel.lod.core.a7.util; +package com.seibel.lod.core.util.objects; import java.io.FilterInputStream; import java.io.IOException; diff --git a/core/src/main/java/com/seibel/lod/core/a7/util/UnclosableOutputStream.java b/core/src/main/java/com/seibel/lod/core/util/objects/UnclosableOutputStream.java similarity index 87% rename from core/src/main/java/com/seibel/lod/core/a7/util/UnclosableOutputStream.java rename to core/src/main/java/com/seibel/lod/core/util/objects/UnclosableOutputStream.java index 508e4735f..676f85507 100644 --- a/core/src/main/java/com/seibel/lod/core/a7/util/UnclosableOutputStream.java +++ b/core/src/main/java/com/seibel/lod/core/util/objects/UnclosableOutputStream.java @@ -1,4 +1,4 @@ -package com.seibel.lod.core.a7.util; +package com.seibel.lod.core.util.objects; import java.io.FilterOutputStream; import java.io.IOException; diff --git a/core/src/main/java/com/seibel/lod/core/a7/world/DhClientServerWorld.java b/core/src/main/java/com/seibel/lod/core/world/DhClientServerWorld.java similarity index 92% rename from core/src/main/java/com/seibel/lod/core/a7/world/DhClientServerWorld.java rename to core/src/main/java/com/seibel/lod/core/world/DhClientServerWorld.java index 2b18b9bd1..be706da31 100644 --- a/core/src/main/java/com/seibel/lod/core/a7/world/DhClientServerWorld.java +++ b/core/src/main/java/com/seibel/lod/core/world/DhClientServerWorld.java @@ -1,11 +1,10 @@ -package com.seibel.lod.core.a7.world; +package com.seibel.lod.core.world; -import com.seibel.lod.core.a7.level.DhClientServerLevel; -import com.seibel.lod.core.a7.level.ILevel; -import com.seibel.lod.core.a7.save.structure.LocalSaveStructure; -import com.seibel.lod.core.config.Config; +import com.seibel.lod.core.level.DhClientServerLevel; +import com.seibel.lod.core.level.ILevel; +import com.seibel.lod.core.io.structure.LocalSaveStructure; import com.seibel.lod.core.logging.f3.F3Screen; -import com.seibel.lod.core.util.EventLoop; +import com.seibel.lod.core.util.objects.EventLoop; import com.seibel.lod.core.util.LodUtil; import com.seibel.lod.core.wrapperInterfaces.world.IClientLevelWrapper; import com.seibel.lod.core.wrapperInterfaces.world.ILevelWrapper; @@ -14,8 +13,6 @@ import com.seibel.lod.core.wrapperInterfaces.world.IServerLevelWrapper; import java.io.File; import java.util.HashMap; import java.util.HashSet; -import java.util.Iterator; -import java.util.LinkedList; import java.util.concurrent.CompletableFuture; import java.util.concurrent.ExecutorService; diff --git a/core/src/main/java/com/seibel/lod/core/a7/world/DhClientWorld.java b/core/src/main/java/com/seibel/lod/core/world/DhClientWorld.java similarity index 92% rename from core/src/main/java/com/seibel/lod/core/a7/world/DhClientWorld.java rename to core/src/main/java/com/seibel/lod/core/world/DhClientWorld.java index 806b1311d..aadad37ac 100644 --- a/core/src/main/java/com/seibel/lod/core/a7/world/DhClientWorld.java +++ b/core/src/main/java/com/seibel/lod/core/world/DhClientWorld.java @@ -1,11 +1,11 @@ -package com.seibel.lod.core.a7.world; +package com.seibel.lod.core.world; -import com.seibel.lod.core.a7.level.DhClientLevel; -import com.seibel.lod.core.a7.level.ILevel; -import com.seibel.lod.core.a7.save.structure.ClientOnlySaveStructure; +import com.seibel.lod.core.level.DhClientLevel; +import com.seibel.lod.core.level.ILevel; +import com.seibel.lod.core.io.structure.ClientOnlySaveStructure; import com.seibel.lod.core.config.Config; import com.seibel.lod.core.util.DetailDistanceUtil; -import com.seibel.lod.core.util.EventLoop; +import com.seibel.lod.core.util.objects.EventLoop; import com.seibel.lod.core.util.LodUtil; import com.seibel.lod.core.wrapperInterfaces.world.IClientLevelWrapper; import com.seibel.lod.core.wrapperInterfaces.world.ILevelWrapper; diff --git a/core/src/main/java/com/seibel/lod/core/a7/world/DhServerWorld.java b/core/src/main/java/com/seibel/lod/core/world/DhServerWorld.java similarity index 92% rename from core/src/main/java/com/seibel/lod/core/a7/world/DhServerWorld.java rename to core/src/main/java/com/seibel/lod/core/world/DhServerWorld.java index 2110cbe49..441063d2d 100644 --- a/core/src/main/java/com/seibel/lod/core/a7/world/DhServerWorld.java +++ b/core/src/main/java/com/seibel/lod/core/world/DhServerWorld.java @@ -1,8 +1,8 @@ -package com.seibel.lod.core.a7.world; +package com.seibel.lod.core.world; -import com.seibel.lod.core.a7.level.DhServerLevel; -import com.seibel.lod.core.a7.level.ILevel; -import com.seibel.lod.core.a7.save.structure.LocalSaveStructure; +import com.seibel.lod.core.level.DhServerLevel; +import com.seibel.lod.core.level.ILevel; +import com.seibel.lod.core.io.structure.LocalSaveStructure; import com.seibel.lod.core.util.LodUtil; import com.seibel.lod.core.wrapperInterfaces.world.ILevelWrapper; import com.seibel.lod.core.wrapperInterfaces.world.IServerLevelWrapper; diff --git a/core/src/main/java/com/seibel/lod/core/a7/world/DhWorld.java b/core/src/main/java/com/seibel/lod/core/world/DhWorld.java similarity index 91% rename from core/src/main/java/com/seibel/lod/core/a7/world/DhWorld.java rename to core/src/main/java/com/seibel/lod/core/world/DhWorld.java index 8f69cad4d..47cb2eb3b 100644 --- a/core/src/main/java/com/seibel/lod/core/a7/world/DhWorld.java +++ b/core/src/main/java/com/seibel/lod/core/world/DhWorld.java @@ -1,6 +1,6 @@ -package com.seibel.lod.core.a7.world; +package com.seibel.lod.core.world; -import com.seibel.lod.core.a7.level.ILevel; +import com.seibel.lod.core.level.ILevel; import com.seibel.lod.core.logging.DhLoggerBuilder; import com.seibel.lod.core.wrapperInterfaces.world.ILevelWrapper; import org.apache.logging.log4j.Logger; diff --git a/core/src/main/java/com/seibel/lod/core/a7/world/IClientWorld.java b/core/src/main/java/com/seibel/lod/core/world/IClientWorld.java similarity index 60% rename from core/src/main/java/com/seibel/lod/core/a7/world/IClientWorld.java rename to core/src/main/java/com/seibel/lod/core/world/IClientWorld.java index f9d36cbc8..20bc05bb6 100644 --- a/core/src/main/java/com/seibel/lod/core/a7/world/IClientWorld.java +++ b/core/src/main/java/com/seibel/lod/core/world/IClientWorld.java @@ -1,4 +1,4 @@ -package com.seibel.lod.core.a7.world; +package com.seibel.lod.core.world; public interface IClientWorld { void clientTick(); diff --git a/core/src/main/java/com/seibel/lod/core/a7/world/IServerWorld.java b/core/src/main/java/com/seibel/lod/core/world/IServerWorld.java similarity index 68% rename from core/src/main/java/com/seibel/lod/core/a7/world/IServerWorld.java rename to core/src/main/java/com/seibel/lod/core/world/IServerWorld.java index adc899dc6..630c510dc 100644 --- a/core/src/main/java/com/seibel/lod/core/a7/world/IServerWorld.java +++ b/core/src/main/java/com/seibel/lod/core/world/IServerWorld.java @@ -1,4 +1,4 @@ -package com.seibel.lod.core.a7.world; +package com.seibel.lod.core.world; public interface IServerWorld { void serverTick(); diff --git a/core/src/main/java/com/seibel/lod/core/a7/world/WorldEnvironment.java b/core/src/main/java/com/seibel/lod/core/world/WorldEnvironment.java similarity index 69% rename from core/src/main/java/com/seibel/lod/core/a7/world/WorldEnvironment.java rename to core/src/main/java/com/seibel/lod/core/world/WorldEnvironment.java index b595277d8..2a01962ae 100644 --- a/core/src/main/java/com/seibel/lod/core/a7/world/WorldEnvironment.java +++ b/core/src/main/java/com/seibel/lod/core/world/WorldEnvironment.java @@ -1,4 +1,4 @@ -package com.seibel.lod.core.a7.world; +package com.seibel.lod.core.world; public enum WorldEnvironment { Client_Only, diff --git a/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/IVersionConstants.java b/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/IVersionConstants.java index 40f1dffb4..743ac4b73 100644 --- a/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/IVersionConstants.java +++ b/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/IVersionConstants.java @@ -19,7 +19,7 @@ package com.seibel.lod.core.wrapperInterfaces; -import com.seibel.lod.core.handlers.dependencyInjection.IBindable; +import com.seibel.lod.core.dependencyInjection.IBindable; /** * A singleton that contains variables specific to each version of Minecraft diff --git a/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/IWrapperFactory.java b/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/IWrapperFactory.java index d272a1a51..09d2a4b7f 100644 --- a/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/IWrapperFactory.java +++ b/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/IWrapperFactory.java @@ -19,8 +19,8 @@ package com.seibel.lod.core.wrapperInterfaces; -import com.seibel.lod.core.a7.level.ILevel; -import com.seibel.lod.core.handlers.dependencyInjection.IBindable; +import com.seibel.lod.core.level.ILevel; +import com.seibel.lod.core.dependencyInjection.IBindable; import com.seibel.lod.core.wrapperInterfaces.block.IBlockStateWrapper; import com.seibel.lod.core.wrapperInterfaces.world.IBiomeWrapper; import com.seibel.lod.core.wrapperInterfaces.worldGeneration.AbstractBatchGenerationEnvionmentWrapper; diff --git a/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/block/IBlockStateWrapper.java b/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/block/IBlockStateWrapper.java index 7fa4fa1be..b6c038a18 100644 --- a/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/block/IBlockStateWrapper.java +++ b/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/block/IBlockStateWrapper.java @@ -1,10 +1,5 @@ package com.seibel.lod.core.wrapperInterfaces.block; -import com.seibel.lod.core.enums.ELodDirection; -import com.seibel.lod.core.enums.config.EBlocksToAvoid; -import com.seibel.lod.core.objects.DHBlockPos; -import com.seibel.lod.core.wrapperInterfaces.chunk.IChunkWrapper; - public interface IBlockStateWrapper { String serialize(); diff --git a/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/chunk/IChunkWrapper.java b/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/chunk/IChunkWrapper.java index 500947e12..7b2cbe1f6 100644 --- a/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/chunk/IChunkWrapper.java +++ b/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/chunk/IChunkWrapper.java @@ -19,8 +19,8 @@ package com.seibel.lod.core.wrapperInterfaces.chunk; -import com.seibel.lod.core.handlers.dependencyInjection.IBindable; -import com.seibel.lod.core.objects.DHChunkPos; +import com.seibel.lod.core.dependencyInjection.IBindable; +import com.seibel.lod.core.pos.DhChunkPos; import com.seibel.lod.core.util.LodUtil; import com.seibel.lod.core.wrapperInterfaces.block.IBlockStateWrapper; import com.seibel.lod.core.wrapperInterfaces.world.IBiomeWrapper; @@ -91,5 +91,5 @@ public interface IChunkWrapper extends IBindable IBlockStateWrapper getBlockState(int x, int y, int z); IBiomeWrapper getBiome(int x, int y, int z); - DHChunkPos getChunkPos(); + DhChunkPos getChunkPos(); } diff --git a/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/config/IConfigWrapper.java b/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/config/IConfigWrapper.java index 58cd1b49c..371637890 100644 --- a/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/config/IConfigWrapper.java +++ b/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/config/IConfigWrapper.java @@ -1,6 +1,6 @@ package com.seibel.lod.core.wrapperInterfaces.config; -import com.seibel.lod.core.handlers.dependencyInjection.IBindable; +import com.seibel.lod.core.dependencyInjection.IBindable; public interface IConfigWrapper extends IBindable { diff --git a/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/config/ILodConfigWrapperSingleton.java b/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/config/ILodConfigWrapperSingleton.java index 971b28883..1013600d3 100644 --- a/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/config/ILodConfigWrapperSingleton.java +++ b/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/config/ILodConfigWrapperSingleton.java @@ -26,9 +26,9 @@ import com.seibel.lod.core.enums.rendering.EFogDistance; import com.seibel.lod.core.enums.rendering.ERendererMode; import com.seibel.lod.core.enums.config.*; import com.seibel.lod.core.enums.rendering.*; -import com.seibel.lod.core.handlers.dependencyInjection.IBindable; -import com.seibel.lod.core.handlers.dependencyInjection.SingletonInjector; -import com.seibel.lod.core.objects.FogSettings; +import com.seibel.lod.core.dependencyInjection.IBindable; +import com.seibel.lod.core.dependencyInjection.SingletonInjector; +import com.seibel.lod.core.render.fog.FogSettings; import com.seibel.lod.core.wrapperInterfaces.minecraft.IMinecraftClientWrapper; /** diff --git a/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/minecraft/IMinecraftClientWrapper.java b/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/minecraft/IMinecraftClientWrapper.java index e81ddf069..d3b07aba7 100644 --- a/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/minecraft/IMinecraftClientWrapper.java +++ b/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/minecraft/IMinecraftClientWrapper.java @@ -24,10 +24,9 @@ import java.util.ArrayList; import com.seibel.lod.core.ModInfo; import com.seibel.lod.core.enums.ELodDirection; -import com.seibel.lod.core.handlers.dependencyInjection.IBindable; -import com.seibel.lod.core.objects.DHBlockPos; -import com.seibel.lod.core.objects.DHChunkPos; -import com.seibel.lod.core.wrapperInterfaces.world.IDimensionTypeWrapper; +import com.seibel.lod.core.dependencyInjection.IBindable; +import com.seibel.lod.core.pos.DhBlockPos; +import com.seibel.lod.core.pos.DhChunkPos; import com.seibel.lod.core.wrapperInterfaces.world.ILevelWrapper; import org.apache.logging.log4j.Level; @@ -71,9 +70,9 @@ public interface IMinecraftClientWrapper extends IBindable boolean playerExists(); - DHBlockPos getPlayerBlockPos(); + DhBlockPos getPlayerBlockPos(); - DHChunkPos getPlayerChunkPos(); + DhChunkPos getPlayerChunkPos(); @Deprecated ILevelWrapper getWrappedClientWorld(); diff --git a/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/minecraft/IMinecraftRenderWrapper.java b/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/minecraft/IMinecraftRenderWrapper.java index b91b2cd61..4b4d3bbc8 100644 --- a/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/minecraft/IMinecraftRenderWrapper.java +++ b/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/minecraft/IMinecraftRenderWrapper.java @@ -22,14 +22,14 @@ package com.seibel.lod.core.wrapperInterfaces.minecraft; import java.awt.Color; import java.util.HashSet; -import com.seibel.lod.core.handlers.dependencyInjection.IBindable; -import com.seibel.lod.core.handlers.dependencyInjection.ModAccessorInjector; -import com.seibel.lod.core.handlers.dependencyInjection.SingletonInjector; -import com.seibel.lod.core.objects.DHBlockPos; -import com.seibel.lod.core.objects.DHChunkPos; -import com.seibel.lod.core.objects.math.Mat4f; -import com.seibel.lod.core.objects.math.Vec3d; -import com.seibel.lod.core.objects.math.Vec3f; +import com.seibel.lod.core.dependencyInjection.IBindable; +import com.seibel.lod.core.dependencyInjection.ModAccessorInjector; +import com.seibel.lod.core.dependencyInjection.SingletonInjector; +import com.seibel.lod.core.pos.DhBlockPos; +import com.seibel.lod.core.pos.DhChunkPos; +import com.seibel.lod.core.util.math.Mat4f; +import com.seibel.lod.core.util.math.Vec3d; +import com.seibel.lod.core.util.math.Vec3f; import com.seibel.lod.core.wrapperInterfaces.IVersionConstants; import com.seibel.lod.core.wrapperInterfaces.IWrapperFactory; import com.seibel.lod.core.wrapperInterfaces.misc.ILightMapWrapper; @@ -47,7 +47,7 @@ public interface IMinecraftRenderWrapper extends IBindable { Vec3f getLookAtVector(); - DHBlockPos getCameraBlockPosition(); + DhBlockPos getCameraBlockPosition(); boolean playerHasBlindnessEffect(); @@ -83,7 +83,7 @@ public interface IMinecraftRenderWrapper extends IBindable *
* If not implemented this calls {@link #getMaximumRenderedChunks()}. */ - default HashSet getVanillaRenderedChunks() + default HashSet getVanillaRenderedChunks() { ISodiumAccessor sodium = ModAccessorInjector.INSTANCE.get(ISodiumAccessor.class); return sodium==null ? getMaximumRenderedChunks() : sodium.getNormalRenderedChunks(); @@ -99,7 +99,7 @@ public interface IMinecraftRenderWrapper extends IBindable * Doesn't need to be implemented.
* Returns every chunk position within the vanilla render distance. */ - default HashSet getMaximumRenderedChunks() + default HashSet getMaximumRenderedChunks() { IMinecraftClientWrapper mcWrapper = SingletonInjector.INSTANCE.get(IMinecraftClientWrapper.class); IWrapperFactory factory = SingletonInjector.INSTANCE.get(IWrapperFactory.class); @@ -109,13 +109,13 @@ public interface IMinecraftRenderWrapper extends IBindable int chunkDist = this.getRenderDistance() + 1; // For some reason having '+1' is actually closer to real value - DHChunkPos centerChunkPos = mcWrapper.getPlayerChunkPos(); + DhChunkPos centerChunkPos = mcWrapper.getPlayerChunkPos(); int centerChunkX = centerChunkPos.getX(); int centerChunkZ = centerChunkPos.getZ(); int chunkDist2Mul4 = chunkDist*chunkDist*4; // add every position within render distance - HashSet renderedPos = new HashSet(); + HashSet renderedPos = new HashSet(); for (int deltaChunkX = -chunkDist; deltaChunkX <= chunkDist; deltaChunkX++) { for(int deltaChunkZ = -chunkDist; deltaChunkZ <= chunkDist; deltaChunkZ++) @@ -125,7 +125,7 @@ public interface IMinecraftRenderWrapper extends IBindable continue; } if (!clientWorld.hasChunkLoaded(centerChunkX + deltaChunkX, centerChunkZ + deltaChunkZ)) continue; - renderedPos.add(new DHChunkPos(centerChunkX + deltaChunkX, centerChunkZ + deltaChunkZ)); + renderedPos.add(new DhChunkPos(centerChunkX + deltaChunkX, centerChunkZ + deltaChunkZ)); } } return renderedPos; diff --git a/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/minecraft/IMinecraftSharedWrapper.java b/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/minecraft/IMinecraftSharedWrapper.java index e17eb437c..6d0f788b3 100644 --- a/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/minecraft/IMinecraftSharedWrapper.java +++ b/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/minecraft/IMinecraftSharedWrapper.java @@ -1,6 +1,6 @@ package com.seibel.lod.core.wrapperInterfaces.minecraft; -import com.seibel.lod.core.handlers.dependencyInjection.IBindable; +import com.seibel.lod.core.dependencyInjection.IBindable; import java.io.File; diff --git a/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/minecraft/IProfilerWrapper.java b/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/minecraft/IProfilerWrapper.java index 483e954a1..d08e2745c 100644 --- a/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/minecraft/IProfilerWrapper.java +++ b/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/minecraft/IProfilerWrapper.java @@ -19,7 +19,7 @@ package com.seibel.lod.core.wrapperInterfaces.minecraft; -import com.seibel.lod.core.handlers.dependencyInjection.IBindable; +import com.seibel.lod.core.dependencyInjection.IBindable; /** * @author James Seibel diff --git a/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/misc/ILightMapWrapper.java b/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/misc/ILightMapWrapper.java index 1b67bafdf..08f156e14 100644 --- a/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/misc/ILightMapWrapper.java +++ b/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/misc/ILightMapWrapper.java @@ -19,7 +19,7 @@ package com.seibel.lod.core.wrapperInterfaces.misc; -import com.seibel.lod.core.handlers.dependencyInjection.IBindable; +import com.seibel.lod.core.dependencyInjection.IBindable; /** * @author James Seibel diff --git a/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/modAccessor/IModAccessor.java b/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/modAccessor/IModAccessor.java index 675bc6a23..33d2f7a41 100644 --- a/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/modAccessor/IModAccessor.java +++ b/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/modAccessor/IModAccessor.java @@ -19,7 +19,7 @@ package com.seibel.lod.core.wrapperInterfaces.modAccessor; -import com.seibel.lod.core.handlers.dependencyInjection.IBindable; +import com.seibel.lod.core.dependencyInjection.IBindable; /** * @author Leetom diff --git a/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/modAccessor/IModChecker.java b/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/modAccessor/IModChecker.java index 6a976146d..bf0f822ae 100644 --- a/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/modAccessor/IModChecker.java +++ b/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/modAccessor/IModChecker.java @@ -19,7 +19,7 @@ package com.seibel.lod.core.wrapperInterfaces.modAccessor; -import com.seibel.lod.core.handlers.dependencyInjection.IBindable; +import com.seibel.lod.core.dependencyInjection.IBindable; /** * Checks if a mod is loaded diff --git a/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/modAccessor/IOptifineAccessor.java b/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/modAccessor/IOptifineAccessor.java index 7efed65fa..b5a935484 100644 --- a/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/modAccessor/IOptifineAccessor.java +++ b/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/modAccessor/IOptifineAccessor.java @@ -19,14 +19,14 @@ package com.seibel.lod.core.wrapperInterfaces.modAccessor; -import com.seibel.lod.core.objects.DHChunkPos; +import com.seibel.lod.core.pos.DhChunkPos; import java.util.HashSet; public interface IOptifineAccessor extends IModAccessor { /** Can be null */ - HashSet getNormalRenderedChunks(); + HashSet getNormalRenderedChunks(); /** * Returns the percentage multiplier of the screen's current resolution.
diff --git a/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/modAccessor/ISodiumAccessor.java b/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/modAccessor/ISodiumAccessor.java index 2b6ff234e..9ca8f7094 100644 --- a/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/modAccessor/ISodiumAccessor.java +++ b/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/modAccessor/ISodiumAccessor.java @@ -19,10 +19,10 @@ package com.seibel.lod.core.wrapperInterfaces.modAccessor; -import com.seibel.lod.core.objects.DHChunkPos; +import com.seibel.lod.core.pos.DhChunkPos; import java.util.HashSet; public interface ISodiumAccessor extends IModAccessor { - HashSet getNormalRenderedChunks(); + HashSet getNormalRenderedChunks(); } diff --git a/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/world/IBiomeWrapper.java b/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/world/IBiomeWrapper.java index 7efd44049..9f20b0eb0 100644 --- a/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/world/IBiomeWrapper.java +++ b/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/world/IBiomeWrapper.java @@ -19,7 +19,7 @@ package com.seibel.lod.core.wrapperInterfaces.world; -import com.seibel.lod.core.handlers.dependencyInjection.IBindable; +import com.seibel.lod.core.dependencyInjection.IBindable; /** * @author James Seibel diff --git a/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/world/IClientLevelWrapper.java b/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/world/IClientLevelWrapper.java index a7c61b5be..6df90b3a6 100644 --- a/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/world/IClientLevelWrapper.java +++ b/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/world/IClientLevelWrapper.java @@ -1,6 +1,6 @@ package com.seibel.lod.core.wrapperInterfaces.world; -import com.seibel.lod.core.objects.DHBlockPos; +import com.seibel.lod.core.pos.DhBlockPos; import com.seibel.lod.core.wrapperInterfaces.block.IBlockStateWrapper; import javax.annotation.Nullable; @@ -8,5 +8,5 @@ import javax.annotation.Nullable; public interface IClientLevelWrapper extends ILevelWrapper { @Nullable IServerLevelWrapper tryGetServerSideWrapper(); - int computeBaseColor(DHBlockPos pos, IBiomeWrapper biome, IBlockStateWrapper blockState); + int computeBaseColor(DhBlockPos pos, IBiomeWrapper biome, IBlockStateWrapper blockState); } diff --git a/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/world/IDimensionTypeWrapper.java b/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/world/IDimensionTypeWrapper.java index 6cc9eb765..6963a4cf6 100644 --- a/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/world/IDimensionTypeWrapper.java +++ b/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/world/IDimensionTypeWrapper.java @@ -19,7 +19,7 @@ package com.seibel.lod.core.wrapperInterfaces.world; -import com.seibel.lod.core.handlers.dependencyInjection.IBindable; +import com.seibel.lod.core.dependencyInjection.IBindable; /** * @author James Seibel diff --git a/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/world/ILevelWrapper.java b/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/world/ILevelWrapper.java index 028cb74d6..a8127a0f9 100644 --- a/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/world/ILevelWrapper.java +++ b/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/world/ILevelWrapper.java @@ -19,12 +19,9 @@ package com.seibel.lod.core.wrapperInterfaces.world; -import java.io.File; - -import com.seibel.lod.core.enums.ELevelType; -import com.seibel.lod.core.handlers.dependencyInjection.IBindable; -import com.seibel.lod.core.objects.DHBlockPos; -import com.seibel.lod.core.objects.DHChunkPos; +import com.seibel.lod.core.dependencyInjection.IBindable; +import com.seibel.lod.core.pos.DhBlockPos; +import com.seibel.lod.core.pos.DhChunkPos; import com.seibel.lod.core.wrapperInterfaces.block.IBlockStateWrapper; import com.seibel.lod.core.wrapperInterfaces.chunk.IChunkWrapper; @@ -50,13 +47,13 @@ public interface ILevelWrapper extends IBindable default short getMinHeight() { return 0; } - default IChunkWrapper tryGetChunk(DHChunkPos pos) { return null; } + default IChunkWrapper tryGetChunk(DhChunkPos pos) { return null; } boolean hasChunkLoaded(int chunkX, int chunkZ); - IBlockStateWrapper getBlockState(DHBlockPos pos); + IBlockStateWrapper getBlockState(DhBlockPos pos); - IBiomeWrapper getBiome(DHBlockPos pos); + IBiomeWrapper getBiome(DhBlockPos pos); Object unwrapLevel(); diff --git a/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/worldGeneration/AbstractBatchGenerationEnvionmentWrapper.java b/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/worldGeneration/AbstractBatchGenerationEnvionmentWrapper.java index bda96e1dd..20fde8285 100644 --- a/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/worldGeneration/AbstractBatchGenerationEnvionmentWrapper.java +++ b/core/src/main/java/com/seibel/lod/core/wrapperInterfaces/worldGeneration/AbstractBatchGenerationEnvionmentWrapper.java @@ -19,7 +19,7 @@ package com.seibel.lod.core.wrapperInterfaces.worldGeneration; -import com.seibel.lod.core.a7.level.ILevel; +import com.seibel.lod.core.level.ILevel; import com.seibel.lod.core.wrapperInterfaces.chunk.IChunkWrapper; import java.util.concurrent.CompletableFuture; diff --git a/core/src/test/java/testItems/overrideInjection/objects/OverrideTestCore.java b/core/src/test/java/testItems/overrideInjection/objects/OverrideTestCore.java index 07c8f0b98..049c262cc 100644 --- a/core/src/test/java/testItems/overrideInjection/objects/OverrideTestCore.java +++ b/core/src/test/java/testItems/overrideInjection/objects/OverrideTestCore.java @@ -1,6 +1,6 @@ package testItems.overrideInjection.objects; -import com.seibel.lod.core.handlers.dependencyInjection.OverrideInjector; +import com.seibel.lod.core.dependencyInjection.OverrideInjector; import testItems.overrideInjection.interfaces.IOverrideTest; /** diff --git a/core/src/test/java/testItems/overrideInjection/objects/OverrideTestPrimary.java b/core/src/test/java/testItems/overrideInjection/objects/OverrideTestPrimary.java index 947f3ee74..126140ae5 100644 --- a/core/src/test/java/testItems/overrideInjection/objects/OverrideTestPrimary.java +++ b/core/src/test/java/testItems/overrideInjection/objects/OverrideTestPrimary.java @@ -1,6 +1,6 @@ package testItems.overrideInjection.objects; -import com.seibel.lod.core.handlers.dependencyInjection.OverrideInjector; +import com.seibel.lod.core.dependencyInjection.OverrideInjector; import testItems.overrideInjection.interfaces.IOverrideTest; /** diff --git a/core/src/test/java/testItems/singletonInjection/interfaces/ISingletonTestOne.java b/core/src/test/java/testItems/singletonInjection/interfaces/ISingletonTestOne.java index 2866816a5..0a96355b0 100644 --- a/core/src/test/java/testItems/singletonInjection/interfaces/ISingletonTestOne.java +++ b/core/src/test/java/testItems/singletonInjection/interfaces/ISingletonTestOne.java @@ -1,6 +1,6 @@ package testItems.singletonInjection.interfaces; -import com.seibel.lod.core.handlers.dependencyInjection.IBindable; +import com.seibel.lod.core.dependencyInjection.IBindable; /** * Dummy test interface for dependency unit tests. diff --git a/core/src/test/java/testItems/singletonInjection/interfaces/ISingletonTestTwo.java b/core/src/test/java/testItems/singletonInjection/interfaces/ISingletonTestTwo.java index e74bb4799..21b4922d0 100644 --- a/core/src/test/java/testItems/singletonInjection/interfaces/ISingletonTestTwo.java +++ b/core/src/test/java/testItems/singletonInjection/interfaces/ISingletonTestTwo.java @@ -1,6 +1,6 @@ package testItems.singletonInjection.interfaces; -import com.seibel.lod.core.handlers.dependencyInjection.IBindable; +import com.seibel.lod.core.dependencyInjection.IBindable; /** * Dummy test interface for dependency unit tests. diff --git a/core/src/test/java/testItems/singletonInjection/objects/ConcreteSingletonTestBoth.java b/core/src/test/java/testItems/singletonInjection/objects/ConcreteSingletonTestBoth.java index 8f894d9e4..7f43f6781 100644 --- a/core/src/test/java/testItems/singletonInjection/objects/ConcreteSingletonTestBoth.java +++ b/core/src/test/java/testItems/singletonInjection/objects/ConcreteSingletonTestBoth.java @@ -1,6 +1,6 @@ package testItems.singletonInjection.objects; -import com.seibel.lod.core.handlers.dependencyInjection.IBindable; +import com.seibel.lod.core.dependencyInjection.IBindable; import testItems.singletonInjection.interfaces.ISingletonTestOne; import testItems.singletonInjection.interfaces.ISingletonTestTwo; diff --git a/core/src/test/java/testItems/singletonInjection/objects/ConcreteSingletonTestOne.java b/core/src/test/java/testItems/singletonInjection/objects/ConcreteSingletonTestOne.java index 226247869..b8ffd472d 100644 --- a/core/src/test/java/testItems/singletonInjection/objects/ConcreteSingletonTestOne.java +++ b/core/src/test/java/testItems/singletonInjection/objects/ConcreteSingletonTestOne.java @@ -1,10 +1,9 @@ package testItems.singletonInjection.objects; -import com.seibel.lod.core.handlers.dependencyInjection.DependencyInjector; -import com.seibel.lod.core.handlers.dependencyInjection.IBindable; +import com.seibel.lod.core.dependencyInjection.DependencyInjector; +import com.seibel.lod.core.dependencyInjection.IBindable; import testItems.singletonInjection.interfaces.ISingletonTestOne; import testItems.singletonInjection.interfaces.ISingletonTestTwo; -import tests.DependencyInjectorTest; /** * Dummy test implementation object for dependency injection unit tests. diff --git a/core/src/test/java/testItems/singletonInjection/objects/ConcreteSingletonTestTwo.java b/core/src/test/java/testItems/singletonInjection/objects/ConcreteSingletonTestTwo.java index be4d606b9..ef5805c09 100644 --- a/core/src/test/java/testItems/singletonInjection/objects/ConcreteSingletonTestTwo.java +++ b/core/src/test/java/testItems/singletonInjection/objects/ConcreteSingletonTestTwo.java @@ -1,10 +1,9 @@ package testItems.singletonInjection.objects; -import com.seibel.lod.core.handlers.dependencyInjection.DependencyInjector; -import com.seibel.lod.core.handlers.dependencyInjection.IBindable; +import com.seibel.lod.core.dependencyInjection.DependencyInjector; +import com.seibel.lod.core.dependencyInjection.IBindable; import testItems.singletonInjection.interfaces.ISingletonTestOne; import testItems.singletonInjection.interfaces.ISingletonTestTwo; -import tests.DependencyInjectorTest; /** * Dummy test implementation object for dependency injection unit tests. diff --git a/core/src/test/java/testItems/worldGeneratorInjection/objects/WorldGeneratorTestCore.java b/core/src/test/java/testItems/worldGeneratorInjection/objects/WorldGeneratorTestCore.java index 4ce35da3a..e9b6aaa57 100644 --- a/core/src/test/java/testItems/worldGeneratorInjection/objects/WorldGeneratorTestCore.java +++ b/core/src/test/java/testItems/worldGeneratorInjection/objects/WorldGeneratorTestCore.java @@ -4,7 +4,7 @@ import com.seibel.lod.core.api.external.coreImplementations.interfaces.override. import com.seibel.lod.core.api.external.coreImplementations.interfaces.wrappers.world.ICoreDhApiLevelWrapper; import com.seibel.lod.core.enums.worldGeneration.EWorldGenThreadMode; import com.seibel.lod.core.enums.worldGeneration.EWorldGenerationStep; -import com.seibel.lod.core.handlers.dependencyInjection.OverrideInjector; +import com.seibel.lod.core.dependencyInjection.OverrideInjector; import com.seibel.lod.core.wrapperInterfaces.chunk.IChunkWrapper; /** diff --git a/core/src/test/java/testItems/worldGeneratorInjection/objects/WorldGeneratorTestPrimary.java b/core/src/test/java/testItems/worldGeneratorInjection/objects/WorldGeneratorTestPrimary.java index 5127710ca..5be747a4b 100644 --- a/core/src/test/java/testItems/worldGeneratorInjection/objects/WorldGeneratorTestPrimary.java +++ b/core/src/test/java/testItems/worldGeneratorInjection/objects/WorldGeneratorTestPrimary.java @@ -4,7 +4,7 @@ import com.seibel.lod.core.api.external.coreImplementations.interfaces.override. import com.seibel.lod.core.api.external.coreImplementations.interfaces.wrappers.world.ICoreDhApiLevelWrapper; import com.seibel.lod.core.enums.worldGeneration.EWorldGenThreadMode; import com.seibel.lod.core.enums.worldGeneration.EWorldGenerationStep; -import com.seibel.lod.core.handlers.dependencyInjection.OverrideInjector; +import com.seibel.lod.core.dependencyInjection.OverrideInjector; import com.seibel.lod.core.wrapperInterfaces.chunk.IChunkWrapper; /** diff --git a/core/src/test/java/testItems/worldGeneratorInjection/objects/WorldGeneratorTestSecondary.java b/core/src/test/java/testItems/worldGeneratorInjection/objects/WorldGeneratorTestSecondary.java index bf3b14bcc..774ba4fd8 100644 --- a/core/src/test/java/testItems/worldGeneratorInjection/objects/WorldGeneratorTestSecondary.java +++ b/core/src/test/java/testItems/worldGeneratorInjection/objects/WorldGeneratorTestSecondary.java @@ -4,7 +4,7 @@ import com.seibel.lod.core.api.external.coreImplementations.interfaces.override. import com.seibel.lod.core.api.external.coreImplementations.interfaces.wrappers.world.ICoreDhApiLevelWrapper; import com.seibel.lod.core.enums.worldGeneration.EWorldGenThreadMode; import com.seibel.lod.core.enums.worldGeneration.EWorldGenerationStep; -import com.seibel.lod.core.handlers.dependencyInjection.OverrideInjector; +import com.seibel.lod.core.dependencyInjection.OverrideInjector; import com.seibel.lod.core.wrapperInterfaces.chunk.IChunkWrapper; /** diff --git a/core/src/test/java/tests/DependencyInjectorTest.java b/core/src/test/java/tests/DependencyInjectorTest.java index 2f01fda45..536d807f5 100644 --- a/core/src/test/java/tests/DependencyInjectorTest.java +++ b/core/src/test/java/tests/DependencyInjectorTest.java @@ -2,8 +2,11 @@ package tests; import com.seibel.lod.core.api.external.coreImplementations.interfaces.override.worldGenerator.ICoreDhApiWorldGenerator; import com.seibel.lod.core.api.external.coreImplementations.interfaces.wrappers.world.ICoreDhApiLevelWrapper; +import com.seibel.lod.core.dependencyInjection.DependencyInjector; +import com.seibel.lod.core.dependencyInjection.IBindable; +import com.seibel.lod.core.dependencyInjection.OverrideInjector; +import com.seibel.lod.core.dependencyInjection.WorldGeneratorInjector; import com.seibel.lod.core.enums.worldGeneration.EWorldGenThreadMode; -import com.seibel.lod.core.handlers.dependencyInjection.*; import org.junit.Assert; import org.junit.Test;