From f640abda91984f7bd2c0e8c20fb0ff008de2afed Mon Sep 17 00:00:00 2001 From: Daniel Mills Date: Wed, 4 Aug 2021 18:30:58 -0400 Subject: [PATCH] Objectify objects --- src/main/java/com/volmit/iris/Iris.java | 16 +-- .../volmit/iris/core/ConversionManager.java | 19 +-- .../volmit/iris/core/IrisBoardManager.java | 2 +- .../com/volmit/iris/core/ProjectManager.java | 10 +- .../com/volmit/iris/core/TreeManager.java | 13 ++- .../com/volmit/iris/core/WandManager.java | 8 +- .../command/jigsaw/CommandIrisJigsawEdit.java | 4 +- .../command/jigsaw/CommandIrisJigsawNew.java | 4 +- .../jigsaw/CommandIrisJigsawPlace.java | 6 +- .../object/CommandIrisObjectAnalyze.java | 4 +- .../object/CommandIrisObjectPaste.java | 13 +-- .../command/object/CommandIrisObjectSave.java | 4 +- .../CommandIrisStudioExplorerGenerator.java | 4 +- .../command/studio/CommandIrisStudioGoto.java | 12 +- .../command/studio/CommandIrisStudioLoot.java | 8 +- .../studio/CommandIrisStudioProfile.java | 16 ++- .../studio/CommandIrisStudioSummon.java | 4 +- .../command/what/CommandIrisWhatBiome.java | 4 +- .../command/what/CommandIrisWhatFeatures.java | 6 +- .../command/what/CommandIrisWhatObjects.java | 14 +-- .../core/command/world/CommandIrisCreate.java | 4 +- .../volmit/iris/core/edit/JigsawEditor.java | 14 ++- .../iris/core/gui/NoiseExplorerGUI.java | 2 +- .../com/volmit/iris/core/gui/VisionGUI.java | 8 +- .../core/gui/components/IrisRenderer.java | 2 +- .../iris/core/link/MultiverseCoreLink.java | 4 +- .../methods/HeadlessPregenMethod.java | 4 +- .../methods/HybridPregenMethod.java | 2 +- .../methods/SyndicatePregenMethod.java | 6 +- .../syndicate/SyndicateServer.java | 4 +- .../command/SyndicateInstallPack.java | 4 +- .../volmit/iris/core/project/IrisProject.java | 62 +++++----- .../iris/core/project/loader/IrisData.java | 109 ++++++++++-------- .../project/loader/LoaderRegistrant.java} | 4 +- .../project/loader/ObjectResourceLoader.java | 18 +-- .../core/project/loader/ResourceLoader.java | 3 +- .../volmit/iris/core/tools/IrisCreator.java | 6 +- .../volmit/iris/core/tools/IrisToolbelt.java | 4 +- .../iris/core/tools/IrisWorldCreator.java | 4 +- .../com/volmit/iris/engine/IrisComplex.java | 92 ++++++++------- .../com/volmit/iris/engine/IrisEngine.java | 14 +-- .../iris/engine/IrisEngineCompound.java | 12 +- .../volmit/iris/engine/IrisWorldManager.java | 25 ++-- .../engine/actuator/IrisBiomeActuator.java | 6 +- .../engine/actuator/IrisDecorantActuator.java | 6 +- .../actuator/IrisTerrainIslandActuator.java | 4 +- .../actuator/IrisTerrainNormalActuator.java | 4 +- .../engine/{ => data}/cache/AtomicCache.java | 2 +- .../iris/engine/{ => data}/cache/Cache.java | 2 +- .../engine/{ => data}/cache/Multicache.java | 2 +- .../volmit/iris/engine/data/mca/NBTWorld.java | 2 +- .../decorator/IrisCeilingDecorator.java | 12 +- .../engine/decorator/IrisEngineDecorator.java | 14 +-- .../decorator/IrisSeaFloorDecorator.java | 12 +- .../decorator/IrisSeaSurfaceDecorator.java | 12 +- .../decorator/IrisShoreLineDecorator.java | 12 +- .../decorator/IrisSurfaceDecorator.java | 14 +-- .../volmit/iris/engine/framework/Engine.java | 53 +++++---- .../framework/EngineAssignedWorldManager.java | 3 - .../engine/framework/EngineComponent.java | 4 +- .../framework/EngineCompositeGenerator.java | 36 +++--- .../iris/engine/framework/EngineCompound.java | 14 +-- .../iris/engine/framework/EngineData.java | 2 +- .../engine/framework/EngineDecorator.java | 6 +- .../framework/EngineParallaxManager.java | 80 +++++++------ .../iris/engine/framework/EnginePlayer.java | 10 +- .../iris/engine/framework/EngineTarget.java | 8 +- .../engine/framework/GeneratorAccess.java | 18 +-- .../iris/engine/framework/IrisAccess.java | 30 ++--- .../iris/engine/framework/LootProvider.java | 12 +- .../iris/engine/framework/PlacedObject.java | 6 +- .../headless/HeadlessGenerator.java | 2 +- .../headless/HeadlessWorld.java | 10 +- .../placer/HeightmapObjectPlacer.java | 2 +- .../iris/engine/jigsaw/PlannedPiece.java | 22 ++-- .../iris/engine/jigsaw/PlannedStructure.java | 41 ++++--- .../engine/modifier/IrisCaveModifier.java | 6 +- .../engine/modifier/IrisDepositModifier.java | 14 +-- .../engine/modifier/IrisPostModifier.java | 6 +- .../engine/modifier/IrisRavineModifier.java | 2 +- .../volmit/iris/engine/object/IrisMatter.java | 24 ---- .../annotations/RegistryListResource.java | 4 +- .../engine/object/{ => basic}/IrisColor.java | 4 +- .../object/{ => basic}/IrisDuration.java | 2 +- .../object/{ => basic}/IrisPosition.java | 2 +- .../object/{ => basic}/IrisPosition2D.java | 2 +- .../engine/object/{ => basic}/IrisRange.java | 2 +- .../engine/object/{ => basic}/IrisRate.java | 2 +- .../object/{ => basic}/IrisTimeBlock.java | 2 +- .../object/{ => basic}/IrisWeather.java | 2 +- .../object/{ => biome}/InferredType.java | 2 +- .../object/{ => biome}/IrisBiomeCustom.java | 2 +- .../{ => biome}/IrisBiomeCustomCategory.java | 2 +- .../{ => biome}/IrisBiomeCustomParticle.java | 2 +- .../IrisBiomeCustomPrecipType.java | 2 +- .../{ => biome}/IrisBiomeCustomSpawn.java | 2 +- .../{ => biome}/IrisBiomeCustomSpawnType.java | 2 +- .../{ => biome}/IrisBiomeGeneratorLink.java | 17 +-- .../object/{ => biome}/IrisBiomeMutation.java | 12 +- .../{ => biome}/IrisBiomePaletteLayer.java | 18 +-- .../LoaderBiome.java} | 44 ++++--- .../object/{ => block}/IrisBlockDrops.java | 11 +- .../{ => block}/IrisMaterialPalette.java | 18 +-- .../LoaderBlockData.java} | 17 +-- .../object/{ => carve}/IrisCarveLayer.java | 7 +- .../object/{ => carve}/IrisCaveFluid.java | 7 +- .../object/{ => carve}/IrisCaveLayer.java | 3 +- .../object/{ => carve}/IrisCavernZone.java | 5 +- .../object/{ => carve}/IrisCaverns.java | 7 +- .../object/{ => compat}/IrisCompat.java | 2 +- .../IrisCompatabilityBlockFilter.java | 4 +- .../IrisCompatabilityItemFilter.java | 4 +- .../IrisDecorationPart.java} | 4 +- .../{ => decoration}/IrisDecorator.java | 32 ++--- .../{ => deposits}/IrisDepositGenerator.java | 24 ++-- .../{ => dimensional}/IrisDimensionIndex.java | 4 +- .../{ => dimensional}/IrisTerrainIsland.java | 4 +- .../{ => dimensional}/IrisTerrainMode.java | 2 +- .../LoaderDimension.java} | 64 ++++++---- .../engine/IrisEngineSpawnerCooldown.java | 2 +- .../object/{ => entity}/IrisEntitySpawn.java | 20 ++-- .../{ => entity}/IrisEntitySpawnOverride.java | 10 +- .../LoaderEntity.java} | 24 ++-- .../object/{ => feature}/IrisFeature.java | 15 ++- .../{ => feature}/IrisFeaturePositional.java | 11 +- .../{ => feature}/IrisFeaturePotential.java | 2 +- .../IrisJigsawPieceConnector.java | 9 +- .../{ => jigsaw}/IrisJigsawPlacement.java | 4 +- .../IrisJigsawStructurePlacement.java | 4 +- .../LoaderJigsawPiece.java} | 21 ++-- .../LoaderJigsawPool.java} | 7 +- .../LoaderJigsawStructure.java} | 14 ++- .../engine/object/{ => loot}/IrisLoot.java | 10 +- .../object/{ => loot}/IrisLootReference.java | 12 +- .../LoaderLootTable.java} | 6 +- .../engine/object/{ => loot}/LootMode.java | 2 +- .../engine/object/matter/MatterSlice.java | 2 +- .../object/{ => meta}/InventorySlotType.java | 2 +- .../{ => meta}/IrisAttributeModifier.java | 2 +- .../engine/object/{ => meta}/IrisEffect.java | 4 +- .../object/{ => meta}/IrisEnchantment.java | 2 +- .../object/{ => meta}/IrisPotionEffect.java | 4 +- .../{ => mods}/IrisModBiomeInjector.java | 8 +- .../{ => mods}/IrisModBiomeReplacer.java | 7 +- .../{ => mods}/IrisModNoiseStyleReplacer.java | 7 +- .../IrisModObjectPlacementBiomeInjector.java | 6 +- .../IrisModObjectPlacementRegionInjector.java | 6 +- .../{ => mods}/IrisModObjectReplacer.java | 8 +- .../{ => mods}/IrisModRegionReplacer.java | 7 +- .../{IrisMod.java => mods/LoaderMod.java} | 17 ++- .../object/{ => noise}/CarvingMode.java | 2 +- .../{ => noise}/IrisEngineStreamType.java | 2 +- .../{ => noise}/IrisEngineValueType.java | 2 +- .../{ => noise}/IrisExpressionLoad.java | 4 +- .../{ => noise}/IrisGeneratorStyle.java | 8 +- .../object/{ => noise}/IrisInterpolator.java | 6 +- .../{ => noise}/IrisInterpolator3D.java | 6 +- .../{ => noise}/IrisNoiseGenerator.java | 6 +- .../{ => noise}/IrisShapedGeneratorStyle.java | 2 +- .../object/{ => noise}/IrisSlopeClip.java | 2 +- .../object/{ => noise}/IrisStyledRange.java | 2 +- .../LoaderExpression.java} | 7 +- .../LoaderGenerator.java} | 11 +- .../engine/object/{ => noise}/NoiseStyle.java | 2 +- .../{ => objects}/IrisAxisRotationClamp.java | 2 +- .../object/{ => objects}/IrisDirection.java | 2 +- .../IrisFontStyle.java} | 4 +- .../object/{ => objects}/IrisObjectLimit.java | 2 +- .../object/{ => objects}/IrisObjectLoot.java | 14 ++- .../{ => objects}/IrisObjectPlacement.java | 30 +++-- .../IrisObjectPlacementScaleInterpolator.java | 2 +- .../{ => objects}/IrisObjectReplace.java | 12 +- .../{ => objects}/IrisObjectRotation.java | 12 +- .../object/{ => objects}/IrisObjectScale.java | 10 +- .../{ => objects}/IrisObjectTranslate.java | 2 +- .../object/{ => objects}/IrisRareObject.java | 4 +- .../LoaderObject.java} | 26 +++-- .../object/{ => objects}/ObjectPlaceMode.java | 2 +- .../{ => regional}/IrisRegionRidge.java | 9 +- .../object/{ => regional}/IrisRegionSpot.java | 9 +- .../LoaderRegion.java} | 87 ++++++++------ .../object/{ => spawners}/IrisSpawnGroup.java | 3 +- .../object/{ => spawners}/IrisSurface.java | 20 +++- .../LoaderSpawner.java} | 12 +- .../engine/object/{ => trees}/IrisTree.java | 2 +- .../object/{ => trees}/IrisTreeModes.java | 2 +- .../object/{ => trees}/IrisTreeSettings.java | 2 +- .../object/{ => trees}/IrisTreeSize.java | 2 +- .../engine/parallax/ParallaxChunkMeta.java | 2 +- .../com/volmit/iris/util/data/BiomeMap.java | 10 +- .../java/com/volmit/iris/util/hunk/Hunk.java | 6 +- .../iris/util/hunk/storage/ArrayHunk.java | 2 +- .../interpolation/InterpolationMethod.java | 2 +- .../interpolation/InterpolationMethod3D.java | 2 +- .../interpolation/InterpolationType.java | 2 +- .../interpolation/IrisInterpolation.java | 4 +- .../com/volmit/iris/util/io/SKConversion.java | 4 +- .../volmit/iris/util/math/AxisAlignedBB.java | 2 +- .../com/volmit/iris/util/math/Position2.java | 2 +- .../java/com/volmit/iris/util/noise/CNG.java | 2 +- .../iris/util/noise/ExpressionNoise.java | 6 +- .../iris/util/noise/InterpolatedNoise.java | 4 +- .../com/volmit/iris/util/noise/NoiseType.java | 2 +- .../volmit/iris/util/parallel/HyperLock.java | 2 +- .../iris/util/stream/ProceduralStream.java | 2 +- .../stream/interpolation/BiHermiteStream.java | 2 +- .../stream/interpolation/BicubicStream.java | 2 +- .../stream/interpolation/BilinearStream.java | 2 +- .../interpolation/InterpolatingStream.java | 4 +- .../interpolation/InterpolatorFactory.java | 2 +- .../interpolation/TriHermiteStream.java | 2 +- .../stream/interpolation/TricubicStream.java | 2 +- .../stream/interpolation/TrilinearStream.java | 2 +- .../util/stream/utility/CachedStream2D.java | 2 +- 214 files changed, 1164 insertions(+), 940 deletions(-) rename src/main/java/com/volmit/iris/{engine/object/IrisRegistrant.java => core/project/loader/LoaderRegistrant.java} (93%) rename src/main/java/com/volmit/iris/engine/{ => data}/cache/AtomicCache.java (98%) rename src/main/java/com/volmit/iris/engine/{ => data}/cache/Cache.java (97%) rename src/main/java/com/volmit/iris/engine/{ => data}/cache/Multicache.java (95%) rename src/main/java/com/volmit/iris/engine/{ => framework}/headless/HeadlessGenerator.java (98%) rename src/main/java/com/volmit/iris/engine/{ => framework}/headless/HeadlessWorld.java (89%) delete mode 100644 src/main/java/com/volmit/iris/engine/object/IrisMatter.java rename src/main/java/com/volmit/iris/engine/object/{ => basic}/IrisColor.java (97%) rename src/main/java/com/volmit/iris/engine/object/{ => basic}/IrisDuration.java (98%) rename src/main/java/com/volmit/iris/engine/object/{ => basic}/IrisPosition.java (98%) rename src/main/java/com/volmit/iris/engine/object/{ => basic}/IrisPosition2D.java (96%) rename src/main/java/com/volmit/iris/engine/object/{ => basic}/IrisRange.java (96%) rename src/main/java/com/volmit/iris/engine/object/{ => basic}/IrisRate.java (97%) rename src/main/java/com/volmit/iris/engine/object/{ => basic}/IrisTimeBlock.java (97%) rename src/main/java/com/volmit/iris/engine/object/{ => basic}/IrisWeather.java (96%) rename src/main/java/com/volmit/iris/engine/object/{ => biome}/InferredType.java (96%) rename src/main/java/com/volmit/iris/engine/object/{ => biome}/IrisBiomeCustom.java (99%) rename src/main/java/com/volmit/iris/engine/object/{ => biome}/IrisBiomeCustomCategory.java (96%) rename src/main/java/com/volmit/iris/engine/object/{ => biome}/IrisBiomeCustomParticle.java (97%) rename src/main/java/com/volmit/iris/engine/object/{ => biome}/IrisBiomeCustomPrecipType.java (95%) rename src/main/java/com/volmit/iris/engine/object/{ => biome}/IrisBiomeCustomSpawn.java (97%) rename src/main/java/com/volmit/iris/engine/object/{ => biome}/IrisBiomeCustomSpawnType.java (96%) rename src/main/java/com/volmit/iris/engine/object/{ => biome}/IrisBiomeGeneratorLink.java (78%) rename src/main/java/com/volmit/iris/engine/object/{ => biome}/IrisBiomeMutation.java (90%) rename src/main/java/com/volmit/iris/engine/object/{ => biome}/IrisBiomePaletteLayer.java (85%) rename src/main/java/com/volmit/iris/engine/object/{IrisBiome.java => biome/LoaderBiome.java} (93%) rename src/main/java/com/volmit/iris/engine/object/{ => block}/IrisBlockDrops.java (91%) rename src/main/java/com/volmit/iris/engine/object/{ => block}/IrisMaterialPalette.java (85%) rename src/main/java/com/volmit/iris/engine/object/{IrisBlockData.java => block/LoaderBlockData.java} (92%) rename src/main/java/com/volmit/iris/engine/object/{ => carve}/IrisCarveLayer.java (95%) rename src/main/java/com/volmit/iris/engine/object/{ => carve}/IrisCaveFluid.java (91%) rename src/main/java/com/volmit/iris/engine/object/{ => carve}/IrisCaveLayer.java (94%) rename src/main/java/com/volmit/iris/engine/object/{ => carve}/IrisCavernZone.java (93%) rename src/main/java/com/volmit/iris/engine/object/{ => carve}/IrisCaverns.java (92%) rename src/main/java/com/volmit/iris/engine/object/{ => compat}/IrisCompat.java (99%) rename src/main/java/com/volmit/iris/engine/object/{ => compat}/IrisCompatabilityBlockFilter.java (96%) rename src/main/java/com/volmit/iris/engine/object/{ => compat}/IrisCompatabilityItemFilter.java (95%) rename src/main/java/com/volmit/iris/engine/object/{DecorationPart.java => decoration/IrisDecorationPart.java} (93%) rename src/main/java/com/volmit/iris/engine/object/{ => decoration}/IrisDecorator.java (87%) rename src/main/java/com/volmit/iris/engine/object/{ => deposits}/IrisDepositGenerator.java (83%) rename src/main/java/com/volmit/iris/engine/object/{ => dimensional}/IrisDimensionIndex.java (95%) rename src/main/java/com/volmit/iris/engine/object/{ => dimensional}/IrisTerrainIsland.java (90%) rename src/main/java/com/volmit/iris/engine/object/{ => dimensional}/IrisTerrainMode.java (95%) rename src/main/java/com/volmit/iris/engine/object/{IrisDimension.java => dimensional/LoaderDimension.java} (88%) rename src/main/java/com/volmit/iris/engine/object/{ => entity}/IrisEntitySpawn.java (90%) rename src/main/java/com/volmit/iris/engine/object/{ => entity}/IrisEntitySpawnOverride.java (91%) rename src/main/java/com/volmit/iris/engine/object/{IrisEntity.java => entity/LoaderEntity.java} (92%) rename src/main/java/com/volmit/iris/engine/object/{ => feature}/IrisFeature.java (87%) rename src/main/java/com/volmit/iris/engine/object/{ => feature}/IrisFeaturePositional.java (93%) rename src/main/java/com/volmit/iris/engine/object/{ => feature}/IrisFeaturePotential.java (96%) rename src/main/java/com/volmit/iris/engine/object/{ => jigsaw}/IrisJigsawPieceConnector.java (92%) rename src/main/java/com/volmit/iris/engine/object/{ => jigsaw}/IrisJigsawPlacement.java (93%) rename src/main/java/com/volmit/iris/engine/object/{ => jigsaw}/IrisJigsawStructurePlacement.java (93%) rename src/main/java/com/volmit/iris/engine/object/{IrisJigsawPiece.java => jigsaw/LoaderJigsawPiece.java} (82%) rename src/main/java/com/volmit/iris/engine/object/{IrisJigsawPool.java => jigsaw/LoaderJigsawPool.java} (89%) rename src/main/java/com/volmit/iris/engine/object/{IrisJigsawStructure.java => jigsaw/LoaderJigsawStructure.java} (91%) rename src/main/java/com/volmit/iris/engine/object/{ => loot}/IrisLoot.java (95%) rename src/main/java/com/volmit/iris/engine/object/{ => loot}/IrisLootReference.java (84%) rename src/main/java/com/volmit/iris/engine/object/{IrisLootTable.java => loot/LoaderLootTable.java} (93%) rename src/main/java/com/volmit/iris/engine/object/{ => loot}/LootMode.java (96%) rename src/main/java/com/volmit/iris/engine/object/{ => meta}/InventorySlotType.java (96%) rename src/main/java/com/volmit/iris/engine/object/{ => meta}/IrisAttributeModifier.java (98%) rename src/main/java/com/volmit/iris/engine/object/{ => meta}/IrisEffect.java (99%) rename src/main/java/com/volmit/iris/engine/object/{ => meta}/IrisEnchantment.java (98%) rename src/main/java/com/volmit/iris/engine/object/{ => meta}/IrisPotionEffect.java (97%) rename src/main/java/com/volmit/iris/engine/object/{ => mods}/IrisModBiomeInjector.java (86%) rename src/main/java/com/volmit/iris/engine/object/{ => mods}/IrisModBiomeReplacer.java (89%) rename src/main/java/com/volmit/iris/engine/object/{ => mods}/IrisModNoiseStyleReplacer.java (87%) rename src/main/java/com/volmit/iris/engine/object/{ => mods}/IrisModObjectPlacementBiomeInjector.java (88%) rename src/main/java/com/volmit/iris/engine/object/{ => mods}/IrisModObjectPlacementRegionInjector.java (88%) rename src/main/java/com/volmit/iris/engine/object/{ => mods}/IrisModObjectReplacer.java (86%) rename src/main/java/com/volmit/iris/engine/object/{ => mods}/IrisModRegionReplacer.java (88%) rename src/main/java/com/volmit/iris/engine/object/{IrisMod.java => mods/LoaderMod.java} (87%) rename src/main/java/com/volmit/iris/engine/object/{ => noise}/CarvingMode.java (97%) rename src/main/java/com/volmit/iris/engine/object/{ => noise}/IrisEngineStreamType.java (98%) rename src/main/java/com/volmit/iris/engine/object/{ => noise}/IrisEngineValueType.java (98%) rename src/main/java/com/volmit/iris/engine/object/{ => noise}/IrisExpressionLoad.java (97%) rename src/main/java/com/volmit/iris/engine/object/{ => noise}/IrisGeneratorStyle.java (94%) rename src/main/java/com/volmit/iris/engine/object/{ => noise}/IrisInterpolator.java (92%) rename src/main/java/com/volmit/iris/engine/object/{ => noise}/IrisInterpolator3D.java (92%) rename src/main/java/com/volmit/iris/engine/object/{ => noise}/IrisNoiseGenerator.java (96%) rename src/main/java/com/volmit/iris/engine/object/{ => noise}/IrisShapedGeneratorStyle.java (98%) rename src/main/java/com/volmit/iris/engine/object/{ => noise}/IrisSlopeClip.java (97%) rename src/main/java/com/volmit/iris/engine/object/{ => noise}/IrisStyledRange.java (97%) rename src/main/java/com/volmit/iris/engine/object/{IrisExpression.java => noise/LoaderExpression.java} (95%) rename src/main/java/com/volmit/iris/engine/object/{IrisGenerator.java => noise/LoaderGenerator.java} (96%) rename src/main/java/com/volmit/iris/engine/object/{ => noise}/NoiseStyle.java (99%) rename src/main/java/com/volmit/iris/engine/object/{ => objects}/IrisAxisRotationClamp.java (98%) rename src/main/java/com/volmit/iris/engine/object/{ => objects}/IrisDirection.java (99%) rename src/main/java/com/volmit/iris/engine/object/{FontStyle.java => objects/IrisFontStyle.java} (93%) rename src/main/java/com/volmit/iris/engine/object/{ => objects}/IrisObjectLimit.java (97%) rename src/main/java/com/volmit/iris/engine/object/{ => objects}/IrisObjectLoot.java (84%) rename src/main/java/com/volmit/iris/engine/object/{ => objects}/IrisObjectPlacement.java (90%) rename src/main/java/com/volmit/iris/engine/object/{ => objects}/IrisObjectPlacementScaleInterpolator.java (96%) rename src/main/java/com/volmit/iris/engine/object/{ => objects}/IrisObjectReplace.java (86%) rename src/main/java/com/volmit/iris/engine/object/{ => objects}/IrisObjectRotation.java (97%) rename src/main/java/com/volmit/iris/engine/object/{ => objects}/IrisObjectScale.java (90%) rename src/main/java/com/volmit/iris/engine/object/{ => objects}/IrisObjectTranslate.java (98%) rename src/main/java/com/volmit/iris/engine/object/{ => objects}/IrisRareObject.java (94%) rename src/main/java/com/volmit/iris/engine/object/{IrisObject.java => objects/LoaderObject.java} (97%) rename src/main/java/com/volmit/iris/engine/object/{ => objects}/ObjectPlaceMode.java (98%) rename src/main/java/com/volmit/iris/engine/object/{ => regional}/IrisRegionRidge.java (92%) rename src/main/java/com/volmit/iris/engine/object/{ => regional}/IrisRegionSpot.java (90%) rename src/main/java/com/volmit/iris/engine/object/{IrisRegion.java => regional/LoaderRegion.java} (84%) rename src/main/java/com/volmit/iris/engine/object/{ => spawners}/IrisSpawnGroup.java (90%) rename src/main/java/com/volmit/iris/engine/object/{ => spawners}/IrisSurface.java (66%) rename src/main/java/com/volmit/iris/engine/object/{IrisSpawner.java => spawners/LoaderSpawner.java} (85%) rename src/main/java/com/volmit/iris/engine/object/{ => trees}/IrisTree.java (98%) rename src/main/java/com/volmit/iris/engine/object/{ => trees}/IrisTreeModes.java (96%) rename src/main/java/com/volmit/iris/engine/object/{ => trees}/IrisTreeSettings.java (96%) rename src/main/java/com/volmit/iris/engine/object/{ => trees}/IrisTreeSize.java (97%) rename src/main/java/com/volmit/iris/{engine => util}/interpolation/InterpolationMethod.java (99%) rename src/main/java/com/volmit/iris/{engine => util}/interpolation/InterpolationMethod3D.java (96%) rename src/main/java/com/volmit/iris/{engine => util}/interpolation/InterpolationType.java (94%) rename src/main/java/com/volmit/iris/{engine => util}/interpolation/IrisInterpolation.java (99%) diff --git a/src/main/java/com/volmit/iris/Iris.java b/src/main/java/com/volmit/iris/Iris.java index 2317a611d..fc250ef7d 100644 --- a/src/main/java/com/volmit/iris/Iris.java +++ b/src/main/java/com/volmit/iris/Iris.java @@ -29,10 +29,10 @@ import com.volmit.iris.core.nms.INMS; import com.volmit.iris.core.project.loader.IrisData; import com.volmit.iris.core.tools.IrisWorlds; import com.volmit.iris.engine.framework.EngineCompositeGenerator; -import com.volmit.iris.engine.object.IrisBiome; -import com.volmit.iris.engine.object.IrisBiomeCustom; -import com.volmit.iris.engine.object.IrisCompat; -import com.volmit.iris.engine.object.IrisDimension; +import com.volmit.iris.engine.object.biome.LoaderBiome; +import com.volmit.iris.engine.object.biome.IrisBiomeCustom; +import com.volmit.iris.engine.object.compat.IrisCompat; +import com.volmit.iris.engine.object.dimensional.LoaderDimension; import com.volmit.iris.util.parallel.MultiBurst; import com.volmit.iris.util.collection.KList; import com.volmit.iris.util.collection.KSet; @@ -182,7 +182,7 @@ public class Iris extends VolmitPlugin implements Listener { if (dims.exists()) { for (File j : dims.listFiles()) { if (j.getName().endsWith(".json")) { - IrisDimension dim = data.getDimensionLoader().load(j.getName().split("\\Q.\\E")[0]); + LoaderDimension dim = data.getDimensionLoader().load(j.getName().split("\\Q.\\E")[0]); Iris.verbose(" Checking Dimension " + dim.getLoadFile().getPath()); if (dim.installDataPack(() -> data, dpacks)) { reboot = true; @@ -305,7 +305,7 @@ public class Iris extends VolmitPlugin implements Listener { if (dims.exists()) { for (File j : dims.listFiles()) { if (j.getName().endsWith(".json")) { - IrisDimension dim = data.getDimensionLoader().load(j.getName().split("\\Q.\\E")[0]); + LoaderDimension dim = data.getDimensionLoader().load(j.getName().split("\\Q.\\E")[0]); if (!verifyDataPackInstalled(dim)) { bad = true; @@ -335,12 +335,12 @@ public class Iris extends VolmitPlugin implements Listener { } } - public boolean verifyDataPackInstalled(IrisDimension dimension) { + public boolean verifyDataPackInstalled(LoaderDimension dimension) { IrisData idm = new IrisData(getDataFolder("packs", dimension.getLoadKey())); KSet keys = new KSet<>(); boolean warn = false; - for (IrisBiome i : dimension.getAllBiomes(() -> idm)) { + for (LoaderBiome i : dimension.getAllBiomes(() -> idm)) { if (i.isCustom()) { for (IrisBiomeCustom j : i.getCustomDerivitives()) { keys.add(dimension.getLoadKey() + ":" + j.getId()); diff --git a/src/main/java/com/volmit/iris/core/ConversionManager.java b/src/main/java/com/volmit/iris/core/ConversionManager.java index 2d7801aa7..0dd55da34 100644 --- a/src/main/java/com/volmit/iris/core/ConversionManager.java +++ b/src/main/java/com/volmit/iris/core/ConversionManager.java @@ -26,7 +26,12 @@ import com.volmit.iris.engine.data.nbt.io.NamedTag; import com.volmit.iris.engine.data.nbt.tag.CompoundTag; import com.volmit.iris.engine.data.nbt.tag.IntTag; import com.volmit.iris.engine.data.nbt.tag.ListTag; -import com.volmit.iris.engine.object.*; +import com.volmit.iris.engine.object.basic.IrisPosition; +import com.volmit.iris.engine.object.jigsaw.LoaderJigsawPiece; +import com.volmit.iris.engine.object.jigsaw.IrisJigsawPieceConnector; +import com.volmit.iris.engine.object.jigsaw.LoaderJigsawPool; +import com.volmit.iris.engine.object.objects.IrisDirection; +import com.volmit.iris.engine.object.objects.LoaderObject; import com.volmit.iris.util.collection.KList; import com.volmit.iris.util.collection.KMap; import com.volmit.iris.util.format.Form; @@ -100,7 +105,7 @@ public class ConversionManager { } public void convertStructures(File in, File out, VolmitSender s) { - KMap pools = new KMap<>(); + KMap pools = new KMap<>(); KList roots = new KList<>(); AtomicInteger total = new AtomicInteger(0); AtomicInteger at = new AtomicInteger(0); @@ -118,7 +123,7 @@ public class ConversionManager { b = b.substring(0, b.length() - 1); } - pools.put(b, new IrisJigsawPool()); + pools.put(b, new LoaderJigsawPool()); } }); findAllNBT(in, (folder, file) -> { @@ -131,7 +136,7 @@ public class ConversionManager { if (b.endsWith("/")) { b = b.substring(0, b.length() - 1); } - IrisJigsawPool jpool = pools.get(b); + LoaderJigsawPool jpool = pools.get(b); File destObjects = new File(out.getAbsolutePath() + "/objects/" + in.toURI().relativize(folder.toURI()).getPath()); File destPieces = new File(out.getAbsolutePath() + "/jigsaw-pieces/" + in.toURI().relativize(folder.toURI()).getPath()); destObjects.mkdirs(); @@ -153,8 +158,8 @@ public class ConversionManager { CompoundTag cp = paletteList.get(i); palette.add(NBTWorld.getBlockData(cp)); } - IrisJigsawPiece piece = new IrisJigsawPiece(); - IrisObject object = new IrisObject(w, h, d); + LoaderJigsawPiece piece = new LoaderJigsawPiece(); + LoaderObject object = new LoaderObject(w, h, d); @SuppressWarnings("unchecked") ListTag blockList = (ListTag) compound.getListTag("blocks"); for (int i = 0; i < blockList.size(); i++) { CompoundTag cp = blockList.get(i); @@ -177,7 +182,7 @@ public class ConversionManager { String poolId = toPoolName(pool); String name = nbt.getString("name"); String target = nbt.getString("target"); - pools.computeIfAbsent(poolId, (k) -> new IrisJigsawPool()); + pools.computeIfAbsent(poolId, (k) -> new LoaderJigsawPool()); IrisJigsawPieceConnector connector = new IrisJigsawPieceConnector(); connector.setName(name); connector.setTargetName(target); diff --git a/src/main/java/com/volmit/iris/core/IrisBoardManager.java b/src/main/java/com/volmit/iris/core/IrisBoardManager.java index a505d1b02..be8d269a7 100644 --- a/src/main/java/com/volmit/iris/core/IrisBoardManager.java +++ b/src/main/java/com/volmit/iris/core/IrisBoardManager.java @@ -22,7 +22,7 @@ import com.volmit.iris.Iris; import com.volmit.iris.core.tools.IrisWorlds; import com.volmit.iris.engine.framework.Engine; import com.volmit.iris.engine.framework.IrisAccess; -import com.volmit.iris.engine.object.IrisFeaturePositional; +import com.volmit.iris.engine.object.feature.IrisFeaturePositional; import com.volmit.iris.util.board.BoardManager; import com.volmit.iris.util.board.BoardProvider; import com.volmit.iris.util.board.BoardSettings; diff --git a/src/main/java/com/volmit/iris/core/ProjectManager.java b/src/main/java/com/volmit/iris/core/ProjectManager.java index 52e21513c..4674f3dff 100644 --- a/src/main/java/com/volmit/iris/core/ProjectManager.java +++ b/src/main/java/com/volmit/iris/core/ProjectManager.java @@ -23,8 +23,8 @@ import com.google.gson.JsonSyntaxException; import com.volmit.iris.Iris; import com.volmit.iris.core.project.IrisProject; import com.volmit.iris.core.project.loader.IrisData; -import com.volmit.iris.engine.cache.AtomicCache; -import com.volmit.iris.engine.object.IrisDimension; +import com.volmit.iris.engine.data.cache.AtomicCache; +import com.volmit.iris.engine.object.dimensional.LoaderDimension; import com.volmit.iris.util.collection.KMap; import com.volmit.iris.util.exceptions.IrisException; import com.volmit.iris.util.format.Form; @@ -92,11 +92,11 @@ public class ProjectManager { }); } - public IrisDimension installIntoWorld(VolmitSender sender, String type, File folder) { + public LoaderDimension installIntoWorld(VolmitSender sender, String type, File folder) { sender.sendMessage("Looking for Package: " + type); File iris = new File(folder, "iris"); File irispack = new File(folder, "iris/pack"); - IrisDimension dim = IrisData.loadAnyDimension(type); + LoaderDimension dim = IrisData.loadAnyDimension(type); if (dim == null) { for (File i : Iris.proj.getWorkspaceFolder().listFiles()) { @@ -262,7 +262,7 @@ public class ProjectManager { } String key = dim.getName().split("\\Q.\\E")[0]; - IrisDimension d = new Gson().fromJson(IO.readAll(dim), IrisDimension.class); + LoaderDimension d = new Gson().fromJson(IO.readAll(dim), LoaderDimension.class); sender.sendMessage("Importing " + d.getName() + " (" + key + ")"); File packEntry = new File(packs, key); diff --git a/src/main/java/com/volmit/iris/core/TreeManager.java b/src/main/java/com/volmit/iris/core/TreeManager.java index 3998f7ff5..5f8570b52 100644 --- a/src/main/java/com/volmit/iris/core/TreeManager.java +++ b/src/main/java/com/volmit/iris/core/TreeManager.java @@ -23,9 +23,14 @@ import com.volmit.iris.core.project.loader.IrisData; import com.volmit.iris.core.tools.IrisToolbelt; import com.volmit.iris.engine.framework.Engine; import com.volmit.iris.engine.framework.IrisAccess; -import com.volmit.iris.engine.object.*; +import com.volmit.iris.engine.object.biome.LoaderBiome; import com.volmit.iris.engine.object.common.IObjectPlacer; +import com.volmit.iris.engine.object.objects.LoaderObject; +import com.volmit.iris.engine.object.objects.IrisObjectPlacement; +import com.volmit.iris.engine.object.regional.LoaderRegion; import com.volmit.iris.engine.object.tile.TileData; +import com.volmit.iris.engine.object.trees.IrisTreeModes; +import com.volmit.iris.engine.object.trees.IrisTreeSize; import com.volmit.iris.util.collection.KList; import com.volmit.iris.util.collection.KMap; import com.volmit.iris.util.data.Cuboid; @@ -114,7 +119,7 @@ public class TreeManager implements Listener { } saplingPlane.forEach(block -> block.setType(Material.AIR)); - IrisObject object = worldAccess.getData().getObjectLoader().load(placement.getPlace().getRandom(RNG.r)); + LoaderObject object = worldAccess.getData().getObjectLoader().load(placement.getPlace().getRandom(RNG.r)); List blockStateList = new KList<>(); KMap dataCache = new KMap<>(); // TODO: REAL CLASSES!!!! @@ -227,12 +232,12 @@ public class TreeManager implements Listener { boolean isUseAll = ((Engine) worldAccess.getEngineAccess(location.getBlockY())).getDimension().getTreeSettings().getMode().equals(IrisTreeModes.ALL); // Retrieve objectPlacements of type `species` from biome - IrisBiome biome = worldAccess.getBiome(location.getBlockX(), location.getBlockY(), location.getBlockZ()); + LoaderBiome biome = worldAccess.getBiome(location.getBlockX(), location.getBlockY(), location.getBlockZ()); placements.addAll(matchObjectPlacements(biome.getObjects(), size, type)); // Add more or find any in the region if (isUseAll || placements.isEmpty()) { - IrisRegion region = worldAccess.getCompound().getEngineForHeight(location.getBlockY()).getRegion(location.getBlockX(), location.getBlockZ()); + LoaderRegion region = worldAccess.getCompound().getEngineForHeight(location.getBlockY()).getRegion(location.getBlockX(), location.getBlockZ()); placements.addAll(matchObjectPlacements(region.getObjects(), size, type)); } diff --git a/src/main/java/com/volmit/iris/core/WandManager.java b/src/main/java/com/volmit/iris/core/WandManager.java index de1bebe95..688ab8bb4 100644 --- a/src/main/java/com/volmit/iris/core/WandManager.java +++ b/src/main/java/com/volmit/iris/core/WandManager.java @@ -20,7 +20,7 @@ package com.volmit.iris.core; import com.volmit.iris.Iris; import com.volmit.iris.core.edit.DustRevealer; -import com.volmit.iris.engine.object.IrisObject; +import com.volmit.iris.engine.object.objects.LoaderObject; import com.volmit.iris.util.collection.KList; import com.volmit.iris.util.data.Cuboid; import com.volmit.iris.util.format.C; @@ -185,7 +185,7 @@ public class WandManager implements Listener { } } - public static void pasteSchematic(IrisObject s, Location at) { + public static void pasteSchematic(LoaderObject s, Location at) { s.place(at); } @@ -194,7 +194,7 @@ public class WandManager implements Listener { * @param wand The wand itemstack * @return The new object */ - public static IrisObject createSchematic(ItemStack wand) { + public static LoaderObject createSchematic(ItemStack wand) { if (!isWand(wand)) { return null; } @@ -202,7 +202,7 @@ public class WandManager implements Listener { try { Location[] f = getCuboid(wand); Cuboid c = new Cuboid(f[0], f[1]); - IrisObject s = new IrisObject(c.getSizeX(), c.getSizeY(), c.getSizeZ()); + LoaderObject s = new LoaderObject(c.getSizeX(), c.getSizeY(), c.getSizeZ()); for (Block b : c) { if (b.getType().equals(Material.AIR)) { continue; diff --git a/src/main/java/com/volmit/iris/core/command/jigsaw/CommandIrisJigsawEdit.java b/src/main/java/com/volmit/iris/core/command/jigsaw/CommandIrisJigsawEdit.java index bd0c340ae..ccfc6de29 100644 --- a/src/main/java/com/volmit/iris/core/command/jigsaw/CommandIrisJigsawEdit.java +++ b/src/main/java/com/volmit/iris/core/command/jigsaw/CommandIrisJigsawEdit.java @@ -22,7 +22,7 @@ import com.volmit.iris.Iris; import com.volmit.iris.core.IrisSettings; import com.volmit.iris.core.edit.JigsawEditor; import com.volmit.iris.core.project.loader.IrisData; -import com.volmit.iris.engine.object.IrisJigsawPiece; +import com.volmit.iris.engine.object.jigsaw.LoaderJigsawPiece; import com.volmit.iris.util.collection.KList; import com.volmit.iris.util.plugin.MortarCommand; import com.volmit.iris.util.plugin.VolmitSender; @@ -59,7 +59,7 @@ public class CommandIrisJigsawEdit extends MortarCommand { return true; } - IrisJigsawPiece piece = IrisData.loadAnyJigsawPiece(args[0]); + LoaderJigsawPiece piece = IrisData.loadAnyJigsawPiece(args[0]); if (piece != null) { File dest = piece.getLoadFile(); diff --git a/src/main/java/com/volmit/iris/core/command/jigsaw/CommandIrisJigsawNew.java b/src/main/java/com/volmit/iris/core/command/jigsaw/CommandIrisJigsawNew.java index 900e2fb6c..b9f10d93d 100644 --- a/src/main/java/com/volmit/iris/core/command/jigsaw/CommandIrisJigsawNew.java +++ b/src/main/java/com/volmit/iris/core/command/jigsaw/CommandIrisJigsawNew.java @@ -22,7 +22,7 @@ import com.volmit.iris.Iris; import com.volmit.iris.core.IrisSettings; import com.volmit.iris.core.edit.JigsawEditor; import com.volmit.iris.core.project.loader.IrisData; -import com.volmit.iris.engine.object.IrisObject; +import com.volmit.iris.engine.object.objects.LoaderObject; import com.volmit.iris.util.collection.KList; import com.volmit.iris.util.plugin.MortarCommand; import com.volmit.iris.util.plugin.VolmitSender; @@ -59,7 +59,7 @@ public class CommandIrisJigsawNew extends MortarCommand { return true; } - IrisObject object = IrisData.loadAnyObject(args[2]); + LoaderObject object = IrisData.loadAnyObject(args[2]); if (object == null) { sender.sendMessage("Failed to find existing object: " + args[2]); diff --git a/src/main/java/com/volmit/iris/core/command/jigsaw/CommandIrisJigsawPlace.java b/src/main/java/com/volmit/iris/core/command/jigsaw/CommandIrisJigsawPlace.java index e7a4fd52a..0f65cfbf9 100644 --- a/src/main/java/com/volmit/iris/core/command/jigsaw/CommandIrisJigsawPlace.java +++ b/src/main/java/com/volmit/iris/core/command/jigsaw/CommandIrisJigsawPlace.java @@ -23,8 +23,8 @@ import com.volmit.iris.core.IrisSettings; import com.volmit.iris.core.project.loader.IrisData; import com.volmit.iris.core.tools.IrisWorlds; import com.volmit.iris.engine.jigsaw.PlannedStructure; -import com.volmit.iris.engine.object.IrisJigsawStructure; -import com.volmit.iris.engine.object.IrisPosition; +import com.volmit.iris.engine.object.jigsaw.LoaderJigsawStructure; +import com.volmit.iris.engine.object.basic.IrisPosition; import com.volmit.iris.util.collection.KList; import com.volmit.iris.util.format.Form; import com.volmit.iris.util.math.RNG; @@ -71,7 +71,7 @@ public class CommandIrisJigsawPlace extends MortarCommand { return true; } - IrisJigsawStructure str = IrisData.loadAnyJigsawStructure(args[0]); + LoaderJigsawStructure str = IrisData.loadAnyJigsawStructure(args[0]); if (str != null) { PrecisionStopwatch p = PrecisionStopwatch.start(); diff --git a/src/main/java/com/volmit/iris/core/command/object/CommandIrisObjectAnalyze.java b/src/main/java/com/volmit/iris/core/command/object/CommandIrisObjectAnalyze.java index 8199dfd5c..5d2cb1dd0 100644 --- a/src/main/java/com/volmit/iris/core/command/object/CommandIrisObjectAnalyze.java +++ b/src/main/java/com/volmit/iris/core/command/object/CommandIrisObjectAnalyze.java @@ -5,7 +5,7 @@ import com.volmit.iris.core.IrisSettings; import com.volmit.iris.core.ProjectManager; import com.volmit.iris.core.project.loader.IrisData; import com.volmit.iris.core.tools.IrisWorlds; -import com.volmit.iris.engine.object.IrisObject; +import com.volmit.iris.engine.object.objects.LoaderObject; import com.volmit.iris.util.collection.KList; import com.volmit.iris.util.plugin.MortarCommand; import com.volmit.iris.util.plugin.VolmitSender; @@ -75,7 +75,7 @@ public class CommandIrisObjectAnalyze extends MortarCommand { Player p = sender.player(); J.a(() -> { - IrisObject obj = IrisData.loadAnyObject(args[0]); + LoaderObject obj = IrisData.loadAnyObject(args[0]); if (obj == null || obj.getLoadFile() == null) { sender.sendMessage("Can't find " + args[0] + " in the " + ProjectManager.WORKSPACE_NAME + " folder"); diff --git a/src/main/java/com/volmit/iris/core/command/object/CommandIrisObjectPaste.java b/src/main/java/com/volmit/iris/core/command/object/CommandIrisObjectPaste.java index bb60a5e5d..b48f3e6a9 100644 --- a/src/main/java/com/volmit/iris/core/command/object/CommandIrisObjectPaste.java +++ b/src/main/java/com/volmit/iris/core/command/object/CommandIrisObjectPaste.java @@ -24,12 +24,10 @@ import com.volmit.iris.core.ProjectManager; import com.volmit.iris.core.WandManager; import com.volmit.iris.core.project.loader.IrisData; import com.volmit.iris.core.tools.IrisWorlds; -import com.volmit.iris.engine.object.IrisAxisRotationClamp; -import com.volmit.iris.engine.object.IrisObject; -import com.volmit.iris.engine.object.IrisObjectPlacement; -import com.volmit.iris.engine.object.IrisObjectPlacementScaleInterpolator; -import com.volmit.iris.engine.object.IrisObjectRotation; -import com.volmit.iris.engine.object.IrisObjectScale; +import com.volmit.iris.engine.object.objects.LoaderObject; +import com.volmit.iris.engine.object.objects.IrisObjectPlacement; +import com.volmit.iris.engine.object.objects.IrisObjectPlacementScaleInterpolator; +import com.volmit.iris.engine.object.objects.IrisObjectRotation; import com.volmit.iris.engine.object.common.IObjectPlacer; import com.volmit.iris.engine.object.tile.TileData; import com.volmit.iris.util.collection.KList; @@ -49,7 +47,6 @@ import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; import java.util.HashMap; -import java.util.Locale; import java.util.Map; import java.util.Set; @@ -94,7 +91,7 @@ public class CommandIrisObjectPaste extends MortarCommand { } Player p = sender.player(); - IrisObject obj = IrisData.loadAnyObject(args[0]); + LoaderObject obj = IrisData.loadAnyObject(args[0]); if (obj == null || obj.getLoadFile() == null) { diff --git a/src/main/java/com/volmit/iris/core/command/object/CommandIrisObjectSave.java b/src/main/java/com/volmit/iris/core/command/object/CommandIrisObjectSave.java index 65a9d224c..46c88404d 100644 --- a/src/main/java/com/volmit/iris/core/command/object/CommandIrisObjectSave.java +++ b/src/main/java/com/volmit/iris/core/command/object/CommandIrisObjectSave.java @@ -21,7 +21,7 @@ package com.volmit.iris.core.command.object; import com.volmit.iris.Iris; import com.volmit.iris.core.IrisSettings; import com.volmit.iris.core.WandManager; -import com.volmit.iris.engine.object.IrisObject; +import com.volmit.iris.engine.object.objects.LoaderObject; import com.volmit.iris.util.collection.KList; import com.volmit.iris.util.plugin.MortarCommand; import com.volmit.iris.util.plugin.VolmitSender; @@ -75,7 +75,7 @@ public class CommandIrisObjectSave extends MortarCommand { Player p = sender.player(); ItemStack wand = p.getInventory().getItemInMainHand(); - IrisObject o = WandManager.createSchematic(wand); + LoaderObject o = WandManager.createSchematic(wand); File file = Iris.proj.getWorkspaceFile(args[0], "objects", args[1] + ".iob"); if (file.exists()) { diff --git a/src/main/java/com/volmit/iris/core/command/studio/CommandIrisStudioExplorerGenerator.java b/src/main/java/com/volmit/iris/core/command/studio/CommandIrisStudioExplorerGenerator.java index 05ef6b7a4..c591e37fa 100644 --- a/src/main/java/com/volmit/iris/core/command/studio/CommandIrisStudioExplorerGenerator.java +++ b/src/main/java/com/volmit/iris/core/command/studio/CommandIrisStudioExplorerGenerator.java @@ -23,7 +23,7 @@ import com.volmit.iris.core.IrisSettings; import com.volmit.iris.core.gui.NoiseExplorerGUI; import com.volmit.iris.core.project.loader.IrisData; import com.volmit.iris.core.tools.IrisWorlds; -import com.volmit.iris.engine.object.IrisGenerator; +import com.volmit.iris.engine.object.noise.LoaderGenerator; import com.volmit.iris.util.collection.KList; import com.volmit.iris.util.function.Function2; import com.volmit.iris.util.math.RNG; @@ -74,7 +74,7 @@ public class CommandIrisStudioExplorerGenerator extends MortarCommand { Supplier> l = () -> { long seed = 12345; - IrisGenerator generator; + LoaderGenerator generator; if (Iris.proj.isProjectOpen()) { generator = Iris.proj.getActiveProject().getActiveProvider().getData().getGeneratorLoader().load(args[0]); seed = Iris.proj.getActiveProject().getActiveProvider().getTarget().getWorld().seed(); diff --git a/src/main/java/com/volmit/iris/core/command/studio/CommandIrisStudioGoto.java b/src/main/java/com/volmit/iris/core/command/studio/CommandIrisStudioGoto.java index f3db61d8d..2c54d0a23 100644 --- a/src/main/java/com/volmit/iris/core/command/studio/CommandIrisStudioGoto.java +++ b/src/main/java/com/volmit/iris/core/command/studio/CommandIrisStudioGoto.java @@ -22,9 +22,9 @@ import com.volmit.iris.Iris; import com.volmit.iris.core.project.loader.IrisData; import com.volmit.iris.core.tools.IrisWorlds; import com.volmit.iris.engine.framework.IrisAccess; -import com.volmit.iris.engine.object.IrisBiome; -import com.volmit.iris.engine.object.IrisJigsawStructure; -import com.volmit.iris.engine.object.IrisRegion; +import com.volmit.iris.engine.object.biome.LoaderBiome; +import com.volmit.iris.engine.object.jigsaw.LoaderJigsawStructure; +import com.volmit.iris.engine.object.regional.LoaderRegion; import com.volmit.iris.util.collection.KList; import com.volmit.iris.util.format.C; import com.volmit.iris.util.format.Form; @@ -81,9 +81,9 @@ public class CommandIrisStudioGoto extends MortarCommand { } IrisAccess g = IrisWorlds.access(world); - IrisBiome b = IrisData.loadAnyBiome(args[0]); - IrisRegion r = IrisData.loadAnyRegion(args[0]); - IrisJigsawStructure s = IrisData.loadAnyJigsawStructure(args[0]); + LoaderBiome b = IrisData.loadAnyBiome(args[0]); + LoaderRegion r = IrisData.loadAnyRegion(args[0]); + LoaderJigsawStructure s = IrisData.loadAnyJigsawStructure(args[0]); if (b != null) { J.a(() -> { diff --git a/src/main/java/com/volmit/iris/core/command/studio/CommandIrisStudioLoot.java b/src/main/java/com/volmit/iris/core/command/studio/CommandIrisStudioLoot.java index f6d4c4bff..adeb34011 100644 --- a/src/main/java/com/volmit/iris/core/command/studio/CommandIrisStudioLoot.java +++ b/src/main/java/com/volmit/iris/core/command/studio/CommandIrisStudioLoot.java @@ -22,8 +22,8 @@ import com.volmit.iris.Iris; import com.volmit.iris.core.IrisSettings; import com.volmit.iris.core.tools.IrisWorlds; import com.volmit.iris.engine.framework.IrisAccess; -import com.volmit.iris.engine.object.InventorySlotType; -import com.volmit.iris.engine.object.IrisLootTable; +import com.volmit.iris.engine.object.meta.InventorySlotType; +import com.volmit.iris.engine.object.loot.LoaderLootTable; import com.volmit.iris.util.collection.KList; import com.volmit.iris.util.math.RNG; import com.volmit.iris.util.plugin.MortarCommand; @@ -63,7 +63,7 @@ public class CommandIrisStudioLoot extends MortarCommand { return true; } - KList tables = prov.getCompound().getEngine(p.getLocation().getBlockY()).getLootTables(RNG.r, p.getLocation().getBlock()); + KList tables = prov.getCompound().getEngine(p.getLocation().getBlockY()).getLootTables(RNG.r, p.getLocation().getBlock()); Inventory inv = Bukkit.createInventory(null, 27 * 2); try { @@ -76,7 +76,7 @@ public class CommandIrisStudioLoot extends MortarCommand { p.openInventory(inv); - for (IrisLootTable i : tables) { + for (LoaderLootTable i : tables) { sender.sendMessage("- " + i.getName()); } diff --git a/src/main/java/com/volmit/iris/core/command/studio/CommandIrisStudioProfile.java b/src/main/java/com/volmit/iris/core/command/studio/CommandIrisStudioProfile.java index e27960e85..de4af4d34 100644 --- a/src/main/java/com/volmit/iris/core/command/studio/CommandIrisStudioProfile.java +++ b/src/main/java/com/volmit/iris/core/command/studio/CommandIrisStudioProfile.java @@ -22,9 +22,15 @@ import com.volmit.iris.Iris; import com.volmit.iris.core.IrisSettings; import com.volmit.iris.core.project.IrisProject; import com.volmit.iris.core.project.loader.IrisData; -import com.volmit.iris.engine.interpolation.InterpolationMethod; +import com.volmit.iris.util.interpolation.InterpolationMethod; +import com.volmit.iris.engine.object.biome.LoaderBiome; +import com.volmit.iris.engine.object.biome.IrisBiomePaletteLayer; +import com.volmit.iris.engine.object.noise.LoaderGenerator; +import com.volmit.iris.engine.object.noise.IrisInterpolator; +import com.volmit.iris.engine.object.noise.IrisNoiseGenerator; +import com.volmit.iris.engine.object.noise.NoiseStyle; +import com.volmit.iris.engine.object.regional.LoaderRegion; import com.volmit.iris.util.noise.CNG; -import com.volmit.iris.engine.object.*; import com.volmit.iris.util.collection.KList; import com.volmit.iris.util.collection.KMap; import com.volmit.iris.util.format.Form; @@ -152,7 +158,7 @@ public class CommandIrisStudioProfile extends MortarCommand { for (String i : data.getGeneratorLoader().getPossibleKeys()) { KList vv = new KList<>(); - IrisGenerator g = data.getGeneratorLoader().load(i); + LoaderGenerator g = data.getGeneratorLoader().load(i); KList composites = g.getAllComposites(); double score = 0; int m = 0; @@ -182,7 +188,7 @@ public class CommandIrisStudioProfile extends MortarCommand { for (String i : data.getBiomeLoader().getPossibleKeys()) { KList vv = new KList<>(); - IrisBiome b = data.getBiomeLoader().load(i); + LoaderBiome b = data.getBiomeLoader().load(i); double score = 0; int m = 0; @@ -211,7 +217,7 @@ public class CommandIrisStudioProfile extends MortarCommand { v.add(""); for (String i : data.getRegionLoader().getPossibleKeys()) { - IrisRegion b = data.getRegionLoader().load(i); + LoaderRegion b = data.getRegionLoader().load(i); double score = 0; score += styleTimings.get(b.getLakeStyle().getStyle()); diff --git a/src/main/java/com/volmit/iris/core/command/studio/CommandIrisStudioSummon.java b/src/main/java/com/volmit/iris/core/command/studio/CommandIrisStudioSummon.java index b029392b0..3f8c49d5c 100644 --- a/src/main/java/com/volmit/iris/core/command/studio/CommandIrisStudioSummon.java +++ b/src/main/java/com/volmit/iris/core/command/studio/CommandIrisStudioSummon.java @@ -23,7 +23,7 @@ import com.volmit.iris.core.IrisSettings; import com.volmit.iris.core.tools.IrisWorlds; import com.volmit.iris.engine.framework.Engine; import com.volmit.iris.engine.framework.IrisAccess; -import com.volmit.iris.engine.object.IrisEntity; +import com.volmit.iris.engine.object.entity.LoaderEntity; import com.volmit.iris.util.collection.KList; import com.volmit.iris.util.plugin.MortarCommand; import com.volmit.iris.util.plugin.VolmitSender; @@ -65,7 +65,7 @@ public class CommandIrisStudioSummon extends MortarCommand { sender.sendMessage("- " + i); } } else { - IrisEntity e = g.getData().getEntityLoader().load(args[0]); + LoaderEntity e = g.getData().getEntityLoader().load(args[0]); if (e == null) { sender.sendMessage("Couldnt find entity " + args[0] + ". Use '/iris std summon' to see a list of iris entities."); diff --git a/src/main/java/com/volmit/iris/core/command/what/CommandIrisWhatBiome.java b/src/main/java/com/volmit/iris/core/command/what/CommandIrisWhatBiome.java index 8af9e3b3c..eadad0098 100644 --- a/src/main/java/com/volmit/iris/core/command/what/CommandIrisWhatBiome.java +++ b/src/main/java/com/volmit/iris/core/command/what/CommandIrisWhatBiome.java @@ -22,7 +22,7 @@ import com.volmit.iris.Iris; import com.volmit.iris.core.nms.INMS; import com.volmit.iris.core.tools.IrisWorlds; import com.volmit.iris.engine.framework.IrisAccess; -import com.volmit.iris.engine.object.IrisBiome; +import com.volmit.iris.engine.object.biome.LoaderBiome; import com.volmit.iris.util.collection.KList; import com.volmit.iris.util.plugin.MortarCommand; import com.volmit.iris.util.plugin.VolmitSender; @@ -54,7 +54,7 @@ public class CommandIrisWhatBiome extends MortarCommand { IrisAccess g = IrisWorlds.access(w); assert g != null; - IrisBiome b = g.getBiome(p.getLocation().getBlockX(), p.getLocation().getBlockY(), p.getLocation().getBlockZ()); + LoaderBiome b = g.getBiome(p.getLocation().getBlockX(), p.getLocation().getBlockY(), p.getLocation().getBlockZ()); sender.sendMessage("IBiome: " + b.getLoadKey() + " (" + b.getDerivative().name() + ")"); } catch (Throwable e) { diff --git a/src/main/java/com/volmit/iris/core/command/what/CommandIrisWhatFeatures.java b/src/main/java/com/volmit/iris/core/command/what/CommandIrisWhatFeatures.java index 8302b25fc..8a51b8c67 100644 --- a/src/main/java/com/volmit/iris/core/command/what/CommandIrisWhatFeatures.java +++ b/src/main/java/com/volmit/iris/core/command/what/CommandIrisWhatFeatures.java @@ -21,17 +21,13 @@ package com.volmit.iris.core.command.what; import com.google.gson.Gson; import com.volmit.iris.Iris; import com.volmit.iris.core.tools.IrisWorlds; -import com.volmit.iris.engine.data.B; import com.volmit.iris.engine.framework.Engine; -import com.volmit.iris.engine.object.IrisFeaturePositional; -import com.volmit.iris.engine.object.IrisFeaturePotential; +import com.volmit.iris.engine.object.feature.IrisFeaturePositional; import com.volmit.iris.util.collection.KList; -import com.volmit.iris.util.format.C; import com.volmit.iris.util.json.JSONObject; import com.volmit.iris.util.plugin.MortarCommand; import com.volmit.iris.util.plugin.VolmitSender; import org.bukkit.Chunk; -import org.bukkit.FluidCollisionMode; import org.bukkit.block.data.BlockData; import org.bukkit.entity.Player; diff --git a/src/main/java/com/volmit/iris/core/command/what/CommandIrisWhatObjects.java b/src/main/java/com/volmit/iris/core/command/what/CommandIrisWhatObjects.java index 967db3b35..3826b27c6 100644 --- a/src/main/java/com/volmit/iris/core/command/what/CommandIrisWhatObjects.java +++ b/src/main/java/com/volmit/iris/core/command/what/CommandIrisWhatObjects.java @@ -21,9 +21,9 @@ package com.volmit.iris.core.command.what; import com.volmit.iris.Iris; import com.volmit.iris.core.tools.IrisWorlds; import com.volmit.iris.engine.framework.IrisAccess; -import com.volmit.iris.engine.object.IrisBiome; -import com.volmit.iris.engine.object.IrisObject; -import com.volmit.iris.engine.object.IrisObjectPlacement; +import com.volmit.iris.engine.object.biome.LoaderBiome; +import com.volmit.iris.engine.object.objects.LoaderObject; +import com.volmit.iris.engine.object.objects.IrisObjectPlacement; import com.volmit.iris.util.collection.KList; import com.volmit.iris.util.collection.KMap; import com.volmit.iris.util.collection.KSet; @@ -139,8 +139,8 @@ public class CommandIrisWhatObjects extends MortarCommand { for (int k = 0; k < 16; k += 3) { assert g != null; - IrisBiome bb = g.getBiome((i.getX() * 16) + j, (i.getZ() * 16) + k); - IrisBiome bxf = g.getCaveBiome((i.getX() * 16) + j, (i.getZ() * 16) + k); + LoaderBiome bb = g.getBiome((i.getX() * 16) + j, (i.getZ() * 16) + k); + LoaderBiome bxf = g.getCaveBiome((i.getX() * 16) + j, (i.getZ() * 16) + k); biomes.addIfMissing(bb.getName() + " [" + Form.capitalize(bb.getInferredType().name().toLowerCase()) + "] " + " (" + bb.getLoadFile().getName() + ")"); caveBiomes.addIfMissing(bxf.getName() + " (" + bxf.getLoadFile().getName() + ")"); exportObjects(bb, pw, g, objects); @@ -199,7 +199,7 @@ public class CommandIrisWhatObjects extends MortarCommand { return true; } - private void exportObjects(IrisBiome bb, PrintWriter pw, IrisAccess g, KMap>> objects) { + private void exportObjects(LoaderBiome bb, PrintWriter pw, IrisAccess g, KMap>> objects) { String n1 = bb.getName() + " [" + Form.capitalize(bb.getInferredType().name().toLowerCase()) + "] " + " (" + bb.getLoadFile().getName() + ")"; int m = 0; KSet stop = new KSet<>(); @@ -216,7 +216,7 @@ public class CommandIrisWhatObjects extends MortarCommand { } File ff = g.getData().getObjectLoader().findFile(i); - BlockVector sz = IrisObject.sampleSize(ff); + BlockVector sz = LoaderObject.sampleSize(ff); nn3 = i + ": size=[" + sz.getBlockX() + "," + sz.getBlockY() + "," + sz.getBlockZ() + "] location=[" + ff.getPath() + "]"; stop.add(i); } catch (Throwable e) { diff --git a/src/main/java/com/volmit/iris/core/command/world/CommandIrisCreate.java b/src/main/java/com/volmit/iris/core/command/world/CommandIrisCreate.java index 424aa3545..b777fee98 100644 --- a/src/main/java/com/volmit/iris/core/command/world/CommandIrisCreate.java +++ b/src/main/java/com/volmit/iris/core/command/world/CommandIrisCreate.java @@ -25,7 +25,7 @@ import com.volmit.iris.core.nms.INMS; import com.volmit.iris.core.project.loader.IrisData; import com.volmit.iris.core.tools.IrisWorldCreator; import com.volmit.iris.engine.framework.IrisAccess; -import com.volmit.iris.engine.object.IrisDimension; +import com.volmit.iris.engine.object.dimensional.LoaderDimension; import com.volmit.iris.util.collection.KList; import com.volmit.iris.util.format.Form; import com.volmit.iris.util.plugin.MortarCommand; @@ -139,7 +139,7 @@ public class CommandIrisCreate extends MortarCommand { Iris.linkMultiverseCore.assignWorldType(worldName, type); final AtomicReference world = new AtomicReference<>(); - IrisDimension dim; + LoaderDimension dim; File folder = new File(worldName); Runnable onDone = () -> { diff --git a/src/main/java/com/volmit/iris/core/edit/JigsawEditor.java b/src/main/java/com/volmit/iris/core/edit/JigsawEditor.java index f2d487890..6d08327a5 100644 --- a/src/main/java/com/volmit/iris/core/edit/JigsawEditor.java +++ b/src/main/java/com/volmit/iris/core/edit/JigsawEditor.java @@ -20,7 +20,11 @@ package com.volmit.iris.core.edit; import com.google.gson.Gson; import com.volmit.iris.Iris; -import com.volmit.iris.engine.object.*; +import com.volmit.iris.engine.object.basic.IrisPosition; +import com.volmit.iris.engine.object.jigsaw.LoaderJigsawPiece; +import com.volmit.iris.engine.object.jigsaw.IrisJigsawPieceConnector; +import com.volmit.iris.engine.object.objects.IrisDirection; +import com.volmit.iris.engine.object.objects.LoaderObject; import com.volmit.iris.util.collection.KMap; import com.volmit.iris.util.data.Cuboid; import com.volmit.iris.util.io.IO; @@ -46,9 +50,9 @@ import java.io.IOException; public class JigsawEditor implements Listener { public static final KMap editors = new KMap<>(); private final Player player; - private final IrisObject object; + private final LoaderObject object; private final File targetSaveLocation; - private final IrisJigsawPiece piece; + private final LoaderJigsawPiece piece; private final Location origin; private final Cuboid cuboid; private final int ticker; @@ -56,7 +60,7 @@ public class JigsawEditor implements Listener { private final KMap falling = new KMap<>(); private final ChronoLatch cl = new ChronoLatch(100); - public JigsawEditor(Player player, IrisJigsawPiece piece, IrisObject object, File saveLocation) { + public JigsawEditor(Player player, LoaderJigsawPiece piece, LoaderObject object, File saveLocation) { if (editors.containsKey(player)) { editors.get(player).close(); } @@ -67,7 +71,7 @@ public class JigsawEditor implements Listener { origin = player.getLocation().clone().add(0, 7, 0); target = origin; this.targetSaveLocation = saveLocation; - this.piece = piece == null ? new IrisJigsawPiece() : piece; + this.piece = piece == null ? new LoaderJigsawPiece() : piece; this.piece.setObject(object.getLoadKey()); cuboid = new Cuboid(origin.clone(), origin.clone().add(object.getW() - 1, object.getH() - 1, object.getD() - 1)); ticker = J.sr(this::onTick, 0); diff --git a/src/main/java/com/volmit/iris/core/gui/NoiseExplorerGUI.java b/src/main/java/com/volmit/iris/core/gui/NoiseExplorerGUI.java index d93312361..92f9c549e 100644 --- a/src/main/java/com/volmit/iris/core/gui/NoiseExplorerGUI.java +++ b/src/main/java/com/volmit/iris/core/gui/NoiseExplorerGUI.java @@ -21,7 +21,7 @@ package com.volmit.iris.core.gui; import com.volmit.iris.Iris; import com.volmit.iris.core.events.IrisEngineHotloadEvent; import com.volmit.iris.util.noise.CNG; -import com.volmit.iris.engine.object.NoiseStyle; +import com.volmit.iris.engine.object.noise.NoiseStyle; import com.volmit.iris.util.parallel.BurstExecutor; import com.volmit.iris.util.parallel.MultiBurst; import com.volmit.iris.util.collection.KList; diff --git a/src/main/java/com/volmit/iris/core/gui/VisionGUI.java b/src/main/java/com/volmit/iris/core/gui/VisionGUI.java index 39e34f341..4a61721db 100644 --- a/src/main/java/com/volmit/iris/core/gui/VisionGUI.java +++ b/src/main/java/com/volmit/iris/core/gui/VisionGUI.java @@ -25,8 +25,8 @@ import com.volmit.iris.core.tools.IrisWorlds; import com.volmit.iris.engine.IrisComplex; import com.volmit.iris.engine.framework.Engine; import com.volmit.iris.engine.framework.IrisAccess; -import com.volmit.iris.engine.object.IrisBiome; -import com.volmit.iris.engine.object.IrisRegion; +import com.volmit.iris.engine.object.biome.LoaderBiome; +import com.volmit.iris.engine.object.regional.LoaderRegion; import com.volmit.iris.engine.object.common.IrisWorld; import com.volmit.iris.util.collection.KList; import com.volmit.iris.util.collection.KMap; @@ -629,8 +629,8 @@ public class VisionGUI extends JPanel implements MouseWheelListener, KeyListener } private void renderHoverOverlay(Graphics2D g, boolean detailed) { - IrisBiome biome = engine.getFramework().getComplex().getTrueBiomeStream().get(getWorldX(hx), getWorldZ(hz)); - IrisRegion region = engine.getFramework().getComplex().getRegionStream().get(getWorldX(hx), getWorldZ(hz)); + LoaderBiome biome = engine.getFramework().getComplex().getTrueBiomeStream().get(getWorldX(hx), getWorldZ(hz)); + LoaderRegion region = engine.getFramework().getComplex().getRegionStream().get(getWorldX(hx), getWorldZ(hz)); KList l = new KList<>(); l.add("Biome: " + biome.getName()); l.add("Region: " + region.getName() + "(" + region.getLoadKey() + ")"); diff --git a/src/main/java/com/volmit/iris/core/gui/components/IrisRenderer.java b/src/main/java/com/volmit/iris/core/gui/components/IrisRenderer.java index 00a31d77c..bd6e5d1c0 100644 --- a/src/main/java/com/volmit/iris/core/gui/components/IrisRenderer.java +++ b/src/main/java/com/volmit/iris/core/gui/components/IrisRenderer.java @@ -19,7 +19,7 @@ package com.volmit.iris.core.gui.components; import com.volmit.iris.engine.framework.Engine; -import com.volmit.iris.engine.interpolation.IrisInterpolation; +import com.volmit.iris.util.interpolation.IrisInterpolation; import java.awt.*; import java.awt.image.BufferedImage; diff --git a/src/main/java/com/volmit/iris/core/link/MultiverseCoreLink.java b/src/main/java/com/volmit/iris/core/link/MultiverseCoreLink.java index 4546a4368..13f46b2d9 100644 --- a/src/main/java/com/volmit/iris/core/link/MultiverseCoreLink.java +++ b/src/main/java/com/volmit/iris/core/link/MultiverseCoreLink.java @@ -19,7 +19,7 @@ package com.volmit.iris.core.link; import com.volmit.iris.Iris; -import com.volmit.iris.engine.object.IrisDimension; +import com.volmit.iris.engine.object.dimensional.LoaderDimension; import com.volmit.iris.util.collection.KMap; import org.bukkit.Bukkit; import org.bukkit.World; @@ -37,7 +37,7 @@ public class MultiverseCoreLink { } - public boolean addWorld(String worldName, IrisDimension dim, String seed) { + public boolean addWorld(String worldName, LoaderDimension dim, String seed) { if (!supported()) { return false; } diff --git a/src/main/java/com/volmit/iris/core/pregenerator/methods/HeadlessPregenMethod.java b/src/main/java/com/volmit/iris/core/pregenerator/methods/HeadlessPregenMethod.java index c91071478..76ea13d31 100644 --- a/src/main/java/com/volmit/iris/core/pregenerator/methods/HeadlessPregenMethod.java +++ b/src/main/java/com/volmit/iris/core/pregenerator/methods/HeadlessPregenMethod.java @@ -20,8 +20,8 @@ package com.volmit.iris.core.pregenerator.methods; import com.volmit.iris.core.pregenerator.PregenListener; import com.volmit.iris.core.pregenerator.PregeneratorMethod; -import com.volmit.iris.engine.headless.HeadlessGenerator; -import com.volmit.iris.engine.headless.HeadlessWorld; +import com.volmit.iris.engine.framework.headless.HeadlessGenerator; +import com.volmit.iris.engine.framework.headless.HeadlessWorld; import lombok.Getter; public class HeadlessPregenMethod implements PregeneratorMethod { diff --git a/src/main/java/com/volmit/iris/core/pregenerator/methods/HybridPregenMethod.java b/src/main/java/com/volmit/iris/core/pregenerator/methods/HybridPregenMethod.java index 3aa88638f..a768cda85 100644 --- a/src/main/java/com/volmit/iris/core/pregenerator/methods/HybridPregenMethod.java +++ b/src/main/java/com/volmit/iris/core/pregenerator/methods/HybridPregenMethod.java @@ -23,7 +23,7 @@ import com.volmit.iris.core.IrisSettings; import com.volmit.iris.core.pregenerator.PregenListener; import com.volmit.iris.core.pregenerator.PregeneratorMethod; import com.volmit.iris.core.tools.IrisWorlds; -import com.volmit.iris.engine.headless.HeadlessWorld; +import com.volmit.iris.engine.framework.headless.HeadlessWorld; import com.volmit.iris.util.math.Position2; import org.bukkit.World; diff --git a/src/main/java/com/volmit/iris/core/pregenerator/methods/SyndicatePregenMethod.java b/src/main/java/com/volmit/iris/core/pregenerator/methods/SyndicatePregenMethod.java index 94059000f..c34322fa5 100644 --- a/src/main/java/com/volmit/iris/core/pregenerator/methods/SyndicatePregenMethod.java +++ b/src/main/java/com/volmit/iris/core/pregenerator/methods/SyndicatePregenMethod.java @@ -25,7 +25,7 @@ import com.volmit.iris.core.pregenerator.PregenTask; import com.volmit.iris.core.pregenerator.PregeneratorMethod; import com.volmit.iris.core.pregenerator.syndicate.SyndicateClient; import com.volmit.iris.core.pregenerator.syndicate.command.*; -import com.volmit.iris.engine.object.IrisDimension; +import com.volmit.iris.engine.object.dimensional.LoaderDimension; import com.volmit.iris.util.io.IO; import com.volmit.iris.util.scheduling.J; import lombok.Getter; @@ -42,13 +42,13 @@ public class SyndicatePregenMethod implements PregeneratorMethod { private String nickname; private final int port; private final String password; - private final IrisDimension dimension; + private final LoaderDimension dimension; private boolean ready = false; private final File worldFolder; private final UUID pack = UUID.randomUUID(); private final long seed; - public SyndicatePregenMethod(String nickname, File worldFolder, String address, int port, String password, IrisDimension dimension, long seed) { + public SyndicatePregenMethod(String nickname, File worldFolder, String address, int port, String password, LoaderDimension dimension, long seed) { this.seed = seed; this.worldFolder = worldFolder; this.address = address; diff --git a/src/main/java/com/volmit/iris/core/pregenerator/syndicate/SyndicateServer.java b/src/main/java/com/volmit/iris/core/pregenerator/syndicate/SyndicateServer.java index e35d4a9d1..a66cc5499 100644 --- a/src/main/java/com/volmit/iris/core/pregenerator/syndicate/SyndicateServer.java +++ b/src/main/java/com/volmit/iris/core/pregenerator/syndicate/SyndicateServer.java @@ -20,8 +20,8 @@ package com.volmit.iris.core.pregenerator.syndicate; import com.volmit.iris.core.pregenerator.PregenListener; import com.volmit.iris.core.pregenerator.syndicate.command.*; -import com.volmit.iris.engine.headless.HeadlessGenerator; -import com.volmit.iris.engine.headless.HeadlessWorld; +import com.volmit.iris.engine.framework.headless.HeadlessGenerator; +import com.volmit.iris.engine.framework.headless.HeadlessWorld; import com.volmit.iris.util.io.IO; import com.volmit.iris.util.scheduling.J; import org.zeroturnaround.zip.ZipUtil; diff --git a/src/main/java/com/volmit/iris/core/pregenerator/syndicate/command/SyndicateInstallPack.java b/src/main/java/com/volmit/iris/core/pregenerator/syndicate/command/SyndicateInstallPack.java index d399ee546..2b4d3e923 100644 --- a/src/main/java/com/volmit/iris/core/pregenerator/syndicate/command/SyndicateInstallPack.java +++ b/src/main/java/com/volmit/iris/core/pregenerator/syndicate/command/SyndicateInstallPack.java @@ -18,7 +18,7 @@ package com.volmit.iris.core.pregenerator.syndicate.command; -import com.volmit.iris.engine.object.IrisDimension; +import com.volmit.iris.engine.object.dimensional.LoaderDimension; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -38,5 +38,5 @@ public class SyndicateInstallPack implements SyndicateCommand { private long seed = 1337; @Builder.Default - private IrisDimension dimension = null; + private LoaderDimension dimension = null; } diff --git a/src/main/java/com/volmit/iris/core/project/IrisProject.java b/src/main/java/com/volmit/iris/core/project/IrisProject.java index ca454d7b3..bf57c2f1c 100644 --- a/src/main/java/com/volmit/iris/core/project/IrisProject.java +++ b/src/main/java/com/volmit/iris/core/project/IrisProject.java @@ -29,7 +29,17 @@ import com.volmit.iris.core.report.ReportType; import com.volmit.iris.core.tools.IrisWorldCreator; import com.volmit.iris.engine.framework.Engine; import com.volmit.iris.engine.framework.IrisAccess; -import com.volmit.iris.engine.object.*; +import com.volmit.iris.engine.object.biome.LoaderBiome; +import com.volmit.iris.engine.object.biome.IrisBiomeMutation; +import com.volmit.iris.engine.object.biome.IrisBiomePaletteLayer; +import com.volmit.iris.engine.object.block.LoaderBlockData; +import com.volmit.iris.engine.object.dimensional.LoaderDimension; +import com.volmit.iris.engine.object.entity.LoaderEntity; +import com.volmit.iris.engine.object.loot.LoaderLootTable; +import com.volmit.iris.engine.object.noise.LoaderGenerator; +import com.volmit.iris.engine.object.objects.IrisObjectPlacement; +import com.volmit.iris.engine.object.regional.LoaderRegion; +import com.volmit.iris.engine.object.spawners.LoaderSpawner; import com.volmit.iris.util.parallel.MultiBurst; import com.volmit.iris.util.collection.KList; import com.volmit.iris.util.collection.KMap; @@ -93,7 +103,7 @@ public class IrisProject { if (activeProvider != null && activeProvider.getCompound() != null) { for (int i = 0; i < getActiveProvider().getCompound().getSize(); i++) { Engine e = getActiveProvider().getCompound().getEngine(i); - IrisDimension dim = e.getDimension(); + LoaderDimension dim = e.getDimension(); reports.add(scanForErrors(dim)); } } @@ -110,7 +120,7 @@ public class IrisProject { return reports; } - private KList scanForErrors(IrisDimension dim) { + private KList scanForErrors(LoaderDimension dim) { KList reports = new KList<>(); if (dim.getFocus() != null && !dim.getFocus().isEmpty()) { @@ -122,14 +132,14 @@ public class IrisProject { .build()); } - for (IrisRegion i : dim.getAllRegions(getActiveProvider())) { + for (LoaderRegion i : dim.getAllRegions(getActiveProvider())) { scanForErrors(i); } return reports; } - private KList scanForErrors(IrisRegion region) { + private KList scanForErrors(LoaderRegion region) { KList reports = new KList<>(); if (region.getRarity() > 60) { @@ -141,14 +151,14 @@ public class IrisProject { .build()); } - for (IrisBiome i : region.getAllBiomes(getActiveProvider())) { + for (LoaderBiome i : region.getAllBiomes(getActiveProvider())) { reports.add(scanForErrors(i)); } return reports; } - private KList scanForErrors(IrisBiome biome) { + private KList scanForErrors(LoaderBiome biome) { KList reports = new KList<>(); for (IrisObjectPlacement i : biome.getObjects()) { @@ -166,17 +176,17 @@ public class IrisProject { return reports; } - private KList scanForErrors(IrisBiome biome, IrisObjectPlacement i) { + private KList scanForErrors(LoaderBiome biome, IrisObjectPlacement i) { return new KList<>(); } - private KList scanForErrors(IrisBiome biome, IrisBiomePaletteLayer i) { + private KList scanForErrors(LoaderBiome biome, IrisBiomePaletteLayer i) { return new KList<>(); } - private KList scanForErrorsSeaLayers(IrisBiome biome, IrisBiomePaletteLayer i) { + private KList scanForErrorsSeaLayers(LoaderBiome biome, IrisBiomePaletteLayer i) { return new KList<>(); } @@ -245,7 +255,7 @@ public class IrisProject { return; } - IrisDimension d = IrisData.loadAnyDimension(getName()); + LoaderDimension d = IrisData.loadAnyDimension(getName()); if (d == null) { sender.sendMessage("Can't find dimension: " + getName()); return; @@ -457,17 +467,17 @@ public class IrisProject { public File compilePackage(VolmitSender sender, boolean obfuscate, boolean minify) { String dimm = getName(); IrisData dm = new IrisData(path); - IrisDimension dimension = dm.getDimensionLoader().load(dimm); + LoaderDimension dimension = dm.getDimensionLoader().load(dimm); File folder = new File(Iris.instance.getDataFolder(), "exports/" + dimension.getLoadKey()); folder.mkdirs(); Iris.info("Packaging Dimension " + dimension.getName() + " " + (obfuscate ? "(Obfuscated)" : "")); - KSet regions = new KSet<>(); - KSet biomes = new KSet<>(); - KSet entities = new KSet<>(); - KSet spawners = new KSet<>(); - KSet generators = new KSet<>(); - KSet loot = new KSet<>(); - KSet blocks = new KSet<>(); + KSet regions = new KSet<>(); + KSet biomes = new KSet<>(); + KSet entities = new KSet<>(); + KSet spawners = new KSet<>(); + KSet generators = new KSet<>(); + KSet loot = new KSet<>(); + KSet blocks = new KSet<>(); for (String i : dm.getDimensionLoader().getPossibleKeys()) { blocks.add(dm.getBlockLoader().load(i)); @@ -518,7 +528,7 @@ public class IrisProject { StringBuilder c = new StringBuilder(); sender.sendMessage("Serializing Objects"); - for (IrisBiome i : biomes) { + for (LoaderBiome i : biomes) { for (IrisObjectPlacement j : i.getObjects()) { b.append(j.hashCode()); KList newNames = new KList<>(); @@ -612,7 +622,7 @@ public class IrisProject { IO.writeAll(new File(folder, "dimensions/" + dimension.getLoadKey() + ".json"), a); b.append(IO.hash(a)); - for (IrisGenerator i : generators) { + for (LoaderGenerator i : generators) { a = new JSONObject(new Gson().toJson(i)).toString(minify ? 0 : 4); IO.writeAll(new File(folder, "generators/" + i.getLoadKey() + ".json"), a); b.append(IO.hash(a)); @@ -621,31 +631,31 @@ public class IrisProject { c.append(IO.hash(b.toString())); b = new StringBuilder(); - for (IrisRegion i : regions) { + for (LoaderRegion i : regions) { a = new JSONObject(new Gson().toJson(i)).toString(minify ? 0 : 4); IO.writeAll(new File(folder, "regions/" + i.getLoadKey() + ".json"), a); b.append(IO.hash(a)); } - for (IrisBlockData i : blocks) { + for (LoaderBlockData i : blocks) { a = new JSONObject(new Gson().toJson(i)).toString(minify ? 0 : 4); IO.writeAll(new File(folder, "blocks/" + i.getLoadKey() + ".json"), a); b.append(IO.hash(a)); } - for (IrisBiome i : biomes) { + for (LoaderBiome i : biomes) { a = new JSONObject(new Gson().toJson(i)).toString(minify ? 0 : 4); IO.writeAll(new File(folder, "biomes/" + i.getLoadKey() + ".json"), a); b.append(IO.hash(a)); } - for (IrisEntity i : entities) { + for (LoaderEntity i : entities) { a = new JSONObject(new Gson().toJson(i)).toString(minify ? 0 : 4); IO.writeAll(new File(folder, "entities/" + i.getLoadKey() + ".json"), a); b.append(IO.hash(a)); } - for (IrisLootTable i : loot) { + for (LoaderLootTable i : loot) { a = new JSONObject(new Gson().toJson(i)).toString(minify ? 0 : 4); IO.writeAll(new File(folder, "loot/" + i.getLoadKey() + ".json"), a); b.append(IO.hash(a)); diff --git a/src/main/java/com/volmit/iris/core/project/loader/IrisData.java b/src/main/java/com/volmit/iris/core/project/loader/IrisData.java index fbbbbbce2..c5007bf49 100644 --- a/src/main/java/com/volmit/iris/core/project/loader/IrisData.java +++ b/src/main/java/com/volmit/iris/core/project/loader/IrisData.java @@ -20,7 +20,20 @@ package com.volmit.iris.core.project.loader; import com.volmit.iris.Iris; import com.volmit.iris.engine.framework.Engine; -import com.volmit.iris.engine.object.*; +import com.volmit.iris.engine.object.biome.LoaderBiome; +import com.volmit.iris.engine.object.block.LoaderBlockData; +import com.volmit.iris.engine.object.dimensional.LoaderDimension; +import com.volmit.iris.engine.object.entity.LoaderEntity; +import com.volmit.iris.engine.object.jigsaw.LoaderJigsawPiece; +import com.volmit.iris.engine.object.jigsaw.LoaderJigsawPool; +import com.volmit.iris.engine.object.jigsaw.LoaderJigsawStructure; +import com.volmit.iris.engine.object.loot.LoaderLootTable; +import com.volmit.iris.engine.object.mods.LoaderMod; +import com.volmit.iris.engine.object.noise.LoaderExpression; +import com.volmit.iris.engine.object.noise.LoaderGenerator; +import com.volmit.iris.engine.object.objects.LoaderObject; +import com.volmit.iris.engine.object.regional.LoaderRegion; +import com.volmit.iris.engine.object.spawners.LoaderSpawner; import com.volmit.iris.util.collection.KMap; import com.volmit.iris.util.math.RNG; import lombok.Data; @@ -31,21 +44,21 @@ import java.util.function.Function; @Data public class IrisData { - private ResourceLoader biomeLoader; - private ResourceLoader lootLoader; - private ResourceLoader regionLoader; - private ResourceLoader dimensionLoader; - private ResourceLoader generatorLoader; - private ResourceLoader jigsawPieceLoader; - private ResourceLoader jigsawPoolLoader; - private ResourceLoader jigsawStructureLoader; - private ResourceLoader entityLoader; - private ResourceLoader spawnerLoader; - private ResourceLoader modLoader; - private ResourceLoader blockLoader; - private ResourceLoader expressionLoader; - private ResourceLoader objectLoader; - private KMap, ResourceLoader> loaders = new KMap<>(); + private ResourceLoader biomeLoader; + private ResourceLoader lootLoader; + private ResourceLoader regionLoader; + private ResourceLoader dimensionLoader; + private ResourceLoader generatorLoader; + private ResourceLoader jigsawPieceLoader; + private ResourceLoader jigsawPoolLoader; + private ResourceLoader jigsawStructureLoader; + private ResourceLoader entityLoader; + private ResourceLoader spawnerLoader; + private ResourceLoader modLoader; + private ResourceLoader blockLoader; + private ResourceLoader expressionLoader; + private ResourceLoader objectLoader; + private KMap, ResourceLoader> loaders = new KMap<>(); private boolean closed; private final File dataFolder; private Engine engine; @@ -77,11 +90,11 @@ public class IrisData { return new IrisData(dataFolder); } - private ResourceLoader registerLoader(Class registrant) { + private ResourceLoader registerLoader(Class registrant) { try { - IrisRegistrant rr = registrant.getConstructor().newInstance(); + LoaderRegistrant rr = registrant.getConstructor().newInstance(); ResourceLoader r = null; - if (registrant.equals(IrisObject.class)) { + if (registrant.equals(LoaderObject.class)) { r = (ResourceLoader) new ObjectResourceLoader(dataFolder, this, rr.getFolderName(), rr.getTypeName()); } else { r = new ResourceLoader(dataFolder, this, rr.getFolderName(), rr.getTypeName(), registrant); @@ -106,20 +119,20 @@ public class IrisData { loaders.clear(); File packs = dataFolder; packs.mkdirs(); - this.lootLoader = registerLoader(IrisLootTable.class); - this.spawnerLoader = registerLoader(IrisSpawner.class); - this.entityLoader = registerLoader(IrisEntity.class); - this.regionLoader = registerLoader(IrisRegion.class); - this.biomeLoader = registerLoader(IrisBiome.class); - this.modLoader = registerLoader(IrisMod.class); - this.dimensionLoader = registerLoader(IrisDimension.class); - this.jigsawPoolLoader = registerLoader(IrisJigsawPool.class); - this.jigsawStructureLoader = registerLoader(IrisJigsawStructure.class); - this.jigsawPieceLoader = registerLoader(IrisJigsawPiece.class); - this.generatorLoader = registerLoader(IrisGenerator.class); - this.blockLoader = registerLoader(IrisBlockData.class); - this.expressionLoader = registerLoader(IrisExpression.class); - this.objectLoader = registerLoader(IrisObject.class); + this.lootLoader = registerLoader(LoaderLootTable.class); + this.spawnerLoader = registerLoader(LoaderSpawner.class); + this.entityLoader = registerLoader(LoaderEntity.class); + this.regionLoader = registerLoader(LoaderRegion.class); + this.biomeLoader = registerLoader(LoaderBiome.class); + this.modLoader = registerLoader(LoaderMod.class); + this.dimensionLoader = registerLoader(LoaderDimension.class); + this.jigsawPoolLoader = registerLoader(LoaderJigsawPool.class); + this.jigsawStructureLoader = registerLoader(LoaderJigsawStructure.class); + this.jigsawPieceLoader = registerLoader(LoaderJigsawPiece.class); + this.generatorLoader = registerLoader(LoaderGenerator.class); + this.blockLoader = registerLoader(LoaderBlockData.class); + this.expressionLoader = registerLoader(LoaderExpression.class); + this.objectLoader = registerLoader(LoaderObject.class); } public void dump() { @@ -142,63 +155,63 @@ public class IrisData { } } - public static IrisObject loadAnyObject(String key) { + public static LoaderObject loadAnyObject(String key) { return loadAny(key, (dm) -> dm.getObjectLoader().load(key, false)); } - public static IrisBiome loadAnyBiome(String key) { + public static LoaderBiome loadAnyBiome(String key) { return loadAny(key, (dm) -> dm.getBiomeLoader().load(key, false)); } - public static IrisExpression loadAnyExpression(String key) { + public static LoaderExpression loadAnyExpression(String key) { return loadAny(key, (dm) -> dm.getExpressionLoader().load(key, false)); } - public static IrisMod loadAnyMod(String key) { + public static LoaderMod loadAnyMod(String key) { return loadAny(key, (dm) -> dm.getModLoader().load(key, false)); } - public static IrisJigsawPiece loadAnyJigsawPiece(String key) { + public static LoaderJigsawPiece loadAnyJigsawPiece(String key) { return loadAny(key, (dm) -> dm.getJigsawPieceLoader().load(key, false)); } - public static IrisJigsawPool loadAnyJigsawPool(String key) { + public static LoaderJigsawPool loadAnyJigsawPool(String key) { return loadAny(key, (dm) -> dm.getJigsawPoolLoader().load(key, false)); } - public static IrisEntity loadAnyEntity(String key) { + public static LoaderEntity loadAnyEntity(String key) { return loadAny(key, (dm) -> dm.getEntityLoader().load(key, false)); } - public static IrisLootTable loadAnyLootTable(String key) { + public static LoaderLootTable loadAnyLootTable(String key) { return loadAny(key, (dm) -> dm.getLootLoader().load(key, false)); } - public static IrisBlockData loadAnyBlock(String key) { + public static LoaderBlockData loadAnyBlock(String key) { return loadAny(key, (dm) -> dm.getBlockLoader().load(key, false)); } - public static IrisSpawner loadAnySpaner(String key) { + public static LoaderSpawner loadAnySpaner(String key) { return loadAny(key, (dm) -> dm.getSpawnerLoader().load(key, false)); } - public static IrisRegion loadAnyRegion(String key) { + public static LoaderRegion loadAnyRegion(String key) { return loadAny(key, (dm) -> dm.getRegionLoader().load(key, false)); } - public static IrisDimension loadAnyDimension(String key) { + public static LoaderDimension loadAnyDimension(String key) { return loadAny(key, (dm) -> dm.getDimensionLoader().load(key, false)); } - public static IrisJigsawStructure loadAnyJigsawStructure(String key) { + public static LoaderJigsawStructure loadAnyJigsawStructure(String key) { return loadAny(key, (dm) -> dm.getJigsawStructureLoader().load(key, false)); } - public static IrisGenerator loadAnyGenerator(String key) { + public static LoaderGenerator loadAnyGenerator(String key) { return loadAny(key, (dm) -> dm.getGeneratorLoader().load(key, false)); } - public static T loadAny(String key, Function v) { + public static T loadAny(String key, Function v) { try { for (File i : Objects.requireNonNull(Iris.instance.getDataFolder("packs").listFiles())) { if (i.isDirectory()) { diff --git a/src/main/java/com/volmit/iris/engine/object/IrisRegistrant.java b/src/main/java/com/volmit/iris/core/project/loader/LoaderRegistrant.java similarity index 93% rename from src/main/java/com/volmit/iris/engine/object/IrisRegistrant.java rename to src/main/java/com/volmit/iris/core/project/loader/LoaderRegistrant.java index aa03b97e9..0e2f7ef00 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisRegistrant.java +++ b/src/main/java/com/volmit/iris/core/project/loader/LoaderRegistrant.java @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.core.project.loader; import com.volmit.iris.Iris; import com.volmit.iris.core.project.loader.IrisData; @@ -26,7 +26,7 @@ import java.awt.*; import java.io.File; @Data -public abstract class IrisRegistrant { +public abstract class LoaderRegistrant { private transient IrisData loader; private transient String loadKey; diff --git a/src/main/java/com/volmit/iris/core/project/loader/ObjectResourceLoader.java b/src/main/java/com/volmit/iris/core/project/loader/ObjectResourceLoader.java index 1b1e0da7e..8698bbaa4 100644 --- a/src/main/java/com/volmit/iris/core/project/loader/ObjectResourceLoader.java +++ b/src/main/java/com/volmit/iris/core/project/loader/ObjectResourceLoader.java @@ -19,7 +19,7 @@ package com.volmit.iris.core.project.loader; import com.volmit.iris.Iris; -import com.volmit.iris.engine.object.IrisObject; +import com.volmit.iris.engine.object.objects.LoaderObject; import com.volmit.iris.util.collection.KList; import com.volmit.iris.util.collection.KMap; import com.volmit.iris.util.collection.KSet; @@ -33,14 +33,14 @@ import com.volmit.iris.util.scheduling.PrecisionStopwatch; import java.io.File; import java.util.concurrent.atomic.AtomicInteger; -public class ObjectResourceLoader extends ResourceLoader { +public class ObjectResourceLoader extends ResourceLoader { private final ChronoLatch useFlip = new ChronoLatch(2222); private final KMap useCache = new KMap<>(); private final ChronoLatch cl; private final AtomicInteger unload; public ObjectResourceLoader(File root, IrisData idm, String folderName, String resourceTypeName) { - super(root, idm, folderName, resourceTypeName, IrisObject.class); + super(root, idm, folderName, resourceTypeName, LoaderObject.class); cl = new ChronoLatch(30000); unload = new AtomicInteger(0); } @@ -56,7 +56,7 @@ public class ObjectResourceLoader extends ResourceLoader { public int getTotalStorage() { int m = 0; - for (IrisObject i : loadCache.values()) { + for (LoaderObject i : loadCache.values()) { m += i.getBlocks().size(); } @@ -115,11 +115,11 @@ public class ObjectResourceLoader extends ResourceLoader { } } - public IrisObject loadFile(File j, String key, String name) { + public LoaderObject loadFile(File j, String key, String name) { lock.lock(); try { PrecisionStopwatch p = PrecisionStopwatch.start(); - IrisObject t = new IrisObject(0, 0, 0); + LoaderObject t = new LoaderObject(0, 0, 0); t.read(j); loadCache.put(key, t); t.setLoadKey(name); @@ -194,15 +194,15 @@ public class ObjectResourceLoader extends ResourceLoader { return null; } - public IrisObject load(String name) { + public LoaderObject load(String name) { return load(name, true); } - public IrisObject load(String name, boolean warn) { + public LoaderObject load(String name, boolean warn) { String key = name + "-" + objectClass.getCanonicalName(); if (loadCache.containsKey(key)) { - IrisObject t = loadCache.get(key); + LoaderObject t = loadCache.get(key); useCache.put(key, M.ms()); return t; } diff --git a/src/main/java/com/volmit/iris/core/project/loader/ResourceLoader.java b/src/main/java/com/volmit/iris/core/project/loader/ResourceLoader.java index acc0ab645..c1fd42104 100644 --- a/src/main/java/com/volmit/iris/core/project/loader/ResourceLoader.java +++ b/src/main/java/com/volmit/iris/core/project/loader/ResourceLoader.java @@ -22,7 +22,6 @@ import com.google.common.util.concurrent.AtomicDouble; import com.google.gson.Gson; import com.volmit.iris.Iris; import com.volmit.iris.core.project.SchemaBuilder; -import com.volmit.iris.engine.object.IrisRegistrant; import com.volmit.iris.util.collection.KList; import com.volmit.iris.util.collection.KMap; import com.volmit.iris.util.collection.KSet; @@ -44,7 +43,7 @@ import java.util.function.Predicate; import java.util.stream.Stream; @Data -public class ResourceLoader { +public class ResourceLoader { public static final AtomicDouble tlt = new AtomicDouble(0); protected File root; protected String folderName; diff --git a/src/main/java/com/volmit/iris/core/tools/IrisCreator.java b/src/main/java/com/volmit/iris/core/tools/IrisCreator.java index 7241842eb..4c0e4128b 100644 --- a/src/main/java/com/volmit/iris/core/tools/IrisCreator.java +++ b/src/main/java/com/volmit/iris/core/tools/IrisCreator.java @@ -21,8 +21,8 @@ package com.volmit.iris.core.tools; import com.volmit.iris.core.IrisSettings; import com.volmit.iris.core.pregenerator.PregenTask; import com.volmit.iris.engine.framework.IrisAccess; -import com.volmit.iris.engine.headless.HeadlessWorld; -import com.volmit.iris.engine.object.IrisDimension; +import com.volmit.iris.engine.framework.headless.HeadlessWorld; +import com.volmit.iris.engine.object.dimensional.LoaderDimension; import com.volmit.iris.util.exceptions.IrisException; import com.volmit.iris.util.exceptions.MissingDimensionException; import com.volmit.iris.util.format.C; @@ -93,7 +93,7 @@ public class IrisCreator { * @throws IrisException shit happens */ public IrisAccess create() throws IrisException { - IrisDimension d = IrisToolbelt.getDimension(dimension()); + LoaderDimension d = IrisToolbelt.getDimension(dimension()); IrisAccess access = null; Consumer prog = (pxx) -> { double px = pxx; diff --git a/src/main/java/com/volmit/iris/core/tools/IrisToolbelt.java b/src/main/java/com/volmit/iris/core/tools/IrisToolbelt.java index 0c2b40333..a0c5c89cc 100644 --- a/src/main/java/com/volmit/iris/core/tools/IrisToolbelt.java +++ b/src/main/java/com/volmit/iris/core/tools/IrisToolbelt.java @@ -27,7 +27,7 @@ import com.volmit.iris.core.pregenerator.methods.HeadlessPregenMethod; import com.volmit.iris.core.pregenerator.methods.HybridPregenMethod; import com.volmit.iris.core.project.loader.IrisData; import com.volmit.iris.engine.framework.IrisAccess; -import com.volmit.iris.engine.object.IrisDimension; +import com.volmit.iris.engine.object.dimensional.LoaderDimension; import com.volmit.iris.util.plugin.VolmitSender; import org.bukkit.Bukkit; import org.bukkit.World; @@ -50,7 +50,7 @@ public class IrisToolbelt { * @param dimension the dimension id such as overworld or flat * @return the IrisDimension or null */ - public static IrisDimension getDimension(String dimension) { + public static LoaderDimension getDimension(String dimension) { File pack = Iris.instance.getDataFolder("packs", dimension); if (!pack.exists()) { diff --git a/src/main/java/com/volmit/iris/core/tools/IrisWorldCreator.java b/src/main/java/com/volmit/iris/core/tools/IrisWorldCreator.java index 2ece5d75a..6130e691d 100644 --- a/src/main/java/com/volmit/iris/core/tools/IrisWorldCreator.java +++ b/src/main/java/com/volmit/iris/core/tools/IrisWorldCreator.java @@ -20,7 +20,7 @@ package com.volmit.iris.core.tools; import com.volmit.iris.core.project.loader.IrisData; import com.volmit.iris.engine.framework.EngineCompositeGenerator; -import com.volmit.iris.engine.object.IrisDimension; +import com.volmit.iris.engine.object.dimensional.LoaderDimension; import com.volmit.iris.engine.object.common.IrisWorld; import org.bukkit.World; import org.bukkit.WorldCreator; @@ -93,7 +93,7 @@ public class IrisWorldCreator { } private World.Environment findEnvironment() { - IrisDimension dim = IrisData.loadAnyDimension(dimensionName); + LoaderDimension dim = IrisData.loadAnyDimension(dimensionName); if (dim == null || dim.getEnvironment() == null) { return World.Environment.NORMAL; } else { diff --git a/src/main/java/com/volmit/iris/engine/IrisComplex.java b/src/main/java/com/volmit/iris/engine/IrisComplex.java index d4b0305b4..41a2d6880 100644 --- a/src/main/java/com/volmit/iris/engine/IrisComplex.java +++ b/src/main/java/com/volmit/iris/engine/IrisComplex.java @@ -25,8 +25,16 @@ import com.volmit.iris.engine.actuator.IrisTerrainNormalActuator; import com.volmit.iris.engine.data.DataProvider; import com.volmit.iris.engine.framework.Engine; import com.volmit.iris.engine.modifier.IrisCaveModifier; +import com.volmit.iris.engine.object.biome.InferredType; +import com.volmit.iris.engine.object.biome.LoaderBiome; +import com.volmit.iris.engine.object.decoration.IrisDecorationPart; +import com.volmit.iris.engine.object.decoration.IrisDecorator; +import com.volmit.iris.engine.object.dimensional.IrisTerrainMode; +import com.volmit.iris.engine.object.feature.IrisFeaturePositional; +import com.volmit.iris.engine.object.noise.LoaderGenerator; +import com.volmit.iris.engine.object.noise.IrisInterpolator; +import com.volmit.iris.engine.object.regional.LoaderRegion; import com.volmit.iris.util.noise.CNG; -import com.volmit.iris.engine.object.*; import com.volmit.iris.engine.object.common.CaveResult; import com.volmit.iris.util.stream.ProceduralStream; import com.volmit.iris.util.stream.interpolation.Interpolated; @@ -47,9 +55,9 @@ public class IrisComplex implements DataProvider { private RNG rng; private double fluidHeight; private IrisData data; - private KList generators; + private KList generators; private static final BlockData AIR = Material.AIR.createBlockData(); - private ProceduralStream regionStream; + private ProceduralStream regionStream; private ProceduralStream regionStyleStream; private ProceduralStream regionIdentityStream; private ProceduralStream regionIDStream; @@ -57,14 +65,14 @@ public class IrisComplex implements DataProvider { private ProceduralStream islandHeightStream; private ProceduralStream islandDepthStream; private ProceduralStream bridgeStream; - private ProceduralStream landBiomeStream; - private ProceduralStream caveBiomeStream; - private ProceduralStream seaBiomeStream; - private ProceduralStream shoreBiomeStream; - private ProceduralStream baseBiomeStream; + private ProceduralStream landBiomeStream; + private ProceduralStream caveBiomeStream; + private ProceduralStream seaBiomeStream; + private ProceduralStream shoreBiomeStream; + private ProceduralStream baseBiomeStream; private ProceduralStream baseBiomeIDStream; - private ProceduralStream trueBiomeStream; - private ProceduralStream trueBiomeStreamNoFeatures; + private ProceduralStream trueBiomeStream; + private ProceduralStream trueBiomeStreamNoFeatures; private ProceduralStream trueBiomeDerivativeStream; private ProceduralStream heightStream; private ProceduralStream heightStreamNoFeatures; @@ -87,9 +95,9 @@ public class IrisComplex implements DataProvider { private ProceduralStream shoreSurfaceDecoration; private ProceduralStream rockStream; private ProceduralStream fluidStream; - private IrisBiome focus; + private LoaderBiome focus; - public ProceduralStream getBiomeStream(InferredType type) { + public ProceduralStream getBiomeStream(InferredType type) { switch (type) { case CAVE: return caveBiomeStream; @@ -115,7 +123,7 @@ public class IrisComplex implements DataProvider { public IrisComplex(Engine engine, boolean simple) { int cacheSize = 131072; - IrisBiome emptyBiome = new IrisBiome(); + LoaderBiome emptyBiome = new LoaderBiome(); UUID focusUUID = UUID.nameUUIDFromBytes("focus".getBytes()); this.rng = new RNG(engine.getWorld().seed()); this.data = engine.getData(); @@ -123,13 +131,13 @@ public class IrisComplex implements DataProvider { fluidHeight = engine.getDimension().getFluidHeight(); generators = new KList<>(); focus = engine.getFocus(); - KMap> inferredStreams = new KMap<>(); + KMap> inferredStreams = new KMap<>(); if (focus != null) { focus.setInferredType(InferredType.LAND); } - IrisRegion focusRegion = focus != null ? findRegion(focus, engine) : null; + LoaderRegion focusRegion = focus != null ? findRegion(focus, engine) : null; RNG rng = new RNG(engine.getWorld().seed()); //@builder engine.getDimension().getRegions().forEach((i) -> data.getRegionLoader().load(i) @@ -211,11 +219,11 @@ public class IrisComplex implements DataProvider { bridgeStream.convertAware2D((t, x, z) -> inferredStreams.get(t).get(x, z)) .convertAware2D(this::implode).cache2D(cacheSize); heightStream = ProceduralStream.of((x, z) -> { - IrisBiome b = focus != null ? focus : baseBiomeStream.get(x, z); + LoaderBiome b = focus != null ? focus : baseBiomeStream.get(x, z); return getHeight(engine, b, x, z, engine.getWorld().seed(), true); }, Interpolated.DOUBLE).clamp(0, engine.getHeight()).cache2D(cacheSize); heightStreamNoFeatures = ProceduralStream.of((x, z) -> { - IrisBiome b = focus != null ? focus : baseBiomeStream.get(x, z); + LoaderBiome b = focus != null ? focus : baseBiomeStream.get(x, z); return getHeight(engine, b, x, z, engine.getWorld().seed(), false); }, Interpolated.DOUBLE).clamp(0, engine.getHeight()).cache2D(cacheSize); slopeStream = heightStream.slope(3).cache2D(cacheSize); @@ -234,7 +242,7 @@ public class IrisComplex implements DataProvider { trueBiomeStream = focus != null ? ProceduralStream.of((x, y) -> focus, Interpolated.of(a -> 0D, b -> focus)).convertAware2D((b, x, z) -> { for (IrisFeaturePositional i : engine.getFramework().getEngineParallax().forEachFeature(x, z)) { - IrisBiome bx = i.filter(x, z, b, rng); + LoaderBiome bx = i.filter(x, z, b, rng); if (bx != null) { bx.setInferredType(b.getInferredType()); @@ -250,7 +258,7 @@ public class IrisComplex implements DataProvider { regionStream.get(x, z), x, z, fluidHeight)) .convertAware2D((b, x, z) -> { for (IrisFeaturePositional i : engine.getFramework().getEngineParallax().forEachFeature(x, z)) { - IrisBiome bx = i.filter(x, z, b, rng); + LoaderBiome bx = i.filter(x, z, b, rng); if (bx != null) { bx.setInferredType(b.getInferredType()); @@ -264,7 +272,7 @@ public class IrisComplex implements DataProvider { trueBiomeStream = focus != null ? ProceduralStream.of((x, y) -> focus, Interpolated.of(a -> 0D, b -> focus)).convertAware2D((b, x, z) -> { for (IrisFeaturePositional i : engine.getFramework().getEngineParallax().forEachFeature(x, z)) { - IrisBiome bx = i.filter(x, z, b, rng); + LoaderBiome bx = i.filter(x, z, b, rng); if (bx != null) { bx.setInferredType(b.getInferredType()); @@ -280,7 +288,7 @@ public class IrisComplex implements DataProvider { regionStream.get(x, z), x, z, fluidHeight)) .convertAware2D((b, x, z) -> { for (IrisFeaturePositional i : engine.getFramework().getEngineParallax().forEachFeature(x, z)) { - IrisBiome bx = i.filter(x, z, b, rng); + LoaderBiome bx = i.filter(x, z, b, rng); if (bx != null) { bx.setInferredType(b.getInferredType()); @@ -298,23 +306,23 @@ public class IrisComplex implements DataProvider { fixBiomeType(h, baseBiomeStream.get(x, z), regionStream.get(x, z), x, z, fluidHeight)) .cache2D(cacheSize); - trueBiomeDerivativeStream = trueBiomeStream.convert(IrisBiome::getDerivative).cache2D(cacheSize); + trueBiomeDerivativeStream = trueBiomeStream.convert(LoaderBiome::getDerivative).cache2D(cacheSize); heightFluidStream = heightStream.max(fluidHeight).cache2D(cacheSize); maxHeightStream = ProceduralStream.ofDouble((x, z) -> height); terrainSurfaceDecoration = trueBiomeStream - .convertAware2D((b, xx, zz) -> decorateFor(b, xx, zz, DecorationPart.NONE)).cache2D(cacheSize); + .convertAware2D((b, xx, zz) -> decorateFor(b, xx, zz, IrisDecorationPart.NONE)).cache2D(cacheSize); terrainCeilingDecoration = trueBiomeStream - .convertAware2D((b, xx, zz) -> decorateFor(b, xx, zz, DecorationPart.CEILING)).cache2D(cacheSize); + .convertAware2D((b, xx, zz) -> decorateFor(b, xx, zz, IrisDecorationPart.CEILING)).cache2D(cacheSize); terrainCaveSurfaceDecoration = caveBiomeStream - .convertAware2D((b, xx, zz) -> decorateFor(b, xx, zz, DecorationPart.NONE)).cache2D(cacheSize); + .convertAware2D((b, xx, zz) -> decorateFor(b, xx, zz, IrisDecorationPart.NONE)).cache2D(cacheSize); terrainCaveCeilingDecoration = caveBiomeStream - .convertAware2D((b, xx, zz) -> decorateFor(b, xx, zz, DecorationPart.CEILING)).cache2D(cacheSize); + .convertAware2D((b, xx, zz) -> decorateFor(b, xx, zz, IrisDecorationPart.CEILING)).cache2D(cacheSize); shoreSurfaceDecoration = trueBiomeStream - .convertAware2D((b, xx, zz) -> decorateFor(b, xx, zz, DecorationPart.SHORE_LINE)).cache2D(cacheSize); + .convertAware2D((b, xx, zz) -> decorateFor(b, xx, zz, IrisDecorationPart.SHORE_LINE)).cache2D(cacheSize); seaSurfaceDecoration = trueBiomeStream - .convertAware2D((b, xx, zz) -> decorateFor(b, xx, zz, DecorationPart.SEA_SURFACE)).cache2D(cacheSize); + .convertAware2D((b, xx, zz) -> decorateFor(b, xx, zz, IrisDecorationPart.SEA_SURFACE)).cache2D(cacheSize); seaFloorDecoration = trueBiomeStream - .convertAware2D((b, xx, zz) -> decorateFor(b, xx, zz, DecorationPart.SEA_FLOOR)).cache2D(cacheSize); + .convertAware2D((b, xx, zz) -> decorateFor(b, xx, zz, IrisDecorationPart.SEA_FLOOR)).cache2D(cacheSize); trueHeightStream = ProceduralStream.of((x, z) -> { int rx = (int) Math.round(engine.modifyX(x)); int rz = (int) Math.round(engine.modifyZ(z)); @@ -375,8 +383,8 @@ public class IrisComplex implements DataProvider { }); } - private IrisRegion findRegion(IrisBiome focus, Engine engine) { - for (IrisRegion i : engine.getDimension().getAllRegions(engine)) { + private LoaderRegion findRegion(LoaderBiome focus, Engine engine) { + for (LoaderRegion i : engine.getDimension().getAllRegions(engine)) { if (i.getAllBiomeIds().contains(focus.getLoadKey())) { return i; } @@ -385,7 +393,7 @@ public class IrisComplex implements DataProvider { return null; } - private IrisDecorator decorateFor(IrisBiome b, double x, double z, DecorationPart part) { + private IrisDecorator decorateFor(LoaderBiome b, double x, double z, IrisDecorationPart part) { RNG rngc = chunkRngStream.get(x, z); for (IrisDecorator i : b.getDecorators()) { @@ -403,7 +411,7 @@ public class IrisComplex implements DataProvider { return null; } - private IrisBiome fixBiomeType(Double height, IrisBiome biome, IrisRegion region, Double x, Double z, double fluidHeight) { + private LoaderBiome fixBiomeType(Double height, LoaderBiome biome, LoaderRegion region, Double x, Double z, double fluidHeight) { double sh = region.getShoreHeight(x, z); if (height >= fluidHeight - 1 && height <= fluidHeight + sh && !biome.isShore()) { @@ -425,14 +433,14 @@ public class IrisComplex implements DataProvider { return biome; } - private double getHeight(Engine engine, IrisBiome b, double x, double z, long seed, boolean features) { + private double getHeight(Engine engine, LoaderBiome b, double x, double z, long seed, boolean features) { double h = 0; - for (IrisGenerator gen : generators) { + for (LoaderGenerator gen : generators) { h += gen.getInterpolator().interpolate(x, z, (xx, zz) -> { try { - IrisBiome bx = baseBiomeStream.get(xx, zz); + LoaderBiome bx = baseBiomeStream.get(xx, zz); return M.lerp(bx.getGenLinkMin(gen.getLoadKey()), bx.getGenLinkMax(gen.getLoadKey()), @@ -460,8 +468,8 @@ public class IrisComplex implements DataProvider { return Math.min(engine.getHeight(), Math.max(noise.get(), 0)); } - private void registerGenerator(IrisGenerator cachedGenerator) { - for (IrisGenerator i : generators) { + private void registerGenerator(LoaderGenerator cachedGenerator) { + for (LoaderGenerator i : generators) { if (i.getLoadKey().equals(cachedGenerator.getLoadKey())) { return; } @@ -470,7 +478,7 @@ public class IrisComplex implements DataProvider { generators.add(cachedGenerator); } - private IrisBiome implode(IrisBiome b, Double x, Double z) { + private LoaderBiome implode(LoaderBiome b, Double x, Double z) { if (b.getChildren().isEmpty()) { return b; } @@ -478,7 +486,7 @@ public class IrisComplex implements DataProvider { return implode(b, x, z, 3); } - private IrisBiome implode(IrisBiome b, Double x, Double z, int max) { + private LoaderBiome implode(LoaderBiome b, Double x, Double z, int max) { if (max < 0) { return b; } @@ -488,9 +496,9 @@ public class IrisComplex implements DataProvider { } CNG childCell = b.getChildrenGenerator(rng, 123, b.getChildShrinkFactor()); - KList chx = b.getRealChildren(this).copy(); + KList chx = b.getRealChildren(this).copy(); chx.add(b); - IrisBiome biome = childCell.fitRarity(chx, x, z); + LoaderBiome biome = childCell.fitRarity(chx, x, z); biome.setInferredType(b.getInferredType()); return implode(biome, x, z, max - 1); } diff --git a/src/main/java/com/volmit/iris/engine/IrisEngine.java b/src/main/java/com/volmit/iris/engine/IrisEngine.java index 1586a2915..e223e7a48 100644 --- a/src/main/java/com/volmit/iris/engine/IrisEngine.java +++ b/src/main/java/com/volmit/iris/engine/IrisEngine.java @@ -22,13 +22,13 @@ import com.google.gson.Gson; import com.volmit.iris.Iris; import com.volmit.iris.core.IrisSettings; import com.volmit.iris.core.events.IrisEngineHotloadEvent; -import com.volmit.iris.engine.cache.AtomicCache; +import com.volmit.iris.engine.data.cache.AtomicCache; import com.volmit.iris.engine.framework.*; import com.volmit.iris.util.hunk.Hunk; -import com.volmit.iris.engine.object.IrisBiome; -import com.volmit.iris.engine.object.IrisBiomePaletteLayer; -import com.volmit.iris.engine.object.IrisDecorator; -import com.volmit.iris.engine.object.IrisObjectPlacement; +import com.volmit.iris.engine.object.biome.LoaderBiome; +import com.volmit.iris.engine.object.biome.IrisBiomePaletteLayer; +import com.volmit.iris.engine.object.decoration.IrisDecorator; +import com.volmit.iris.engine.object.objects.IrisObjectPlacement; import com.volmit.iris.engine.object.engine.IrisEngineData; import com.volmit.iris.util.collection.KList; import com.volmit.iris.util.collection.KMap; @@ -142,7 +142,7 @@ public class IrisEngine extends BlockPopulator implements Engine { } private void computeBiomeMaxes() { - for (IrisBiome i : getDimension().getAllBiomes(this)) { + for (LoaderBiome i : getDimension().getAllBiomes(this)) { double density = 0; for (IrisObjectPlacement j : i.getObjects()) { @@ -257,7 +257,7 @@ public class IrisEngine extends BlockPopulator implements Engine { } @Override - public IrisBiome getFocus() { + public LoaderBiome getFocus() { if (getDimension().getFocus() == null || getDimension().getFocus().trim().isEmpty()) { return null; } diff --git a/src/main/java/com/volmit/iris/engine/IrisEngineCompound.java b/src/main/java/com/volmit/iris/engine/IrisEngineCompound.java index bc27cce3b..153508cab 100644 --- a/src/main/java/com/volmit/iris/engine/IrisEngineCompound.java +++ b/src/main/java/com/volmit/iris/engine/IrisEngineCompound.java @@ -26,9 +26,9 @@ import com.volmit.iris.engine.framework.EngineCompound; import com.volmit.iris.engine.framework.EngineData; import com.volmit.iris.engine.framework.EngineTarget; import com.volmit.iris.util.hunk.Hunk; -import com.volmit.iris.engine.object.IrisDimension; -import com.volmit.iris.engine.object.IrisDimensionIndex; -import com.volmit.iris.engine.object.IrisPosition; +import com.volmit.iris.engine.object.dimensional.LoaderDimension; +import com.volmit.iris.engine.object.dimensional.IrisDimensionIndex; +import com.volmit.iris.engine.object.basic.IrisPosition; import com.volmit.iris.engine.object.common.IrisWorld; import com.volmit.iris.util.parallel.MultiBurst; import com.volmit.iris.util.atomics.AtomicRollingSequence; @@ -71,7 +71,7 @@ public class IrisEngineCompound implements EngineCompound { private final KList populators; @Getter - private final IrisDimension rootDimension; + private final LoaderDimension rootDimension; @Getter private final int threadCount = -1; @@ -80,7 +80,7 @@ public class IrisEngineCompound implements EngineCompound { @Setter private boolean studio; - public IrisEngineCompound(IrisWorld world, IrisDimension rootDimension, IrisData data, int maximumThreads) { + public IrisEngineCompound(IrisWorld world, LoaderDimension rootDimension, IrisData data, int maximumThreads) { wallClock = new AtomicRollingSequence(32); this.rootDimension = rootDimension; Iris.info("Initializing Engine Composite for " + world.name()); @@ -115,7 +115,7 @@ public class IrisEngineCompound implements EngineCompound { for (int i = 0; i < engines.length; i++) { IrisDimensionIndex index = rootDimension.getDimensionalComposite().get(i); - IrisDimension dimension = data.getDimensionLoader().load(index.getDimension()); + LoaderDimension dimension = data.getDimensionLoader().load(index.getDimension()); // TODO: WARNING HEIGHT engines[i] = new IrisEngine(new EngineTarget(world, dimension, data.copy(), (int) Math.floor(256D * (index.getWeight() / totalWeight)), index.isInverted(), threadDist), this, i); engines[i].setMinHeight(buf); diff --git a/src/main/java/com/volmit/iris/engine/IrisWorldManager.java b/src/main/java/com/volmit/iris/engine/IrisWorldManager.java index cdc53d6f0..3679ea037 100644 --- a/src/main/java/com/volmit/iris/engine/IrisWorldManager.java +++ b/src/main/java/com/volmit/iris/engine/IrisWorldManager.java @@ -19,13 +19,17 @@ package com.volmit.iris.engine; import com.volmit.iris.Iris; -import com.volmit.iris.engine.cache.Cache; +import com.volmit.iris.engine.data.cache.Cache; import com.volmit.iris.engine.framework.Engine; import com.volmit.iris.engine.framework.EngineAssignedWorldManager; -import com.volmit.iris.engine.object.*; +import com.volmit.iris.engine.object.biome.LoaderBiome; +import com.volmit.iris.engine.object.block.IrisBlockDrops; import com.volmit.iris.engine.object.common.IRare; import com.volmit.iris.engine.object.engine.IrisEngineData; import com.volmit.iris.engine.object.engine.IrisEngineSpawnerCooldown; +import com.volmit.iris.engine.object.entity.IrisEntitySpawn; +import com.volmit.iris.engine.object.regional.LoaderRegion; +import com.volmit.iris.engine.object.spawners.LoaderSpawner; import com.volmit.iris.util.collection.KList; import com.volmit.iris.util.collection.KMap; import com.volmit.iris.util.format.Form; @@ -44,7 +48,6 @@ import org.bukkit.event.block.BlockPlaceEvent; import org.bukkit.inventory.ItemStack; import java.util.List; -import java.util.UUID; import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -162,8 +165,8 @@ public class IrisWorldManager extends EngineAssignedWorldManager { } Chunk c = cc[RNG.r.nextInt(cc.length)]; - IrisBiome biome = getEngine().getSurfaceBiome(c); - IrisRegion region = getEngine().getRegion(c); + LoaderBiome biome = getEngine().getSurfaceBiome(c); + LoaderRegion region = getEngine().getRegion(c); spawnIn(c, biome, region, maxGroups); chunkCooldowns.put(Cache.key(c), M.ms()); } @@ -176,7 +179,7 @@ public class IrisWorldManager extends EngineAssignedWorldManager { energy = M.clip(energy, 1D, 1000D); } - private void spawnIn(Chunk c, IrisBiome biome, IrisRegion region, int max) { + private void spawnIn(Chunk c, LoaderBiome biome, LoaderRegion region, int max) { for(Entity i : c.getEntities()) { if(i instanceof LivingEntity) @@ -218,7 +221,7 @@ public class IrisWorldManager extends EngineAssignedWorldManager { } } - private Stream stream(IrisSpawner s) { + private Stream stream(LoaderSpawner s) { for (IrisEntitySpawn i : s.getSpawns()) { i.setReferenceSpawner(s); } @@ -240,12 +243,12 @@ public class IrisWorldManager extends EngineAssignedWorldManager { return rarityTypes; } - public boolean canSpawn(IrisSpawner i) { + public boolean canSpawn(LoaderSpawner i) { return i.isValid(getEngine().getWorld().realWorld()) && getCooldown(i).canSpawn(i.getMaximumRate()); } - private IrisEngineSpawnerCooldown getCooldown(IrisSpawner i) { + private IrisEngineSpawnerCooldown getCooldown(LoaderSpawner i) { IrisEngineData ed = getEngine().getEngineData(); IrisEngineSpawnerCooldown cd = null; @@ -295,7 +298,7 @@ public class IrisWorldManager extends EngineAssignedWorldManager { if (e.getBlock().getWorld().equals(getTarget().getWorld().realWorld()) && getEngine().contains(e.getBlock().getLocation())) { KList d = new KList<>(); Runnable drop = () -> J.s(() -> d.forEach((i) -> e.getBlock().getWorld().dropItemNaturally(e.getBlock().getLocation().clone().add(0.5, 0.5, 0.5), i))); - IrisBiome b = getEngine().getBiome(e.getBlock().getLocation()); + LoaderBiome b = getEngine().getBiome(e.getBlock().getLocation()); for (IrisBlockDrops i : b.getBlockDrops()) { if (i.shouldDropFor(e.getBlock().getBlockData(), getData())) { @@ -312,7 +315,7 @@ public class IrisWorldManager extends EngineAssignedWorldManager { } } - IrisRegion r = getEngine().getRegion(e.getBlock().getLocation()); + LoaderRegion r = getEngine().getRegion(e.getBlock().getLocation()); for (IrisBlockDrops i : r.getBlockDrops()) { if (i.shouldDropFor(e.getBlock().getBlockData(), getData())) { diff --git a/src/main/java/com/volmit/iris/engine/actuator/IrisBiomeActuator.java b/src/main/java/com/volmit/iris/engine/actuator/IrisBiomeActuator.java index 5fb42142b..dc89c8d39 100644 --- a/src/main/java/com/volmit/iris/engine/actuator/IrisBiomeActuator.java +++ b/src/main/java/com/volmit/iris/engine/actuator/IrisBiomeActuator.java @@ -25,8 +25,8 @@ import com.volmit.iris.engine.framework.Engine; import com.volmit.iris.engine.framework.EngineAssignedActuator; import com.volmit.iris.util.hunk.Hunk; import com.volmit.iris.util.hunk.view.BiomeGridHunkView; -import com.volmit.iris.engine.object.IrisBiome; -import com.volmit.iris.engine.object.IrisBiomeCustom; +import com.volmit.iris.engine.object.biome.LoaderBiome; +import com.volmit.iris.engine.object.biome.IrisBiomeCustom; import com.volmit.iris.util.documentation.BlockCoordinates; import com.volmit.iris.util.math.RNG; import com.volmit.iris.util.scheduling.PrecisionStopwatch; @@ -66,7 +66,7 @@ public class IrisBiomeActuator extends EngineAssignedActuator { public void onActuate(int x, int z, Hunk h, boolean multicore) { PrecisionStopwatch p = PrecisionStopwatch.start(); int zf, maxHeight; - IrisBiome ib; + LoaderBiome ib; for (int xf = 0; xf < h.getWidth(); xf++) { for (zf = 0; zf < h.getDepth(); zf++) { diff --git a/src/main/java/com/volmit/iris/engine/actuator/IrisDecorantActuator.java b/src/main/java/com/volmit/iris/engine/actuator/IrisDecorantActuator.java index 6751f7d98..8afdbc5a6 100644 --- a/src/main/java/com/volmit/iris/engine/actuator/IrisDecorantActuator.java +++ b/src/main/java/com/volmit/iris/engine/actuator/IrisDecorantActuator.java @@ -23,8 +23,8 @@ import com.volmit.iris.engine.framework.Engine; import com.volmit.iris.engine.framework.EngineAssignedActuator; import com.volmit.iris.engine.framework.EngineDecorator; import com.volmit.iris.util.hunk.Hunk; -import com.volmit.iris.engine.object.IrisBiome; -import com.volmit.iris.engine.object.IrisCaveLayer; +import com.volmit.iris.engine.object.biome.LoaderBiome; +import com.volmit.iris.engine.object.carve.IrisCaveLayer; import com.volmit.iris.util.documentation.BlockCoordinates; import com.volmit.iris.util.math.RNG; import com.volmit.iris.util.scheduling.PrecisionStopwatch; @@ -88,7 +88,7 @@ public class IrisDecorantActuator extends EngineAssignedActuator { PrecisionStopwatch p = PrecisionStopwatch.start(); int j, realX, realZ, height; - IrisBiome biome, cave; + LoaderBiome biome, cave; for (int i = 0; i < output.getWidth(); i++) { diff --git a/src/main/java/com/volmit/iris/engine/actuator/IrisTerrainIslandActuator.java b/src/main/java/com/volmit/iris/engine/actuator/IrisTerrainIslandActuator.java index e086b1d94..fd4a0f219 100644 --- a/src/main/java/com/volmit/iris/engine/actuator/IrisTerrainIslandActuator.java +++ b/src/main/java/com/volmit/iris/engine/actuator/IrisTerrainIslandActuator.java @@ -21,7 +21,7 @@ package com.volmit.iris.engine.actuator; import com.volmit.iris.engine.framework.Engine; import com.volmit.iris.engine.framework.EngineAssignedActuator; import com.volmit.iris.util.hunk.Hunk; -import com.volmit.iris.engine.object.IrisBiome; +import com.volmit.iris.engine.object.biome.LoaderBiome; import com.volmit.iris.util.collection.KList; import com.volmit.iris.util.documentation.BlockCoordinates; import com.volmit.iris.util.math.RNG; @@ -56,7 +56,7 @@ public class IrisTerrainIslandActuator extends EngineAssignedActuator public void onActuate(int x, int z, Hunk h, boolean multicore) { PrecisionStopwatch p = PrecisionStopwatch.start(); int i, zf, depth, surface, realX, realZ; - IrisBiome biome; + LoaderBiome biome; KList blocks, fblocks; int hi, lo; double hh; diff --git a/src/main/java/com/volmit/iris/engine/actuator/IrisTerrainNormalActuator.java b/src/main/java/com/volmit/iris/engine/actuator/IrisTerrainNormalActuator.java index 6ec1e6ee5..04bd10051 100644 --- a/src/main/java/com/volmit/iris/engine/actuator/IrisTerrainNormalActuator.java +++ b/src/main/java/com/volmit/iris/engine/actuator/IrisTerrainNormalActuator.java @@ -21,7 +21,7 @@ package com.volmit.iris.engine.actuator; import com.volmit.iris.engine.framework.Engine; import com.volmit.iris.engine.framework.EngineAssignedActuator; import com.volmit.iris.util.hunk.Hunk; -import com.volmit.iris.engine.object.IrisBiome; +import com.volmit.iris.engine.object.biome.LoaderBiome; import com.volmit.iris.util.parallel.BurstExecutor; import com.volmit.iris.util.collection.KList; import com.volmit.iris.util.documentation.BlockCoordinates; @@ -82,7 +82,7 @@ public class IrisTerrainNormalActuator extends EngineAssignedActuator @BlockCoordinates public void terrainSliver(int x, int z, int xf, Hunk h) { int i, depth, realX, realZ, hf, he, b, fdepth; - IrisBiome biome; + LoaderBiome biome; KList blocks, fblocks; for (int zf = 0; zf < h.getDepth(); zf++) { diff --git a/src/main/java/com/volmit/iris/engine/cache/AtomicCache.java b/src/main/java/com/volmit/iris/engine/data/cache/AtomicCache.java similarity index 98% rename from src/main/java/com/volmit/iris/engine/cache/AtomicCache.java rename to src/main/java/com/volmit/iris/engine/data/cache/AtomicCache.java index 70410eb65..89f5322ac 100644 --- a/src/main/java/com/volmit/iris/engine/cache/AtomicCache.java +++ b/src/main/java/com/volmit/iris/engine/data/cache/AtomicCache.java @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.cache; +package com.volmit.iris.engine.data.cache; import com.volmit.iris.util.math.M; import com.volmit.iris.util.scheduling.IrisLock; diff --git a/src/main/java/com/volmit/iris/engine/cache/Cache.java b/src/main/java/com/volmit/iris/engine/data/cache/Cache.java similarity index 97% rename from src/main/java/com/volmit/iris/engine/cache/Cache.java rename to src/main/java/com/volmit/iris/engine/data/cache/Cache.java index da7b7c3cb..f99bfa309 100644 --- a/src/main/java/com/volmit/iris/engine/cache/Cache.java +++ b/src/main/java/com/volmit/iris/engine/data/cache/Cache.java @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.cache; +package com.volmit.iris.engine.data.cache; import org.bukkit.Chunk; diff --git a/src/main/java/com/volmit/iris/engine/cache/Multicache.java b/src/main/java/com/volmit/iris/engine/data/cache/Multicache.java similarity index 95% rename from src/main/java/com/volmit/iris/engine/cache/Multicache.java rename to src/main/java/com/volmit/iris/engine/data/cache/Multicache.java index 98a574997..1c9718265 100644 --- a/src/main/java/com/volmit/iris/engine/cache/Multicache.java +++ b/src/main/java/com/volmit/iris/engine/data/cache/Multicache.java @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.cache; +package com.volmit.iris.engine.data.cache; public interface Multicache { Cache getCache(int id); diff --git a/src/main/java/com/volmit/iris/engine/data/mca/NBTWorld.java b/src/main/java/com/volmit/iris/engine/data/mca/NBTWorld.java index 24a2a2cc1..122815c18 100644 --- a/src/main/java/com/volmit/iris/engine/data/mca/NBTWorld.java +++ b/src/main/java/com/volmit/iris/engine/data/mca/NBTWorld.java @@ -20,7 +20,7 @@ package com.volmit.iris.engine.data.mca; import com.volmit.iris.Iris; import com.volmit.iris.core.nms.INMS; -import com.volmit.iris.engine.cache.Cache; +import com.volmit.iris.engine.data.cache.Cache; import com.volmit.iris.engine.data.B; import com.volmit.iris.engine.data.nbt.tag.CompoundTag; import com.volmit.iris.engine.data.nbt.tag.StringTag; diff --git a/src/main/java/com/volmit/iris/engine/decorator/IrisCeilingDecorator.java b/src/main/java/com/volmit/iris/engine/decorator/IrisCeilingDecorator.java index af0028ebf..411ce3293 100644 --- a/src/main/java/com/volmit/iris/engine/decorator/IrisCeilingDecorator.java +++ b/src/main/java/com/volmit/iris/engine/decorator/IrisCeilingDecorator.java @@ -18,23 +18,23 @@ package com.volmit.iris.engine.decorator; -import com.volmit.iris.engine.cache.Cache; +import com.volmit.iris.engine.data.cache.Cache; import com.volmit.iris.engine.framework.Engine; import com.volmit.iris.util.hunk.Hunk; -import com.volmit.iris.engine.object.DecorationPart; -import com.volmit.iris.engine.object.IrisBiome; -import com.volmit.iris.engine.object.IrisDecorator; +import com.volmit.iris.engine.object.decoration.IrisDecorationPart; +import com.volmit.iris.engine.object.biome.LoaderBiome; +import com.volmit.iris.engine.object.decoration.IrisDecorator; import com.volmit.iris.util.documentation.BlockCoordinates; import org.bukkit.block.data.BlockData; public class IrisCeilingDecorator extends IrisEngineDecorator { public IrisCeilingDecorator(Engine engine) { - super(engine, "Ceiling", DecorationPart.CEILING); + super(engine, "Ceiling", IrisDecorationPart.CEILING); } @BlockCoordinates @Override - public void decorate(int x, int z, int realX, int realX1, int realX_1, int realZ, int realZ1, int realZ_1, Hunk data, IrisBiome biome, int height, int max) { + public void decorate(int x, int z, int realX, int realX1, int realX_1, int realZ, int realZ1, int realZ_1, Hunk data, LoaderBiome biome, int height, int max) { IrisDecorator decorator = getDecorator(biome, realX, realZ); if (decorator != null) { diff --git a/src/main/java/com/volmit/iris/engine/decorator/IrisEngineDecorator.java b/src/main/java/com/volmit/iris/engine/decorator/IrisEngineDecorator.java index 2f62bbba7..3cf62d76b 100644 --- a/src/main/java/com/volmit/iris/engine/decorator/IrisEngineDecorator.java +++ b/src/main/java/com/volmit/iris/engine/decorator/IrisEngineDecorator.java @@ -19,13 +19,13 @@ package com.volmit.iris.engine.decorator; import com.volmit.iris.Iris; -import com.volmit.iris.engine.cache.Cache; +import com.volmit.iris.engine.data.cache.Cache; import com.volmit.iris.engine.framework.Engine; import com.volmit.iris.engine.framework.EngineAssignedComponent; import com.volmit.iris.engine.framework.EngineDecorator; -import com.volmit.iris.engine.object.DecorationPart; -import com.volmit.iris.engine.object.IrisBiome; -import com.volmit.iris.engine.object.IrisDecorator; +import com.volmit.iris.engine.object.decoration.IrisDecorationPart; +import com.volmit.iris.engine.object.biome.LoaderBiome; +import com.volmit.iris.engine.object.decoration.IrisDecorator; import com.volmit.iris.util.collection.KList; import com.volmit.iris.util.math.RNG; import lombok.Getter; @@ -36,15 +36,15 @@ public abstract class IrisEngineDecorator extends EngineAssignedComponent implem private final RNG rng; @Getter - private final DecorationPart part; + private final IrisDecorationPart part; - public IrisEngineDecorator(Engine engine, String name, DecorationPart part) { + public IrisEngineDecorator(Engine engine, String name, IrisDecorationPart part) { super(engine, name + " Decorator"); this.part = part; this.rng = new RNG(getSeed() + 29356788 - (part.ordinal() * 10439677L)); } - protected IrisDecorator getDecorator(IrisBiome biome, double realX, double realZ) { + protected IrisDecorator getDecorator(LoaderBiome biome, double realX, double realZ) { KList v = new KList<>(); RNG rng = new RNG(Cache.key((int) realX, (int) realZ)); diff --git a/src/main/java/com/volmit/iris/engine/decorator/IrisSeaFloorDecorator.java b/src/main/java/com/volmit/iris/engine/decorator/IrisSeaFloorDecorator.java index 549186e2f..1e32d15f9 100644 --- a/src/main/java/com/volmit/iris/engine/decorator/IrisSeaFloorDecorator.java +++ b/src/main/java/com/volmit/iris/engine/decorator/IrisSeaFloorDecorator.java @@ -18,23 +18,23 @@ package com.volmit.iris.engine.decorator; -import com.volmit.iris.engine.cache.Cache; +import com.volmit.iris.engine.data.cache.Cache; import com.volmit.iris.engine.framework.Engine; import com.volmit.iris.util.hunk.Hunk; -import com.volmit.iris.engine.object.DecorationPart; -import com.volmit.iris.engine.object.IrisBiome; -import com.volmit.iris.engine.object.IrisDecorator; +import com.volmit.iris.engine.object.decoration.IrisDecorationPart; +import com.volmit.iris.engine.object.biome.LoaderBiome; +import com.volmit.iris.engine.object.decoration.IrisDecorator; import com.volmit.iris.util.documentation.BlockCoordinates; import org.bukkit.block.data.BlockData; public class IrisSeaFloorDecorator extends IrisEngineDecorator { public IrisSeaFloorDecorator(Engine engine) { - super(engine, "Sea Floor", DecorationPart.SEA_FLOOR); + super(engine, "Sea Floor", IrisDecorationPart.SEA_FLOOR); } @BlockCoordinates @Override - public void decorate(int x, int z, int realX, int realX1, int realX_1, int realZ, int realZ1, int realZ_1, Hunk data, IrisBiome biome, int height, int max) { + public void decorate(int x, int z, int realX, int realX1, int realX_1, int realZ, int realZ1, int realZ_1, Hunk data, LoaderBiome biome, int height, int max) { IrisDecorator decorator = getDecorator(biome, realX, realZ); if (decorator != null) { diff --git a/src/main/java/com/volmit/iris/engine/decorator/IrisSeaSurfaceDecorator.java b/src/main/java/com/volmit/iris/engine/decorator/IrisSeaSurfaceDecorator.java index 3aa2a24ad..ae6e03098 100644 --- a/src/main/java/com/volmit/iris/engine/decorator/IrisSeaSurfaceDecorator.java +++ b/src/main/java/com/volmit/iris/engine/decorator/IrisSeaSurfaceDecorator.java @@ -18,23 +18,23 @@ package com.volmit.iris.engine.decorator; -import com.volmit.iris.engine.cache.Cache; +import com.volmit.iris.engine.data.cache.Cache; import com.volmit.iris.engine.framework.Engine; import com.volmit.iris.util.hunk.Hunk; -import com.volmit.iris.engine.object.DecorationPart; -import com.volmit.iris.engine.object.IrisBiome; -import com.volmit.iris.engine.object.IrisDecorator; +import com.volmit.iris.engine.object.decoration.IrisDecorationPart; +import com.volmit.iris.engine.object.biome.LoaderBiome; +import com.volmit.iris.engine.object.decoration.IrisDecorator; import com.volmit.iris.util.documentation.BlockCoordinates; import org.bukkit.block.data.BlockData; public class IrisSeaSurfaceDecorator extends IrisEngineDecorator { public IrisSeaSurfaceDecorator(Engine engine) { - super(engine, "Sea Surface", DecorationPart.SEA_SURFACE); + super(engine, "Sea Surface", IrisDecorationPart.SEA_SURFACE); } @BlockCoordinates @Override - public void decorate(int x, int z, int realX, int realX1, int realX_1, int realZ, int realZ1, int realZ_1, Hunk data, IrisBiome biome, int height, int max) { + public void decorate(int x, int z, int realX, int realX1, int realX_1, int realZ, int realZ1, int realZ_1, Hunk data, LoaderBiome biome, int height, int max) { IrisDecorator decorator = getDecorator(biome, realX, realZ); if (decorator != null) { diff --git a/src/main/java/com/volmit/iris/engine/decorator/IrisShoreLineDecorator.java b/src/main/java/com/volmit/iris/engine/decorator/IrisShoreLineDecorator.java index 64f5ea236..54961aee6 100644 --- a/src/main/java/com/volmit/iris/engine/decorator/IrisShoreLineDecorator.java +++ b/src/main/java/com/volmit/iris/engine/decorator/IrisShoreLineDecorator.java @@ -18,23 +18,23 @@ package com.volmit.iris.engine.decorator; -import com.volmit.iris.engine.cache.Cache; +import com.volmit.iris.engine.data.cache.Cache; import com.volmit.iris.engine.framework.Engine; import com.volmit.iris.util.hunk.Hunk; -import com.volmit.iris.engine.object.DecorationPart; -import com.volmit.iris.engine.object.IrisBiome; -import com.volmit.iris.engine.object.IrisDecorator; +import com.volmit.iris.engine.object.decoration.IrisDecorationPart; +import com.volmit.iris.engine.object.biome.LoaderBiome; +import com.volmit.iris.engine.object.decoration.IrisDecorator; import com.volmit.iris.util.documentation.BlockCoordinates; import org.bukkit.block.data.BlockData; public class IrisShoreLineDecorator extends IrisEngineDecorator { public IrisShoreLineDecorator(Engine engine) { - super(engine, "Shore Line", DecorationPart.SHORE_LINE); + super(engine, "Shore Line", IrisDecorationPart.SHORE_LINE); } @BlockCoordinates @Override - public void decorate(int x, int z, int realX, int realX1, int realX_1, int realZ, int realZ1, int realZ_1, Hunk data, IrisBiome biome, int height, int max) { + public void decorate(int x, int z, int realX, int realX1, int realX_1, int realZ, int realZ1, int realZ_1, Hunk data, LoaderBiome biome, int height, int max) { if (height == getDimension().getFluidHeight()) { if (Math.round(getComplex().getHeightStream().get(realX1, realZ)) < getComplex().getFluidHeight() || diff --git a/src/main/java/com/volmit/iris/engine/decorator/IrisSurfaceDecorator.java b/src/main/java/com/volmit/iris/engine/decorator/IrisSurfaceDecorator.java index f98eff3af..c32cd7fc3 100644 --- a/src/main/java/com/volmit/iris/engine/decorator/IrisSurfaceDecorator.java +++ b/src/main/java/com/volmit/iris/engine/decorator/IrisSurfaceDecorator.java @@ -19,25 +19,25 @@ package com.volmit.iris.engine.decorator; import com.volmit.iris.Iris; -import com.volmit.iris.engine.cache.Cache; +import com.volmit.iris.engine.data.cache.Cache; import com.volmit.iris.engine.framework.Engine; import com.volmit.iris.util.hunk.Hunk; -import com.volmit.iris.engine.object.DecorationPart; -import com.volmit.iris.engine.object.InferredType; -import com.volmit.iris.engine.object.IrisBiome; -import com.volmit.iris.engine.object.IrisDecorator; +import com.volmit.iris.engine.object.decoration.IrisDecorationPart; +import com.volmit.iris.engine.object.biome.InferredType; +import com.volmit.iris.engine.object.biome.LoaderBiome; +import com.volmit.iris.engine.object.decoration.IrisDecorator; import com.volmit.iris.util.documentation.BlockCoordinates; import org.bukkit.block.data.Bisected; import org.bukkit.block.data.BlockData; public class IrisSurfaceDecorator extends IrisEngineDecorator { public IrisSurfaceDecorator(Engine engine) { - super(engine, "Surface", DecorationPart.NONE); + super(engine, "Surface", IrisDecorationPart.NONE); } @BlockCoordinates @Override - public void decorate(int x, int z, int realX, int realX1, int realX_1, int realZ, int realZ1, int realZ_1, Hunk data, IrisBiome biome, int height, int max) { + public void decorate(int x, int z, int realX, int realX1, int realX_1, int realZ, int realZ1, int realZ_1, Hunk data, LoaderBiome biome, int height, int max) { if (biome.getInferredType().equals(InferredType.SHORE) && height < getDimension().getFluidHeight()) { return; } diff --git a/src/main/java/com/volmit/iris/engine/framework/Engine.java b/src/main/java/com/volmit/iris/engine/framework/Engine.java index 32558b92d..4f3b97564 100644 --- a/src/main/java/com/volmit/iris/engine/framework/Engine.java +++ b/src/main/java/com/volmit/iris/engine/framework/Engine.java @@ -22,11 +22,18 @@ import com.volmit.iris.Iris; import com.volmit.iris.core.gui.components.RenderType; import com.volmit.iris.core.gui.components.Renderer; import com.volmit.iris.core.project.loader.IrisData; -import com.volmit.iris.engine.cache.Cache; +import com.volmit.iris.engine.data.cache.Cache; import com.volmit.iris.engine.data.B; import com.volmit.iris.engine.data.DataProvider; +import com.volmit.iris.engine.object.basic.IrisColor; +import com.volmit.iris.engine.object.biome.LoaderBiome; +import com.volmit.iris.engine.object.dimensional.LoaderDimension; +import com.volmit.iris.engine.object.loot.IrisLootReference; +import com.volmit.iris.engine.object.loot.LoaderLootTable; +import com.volmit.iris.engine.object.loot.LootMode; +import com.volmit.iris.engine.object.meta.InventorySlotType; +import com.volmit.iris.engine.object.regional.LoaderRegion; import com.volmit.iris.util.hunk.Hunk; -import com.volmit.iris.engine.object.*; import com.volmit.iris.engine.object.common.IrisWorld; import com.volmit.iris.engine.object.engine.IrisEngineData; import com.volmit.iris.engine.parallax.ParallaxAccess; @@ -125,7 +132,7 @@ public interface Engine extends DataProvider, Fallible, GeneratorAccess, LootPro return getTarget().getWorld(); } - default IrisDimension getDimension() { + default LoaderDimension getDimension() { return getTarget().getDimension(); } @@ -135,8 +142,8 @@ public interface Engine extends DataProvider, Fallible, GeneratorAccess, LootPro @BlockCoordinates default Color draw(double x, double z) { - IrisRegion region = getRegion((int) x, (int) z); - IrisBiome biome = getSurfaceBiome((int) x, (int) z); + LoaderRegion region = getRegion((int) x, (int) z); + LoaderBiome biome = getSurfaceBiome((int) x, (int) z); int height = getHeight((int) x, (int) z); double heightFactor = M.lerpInverse(0, getHeight(), height); Color irc = region.getColor(this.getFramework().getComplex(), RenderType.BIOME); @@ -150,7 +157,7 @@ public interface Engine extends DataProvider, Fallible, GeneratorAccess, LootPro @BlockCoordinates @Override - default IrisRegion getRegion(int x, int z) { + default LoaderRegion getRegion(int x, int z) { return getFramework().getComplex().getRegionStream().get(x, z); } @@ -161,13 +168,13 @@ public interface Engine extends DataProvider, Fallible, GeneratorAccess, LootPro @BlockCoordinates @Override - default IrisBiome getCaveBiome(int x, int z) { + default LoaderBiome getCaveBiome(int x, int z) { return getFramework().getComplex().getCaveBiomeStream().get(x, z); } @BlockCoordinates @Override - default IrisBiome getSurfaceBiome(int x, int z) { + default LoaderBiome getSurfaceBiome(int x, int z) { return getFramework().getComplex().getTrueBiomeStream().get(x, z); } @@ -255,7 +262,7 @@ public interface Engine extends DataProvider, Fallible, GeneratorAccess, LootPro } if (slot != null) { - KList tables = getLootTables(rx, block); + KList tables = getLootTables(rx, block); try { InventoryHolder m = (InventoryHolder) block.getState(); @@ -308,7 +315,7 @@ public interface Engine extends DataProvider, Fallible, GeneratorAccess, LootPro } @Override - default void injectTables(KList list, IrisLootReference r) { + default void injectTables(KList list, IrisLootReference r) { if (r.getMode().equals(LootMode.CLEAR) || r.getMode().equals(LootMode.REPLACE)) { list.clear(); } @@ -318,7 +325,7 @@ public interface Engine extends DataProvider, Fallible, GeneratorAccess, LootPro @BlockCoordinates @Override - default KList getLootTables(RNG rng, Block b) { + default KList getLootTables(RNG rng, Block b) { int rx = b.getX(); int rz = b.getZ(); double he = getFramework().getComplex().getHeightStream().get(rx, rz); @@ -326,16 +333,16 @@ public interface Engine extends DataProvider, Fallible, GeneratorAccess, LootPro if (po != null && po.getPlacement() != null) { if (B.isStorageChest(b.getBlockData())) { - IrisLootTable table = po.getPlacement().getTable(b.getBlockData(), getData()); + LoaderLootTable table = po.getPlacement().getTable(b.getBlockData(), getData()); if (table != null) { return new KList<>(table); } } } - IrisRegion region = getFramework().getComplex().getRegionStream().get(rx, rz); - IrisBiome biomeSurface = getFramework().getComplex().getTrueBiomeStream().get(rx, rz); - IrisBiome biomeUnder = b.getY() < he ? getFramework().getComplex().getCaveBiomeStream().get(rx, rz) : biomeSurface; - KList tables = new KList<>(); + LoaderRegion region = getFramework().getComplex().getRegionStream().get(rx, rz); + LoaderBiome biomeSurface = getFramework().getComplex().getTrueBiomeStream().get(rx, rz); + LoaderBiome biomeUnder = b.getY() < he ? getFramework().getComplex().getCaveBiomeStream().get(rx, rz) : biomeSurface; + KList tables = new KList<>(); double multiplier = 1D * getDimension().getLoot().getMultiplier() * region.getLoot().getMultiplier() * biomeSurface.getLoot().getMultiplier() * biomeUnder.getLoot().getMultiplier(); injectTables(tables, getDimension().getLoot()); injectTables(tables, region.getLoot()); @@ -358,11 +365,11 @@ public interface Engine extends DataProvider, Fallible, GeneratorAccess, LootPro } @Override - default void addItems(boolean debug, Inventory inv, RNG rng, KList tables, InventorySlotType slot, int x, int y, int z, int mgf) { + default void addItems(boolean debug, Inventory inv, RNG rng, KList tables, InventorySlotType slot, int x, int y, int z, int mgf) { KList items = new KList<>(); int b = 4; - for (IrisLootTable i : tables) { + for (LoaderLootTable i : tables) { b++; items.addAll(i.getLoot(debug, items.isEmpty(), rng, slot, x, y, z, b + b, mgf + b)); } @@ -395,12 +402,12 @@ public interface Engine extends DataProvider, Fallible, GeneratorAccess, LootPro } @BlockCoordinates - default IrisBiome getBiome(Location l) { + default LoaderBiome getBiome(Location l) { return getBiome(l.getBlockX(), l.getBlockY(), l.getBlockZ()); } @BlockCoordinates - default IrisRegion getRegion(Location l) { + default LoaderRegion getRegion(Location l) { return getRegion(l.getBlockX(), l.getBlockZ()); } @@ -409,15 +416,15 @@ public interface Engine extends DataProvider, Fallible, GeneratorAccess, LootPro return l.getBlockY() >= getMinHeight() && l.getBlockY() <= getMaxHeight(); } - IrisBiome getFocus(); + LoaderBiome getFocus(); IrisEngineData getEngineData(); - default IrisBiome getSurfaceBiome(Chunk c) { + default LoaderBiome getSurfaceBiome(Chunk c) { return getSurfaceBiome((c.getX() << 4) + 8, (c.getZ() << 4) + 8); } - default IrisRegion getRegion(Chunk c) { + default LoaderRegion getRegion(Chunk c) { return getRegion((c.getX() << 4) + 8, (c.getZ() << 4) + 8); } } diff --git a/src/main/java/com/volmit/iris/engine/framework/EngineAssignedWorldManager.java b/src/main/java/com/volmit/iris/engine/framework/EngineAssignedWorldManager.java index 24e4bb476..2c9b18096 100644 --- a/src/main/java/com/volmit/iris/engine/framework/EngineAssignedWorldManager.java +++ b/src/main/java/com/volmit/iris/engine/framework/EngineAssignedWorldManager.java @@ -19,11 +19,9 @@ package com.volmit.iris.engine.framework; import com.volmit.iris.Iris; -import com.volmit.iris.engine.object.IrisPosition; import com.volmit.iris.util.collection.KList; import com.volmit.iris.util.math.Position2; import org.bukkit.Bukkit; -import org.bukkit.Chunk; import org.bukkit.Location; import org.bukkit.Sound; import org.bukkit.entity.EnderSignal; @@ -33,7 +31,6 @@ import org.bukkit.event.Listener; import org.bukkit.event.block.BlockBreakEvent; import org.bukkit.event.block.BlockPlaceEvent; import org.bukkit.event.entity.EntitySpawnEvent; -import org.bukkit.event.entity.ProjectileLaunchEvent; import org.bukkit.event.world.ChunkLoadEvent; import org.bukkit.event.world.WorldSaveEvent; import org.bukkit.event.world.WorldUnloadEvent; diff --git a/src/main/java/com/volmit/iris/engine/framework/EngineComponent.java b/src/main/java/com/volmit/iris/engine/framework/EngineComponent.java index 98f4f9be9..8cd985af1 100644 --- a/src/main/java/com/volmit/iris/engine/framework/EngineComponent.java +++ b/src/main/java/com/volmit/iris/engine/framework/EngineComponent.java @@ -21,7 +21,7 @@ package com.volmit.iris.engine.framework; import com.volmit.iris.Iris; import com.volmit.iris.core.project.loader.IrisData; import com.volmit.iris.engine.IrisComplex; -import com.volmit.iris.engine.object.IrisDimension; +import com.volmit.iris.engine.object.dimensional.LoaderDimension; import com.volmit.iris.engine.parallax.ParallaxAccess; import com.volmit.iris.util.math.RollingSequence; import org.bukkit.event.Listener; @@ -64,7 +64,7 @@ public interface EngineComponent { return getEngine().getTarget(); } - default IrisDimension getDimension() { + default LoaderDimension getDimension() { return getEngine().getDimension(); } diff --git a/src/main/java/com/volmit/iris/engine/framework/EngineCompositeGenerator.java b/src/main/java/com/volmit/iris/engine/framework/EngineCompositeGenerator.java index 93911962e..10c996f2c 100644 --- a/src/main/java/com/volmit/iris/engine/framework/EngineCompositeGenerator.java +++ b/src/main/java/com/volmit/iris/engine/framework/EngineCompositeGenerator.java @@ -30,11 +30,11 @@ import com.volmit.iris.engine.data.chunk.MCATerrainChunk; import com.volmit.iris.engine.data.chunk.TerrainChunk; import com.volmit.iris.engine.data.mca.NBTWorld; import com.volmit.iris.engine.data.nbt.tag.CompoundTag; -import com.volmit.iris.engine.headless.HeadlessGenerator; +import com.volmit.iris.engine.framework.headless.HeadlessGenerator; import com.volmit.iris.util.hunk.Hunk; -import com.volmit.iris.engine.object.IrisBiome; -import com.volmit.iris.engine.object.IrisDimension; -import com.volmit.iris.engine.object.IrisPosition; +import com.volmit.iris.engine.object.biome.LoaderBiome; +import com.volmit.iris.engine.object.dimensional.LoaderDimension; +import com.volmit.iris.engine.object.basic.IrisPosition; import com.volmit.iris.engine.object.common.IrisWorld; import com.volmit.iris.util.parallel.BurstExecutor; import com.volmit.iris.util.parallel.MultiBurst; @@ -202,11 +202,11 @@ public class EngineCompositeGenerator extends ChunkGenerator implements IrisAcce return false; } - private synchronized IrisDimension getDimension(IrisWorld world) { + private synchronized LoaderDimension getDimension(IrisWorld world) { String query = dimensionQuery; query = Iris.linkMultiverseCore.getWorldNameType(world.name(), query); - IrisDimension dim = null; + LoaderDimension dim = null; if (query == null) { File iris = new File(world.worldFolder(), "iris"); @@ -253,7 +253,7 @@ public class EngineCompositeGenerator extends ChunkGenerator implements IrisAcce } if (production) { - IrisDimension od = dim; + LoaderDimension od = dim; dim = new IrisData(getDataFolder(world)).getDimensionLoader().load(od.getLoadKey()); if (dim == null) { @@ -270,9 +270,9 @@ public class EngineCompositeGenerator extends ChunkGenerator implements IrisAcce return dim; } - private synchronized IrisDimension getDimension(String world) { + private synchronized LoaderDimension getDimension(String world) { String query = dimensionQuery; - IrisDimension dim = null; + LoaderDimension dim = null; if (query == null) { File iris = new File(world + "/iris"); @@ -319,7 +319,7 @@ public class EngineCompositeGenerator extends ChunkGenerator implements IrisAcce } if (production) { - IrisDimension od = dim; + LoaderDimension od = dim; dim = new IrisData(getDataFolder(world)).getDimensionLoader().load(od.getLoadKey()); if (dim == null) { @@ -345,7 +345,7 @@ public class EngineCompositeGenerator extends ChunkGenerator implements IrisAcce try { initialized.set(true); - IrisDimension dim = getDimension(world); + LoaderDimension dim = getDimension(world); IrisData data = production ? new IrisData(getDataFolder(world)) : dim.getLoader().copy(); compound.set(new IrisEngineCompound(world, dim, data, IrisSettings.getThreadCount(IrisSettings.get().getConcurrency().getEngineThreadCount()))); compound.get().setStudio(!production); @@ -673,12 +673,12 @@ public class EngineCompositeGenerator extends ChunkGenerator implements IrisAcce } @Override - public IrisBiome getBiome(int x, int z) { + public LoaderBiome getBiome(int x, int z) { return getBiome(x, 0, z); } @Override - public IrisBiome getCaveBiome(int x, int z) { + public LoaderBiome getCaveBiome(int x, int z) { return getCaveBiome(x, 0, z); } @@ -693,13 +693,13 @@ public class EngineCompositeGenerator extends ChunkGenerator implements IrisAcce } @Override - public IrisBiome getBiome(int x, int y, int z) { + public LoaderBiome getBiome(int x, int y, int z) { // TODO: REMOVE GET ABS BIOME OR THIS ONE return getEngineAccess(y).getBiome(x, y - getComposite().getEngineForHeight(y).getMinHeight(), z); } @Override - public IrisBiome getCaveBiome(int x, int y, int z) { + public LoaderBiome getCaveBiome(int x, int y, int z) { return getEngineAccess(y).getCaveBiome(x, z); } @@ -792,12 +792,12 @@ public class EngineCompositeGenerator extends ChunkGenerator implements IrisAcce return false; } - public KList getAllBiomes(String worldName) { + public KList getAllBiomes(String worldName) { if (getComposite() != null) { return getComposite().getAllBiomes(); } else { - KMap v = new KMap<>(); - IrisDimension dim = getDimension(worldName); + KMap v = new KMap<>(); + LoaderDimension dim = getDimension(worldName); dim.getAllAnyBiomes().forEach((i) -> v.put(i.getLoadKey(), i)); try { diff --git a/src/main/java/com/volmit/iris/engine/framework/EngineCompound.java b/src/main/java/com/volmit/iris/engine/framework/EngineCompound.java index e770eaad3..7b5e3b42f 100644 --- a/src/main/java/com/volmit/iris/engine/framework/EngineCompound.java +++ b/src/main/java/com/volmit/iris/engine/framework/EngineCompound.java @@ -23,9 +23,9 @@ import com.volmit.iris.core.project.loader.IrisData; import com.volmit.iris.engine.actuator.IrisTerrainNormalActuator; import com.volmit.iris.engine.data.DataProvider; import com.volmit.iris.util.hunk.Hunk; -import com.volmit.iris.engine.object.IrisBiome; -import com.volmit.iris.engine.object.IrisDimension; -import com.volmit.iris.engine.object.IrisPosition; +import com.volmit.iris.engine.object.biome.LoaderBiome; +import com.volmit.iris.engine.object.dimensional.LoaderDimension; +import com.volmit.iris.engine.object.basic.IrisPosition; import com.volmit.iris.engine.object.common.IrisWorld; import com.volmit.iris.util.parallel.MultiBurst; import com.volmit.iris.util.collection.KList; @@ -39,7 +39,7 @@ import org.bukkit.generator.BlockPopulator; import java.util.List; public interface EngineCompound extends Listener, Hotloadable, DataProvider { - IrisDimension getRootDimension(); + LoaderDimension getRootDimension(); void generate(int x, int z, Hunk blocks, Hunk postblocks, Hunk biomes, boolean multicore); @@ -133,10 +133,10 @@ public interface EngineCompound extends Listener, Hotloadable, DataProvider { Engine getDefaultEngine(); - default KList getAllBiomes() { - KMap v = new KMap<>(); + default KList getAllBiomes() { + KMap v = new KMap<>(); - IrisDimension dim = getRootDimension(); + LoaderDimension dim = getRootDimension(); dim.getAllBiomes(this).forEach((i) -> v.put(i.getLoadKey(), i)); try { diff --git a/src/main/java/com/volmit/iris/engine/framework/EngineData.java b/src/main/java/com/volmit/iris/engine/framework/EngineData.java index 0228616d7..6954d0c3d 100644 --- a/src/main/java/com/volmit/iris/engine/framework/EngineData.java +++ b/src/main/java/com/volmit/iris/engine/framework/EngineData.java @@ -20,7 +20,7 @@ package com.volmit.iris.engine.framework; import com.google.gson.Gson; import com.volmit.iris.Iris; -import com.volmit.iris.engine.object.IrisPosition; +import com.volmit.iris.engine.object.basic.IrisPosition; import com.volmit.iris.util.io.IO; import lombok.Data; diff --git a/src/main/java/com/volmit/iris/engine/framework/EngineDecorator.java b/src/main/java/com/volmit/iris/engine/framework/EngineDecorator.java index 25c24097a..8c6d22e80 100644 --- a/src/main/java/com/volmit/iris/engine/framework/EngineDecorator.java +++ b/src/main/java/com/volmit/iris/engine/framework/EngineDecorator.java @@ -20,17 +20,17 @@ package com.volmit.iris.engine.framework; import com.volmit.iris.engine.data.B; import com.volmit.iris.util.hunk.Hunk; -import com.volmit.iris.engine.object.IrisBiome; +import com.volmit.iris.engine.object.biome.LoaderBiome; import com.volmit.iris.util.documentation.BlockCoordinates; import org.bukkit.block.data.BlockData; public interface EngineDecorator extends EngineComponent { @BlockCoordinates - void decorate(int x, int z, int realX, int realX1, int realX_1, int realZ, int realZ1, int realZ_1, Hunk data, IrisBiome biome, int height, int max); + void decorate(int x, int z, int realX, int realX1, int realX_1, int realZ, int realZ1, int realZ_1, Hunk data, LoaderBiome biome, int height, int max); @BlockCoordinates - default void decorate(int x, int z, int realX, int realZ, Hunk data, IrisBiome biome, int height, int max) { + default void decorate(int x, int z, int realX, int realZ, Hunk data, LoaderBiome biome, int height, int max) { decorate(x, z, realX, realX, realX, realZ, realZ, realZ, data, biome, height, max); } diff --git a/src/main/java/com/volmit/iris/engine/framework/EngineParallaxManager.java b/src/main/java/com/volmit/iris/engine/framework/EngineParallaxManager.java index 46f3649b9..338b1ac72 100644 --- a/src/main/java/com/volmit/iris/engine/framework/EngineParallaxManager.java +++ b/src/main/java/com/volmit/iris/engine/framework/EngineParallaxManager.java @@ -21,12 +21,24 @@ package com.volmit.iris.engine.framework; import com.volmit.iris.Iris; import com.volmit.iris.core.project.loader.IrisData; import com.volmit.iris.engine.IrisComplex; -import com.volmit.iris.engine.cache.Cache; +import com.volmit.iris.engine.data.cache.Cache; import com.volmit.iris.engine.data.B; import com.volmit.iris.engine.data.DataProvider; +import com.volmit.iris.engine.object.basic.IrisPosition; +import com.volmit.iris.engine.object.biome.LoaderBiome; +import com.volmit.iris.engine.object.biome.IrisBiomeMutation; +import com.volmit.iris.engine.object.deposits.IrisDepositGenerator; +import com.volmit.iris.engine.object.feature.IrisFeature; +import com.volmit.iris.engine.object.feature.IrisFeaturePositional; +import com.volmit.iris.engine.object.feature.IrisFeaturePotential; +import com.volmit.iris.engine.object.jigsaw.LoaderJigsawStructure; +import com.volmit.iris.engine.object.jigsaw.IrisJigsawStructurePlacement; +import com.volmit.iris.engine.object.objects.LoaderObject; +import com.volmit.iris.engine.object.objects.IrisObjectPlacement; +import com.volmit.iris.engine.object.objects.IrisObjectScale; +import com.volmit.iris.engine.object.regional.LoaderRegion; import com.volmit.iris.util.hunk.Hunk; import com.volmit.iris.engine.jigsaw.PlannedStructure; -import com.volmit.iris.engine.object.*; import com.volmit.iris.engine.object.common.IObjectPlacer; import com.volmit.iris.engine.object.tile.TileData; import com.volmit.iris.engine.parallax.ParallaxAccess; @@ -78,8 +90,8 @@ public interface EngineParallaxManager extends DataProvider, IObjectPlacer { return getEngine().getFramework().getComplex(); } - default KList getAllRegions() { - KList r = new KList<>(); + default KList getAllRegions() { + KList r = new KList<>(); for (String i : getEngine().getDimension().getRegions()) { r.add(getEngine().getData().getRegionLoader().load(i)); @@ -96,10 +108,10 @@ public interface EngineParallaxManager extends DataProvider, IObjectPlacer { return r; } - default KList getAllBiomes() { - KList r = new KList<>(); + default KList getAllBiomes() { + KList r = new KList<>(); - for (IrisRegion i : getAllRegions()) { + for (LoaderRegion i : getAllRegions()) { r.addAll(i.getAllBiomes(this)); } @@ -287,8 +299,8 @@ public interface EngineParallaxManager extends DataProvider, IObjectPlacer { getParallaxAccess().setFeatureGenerated(xx, zz); burst.queue(() -> { RNG rng = new RNG(Cache.key(xx, zz) + getEngine().getTarget().getWorld().seed()); - IrisRegion region = getComplex().getRegionStream().get(xxx, zzz); - IrisBiome biome = getComplex().getTrueBiomeStreamNoFeatures().get(xxx, zzz); + LoaderRegion region = getComplex().getRegionStream().get(xxx, zzz); + LoaderBiome biome = getComplex().getTrueBiomeStreamNoFeatures().get(xxx, zzz); generateParallaxFeatures(rng, xx, zz, region, biome); }); } @@ -349,8 +361,8 @@ public interface EngineParallaxManager extends DataProvider, IObjectPlacer { int xx = x << 4; int zz = z << 4; RNG rng = new RNG(Cache.key(x, z)).nextParallelRNG(getEngine().getTarget().getWorld().seed()); - IrisRegion region = getComplex().getRegionStream().get(xx + 8, zz + 8); - IrisBiome biome = getComplex().getTrueBiomeStreamNoFeatures().get(xx + 8, zz + 8); + LoaderRegion region = getComplex().getRegionStream().get(xx + 8, zz + 8); + LoaderBiome biome = getComplex().getTrueBiomeStreamNoFeatures().get(xx + 8, zz + 8); after.addAll(generateParallaxJigsaw(rng, x, z, biome, region)); generateParallaxSurface(rng, x, z, biome, region, true); generateParallaxMutations(rng, x, z, true); @@ -368,14 +380,14 @@ public interface EngineParallaxManager extends DataProvider, IObjectPlacer { int zz = z << 4; getParallaxAccess().setParallaxGenerated(x, z); RNG rng = new RNG(Cache.key(x, z)).nextParallelRNG(getEngine().getTarget().getWorld().seed()); - IrisBiome biome = getComplex().getTrueBiomeStreamNoFeatures().get(xx + 8, zz + 8); - IrisRegion region = getComplex().getRegionStream().get(xx + 8, zz + 8); + LoaderBiome biome = getComplex().getTrueBiomeStreamNoFeatures().get(xx + 8, zz + 8); + LoaderRegion region = getComplex().getRegionStream().get(xx + 8, zz + 8); generateParallaxSurface(rng, x, z, biome, region, false); generateParallaxMutations(rng, x, z, false); } @ChunkCoordinates - default void generateParallaxFeatures(RNG rng, int cx, int cz, IrisRegion region, IrisBiome biome) { + default void generateParallaxFeatures(RNG rng, int cx, int cz, LoaderRegion region, LoaderBiome biome) { for (IrisFeaturePotential i : getEngine().getDimension().getFeatures()) { placeZone(rng, cx, cz, i); } @@ -403,7 +415,7 @@ public interface EngineParallaxManager extends DataProvider, IObjectPlacer { generateParallaxLayer(x, z, false); } - default KList placeStructure(IrisPosition position, IrisJigsawStructure structure, RNG rng) { + default KList placeStructure(IrisPosition position, LoaderJigsawStructure structure, RNG rng) { KList placeAfter = new KList<>(); if (structure == null) { @@ -423,7 +435,7 @@ public interface EngineParallaxManager extends DataProvider, IObjectPlacer { return placeAfter; } - default KList generateParallaxJigsaw(RNG rng, int x, int z, IrisBiome biome, IrisRegion region) { + default KList generateParallaxJigsaw(RNG rng, int x, int z, LoaderBiome biome, LoaderRegion region) { KList placeAfter = new KList<>(); if (getEngine().getDimension().isPlaceObjects()) { @@ -435,7 +447,7 @@ public interface EngineParallaxManager extends DataProvider, IObjectPlacer { if (poss != null) { for (Position2 pos : poss) { if (x == pos.getX() >> 4 && z == pos.getZ() >> 4) { - IrisJigsawStructure structure = getData().getJigsawStructureLoader().load(getEngine().getDimension().getStronghold()); + LoaderJigsawStructure structure = getData().getJigsawStructureLoader().load(getEngine().getDimension().getStronghold()); placeAfter.addAll(placeStructure(pos.toIris(), structure, rng)); placed = true; } @@ -447,7 +459,7 @@ public interface EngineParallaxManager extends DataProvider, IObjectPlacer { for (IrisJigsawStructurePlacement i : biome.getJigsawStructures()) { if (rng.nextInt(i.getRarity()) == 0) { IrisPosition position = new IrisPosition((x << 4) + rng.nextInt(15), 0, (z << 4) + rng.nextInt(15)); - IrisJigsawStructure structure = getData().getJigsawStructureLoader().load(i.getStructure()); + LoaderJigsawStructure structure = getData().getJigsawStructureLoader().load(i.getStructure()); placeAfter.addAll(placeStructure(position, structure, rng)); placed = true; } @@ -458,7 +470,7 @@ public interface EngineParallaxManager extends DataProvider, IObjectPlacer { for (IrisJigsawStructurePlacement i : region.getJigsawStructures()) { if (rng.nextInt(i.getRarity()) == 0) { IrisPosition position = new IrisPosition((x << 4) + rng.nextInt(15), 0, (z << 4) + rng.nextInt(15)); - IrisJigsawStructure structure = getData().getJigsawStructureLoader().load(i.getStructure()); + LoaderJigsawStructure structure = getData().getJigsawStructureLoader().load(i.getStructure()); placeAfter.addAll(placeStructure(position, structure, rng)); placed = true; } @@ -469,7 +481,7 @@ public interface EngineParallaxManager extends DataProvider, IObjectPlacer { for (IrisJigsawStructurePlacement i : getEngine().getDimension().getJigsawStructures()) { if (rng.nextInt(i.getRarity()) == 0) { IrisPosition position = new IrisPosition((x << 4) + rng.nextInt(15), 0, (z << 4) + rng.nextInt(15)); - IrisJigsawStructure structure = getData().getJigsawStructureLoader().load(i.getStructure()); + LoaderJigsawStructure structure = getData().getJigsawStructureLoader().load(i.getStructure()); placeAfter.addAll(placeStructure(position, structure, rng)); placed = true; } @@ -480,7 +492,7 @@ public interface EngineParallaxManager extends DataProvider, IObjectPlacer { return placeAfter; } - default void generateParallaxSurface(RNG rng, int x, int z, IrisBiome biome, IrisRegion region, boolean useFeatures) { + default void generateParallaxSurface(RNG rng, int x, int z, LoaderBiome biome, LoaderRegion region, boolean useFeatures) { for (IrisObjectPlacement i : biome.getSurfaceObjects()) { if (i.usesFeatures() != useFeatures) { @@ -527,8 +539,8 @@ public interface EngineParallaxManager extends DataProvider, IObjectPlacer { searching: for (IrisBiomeMutation k : getEngine().getDimension().getMutations()) { for (int l = 0; l < k.getChecks(); l++) { - IrisBiome sa = getComplex().getTrueBiomeStreamNoFeatures().get(((x * 16) + rng.nextInt(16)) + rng.i(-k.getRadius(), k.getRadius()), ((z * 16) + rng.nextInt(16)) + rng.i(-k.getRadius(), k.getRadius())); - IrisBiome sb = getComplex().getTrueBiomeStreamNoFeatures().get(((x * 16) + rng.nextInt(16)) + rng.i(-k.getRadius(), k.getRadius()), ((z * 16) + rng.nextInt(16)) + rng.i(-k.getRadius(), k.getRadius())); + LoaderBiome sa = getComplex().getTrueBiomeStreamNoFeatures().get(((x * 16) + rng.nextInt(16)) + rng.i(-k.getRadius(), k.getRadius()), ((z * 16) + rng.nextInt(16)) + rng.i(-k.getRadius(), k.getRadius())); + LoaderBiome sb = getComplex().getTrueBiomeStreamNoFeatures().get(((x * 16) + rng.nextInt(16)) + rng.i(-k.getRadius(), k.getRadius()), ((z * 16) + rng.nextInt(16)) + rng.i(-k.getRadius(), k.getRadius())); if (sa.getLoadKey().equals(sb.getLoadKey())) { continue; @@ -553,7 +565,7 @@ public interface EngineParallaxManager extends DataProvider, IObjectPlacer { place(rng, x, -1, z, objectPlacement); } - default void placePiece(RNG rng, int xx, int forceY, int zz, IrisObject v, IrisObjectPlacement p) { + default void placePiece(RNG rng, int xx, int forceY, int zz, LoaderObject v, IrisObjectPlacement p) { int id = rng.i(0, Integer.MAX_VALUE); int maxf = 10000; AtomicBoolean pl = new AtomicBoolean(false); @@ -600,7 +612,7 @@ public interface EngineParallaxManager extends DataProvider, IObjectPlacer { default void place(RNG rng, int x, int forceY, int z, IrisObjectPlacement objectPlacement) { placing: for (int i = 0; i < objectPlacement.getDensity(); i++) { - IrisObject v = objectPlacement.getScale().get(rng, objectPlacement.getObject(getComplex(), rng)); + LoaderObject v = objectPlacement.getScale().get(rng, objectPlacement.getObject(getComplex(), rng)); if (v == null) { return; } @@ -644,7 +656,7 @@ public interface EngineParallaxManager extends DataProvider, IObjectPlacer { } } - default void updateParallaxChunkObjectData(int minY, int maxY, int x, int z, IrisObject v) { + default void updateParallaxChunkObjectData(int minY, int maxY, int x, int z, LoaderObject v) { ParallaxChunkMeta meta = getParallaxAccess().getMetaRW(x >> 4, z >> 4); meta.setObjects(true); meta.setMaxObject(Math.max(maxY, meta.getMaxObject())); @@ -664,10 +676,10 @@ public interface EngineParallaxManager extends DataProvider, IObjectPlacer { int z = zg.get(); if (getEngine().getDimension().isPlaceObjects()) { - KList r = getAllRegions(); - KList b = getAllBiomes(); + KList r = getAllRegions(); + KList b = getAllBiomes(); - for (IrisBiome i : b) { + for (LoaderBiome i : b) { for (IrisObjectPlacement j : i.getObjects()) { if (j.getScale().canScaleBeyond()) { scalars.put(j.getScale(), j.getPlace()); @@ -681,7 +693,7 @@ public interface EngineParallaxManager extends DataProvider, IObjectPlacer { } } - for (IrisRegion i : r) { + for (LoaderRegion i : r) { for (IrisObjectPlacement j : i.getObjects()) { if (j.getScale().canScaleBeyond()) { scalars.put(j.getScale(), j.getPlace()); @@ -721,7 +733,7 @@ public interface EngineParallaxManager extends DataProvider, IObjectPlacer { } try { - return IrisObject.sampleSize(getData().getObjectLoader().findFile(i)); + return LoaderObject.sampleSize(getData().getObjectLoader().findFile(i)); } catch (IOException ex) { Iris.reportError(ex); ex.printStackTrace(); @@ -761,7 +773,7 @@ public interface EngineParallaxManager extends DataProvider, IObjectPlacer { } try { - return IrisObject.sampleSize(getData().getObjectLoader().findFile(j)); + return LoaderObject.sampleSize(getData().getObjectLoader().findFile(j)); } catch (IOException ioException) { Iris.reportError(ioException); ioException.printStackTrace(); @@ -802,7 +814,7 @@ public interface EngineParallaxManager extends DataProvider, IObjectPlacer { z = Math.max(max, z); } - for (IrisRegion v : r) { + for (LoaderRegion v : r) { for (IrisDepositGenerator i : v.getDeposits()) { int max = i.getMaxDimension(); x = Math.max(max, x); @@ -810,7 +822,7 @@ public interface EngineParallaxManager extends DataProvider, IObjectPlacer { } } - for (IrisBiome v : b) { + for (LoaderBiome v : b) { for (IrisDepositGenerator i : v.getDeposits()) { int max = i.getMaxDimension(); x = Math.max(max, x); diff --git a/src/main/java/com/volmit/iris/engine/framework/EnginePlayer.java b/src/main/java/com/volmit/iris/engine/framework/EnginePlayer.java index 5afa34b33..a2d587405 100644 --- a/src/main/java/com/volmit/iris/engine/framework/EnginePlayer.java +++ b/src/main/java/com/volmit/iris/engine/framework/EnginePlayer.java @@ -19,9 +19,9 @@ package com.volmit.iris.engine.framework; import com.volmit.iris.Iris; -import com.volmit.iris.engine.object.IrisBiome; -import com.volmit.iris.engine.object.IrisEffect; -import com.volmit.iris.engine.object.IrisRegion; +import com.volmit.iris.engine.object.biome.LoaderBiome; +import com.volmit.iris.engine.object.meta.IrisEffect; +import com.volmit.iris.engine.object.regional.LoaderRegion; import com.volmit.iris.util.math.M; import com.volmit.iris.util.scheduling.J; import lombok.Data; @@ -32,8 +32,8 @@ import org.bukkit.entity.Player; public class EnginePlayer { private final Engine engine; private final Player player; - private IrisBiome biome; - private IrisRegion region; + private LoaderBiome biome; + private LoaderRegion region; private Location lastLocation; private long lastSample; diff --git a/src/main/java/com/volmit/iris/engine/framework/EngineTarget.java b/src/main/java/com/volmit/iris/engine/framework/EngineTarget.java index e3f663742..b2cdfbadd 100644 --- a/src/main/java/com/volmit/iris/engine/framework/EngineTarget.java +++ b/src/main/java/com/volmit/iris/engine/framework/EngineTarget.java @@ -20,7 +20,7 @@ package com.volmit.iris.engine.framework; import com.volmit.iris.core.IrisSettings; import com.volmit.iris.core.project.loader.IrisData; -import com.volmit.iris.engine.object.IrisDimension; +import com.volmit.iris.engine.object.dimensional.LoaderDimension; import com.volmit.iris.engine.object.common.IrisWorld; import com.volmit.iris.engine.parallax.ParallaxWorld; import com.volmit.iris.util.parallel.MultiBurst; @@ -32,14 +32,14 @@ import java.io.File; public class EngineTarget { private final MultiBurst parallaxBurster; private final MultiBurst burster; - private final IrisDimension dimension; + private final LoaderDimension dimension; private IrisWorld world; private final int height; private final IrisData data; private final ParallaxWorld parallaxWorld; private final boolean inverted; - public EngineTarget(IrisWorld world, IrisDimension dimension, IrisData data, int height, boolean inverted, int threads) { + public EngineTarget(IrisWorld world, LoaderDimension dimension, IrisData data, int height, boolean inverted, int threads) { this.world = world; this.height = height; this.dimension = dimension; @@ -50,7 +50,7 @@ public class EngineTarget { this.parallaxWorld = new ParallaxWorld(parallaxBurster, 256, new File(world.worldFolder(), "iris/" + dimension.getLoadKey() + "/parallax")); } - public EngineTarget(IrisWorld world, IrisDimension dimension, IrisData data, int height, int threads) { + public EngineTarget(IrisWorld world, LoaderDimension dimension, IrisData data, int height, int threads) { this(world, dimension, data, height, false, threads); } diff --git a/src/main/java/com/volmit/iris/engine/framework/GeneratorAccess.java b/src/main/java/com/volmit/iris/engine/framework/GeneratorAccess.java index a006d12e7..d85a2c6c6 100644 --- a/src/main/java/com/volmit/iris/engine/framework/GeneratorAccess.java +++ b/src/main/java/com/volmit/iris/engine/framework/GeneratorAccess.java @@ -21,25 +21,25 @@ package com.volmit.iris.engine.framework; import com.volmit.iris.core.gui.components.Renderer; import com.volmit.iris.core.project.loader.IrisData; import com.volmit.iris.engine.data.DataProvider; -import com.volmit.iris.engine.object.IrisBiome; -import com.volmit.iris.engine.object.IrisObjectPlacement; -import com.volmit.iris.engine.object.IrisRegion; +import com.volmit.iris.engine.object.biome.LoaderBiome; +import com.volmit.iris.engine.object.objects.IrisObjectPlacement; +import com.volmit.iris.engine.object.regional.LoaderRegion; import com.volmit.iris.engine.parallax.ParallaxAccess; public interface GeneratorAccess extends DataProvider, Renderer { - IrisRegion getRegion(int x, int z); + LoaderRegion getRegion(int x, int z); ParallaxAccess getParallaxAccess(); IrisData getData(); - IrisBiome getCaveBiome(int x, int z); + LoaderBiome getCaveBiome(int x, int z); - IrisBiome getSurfaceBiome(int x, int z); + LoaderBiome getSurfaceBiome(int x, int z); int getHeight(int x, int z); - default IrisBiome getBiome(int x, int y, int z) { + default LoaderBiome getBiome(int x, int y, int z) { if (y <= getHeight(x, z) - 2) { return getCaveBiome(x, z); } @@ -57,7 +57,7 @@ public interface GeneratorAccess extends DataProvider, Renderer { String[] v = objectAt.split("\\Q@\\E"); String object = v[0]; int id = Integer.parseInt(v[1]); - IrisRegion region = getRegion(x, z); + LoaderRegion region = getRegion(x, z); for (IrisObjectPlacement i : region.getObjects()) { if (i.getPlace().contains(object)) { @@ -65,7 +65,7 @@ public interface GeneratorAccess extends DataProvider, Renderer { } } - IrisBiome biome = getBiome(x, y, z); + LoaderBiome biome = getBiome(x, y, z); for (IrisObjectPlacement i : biome.getObjects()) { if (i.getPlace().contains(object)) { diff --git a/src/main/java/com/volmit/iris/engine/framework/IrisAccess.java b/src/main/java/com/volmit/iris/engine/framework/IrisAccess.java index 14273b04c..8998f92c5 100644 --- a/src/main/java/com/volmit/iris/engine/framework/IrisAccess.java +++ b/src/main/java/com/volmit/iris/engine/framework/IrisAccess.java @@ -23,9 +23,9 @@ import com.volmit.iris.core.pregenerator.PregenListener; import com.volmit.iris.core.project.loader.IrisData; import com.volmit.iris.engine.data.DataProvider; import com.volmit.iris.engine.data.mca.NBTWorld; -import com.volmit.iris.engine.headless.HeadlessGenerator; -import com.volmit.iris.engine.object.IrisBiome; -import com.volmit.iris.engine.object.IrisRegion; +import com.volmit.iris.engine.framework.headless.HeadlessGenerator; +import com.volmit.iris.engine.object.biome.LoaderBiome; +import com.volmit.iris.engine.object.regional.LoaderRegion; import com.volmit.iris.engine.object.common.IrisWorld; import com.volmit.iris.util.parallel.MultiBurst; import com.volmit.iris.util.collection.KList; @@ -71,29 +71,29 @@ public interface IrisAccess extends Hotloadable, DataProvider { * @param l the location * @return the biome */ - default IrisBiome getBiome(Location l) { + default LoaderBiome getBiome(Location l) { return getBiome(l.toVector()); } - default IrisRegion getRegion(int x, int y, int z) { + default LoaderRegion getRegion(int x, int y, int z) { return getEngineAccess(y).getRegion(x, z); } - default IrisRegion getRegion(Location l) { + default LoaderRegion getRegion(Location l) { return getRegion(l.getBlockX(), l.getBlockY(), l.getBlockZ()); } - default IrisBiome getBiome(Vector l) { + default LoaderBiome getBiome(Vector l) { return getBiome(l.getBlockX(), l.getBlockY(), l.getBlockZ()); } - IrisBiome getBiome(int x, int y, int z); + LoaderBiome getBiome(int x, int y, int z); - IrisBiome getCaveBiome(int x, int y, int z); + LoaderBiome getCaveBiome(int x, int y, int z); - IrisBiome getBiome(int x, int z); + LoaderBiome getBiome(int x, int z); - IrisBiome getCaveBiome(int x, int z); + LoaderBiome getCaveBiome(int x, int z); GeneratorAccess getEngineAccess(int y); @@ -117,7 +117,7 @@ public interface IrisAccess extends Hotloadable, DataProvider { boolean isStudio(); - default Location lookForBiome(IrisBiome biome, long timeout, Consumer triesc) { + default Location lookForBiome(LoaderBiome biome, long timeout, Consumer triesc) { if (!getCompound().getWorld().hasRealWorld()) { Iris.error("Cannot GOTO without a bound world (headless mode)"); return null; @@ -146,7 +146,7 @@ public interface IrisAccess extends Hotloadable, DataProvider { J.a(() -> { try { Engine e; - IrisBiome b; + LoaderBiome b; int x, z; while (!found.get() && running.get()) { @@ -198,7 +198,7 @@ public interface IrisAccess extends Hotloadable, DataProvider { return location.get(); } - default Location lookForRegion(IrisRegion reg, long timeout, Consumer triesc) { + default Location lookForRegion(LoaderRegion reg, long timeout, Consumer triesc) { if (!getCompound().getWorld().hasRealWorld()) { Iris.error("Cannot GOTO without a bound world (headless mode)"); return null; @@ -227,7 +227,7 @@ public interface IrisAccess extends Hotloadable, DataProvider { for (int i = 0; i < cpus; i++) { J.a(() -> { Engine e; - IrisRegion b; + LoaderRegion b; int x, z; while (!found.get() && running.get()) { diff --git a/src/main/java/com/volmit/iris/engine/framework/LootProvider.java b/src/main/java/com/volmit/iris/engine/framework/LootProvider.java index a3c4c2391..35115b18b 100644 --- a/src/main/java/com/volmit/iris/engine/framework/LootProvider.java +++ b/src/main/java/com/volmit/iris/engine/framework/LootProvider.java @@ -18,9 +18,9 @@ package com.volmit.iris.engine.framework; -import com.volmit.iris.engine.object.InventorySlotType; -import com.volmit.iris.engine.object.IrisLootReference; -import com.volmit.iris.engine.object.IrisLootTable; +import com.volmit.iris.engine.object.meta.InventorySlotType; +import com.volmit.iris.engine.object.loot.IrisLootReference; +import com.volmit.iris.engine.object.loot.LoaderLootTable; import com.volmit.iris.util.collection.KList; import com.volmit.iris.util.math.RNG; import org.bukkit.block.Block; @@ -29,9 +29,9 @@ import org.bukkit.inventory.Inventory; public interface LootProvider { void scramble(Inventory inventory, RNG rng); - void injectTables(KList list, IrisLootReference r); + void injectTables(KList list, IrisLootReference r); - KList getLootTables(RNG rng, Block b); + KList getLootTables(RNG rng, Block b); - void addItems(boolean debug, Inventory inv, RNG rng, KList tables, InventorySlotType slot, int x, int y, int z, int mgf); + void addItems(boolean debug, Inventory inv, RNG rng, KList tables, InventorySlotType slot, int x, int y, int z, int mgf); } diff --git a/src/main/java/com/volmit/iris/engine/framework/PlacedObject.java b/src/main/java/com/volmit/iris/engine/framework/PlacedObject.java index f195511bc..29c2395e1 100644 --- a/src/main/java/com/volmit/iris/engine/framework/PlacedObject.java +++ b/src/main/java/com/volmit/iris/engine/framework/PlacedObject.java @@ -18,8 +18,8 @@ package com.volmit.iris.engine.framework; -import com.volmit.iris.engine.object.IrisObject; -import com.volmit.iris.engine.object.IrisObjectPlacement; +import com.volmit.iris.engine.object.objects.LoaderObject; +import com.volmit.iris.engine.object.objects.IrisObjectPlacement; import lombok.AllArgsConstructor; import lombok.Data; @@ -31,7 +31,7 @@ public class PlacedObject { @Nullable private IrisObjectPlacement placement; @Nullable - private IrisObject object; + private LoaderObject object; private int id; private int xx; private int zz; diff --git a/src/main/java/com/volmit/iris/engine/headless/HeadlessGenerator.java b/src/main/java/com/volmit/iris/engine/framework/headless/HeadlessGenerator.java similarity index 98% rename from src/main/java/com/volmit/iris/engine/headless/HeadlessGenerator.java rename to src/main/java/com/volmit/iris/engine/framework/headless/HeadlessGenerator.java index 9cc58d6fd..cca35bae5 100644 --- a/src/main/java/com/volmit/iris/engine/headless/HeadlessGenerator.java +++ b/src/main/java/com/volmit/iris/engine/framework/headless/HeadlessGenerator.java @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.headless; +package com.volmit.iris.engine.framework.headless; import com.volmit.iris.core.IrisSettings; import com.volmit.iris.core.pregenerator.PregenListener; diff --git a/src/main/java/com/volmit/iris/engine/headless/HeadlessWorld.java b/src/main/java/com/volmit/iris/engine/framework/headless/HeadlessWorld.java similarity index 89% rename from src/main/java/com/volmit/iris/engine/headless/HeadlessWorld.java rename to src/main/java/com/volmit/iris/engine/framework/headless/HeadlessWorld.java index 94570e216..156df1c3d 100644 --- a/src/main/java/com/volmit/iris/engine/headless/HeadlessWorld.java +++ b/src/main/java/com/volmit/iris/engine/framework/headless/HeadlessWorld.java @@ -16,13 +16,13 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.headless; +package com.volmit.iris.engine.framework.headless; import com.volmit.iris.Iris; import com.volmit.iris.core.project.loader.IrisData; import com.volmit.iris.core.tools.IrisWorlds; import com.volmit.iris.engine.framework.EngineCompositeGenerator; -import com.volmit.iris.engine.object.IrisDimension; +import com.volmit.iris.engine.object.dimensional.LoaderDimension; import com.volmit.iris.engine.object.common.IrisWorld; import com.volmit.iris.util.plugin.VolmitSender; import lombok.Data; @@ -35,16 +35,16 @@ import java.io.File; @Data @SuppressWarnings("ResultOfMethodCallIgnored") public class HeadlessWorld { - private final IrisDimension dimension; + private final LoaderDimension dimension; private final String worldName; private final IrisWorld world; private boolean studio = false; - public HeadlessWorld(String worldName, IrisDimension dimension, long seed) { + public HeadlessWorld(String worldName, LoaderDimension dimension, long seed) { this(worldName, dimension, seed, false); } - public HeadlessWorld(String worldName, IrisDimension dimension, long seed, boolean studio) { + public HeadlessWorld(String worldName, LoaderDimension dimension, long seed, boolean studio) { this.worldName = worldName; this.dimension = dimension; this.studio = studio; diff --git a/src/main/java/com/volmit/iris/engine/framework/placer/HeightmapObjectPlacer.java b/src/main/java/com/volmit/iris/engine/framework/placer/HeightmapObjectPlacer.java index 76fa1a62d..7902ac9b4 100644 --- a/src/main/java/com/volmit/iris/engine/framework/placer/HeightmapObjectPlacer.java +++ b/src/main/java/com/volmit/iris/engine/framework/placer/HeightmapObjectPlacer.java @@ -19,7 +19,7 @@ package com.volmit.iris.engine.framework.placer; import com.volmit.iris.core.project.loader.IrisData; -import com.volmit.iris.engine.object.IrisObjectPlacement; +import com.volmit.iris.engine.object.objects.IrisObjectPlacement; import com.volmit.iris.engine.object.common.IObjectPlacer; import com.volmit.iris.engine.object.tile.TileData; import com.volmit.iris.util.math.RNG; diff --git a/src/main/java/com/volmit/iris/engine/jigsaw/PlannedPiece.java b/src/main/java/com/volmit/iris/engine/jigsaw/PlannedPiece.java index ca7ba026d..341d28dea 100644 --- a/src/main/java/com/volmit/iris/engine/jigsaw/PlannedPiece.java +++ b/src/main/java/com/volmit/iris/engine/jigsaw/PlannedPiece.java @@ -22,8 +22,14 @@ import com.volmit.iris.core.project.loader.IrisData; import com.volmit.iris.core.tools.IrisWorlds; import com.volmit.iris.engine.framework.Engine; import com.volmit.iris.engine.framework.IrisAccess; -import com.volmit.iris.engine.object.*; +import com.volmit.iris.engine.object.basic.IrisPosition; import com.volmit.iris.engine.object.common.IObjectPlacer; +import com.volmit.iris.engine.object.jigsaw.LoaderJigsawPiece; +import com.volmit.iris.engine.object.jigsaw.IrisJigsawPieceConnector; +import com.volmit.iris.engine.object.loot.LoaderLootTable; +import com.volmit.iris.engine.object.meta.InventorySlotType; +import com.volmit.iris.engine.object.objects.LoaderObject; +import com.volmit.iris.engine.object.objects.IrisObjectRotation; import com.volmit.iris.engine.object.tile.TileData; import com.volmit.iris.util.collection.KList; import com.volmit.iris.util.math.AxisAlignedBB; @@ -43,9 +49,9 @@ import org.bukkit.util.BlockVector; @Data public class PlannedPiece { private IrisPosition position; - private IrisObject object; - private IrisObject ogObject; - private IrisJigsawPiece piece; + private LoaderObject object; + private LoaderObject ogObject; + private LoaderJigsawPiece piece; private IrisObjectRotation rotation; private IrisData data; private KList connected; @@ -53,15 +59,15 @@ public class PlannedPiece { private AxisAlignedBB box; private PlannedStructure structure; - public PlannedPiece(PlannedStructure structure, IrisPosition position, IrisJigsawPiece piece) { + public PlannedPiece(PlannedStructure structure, IrisPosition position, LoaderJigsawPiece piece) { this(structure, position, piece, 0, 0, 0); } - public PlannedPiece(PlannedStructure structure, IrisPosition position, IrisJigsawPiece piece, int rx, int ry, int rz) { + public PlannedPiece(PlannedStructure structure, IrisPosition position, LoaderJigsawPiece piece, int rx, int ry, int rz) { this(structure, position, piece, IrisObjectRotation.of(rx * 90D, ry * 90D, rz * 90D)); } - public PlannedPiece(PlannedStructure structure, IrisPosition position, IrisJigsawPiece piece, IrisObjectRotation rot) { + public PlannedPiece(PlannedStructure structure, IrisPosition position, LoaderJigsawPiece piece, IrisObjectRotation rot) { this.structure = structure; this.position = position; this.data = piece.getLoader(); @@ -181,7 +187,7 @@ public class PlannedPiece { if (a != null && getPiece().getPlacementOptions().getLoot().isNotEmpty() && block.getState() instanceof InventoryHolder) { - IrisLootTable table = getPiece().getPlacementOptions().getTable(block.getBlockData(), getData()); + LoaderLootTable table = getPiece().getPlacementOptions().getTable(block.getBlockData(), getData()); if (table == null) return; Engine engine = a.getCompound().getEngineForHeight(y); engine.addItems(false, ((InventoryHolder) block.getState()).getInventory(), diff --git a/src/main/java/com/volmit/iris/engine/jigsaw/PlannedStructure.java b/src/main/java/com/volmit/iris/engine/jigsaw/PlannedStructure.java index 672338fac..9c56359f7 100644 --- a/src/main/java/com/volmit/iris/engine/jigsaw/PlannedStructure.java +++ b/src/main/java/com/volmit/iris/engine/jigsaw/PlannedStructure.java @@ -24,9 +24,16 @@ import com.volmit.iris.core.project.loader.IrisData; import com.volmit.iris.core.tools.IrisWorlds; import com.volmit.iris.engine.framework.EngineParallaxManager; import com.volmit.iris.engine.framework.IrisAccess; -import com.volmit.iris.engine.interpolation.InterpolationMethod; -import com.volmit.iris.engine.object.*; +import com.volmit.iris.engine.object.basic.IrisPosition; +import com.volmit.iris.util.interpolation.InterpolationMethod; import com.volmit.iris.engine.object.common.IObjectPlacer; +import com.volmit.iris.engine.object.entity.LoaderEntity; +import com.volmit.iris.engine.object.feature.IrisFeature; +import com.volmit.iris.engine.object.feature.IrisFeaturePositional; +import com.volmit.iris.engine.object.jigsaw.LoaderJigsawPiece; +import com.volmit.iris.engine.object.jigsaw.IrisJigsawPieceConnector; +import com.volmit.iris.engine.object.jigsaw.LoaderJigsawStructure; +import com.volmit.iris.engine.object.objects.*; import com.volmit.iris.engine.parallax.ParallaxChunkMeta; import com.volmit.iris.util.collection.KList; import com.volmit.iris.util.math.RNG; @@ -39,20 +46,20 @@ import org.bukkit.entity.Entity; @Data public class PlannedStructure { private KList pieces; - private IrisJigsawStructure structure; + private LoaderJigsawStructure structure; private IrisPosition position; private IrisData data; private RNG rng; private boolean verbose; private boolean terminating; - private static transient ConcurrentLinkedHashMap objectRotationCache - = new ConcurrentLinkedHashMap.Builder() + private static transient ConcurrentLinkedHashMap objectRotationCache + = new ConcurrentLinkedHashMap.Builder() .initialCapacity(64) .maximumWeightedCapacity(1024) .concurrencyLevel(32) .build(); - public PlannedStructure(IrisJigsawStructure structure, IrisPosition position, RNG rng) { + public PlannedStructure(LoaderJigsawStructure structure, IrisPosition position, RNG rng) { terminating = false; verbose = true; this.pieces = new KList<>(); @@ -96,8 +103,8 @@ public class PlannedStructure { options.setMode(i.getPiece().getPlaceMode()); } - IrisObject vo = i.getOgObject(); - IrisObject v = i.getObject(); + LoaderObject vo = i.getOgObject(); + LoaderObject v = i.getObject(); int sx = (v.getW() / 2); int sz = (v.getD() / 2); int xx = i.getPosition().getX() + sx; @@ -169,7 +176,7 @@ public class PlannedStructure { break; } IrisPosition p = i.getWorldPosition(j).add(new IrisPosition(j.getDirection().toVector().multiply(2))); - IrisEntity e = getData().getEntityLoader().load(j.getSpawnEntity()); + LoaderEntity e = getData().getEntityLoader().load(j.getSpawnEntity()); if (a != null) { Entity entity = e.spawn(a.getCompound().getEngineForHeight(p.getY()), new Location(world, p.getX() + 0.5, p.getY(), p.getZ() + 0.5), rng); @@ -206,7 +213,7 @@ public class PlannedStructure { } private boolean generateConnectorOutwards(PlannedPiece piece, IrisJigsawPieceConnector pieceConnector) { - for (IrisJigsawPiece i : getShuffledPiecesFor(pieceConnector)) { + for (LoaderJigsawPiece i : getShuffledPiecesFor(pieceConnector)) { if (generateRotatedPiece(piece, pieceConnector, i)) { return true; } @@ -215,7 +222,7 @@ public class PlannedStructure { return false; } - private boolean generateRotatedPiece(PlannedPiece piece, IrisJigsawPieceConnector pieceConnector, IrisJigsawPiece idea) { + private boolean generateRotatedPiece(PlannedPiece piece, IrisJigsawPieceConnector pieceConnector, LoaderJigsawPiece idea) { if (!piece.getPiece().getPlacementOptions().getRotation().isEnabled()) { if (generateRotatedPiece(piece, pieceConnector, idea, 0, 0, 0)) { return true; @@ -249,7 +256,7 @@ public class PlannedStructure { return false; } - private boolean generateRotatedPiece(PlannedPiece piece, IrisJigsawPieceConnector pieceConnector, IrisJigsawPiece idea, IrisObjectRotation rotation) { + private boolean generateRotatedPiece(PlannedPiece piece, IrisJigsawPieceConnector pieceConnector, LoaderJigsawPiece idea, IrisObjectRotation rotation) { if (!idea.getPlacementOptions().getRotation().isEnabled()) rotation = piece.getRotation(); //Inherit parent rotation @@ -264,7 +271,7 @@ public class PlannedStructure { return false; } - private boolean generateRotatedPiece(PlannedPiece piece, IrisJigsawPieceConnector pieceConnector, IrisJigsawPiece idea, int x, int y, int z) { + private boolean generateRotatedPiece(PlannedPiece piece, IrisJigsawPieceConnector pieceConnector, LoaderJigsawPiece idea, int x, int y, int z) { return generateRotatedPiece(piece, pieceConnector, idea, IrisObjectRotation.of(x, y, z)); } @@ -299,12 +306,12 @@ public class PlannedStructure { return true; } - private KList getShuffledPiecesFor(IrisJigsawPieceConnector c) { - KList p = new KList<>(); + private KList getShuffledPiecesFor(IrisJigsawPieceConnector c) { + KList p = new KList<>(); for (String i : c.getPools().shuffleCopy(rng)) { for (String j : getData().getJigsawPoolLoader().load(i).getPieces().shuffleCopy(rng)) { - IrisJigsawPiece pi = getData().getJigsawPieceLoader().load(j); + LoaderJigsawPiece pi = getData().getJigsawPieceLoader().load(j); if (pi == null || (terminating && !pi.isTerminal())) { continue; @@ -375,7 +382,7 @@ public class PlannedStructure { return false; } - public IrisObject rotated(IrisJigsawPiece piece, IrisObjectRotation rotation) { + public LoaderObject rotated(LoaderJigsawPiece piece, IrisObjectRotation rotation) { String key = piece.getObject() + "-" + rotation.hashCode(); return objectRotationCache.compute(key, (k, v) -> { diff --git a/src/main/java/com/volmit/iris/engine/modifier/IrisCaveModifier.java b/src/main/java/com/volmit/iris/engine/modifier/IrisCaveModifier.java index 2b5f5166d..19c7b36cc 100644 --- a/src/main/java/com/volmit/iris/engine/modifier/IrisCaveModifier.java +++ b/src/main/java/com/volmit/iris/engine/modifier/IrisCaveModifier.java @@ -23,8 +23,8 @@ import com.volmit.iris.engine.framework.Engine; import com.volmit.iris.engine.framework.EngineAssignedModifier; import com.volmit.iris.util.hunk.Hunk; import com.volmit.iris.util.noise.FastNoiseDouble; -import com.volmit.iris.engine.object.IrisBiome; -import com.volmit.iris.engine.object.IrisCaveLayer; +import com.volmit.iris.engine.object.biome.LoaderBiome; +import com.volmit.iris.engine.object.carve.IrisCaveLayer; import com.volmit.iris.engine.object.common.CaveResult; import com.volmit.iris.util.parallel.BurstExecutor; import com.volmit.iris.util.collection.KList; @@ -77,7 +77,7 @@ public class IrisCaveModifier extends EngineAssignedModifier { KList caves = genCaves(x + finalI, z + j, finalI, j, a); int he = (int) Math.round(getComplex().getHeightStream().get(x + finalI, z + j)); if (caves != null && caves.isNotEmpty()) { - IrisBiome cave = getComplex().getCaveBiomeStream().get(x + finalI, z + j); + LoaderBiome cave = getComplex().getCaveBiomeStream().get(x + finalI, z + j); if (cave == null) { continue; diff --git a/src/main/java/com/volmit/iris/engine/modifier/IrisDepositModifier.java b/src/main/java/com/volmit/iris/engine/modifier/IrisDepositModifier.java index b23429e93..1f73c619c 100644 --- a/src/main/java/com/volmit/iris/engine/modifier/IrisDepositModifier.java +++ b/src/main/java/com/volmit/iris/engine/modifier/IrisDepositModifier.java @@ -21,10 +21,10 @@ package com.volmit.iris.engine.modifier; import com.volmit.iris.engine.framework.Engine; import com.volmit.iris.engine.framework.EngineAssignedModifier; import com.volmit.iris.util.hunk.Hunk; -import com.volmit.iris.engine.object.IrisBiome; -import com.volmit.iris.engine.object.IrisDepositGenerator; -import com.volmit.iris.engine.object.IrisObject; -import com.volmit.iris.engine.object.IrisRegion; +import com.volmit.iris.engine.object.biome.LoaderBiome; +import com.volmit.iris.engine.object.deposits.IrisDepositGenerator; +import com.volmit.iris.engine.object.objects.LoaderObject; +import com.volmit.iris.engine.object.regional.LoaderRegion; import com.volmit.iris.util.data.HeightMap; import com.volmit.iris.util.math.RNG; import com.volmit.iris.util.scheduling.PrecisionStopwatch; @@ -48,8 +48,8 @@ public class IrisDepositModifier extends EngineAssignedModifier { public void generateDeposits(RNG rx, Hunk terrain, int x, int z) { RNG ro = rx.nextParallelRNG(x * x).nextParallelRNG(z * z); - IrisRegion region = getComplex().getRegionStream().get((x * 16) + 7, (z * 16) + 7); - IrisBiome biome = getComplex().getTrueBiomeStream().get((x * 16) + 7, (z * 16) + 7); + LoaderRegion region = getComplex().getRegionStream().get((x * 16) + 7, (z * 16) + 7); + LoaderBiome biome = getComplex().getTrueBiomeStream().get((x * 16) + 7, (z * 16) + 7); for (IrisDepositGenerator k : getDimension().getDeposits()) { generate(k, terrain, ro, x, z, false); @@ -74,7 +74,7 @@ public class IrisDepositModifier extends EngineAssignedModifier { public void generate(IrisDepositGenerator k, Hunk data, RNG rng, int cx, int cz, boolean safe, HeightMap he) { for (int l = 0; l < rng.i(k.getMinPerChunk(), k.getMaxPerChunk()); l++) { - IrisObject clump = k.getClump(rng, getData()); + LoaderObject clump = k.getClump(rng, getData()); int af = (int) Math.ceil(clump.getW() / 2D); int bf = (int) Math.floor(16D - (clump.getW() / 2D)); diff --git a/src/main/java/com/volmit/iris/engine/modifier/IrisPostModifier.java b/src/main/java/com/volmit/iris/engine/modifier/IrisPostModifier.java index fc1c86f7b..967f67203 100644 --- a/src/main/java/com/volmit/iris/engine/modifier/IrisPostModifier.java +++ b/src/main/java/com/volmit/iris/engine/modifier/IrisPostModifier.java @@ -23,7 +23,7 @@ import com.volmit.iris.engine.data.B; import com.volmit.iris.engine.framework.Engine; import com.volmit.iris.engine.framework.EngineAssignedModifier; import com.volmit.iris.util.hunk.Hunk; -import com.volmit.iris.engine.object.IrisBiome; +import com.volmit.iris.engine.object.biome.LoaderBiome; import com.volmit.iris.engine.object.common.CaveResult; import com.volmit.iris.util.math.RNG; import com.volmit.iris.util.scheduling.PrecisionStopwatch; @@ -136,7 +136,7 @@ public class IrisPostModifier extends EngineAssignedModifier { } // Wall Patcher - IrisBiome biome = getComplex().getTrueBiomeStream().get(x, z); + LoaderBiome biome = getComplex().getTrueBiomeStream().get(x, z); if (getDimension().isPostProcessingWalls()) { if (!biome.getWall().getPalette().isEmpty()) { @@ -231,7 +231,7 @@ public class IrisPostModifier extends EngineAssignedModifier { } if (getDimension().isPostProcessCaves()) { - IrisBiome cave = getComplex().getCaveBiomeStream().get(x, z); + LoaderBiome cave = getComplex().getCaveBiomeStream().get(x, z); if (cave != null) { for (CaveResult i : ((IrisCaveModifier) getFramework().getCaveModifier()).genCaves(x, z, 0, 0, null)) { diff --git a/src/main/java/com/volmit/iris/engine/modifier/IrisRavineModifier.java b/src/main/java/com/volmit/iris/engine/modifier/IrisRavineModifier.java index 135dc5c88..eae9b1ee1 100644 --- a/src/main/java/com/volmit/iris/engine/modifier/IrisRavineModifier.java +++ b/src/main/java/com/volmit/iris/engine/modifier/IrisRavineModifier.java @@ -23,7 +23,7 @@ import com.volmit.iris.engine.framework.Engine; import com.volmit.iris.engine.framework.EngineAssignedModifier; import com.volmit.iris.util.hunk.Hunk; import com.volmit.iris.util.noise.CNG; -import com.volmit.iris.engine.object.NoiseStyle; +import com.volmit.iris.engine.object.noise.NoiseStyle; import com.volmit.iris.util.math.BlockPosition; import com.volmit.iris.util.math.MathHelper; import com.volmit.iris.util.math.Position2; diff --git a/src/main/java/com/volmit/iris/engine/object/IrisMatter.java b/src/main/java/com/volmit/iris/engine/object/IrisMatter.java deleted file mode 100644 index 172432e2d..000000000 --- a/src/main/java/com/volmit/iris/engine/object/IrisMatter.java +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Iris is a World Generator for Minecraft Bukkit Servers - * Copyright (c) 2021 Arcane Arts (Volmit Software) - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -package com.volmit.iris.engine.object; - -// Because Red Matter is too weak -public class IrisMatter { - -} diff --git a/src/main/java/com/volmit/iris/engine/object/annotations/RegistryListResource.java b/src/main/java/com/volmit/iris/engine/object/annotations/RegistryListResource.java index 8d5a64d4a..5d72ac014 100644 --- a/src/main/java/com/volmit/iris/engine/object/annotations/RegistryListResource.java +++ b/src/main/java/com/volmit/iris/engine/object/annotations/RegistryListResource.java @@ -18,7 +18,7 @@ package com.volmit.iris.engine.object.annotations; -import com.volmit.iris.engine.object.IrisRegistrant; +import com.volmit.iris.core.project.loader.LoaderRegistrant; import java.lang.annotation.Retention; import java.lang.annotation.Target; @@ -29,5 +29,5 @@ import static java.lang.annotation.RetentionPolicy.RUNTIME; @Retention(RUNTIME) @Target({PARAMETER, TYPE, FIELD}) public @interface RegistryListResource { - Class value(); + Class value(); } diff --git a/src/main/java/com/volmit/iris/engine/object/IrisColor.java b/src/main/java/com/volmit/iris/engine/object/basic/IrisColor.java similarity index 97% rename from src/main/java/com/volmit/iris/engine/object/IrisColor.java rename to src/main/java/com/volmit/iris/engine/object/basic/IrisColor.java index 106dc6887..d998b1a50 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisColor.java +++ b/src/main/java/com/volmit/iris/engine/object/basic/IrisColor.java @@ -16,10 +16,10 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.basic; import com.volmit.iris.Iris; -import com.volmit.iris.engine.cache.AtomicCache; +import com.volmit.iris.engine.data.cache.AtomicCache; import com.volmit.iris.engine.object.annotations.Desc; import com.volmit.iris.engine.object.annotations.MaxNumber; import com.volmit.iris.engine.object.annotations.MinNumber; diff --git a/src/main/java/com/volmit/iris/engine/object/IrisDuration.java b/src/main/java/com/volmit/iris/engine/object/basic/IrisDuration.java similarity index 98% rename from src/main/java/com/volmit/iris/engine/object/IrisDuration.java rename to src/main/java/com/volmit/iris/engine/object/basic/IrisDuration.java index 35812294a..40f22708d 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisDuration.java +++ b/src/main/java/com/volmit/iris/engine/object/basic/IrisDuration.java @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.basic; import com.volmit.iris.engine.object.annotations.Desc; import com.volmit.iris.util.format.Form; diff --git a/src/main/java/com/volmit/iris/engine/object/IrisPosition.java b/src/main/java/com/volmit/iris/engine/object/basic/IrisPosition.java similarity index 98% rename from src/main/java/com/volmit/iris/engine/object/IrisPosition.java rename to src/main/java/com/volmit/iris/engine/object/basic/IrisPosition.java index ccff485d9..fea93553f 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisPosition.java +++ b/src/main/java/com/volmit/iris/engine/object/basic/IrisPosition.java @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.basic; import com.volmit.iris.engine.object.annotations.Desc; import lombok.AllArgsConstructor; diff --git a/src/main/java/com/volmit/iris/engine/object/IrisPosition2D.java b/src/main/java/com/volmit/iris/engine/object/basic/IrisPosition2D.java similarity index 96% rename from src/main/java/com/volmit/iris/engine/object/IrisPosition2D.java rename to src/main/java/com/volmit/iris/engine/object/basic/IrisPosition2D.java index 8fbb907e3..7b9b20149 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisPosition2D.java +++ b/src/main/java/com/volmit/iris/engine/object/basic/IrisPosition2D.java @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.basic; import com.volmit.iris.engine.object.annotations.Desc; import lombok.AllArgsConstructor; diff --git a/src/main/java/com/volmit/iris/engine/object/IrisRange.java b/src/main/java/com/volmit/iris/engine/object/basic/IrisRange.java similarity index 96% rename from src/main/java/com/volmit/iris/engine/object/IrisRange.java rename to src/main/java/com/volmit/iris/engine/object/basic/IrisRange.java index 1f6f13e9e..b065d2e62 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisRange.java +++ b/src/main/java/com/volmit/iris/engine/object/basic/IrisRange.java @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.basic; import com.volmit.iris.engine.object.annotations.Desc; import com.volmit.iris.util.math.RNG; diff --git a/src/main/java/com/volmit/iris/engine/object/IrisRate.java b/src/main/java/com/volmit/iris/engine/object/basic/IrisRate.java similarity index 97% rename from src/main/java/com/volmit/iris/engine/object/IrisRate.java rename to src/main/java/com/volmit/iris/engine/object/basic/IrisRate.java index e121a771b..bedd1b312 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisRate.java +++ b/src/main/java/com/volmit/iris/engine/object/basic/IrisRate.java @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.basic; import com.volmit.iris.engine.object.annotations.Desc; import com.volmit.iris.util.format.Form; diff --git a/src/main/java/com/volmit/iris/engine/object/IrisTimeBlock.java b/src/main/java/com/volmit/iris/engine/object/basic/IrisTimeBlock.java similarity index 97% rename from src/main/java/com/volmit/iris/engine/object/IrisTimeBlock.java rename to src/main/java/com/volmit/iris/engine/object/basic/IrisTimeBlock.java index 56d6c7f85..53b926031 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisTimeBlock.java +++ b/src/main/java/com/volmit/iris/engine/object/basic/IrisTimeBlock.java @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.basic; import com.volmit.iris.engine.object.annotations.Desc; import lombok.Data; diff --git a/src/main/java/com/volmit/iris/engine/object/IrisWeather.java b/src/main/java/com/volmit/iris/engine/object/basic/IrisWeather.java similarity index 96% rename from src/main/java/com/volmit/iris/engine/object/IrisWeather.java rename to src/main/java/com/volmit/iris/engine/object/basic/IrisWeather.java index 1e1628a5d..0c2bd8d92 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisWeather.java +++ b/src/main/java/com/volmit/iris/engine/object/basic/IrisWeather.java @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.basic; import com.volmit.iris.engine.object.annotations.Desc; import org.bukkit.World; diff --git a/src/main/java/com/volmit/iris/engine/object/InferredType.java b/src/main/java/com/volmit/iris/engine/object/biome/InferredType.java similarity index 96% rename from src/main/java/com/volmit/iris/engine/object/InferredType.java rename to src/main/java/com/volmit/iris/engine/object/biome/InferredType.java index e157151bf..db9a22215 100644 --- a/src/main/java/com/volmit/iris/engine/object/InferredType.java +++ b/src/main/java/com/volmit/iris/engine/object/biome/InferredType.java @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.biome; import com.volmit.iris.engine.object.annotations.Desc; diff --git a/src/main/java/com/volmit/iris/engine/object/IrisBiomeCustom.java b/src/main/java/com/volmit/iris/engine/object/biome/IrisBiomeCustom.java similarity index 99% rename from src/main/java/com/volmit/iris/engine/object/IrisBiomeCustom.java rename to src/main/java/com/volmit/iris/engine/object/biome/IrisBiomeCustom.java index 7d631efa4..7a1476116 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisBiomeCustom.java +++ b/src/main/java/com/volmit/iris/engine/object/biome/IrisBiomeCustom.java @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.biome; import com.volmit.iris.Iris; import com.volmit.iris.engine.object.annotations.*; diff --git a/src/main/java/com/volmit/iris/engine/object/IrisBiomeCustomCategory.java b/src/main/java/com/volmit/iris/engine/object/biome/IrisBiomeCustomCategory.java similarity index 96% rename from src/main/java/com/volmit/iris/engine/object/IrisBiomeCustomCategory.java rename to src/main/java/com/volmit/iris/engine/object/biome/IrisBiomeCustomCategory.java index 63a2582ec..c2a820b84 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisBiomeCustomCategory.java +++ b/src/main/java/com/volmit/iris/engine/object/biome/IrisBiomeCustomCategory.java @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.biome; import com.volmit.iris.engine.object.annotations.Desc; diff --git a/src/main/java/com/volmit/iris/engine/object/IrisBiomeCustomParticle.java b/src/main/java/com/volmit/iris/engine/object/biome/IrisBiomeCustomParticle.java similarity index 97% rename from src/main/java/com/volmit/iris/engine/object/IrisBiomeCustomParticle.java rename to src/main/java/com/volmit/iris/engine/object/biome/IrisBiomeCustomParticle.java index ead12db8b..0d727ef45 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisBiomeCustomParticle.java +++ b/src/main/java/com/volmit/iris/engine/object/biome/IrisBiomeCustomParticle.java @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.biome; import com.volmit.iris.engine.object.annotations.Desc; import com.volmit.iris.engine.object.annotations.MaxNumber; diff --git a/src/main/java/com/volmit/iris/engine/object/IrisBiomeCustomPrecipType.java b/src/main/java/com/volmit/iris/engine/object/biome/IrisBiomeCustomPrecipType.java similarity index 95% rename from src/main/java/com/volmit/iris/engine/object/IrisBiomeCustomPrecipType.java rename to src/main/java/com/volmit/iris/engine/object/biome/IrisBiomeCustomPrecipType.java index 43bc8e835..cb1659d4c 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisBiomeCustomPrecipType.java +++ b/src/main/java/com/volmit/iris/engine/object/biome/IrisBiomeCustomPrecipType.java @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.biome; import com.volmit.iris.engine.object.annotations.Desc; diff --git a/src/main/java/com/volmit/iris/engine/object/IrisBiomeCustomSpawn.java b/src/main/java/com/volmit/iris/engine/object/biome/IrisBiomeCustomSpawn.java similarity index 97% rename from src/main/java/com/volmit/iris/engine/object/IrisBiomeCustomSpawn.java rename to src/main/java/com/volmit/iris/engine/object/biome/IrisBiomeCustomSpawn.java index f98c73f05..f36df088f 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisBiomeCustomSpawn.java +++ b/src/main/java/com/volmit/iris/engine/object/biome/IrisBiomeCustomSpawn.java @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.biome; import com.volmit.iris.engine.object.annotations.Desc; import com.volmit.iris.engine.object.annotations.MaxNumber; diff --git a/src/main/java/com/volmit/iris/engine/object/IrisBiomeCustomSpawnType.java b/src/main/java/com/volmit/iris/engine/object/biome/IrisBiomeCustomSpawnType.java similarity index 96% rename from src/main/java/com/volmit/iris/engine/object/IrisBiomeCustomSpawnType.java rename to src/main/java/com/volmit/iris/engine/object/biome/IrisBiomeCustomSpawnType.java index 21df61cd4..d670884d3 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisBiomeCustomSpawnType.java +++ b/src/main/java/com/volmit/iris/engine/object/biome/IrisBiomeCustomSpawnType.java @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.biome; import com.volmit.iris.engine.object.annotations.Desc; diff --git a/src/main/java/com/volmit/iris/engine/object/IrisBiomeGeneratorLink.java b/src/main/java/com/volmit/iris/engine/object/biome/IrisBiomeGeneratorLink.java similarity index 78% rename from src/main/java/com/volmit/iris/engine/object/IrisBiomeGeneratorLink.java rename to src/main/java/com/volmit/iris/engine/object/biome/IrisBiomeGeneratorLink.java index 573945a67..2c951e9c7 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisBiomeGeneratorLink.java +++ b/src/main/java/com/volmit/iris/engine/object/biome/IrisBiomeGeneratorLink.java @@ -16,12 +16,13 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.biome; -import com.volmit.iris.engine.cache.AtomicCache; +import com.volmit.iris.engine.data.cache.AtomicCache; import com.volmit.iris.engine.data.DataProvider; -import com.volmit.iris.engine.interpolation.IrisInterpolation; +import com.volmit.iris.util.interpolation.IrisInterpolation; import com.volmit.iris.engine.object.annotations.*; +import com.volmit.iris.engine.object.noise.LoaderGenerator; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; @@ -34,7 +35,7 @@ import lombok.experimental.Accessors; @Data public class IrisBiomeGeneratorLink { - @RegistryListResource(IrisGenerator.class) + @RegistryListResource(LoaderGenerator.class) @Desc("The generator id") private String generator = "default"; @@ -52,15 +53,15 @@ public class IrisBiomeGeneratorLink { @Desc("The max block value (value + fluidHeight)") private int max = 0; - private final transient AtomicCache gen = new AtomicCache<>(); + private final transient AtomicCache gen = new AtomicCache<>(); - public IrisGenerator getCachedGenerator(DataProvider g) { + public LoaderGenerator getCachedGenerator(DataProvider g) { return gen.aquire(() -> { - IrisGenerator gen = g.getData().getGeneratorLoader().load(getGenerator()); + LoaderGenerator gen = g.getData().getGeneratorLoader().load(getGenerator()); if (gen == null) { - gen = new IrisGenerator(); + gen = new LoaderGenerator(); } return gen; diff --git a/src/main/java/com/volmit/iris/engine/object/IrisBiomeMutation.java b/src/main/java/com/volmit/iris/engine/object/biome/IrisBiomeMutation.java similarity index 90% rename from src/main/java/com/volmit/iris/engine/object/IrisBiomeMutation.java rename to src/main/java/com/volmit/iris/engine/object/biome/IrisBiomeMutation.java index 1f1762943..a25f0a636 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisBiomeMutation.java +++ b/src/main/java/com/volmit/iris/engine/object/biome/IrisBiomeMutation.java @@ -16,11 +16,13 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.biome; -import com.volmit.iris.engine.cache.AtomicCache; +import com.volmit.iris.engine.data.cache.AtomicCache; import com.volmit.iris.engine.data.DataProvider; import com.volmit.iris.engine.object.annotations.*; +import com.volmit.iris.engine.object.objects.LoaderObject; +import com.volmit.iris.engine.object.objects.IrisObjectPlacement; import com.volmit.iris.util.collection.KList; import com.volmit.iris.util.collection.KSet; import lombok.AllArgsConstructor; @@ -34,13 +36,13 @@ import lombok.experimental.Accessors; @Desc("A biome mutation if a condition is met") @Data public class IrisBiomeMutation { - @RegistryListResource(IrisBiome.class) + @RegistryListResource(LoaderBiome.class) @Required @ArrayType(min = 1, type = String.class) @Desc("One of The following biomes or regions must show up") private KList sideA = new KList<>(); - @RegistryListResource(IrisBiome.class) + @RegistryListResource(LoaderBiome.class) @Required @ArrayType(min = 1, type = String.class) @Desc("One of The following biomes or regions must show up") @@ -58,7 +60,7 @@ public class IrisBiomeMutation { @Desc("How many tries per chunk to check for this mutation") private int checks = 2; - @RegistryListResource(IrisObject.class) + @RegistryListResource(LoaderObject.class) @ArrayType(min = 1, type = IrisObjectPlacement.class) @Desc("Objects define what schematics (iob files) iris will place in this biome mutation") private KList objects = new KList<>(); diff --git a/src/main/java/com/volmit/iris/engine/object/IrisBiomePaletteLayer.java b/src/main/java/com/volmit/iris/engine/object/biome/IrisBiomePaletteLayer.java similarity index 85% rename from src/main/java/com/volmit/iris/engine/object/IrisBiomePaletteLayer.java rename to src/main/java/com/volmit/iris/engine/object/biome/IrisBiomePaletteLayer.java index e5559cedb..5fcbf2a0a 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisBiomePaletteLayer.java +++ b/src/main/java/com/volmit/iris/engine/object/biome/IrisBiomePaletteLayer.java @@ -16,10 +16,14 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.biome; import com.volmit.iris.core.project.loader.IrisData; -import com.volmit.iris.engine.cache.AtomicCache; +import com.volmit.iris.engine.data.cache.AtomicCache; +import com.volmit.iris.engine.object.block.LoaderBlockData; +import com.volmit.iris.engine.object.noise.IrisGeneratorStyle; +import com.volmit.iris.engine.object.noise.IrisSlopeClip; +import com.volmit.iris.engine.object.noise.NoiseStyle; import com.volmit.iris.util.noise.CNG; import com.volmit.iris.engine.object.annotations.*; import com.volmit.iris.util.collection.KList; @@ -62,9 +66,9 @@ public class IrisBiomePaletteLayer { private double zoom = 5; @Required - @ArrayType(min = 1, type = IrisBlockData.class) + @ArrayType(min = 1, type = LoaderBlockData.class) @Desc("The palette of blocks to be used in this layer") - private KList palette = new KList().qadd(new IrisBlockData("GRASS_BLOCK")); + private KList palette = new KList().qadd(new LoaderBlockData("GRASS_BLOCK")); private final transient AtomicCache> blockData = new AtomicCache<>(); private final transient AtomicCache layerGenerator = new AtomicCache<>(); @@ -94,8 +98,8 @@ public class IrisBiomePaletteLayer { }); } - public KList add(String b) { - palette.add(new IrisBlockData(b)); + public KList add(String b) { + palette.add(new LoaderBlockData(b)); return palette; } @@ -104,7 +108,7 @@ public class IrisBiomePaletteLayer { return blockData.aquire(() -> { KList blockData = new KList<>(); - for (IrisBlockData ix : palette) { + for (LoaderBlockData ix : palette) { BlockData bx = ix.getBlockData(data); if (bx != null) { for (int i = 0; i < ix.getWeight(); i++) { diff --git a/src/main/java/com/volmit/iris/engine/object/IrisBiome.java b/src/main/java/com/volmit/iris/engine/object/biome/LoaderBiome.java similarity index 93% rename from src/main/java/com/volmit/iris/engine/object/IrisBiome.java rename to src/main/java/com/volmit/iris/engine/object/biome/LoaderBiome.java index fd0a9b395..038b1bc12 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisBiome.java +++ b/src/main/java/com/volmit/iris/engine/object/biome/LoaderBiome.java @@ -16,17 +16,31 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.biome; import com.volmit.iris.Iris; import com.volmit.iris.core.gui.components.RenderType; import com.volmit.iris.core.project.loader.IrisData; +import com.volmit.iris.core.project.loader.LoaderRegistrant; import com.volmit.iris.engine.IrisComplex; -import com.volmit.iris.engine.cache.AtomicCache; +import com.volmit.iris.engine.data.cache.AtomicCache; import com.volmit.iris.engine.data.B; import com.volmit.iris.engine.data.DataProvider; import com.volmit.iris.engine.framework.Engine; import com.volmit.iris.engine.framework.IrisAccess; +import com.volmit.iris.engine.object.block.IrisBlockDrops; +import com.volmit.iris.engine.object.decoration.IrisDecorator; +import com.volmit.iris.engine.object.deposits.IrisDepositGenerator; +import com.volmit.iris.engine.object.feature.IrisFeaturePotential; +import com.volmit.iris.engine.object.jigsaw.IrisJigsawStructurePlacement; +import com.volmit.iris.engine.object.loot.IrisLootReference; +import com.volmit.iris.engine.object.meta.IrisEffect; +import com.volmit.iris.engine.object.noise.IrisGeneratorStyle; +import com.volmit.iris.engine.object.noise.IrisSlopeClip; +import com.volmit.iris.engine.object.noise.NoiseStyle; +import com.volmit.iris.engine.object.objects.LoaderObject; +import com.volmit.iris.engine.object.objects.IrisObjectPlacement; +import com.volmit.iris.engine.object.spawners.LoaderSpawner; import com.volmit.iris.util.noise.CNG; import com.volmit.iris.engine.object.annotations.*; import com.volmit.iris.engine.object.common.IRare; @@ -54,7 +68,7 @@ import java.awt.*; @Desc("Represents a biome in iris. Biomes are placed inside of regions and hold objects.\nA biome consists of layers (block palletes), decorations, objects & generators.") @Data @EqualsAndHashCode(callSuper = false) -public class IrisBiome extends IrisRegistrant implements IRare { +public class LoaderBiome extends LoaderRegistrant implements IRare { @MinNumber(2) @Required @Desc("This is the human readable name for this biome. This can and should be different than the file name. This is not used for loading biomes in other objects.") @@ -66,7 +80,7 @@ public class IrisBiome extends IrisRegistrant implements IRare { @Desc("Spawn Entities in this area over time. Iris will continually replenish these mobs just like vanilla does.") @ArrayType(min = 1, type = String.class) - @RegistryListResource(IrisSpawner.class) + @RegistryListResource(LoaderSpawner.class) private KList entitySpawners = new KList<>(); @Desc("Add random chances for terrain features") @@ -132,7 +146,7 @@ public class IrisBiome extends IrisRegistrant implements IRare { @Desc("If this biome has children biomes, and the gen layer chooses one of this biomes children, How will it be shaped?") private IrisGeneratorStyle childStyle = NoiseStyle.CELLULAR_IRIS_DOUBLE.style(); - @RegistryListResource(IrisBiome.class) + @RegistryListResource(LoaderBiome.class) @ArrayType(min = 1, type = String.class) @Desc("List any biome names (file names without.json) here as children. Portions of this biome can sometimes morph into their children. Iris supports cyclic relationships such as A > B > A > B. Iris will stop checking 9 biomes down the tree.") private KList children = new KList<>(); @@ -141,7 +155,7 @@ public class IrisBiome extends IrisRegistrant implements IRare { @Desc("Jigsaw structures") private KList jigsawStructures = new KList<>(); - @RegistryListResource(IrisBiome.class) + @RegistryListResource(LoaderBiome.class) @Desc("The carving biome. If specified the biome will be used when under a carving instead of this current biome.") private String carvingBiome = ""; @@ -193,8 +207,8 @@ public class IrisBiome extends IrisRegistrant implements IRare { private final transient AtomicCache biomeGenerator = new AtomicCache<>(); private final transient AtomicCache maxHeight = new AtomicCache<>(); private final transient AtomicCache maxWithObjectHeight = new AtomicCache<>(); - private final transient AtomicCache realCarveBiome = new AtomicCache<>(); - private final transient AtomicCache> realChildren = new AtomicCache<>(); + private final transient AtomicCache realCarveBiome = new AtomicCache<>(); + private final transient AtomicCache> realChildren = new AtomicCache<>(); private final transient AtomicCache> layerHeightGenerators = new AtomicCache<>(); private final transient AtomicCache> layerSeaHeightGenerators = new AtomicCache<>(); @@ -249,10 +263,10 @@ public class IrisBiome extends IrisRegistrant implements IRare { }).get(loadKey); } - public IrisBiome getRealCarvingBiome(IrisData data) { + public LoaderBiome getRealCarvingBiome(IrisData data) { return realCarveBiome.aquire(() -> { - IrisBiome biome = data.getBiomeLoader().load(getCarvingBiome()); + LoaderBiome biome = data.getBiomeLoader().load(getCarvingBiome()); if (biome == null) { biome = this; @@ -431,7 +445,7 @@ public class IrisBiome extends IrisRegistrant implements IRare { int gg = 0; for (IrisObjectPlacement i : getObjects()) { - for (IrisObject j : data.getObjectLoader().loadAll(i.getPlace())) { + for (LoaderObject j : data.getObjectLoader().loadAll(i.getPlace())) { gg = Math.max(gg, j.getH()); } } @@ -440,7 +454,7 @@ public class IrisBiome extends IrisRegistrant implements IRare { }); } - public IrisBiome infer(InferredType t, InferredType type) { + public LoaderBiome infer(InferredType t, InferredType type) { setInferredType(t.equals(InferredType.DEFER) ? type : t); return this; } @@ -568,10 +582,10 @@ public class IrisBiome extends IrisRegistrant implements IRare { return customDerivitives.get(getBiomeGenerator(rng).fit(0, customDerivitives.size() - 1, x, y, z)); } - public KList getRealChildren(DataProvider g) { + public KList getRealChildren(DataProvider g) { return realChildren.aquire(() -> { - KList realChildren = new KList<>(); + KList realChildren = new KList<>(); for (String i : getChildren()) { realChildren.add(g.getData().getBiomeLoader().load(i)); @@ -588,7 +602,7 @@ public class IrisBiome extends IrisRegistrant implements IRare { if (limit > 0) { for (String i : getChildren()) { - IrisBiome b = g.getData().getBiomeLoader().load(i); + LoaderBiome b = g.getData().getBiomeLoader().load(i); m.addAll(b.getAllChildren(g, limit)); } } diff --git a/src/main/java/com/volmit/iris/engine/object/IrisBlockDrops.java b/src/main/java/com/volmit/iris/engine/object/block/IrisBlockDrops.java similarity index 91% rename from src/main/java/com/volmit/iris/engine/object/IrisBlockDrops.java rename to src/main/java/com/volmit/iris/engine/object/block/IrisBlockDrops.java index f83bbdd3d..d868b7f49 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisBlockDrops.java +++ b/src/main/java/com/volmit/iris/engine/object/block/IrisBlockDrops.java @@ -16,13 +16,14 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.block; import com.volmit.iris.core.project.loader.IrisData; -import com.volmit.iris.engine.cache.AtomicCache; +import com.volmit.iris.engine.data.cache.AtomicCache; import com.volmit.iris.engine.object.annotations.ArrayType; import com.volmit.iris.engine.object.annotations.Desc; import com.volmit.iris.engine.object.annotations.Required; +import com.volmit.iris.engine.object.loot.IrisLoot; import com.volmit.iris.util.collection.KList; import com.volmit.iris.util.math.RNG; import lombok.AllArgsConstructor; @@ -39,9 +40,9 @@ import org.bukkit.inventory.ItemStack; @Data public class IrisBlockDrops { @Required - @ArrayType(min = 1, type = IrisBlockData.class) + @ArrayType(min = 1, type = LoaderBlockData.class) @Desc("The blocks that drop loot") - private KList blocks = new KList<>(); + private KList blocks = new KList<>(); @Desc("If exact blocks is set to true, minecraft:barrel[axis=x] will only drop for that axis. When exact is false (default) any barrel will drop the defined drops.") private boolean exactBlocks = false; @@ -63,7 +64,7 @@ public class IrisBlockDrops { { KList b = new KList<>(); - for (IrisBlockData i : getBlocks()) { + for (LoaderBlockData i : getBlocks()) { BlockData dd = i.getBlockData(rdata); if (dd != null) { diff --git a/src/main/java/com/volmit/iris/engine/object/IrisMaterialPalette.java b/src/main/java/com/volmit/iris/engine/object/block/IrisMaterialPalette.java similarity index 85% rename from src/main/java/com/volmit/iris/engine/object/IrisMaterialPalette.java rename to src/main/java/com/volmit/iris/engine/object/block/IrisMaterialPalette.java index c9188b1f4..9beb1bd50 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisMaterialPalette.java +++ b/src/main/java/com/volmit/iris/engine/object/block/IrisMaterialPalette.java @@ -16,10 +16,12 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.block; import com.volmit.iris.core.project.loader.IrisData; -import com.volmit.iris.engine.cache.AtomicCache; +import com.volmit.iris.engine.data.cache.AtomicCache; +import com.volmit.iris.engine.object.noise.IrisGeneratorStyle; +import com.volmit.iris.engine.object.noise.NoiseStyle; import com.volmit.iris.util.noise.CNG; import com.volmit.iris.engine.object.annotations.ArrayType; import com.volmit.iris.engine.object.annotations.Desc; @@ -47,9 +49,9 @@ public class IrisMaterialPalette { private double zoom = 5; @Required - @ArrayType(min = 1, type = IrisBlockData.class) + @ArrayType(min = 1, type = LoaderBlockData.class) @Desc("The palette of blocks to be used in this layer") - private KList palette = new KList().qadd(new IrisBlockData("STONE")); + private KList palette = new KList().qadd(new LoaderBlockData("STONE")); private final transient AtomicCache> blockData = new AtomicCache<>(); private final transient AtomicCache layerGenerator = new AtomicCache<>(); @@ -80,14 +82,14 @@ public class IrisMaterialPalette { return this; } - public KList add(String b) { - palette.add(new IrisBlockData(b)); + public KList add(String b) { + palette.add(new LoaderBlockData(b)); return palette; } public IrisMaterialPalette qadd(String b) { - palette.add(new IrisBlockData(b)); + palette.add(new LoaderBlockData(b)); return this; } @@ -96,7 +98,7 @@ public class IrisMaterialPalette { return blockData.aquire(() -> { KList blockData = new KList<>(); - for (IrisBlockData ix : palette) { + for (LoaderBlockData ix : palette) { BlockData bx = ix.getBlockData(rdata); if (bx != null) { for (int i = 0; i < ix.getWeight(); i++) { diff --git a/src/main/java/com/volmit/iris/engine/object/IrisBlockData.java b/src/main/java/com/volmit/iris/engine/object/block/LoaderBlockData.java similarity index 92% rename from src/main/java/com/volmit/iris/engine/object/IrisBlockData.java rename to src/main/java/com/volmit/iris/engine/object/block/LoaderBlockData.java index f7b50f82e..74d5f57c4 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisBlockData.java +++ b/src/main/java/com/volmit/iris/engine/object/block/LoaderBlockData.java @@ -16,12 +16,13 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.block; import com.volmit.iris.Iris; import com.volmit.iris.core.project.loader.IrisData; -import com.volmit.iris.engine.cache.AtomicCache; +import com.volmit.iris.engine.data.cache.AtomicCache; import com.volmit.iris.engine.data.B; +import com.volmit.iris.core.project.loader.LoaderRegistrant; import com.volmit.iris.engine.object.annotations.*; import com.volmit.iris.util.collection.KList; import com.volmit.iris.util.collection.KMap; @@ -41,7 +42,7 @@ import java.util.Map; @Desc("Represents Block Data") @Data @EqualsAndHashCode(callSuper = false) -public class IrisBlockData extends IrisRegistrant { +public class LoaderBlockData extends LoaderRegistrant { @RegistryListBlockType @Required @Desc("The block to use") @@ -59,7 +60,7 @@ public class IrisBlockData extends IrisRegistrant { private int weight = 1; @Desc("If the block cannot be created on this version, Iris will attempt to use this backup block data instead.") - private IrisBlockData backup = null; + private LoaderBlockData backup = null; @Desc("Optional properties for this block data such as 'waterlogged': true") private KMap data = new KMap<>(); @@ -67,7 +68,7 @@ public class IrisBlockData extends IrisRegistrant { private final transient AtomicCache blockdata = new AtomicCache<>(); private final transient AtomicCache realProperties = new AtomicCache<>(); - public IrisBlockData(String b) { + public LoaderBlockData(String b) { this.block = b; } @@ -94,7 +95,7 @@ public class IrisBlockData extends IrisRegistrant { { BlockData b = null; - IrisBlockData customData = data.getBlockLoader().load(getBlock(), false); + LoaderBlockData customData = data.getBlockLoader().load(getBlock(), false); if (customData != null) { b = customData.getBlockData(data); @@ -151,8 +152,8 @@ public class IrisBlockData extends IrisRegistrant { }); } - public static IrisBlockData from(String j) { - IrisBlockData b = new IrisBlockData(); + public static LoaderBlockData from(String j) { + LoaderBlockData b = new LoaderBlockData(); String m = j.toLowerCase().trim(); if (m.contains(":")) { diff --git a/src/main/java/com/volmit/iris/engine/object/IrisCarveLayer.java b/src/main/java/com/volmit/iris/engine/object/carve/IrisCarveLayer.java similarity index 95% rename from src/main/java/com/volmit/iris/engine/object/IrisCarveLayer.java rename to src/main/java/com/volmit/iris/engine/object/carve/IrisCarveLayer.java index 4773fb9e0..8cbbadd9e 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisCarveLayer.java +++ b/src/main/java/com/volmit/iris/engine/object/carve/IrisCarveLayer.java @@ -16,11 +16,12 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.carve; import com.volmit.iris.core.project.loader.IrisData; -import com.volmit.iris.engine.cache.AtomicCache; -import com.volmit.iris.engine.interpolation.IrisInterpolation; +import com.volmit.iris.engine.data.cache.AtomicCache; +import com.volmit.iris.util.interpolation.IrisInterpolation; +import com.volmit.iris.engine.object.noise.IrisGeneratorStyle; import com.volmit.iris.util.noise.CNG; import com.volmit.iris.engine.object.annotations.Desc; import com.volmit.iris.engine.object.annotations.MaxNumber; diff --git a/src/main/java/com/volmit/iris/engine/object/IrisCaveFluid.java b/src/main/java/com/volmit/iris/engine/object/carve/IrisCaveFluid.java similarity index 91% rename from src/main/java/com/volmit/iris/engine/object/IrisCaveFluid.java rename to src/main/java/com/volmit/iris/engine/object/carve/IrisCaveFluid.java index 0cc360799..fd52fd470 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisCaveFluid.java +++ b/src/main/java/com/volmit/iris/engine/object/carve/IrisCaveFluid.java @@ -16,11 +16,12 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.carve; import com.volmit.iris.core.project.loader.IrisData; -import com.volmit.iris.engine.cache.AtomicCache; +import com.volmit.iris.engine.data.cache.AtomicCache; import com.volmit.iris.engine.data.B; +import com.volmit.iris.engine.object.block.LoaderBlockData; import com.volmit.iris.engine.object.annotations.Desc; import com.volmit.iris.engine.object.annotations.MaxNumber; import com.volmit.iris.engine.object.annotations.MinNumber; @@ -48,7 +49,7 @@ public class IrisCaveFluid { @Required @Desc("The fluid type that should spawn here") - private IrisBlockData fluidType = new IrisBlockData("CAVE_AIR"); + private LoaderBlockData fluidType = new LoaderBlockData("CAVE_AIR"); private final transient AtomicCache fluidData = new AtomicCache<>(); diff --git a/src/main/java/com/volmit/iris/engine/object/IrisCaveLayer.java b/src/main/java/com/volmit/iris/engine/object/carve/IrisCaveLayer.java similarity index 94% rename from src/main/java/com/volmit/iris/engine/object/IrisCaveLayer.java rename to src/main/java/com/volmit/iris/engine/object/carve/IrisCaveLayer.java index 0da98747d..bf282daec 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisCaveLayer.java +++ b/src/main/java/com/volmit/iris/engine/object/carve/IrisCaveLayer.java @@ -16,11 +16,12 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.carve; import com.volmit.iris.engine.object.annotations.Desc; import com.volmit.iris.engine.object.annotations.MinNumber; import com.volmit.iris.engine.object.annotations.Required; +import com.volmit.iris.engine.object.noise.IrisShapedGeneratorStyle; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; diff --git a/src/main/java/com/volmit/iris/engine/object/IrisCavernZone.java b/src/main/java/com/volmit/iris/engine/object/carve/IrisCavernZone.java similarity index 93% rename from src/main/java/com/volmit/iris/engine/object/IrisCavernZone.java rename to src/main/java/com/volmit/iris/engine/object/carve/IrisCavernZone.java index 82b5adbc3..17eddfa15 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisCavernZone.java +++ b/src/main/java/com/volmit/iris/engine/object/carve/IrisCavernZone.java @@ -16,14 +16,15 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.carve; import com.volmit.iris.core.project.loader.IrisData; -import com.volmit.iris.engine.cache.AtomicCache; +import com.volmit.iris.engine.data.cache.AtomicCache; import com.volmit.iris.engine.object.annotations.Desc; import com.volmit.iris.engine.object.annotations.MaxNumber; import com.volmit.iris.engine.object.annotations.MinNumber; import com.volmit.iris.engine.object.common.IRare; +import com.volmit.iris.engine.object.noise.IrisGeneratorStyle; import com.volmit.iris.util.stream.ProceduralStream; import com.volmit.iris.util.math.RNG; import lombok.AllArgsConstructor; diff --git a/src/main/java/com/volmit/iris/engine/object/IrisCaverns.java b/src/main/java/com/volmit/iris/engine/object/carve/IrisCaverns.java similarity index 92% rename from src/main/java/com/volmit/iris/engine/object/IrisCaverns.java rename to src/main/java/com/volmit/iris/engine/object/carve/IrisCaverns.java index ec3f93093..202deeae2 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisCaverns.java +++ b/src/main/java/com/volmit/iris/engine/object/carve/IrisCaverns.java @@ -16,12 +16,15 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.carve; import com.volmit.iris.core.project.loader.IrisData; -import com.volmit.iris.engine.cache.AtomicCache; +import com.volmit.iris.engine.data.cache.AtomicCache; import com.volmit.iris.engine.object.annotations.ArrayType; import com.volmit.iris.engine.object.annotations.Desc; +import com.volmit.iris.engine.object.noise.IrisGeneratorStyle; +import com.volmit.iris.engine.object.noise.IrisInterpolator3D; +import com.volmit.iris.engine.object.noise.NoiseStyle; import com.volmit.iris.util.stream.ProceduralStream; import com.volmit.iris.util.stream.interpolation.Interpolated; import com.volmit.iris.util.collection.KList; diff --git a/src/main/java/com/volmit/iris/engine/object/IrisCompat.java b/src/main/java/com/volmit/iris/engine/object/compat/IrisCompat.java similarity index 99% rename from src/main/java/com/volmit/iris/engine/object/IrisCompat.java rename to src/main/java/com/volmit/iris/engine/object/compat/IrisCompat.java index 25a7aa743..1cc22058c 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisCompat.java +++ b/src/main/java/com/volmit/iris/engine/object/compat/IrisCompat.java @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.compat; import com.google.gson.Gson; import com.volmit.iris.Iris; diff --git a/src/main/java/com/volmit/iris/engine/object/IrisCompatabilityBlockFilter.java b/src/main/java/com/volmit/iris/engine/object/compat/IrisCompatabilityBlockFilter.java similarity index 96% rename from src/main/java/com/volmit/iris/engine/object/IrisCompatabilityBlockFilter.java rename to src/main/java/com/volmit/iris/engine/object/compat/IrisCompatabilityBlockFilter.java index 67d489915..29eca0b91 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisCompatabilityBlockFilter.java +++ b/src/main/java/com/volmit/iris/engine/object/compat/IrisCompatabilityBlockFilter.java @@ -16,10 +16,10 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.compat; import com.volmit.iris.Iris; -import com.volmit.iris.engine.cache.AtomicCache; +import com.volmit.iris.engine.data.cache.AtomicCache; import com.volmit.iris.engine.data.B; import com.volmit.iris.engine.object.annotations.Desc; import com.volmit.iris.engine.object.annotations.Required; diff --git a/src/main/java/com/volmit/iris/engine/object/IrisCompatabilityItemFilter.java b/src/main/java/com/volmit/iris/engine/object/compat/IrisCompatabilityItemFilter.java similarity index 95% rename from src/main/java/com/volmit/iris/engine/object/IrisCompatabilityItemFilter.java rename to src/main/java/com/volmit/iris/engine/object/compat/IrisCompatabilityItemFilter.java index 97a7c45d8..46ddea968 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisCompatabilityItemFilter.java +++ b/src/main/java/com/volmit/iris/engine/object/compat/IrisCompatabilityItemFilter.java @@ -16,10 +16,10 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.compat; import com.volmit.iris.Iris; -import com.volmit.iris.engine.cache.AtomicCache; +import com.volmit.iris.engine.data.cache.AtomicCache; import com.volmit.iris.engine.data.B; import com.volmit.iris.engine.object.annotations.Desc; import com.volmit.iris.engine.object.annotations.Required; diff --git a/src/main/java/com/volmit/iris/engine/object/DecorationPart.java b/src/main/java/com/volmit/iris/engine/object/decoration/IrisDecorationPart.java similarity index 93% rename from src/main/java/com/volmit/iris/engine/object/DecorationPart.java rename to src/main/java/com/volmit/iris/engine/object/decoration/IrisDecorationPart.java index f06b8cbb3..a9547688c 100644 --- a/src/main/java/com/volmit/iris/engine/object/DecorationPart.java +++ b/src/main/java/com/volmit/iris/engine/object/decoration/IrisDecorationPart.java @@ -16,12 +16,12 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.decoration; import com.volmit.iris.engine.object.annotations.Desc; @Desc("Represents a location where decorations should go") -public enum DecorationPart { +public enum IrisDecorationPart { @Desc("The default, decorate anywhere") NONE, diff --git a/src/main/java/com/volmit/iris/engine/object/IrisDecorator.java b/src/main/java/com/volmit/iris/engine/object/decoration/IrisDecorator.java similarity index 87% rename from src/main/java/com/volmit/iris/engine/object/IrisDecorator.java rename to src/main/java/com/volmit/iris/engine/object/decoration/IrisDecorator.java index dbc2ea826..0a3d0e511 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisDecorator.java +++ b/src/main/java/com/volmit/iris/engine/object/decoration/IrisDecorator.java @@ -16,11 +16,15 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.decoration; import com.volmit.iris.Iris; import com.volmit.iris.core.project.loader.IrisData; -import com.volmit.iris.engine.cache.AtomicCache; +import com.volmit.iris.engine.data.cache.AtomicCache; +import com.volmit.iris.engine.object.biome.LoaderBiome; +import com.volmit.iris.engine.object.block.LoaderBlockData; +import com.volmit.iris.engine.object.noise.IrisGeneratorStyle; +import com.volmit.iris.engine.object.noise.NoiseStyle; import com.volmit.iris.util.noise.CNG; import com.volmit.iris.engine.object.annotations.*; import com.volmit.iris.util.collection.KList; @@ -51,7 +55,7 @@ public class IrisDecorator { private IrisGeneratorStyle heightVariance = NoiseStyle.STATIC.style(); @Desc("Tells iris where this decoration is a part of. I.e. SHORE_LINE or SEA_SURFACE") - private DecorationPart partOf = DecorationPart.NONE; + private IrisDecorationPart partOf = IrisDecorationPart.NONE; @DependsOn({"stackMin", "stackMax"}) @MinNumber(1) @@ -78,13 +82,13 @@ public class IrisDecorator { private double chance = 0.1; @Required - @ArrayType(min = 1, type = IrisBlockData.class) + @ArrayType(min = 1, type = LoaderBlockData.class) @Desc("The palette of blocks to pick from when this decorator needs to place.") - private KList palette = new KList().qadd(new IrisBlockData("grass")); + private KList palette = new KList().qadd(new LoaderBlockData("grass")); - @ArrayType(min = 1, type = IrisBlockData.class) + @ArrayType(min = 1, type = LoaderBlockData.class) @Desc("The palette of blocks used at the very top of a 'stackMax' of higher than 1. For example, bamboo tops.") - private KList topPalette = new KList<>(); + private KList topPalette = new KList<>(); @DependsOn("topPalette") @MinNumber(0.01) @@ -122,12 +126,12 @@ public class IrisDecorator { .scale(1D / variance.getZoom())); } - public KList add(String b) { - palette.add(new IrisBlockData(b)); + public KList add(String b) { + palette.add(new LoaderBlockData(b)); return palette; } - public BlockData getBlockData(IrisBiome b, RNG rng, double x, double z, IrisData data) { + public BlockData getBlockData(LoaderBiome b, RNG rng, double x, double z, IrisData data) { if (getBlockData(data).isEmpty()) { Iris.warn("Empty Block Data for " + b.getName()); return null; @@ -147,7 +151,7 @@ public class IrisDecorator { return null; } - public BlockData getBlockData100(IrisBiome b, RNG rng, double x, double y, double z, IrisData data) { + public BlockData getBlockData100(LoaderBiome b, RNG rng, double x, double y, double z, IrisData data) { if (getBlockData(data).isEmpty()) { Iris.warn("Empty Block Data for " + b.getName()); return null; @@ -170,7 +174,7 @@ public class IrisDecorator { return getVarianceGenerator(rng, data).fit(getBlockData(data), z, y, x).clone(); //X and Z must be switched } - public BlockData getBlockDataForTop(IrisBiome b, RNG rng, double x, double y, double z, IrisData data) { + public BlockData getBlockDataForTop(LoaderBiome b, RNG rng, double x, double y, double z, IrisData data) { if (getBlockDataTops(data).isEmpty()) { return getBlockData100(b, rng, x, y, z, data); } @@ -193,7 +197,7 @@ public class IrisDecorator { return blockData.aquire(() -> { KList blockData = new KList<>(); - for (IrisBlockData i : palette) { + for (LoaderBlockData i : palette) { BlockData bx = i.getBlockData(data); if (bx != null) { for (int n = 0; n < i.getWeight(); n++) { @@ -210,7 +214,7 @@ public class IrisDecorator { return blockDataTops.aquire(() -> { KList blockDataTops = new KList<>(); - for (IrisBlockData i : topPalette) { + for (LoaderBlockData i : topPalette) { BlockData bx = i.getBlockData(data); if (bx != null) { for (int n = 0; n < i.getWeight(); n++) { diff --git a/src/main/java/com/volmit/iris/engine/object/IrisDepositGenerator.java b/src/main/java/com/volmit/iris/engine/object/deposits/IrisDepositGenerator.java similarity index 83% rename from src/main/java/com/volmit/iris/engine/object/IrisDepositGenerator.java rename to src/main/java/com/volmit/iris/engine/object/deposits/IrisDepositGenerator.java index de941eb9c..04e03966f 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisDepositGenerator.java +++ b/src/main/java/com/volmit/iris/engine/object/deposits/IrisDepositGenerator.java @@ -16,11 +16,13 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.deposits; import com.volmit.iris.core.project.loader.IrisData; -import com.volmit.iris.engine.cache.AtomicCache; +import com.volmit.iris.engine.data.cache.AtomicCache; import com.volmit.iris.engine.object.annotations.*; +import com.volmit.iris.engine.object.block.LoaderBlockData; +import com.volmit.iris.engine.object.objects.LoaderObject; import com.volmit.iris.util.collection.KList; import com.volmit.iris.util.math.RNG; import lombok.AllArgsConstructor; @@ -73,23 +75,23 @@ public class IrisDepositGenerator { private int minPerChunk = 1; @Required - @ArrayType(min = 1, type = IrisBlockData.class) + @ArrayType(min = 1, type = LoaderBlockData.class) @Desc("The palette of blocks to be used in this deposit generator") - private KList palette = new KList<>(); + private KList palette = new KList<>(); @MinNumber(1) @MaxNumber(64) @Desc("Ore varience is how many different objects clumps iris will create") private int varience = 3; - private final transient AtomicCache> objects = new AtomicCache<>(); + private final transient AtomicCache> objects = new AtomicCache<>(); private final transient AtomicCache> blockData = new AtomicCache<>(); - public IrisObject getClump(RNG rng, IrisData rdata) { - KList objects = this.objects.aquire(() -> + public LoaderObject getClump(RNG rng, IrisData rdata) { + KList objects = this.objects.aquire(() -> { RNG rngv = rng.nextParallelRNG(3957778); - KList objectsf = new KList<>(); + KList objectsf = new KList<>(); for (int i = 0; i < varience; i++) { objectsf.add(generateClumpObject(rngv.nextParallelRNG(2349 * i + 3598), rdata)); @@ -104,11 +106,11 @@ public class IrisDepositGenerator { return Math.min(11, (int) Math.round(Math.pow(maxSize, 1D / 3D))); } - private IrisObject generateClumpObject(RNG rngv, IrisData rdata) { + private LoaderObject generateClumpObject(RNG rngv, IrisData rdata) { int s = rngv.i(minSize, maxSize); int dim = Math.min(11, (int) Math.round(Math.pow(maxSize, 1D / 3D))); int w = dim / 2; - IrisObject o = new IrisObject(dim, dim, dim); + LoaderObject o = new LoaderObject(dim, dim, dim); if (s == 1) { o.getBlocks().put(o.getCenter(), nextBlock(rngv, rdata)); @@ -133,7 +135,7 @@ public class IrisDepositGenerator { { KList blockData = new KList<>(); - for (IrisBlockData ix : palette) { + for (LoaderBlockData ix : palette) { BlockData bx = ix.getBlockData(rdata); if (bx != null) { diff --git a/src/main/java/com/volmit/iris/engine/object/IrisDimensionIndex.java b/src/main/java/com/volmit/iris/engine/object/dimensional/IrisDimensionIndex.java similarity index 95% rename from src/main/java/com/volmit/iris/engine/object/IrisDimensionIndex.java rename to src/main/java/com/volmit/iris/engine/object/dimensional/IrisDimensionIndex.java index 686c4d7da..00dea8739 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisDimensionIndex.java +++ b/src/main/java/com/volmit/iris/engine/object/dimensional/IrisDimensionIndex.java @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.dimensional; import com.volmit.iris.engine.object.annotations.Desc; import com.volmit.iris.engine.object.annotations.MinNumber; @@ -47,7 +47,7 @@ public class IrisDimensionIndex { private boolean primary = false; @Required - @RegistryListResource(IrisDimension.class) + @RegistryListResource(LoaderDimension.class) @MinNumber(1) @Desc("Name of dimension") private String dimension = ""; diff --git a/src/main/java/com/volmit/iris/engine/object/IrisTerrainIsland.java b/src/main/java/com/volmit/iris/engine/object/dimensional/IrisTerrainIsland.java similarity index 90% rename from src/main/java/com/volmit/iris/engine/object/IrisTerrainIsland.java rename to src/main/java/com/volmit/iris/engine/object/dimensional/IrisTerrainIsland.java index 7dddef462..7b0df490f 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisTerrainIsland.java +++ b/src/main/java/com/volmit/iris/engine/object/dimensional/IrisTerrainIsland.java @@ -16,11 +16,13 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.dimensional; import com.volmit.iris.engine.object.annotations.Desc; import com.volmit.iris.engine.object.annotations.MaxNumber; import com.volmit.iris.engine.object.annotations.MinNumber; +import com.volmit.iris.engine.object.noise.IrisInterpolator; +import com.volmit.iris.engine.object.noise.IrisStyledRange; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; diff --git a/src/main/java/com/volmit/iris/engine/object/IrisTerrainMode.java b/src/main/java/com/volmit/iris/engine/object/dimensional/IrisTerrainMode.java similarity index 95% rename from src/main/java/com/volmit/iris/engine/object/IrisTerrainMode.java rename to src/main/java/com/volmit/iris/engine/object/dimensional/IrisTerrainMode.java index 7eadf9f18..8c9a162b0 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisTerrainMode.java +++ b/src/main/java/com/volmit/iris/engine/object/dimensional/IrisTerrainMode.java @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.dimensional; import com.volmit.iris.engine.object.annotations.Desc; diff --git a/src/main/java/com/volmit/iris/engine/object/IrisDimension.java b/src/main/java/com/volmit/iris/engine/object/dimensional/LoaderDimension.java similarity index 88% rename from src/main/java/com/volmit/iris/engine/object/IrisDimension.java rename to src/main/java/com/volmit/iris/engine/object/dimensional/LoaderDimension.java index 8ff5caf96..5ecf7770d 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisDimension.java +++ b/src/main/java/com/volmit/iris/engine/object/dimensional/LoaderDimension.java @@ -16,12 +16,36 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.dimensional; import com.volmit.iris.Iris; import com.volmit.iris.core.project.loader.IrisData; -import com.volmit.iris.engine.cache.AtomicCache; +import com.volmit.iris.core.project.loader.LoaderRegistrant; +import com.volmit.iris.engine.data.cache.AtomicCache; import com.volmit.iris.engine.data.DataProvider; +import com.volmit.iris.engine.object.biome.InferredType; +import com.volmit.iris.engine.object.biome.LoaderBiome; +import com.volmit.iris.engine.object.biome.IrisBiomeCustom; +import com.volmit.iris.engine.object.biome.IrisBiomeMutation; +import com.volmit.iris.engine.object.block.IrisBlockDrops; +import com.volmit.iris.engine.object.block.IrisMaterialPalette; +import com.volmit.iris.engine.object.carve.IrisCarveLayer; +import com.volmit.iris.engine.object.carve.IrisCaveFluid; +import com.volmit.iris.engine.object.carve.IrisCaveLayer; +import com.volmit.iris.engine.object.carve.IrisCaverns; +import com.volmit.iris.engine.object.deposits.IrisDepositGenerator; +import com.volmit.iris.engine.object.feature.IrisFeaturePositional; +import com.volmit.iris.engine.object.feature.IrisFeaturePotential; +import com.volmit.iris.engine.object.jigsaw.LoaderJigsawStructure; +import com.volmit.iris.engine.object.jigsaw.IrisJigsawStructurePlacement; +import com.volmit.iris.engine.object.loot.IrisLootReference; +import com.volmit.iris.engine.object.noise.IrisGeneratorStyle; +import com.volmit.iris.engine.object.noise.IrisShapedGeneratorStyle; +import com.volmit.iris.engine.object.noise.NoiseStyle; +import com.volmit.iris.engine.object.objects.IrisObjectPlacement; +import com.volmit.iris.engine.object.regional.LoaderRegion; +import com.volmit.iris.engine.object.spawners.LoaderSpawner; +import com.volmit.iris.engine.object.trees.IrisTreeSettings; import com.volmit.iris.util.noise.CNG; import com.volmit.iris.engine.object.annotations.*; import com.volmit.iris.util.collection.KList; @@ -47,7 +71,7 @@ import java.io.IOException; @Desc("Represents a dimension") @Data @EqualsAndHashCode(callSuper = false) -public class IrisDimension extends IrisRegistrant { +public class LoaderDimension extends LoaderRegistrant { public static final BlockData STONE = Material.STONE.createBlockData(); public static final BlockData WATER = Material.WATER.createBlockData(); @@ -61,9 +85,9 @@ public class IrisDimension extends IrisRegistrant { private KList dimensionalComposite = new KList<>(); @Desc("Create an inverted dimension in the sky (like the nether)") - private IrisDimension sky = null; + private LoaderDimension sky = null; - @RegistryListResource(IrisJigsawStructure.class) + @RegistryListResource(LoaderJigsawStructure.class) @Desc("If defined, Iris will place the given jigsaw structure where minecraft should place the overworld stronghold.") private String stronghold; @@ -90,7 +114,7 @@ public class IrisDimension extends IrisRegistrant { @Desc("Spawn Entities in this dimension over time. Iris will continually replenish these mobs just like vanilla does.") @ArrayType(min = 1, type = String.class) - @RegistryListResource(IrisSpawner.class) + @RegistryListResource(LoaderSpawner.class) private KList entitySpawners = new KList<>(); @Desc("Add specific features in exact positions") @@ -194,7 +218,7 @@ public class IrisDimension extends IrisRegistrant { @Desc("The world environment") private Environment environment = Environment.NORMAL; - @RegistryListResource(IrisRegion.class) + @RegistryListResource(LoaderRegion.class) @Required @ArrayType(min = 1, type = String.class) @Desc("Define all of the regions to include in this dimension. Dimensions -> Regions -> Biomes -> Objects etc") @@ -210,11 +234,11 @@ public class IrisDimension extends IrisRegistrant { @Desc("The fluid height for this dimension") private int fluidHeight = 63; - @RegistryListResource(IrisBiome.class) + @RegistryListResource(LoaderBiome.class) @Desc("Keep this either undefined or empty. Setting any biome name into this will force iris to only generate the specified biome. Great for testing.") private String focus = ""; - @RegistryListResource(IrisBiome.class) + @RegistryListResource(LoaderBiome.class) @Desc("Keep this either undefined or empty. Setting any region name into this will force iris to only generate the specified region. Great for testing.") private String focusRegion = ""; @@ -385,8 +409,8 @@ public class IrisDimension extends IrisRegistrant { return cosr.aquire(() -> Math.cos(getDimensionAngle())); } - public KList getAllRegions(DataProvider g) { - KList r = new KList<>(); + public KList getAllRegions(DataProvider g) { + KList r = new KList<>(); for (String i : getRegions()) { r.add(g.getData().getRegionLoader().load(i)); @@ -395,8 +419,8 @@ public class IrisDimension extends IrisRegistrant { return r; } - public KList getAllAnyRegions() { - KList r = new KList<>(); + public KList getAllAnyRegions() { + KList r = new KList<>(); for (String i : getRegions()) { r.add(IrisData.loadAnyRegion(i)); @@ -405,14 +429,14 @@ public class IrisDimension extends IrisRegistrant { return r; } - public KList getAllBiomes(DataProvider g) { + public KList getAllBiomes(DataProvider g) { return g.getData().getBiomeLoader().loadAll(g.getData().getBiomeLoader().getPossibleKeys()); } - public KList getAllAnyBiomes() { - KList r = new KList<>(); + public KList getAllAnyBiomes() { + KList r = new KList<>(); - for (IrisRegion i : getAllAnyRegions()) { + for (LoaderRegion i : getAllAnyRegions()) { if (i == null) { continue; } @@ -450,7 +474,7 @@ public class IrisDimension extends IrisRegistrant { IO.delete(new File(datapacks, "iris/data/" + getLoadKey())); - for (IrisBiome i : getAllBiomes(data)) { + for (LoaderBiome i : getAllBiomes(data)) { if (i.isCustom()) { write = true; @@ -500,7 +524,7 @@ public class IrisDimension extends IrisRegistrant { return true; } - for (IrisRegion i : getAllRegions(data)) { + for (LoaderRegion i : getAllRegions(data)) { if (i.getFeatures().isNotEmpty()) { return true; } @@ -511,7 +535,7 @@ public class IrisDimension extends IrisRegistrant { } } - for (IrisBiome j : i.getAllBiomes(data)) { + for (LoaderBiome j : i.getAllBiomes(data)) { if (j.getFeatures().isNotEmpty()) { return true; } diff --git a/src/main/java/com/volmit/iris/engine/object/engine/IrisEngineSpawnerCooldown.java b/src/main/java/com/volmit/iris/engine/object/engine/IrisEngineSpawnerCooldown.java index 82610978a..5fa28dbef 100644 --- a/src/main/java/com/volmit/iris/engine/object/engine/IrisEngineSpawnerCooldown.java +++ b/src/main/java/com/volmit/iris/engine/object/engine/IrisEngineSpawnerCooldown.java @@ -19,7 +19,7 @@ package com.volmit.iris.engine.object.engine; import com.volmit.iris.engine.framework.Engine; -import com.volmit.iris.engine.object.IrisRate; +import com.volmit.iris.engine.object.basic.IrisRate; import com.volmit.iris.util.math.M; import lombok.Data; diff --git a/src/main/java/com/volmit/iris/engine/object/IrisEntitySpawn.java b/src/main/java/com/volmit/iris/engine/object/entity/IrisEntitySpawn.java similarity index 90% rename from src/main/java/com/volmit/iris/engine/object/IrisEntitySpawn.java rename to src/main/java/com/volmit/iris/engine/object/entity/IrisEntitySpawn.java index cf2e3b38d..8733b9cee 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisEntitySpawn.java +++ b/src/main/java/com/volmit/iris/engine/object/entity/IrisEntitySpawn.java @@ -16,14 +16,16 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.entity; import com.volmit.iris.Iris; import com.volmit.iris.engine.IrisComplex; -import com.volmit.iris.engine.cache.AtomicCache; +import com.volmit.iris.engine.data.cache.AtomicCache; import com.volmit.iris.engine.framework.Engine; import com.volmit.iris.engine.framework.EngineFramework; import com.volmit.iris.engine.modifier.IrisCaveModifier; +import com.volmit.iris.engine.object.biome.LoaderBiome; +import com.volmit.iris.engine.object.spawners.LoaderSpawner; import com.volmit.iris.engine.object.annotations.Desc; import com.volmit.iris.engine.object.annotations.MinNumber; import com.volmit.iris.engine.object.annotations.RegistryListResource; @@ -38,9 +40,7 @@ import lombok.Data; import lombok.NoArgsConstructor; import lombok.experimental.Accessors; import org.bukkit.Chunk; -import org.bukkit.HeightMap; import org.bukkit.Location; -import org.bukkit.block.Block; import org.bukkit.entity.Entity; @Accessors(chain = true) @@ -49,7 +49,7 @@ import org.bukkit.entity.Entity; @Desc("Represents an entity spawn during initial chunk generation") @Data public class IrisEntitySpawn implements IRare { - @RegistryListResource(IrisEntity.class) + @RegistryListResource(LoaderEntity.class) @Required @Desc("The entity") private String entity = ""; @@ -69,9 +69,9 @@ public class IrisEntitySpawn implements IRare { @Desc("The max of this entity to spawn") private int maxSpawns = 1; - private transient IrisSpawner referenceSpawner; + private transient LoaderSpawner referenceSpawner; private final transient AtomicCache rng = new AtomicCache<>(); - private final transient AtomicCache ent = new AtomicCache<>(); + private final transient AtomicCache ent = new AtomicCache<>(); public int spawn(Engine gen, Chunk c, RNG rng) { int spawns = minSpawns == maxSpawns ? minSpawns : rng.i(Math.min(minSpawns, maxSpawns), Math.max(minSpawns, maxSpawns)); @@ -88,7 +88,7 @@ public class IrisEntitySpawn implements IRare { case CAVE -> { IrisComplex comp = gen.getFramework().getComplex(); EngineFramework frame = gen.getFramework(); - IrisBiome cave = comp.getCaveBiomeStream().get(x, z); + LoaderBiome cave = comp.getCaveBiomeStream().get(x, z); KList r = new KList<>(); if (cave != null) { for (CaveResult i : ((IrisCaveModifier) frame.getCaveModifier()).genCaves(x, z)) { @@ -116,7 +116,7 @@ public class IrisEntitySpawn implements IRare { return s; } - public IrisEntity getRealEntity(Engine g) { + public LoaderEntity getRealEntity(Engine g) { return ent.aquire(() -> g.getData().getEntityLoader().load(getEntity())); } @@ -134,7 +134,7 @@ public class IrisEntitySpawn implements IRare { private Entity spawn100(Engine g, Location at) { try { - IrisEntity irisEntity = getRealEntity(g); + LoaderEntity irisEntity = getRealEntity(g); if (!irisEntity.getSurface().matches(at.clone().subtract(0, 1, 0).getBlock().getState())) return null; //Make sure it can spawn on the block diff --git a/src/main/java/com/volmit/iris/engine/object/IrisEntitySpawnOverride.java b/src/main/java/com/volmit/iris/engine/object/entity/IrisEntitySpawnOverride.java similarity index 91% rename from src/main/java/com/volmit/iris/engine/object/IrisEntitySpawnOverride.java rename to src/main/java/com/volmit/iris/engine/object/entity/IrisEntitySpawnOverride.java index 773f2ee9b..7c85f8dda 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisEntitySpawnOverride.java +++ b/src/main/java/com/volmit/iris/engine/object/entity/IrisEntitySpawnOverride.java @@ -16,9 +16,9 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.entity; -import com.volmit.iris.engine.cache.AtomicCache; +import com.volmit.iris.engine.data.cache.AtomicCache; import com.volmit.iris.engine.framework.Engine; import com.volmit.iris.engine.object.annotations.Desc; import com.volmit.iris.engine.object.annotations.MinNumber; @@ -40,7 +40,7 @@ import org.bukkit.event.entity.EntitySpawnEvent; @Desc("Represents an entity spawn") @Data public class IrisEntitySpawnOverride { - @RegistryListResource(IrisEntity.class) + @RegistryListResource(LoaderEntity.class) @Required @Desc("The entity") private String entity = ""; @@ -57,7 +57,7 @@ public class IrisEntitySpawnOverride { private int rarity = 1; private final transient AtomicCache rng = new AtomicCache<>(); - private final transient AtomicCache ent = new AtomicCache<>(); + private final transient AtomicCache ent = new AtomicCache<>(); public Entity on(Engine g, Location at, EntityType t, EntitySpawnEvent ee) { @@ -89,7 +89,7 @@ public class IrisEntitySpawnOverride { return null; } - public IrisEntity getRealEntity(Engine g) { + public LoaderEntity getRealEntity(Engine g) { return ent.aquire(() -> g.getData().getEntityLoader().load(getEntity())); } } diff --git a/src/main/java/com/volmit/iris/engine/object/IrisEntity.java b/src/main/java/com/volmit/iris/engine/object/entity/LoaderEntity.java similarity index 92% rename from src/main/java/com/volmit/iris/engine/object/IrisEntity.java rename to src/main/java/com/volmit/iris/engine/object/entity/LoaderEntity.java index c48d22db5..77c6cdf6a 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisEntity.java +++ b/src/main/java/com/volmit/iris/engine/object/entity/LoaderEntity.java @@ -16,13 +16,21 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.entity; import com.volmit.iris.Iris; +import com.volmit.iris.core.project.loader.LoaderRegistrant; import com.volmit.iris.engine.framework.Engine; import com.volmit.iris.engine.object.annotations.ArrayType; import com.volmit.iris.engine.object.annotations.Desc; import com.volmit.iris.engine.object.annotations.Required; +import com.volmit.iris.engine.object.loot.IrisLoot; +import com.volmit.iris.engine.object.loot.IrisLootReference; +import com.volmit.iris.engine.object.loot.LoaderLootTable; +import com.volmit.iris.engine.object.meta.InventorySlotType; +import com.volmit.iris.engine.object.meta.IrisAttributeModifier; +import com.volmit.iris.engine.object.meta.IrisEffect; +import com.volmit.iris.engine.object.spawners.IrisSurface; import com.volmit.iris.util.collection.KList; import com.volmit.iris.util.format.C; import com.volmit.iris.util.math.RNG; @@ -57,7 +65,7 @@ import java.util.concurrent.atomic.AtomicReference; @Desc("Represents an iris entity.") @Data @EqualsAndHashCode(callSuper = false) -public class IrisEntity extends IrisRegistrant { +public class LoaderEntity extends LoaderRegistrant { @Required @Desc("The type of entity to spawn. To spawn a mythic mob, set this type to unknown and define mythic type.") private EntityType type = EntityType.UNKNOWN; @@ -111,8 +119,8 @@ public class IrisEntity extends IrisRegistrant { private IrisLoot offHand = null; @Desc("Make other entities ride this entity") - @ArrayType(min = 1, type = IrisEntity.class) - private KList passengers = new KList<>(); + @ArrayType(min = 1, type = LoaderEntity.class) + private KList passengers = new KList<>(); @Desc("Attribute modifiers for this entity") @ArrayType(min = 1, type = IrisAttributeModifier.class) @@ -122,7 +130,7 @@ public class IrisEntity extends IrisRegistrant { private IrisLootReference loot = new IrisLootReference(); @Desc("If specified, this entity will be leashed by this entity. I.e. THIS ENTITY Leashed by SPECIFIED. This has no effect on EnderDragons, Withers, Players, or Bats.Non-living entities excluding leashes will not persist as leashholders.") - private IrisEntity leashHolder = null; + private LoaderEntity leashHolder = null; @Desc("If specified, this entity will spawn with an effect") private IrisEffect spawnEffect = null; @@ -163,7 +171,7 @@ public class IrisEntity extends IrisRegistrant { e.setPersistent(isKeepEntity()); int gg = 0; - for (IrisEntity i : passengers) { + for (LoaderEntity i : passengers) { Entity passenger = i.spawn(gen, at, rng.nextParallelRNG(234858 + gg++)); if (!Bukkit.isPrimaryThread()) { J.s(() -> e.addPassenger(passenger)); @@ -185,7 +193,7 @@ public class IrisEntity extends IrisRegistrant { l.setLootTable(new LootTable() { @Override public NamespacedKey getKey() { - return new NamespacedKey(Iris.instance, "loot-" + IrisEntity.this.hashCode()); + return new NamespacedKey(Iris.instance, "loot-" + LoaderEntity.this.hashCode()); } @Override @@ -193,7 +201,7 @@ public class IrisEntity extends IrisRegistrant { KList items = new KList<>(); for (String fi : getLoot().getTables()) { - IrisLootTable i = gen.getData().getLootLoader().load(fi); + LoaderLootTable i = gen.getData().getLootLoader().load(fi); items.addAll(i.getLoot(gen.isStudio(), false, rng.nextParallelRNG(345911), InventorySlotType.STORAGE, at.getBlockX(), at.getBlockY(), at.getBlockZ(), 8, 4)); } diff --git a/src/main/java/com/volmit/iris/engine/object/IrisFeature.java b/src/main/java/com/volmit/iris/engine/object/feature/IrisFeature.java similarity index 87% rename from src/main/java/com/volmit/iris/engine/object/IrisFeature.java rename to src/main/java/com/volmit/iris/engine/object/feature/IrisFeature.java index adc0e8ead..60fc1cb91 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisFeature.java +++ b/src/main/java/com/volmit/iris/engine/object/feature/IrisFeature.java @@ -16,13 +16,16 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.feature; import com.google.gson.Gson; -import com.volmit.iris.engine.cache.AtomicCache; -import com.volmit.iris.engine.interpolation.InterpolationMethod; -import com.volmit.iris.engine.interpolation.IrisInterpolation; +import com.volmit.iris.engine.data.cache.AtomicCache; +import com.volmit.iris.util.interpolation.InterpolationMethod; +import com.volmit.iris.util.interpolation.IrisInterpolation; +import com.volmit.iris.engine.object.biome.LoaderBiome; +import com.volmit.iris.engine.object.spawners.LoaderSpawner; import com.volmit.iris.engine.object.annotations.*; +import com.volmit.iris.engine.object.noise.IrisGeneratorStyle; import com.volmit.iris.util.collection.KList; import lombok.AllArgsConstructor; import lombok.Data; @@ -47,7 +50,7 @@ public class IrisFeature { @Desc("The chance an object that should be place actually will place. Set to below 1 to affect objects in this zone") private double objectChance = 1; - @RegistryListResource(IrisBiome.class) + @RegistryListResource(LoaderBiome.class) @Desc("Apply a custom biome here") private String customBiome = null; @@ -82,7 +85,7 @@ public class IrisFeature { @Desc("Fracture the radius ring with additional noise") private IrisGeneratorStyle fractureRadius = null; - @RegistryListResource(IrisSpawner.class) + @RegistryListResource(LoaderSpawner.class) @ArrayType(min = 1, type = String.class) @Desc("Within this noise feature, use the following spawners") private KList entitySpawners = new KList<>(); diff --git a/src/main/java/com/volmit/iris/engine/object/IrisFeaturePositional.java b/src/main/java/com/volmit/iris/engine/object/feature/IrisFeaturePositional.java similarity index 93% rename from src/main/java/com/volmit/iris/engine/object/IrisFeaturePositional.java rename to src/main/java/com/volmit/iris/engine/object/feature/IrisFeaturePositional.java index e394c4e36..9b074e9b8 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisFeaturePositional.java +++ b/src/main/java/com/volmit/iris/engine/object/feature/IrisFeaturePositional.java @@ -16,12 +16,13 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.feature; import com.google.gson.Gson; import com.volmit.iris.core.project.loader.IrisData; -import com.volmit.iris.engine.cache.AtomicCache; -import com.volmit.iris.engine.interpolation.IrisInterpolation; +import com.volmit.iris.engine.data.cache.AtomicCache; +import com.volmit.iris.util.interpolation.IrisInterpolation; +import com.volmit.iris.engine.object.biome.LoaderBiome; import com.volmit.iris.engine.object.annotations.Desc; import com.volmit.iris.engine.object.annotations.Required; import com.volmit.iris.util.documentation.BlockCoordinates; @@ -124,10 +125,10 @@ public class IrisFeaturePositional { return M.lerp(1, getFeature().getObjectChance(), getStrength(x, z, rng, data)); } - public IrisBiome filter(double x, double z, IrisBiome biome, RNG rng) { + public LoaderBiome filter(double x, double z, LoaderBiome biome, RNG rng) { if (getFeature().getCustomBiome() != null) { if (getStrength(x, z, rng, biome.getLoader()) >= getFeature().getBiomeStrengthThreshold()) { - IrisBiome b = biome.getLoader().getBiomeLoader().load(getFeature().getCustomBiome()); + LoaderBiome b = biome.getLoader().getBiomeLoader().load(getFeature().getCustomBiome()); b.setInferredType(biome.getInferredType()); return b; } diff --git a/src/main/java/com/volmit/iris/engine/object/IrisFeaturePotential.java b/src/main/java/com/volmit/iris/engine/object/feature/IrisFeaturePotential.java similarity index 96% rename from src/main/java/com/volmit/iris/engine/object/IrisFeaturePotential.java rename to src/main/java/com/volmit/iris/engine/object/feature/IrisFeaturePotential.java index 9893d16a4..1f381bfa2 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisFeaturePotential.java +++ b/src/main/java/com/volmit/iris/engine/object/feature/IrisFeaturePotential.java @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.feature; import com.volmit.iris.engine.object.annotations.Desc; import com.volmit.iris.engine.object.annotations.MinNumber; diff --git a/src/main/java/com/volmit/iris/engine/object/IrisJigsawPieceConnector.java b/src/main/java/com/volmit/iris/engine/object/jigsaw/IrisJigsawPieceConnector.java similarity index 92% rename from src/main/java/com/volmit/iris/engine/object/IrisJigsawPieceConnector.java rename to src/main/java/com/volmit/iris/engine/object/jigsaw/IrisJigsawPieceConnector.java index 667b061a3..2b8e48696 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisJigsawPieceConnector.java +++ b/src/main/java/com/volmit/iris/engine/object/jigsaw/IrisJigsawPieceConnector.java @@ -16,8 +16,11 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.jigsaw; +import com.volmit.iris.engine.object.objects.IrisDirection; +import com.volmit.iris.engine.object.entity.LoaderEntity; +import com.volmit.iris.engine.object.basic.IrisPosition; import com.volmit.iris.engine.object.annotations.*; import com.volmit.iris.util.collection.KList; import lombok.AllArgsConstructor; @@ -49,13 +52,13 @@ public class IrisJigsawPieceConnector { @Desc("If set to true, this connector is allowed to place pieces inside of it's own piece. For example if you are adding a light post, or house on top of a path piece, you would set this to true to allow the piece to collide with the path bounding box.") private boolean innerConnector = false; - @RegistryListResource(IrisJigsawPool.class) + @RegistryListResource(LoaderJigsawPool.class) @Desc("Pick piece pools to place onto this connector") @ArrayType(type = String.class, min = 1) @Required private KList pools = new KList<>(); - @RegistryListResource(IrisEntity.class) + @RegistryListResource(LoaderEntity.class) @Desc("Pick an entity to spawn on this connector") private String spawnEntity; diff --git a/src/main/java/com/volmit/iris/engine/object/IrisJigsawPlacement.java b/src/main/java/com/volmit/iris/engine/object/jigsaw/IrisJigsawPlacement.java similarity index 93% rename from src/main/java/com/volmit/iris/engine/object/IrisJigsawPlacement.java rename to src/main/java/com/volmit/iris/engine/object/jigsaw/IrisJigsawPlacement.java index 75ac44c32..3bc33ebf8 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisJigsawPlacement.java +++ b/src/main/java/com/volmit/iris/engine/object/jigsaw/IrisJigsawPlacement.java @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.jigsaw; import com.volmit.iris.engine.object.annotations.Desc; import com.volmit.iris.engine.object.annotations.MinNumber; @@ -33,7 +33,7 @@ import lombok.experimental.Accessors; @Desc("Represents a jigsaw placement") @Data public class IrisJigsawPlacement { - @RegistryListResource(IrisJigsawStructure.class) + @RegistryListResource(LoaderJigsawStructure.class) @Required @Desc("The jigsaw structure to use") private String structure = ""; diff --git a/src/main/java/com/volmit/iris/engine/object/IrisJigsawStructurePlacement.java b/src/main/java/com/volmit/iris/engine/object/jigsaw/IrisJigsawStructurePlacement.java similarity index 93% rename from src/main/java/com/volmit/iris/engine/object/IrisJigsawStructurePlacement.java rename to src/main/java/com/volmit/iris/engine/object/jigsaw/IrisJigsawStructurePlacement.java index 50f96dc76..5f631556d 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisJigsawStructurePlacement.java +++ b/src/main/java/com/volmit/iris/engine/object/jigsaw/IrisJigsawStructurePlacement.java @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.jigsaw; import com.volmit.iris.engine.object.annotations.Desc; import com.volmit.iris.engine.object.annotations.RegistryListResource; @@ -36,7 +36,7 @@ import lombok.experimental.Accessors; @Data @EqualsAndHashCode(callSuper = false) public class IrisJigsawStructurePlacement { - @RegistryListResource(IrisJigsawStructure.class) + @RegistryListResource(LoaderJigsawStructure.class) @Required @Desc("The structure to place") private String structure; diff --git a/src/main/java/com/volmit/iris/engine/object/IrisJigsawPiece.java b/src/main/java/com/volmit/iris/engine/object/jigsaw/LoaderJigsawPiece.java similarity index 82% rename from src/main/java/com/volmit/iris/engine/object/IrisJigsawPiece.java rename to src/main/java/com/volmit/iris/engine/object/jigsaw/LoaderJigsawPiece.java index 6997a01a3..20c6a7718 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisJigsawPiece.java +++ b/src/main/java/com/volmit/iris/engine/object/jigsaw/LoaderJigsawPiece.java @@ -16,14 +16,19 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.jigsaw; import com.volmit.iris.Iris; -import com.volmit.iris.engine.cache.AtomicCache; +import com.volmit.iris.engine.data.cache.AtomicCache; +import com.volmit.iris.engine.object.basic.IrisPosition; +import com.volmit.iris.core.project.loader.LoaderRegistrant; +import com.volmit.iris.engine.object.objects.ObjectPlaceMode; import com.volmit.iris.engine.object.annotations.ArrayType; import com.volmit.iris.engine.object.annotations.Desc; import com.volmit.iris.engine.object.annotations.RegistryListResource; import com.volmit.iris.engine.object.annotations.Required; +import com.volmit.iris.engine.object.objects.LoaderObject; +import com.volmit.iris.engine.object.objects.IrisObjectPlacement; import com.volmit.iris.util.collection.KList; import lombok.AllArgsConstructor; import lombok.Data; @@ -42,8 +47,8 @@ import java.io.IOException; @Desc("Represents a structure tile") @Data @EqualsAndHashCode(callSuper = false) -public class IrisJigsawPiece extends IrisRegistrant { - @RegistryListResource(IrisObject.class) +public class LoaderJigsawPiece extends LoaderRegistrant { + @RegistryListResource(LoaderObject.class) @Required @Desc("The object this piece represents") private String object = ""; @@ -62,7 +67,7 @@ public class IrisJigsawPiece extends IrisRegistrant { public int getMax2dDimension() { return max2dDim.aquire(() -> { try { - BlockVector v = IrisObject.sampleSize(getLoader().getObjectLoader().findFile(getObject())); + BlockVector v = LoaderObject.sampleSize(getLoader().getObjectLoader().findFile(getObject())); return Math.max(v.getBlockX(), v.getBlockZ()); } catch (IOException e) { Iris.reportError(e); @@ -76,7 +81,7 @@ public class IrisJigsawPiece extends IrisRegistrant { public int getMax3dDimension() { return max3dDim.aquire(() -> { try { - BlockVector v = IrisObject.sampleSize(getLoader().getObjectLoader().findFile(getObject())); + BlockVector v = LoaderObject.sampleSize(getLoader().getObjectLoader().findFile(getObject())); return Math.max(Math.max(v.getBlockX(), v.getBlockZ()), v.getBlockY()); } catch (IOException e) { Iris.reportError(e); @@ -98,8 +103,8 @@ public class IrisJigsawPiece extends IrisRegistrant { return null; } - public IrisJigsawPiece copy() { - IrisJigsawPiece p = new IrisJigsawPiece(); + public LoaderJigsawPiece copy() { + LoaderJigsawPiece p = new LoaderJigsawPiece(); p.setObject(getObject()); p.setLoader(getLoader()); p.setLoadKey(getLoadKey()); diff --git a/src/main/java/com/volmit/iris/engine/object/IrisJigsawPool.java b/src/main/java/com/volmit/iris/engine/object/jigsaw/LoaderJigsawPool.java similarity index 89% rename from src/main/java/com/volmit/iris/engine/object/IrisJigsawPool.java rename to src/main/java/com/volmit/iris/engine/object/jigsaw/LoaderJigsawPool.java index 322c9d813..bbed9fd20 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisJigsawPool.java +++ b/src/main/java/com/volmit/iris/engine/object/jigsaw/LoaderJigsawPool.java @@ -16,8 +16,9 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.jigsaw; +import com.volmit.iris.core.project.loader.LoaderRegistrant; import com.volmit.iris.engine.object.annotations.ArrayType; import com.volmit.iris.engine.object.annotations.Desc; import com.volmit.iris.engine.object.annotations.RegistryListResource; @@ -37,8 +38,8 @@ import lombok.experimental.Accessors; @Desc("Represents a structure piece pool") @Data @EqualsAndHashCode(callSuper = false) -public class IrisJigsawPool extends IrisRegistrant { - @RegistryListResource(IrisJigsawPiece.class) +public class LoaderJigsawPool extends LoaderRegistrant { + @RegistryListResource(LoaderJigsawPiece.class) @Required @ArrayType(min = 1, type = String.class) @Desc("A list of structure piece pools") diff --git a/src/main/java/com/volmit/iris/engine/object/IrisJigsawStructure.java b/src/main/java/com/volmit/iris/engine/object/jigsaw/LoaderJigsawStructure.java similarity index 91% rename from src/main/java/com/volmit/iris/engine/object/IrisJigsawStructure.java rename to src/main/java/com/volmit/iris/engine/object/jigsaw/LoaderJigsawStructure.java index 02a8e2450..202a85f33 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisJigsawStructure.java +++ b/src/main/java/com/volmit/iris/engine/object/jigsaw/LoaderJigsawStructure.java @@ -16,10 +16,12 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.jigsaw; import com.volmit.iris.Iris; -import com.volmit.iris.engine.cache.AtomicCache; +import com.volmit.iris.engine.data.cache.AtomicCache; +import com.volmit.iris.engine.object.feature.IrisFeature; +import com.volmit.iris.core.project.loader.LoaderRegistrant; import com.volmit.iris.engine.object.annotations.*; import com.volmit.iris.util.collection.KList; import lombok.AllArgsConstructor; @@ -36,8 +38,8 @@ import lombok.experimental.Accessors; @Desc("Represents a jigsaw structure") @Data @EqualsAndHashCode(callSuper = false) -public class IrisJigsawStructure extends IrisRegistrant { - @RegistryListResource(IrisJigsawPiece.class) +public class LoaderJigsawStructure extends LoaderRegistrant { + @RegistryListResource(LoaderJigsawPiece.class) @Required @ArrayType(min = 1, type = String.class) @Desc("The starting pieces. Randomly chooses a starting piece, then connects pieces using the pools define in the starting piece.") @@ -64,7 +66,7 @@ public class IrisJigsawStructure extends IrisRegistrant { return; } - IrisJigsawPool pool = getLoader().getJigsawPoolLoader().load(p); + LoaderJigsawPool pool = getLoader().getJigsawPoolLoader().load(p); if (pool == null) { Iris.warn("Can't find jigsaw pool: " + p); @@ -79,7 +81,7 @@ public class IrisJigsawStructure extends IrisRegistrant { } private void loadPiece(String p, KList pools, KList pieces) { - IrisJigsawPiece piece = getLoader().getJigsawPieceLoader().load(p); + LoaderJigsawPiece piece = getLoader().getJigsawPieceLoader().load(p); if (piece == null) { Iris.warn("Can't find jigsaw piece: " + p); diff --git a/src/main/java/com/volmit/iris/engine/object/IrisLoot.java b/src/main/java/com/volmit/iris/engine/object/loot/IrisLoot.java similarity index 95% rename from src/main/java/com/volmit/iris/engine/object/IrisLoot.java rename to src/main/java/com/volmit/iris/engine/object/loot/IrisLoot.java index 8faa9dc4e..49ea6b585 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisLoot.java +++ b/src/main/java/com/volmit/iris/engine/object/loot/IrisLoot.java @@ -16,11 +16,15 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.loot; import com.volmit.iris.Iris; -import com.volmit.iris.engine.cache.AtomicCache; +import com.volmit.iris.engine.data.cache.AtomicCache; import com.volmit.iris.engine.data.B; +import com.volmit.iris.engine.object.meta.InventorySlotType; +import com.volmit.iris.engine.object.meta.IrisAttributeModifier; +import com.volmit.iris.engine.object.meta.IrisEnchantment; +import com.volmit.iris.engine.object.noise.NoiseStyle; import com.volmit.iris.util.noise.CNG; import com.volmit.iris.engine.object.annotations.*; import com.volmit.iris.util.collection.KList; @@ -191,7 +195,7 @@ public class IrisLoot { return new ItemStack(Material.AIR); } - public ItemStack get(boolean debug, boolean giveSomething, IrisLootTable table, RNG rng, int x, int y, int z) { + public ItemStack get(boolean debug, boolean giveSomething, LoaderLootTable table, RNG rng, int x, int y, int z) { if (debug) { chance.reset(); } diff --git a/src/main/java/com/volmit/iris/engine/object/IrisLootReference.java b/src/main/java/com/volmit/iris/engine/object/loot/IrisLootReference.java similarity index 84% rename from src/main/java/com/volmit/iris/engine/object/IrisLootReference.java rename to src/main/java/com/volmit/iris/engine/object/loot/IrisLootReference.java index 0cd8b1c1b..65b3bc188 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisLootReference.java +++ b/src/main/java/com/volmit/iris/engine/object/loot/IrisLootReference.java @@ -16,9 +16,9 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.loot; -import com.volmit.iris.engine.cache.AtomicCache; +import com.volmit.iris.engine.data.cache.AtomicCache; import com.volmit.iris.engine.data.DataProvider; import com.volmit.iris.engine.object.annotations.ArrayType; import com.volmit.iris.engine.object.annotations.Desc; @@ -39,7 +39,7 @@ public class IrisLootReference { @Desc("Add = add on top of parent tables, Replace = clear first then add these. Clear = Remove all and dont add loot from this or parent.") private LootMode mode = LootMode.ADD; - @RegistryListResource(IrisLootTable.class) + @RegistryListResource(LoaderLootTable.class) @ArrayType(min = 1, type = String.class) @Desc("Add loot table registries here") private KList tables = new KList<>(); @@ -48,12 +48,12 @@ public class IrisLootReference { @Desc("Increase the chance of loot in this area") private double multiplier = 1D; - private final transient AtomicCache> tt = new AtomicCache<>(); + private final transient AtomicCache> tt = new AtomicCache<>(); - public KList getLootTables(DataProvider g) { + public KList getLootTables(DataProvider g) { return tt.aquire(() -> { - KList t = new KList<>(); + KList t = new KList<>(); for (String i : tables) { t.add(g.getData().getLootLoader().load(i)); diff --git a/src/main/java/com/volmit/iris/engine/object/IrisLootTable.java b/src/main/java/com/volmit/iris/engine/object/loot/LoaderLootTable.java similarity index 93% rename from src/main/java/com/volmit/iris/engine/object/IrisLootTable.java rename to src/main/java/com/volmit/iris/engine/object/loot/LoaderLootTable.java index 04589fa03..15a6b5c51 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisLootTable.java +++ b/src/main/java/com/volmit/iris/engine/object/loot/LoaderLootTable.java @@ -16,8 +16,10 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.loot; +import com.volmit.iris.engine.object.meta.InventorySlotType; +import com.volmit.iris.core.project.loader.LoaderRegistrant; import com.volmit.iris.engine.object.annotations.ArrayType; import com.volmit.iris.engine.object.annotations.Desc; import com.volmit.iris.engine.object.annotations.MinNumber; @@ -39,7 +41,7 @@ import org.bukkit.inventory.ItemStack; @Desc("Represents a loot table. Biomes, Regions & Objects can add or replace the virtual table with these loot tables") @Data @EqualsAndHashCode(callSuper = false) -public class IrisLootTable extends IrisRegistrant { +public class LoaderLootTable extends LoaderRegistrant { @Required @Desc("The name of this loot table") @MinNumber(2) diff --git a/src/main/java/com/volmit/iris/engine/object/LootMode.java b/src/main/java/com/volmit/iris/engine/object/loot/LootMode.java similarity index 96% rename from src/main/java/com/volmit/iris/engine/object/LootMode.java rename to src/main/java/com/volmit/iris/engine/object/loot/LootMode.java index 3643ea1b2..a596d31b1 100644 --- a/src/main/java/com/volmit/iris/engine/object/LootMode.java +++ b/src/main/java/com/volmit/iris/engine/object/loot/LootMode.java @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.loot; import com.volmit.iris.engine.object.annotations.Desc; diff --git a/src/main/java/com/volmit/iris/engine/object/matter/MatterSlice.java b/src/main/java/com/volmit/iris/engine/object/matter/MatterSlice.java index 7fdf997e9..9aef1fdcc 100644 --- a/src/main/java/com/volmit/iris/engine/object/matter/MatterSlice.java +++ b/src/main/java/com/volmit/iris/engine/object/matter/MatterSlice.java @@ -18,7 +18,7 @@ package com.volmit.iris.engine.object.matter; -import com.volmit.iris.engine.cache.Cache; +import com.volmit.iris.engine.data.cache.Cache; import com.volmit.iris.util.hunk.Hunk; import com.volmit.iris.util.data.Varint; diff --git a/src/main/java/com/volmit/iris/engine/object/InventorySlotType.java b/src/main/java/com/volmit/iris/engine/object/meta/InventorySlotType.java similarity index 96% rename from src/main/java/com/volmit/iris/engine/object/InventorySlotType.java rename to src/main/java/com/volmit/iris/engine/object/meta/InventorySlotType.java index 40a7f6bf9..e5ab587bb 100644 --- a/src/main/java/com/volmit/iris/engine/object/InventorySlotType.java +++ b/src/main/java/com/volmit/iris/engine/object/meta/InventorySlotType.java @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.meta; import com.volmit.iris.engine.object.annotations.Desc; diff --git a/src/main/java/com/volmit/iris/engine/object/IrisAttributeModifier.java b/src/main/java/com/volmit/iris/engine/object/meta/IrisAttributeModifier.java similarity index 98% rename from src/main/java/com/volmit/iris/engine/object/IrisAttributeModifier.java rename to src/main/java/com/volmit/iris/engine/object/meta/IrisAttributeModifier.java index 6cca1edea..55ae0f25b 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisAttributeModifier.java +++ b/src/main/java/com/volmit/iris/engine/object/meta/IrisAttributeModifier.java @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.meta; import com.volmit.iris.engine.object.annotations.Desc; import com.volmit.iris.engine.object.annotations.MaxNumber; diff --git a/src/main/java/com/volmit/iris/engine/object/IrisEffect.java b/src/main/java/com/volmit/iris/engine/object/meta/IrisEffect.java similarity index 99% rename from src/main/java/com/volmit/iris/engine/object/IrisEffect.java rename to src/main/java/com/volmit/iris/engine/object/meta/IrisEffect.java index 21e630c32..3573dfb92 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisEffect.java +++ b/src/main/java/com/volmit/iris/engine/object/meta/IrisEffect.java @@ -16,10 +16,10 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.meta; import com.volmit.iris.Iris; -import com.volmit.iris.engine.cache.AtomicCache; +import com.volmit.iris.engine.data.cache.AtomicCache; import com.volmit.iris.engine.framework.GeneratorAccess; import com.volmit.iris.engine.object.annotations.*; import com.volmit.iris.util.math.RNG; diff --git a/src/main/java/com/volmit/iris/engine/object/IrisEnchantment.java b/src/main/java/com/volmit/iris/engine/object/meta/IrisEnchantment.java similarity index 98% rename from src/main/java/com/volmit/iris/engine/object/IrisEnchantment.java rename to src/main/java/com/volmit/iris/engine/object/meta/IrisEnchantment.java index 241dd0279..ec22322dd 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisEnchantment.java +++ b/src/main/java/com/volmit/iris/engine/object/meta/IrisEnchantment.java @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.meta; import com.volmit.iris.Iris; import com.volmit.iris.engine.object.annotations.Desc; diff --git a/src/main/java/com/volmit/iris/engine/object/IrisPotionEffect.java b/src/main/java/com/volmit/iris/engine/object/meta/IrisPotionEffect.java similarity index 97% rename from src/main/java/com/volmit/iris/engine/object/IrisPotionEffect.java rename to src/main/java/com/volmit/iris/engine/object/meta/IrisPotionEffect.java index 86334bf11..f78b258f8 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisPotionEffect.java +++ b/src/main/java/com/volmit/iris/engine/object/meta/IrisPotionEffect.java @@ -16,10 +16,10 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.meta; import com.volmit.iris.Iris; -import com.volmit.iris.engine.cache.AtomicCache; +import com.volmit.iris.engine.data.cache.AtomicCache; import com.volmit.iris.engine.object.annotations.Desc; import com.volmit.iris.engine.object.annotations.MaxNumber; import com.volmit.iris.engine.object.annotations.MinNumber; diff --git a/src/main/java/com/volmit/iris/engine/object/IrisModBiomeInjector.java b/src/main/java/com/volmit/iris/engine/object/mods/IrisModBiomeInjector.java similarity index 86% rename from src/main/java/com/volmit/iris/engine/object/IrisModBiomeInjector.java rename to src/main/java/com/volmit/iris/engine/object/mods/IrisModBiomeInjector.java index bf7d30759..545c995c4 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisModBiomeInjector.java +++ b/src/main/java/com/volmit/iris/engine/object/mods/IrisModBiomeInjector.java @@ -16,8 +16,10 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.mods; +import com.volmit.iris.engine.object.biome.LoaderBiome; +import com.volmit.iris.engine.object.regional.LoaderRegion; import com.volmit.iris.engine.object.annotations.ArrayType; import com.volmit.iris.engine.object.annotations.Desc; import com.volmit.iris.engine.object.annotations.RegistryListResource; @@ -36,12 +38,12 @@ import lombok.experimental.Accessors; public class IrisModBiomeInjector { @Required @Desc("The region to find") - @RegistryListResource(IrisRegion.class) + @RegistryListResource(LoaderRegion.class) private String region = ""; @Required @Desc("A biome to inject into the region") - @RegistryListResource(IrisBiome.class) + @RegistryListResource(LoaderBiome.class) @ArrayType(type = String.class, min = 1) private KList inject = new KList<>(); } diff --git a/src/main/java/com/volmit/iris/engine/object/IrisModBiomeReplacer.java b/src/main/java/com/volmit/iris/engine/object/mods/IrisModBiomeReplacer.java similarity index 89% rename from src/main/java/com/volmit/iris/engine/object/IrisModBiomeReplacer.java rename to src/main/java/com/volmit/iris/engine/object/mods/IrisModBiomeReplacer.java index 05e22dab9..1c0f56381 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisModBiomeReplacer.java +++ b/src/main/java/com/volmit/iris/engine/object/mods/IrisModBiomeReplacer.java @@ -16,8 +16,9 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.mods; +import com.volmit.iris.engine.object.biome.LoaderBiome; import com.volmit.iris.engine.object.annotations.ArrayType; import com.volmit.iris.engine.object.annotations.Desc; import com.volmit.iris.engine.object.annotations.RegistryListResource; @@ -36,12 +37,12 @@ import lombok.experimental.Accessors; public class IrisModBiomeReplacer { @Required @Desc("A list of biomes to find") - @RegistryListResource(IrisBiome.class) + @RegistryListResource(LoaderBiome.class) @ArrayType(type = String.class, min = 1) private KList find = new KList<>(); @Required @Desc("A biome to replace it with") - @RegistryListResource(IrisBiome.class) + @RegistryListResource(LoaderBiome.class) private String replace = ""; } diff --git a/src/main/java/com/volmit/iris/engine/object/IrisModNoiseStyleReplacer.java b/src/main/java/com/volmit/iris/engine/object/mods/IrisModNoiseStyleReplacer.java similarity index 87% rename from src/main/java/com/volmit/iris/engine/object/IrisModNoiseStyleReplacer.java rename to src/main/java/com/volmit/iris/engine/object/mods/IrisModNoiseStyleReplacer.java index 4bbe3156d..b582cb685 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisModNoiseStyleReplacer.java +++ b/src/main/java/com/volmit/iris/engine/object/mods/IrisModNoiseStyleReplacer.java @@ -16,8 +16,11 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.mods; +import com.volmit.iris.engine.object.biome.LoaderBiome; +import com.volmit.iris.engine.object.noise.IrisGeneratorStyle; +import com.volmit.iris.engine.object.noise.NoiseStyle; import com.volmit.iris.engine.object.annotations.ArrayType; import com.volmit.iris.engine.object.annotations.Desc; import com.volmit.iris.engine.object.annotations.RegistryListResource; @@ -44,6 +47,6 @@ public class IrisModNoiseStyleReplacer { @Required @Desc("A noise style to replace it with") - @RegistryListResource(IrisBiome.class) + @RegistryListResource(LoaderBiome.class) private IrisGeneratorStyle replace = new IrisGeneratorStyle(); } diff --git a/src/main/java/com/volmit/iris/engine/object/IrisModObjectPlacementBiomeInjector.java b/src/main/java/com/volmit/iris/engine/object/mods/IrisModObjectPlacementBiomeInjector.java similarity index 88% rename from src/main/java/com/volmit/iris/engine/object/IrisModObjectPlacementBiomeInjector.java rename to src/main/java/com/volmit/iris/engine/object/mods/IrisModObjectPlacementBiomeInjector.java index 02a3b3727..065a467a0 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisModObjectPlacementBiomeInjector.java +++ b/src/main/java/com/volmit/iris/engine/object/mods/IrisModObjectPlacementBiomeInjector.java @@ -16,12 +16,14 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.mods; +import com.volmit.iris.engine.object.biome.LoaderBiome; import com.volmit.iris.engine.object.annotations.ArrayType; import com.volmit.iris.engine.object.annotations.Desc; import com.volmit.iris.engine.object.annotations.RegistryListResource; import com.volmit.iris.engine.object.annotations.Required; +import com.volmit.iris.engine.object.objects.IrisObjectPlacement; import com.volmit.iris.util.collection.KList; import lombok.AllArgsConstructor; import lombok.Data; @@ -36,7 +38,7 @@ import lombok.experimental.Accessors; public class IrisModObjectPlacementBiomeInjector { @Required @Desc("The biome to find") - @RegistryListResource(IrisBiome.class) + @RegistryListResource(LoaderBiome.class) private String biome = ""; @Required diff --git a/src/main/java/com/volmit/iris/engine/object/IrisModObjectPlacementRegionInjector.java b/src/main/java/com/volmit/iris/engine/object/mods/IrisModObjectPlacementRegionInjector.java similarity index 88% rename from src/main/java/com/volmit/iris/engine/object/IrisModObjectPlacementRegionInjector.java rename to src/main/java/com/volmit/iris/engine/object/mods/IrisModObjectPlacementRegionInjector.java index 3d5af5a8f..5c2b5670f 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisModObjectPlacementRegionInjector.java +++ b/src/main/java/com/volmit/iris/engine/object/mods/IrisModObjectPlacementRegionInjector.java @@ -16,12 +16,14 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.mods; +import com.volmit.iris.engine.object.regional.LoaderRegion; import com.volmit.iris.engine.object.annotations.ArrayType; import com.volmit.iris.engine.object.annotations.Desc; import com.volmit.iris.engine.object.annotations.RegistryListResource; import com.volmit.iris.engine.object.annotations.Required; +import com.volmit.iris.engine.object.objects.IrisObjectPlacement; import com.volmit.iris.util.collection.KList; import lombok.AllArgsConstructor; import lombok.Data; @@ -36,7 +38,7 @@ import lombok.experimental.Accessors; public class IrisModObjectPlacementRegionInjector { @Required @Desc("The biome to find") - @RegistryListResource(IrisRegion.class) + @RegistryListResource(LoaderRegion.class) private String biome = ""; @Required diff --git a/src/main/java/com/volmit/iris/engine/object/IrisModObjectReplacer.java b/src/main/java/com/volmit/iris/engine/object/mods/IrisModObjectReplacer.java similarity index 86% rename from src/main/java/com/volmit/iris/engine/object/IrisModObjectReplacer.java rename to src/main/java/com/volmit/iris/engine/object/mods/IrisModObjectReplacer.java index f09077280..e5384c5ab 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisModObjectReplacer.java +++ b/src/main/java/com/volmit/iris/engine/object/mods/IrisModObjectReplacer.java @@ -16,12 +16,14 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.mods; +import com.volmit.iris.engine.object.biome.LoaderBiome; import com.volmit.iris.engine.object.annotations.ArrayType; import com.volmit.iris.engine.object.annotations.Desc; import com.volmit.iris.engine.object.annotations.RegistryListResource; import com.volmit.iris.engine.object.annotations.Required; +import com.volmit.iris.engine.object.objects.LoaderObject; import com.volmit.iris.util.collection.KList; import lombok.AllArgsConstructor; import lombok.Data; @@ -36,12 +38,12 @@ import lombok.experimental.Accessors; public class IrisModObjectReplacer { @Required @Desc("A list of objects to find") - @RegistryListResource(IrisObject.class) + @RegistryListResource(LoaderObject.class) @ArrayType(type = String.class, min = 1) private KList find = new KList<>(); @Required @Desc("An object to replace it with") - @RegistryListResource(IrisBiome.class) + @RegistryListResource(LoaderBiome.class) private String replace = ""; } diff --git a/src/main/java/com/volmit/iris/engine/object/IrisModRegionReplacer.java b/src/main/java/com/volmit/iris/engine/object/mods/IrisModRegionReplacer.java similarity index 88% rename from src/main/java/com/volmit/iris/engine/object/IrisModRegionReplacer.java rename to src/main/java/com/volmit/iris/engine/object/mods/IrisModRegionReplacer.java index 3d8e89378..8c407f9b9 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisModRegionReplacer.java +++ b/src/main/java/com/volmit/iris/engine/object/mods/IrisModRegionReplacer.java @@ -16,8 +16,9 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.mods; +import com.volmit.iris.engine.object.regional.LoaderRegion; import com.volmit.iris.engine.object.annotations.ArrayType; import com.volmit.iris.engine.object.annotations.Desc; import com.volmit.iris.engine.object.annotations.RegistryListResource; @@ -36,12 +37,12 @@ import lombok.experimental.Accessors; public class IrisModRegionReplacer { @Required @Desc("A list of regions to find") - @RegistryListResource(IrisRegion.class) + @RegistryListResource(LoaderRegion.class) @ArrayType(type = String.class, min = 1) private KList find = new KList<>(); @Required @Desc("A region to replace it with") - @RegistryListResource(IrisRegion.class) + @RegistryListResource(LoaderRegion.class) private String replace = ""; } diff --git a/src/main/java/com/volmit/iris/engine/object/IrisMod.java b/src/main/java/com/volmit/iris/engine/object/mods/LoaderMod.java similarity index 87% rename from src/main/java/com/volmit/iris/engine/object/IrisMod.java rename to src/main/java/com/volmit/iris/engine/object/mods/LoaderMod.java index 686516acb..1148e4373 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisMod.java +++ b/src/main/java/com/volmit/iris/engine/object/mods/LoaderMod.java @@ -16,9 +16,14 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.mods; +import com.volmit.iris.engine.object.biome.LoaderBiome; +import com.volmit.iris.engine.object.regional.LoaderRegion; +import com.volmit.iris.core.project.loader.LoaderRegistrant; import com.volmit.iris.engine.object.annotations.*; +import com.volmit.iris.engine.object.objects.LoaderObject; +import com.volmit.iris.engine.object.objects.IrisObjectReplace; import com.volmit.iris.util.collection.KList; import lombok.AllArgsConstructor; import lombok.Data; @@ -33,7 +38,7 @@ import lombok.experimental.Accessors; @Desc("Represents a dimension") @Data @EqualsAndHashCode(callSuper = false) -public class IrisMod extends IrisRegistrant { +public class LoaderMod extends LoaderRegistrant { @MinNumber(2) @Required @Desc("The human readable name of this dimension") @@ -48,22 +53,22 @@ public class IrisMod extends IrisRegistrant { private int overrideFluidHeight = -1; @Desc("A list of biomes to remove") - @RegistryListResource(IrisBiome.class) + @RegistryListResource(LoaderBiome.class) @ArrayType(type = String.class, min = 1) private KList removeBiomes = new KList<>(); @Desc("A list of objects to remove") - @RegistryListResource(IrisObject.class) + @RegistryListResource(LoaderObject.class) @ArrayType(type = String.class, min = 1) private KList removeObjects = new KList<>(); @Desc("A list of regions to remove") - @RegistryListResource(IrisRegion.class) + @RegistryListResource(LoaderRegion.class) @ArrayType(type = String.class, min = 1) private KList removeRegions = new KList<>(); @Desc("A list of regions to inject") - @RegistryListResource(IrisRegion.class) + @RegistryListResource(LoaderRegion.class) @ArrayType(type = String.class, min = 1) private KList injectRegions = new KList<>(); diff --git a/src/main/java/com/volmit/iris/engine/object/CarvingMode.java b/src/main/java/com/volmit/iris/engine/object/noise/CarvingMode.java similarity index 97% rename from src/main/java/com/volmit/iris/engine/object/CarvingMode.java rename to src/main/java/com/volmit/iris/engine/object/noise/CarvingMode.java index 22cb3248c..dbfacb23e 100644 --- a/src/main/java/com/volmit/iris/engine/object/CarvingMode.java +++ b/src/main/java/com/volmit/iris/engine/object/noise/CarvingMode.java @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.noise; import com.volmit.iris.engine.object.annotations.Desc; diff --git a/src/main/java/com/volmit/iris/engine/object/IrisEngineStreamType.java b/src/main/java/com/volmit/iris/engine/object/noise/IrisEngineStreamType.java similarity index 98% rename from src/main/java/com/volmit/iris/engine/object/IrisEngineStreamType.java rename to src/main/java/com/volmit/iris/engine/object/noise/IrisEngineStreamType.java index c1f4bda90..e69675f7f 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisEngineStreamType.java +++ b/src/main/java/com/volmit/iris/engine/object/noise/IrisEngineStreamType.java @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.noise; import com.volmit.iris.engine.framework.EngineFramework; import com.volmit.iris.engine.object.annotations.Desc; diff --git a/src/main/java/com/volmit/iris/engine/object/IrisEngineValueType.java b/src/main/java/com/volmit/iris/engine/object/noise/IrisEngineValueType.java similarity index 98% rename from src/main/java/com/volmit/iris/engine/object/IrisEngineValueType.java rename to src/main/java/com/volmit/iris/engine/object/noise/IrisEngineValueType.java index f01934d2e..fc1e1c427 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisEngineValueType.java +++ b/src/main/java/com/volmit/iris/engine/object/noise/IrisEngineValueType.java @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.noise; import com.volmit.iris.engine.framework.EngineFramework; import com.volmit.iris.engine.object.annotations.Desc; diff --git a/src/main/java/com/volmit/iris/engine/object/IrisExpressionLoad.java b/src/main/java/com/volmit/iris/engine/object/noise/IrisExpressionLoad.java similarity index 97% rename from src/main/java/com/volmit/iris/engine/object/IrisExpressionLoad.java rename to src/main/java/com/volmit/iris/engine/object/noise/IrisExpressionLoad.java index fcd046c0d..bcb8fedd5 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisExpressionLoad.java +++ b/src/main/java/com/volmit/iris/engine/object/noise/IrisExpressionLoad.java @@ -16,10 +16,10 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.noise; import com.volmit.iris.core.project.loader.IrisData; -import com.volmit.iris.engine.cache.AtomicCache; +import com.volmit.iris.engine.data.cache.AtomicCache; import com.volmit.iris.engine.object.annotations.Desc; import com.volmit.iris.engine.object.annotations.Required; import com.volmit.iris.util.stream.ProceduralStream; diff --git a/src/main/java/com/volmit/iris/engine/object/IrisGeneratorStyle.java b/src/main/java/com/volmit/iris/engine/object/noise/IrisGeneratorStyle.java similarity index 94% rename from src/main/java/com/volmit/iris/engine/object/IrisGeneratorStyle.java rename to src/main/java/com/volmit/iris/engine/object/noise/IrisGeneratorStyle.java index 73e7e2c13..e13ffab07 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisGeneratorStyle.java +++ b/src/main/java/com/volmit/iris/engine/object/noise/IrisGeneratorStyle.java @@ -16,10 +16,10 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.noise; import com.volmit.iris.core.project.loader.IrisData; -import com.volmit.iris.engine.cache.AtomicCache; +import com.volmit.iris.engine.data.cache.AtomicCache; import com.volmit.iris.util.noise.CNG; import com.volmit.iris.util.noise.ExpressionNoise; import com.volmit.iris.engine.object.annotations.Desc; @@ -46,7 +46,7 @@ public class IrisGeneratorStyle { private double zoom = 1; @Desc("Instead of using the style property, use a custom expression to represent this style.") - @RegistryListResource(IrisExpression.class) + @RegistryListResource(LoaderExpression.class) private String expression = null; @MinNumber(0.00001) @@ -79,7 +79,7 @@ public class IrisGeneratorStyle { return cng.aquire(() -> { if (getExpression() != null) { - IrisExpression e = data.getExpressionLoader().load(getExpression()); + LoaderExpression e = data.getExpressionLoader().load(getExpression()); if (e != null) { CNG cng = new CNG(rng, new ExpressionNoise(rng, e), 1D, 1) diff --git a/src/main/java/com/volmit/iris/engine/object/IrisInterpolator.java b/src/main/java/com/volmit/iris/engine/object/noise/IrisInterpolator.java similarity index 92% rename from src/main/java/com/volmit/iris/engine/object/IrisInterpolator.java rename to src/main/java/com/volmit/iris/engine/object/noise/IrisInterpolator.java index 4081e11ae..d73057ad7 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisInterpolator.java +++ b/src/main/java/com/volmit/iris/engine/object/noise/IrisInterpolator.java @@ -16,10 +16,10 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.noise; -import com.volmit.iris.engine.interpolation.InterpolationMethod; -import com.volmit.iris.engine.interpolation.IrisInterpolation; +import com.volmit.iris.util.interpolation.InterpolationMethod; +import com.volmit.iris.util.interpolation.IrisInterpolation; import com.volmit.iris.engine.object.annotations.Desc; import com.volmit.iris.engine.object.annotations.MaxNumber; import com.volmit.iris.engine.object.annotations.MinNumber; diff --git a/src/main/java/com/volmit/iris/engine/object/IrisInterpolator3D.java b/src/main/java/com/volmit/iris/engine/object/noise/IrisInterpolator3D.java similarity index 92% rename from src/main/java/com/volmit/iris/engine/object/IrisInterpolator3D.java rename to src/main/java/com/volmit/iris/engine/object/noise/IrisInterpolator3D.java index 2d01a79b1..9afcff605 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisInterpolator3D.java +++ b/src/main/java/com/volmit/iris/engine/object/noise/IrisInterpolator3D.java @@ -16,10 +16,10 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.noise; -import com.volmit.iris.engine.interpolation.InterpolationMethod3D; -import com.volmit.iris.engine.interpolation.IrisInterpolation; +import com.volmit.iris.util.interpolation.InterpolationMethod3D; +import com.volmit.iris.util.interpolation.IrisInterpolation; import com.volmit.iris.engine.object.annotations.Desc; import com.volmit.iris.engine.object.annotations.MaxNumber; import com.volmit.iris.engine.object.annotations.MinNumber; diff --git a/src/main/java/com/volmit/iris/engine/object/IrisNoiseGenerator.java b/src/main/java/com/volmit/iris/engine/object/noise/IrisNoiseGenerator.java similarity index 96% rename from src/main/java/com/volmit/iris/engine/object/IrisNoiseGenerator.java rename to src/main/java/com/volmit/iris/engine/object/noise/IrisNoiseGenerator.java index c6b6759ac..0ff34c708 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisNoiseGenerator.java +++ b/src/main/java/com/volmit/iris/engine/object/noise/IrisNoiseGenerator.java @@ -16,11 +16,11 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.noise; import com.volmit.iris.core.project.loader.IrisData; -import com.volmit.iris.engine.cache.AtomicCache; -import com.volmit.iris.engine.interpolation.IrisInterpolation; +import com.volmit.iris.engine.data.cache.AtomicCache; +import com.volmit.iris.util.interpolation.IrisInterpolation; import com.volmit.iris.util.noise.CNG; import com.volmit.iris.engine.object.annotations.*; import com.volmit.iris.util.collection.KList; diff --git a/src/main/java/com/volmit/iris/engine/object/IrisShapedGeneratorStyle.java b/src/main/java/com/volmit/iris/engine/object/noise/IrisShapedGeneratorStyle.java similarity index 98% rename from src/main/java/com/volmit/iris/engine/object/IrisShapedGeneratorStyle.java rename to src/main/java/com/volmit/iris/engine/object/noise/IrisShapedGeneratorStyle.java index 476d87b05..3404ddd46 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisShapedGeneratorStyle.java +++ b/src/main/java/com/volmit/iris/engine/object/noise/IrisShapedGeneratorStyle.java @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.noise; import com.volmit.iris.core.project.loader.IrisData; import com.volmit.iris.engine.object.annotations.Desc; diff --git a/src/main/java/com/volmit/iris/engine/object/IrisSlopeClip.java b/src/main/java/com/volmit/iris/engine/object/noise/IrisSlopeClip.java similarity index 97% rename from src/main/java/com/volmit/iris/engine/object/IrisSlopeClip.java rename to src/main/java/com/volmit/iris/engine/object/noise/IrisSlopeClip.java index 23851f586..72ed57e3c 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisSlopeClip.java +++ b/src/main/java/com/volmit/iris/engine/object/noise/IrisSlopeClip.java @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.noise; import com.volmit.iris.engine.object.annotations.Desc; import com.volmit.iris.engine.object.annotations.MaxNumber; diff --git a/src/main/java/com/volmit/iris/engine/object/IrisStyledRange.java b/src/main/java/com/volmit/iris/engine/object/noise/IrisStyledRange.java similarity index 97% rename from src/main/java/com/volmit/iris/engine/object/IrisStyledRange.java rename to src/main/java/com/volmit/iris/engine/object/noise/IrisStyledRange.java index d712bc80b..877992bd7 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisStyledRange.java +++ b/src/main/java/com/volmit/iris/engine/object/noise/IrisStyledRange.java @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.noise; import com.volmit.iris.core.project.loader.IrisData; import com.volmit.iris.engine.object.annotations.Desc; diff --git a/src/main/java/com/volmit/iris/engine/object/IrisExpression.java b/src/main/java/com/volmit/iris/engine/object/noise/LoaderExpression.java similarity index 95% rename from src/main/java/com/volmit/iris/engine/object/IrisExpression.java rename to src/main/java/com/volmit/iris/engine/object/noise/LoaderExpression.java index bcf6a6252..48310f9d9 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisExpression.java +++ b/src/main/java/com/volmit/iris/engine/object/noise/LoaderExpression.java @@ -16,13 +16,14 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.noise; import com.dfsek.paralithic.Expression; import com.dfsek.paralithic.eval.parser.Parser; import com.dfsek.paralithic.eval.parser.Scope; import com.volmit.iris.Iris; -import com.volmit.iris.engine.cache.AtomicCache; +import com.volmit.iris.engine.data.cache.AtomicCache; +import com.volmit.iris.core.project.loader.LoaderRegistrant; import com.volmit.iris.engine.object.annotations.ArrayType; import com.volmit.iris.engine.object.annotations.Desc; import com.volmit.iris.engine.object.annotations.Required; @@ -43,7 +44,7 @@ import lombok.experimental.Accessors; @Desc("Represents an Iris Expression") @Data @EqualsAndHashCode(callSuper = false) -public class IrisExpression extends IrisRegistrant { +public class LoaderExpression extends LoaderRegistrant { private static final Parser parser = new Parser(); @ArrayType(type = IrisExpressionLoad.class, min = 1) diff --git a/src/main/java/com/volmit/iris/engine/object/IrisGenerator.java b/src/main/java/com/volmit/iris/engine/object/noise/LoaderGenerator.java similarity index 96% rename from src/main/java/com/volmit/iris/engine/object/IrisGenerator.java rename to src/main/java/com/volmit/iris/engine/object/noise/LoaderGenerator.java index c1b8f96fa..fa3a824ad 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisGenerator.java +++ b/src/main/java/com/volmit/iris/engine/object/noise/LoaderGenerator.java @@ -16,11 +16,12 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.noise; import com.volmit.iris.Iris; -import com.volmit.iris.engine.cache.AtomicCache; -import com.volmit.iris.engine.interpolation.IrisInterpolation; +import com.volmit.iris.engine.data.cache.AtomicCache; +import com.volmit.iris.util.interpolation.IrisInterpolation; +import com.volmit.iris.core.project.loader.LoaderRegistrant; import com.volmit.iris.util.noise.CellGenerator; import com.volmit.iris.engine.object.annotations.*; import com.volmit.iris.engine.object.common.IRare; @@ -41,7 +42,7 @@ import java.util.List; @Desc("Represents a composite generator of noise gens") @Data @EqualsAndHashCode(callSuper = false) -public class IrisGenerator extends IrisRegistrant { +public class LoaderGenerator extends LoaderRegistrant { @MinNumber(0.001) @Desc("The zoom or frequency.") private double zoom = 1; @@ -269,7 +270,7 @@ public class IrisGenerator extends IrisRegistrant { return (Math.round((v * 255D) / cliffHeight) * cliffHeight) / 255D; } - public IrisGenerator rescale(double scale) { + public LoaderGenerator rescale(double scale) { zoom /= scale; return this; } diff --git a/src/main/java/com/volmit/iris/engine/object/NoiseStyle.java b/src/main/java/com/volmit/iris/engine/object/noise/NoiseStyle.java similarity index 99% rename from src/main/java/com/volmit/iris/engine/object/NoiseStyle.java rename to src/main/java/com/volmit/iris/engine/object/noise/NoiseStyle.java index d7b36c7da..620a8a185 100644 --- a/src/main/java/com/volmit/iris/engine/object/NoiseStyle.java +++ b/src/main/java/com/volmit/iris/engine/object/noise/NoiseStyle.java @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.noise; import com.volmit.iris.util.noise.CNG; import com.volmit.iris.util.noise.CNGFactory; diff --git a/src/main/java/com/volmit/iris/engine/object/IrisAxisRotationClamp.java b/src/main/java/com/volmit/iris/engine/object/objects/IrisAxisRotationClamp.java similarity index 98% rename from src/main/java/com/volmit/iris/engine/object/IrisAxisRotationClamp.java rename to src/main/java/com/volmit/iris/engine/object/objects/IrisAxisRotationClamp.java index 36c494b90..bcb0b53fc 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisAxisRotationClamp.java +++ b/src/main/java/com/volmit/iris/engine/object/objects/IrisAxisRotationClamp.java @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.objects; import com.volmit.iris.engine.object.annotations.*; import com.volmit.iris.util.math.M; diff --git a/src/main/java/com/volmit/iris/engine/object/IrisDirection.java b/src/main/java/com/volmit/iris/engine/object/objects/IrisDirection.java similarity index 99% rename from src/main/java/com/volmit/iris/engine/object/IrisDirection.java rename to src/main/java/com/volmit/iris/engine/object/objects/IrisDirection.java index d8ec7e9b5..26573ab46 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisDirection.java +++ b/src/main/java/com/volmit/iris/engine/object/objects/IrisDirection.java @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.objects; import com.volmit.iris.engine.object.annotations.Desc; import com.volmit.iris.util.collection.GBiset; diff --git a/src/main/java/com/volmit/iris/engine/object/FontStyle.java b/src/main/java/com/volmit/iris/engine/object/objects/IrisFontStyle.java similarity index 93% rename from src/main/java/com/volmit/iris/engine/object/FontStyle.java rename to src/main/java/com/volmit/iris/engine/object/objects/IrisFontStyle.java index 6b5638336..5a051a4ab 100644 --- a/src/main/java/com/volmit/iris/engine/object/FontStyle.java +++ b/src/main/java/com/volmit/iris/engine/object/objects/IrisFontStyle.java @@ -16,12 +16,12 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.objects; import com.volmit.iris.engine.object.annotations.Desc; @Desc("Represents a basic font style to apply to a font family") -public enum FontStyle { +public enum IrisFontStyle { @Desc("Plain old text") PLAIN, diff --git a/src/main/java/com/volmit/iris/engine/object/IrisObjectLimit.java b/src/main/java/com/volmit/iris/engine/object/objects/IrisObjectLimit.java similarity index 97% rename from src/main/java/com/volmit/iris/engine/object/IrisObjectLimit.java rename to src/main/java/com/volmit/iris/engine/object/objects/IrisObjectLimit.java index 41bb7ac6e..7a87789b2 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisObjectLimit.java +++ b/src/main/java/com/volmit/iris/engine/object/objects/IrisObjectLimit.java @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.objects; import com.volmit.iris.engine.object.annotations.Desc; import com.volmit.iris.engine.object.annotations.MaxNumber; diff --git a/src/main/java/com/volmit/iris/engine/object/IrisObjectLoot.java b/src/main/java/com/volmit/iris/engine/object/objects/IrisObjectLoot.java similarity index 84% rename from src/main/java/com/volmit/iris/engine/object/IrisObjectLoot.java rename to src/main/java/com/volmit/iris/engine/object/objects/IrisObjectLoot.java index 8069aa41b..f18647e84 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisObjectLoot.java +++ b/src/main/java/com/volmit/iris/engine/object/objects/IrisObjectLoot.java @@ -16,10 +16,12 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.objects; import com.volmit.iris.core.project.loader.IrisData; -import com.volmit.iris.engine.cache.AtomicCache; +import com.volmit.iris.engine.data.cache.AtomicCache; +import com.volmit.iris.engine.object.block.LoaderBlockData; +import com.volmit.iris.engine.object.loot.LoaderLootTable; import com.volmit.iris.engine.object.annotations.ArrayType; import com.volmit.iris.engine.object.annotations.Desc; import com.volmit.iris.engine.object.annotations.RegistryListResource; @@ -37,16 +39,16 @@ import org.bukkit.block.data.BlockData; @Desc("Represents loot within this object or jigsaw piece") @Data public class IrisObjectLoot { - @ArrayType(min = 1, type = IrisBlockData.class) + @ArrayType(min = 1, type = LoaderBlockData.class) @Desc("The list of blocks this loot table should apply to") - private KList filter = new KList<>(); + private KList filter = new KList<>(); @Desc("Exactly match the block data or not") private boolean exact = false; @Desc("The loot table name") @Required - @RegistryListResource(IrisLootTable.class) + @RegistryListResource(LoaderLootTable.class) private String name; @Desc("The weight of this loot table being chosen") @@ -59,7 +61,7 @@ public class IrisObjectLoot { { KList b = new KList<>(); - for (IrisBlockData i : filter) { + for (LoaderBlockData i : filter) { BlockData bx = i.getBlockData(rdata); if (bx != null) { diff --git a/src/main/java/com/volmit/iris/engine/object/IrisObjectPlacement.java b/src/main/java/com/volmit/iris/engine/object/objects/IrisObjectPlacement.java similarity index 90% rename from src/main/java/com/volmit/iris/engine/object/IrisObjectPlacement.java rename to src/main/java/com/volmit/iris/engine/object/objects/IrisObjectPlacement.java index ba701d2ef..566ea314a 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisObjectPlacement.java +++ b/src/main/java/com/volmit/iris/engine/object/objects/IrisObjectPlacement.java @@ -16,14 +16,22 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.objects; import com.volmit.iris.Iris; import com.volmit.iris.core.project.loader.IrisData; -import com.volmit.iris.engine.cache.AtomicCache; +import com.volmit.iris.engine.data.cache.AtomicCache; import com.volmit.iris.engine.data.B; import com.volmit.iris.engine.data.DataProvider; -import com.volmit.iris.engine.interpolation.InterpolationMethod; +import com.volmit.iris.util.interpolation.InterpolationMethod; +import com.volmit.iris.engine.object.feature.IrisFeaturePotential; +import com.volmit.iris.engine.object.loot.LoaderLootTable; +import com.volmit.iris.engine.object.noise.CarvingMode; +import com.volmit.iris.engine.object.noise.IrisGeneratorStyle; +import com.volmit.iris.engine.object.noise.IrisNoiseGenerator; +import com.volmit.iris.engine.object.noise.NoiseStyle; +import com.volmit.iris.engine.object.trees.IrisTree; +import com.volmit.iris.engine.object.trees.IrisTreeSize; import com.volmit.iris.util.noise.CNG; import com.volmit.iris.engine.object.annotations.*; import com.volmit.iris.util.collection.KList; @@ -46,7 +54,7 @@ import org.bukkit.block.data.BlockData; @Desc("Represents an iris object placer. It places objects.") @Data public class IrisObjectPlacement { - @RegistryListResource(IrisObject.class) + @RegistryListResource(LoaderObject.class) @Required @ArrayType(min = 1, type = String.class) @Desc("List of objects to place") @@ -206,7 +214,7 @@ public class IrisObjectPlacement { return 0; } - public IrisObject getObject(DataProvider g, RNG random) { + public LoaderObject getObject(DataProvider g, RNG random) { if (place.isEmpty()) { return null; } @@ -235,9 +243,9 @@ public class IrisObjectPlacement { } private static class TableCache { - final transient WeightedRandom global = new WeightedRandom<>(); - final transient KMap> basic = new KMap<>(); - final transient KMap>> exact = new KMap<>(); + final transient WeightedRandom global = new WeightedRandom<>(); + final transient KMap> basic = new KMap<>(); + final transient KMap>> exact = new KMap<>(); } private TableCache getCache(IrisData manager) { @@ -245,7 +253,7 @@ public class IrisObjectPlacement { TableCache tc = new TableCache(); for (IrisObjectLoot loot : getLoot()) { - IrisLootTable table = manager.getLootLoader().load(loot.getName()); + LoaderLootTable table = manager.getLootLoader().load(loot.getName()); if (table == null) { Iris.warn("Couldn't find loot table " + loot.getName()); continue; @@ -289,11 +297,11 @@ public class IrisObjectPlacement { * @param dataManager Iris Data Manager * @return The loot table it should use. */ - public IrisLootTable getTable(BlockData data, IrisData dataManager) { + public LoaderLootTable getTable(BlockData data, IrisData dataManager) { TableCache cache = getCache(dataManager); if (B.isStorageChest(data)) { - IrisLootTable picked = null; + LoaderLootTable picked = null; if (cache.exact.containsKey(data.getMaterial()) && cache.exact.containsKey(data)) { picked = cache.exact.get(data.getMaterial()).get(data).pullRandom(); } else if (cache.basic.containsKey(data.getMaterial())) { diff --git a/src/main/java/com/volmit/iris/engine/object/IrisObjectPlacementScaleInterpolator.java b/src/main/java/com/volmit/iris/engine/object/objects/IrisObjectPlacementScaleInterpolator.java similarity index 96% rename from src/main/java/com/volmit/iris/engine/object/IrisObjectPlacementScaleInterpolator.java rename to src/main/java/com/volmit/iris/engine/object/objects/IrisObjectPlacementScaleInterpolator.java index 9fd987db7..368a75489 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisObjectPlacementScaleInterpolator.java +++ b/src/main/java/com/volmit/iris/engine/object/objects/IrisObjectPlacementScaleInterpolator.java @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.objects; import com.volmit.iris.engine.object.annotations.Desc; diff --git a/src/main/java/com/volmit/iris/engine/object/IrisObjectReplace.java b/src/main/java/com/volmit/iris/engine/object/objects/IrisObjectReplace.java similarity index 86% rename from src/main/java/com/volmit/iris/engine/object/IrisObjectReplace.java rename to src/main/java/com/volmit/iris/engine/object/objects/IrisObjectReplace.java index b5a25337e..40c48e0a9 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisObjectReplace.java +++ b/src/main/java/com/volmit/iris/engine/object/objects/IrisObjectReplace.java @@ -16,10 +16,12 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.objects; import com.volmit.iris.core.project.loader.IrisData; -import com.volmit.iris.engine.cache.AtomicCache; +import com.volmit.iris.engine.data.cache.AtomicCache; +import com.volmit.iris.engine.object.block.LoaderBlockData; +import com.volmit.iris.engine.object.block.IrisMaterialPalette; import com.volmit.iris.util.noise.CNG; import com.volmit.iris.engine.object.annotations.*; import com.volmit.iris.util.collection.KList; @@ -36,10 +38,10 @@ import org.bukkit.block.data.BlockData; @Desc("Find and replace object materials") @Data public class IrisObjectReplace { - @ArrayType(min = 1, type = IrisBlockData.class) + @ArrayType(min = 1, type = LoaderBlockData.class) @Required @Desc("Find this block") - private KList find = new KList<>(); + private KList find = new KList<>(); @Required @Desc("Replace it with this block palette") @@ -62,7 +64,7 @@ public class IrisObjectReplace { { KList b = new KList<>(); - for (IrisBlockData i : find) { + for (LoaderBlockData i : find) { BlockData bx = i.getBlockData(rdata); if (bx != null) { diff --git a/src/main/java/com/volmit/iris/engine/object/IrisObjectRotation.java b/src/main/java/com/volmit/iris/engine/object/objects/IrisObjectRotation.java similarity index 97% rename from src/main/java/com/volmit/iris/engine/object/IrisObjectRotation.java rename to src/main/java/com/volmit/iris/engine/object/objects/IrisObjectRotation.java index bcbe77367..34a92875d 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisObjectRotation.java +++ b/src/main/java/com/volmit/iris/engine/object/objects/IrisObjectRotation.java @@ -16,10 +16,13 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.objects; import com.volmit.iris.Iris; import com.volmit.iris.engine.object.annotations.Desc; +import com.volmit.iris.engine.object.basic.IrisPosition; +import com.volmit.iris.engine.object.jigsaw.LoaderJigsawPiece; +import com.volmit.iris.engine.object.jigsaw.IrisJigsawPieceConnector; import com.volmit.iris.util.collection.KList; import lombok.AllArgsConstructor; import lombok.Data; @@ -30,7 +33,6 @@ import org.bukkit.Material; import org.bukkit.block.BlockFace; import org.bukkit.block.data.*; import org.bukkit.util.BlockVector; -import org.bukkit.util.Vector; import java.util.List; @@ -64,7 +66,7 @@ public class IrisObjectRotation { return getRotation(spin, zAxis); } - public IrisObject rotateCopy(IrisObject e) { + public LoaderObject rotateCopy(LoaderObject e) { if (e == null) { return null; } @@ -72,8 +74,8 @@ public class IrisObjectRotation { return e.rotateCopy(this); } - public IrisJigsawPiece rotateCopy(IrisJigsawPiece v) { - IrisJigsawPiece piece = v.copy(); + public LoaderJigsawPiece rotateCopy(LoaderJigsawPiece v) { + LoaderJigsawPiece piece = v.copy(); for (IrisJigsawPieceConnector i : piece.getConnectors()) { i.setPosition(rotate(i.getPosition())); i.setDirection(rotate(i.getDirection())); diff --git a/src/main/java/com/volmit/iris/engine/object/IrisObjectScale.java b/src/main/java/com/volmit/iris/engine/object/objects/IrisObjectScale.java similarity index 90% rename from src/main/java/com/volmit/iris/engine/object/IrisObjectScale.java rename to src/main/java/com/volmit/iris/engine/object/objects/IrisObjectScale.java index 36675e494..d25f84eb1 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisObjectScale.java +++ b/src/main/java/com/volmit/iris/engine/object/objects/IrisObjectScale.java @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.objects; import com.googlecode.concurrentlinkedhashmap.ConcurrentLinkedHashMap; import com.volmit.iris.engine.object.annotations.Desc; @@ -53,8 +53,8 @@ public class IrisObjectScale { @Desc("If this object is scaled up beyond its origin size, specify a 3D interpolator") private IrisObjectPlacementScaleInterpolator interpolation = IrisObjectPlacementScaleInterpolator.NONE; - private static transient ConcurrentLinkedHashMap> cache - = new ConcurrentLinkedHashMap.Builder>() + private static transient ConcurrentLinkedHashMap> cache + = new ConcurrentLinkedHashMap.Builder>() .initialCapacity(64) .maximumWeightedCapacity(1024) .concurrencyLevel(32) @@ -78,7 +78,7 @@ public class IrisObjectScale { return mx; } - public IrisObject get(RNG rng, IrisObject origin) { + public LoaderObject get(RNG rng, LoaderObject origin) { if (shouldScale()) { return origin; } @@ -88,7 +88,7 @@ public class IrisObjectScale { return v; } - KList c = new KList<>(); + KList c = new KList<>(); for (double i = minimumScale; i < maximumScale; i += (maximumScale - minimumScale) / (double) (Math.min(variations, 32))) { c.add(origin.scaled(i, getInterpolation())); } diff --git a/src/main/java/com/volmit/iris/engine/object/IrisObjectTranslate.java b/src/main/java/com/volmit/iris/engine/object/objects/IrisObjectTranslate.java similarity index 98% rename from src/main/java/com/volmit/iris/engine/object/IrisObjectTranslate.java rename to src/main/java/com/volmit/iris/engine/object/objects/IrisObjectTranslate.java index f37977d66..ccdd182e2 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisObjectTranslate.java +++ b/src/main/java/com/volmit/iris/engine/object/objects/IrisObjectTranslate.java @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.objects; import com.volmit.iris.engine.object.annotations.Desc; import com.volmit.iris.engine.object.annotations.MaxNumber; diff --git a/src/main/java/com/volmit/iris/engine/object/IrisRareObject.java b/src/main/java/com/volmit/iris/engine/object/objects/IrisRareObject.java similarity index 94% rename from src/main/java/com/volmit/iris/engine/object/IrisRareObject.java rename to src/main/java/com/volmit/iris/engine/object/objects/IrisRareObject.java index ea4f378da..04e4e9e4d 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisRareObject.java +++ b/src/main/java/com/volmit/iris/engine/object/objects/IrisRareObject.java @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.objects; import com.volmit.iris.engine.object.annotations.Desc; import com.volmit.iris.engine.object.annotations.MinNumber; @@ -42,7 +42,7 @@ public class IrisRareObject { @Desc("The rarity is 1 in X") private int rarity = 1; - @RegistryListResource(IrisObject.class) + @RegistryListResource(LoaderObject.class) @Required @Desc("The object to place if rarity check passed") private String object = ""; diff --git a/src/main/java/com/volmit/iris/engine/object/IrisObject.java b/src/main/java/com/volmit/iris/engine/object/objects/LoaderObject.java similarity index 97% rename from src/main/java/com/volmit/iris/engine/object/IrisObject.java rename to src/main/java/com/volmit/iris/engine/object/objects/LoaderObject.java index ee623875f..855a90f09 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisObject.java +++ b/src/main/java/com/volmit/iris/engine/object/objects/LoaderObject.java @@ -16,14 +16,16 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.objects; import com.volmit.iris.Iris; import com.volmit.iris.core.project.loader.IrisData; -import com.volmit.iris.engine.cache.AtomicCache; +import com.volmit.iris.engine.data.cache.AtomicCache; import com.volmit.iris.engine.data.B; import com.volmit.iris.engine.framework.placer.HeightmapObjectPlacer; -import com.volmit.iris.engine.interpolation.IrisInterpolation; +import com.volmit.iris.util.interpolation.IrisInterpolation; +import com.volmit.iris.engine.object.basic.IrisPosition; +import com.volmit.iris.core.project.loader.LoaderRegistrant; import com.volmit.iris.engine.object.common.CarveResult; import com.volmit.iris.engine.object.common.IObjectPlacer; import com.volmit.iris.engine.object.tile.TileData; @@ -56,7 +58,7 @@ import java.util.function.Consumer; @Accessors(chain = true) @Data @EqualsAndHashCode(callSuper = false) -public class IrisObject extends IrisRegistrant { +public class LoaderObject extends LoaderRegistrant { private static final Vector HALF = new Vector(0.5, 0.5, 0.5); private static final BlockData AIR = B.get("CAVE_AIR"); private static final BlockData VAIR = B.get("VOID_AIR"); @@ -75,7 +77,7 @@ public class IrisObject extends IrisRegistrant { private transient AtomicCache aabb = new AtomicCache<>(); - public IrisObject(int w, int h, int d) { + public LoaderObject(int w, int h, int d) { blocks = new KMap<>(); states = new KMap<>(); this.w = w; @@ -84,7 +86,7 @@ public class IrisObject extends IrisRegistrant { center = new BlockVector(w / 2, h / 2, d / 2); } - public IrisObject() { + public LoaderObject() { this(0, 0, 0); } @@ -212,8 +214,8 @@ public class IrisObject extends IrisRegistrant { lock.unlock(); } - public synchronized IrisObject copy() { - IrisObject o = new IrisObject(w, h, d); + public synchronized LoaderObject copy() { + LoaderObject o = new LoaderObject(w, h, d); o.setLoadKey(o.getLoadKey()); o.setCenter(getCenter().clone()); @@ -715,8 +717,8 @@ public class IrisObject extends IrisRegistrant { return y; } - public IrisObject rotateCopy(IrisObjectRotation rt) { - IrisObject copy = copy(); + public LoaderObject rotateCopy(IrisObjectRotation rt) { + LoaderObject copy = copy(); copy.rotate(rt, 0, 0, 0); return copy; } @@ -778,7 +780,7 @@ public class IrisObject extends IrisRegistrant { } } - public IrisObject scaled(double scale, IrisObjectPlacementScaleInterpolator interpolation) { + public LoaderObject scaled(double scale, IrisObjectPlacementScaleInterpolator interpolation) { Vector sm1 = new Vector(scale - 1, scale - 1, scale - 1); scale = Math.max(0.001, Math.min(50, scale)); if (scale < 1) { @@ -800,7 +802,7 @@ public class IrisObject extends IrisRegistrant { center = center.setZ(center.getBlockZ() + 0.5); } - IrisObject oo = new IrisObject((int) Math.ceil((w * scale) + (scale * 2)), (int) Math.ceil((h * scale) + (scale * 2)), (int) Math.ceil((d * scale) + (scale * 2))); + LoaderObject oo = new LoaderObject((int) Math.ceil((w * scale) + (scale * 2)), (int) Math.ceil((h * scale) + (scale * 2)), (int) Math.ceil((d * scale) + (scale * 2))); for (Map.Entry entry : blocks.entrySet()) { BlockData bd = entry.getValue(); diff --git a/src/main/java/com/volmit/iris/engine/object/ObjectPlaceMode.java b/src/main/java/com/volmit/iris/engine/object/objects/ObjectPlaceMode.java similarity index 98% rename from src/main/java/com/volmit/iris/engine/object/ObjectPlaceMode.java rename to src/main/java/com/volmit/iris/engine/object/objects/ObjectPlaceMode.java index caf2f278e..60aa55b53 100644 --- a/src/main/java/com/volmit/iris/engine/object/ObjectPlaceMode.java +++ b/src/main/java/com/volmit/iris/engine/object/objects/ObjectPlaceMode.java @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.objects; import com.volmit.iris.engine.object.annotations.Desc; diff --git a/src/main/java/com/volmit/iris/engine/object/IrisRegionRidge.java b/src/main/java/com/volmit/iris/engine/object/regional/IrisRegionRidge.java similarity index 92% rename from src/main/java/com/volmit/iris/engine/object/IrisRegionRidge.java rename to src/main/java/com/volmit/iris/engine/object/regional/IrisRegionRidge.java index 2191efb81..49d29b5ad 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisRegionRidge.java +++ b/src/main/java/com/volmit/iris/engine/object/regional/IrisRegionRidge.java @@ -16,9 +16,12 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.regional; -import com.volmit.iris.engine.cache.AtomicCache; +import com.volmit.iris.engine.data.cache.AtomicCache; +import com.volmit.iris.engine.object.biome.InferredType; +import com.volmit.iris.engine.object.biome.LoaderBiome; +import com.volmit.iris.engine.object.biome.IrisBiomePaletteLayer; import com.volmit.iris.util.noise.CellGenerator; import com.volmit.iris.engine.object.annotations.*; import com.volmit.iris.util.math.RNG; @@ -33,7 +36,7 @@ import lombok.experimental.Accessors; @Desc("A ridge config") @Data public class IrisRegionRidge { - @RegistryListResource(IrisBiome.class) + @RegistryListResource(LoaderBiome.class) @Required @Desc("The biome name") private String biome = ""; diff --git a/src/main/java/com/volmit/iris/engine/object/IrisRegionSpot.java b/src/main/java/com/volmit/iris/engine/object/regional/IrisRegionSpot.java similarity index 90% rename from src/main/java/com/volmit/iris/engine/object/IrisRegionSpot.java rename to src/main/java/com/volmit/iris/engine/object/regional/IrisRegionSpot.java index 7cb4bd93e..a5fdc9164 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisRegionSpot.java +++ b/src/main/java/com/volmit/iris/engine/object/regional/IrisRegionSpot.java @@ -16,9 +16,12 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.regional; -import com.volmit.iris.engine.cache.AtomicCache; +import com.volmit.iris.engine.data.cache.AtomicCache; +import com.volmit.iris.engine.object.biome.InferredType; +import com.volmit.iris.engine.object.biome.LoaderBiome; +import com.volmit.iris.engine.object.biome.IrisBiomePaletteLayer; import com.volmit.iris.util.noise.CellGenerator; import com.volmit.iris.engine.object.annotations.Desc; import com.volmit.iris.engine.object.annotations.MinNumber; @@ -36,7 +39,7 @@ import lombok.experimental.Accessors; @Desc("A spot config") @Data public class IrisRegionSpot { - @RegistryListResource(IrisBiome.class) + @RegistryListResource(LoaderBiome.class) @Required @Desc("The biome to be placed") private String biome = ""; diff --git a/src/main/java/com/volmit/iris/engine/object/IrisRegion.java b/src/main/java/com/volmit/iris/engine/object/regional/LoaderRegion.java similarity index 84% rename from src/main/java/com/volmit/iris/engine/object/IrisRegion.java rename to src/main/java/com/volmit/iris/engine/object/regional/LoaderRegion.java index a7befd171..1eecd986c 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisRegion.java +++ b/src/main/java/com/volmit/iris/engine/object/regional/LoaderRegion.java @@ -16,13 +16,26 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.regional; import com.volmit.iris.Iris; import com.volmit.iris.core.gui.components.RenderType; import com.volmit.iris.core.project.loader.IrisData; -import com.volmit.iris.engine.cache.AtomicCache; +import com.volmit.iris.core.project.loader.LoaderRegistrant; +import com.volmit.iris.engine.data.cache.AtomicCache; import com.volmit.iris.engine.data.DataProvider; +import com.volmit.iris.engine.object.biome.InferredType; +import com.volmit.iris.engine.object.biome.LoaderBiome; +import com.volmit.iris.engine.object.block.IrisBlockDrops; +import com.volmit.iris.engine.object.deposits.IrisDepositGenerator; +import com.volmit.iris.engine.object.feature.IrisFeaturePotential; +import com.volmit.iris.engine.object.jigsaw.IrisJigsawStructurePlacement; +import com.volmit.iris.engine.object.loot.IrisLootReference; +import com.volmit.iris.engine.object.meta.IrisEffect; +import com.volmit.iris.engine.object.noise.IrisGeneratorStyle; +import com.volmit.iris.engine.object.noise.NoiseStyle; +import com.volmit.iris.engine.object.objects.IrisObjectPlacement; +import com.volmit.iris.engine.object.spawners.LoaderSpawner; import com.volmit.iris.util.noise.CNG; import com.volmit.iris.engine.object.annotations.*; import com.volmit.iris.engine.object.common.IRare; @@ -49,7 +62,7 @@ import java.util.Random; @Desc("Represents an iris region") @Data @EqualsAndHashCode(callSuper = false) -public class IrisRegion extends IrisRegistrant implements IRare { +public class LoaderRegion extends LoaderRegistrant implements IRare { @MinNumber(2) @Required @Desc("The name of the region") @@ -69,7 +82,7 @@ public class IrisRegion extends IrisRegistrant implements IRare { @Desc("Spawn Entities in this region over time. Iris will continually replenish these mobs just like vanilla does.") @ArrayType(min = 1, type = String.class) - @RegistryListResource(IrisSpawner.class) + @RegistryListResource(LoaderSpawner.class) private KList entitySpawners = new KList<>(); @MinNumber(1) @@ -134,35 +147,35 @@ public class IrisRegion extends IrisRegistrant implements IRare { @Desc("The biome implosion ratio, how much to implode biomes into children (chance)") private double biomeImplosionRatio = 0.4; - @RegistryListResource(IrisBiome.class) + @RegistryListResource(LoaderBiome.class) @Required @ArrayType(min = 1, type = String.class) @Desc("A list of root-level biomes in this region. Don't specify child biomes of other biomes here. Just the root parents.") private KList landBiomes = new KList<>(); - @RegistryListResource(IrisBiome.class) + @RegistryListResource(LoaderBiome.class) @Required @ArrayType(min = 1, type = String.class) @Desc("A list of root-level biomes in this region. Don't specify child biomes of other biomes here. Just the root parents.") private KList seaBiomes = new KList<>(); - @RegistryListResource(IrisBiome.class) + @RegistryListResource(LoaderBiome.class) @Required @ArrayType(min = 1, type = String.class) @Desc("A list of root-level biomes in this region. Don't specify child biomes of other biomes here. Just the root parents.") private KList shoreBiomes = new KList<>(); - @RegistryListResource(IrisBiome.class) + @RegistryListResource(LoaderBiome.class) @ArrayType(min = 1, type = String.class) @Desc("A list of root-level biomes in this region. Don't specify child biomes of other biomes here. Just the root parents.") private KList riverBiomes = new KList<>(); - @RegistryListResource(IrisBiome.class) + @RegistryListResource(LoaderBiome.class) @ArrayType(min = 1, type = String.class) @Desc("A list of root-level biomes in this region. Don't specify child biomes of other biomes here. Just the root parents.") private KList lakeBiomes = new KList<>(); - @RegistryListResource(IrisBiome.class) + @RegistryListResource(LoaderBiome.class) @ArrayType(min = 1, type = String.class) @Desc("A list of root-level biomes in this region. Don't specify child biomes of other biomes here. Just the root parents.") private KList caveBiomes = new KList<>(); @@ -215,12 +228,12 @@ public class IrisRegion extends IrisRegistrant implements IRare { private final transient AtomicCache> cacheRidge = new AtomicCache<>(); private final transient AtomicCache> cacheSpot = new AtomicCache<>(); private final transient AtomicCache shoreHeightGenerator = new AtomicCache<>(); - private final transient AtomicCache> realLandBiomes = new AtomicCache<>(); - private final transient AtomicCache> realLakeBiomes = new AtomicCache<>(); - private final transient AtomicCache> realRiverBiomes = new AtomicCache<>(); - private final transient AtomicCache> realSeaBiomes = new AtomicCache<>(); - private final transient AtomicCache> realShoreBiomes = new AtomicCache<>(); - private final transient AtomicCache> realCaveBiomes = new AtomicCache<>(); + private final transient AtomicCache> realLandBiomes = new AtomicCache<>(); + private final transient AtomicCache> realLakeBiomes = new AtomicCache<>(); + private final transient AtomicCache> realRiverBiomes = new AtomicCache<>(); + private final transient AtomicCache> realSeaBiomes = new AtomicCache<>(); + private final transient AtomicCache> realShoreBiomes = new AtomicCache<>(); + private final transient AtomicCache> realCaveBiomes = new AtomicCache<>(); private final transient AtomicCache lakeGen = new AtomicCache<>(); private final transient AtomicCache riverGen = new AtomicCache<>(); private final transient AtomicCache riverChanceGen = new AtomicCache<>(); @@ -351,8 +364,8 @@ public class IrisRegion extends IrisRegistrant implements IRare { return names; } - public KList getAllBiomes(DataProvider g) { - KMap b = new KMap<>(); + public KList getAllBiomes(DataProvider g) { + KMap b = new KMap<>(); KSet names = getAllBiomeIds(); while (!names.isEmpty()) { @@ -362,7 +375,7 @@ public class IrisRegion extends IrisRegistrant implements IRare { continue; } - IrisBiome biome = g.getData().getBiomeLoader().load(i); + LoaderBiome biome = g.getData().getBiomeLoader().load(i); names.remove(i); if (biome == null) { @@ -378,7 +391,7 @@ public class IrisRegion extends IrisRegistrant implements IRare { return b.v(); } - public KList getBiomes(DataProvider g, InferredType type) { + public KList getBiomes(DataProvider g, InferredType type) { if (type.equals(InferredType.LAND)) { return getRealLandBiomes(g); } else if (type.equals(InferredType.SEA)) { @@ -396,10 +409,10 @@ public class IrisRegion extends IrisRegistrant implements IRare { return new KList<>(); } - public KList getRealCaveBiomes(DataProvider g) { + public KList getRealCaveBiomes(DataProvider g) { return realCaveBiomes.aquire(() -> { - KList realCaveBiomes = new KList<>(); + KList realCaveBiomes = new KList<>(); for (String i : getCaveBiomes()) { realCaveBiomes.add(g.getData().getBiomeLoader().load(i)); @@ -409,10 +422,10 @@ public class IrisRegion extends IrisRegistrant implements IRare { }); } - public KList getRealLakeBiomes(DataProvider g) { + public KList getRealLakeBiomes(DataProvider g) { return realLakeBiomes.aquire(() -> { - KList realLakeBiomes = new KList<>(); + KList realLakeBiomes = new KList<>(); for (String i : getLakeBiomes()) { realLakeBiomes.add(g.getData().getBiomeLoader().load(i)); @@ -422,10 +435,10 @@ public class IrisRegion extends IrisRegistrant implements IRare { }); } - public KList getRealRiverBiomes(DataProvider g) { + public KList getRealRiverBiomes(DataProvider g) { return realRiverBiomes.aquire(() -> { - KList realRiverBiomes = new KList<>(); + KList realRiverBiomes = new KList<>(); for (String i : getRiverBiomes()) { realRiverBiomes.add(g.getData().getBiomeLoader().load(i)); @@ -435,10 +448,10 @@ public class IrisRegion extends IrisRegistrant implements IRare { }); } - public KList getRealShoreBiomes(DataProvider g) { + public KList getRealShoreBiomes(DataProvider g) { return realShoreBiomes.aquire(() -> { - KList realShoreBiomes = new KList<>(); + KList realShoreBiomes = new KList<>(); for (String i : getShoreBiomes()) { realShoreBiomes.add(g.getData().getBiomeLoader().load(i)); @@ -448,10 +461,10 @@ public class IrisRegion extends IrisRegistrant implements IRare { }); } - public KList getRealSeaBiomes(DataProvider g) { + public KList getRealSeaBiomes(DataProvider g) { return realSeaBiomes.aquire(() -> { - KList realSeaBiomes = new KList<>(); + KList realSeaBiomes = new KList<>(); for (String i : getSeaBiomes()) { realSeaBiomes.add(g.getData().getBiomeLoader().load(i)); @@ -461,10 +474,10 @@ public class IrisRegion extends IrisRegistrant implements IRare { }); } - public KList getRealLandBiomes(DataProvider g) { + public KList getRealLandBiomes(DataProvider g) { return realLandBiomes.aquire(() -> { - KList realLandBiomes = new KList<>(); + KList realLandBiomes = new KList<>(); for (String i : getLandBiomes()) { realLandBiomes.add(g.getData().getBiomeLoader().load(i)); @@ -474,8 +487,8 @@ public class IrisRegion extends IrisRegistrant implements IRare { }); } - public KList getAllAnyBiomes() { - KMap b = new KMap<>(); + public KList getAllAnyBiomes() { + KMap b = new KMap<>(); KSet names = new KSet<>(); names.addAll(landBiomes); names.addAll(caveBiomes); @@ -493,7 +506,7 @@ public class IrisRegion extends IrisRegistrant implements IRare { continue; } - IrisBiome biome = IrisData.loadAnyBiome(i); + LoaderBiome biome = IrisData.loadAnyBiome(i); names.remove(i); if (biome == null) { @@ -515,11 +528,11 @@ public class IrisRegion extends IrisRegistrant implements IRare { Random rand = new Random(getName().hashCode() + getAllBiomeIds().hashCode()); RandomColor randomColor = new RandomColor(rand); - KList biomes = getRealLandBiomes(dataProvider); + KList biomes = getRealLandBiomes(dataProvider); while (biomes.size() > 0) { int index = rand.nextInt(biomes.size()); - IrisBiome biome = biomes.get(index); + LoaderBiome biome = biomes.get(index); if (biome.getVanillaDerivative() != null) { RandomColor.Color col = VanillaBiomeMap.getColorType(biome.getVanillaDerivative()); diff --git a/src/main/java/com/volmit/iris/engine/object/IrisSpawnGroup.java b/src/main/java/com/volmit/iris/engine/object/spawners/IrisSpawnGroup.java similarity index 90% rename from src/main/java/com/volmit/iris/engine/object/IrisSpawnGroup.java rename to src/main/java/com/volmit/iris/engine/object/spawners/IrisSpawnGroup.java index 2317f6a85..1b2318b8c 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisSpawnGroup.java +++ b/src/main/java/com/volmit/iris/engine/object/spawners/IrisSpawnGroup.java @@ -16,9 +16,10 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.spawners; import com.volmit.iris.engine.object.annotations.Desc; +import com.volmit.iris.engine.object.annotations.RegistryListResource; @Desc("Terrain modes are used to decide the generator type currently used") public enum IrisSpawnGroup { diff --git a/src/main/java/com/volmit/iris/engine/object/IrisSurface.java b/src/main/java/com/volmit/iris/engine/object/spawners/IrisSurface.java similarity index 66% rename from src/main/java/com/volmit/iris/engine/object/IrisSurface.java rename to src/main/java/com/volmit/iris/engine/object/spawners/IrisSurface.java index 27c2bb523..0fcf5e9f3 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisSurface.java +++ b/src/main/java/com/volmit/iris/engine/object/spawners/IrisSurface.java @@ -1,4 +1,22 @@ -package com.volmit.iris.engine.object; +/* + * Iris is a World Generator for Minecraft Bukkit Servers + * Copyright (c) 2021 Arcane Arts (Volmit Software) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.volmit.iris.engine.object.spawners; import com.volmit.iris.Iris; import com.volmit.iris.engine.object.annotations.Desc; diff --git a/src/main/java/com/volmit/iris/engine/object/IrisSpawner.java b/src/main/java/com/volmit/iris/engine/object/spawners/LoaderSpawner.java similarity index 85% rename from src/main/java/com/volmit/iris/engine/object/IrisSpawner.java rename to src/main/java/com/volmit/iris/engine/object/spawners/LoaderSpawner.java index 45e68c4a8..bc1e6ce2f 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisSpawner.java +++ b/src/main/java/com/volmit/iris/engine/object/spawners/LoaderSpawner.java @@ -16,10 +16,16 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.spawners; +import com.volmit.iris.engine.object.basic.IrisRate; +import com.volmit.iris.core.project.loader.LoaderRegistrant; +import com.volmit.iris.engine.object.basic.IrisTimeBlock; +import com.volmit.iris.engine.object.basic.IrisWeather; import com.volmit.iris.engine.object.annotations.ArrayType; import com.volmit.iris.engine.object.annotations.Desc; +import com.volmit.iris.engine.object.biome.LoaderBiome; +import com.volmit.iris.engine.object.entity.IrisEntitySpawn; import com.volmit.iris.util.collection.KList; import lombok.AllArgsConstructor; import lombok.Data; @@ -34,7 +40,7 @@ import org.bukkit.World; @AllArgsConstructor @Desc("Represents an entity spawn during initial chunk generation") @Data -public class IrisSpawner extends IrisRegistrant { +public class LoaderSpawner extends LoaderRegistrant { @ArrayType(min = 1, type = IrisEntitySpawn.class) @Desc("The entity spawns to add") private KList spawns = new KList<>(); @@ -54,7 +60,7 @@ public class IrisSpawner extends IrisRegistrant { @Desc("Where should these spawns be placed") private IrisSpawnGroup group = IrisSpawnGroup.NORMAL; - public boolean isValid(IrisBiome biome) { + public boolean isValid(LoaderBiome biome) { return switch (group) { case NORMAL -> switch (biome.getInferredType()) { case SHORE, SEA, CAVE, RIVER, LAKE, DEFER -> false; diff --git a/src/main/java/com/volmit/iris/engine/object/IrisTree.java b/src/main/java/com/volmit/iris/engine/object/trees/IrisTree.java similarity index 98% rename from src/main/java/com/volmit/iris/engine/object/IrisTree.java rename to src/main/java/com/volmit/iris/engine/object/trees/IrisTree.java index c2c10dc11..a01e221bf 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisTree.java +++ b/src/main/java/com/volmit/iris/engine/object/trees/IrisTree.java @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.trees; import com.volmit.iris.engine.object.annotations.ArrayType; import com.volmit.iris.engine.object.annotations.Desc; diff --git a/src/main/java/com/volmit/iris/engine/object/IrisTreeModes.java b/src/main/java/com/volmit/iris/engine/object/trees/IrisTreeModes.java similarity index 96% rename from src/main/java/com/volmit/iris/engine/object/IrisTreeModes.java rename to src/main/java/com/volmit/iris/engine/object/trees/IrisTreeModes.java index 90afa5c3e..b65b3c4c8 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisTreeModes.java +++ b/src/main/java/com/volmit/iris/engine/object/trees/IrisTreeModes.java @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.trees; import com.volmit.iris.engine.object.annotations.Desc; diff --git a/src/main/java/com/volmit/iris/engine/object/IrisTreeSettings.java b/src/main/java/com/volmit/iris/engine/object/trees/IrisTreeSettings.java similarity index 96% rename from src/main/java/com/volmit/iris/engine/object/IrisTreeSettings.java rename to src/main/java/com/volmit/iris/engine/object/trees/IrisTreeSettings.java index e2dd1173a..42f26dc57 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisTreeSettings.java +++ b/src/main/java/com/volmit/iris/engine/object/trees/IrisTreeSettings.java @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.trees; import com.volmit.iris.engine.object.annotations.Desc; import com.volmit.iris.engine.object.annotations.Required; diff --git a/src/main/java/com/volmit/iris/engine/object/IrisTreeSize.java b/src/main/java/com/volmit/iris/engine/object/trees/IrisTreeSize.java similarity index 97% rename from src/main/java/com/volmit/iris/engine/object/IrisTreeSize.java rename to src/main/java/com/volmit/iris/engine/object/trees/IrisTreeSize.java index 62bf545d5..d604f8ce2 100644 --- a/src/main/java/com/volmit/iris/engine/object/IrisTreeSize.java +++ b/src/main/java/com/volmit/iris/engine/object/trees/IrisTreeSize.java @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.object; +package com.volmit.iris.engine.object.trees; import com.volmit.iris.engine.object.annotations.Desc; import com.volmit.iris.engine.object.annotations.Required; diff --git a/src/main/java/com/volmit/iris/engine/parallax/ParallaxChunkMeta.java b/src/main/java/com/volmit/iris/engine/parallax/ParallaxChunkMeta.java index 0f47173b0..b12178e1e 100644 --- a/src/main/java/com/volmit/iris/engine/parallax/ParallaxChunkMeta.java +++ b/src/main/java/com/volmit/iris/engine/parallax/ParallaxChunkMeta.java @@ -21,7 +21,7 @@ package com.volmit.iris.engine.parallax; import com.google.gson.Gson; import com.volmit.iris.util.hunk.io.HunkIOAdapter; import com.volmit.iris.util.hunk.io.PaletteHunkIOAdapter; -import com.volmit.iris.engine.object.IrisFeaturePositional; +import com.volmit.iris.engine.object.feature.IrisFeaturePositional; import com.volmit.iris.util.oldnbt.CompoundTag; import lombok.AllArgsConstructor; import lombok.Data; diff --git a/src/main/java/com/volmit/iris/util/data/BiomeMap.java b/src/main/java/com/volmit/iris/util/data/BiomeMap.java index 1e1b51d50..4e7861699 100644 --- a/src/main/java/com/volmit/iris/util/data/BiomeMap.java +++ b/src/main/java/com/volmit/iris/util/data/BiomeMap.java @@ -18,20 +18,20 @@ package com.volmit.iris.util.data; -import com.volmit.iris.engine.object.IrisBiome; +import com.volmit.iris.engine.object.biome.LoaderBiome; public class BiomeMap { - private final IrisBiome[] height; + private final LoaderBiome[] height; public BiomeMap() { - height = new IrisBiome[256]; + height = new LoaderBiome[256]; } - public void setBiome(int x, int z, IrisBiome h) { + public void setBiome(int x, int z, LoaderBiome h) { height[x * 16 + z] = h; } - public IrisBiome getBiome(int x, int z) { + public LoaderBiome getBiome(int x, int z) { return height[x * 16 + z]; } } diff --git a/src/main/java/com/volmit/iris/util/hunk/Hunk.java b/src/main/java/com/volmit/iris/util/hunk/Hunk.java index 250fbb38e..ad277c19b 100644 --- a/src/main/java/com/volmit/iris/util/hunk/Hunk.java +++ b/src/main/java/com/volmit/iris/util/hunk/Hunk.java @@ -21,9 +21,9 @@ package com.volmit.iris.util.hunk; import com.volmit.iris.util.hunk.io.HunkIOAdapter; import com.volmit.iris.util.hunk.storage.*; import com.volmit.iris.util.hunk.view.*; -import com.volmit.iris.engine.interpolation.InterpolationMethod; -import com.volmit.iris.engine.interpolation.InterpolationMethod3D; -import com.volmit.iris.engine.interpolation.IrisInterpolation; +import com.volmit.iris.util.interpolation.InterpolationMethod; +import com.volmit.iris.util.interpolation.InterpolationMethod3D; +import com.volmit.iris.util.interpolation.IrisInterpolation; import com.volmit.iris.util.parallel.BurstExecutor; import com.volmit.iris.util.parallel.MultiBurst; import com.volmit.iris.util.stream.interpolation.Interpolated; diff --git a/src/main/java/com/volmit/iris/util/hunk/storage/ArrayHunk.java b/src/main/java/com/volmit/iris/util/hunk/storage/ArrayHunk.java index 3bb135d52..48d17a70c 100644 --- a/src/main/java/com/volmit/iris/util/hunk/storage/ArrayHunk.java +++ b/src/main/java/com/volmit/iris/util/hunk/storage/ArrayHunk.java @@ -18,7 +18,7 @@ package com.volmit.iris.util.hunk.storage; -import com.volmit.iris.engine.cache.Cache; +import com.volmit.iris.engine.data.cache.Cache; import com.volmit.iris.util.hunk.Hunk; import lombok.Data; import lombok.EqualsAndHashCode; diff --git a/src/main/java/com/volmit/iris/engine/interpolation/InterpolationMethod.java b/src/main/java/com/volmit/iris/util/interpolation/InterpolationMethod.java similarity index 99% rename from src/main/java/com/volmit/iris/engine/interpolation/InterpolationMethod.java rename to src/main/java/com/volmit/iris/util/interpolation/InterpolationMethod.java index e521ce460..29c126b53 100644 --- a/src/main/java/com/volmit/iris/engine/interpolation/InterpolationMethod.java +++ b/src/main/java/com/volmit/iris/util/interpolation/InterpolationMethod.java @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.interpolation; +package com.volmit.iris.util.interpolation; import com.volmit.iris.engine.object.annotations.Desc; diff --git a/src/main/java/com/volmit/iris/engine/interpolation/InterpolationMethod3D.java b/src/main/java/com/volmit/iris/util/interpolation/InterpolationMethod3D.java similarity index 96% rename from src/main/java/com/volmit/iris/engine/interpolation/InterpolationMethod3D.java rename to src/main/java/com/volmit/iris/util/interpolation/InterpolationMethod3D.java index 3bb9dc619..609e6aae2 100644 --- a/src/main/java/com/volmit/iris/engine/interpolation/InterpolationMethod3D.java +++ b/src/main/java/com/volmit/iris/util/interpolation/InterpolationMethod3D.java @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.interpolation; +package com.volmit.iris.util.interpolation; import com.volmit.iris.engine.object.annotations.Desc; diff --git a/src/main/java/com/volmit/iris/engine/interpolation/InterpolationType.java b/src/main/java/com/volmit/iris/util/interpolation/InterpolationType.java similarity index 94% rename from src/main/java/com/volmit/iris/engine/interpolation/InterpolationType.java rename to src/main/java/com/volmit/iris/util/interpolation/InterpolationType.java index 6e6aa7604..91bc38e52 100644 --- a/src/main/java/com/volmit/iris/engine/interpolation/InterpolationType.java +++ b/src/main/java/com/volmit/iris/util/interpolation/InterpolationType.java @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.interpolation; +package com.volmit.iris.util.interpolation; public enum InterpolationType { LINEAR, diff --git a/src/main/java/com/volmit/iris/engine/interpolation/IrisInterpolation.java b/src/main/java/com/volmit/iris/util/interpolation/IrisInterpolation.java similarity index 99% rename from src/main/java/com/volmit/iris/engine/interpolation/IrisInterpolation.java rename to src/main/java/com/volmit/iris/util/interpolation/IrisInterpolation.java index 76a576159..d7bd3f50e 100644 --- a/src/main/java/com/volmit/iris/engine/interpolation/IrisInterpolation.java +++ b/src/main/java/com/volmit/iris/util/interpolation/IrisInterpolation.java @@ -16,12 +16,12 @@ * along with this program. If not, see . */ -package com.volmit.iris.engine.interpolation; +package com.volmit.iris.util.interpolation; import com.google.common.util.concurrent.AtomicDouble; import com.volmit.iris.util.hunk.Hunk; import com.volmit.iris.util.noise.CNG; -import com.volmit.iris.engine.object.NoiseStyle; +import com.volmit.iris.engine.object.noise.NoiseStyle; import com.volmit.iris.util.function.NoiseProvider; import com.volmit.iris.util.function.NoiseProvider3; import com.volmit.iris.util.math.RNG; diff --git a/src/main/java/com/volmit/iris/util/io/SKConversion.java b/src/main/java/com/volmit/iris/util/io/SKConversion.java index 91af58579..1351e1156 100644 --- a/src/main/java/com/volmit/iris/util/io/SKConversion.java +++ b/src/main/java/com/volmit/iris/util/io/SKConversion.java @@ -25,7 +25,7 @@ import com.sk89q.worldedit.extent.clipboard.io.ClipboardFormats; import com.sk89q.worldedit.extent.clipboard.io.ClipboardReader; import com.sk89q.worldedit.math.BlockVector3; import com.volmit.iris.Iris; -import com.volmit.iris.engine.object.IrisObject; +import com.volmit.iris.engine.object.objects.LoaderObject; import java.io.File; import java.io.FileInputStream; @@ -37,7 +37,7 @@ public class SKConversion { try (ClipboardReader reader = format.getReader(new FileInputStream(in))) { Clipboard clipboard = reader.read(); BlockVector3 size = clipboard.getMaximumPoint().subtract(clipboard.getMinimumPoint()); - IrisObject o = new IrisObject(size.getBlockX() + 1, size.getBlockY() + 1, size.getBlockZ() + 1); + LoaderObject o = new LoaderObject(size.getBlockX() + 1, size.getBlockY() + 1, size.getBlockZ() + 1); for (int i = clipboard.getMinimumPoint().getBlockX(); i <= clipboard.getMaximumPoint().getBlockX(); i++) { for (int j = clipboard.getMinimumPoint().getBlockY(); j <= clipboard.getMaximumPoint().getBlockY(); j++) { diff --git a/src/main/java/com/volmit/iris/util/math/AxisAlignedBB.java b/src/main/java/com/volmit/iris/util/math/AxisAlignedBB.java index 10603e5ac..9d46bab81 100644 --- a/src/main/java/com/volmit/iris/util/math/AxisAlignedBB.java +++ b/src/main/java/com/volmit/iris/util/math/AxisAlignedBB.java @@ -18,7 +18,7 @@ package com.volmit.iris.util.math; -import com.volmit.iris.engine.object.IrisPosition; +import com.volmit.iris.engine.object.basic.IrisPosition; import com.volmit.iris.util.data.Cuboid; import org.bukkit.World; import org.bukkit.util.BlockVector; diff --git a/src/main/java/com/volmit/iris/util/math/Position2.java b/src/main/java/com/volmit/iris/util/math/Position2.java index d7b0d549e..c1cc093dc 100644 --- a/src/main/java/com/volmit/iris/util/math/Position2.java +++ b/src/main/java/com/volmit/iris/util/math/Position2.java @@ -18,7 +18,7 @@ package com.volmit.iris.util.math; -import com.volmit.iris.engine.object.IrisPosition; +import com.volmit.iris.engine.object.basic.IrisPosition; public class Position2 { private int x; diff --git a/src/main/java/com/volmit/iris/util/noise/CNG.java b/src/main/java/com/volmit/iris/util/noise/CNG.java index 0b1659243..b5e05ed25 100644 --- a/src/main/java/com/volmit/iris/util/noise/CNG.java +++ b/src/main/java/com/volmit/iris/util/noise/CNG.java @@ -19,7 +19,7 @@ package com.volmit.iris.util.noise; import com.volmit.iris.Iris; -import com.volmit.iris.engine.interpolation.IrisInterpolation; +import com.volmit.iris.util.interpolation.IrisInterpolation; import com.volmit.iris.engine.object.common.IRare; import com.volmit.iris.util.stream.ProceduralStream; import com.volmit.iris.util.stream.arithmetic.FittedStream; diff --git a/src/main/java/com/volmit/iris/util/noise/ExpressionNoise.java b/src/main/java/com/volmit/iris/util/noise/ExpressionNoise.java index da8d37aa4..e9ce2ff70 100644 --- a/src/main/java/com/volmit/iris/util/noise/ExpressionNoise.java +++ b/src/main/java/com/volmit/iris/util/noise/ExpressionNoise.java @@ -18,14 +18,14 @@ package com.volmit.iris.util.noise; -import com.volmit.iris.engine.object.IrisExpression; +import com.volmit.iris.engine.object.noise.LoaderExpression; import com.volmit.iris.util.math.RNG; public class ExpressionNoise implements NoiseGenerator { private final RNG rng; - private final IrisExpression expression; + private final LoaderExpression expression; - public ExpressionNoise(RNG rng, IrisExpression expression) { + public ExpressionNoise(RNG rng, LoaderExpression expression) { this.rng = rng; this.expression = expression; } diff --git a/src/main/java/com/volmit/iris/util/noise/InterpolatedNoise.java b/src/main/java/com/volmit/iris/util/noise/InterpolatedNoise.java index 0bd657df6..af4efb689 100644 --- a/src/main/java/com/volmit/iris/util/noise/InterpolatedNoise.java +++ b/src/main/java/com/volmit/iris/util/noise/InterpolatedNoise.java @@ -18,8 +18,8 @@ package com.volmit.iris.util.noise; -import com.volmit.iris.engine.interpolation.InterpolationMethod; -import com.volmit.iris.engine.interpolation.IrisInterpolation; +import com.volmit.iris.util.interpolation.InterpolationMethod; +import com.volmit.iris.util.interpolation.IrisInterpolation; import com.volmit.iris.util.function.NoiseProvider; public class InterpolatedNoise implements NoiseGenerator { diff --git a/src/main/java/com/volmit/iris/util/noise/NoiseType.java b/src/main/java/com/volmit/iris/util/noise/NoiseType.java index c19fbc512..fe0e46d2c 100644 --- a/src/main/java/com/volmit/iris/util/noise/NoiseType.java +++ b/src/main/java/com/volmit/iris/util/noise/NoiseType.java @@ -18,7 +18,7 @@ package com.volmit.iris.util.noise; -import com.volmit.iris.engine.interpolation.InterpolationMethod; +import com.volmit.iris.util.interpolation.InterpolationMethod; public enum NoiseType { WHITE(WhiteNoise::new), diff --git a/src/main/java/com/volmit/iris/util/parallel/HyperLock.java b/src/main/java/com/volmit/iris/util/parallel/HyperLock.java index 3878318c4..fc7bcbc4a 100644 --- a/src/main/java/com/volmit/iris/util/parallel/HyperLock.java +++ b/src/main/java/com/volmit/iris/util/parallel/HyperLock.java @@ -20,7 +20,7 @@ package com.volmit.iris.util.parallel; import com.googlecode.concurrentlinkedhashmap.ConcurrentLinkedHashMap; import com.volmit.iris.Iris; -import com.volmit.iris.engine.cache.Cache; +import com.volmit.iris.engine.data.cache.Cache; import com.volmit.iris.util.function.NastyRunnable; import com.volmit.iris.util.io.IORunnable; diff --git a/src/main/java/com/volmit/iris/util/stream/ProceduralStream.java b/src/main/java/com/volmit/iris/util/stream/ProceduralStream.java index 88c1c98cc..9846d16f5 100644 --- a/src/main/java/com/volmit/iris/util/stream/ProceduralStream.java +++ b/src/main/java/com/volmit/iris/util/stream/ProceduralStream.java @@ -21,7 +21,7 @@ package com.volmit.iris.util.stream; import com.volmit.iris.Iris; import com.volmit.iris.core.project.loader.IrisData; import com.volmit.iris.util.hunk.Hunk; -import com.volmit.iris.engine.object.IrisStyledRange; +import com.volmit.iris.engine.object.noise.IrisStyledRange; import com.volmit.iris.engine.object.common.IRare; import com.volmit.iris.util.stream.arithmetic.*; import com.volmit.iris.util.stream.convert.*; diff --git a/src/main/java/com/volmit/iris/util/stream/interpolation/BiHermiteStream.java b/src/main/java/com/volmit/iris/util/stream/interpolation/BiHermiteStream.java index d6fa94a63..b127443c1 100644 --- a/src/main/java/com/volmit/iris/util/stream/interpolation/BiHermiteStream.java +++ b/src/main/java/com/volmit/iris/util/stream/interpolation/BiHermiteStream.java @@ -18,7 +18,7 @@ package com.volmit.iris.util.stream.interpolation; -import com.volmit.iris.engine.interpolation.IrisInterpolation; +import com.volmit.iris.util.interpolation.IrisInterpolation; import com.volmit.iris.util.stream.BasicStream; import com.volmit.iris.util.stream.ProceduralStream; diff --git a/src/main/java/com/volmit/iris/util/stream/interpolation/BicubicStream.java b/src/main/java/com/volmit/iris/util/stream/interpolation/BicubicStream.java index 7db8d718b..5794b2fe0 100644 --- a/src/main/java/com/volmit/iris/util/stream/interpolation/BicubicStream.java +++ b/src/main/java/com/volmit/iris/util/stream/interpolation/BicubicStream.java @@ -18,7 +18,7 @@ package com.volmit.iris.util.stream.interpolation; -import com.volmit.iris.engine.interpolation.IrisInterpolation; +import com.volmit.iris.util.interpolation.IrisInterpolation; import com.volmit.iris.util.stream.BasicStream; import com.volmit.iris.util.stream.ProceduralStream; diff --git a/src/main/java/com/volmit/iris/util/stream/interpolation/BilinearStream.java b/src/main/java/com/volmit/iris/util/stream/interpolation/BilinearStream.java index 06ec05329..623b3618e 100644 --- a/src/main/java/com/volmit/iris/util/stream/interpolation/BilinearStream.java +++ b/src/main/java/com/volmit/iris/util/stream/interpolation/BilinearStream.java @@ -18,7 +18,7 @@ package com.volmit.iris.util.stream.interpolation; -import com.volmit.iris.engine.interpolation.IrisInterpolation; +import com.volmit.iris.util.interpolation.IrisInterpolation; import com.volmit.iris.util.stream.BasicStream; import com.volmit.iris.util.stream.ProceduralStream; diff --git a/src/main/java/com/volmit/iris/util/stream/interpolation/InterpolatingStream.java b/src/main/java/com/volmit/iris/util/stream/interpolation/InterpolatingStream.java index 071170c57..1d5118caf 100644 --- a/src/main/java/com/volmit/iris/util/stream/interpolation/InterpolatingStream.java +++ b/src/main/java/com/volmit/iris/util/stream/interpolation/InterpolatingStream.java @@ -18,8 +18,8 @@ package com.volmit.iris.util.stream.interpolation; -import com.volmit.iris.engine.interpolation.InterpolationMethod; -import com.volmit.iris.engine.interpolation.IrisInterpolation; +import com.volmit.iris.util.interpolation.InterpolationMethod; +import com.volmit.iris.util.interpolation.IrisInterpolation; import com.volmit.iris.util.stream.BasicStream; import com.volmit.iris.util.stream.ProceduralStream; import com.volmit.iris.util.function.NoiseProvider; diff --git a/src/main/java/com/volmit/iris/util/stream/interpolation/InterpolatorFactory.java b/src/main/java/com/volmit/iris/util/stream/interpolation/InterpolatorFactory.java index 9fab5d2d9..a852b81d4 100644 --- a/src/main/java/com/volmit/iris/util/stream/interpolation/InterpolatorFactory.java +++ b/src/main/java/com/volmit/iris/util/stream/interpolation/InterpolatorFactory.java @@ -18,7 +18,7 @@ package com.volmit.iris.util.stream.interpolation; -import com.volmit.iris.engine.interpolation.InterpolationMethod; +import com.volmit.iris.util.interpolation.InterpolationMethod; import com.volmit.iris.util.stream.ProceduralStream; @SuppressWarnings("ClassCanBeRecord") diff --git a/src/main/java/com/volmit/iris/util/stream/interpolation/TriHermiteStream.java b/src/main/java/com/volmit/iris/util/stream/interpolation/TriHermiteStream.java index 546d50dd7..0414c6898 100644 --- a/src/main/java/com/volmit/iris/util/stream/interpolation/TriHermiteStream.java +++ b/src/main/java/com/volmit/iris/util/stream/interpolation/TriHermiteStream.java @@ -18,7 +18,7 @@ package com.volmit.iris.util.stream.interpolation; -import com.volmit.iris.engine.interpolation.IrisInterpolation; +import com.volmit.iris.util.interpolation.IrisInterpolation; import com.volmit.iris.util.stream.BasicStream; import com.volmit.iris.util.stream.ProceduralStream; diff --git a/src/main/java/com/volmit/iris/util/stream/interpolation/TricubicStream.java b/src/main/java/com/volmit/iris/util/stream/interpolation/TricubicStream.java index 5d82d0623..e629f01ad 100644 --- a/src/main/java/com/volmit/iris/util/stream/interpolation/TricubicStream.java +++ b/src/main/java/com/volmit/iris/util/stream/interpolation/TricubicStream.java @@ -18,7 +18,7 @@ package com.volmit.iris.util.stream.interpolation; -import com.volmit.iris.engine.interpolation.IrisInterpolation; +import com.volmit.iris.util.interpolation.IrisInterpolation; import com.volmit.iris.util.stream.BasicStream; import com.volmit.iris.util.stream.ProceduralStream; diff --git a/src/main/java/com/volmit/iris/util/stream/interpolation/TrilinearStream.java b/src/main/java/com/volmit/iris/util/stream/interpolation/TrilinearStream.java index 2730465ee..a92075443 100644 --- a/src/main/java/com/volmit/iris/util/stream/interpolation/TrilinearStream.java +++ b/src/main/java/com/volmit/iris/util/stream/interpolation/TrilinearStream.java @@ -18,7 +18,7 @@ package com.volmit.iris.util.stream.interpolation; -import com.volmit.iris.engine.interpolation.IrisInterpolation; +import com.volmit.iris.util.interpolation.IrisInterpolation; import com.volmit.iris.util.stream.BasicStream; import com.volmit.iris.util.stream.ProceduralStream; diff --git a/src/main/java/com/volmit/iris/util/stream/utility/CachedStream2D.java b/src/main/java/com/volmit/iris/util/stream/utility/CachedStream2D.java index 04959b31c..bee54f896 100644 --- a/src/main/java/com/volmit/iris/util/stream/utility/CachedStream2D.java +++ b/src/main/java/com/volmit/iris/util/stream/utility/CachedStream2D.java @@ -19,7 +19,7 @@ package com.volmit.iris.util.stream.utility; import com.googlecode.concurrentlinkedhashmap.ConcurrentLinkedHashMap; -import com.volmit.iris.engine.cache.Cache; +import com.volmit.iris.engine.data.cache.Cache; import com.volmit.iris.util.stream.BasicStream; import com.volmit.iris.util.stream.ProceduralStream;