├── .github
└── ISSUE_TEMPLATE
│ ├── bug.yml
│ └── feature.yml
├── .gitignore
├── IRIS.png
├── LICENSE.md
├── README.md
├── build.gradle
├── core
├── build.gradle
└── src
│ └── main
│ ├── java
│ └── com
│ │ └── volmit
│ │ └── iris
│ │ ├── Iris.java
│ │ ├── core
│ │ ├── IrisSettings.java
│ │ ├── ServerConfigurator.java
│ │ ├── commands
│ │ │ ├── CommandDeveloper.java
│ │ │ ├── CommandEdit.java
│ │ │ ├── CommandFind.java
│ │ │ ├── CommandIris.java
│ │ │ ├── CommandJigsaw.java
│ │ │ ├── CommandLazyPregen.java
│ │ │ ├── CommandObject.java
│ │ │ ├── CommandPregen.java
│ │ │ ├── CommandSettings.java
│ │ │ ├── CommandStudio.java
│ │ │ ├── CommandTurboPregen.java
│ │ │ ├── CommandUpdater.java
│ │ │ └── CommandWhat.java
│ │ ├── edit
│ │ │ ├── BlockEditor.java
│ │ │ ├── BlockSignal.java
│ │ │ ├── BukkitBlockEditor.java
│ │ │ ├── DustRevealer.java
│ │ │ └── JigsawEditor.java
│ │ ├── events
│ │ │ ├── IrisEngineEvent.java
│ │ │ ├── IrisEngineHotloadEvent.java
│ │ │ └── IrisLootEvent.java
│ │ ├── gui
│ │ │ ├── NoiseExplorerGUI.java
│ │ │ ├── PregeneratorJob.java
│ │ │ ├── VisionGUI.java
│ │ │ └── components
│ │ │ │ ├── IrisRenderer.java
│ │ │ │ ├── RenderType.java
│ │ │ │ ├── Renderer.java
│ │ │ │ └── TileRender.java
│ │ ├── link
│ │ │ ├── CustomItemsDataProvider.java
│ │ │ ├── EcoItemsDataProvider.java
│ │ │ ├── ExecutableItemsDataProvider.java
│ │ │ ├── ExternalDataProvider.java
│ │ │ ├── HMCLeavesDataProvider.java
│ │ │ ├── Identifier.java
│ │ │ ├── IrisPapiExpansion.java
│ │ │ ├── ItemAdderDataProvider.java
│ │ │ ├── MMOItemsDataProvider.java
│ │ │ ├── MultiverseCoreLink.java
│ │ │ ├── MythicCrucibleDataProvider.java
│ │ │ ├── MythicMobsLink.java
│ │ │ ├── NexoDataProvider.java
│ │ │ └── WorldEditLink.java
│ │ ├── loader
│ │ │ ├── ImageResourceLoader.java
│ │ │ ├── IrisData.java
│ │ │ ├── IrisRegistrant.java
│ │ │ ├── MatterObjectResourceLoader.java
│ │ │ ├── ObjectResourceLoader.java
│ │ │ ├── ResourceLoader.java
│ │ │ └── ScriptResourceLoader.java
│ │ ├── nms
│ │ │ ├── BiomeBaseInjector.java
│ │ │ ├── INMS.java
│ │ │ ├── INMSBinding.java
│ │ │ ├── container
│ │ │ │ ├── AutoClosing.java
│ │ │ │ ├── BiomeColor.java
│ │ │ │ ├── BlockPos.java
│ │ │ │ └── Pair.java
│ │ │ ├── datapack
│ │ │ │ ├── DataVersion.java
│ │ │ │ ├── IDataFixer.java
│ │ │ │ ├── v1192
│ │ │ │ │ └── DataFixerV1192.java
│ │ │ │ ├── v1206
│ │ │ │ │ └── DataFixerV1206.java
│ │ │ │ └── v1213
│ │ │ │ │ └── DataFixerV1213.java
│ │ │ └── v1X
│ │ │ │ └── NMSBinding1X.java
│ │ ├── pack
│ │ │ ├── IrisPack.java
│ │ │ └── IrisPackRepository.java
│ │ ├── pregenerator
│ │ │ ├── ChunkUpdater.java
│ │ │ ├── DeepSearchPregenerator.java
│ │ │ ├── IrisPregenerator.java
│ │ │ ├── LazyPregenerator.java
│ │ │ ├── PregenListener.java
│ │ │ ├── PregenTask.java
│ │ │ ├── PregeneratorMethod.java
│ │ │ ├── TurboPregenerator.java
│ │ │ ├── cache
│ │ │ │ ├── PregenCache.java
│ │ │ │ ├── PregenCacheImpl.java
│ │ │ │ └── SynchronizedCache.java
│ │ │ └── methods
│ │ │ │ ├── AsyncOrMedievalPregenMethod.java
│ │ │ │ ├── AsyncPregenMethod.java
│ │ │ │ ├── CachedPregenMethod.java
│ │ │ │ ├── DummyPregenMethod.java
│ │ │ │ ├── HybridPregenMethod.java
│ │ │ │ └── MedievalPregenMethod.java
│ │ ├── project
│ │ │ ├── IrisProject.java
│ │ │ └── SchemaBuilder.java
│ │ ├── report
│ │ │ ├── Report.java
│ │ │ └── ReportType.java
│ │ ├── safeguard
│ │ │ ├── IrisSafeguard.java
│ │ │ ├── ModesSFG.java
│ │ │ ├── PerformanceSFG.java
│ │ │ ├── ServerBootSFG.java
│ │ │ └── UtilsSFG.java
│ │ ├── service
│ │ │ ├── BoardSVC.java
│ │ │ ├── CommandSVC.java
│ │ │ ├── ConversionSVC.java
│ │ │ ├── EditSVC.java
│ │ │ ├── ExternalDataSVC.java
│ │ │ ├── GlobalCacheSVC.java
│ │ │ ├── IrisEngineSVC.java
│ │ │ ├── LogFilterSVC.java
│ │ │ ├── ObjectSVC.java
│ │ │ ├── PreservationSVC.java
│ │ │ ├── StudioSVC.java
│ │ │ ├── TreeSVC.java
│ │ │ └── WandSVC.java
│ │ ├── tools
│ │ │ ├── IrisConverter.java
│ │ │ ├── IrisCreator.java
│ │ │ ├── IrisPackBenchmarking.java
│ │ │ ├── IrisReflectiveAPI.java
│ │ │ ├── IrisToolbelt.java
│ │ │ └── IrisWorldCreator.java
│ │ └── wand
│ │ │ └── WandSelection.java
│ │ ├── engine
│ │ ├── EnginePanic.java
│ │ ├── IrisComplex.java
│ │ ├── IrisEngine.java
│ │ ├── IrisEngineEffects.java
│ │ ├── IrisEngineMantle.java
│ │ ├── IrisExecutionEnvironment.java
│ │ ├── IrisWorldManager.java
│ │ ├── actuator
│ │ │ ├── IrisBiomeActuator.java
│ │ │ ├── IrisDecorantActuator.java
│ │ │ └── IrisTerrainNormalActuator.java
│ │ ├── data
│ │ │ ├── cache
│ │ │ │ ├── AtomicCache.java
│ │ │ │ ├── Cache.java
│ │ │ │ └── Multicache.java
│ │ │ ├── chunk
│ │ │ │ ├── LinkedTerrainChunk.java
│ │ │ │ ├── MCATerrainChunk.java
│ │ │ │ └── TerrainChunk.java
│ │ │ └── io
│ │ │ │ ├── Deserializer.java
│ │ │ │ ├── ExceptionBiFunction.java
│ │ │ │ ├── ExceptionTriConsumer.java
│ │ │ │ ├── MaxDepthIO.java
│ │ │ │ ├── MaxDepthReachedException.java
│ │ │ │ ├── Serializer.java
│ │ │ │ ├── StringDeserializer.java
│ │ │ │ └── StringSerializer.java
│ │ ├── decorator
│ │ │ ├── IrisCeilingDecorator.java
│ │ │ ├── IrisEngineDecorator.java
│ │ │ ├── IrisSeaFloorDecorator.java
│ │ │ ├── IrisSeaSurfaceDecorator.java
│ │ │ ├── IrisShoreLineDecorator.java
│ │ │ └── IrisSurfaceDecorator.java
│ │ ├── framework
│ │ │ ├── BlockUpdater.java
│ │ │ ├── Engine.java
│ │ │ ├── EngineActuator.java
│ │ │ ├── EngineAssignedActuator.java
│ │ │ ├── EngineAssignedBiModifier.java
│ │ │ ├── EngineAssignedComponent.java
│ │ │ ├── EngineAssignedModifier.java
│ │ │ ├── EngineAssignedWorldManager.java
│ │ │ ├── EngineBiModifier.java
│ │ │ ├── EngineComponent.java
│ │ │ ├── EngineData.java
│ │ │ ├── EngineDecorator.java
│ │ │ ├── EngineEffects.java
│ │ │ ├── EngineMetrics.java
│ │ │ ├── EngineMode.java
│ │ │ ├── EngineModifier.java
│ │ │ ├── EnginePlayer.java
│ │ │ ├── EngineStage.java
│ │ │ ├── EngineTarget.java
│ │ │ ├── EngineWorldManager.java
│ │ │ ├── Fallible.java
│ │ │ ├── Hotloadable.java
│ │ │ ├── IrisEngineMode.java
│ │ │ ├── ListFunction.java
│ │ │ ├── Locator.java
│ │ │ ├── LocatorCanceller.java
│ │ │ ├── LootProvider.java
│ │ │ ├── MeteredCache.java
│ │ │ ├── PlacedObject.java
│ │ │ ├── PregeneratedData.java
│ │ │ ├── ResultLocator.java
│ │ │ ├── SeedManager.java
│ │ │ ├── Staged.java
│ │ │ ├── WrongEngineBroException.java
│ │ │ └── placer
│ │ │ │ ├── HeightmapObjectPlacer.java
│ │ │ │ └── WorldObjectPlacer.java
│ │ ├── jigsaw
│ │ │ ├── PlannedPiece.java
│ │ │ └── PlannedStructure.java
│ │ ├── mantle
│ │ │ ├── EngineMantle.java
│ │ │ ├── IrisMantleComponent.java
│ │ │ ├── MantleComponent.java
│ │ │ ├── MantleSized.java
│ │ │ ├── MantleWriter.java
│ │ │ └── components
│ │ │ │ ├── MantleCarvingComponent.java
│ │ │ │ ├── MantleFluidBodyComponent.java
│ │ │ │ ├── MantleJigsawComponent.java
│ │ │ │ └── MantleObjectComponent.java
│ │ ├── mode
│ │ │ ├── ModeEnclosure.java
│ │ │ ├── ModeIslands.java
│ │ │ ├── ModeOverworld.java
│ │ │ └── ModeSuperFlat.java
│ │ ├── modifier
│ │ │ ├── IrisCarveModifier.java
│ │ │ ├── IrisCustomModifier.java
│ │ │ ├── IrisDepositModifier.java
│ │ │ ├── IrisPerfectionModifier.java
│ │ │ └── IrisPostModifier.java
│ │ ├── object
│ │ │ ├── CarveResult.java
│ │ │ ├── CarvingMode.java
│ │ │ ├── CaveResult.java
│ │ │ ├── IObjectLoot.java
│ │ │ ├── IObjectPlacer.java
│ │ │ ├── IPostBlockAccess.java
│ │ │ ├── IRare.java
│ │ │ ├── InferredType.java
│ │ │ ├── InventorySlotType.java
│ │ │ ├── IrisAttributeModifier.java
│ │ │ ├── IrisAxisRotationClamp.java
│ │ │ ├── IrisBiome.java
│ │ │ ├── IrisBiomeCustom.java
│ │ │ ├── IrisBiomeCustomCategory.java
│ │ │ ├── IrisBiomeCustomParticle.java
│ │ │ ├── IrisBiomeCustomPrecipType.java
│ │ │ ├── IrisBiomeCustomSpawn.java
│ │ │ ├── IrisBiomeCustomSpawnType.java
│ │ │ ├── IrisBiomeGeneratorLink.java
│ │ │ ├── IrisBiomePaletteLayer.java
│ │ │ ├── IrisBlockData.java
│ │ │ ├── IrisBlockDrops.java
│ │ │ ├── IrisCarving.java
│ │ │ ├── IrisCave.java
│ │ │ ├── IrisCavePlacer.java
│ │ │ ├── IrisColor.java
│ │ │ ├── IrisCommand.java
│ │ │ ├── IrisCommandRegistry.java
│ │ │ ├── IrisCompat.java
│ │ │ ├── IrisCompatabilityBlockFilter.java
│ │ │ ├── IrisCompatabilityItemFilter.java
│ │ │ ├── IrisContextInjector.java
│ │ │ ├── IrisDecorationPart.java
│ │ │ ├── IrisDecorator.java
│ │ │ ├── IrisDepositGenerator.java
│ │ │ ├── IrisDimension.java
│ │ │ ├── IrisDimensionMode.java
│ │ │ ├── IrisDimensionModeType.java
│ │ │ ├── IrisDirection.java
│ │ │ ├── IrisDuration.java
│ │ │ ├── IrisEffect.java
│ │ │ ├── IrisElipsoid.java
│ │ │ ├── IrisEnchantment.java
│ │ │ ├── IrisEngineData.java
│ │ │ ├── IrisEngineSpawnerCooldown.java
│ │ │ ├── IrisEngineStatistics.java
│ │ │ ├── IrisEngineStreamType.java
│ │ │ ├── IrisEngineValueType.java
│ │ │ ├── IrisEntity.java
│ │ │ ├── IrisEntitySpawn.java
│ │ │ ├── IrisExpression.java
│ │ │ ├── IrisExpressionFunction.java
│ │ │ ├── IrisExpressionLoad.java
│ │ │ ├── IrisFluidBodies.java
│ │ │ ├── IrisFontStyle.java
│ │ │ ├── IrisGenerator.java
│ │ │ ├── IrisGeneratorStyle.java
│ │ │ ├── IrisImage.java
│ │ │ ├── IrisImageChannel.java
│ │ │ ├── IrisImageMap.java
│ │ │ ├── IrisInterpolator.java
│ │ │ ├── IrisInterpolator3D.java
│ │ │ ├── IrisJigsawMinDistance.java
│ │ │ ├── IrisJigsawPiece.java
│ │ │ ├── IrisJigsawPieceConnector.java
│ │ │ ├── IrisJigsawPlacement.java
│ │ │ ├── IrisJigsawPool.java
│ │ │ ├── IrisJigsawStructure.java
│ │ │ ├── IrisJigsawStructurePlacement.java
│ │ │ ├── IrisLake.java
│ │ │ ├── IrisLoot.java
│ │ │ ├── IrisLootMode.java
│ │ │ ├── IrisLootReference.java
│ │ │ ├── IrisLootTable.java
│ │ │ ├── IrisMarker.java
│ │ │ ├── IrisMaterialPalette.java
│ │ │ ├── IrisMod.java
│ │ │ ├── IrisModBiomeInjector.java
│ │ │ ├── IrisModBiomeReplacer.java
│ │ │ ├── IrisModNoiseStyleReplacer.java
│ │ │ ├── IrisModObjectPlacementBiomeInjector.java
│ │ │ ├── IrisModObjectPlacementRegionInjector.java
│ │ │ ├── IrisModObjectReplacer.java
│ │ │ ├── IrisModRegionReplacer.java
│ │ │ ├── IrisNoiseGenerator.java
│ │ │ ├── IrisObject.java
│ │ │ ├── IrisObjectLimit.java
│ │ │ ├── IrisObjectLoot.java
│ │ │ ├── IrisObjectMarker.java
│ │ │ ├── IrisObjectPlacement.java
│ │ │ ├── IrisObjectPlacementScaleInterpolator.java
│ │ │ ├── IrisObjectReplace.java
│ │ │ ├── IrisObjectRotation.java
│ │ │ ├── IrisObjectScale.java
│ │ │ ├── IrisObjectTranslate.java
│ │ │ ├── IrisObjectVanillaLoot.java
│ │ │ ├── IrisOreGenerator.java
│ │ │ ├── IrisPosition.java
│ │ │ ├── IrisPosition2D.java
│ │ │ ├── IrisPotionEffect.java
│ │ │ ├── IrisPyramid.java
│ │ │ ├── IrisRange.java
│ │ │ ├── IrisRareObject.java
│ │ │ ├── IrisRate.java
│ │ │ ├── IrisRavine.java
│ │ │ ├── IrisRavinePlacer.java
│ │ │ ├── IrisRegion.java
│ │ │ ├── IrisRiver.java
│ │ │ ├── IrisScript.java
│ │ │ ├── IrisSeed.java
│ │ │ ├── IrisShapedGeneratorStyle.java
│ │ │ ├── IrisSlopeClip.java
│ │ │ ├── IrisSpawnGroup.java
│ │ │ ├── IrisSpawner.java
│ │ │ ├── IrisSpawnerCooldowns.java
│ │ │ ├── IrisSphere.java
│ │ │ ├── IrisStiltSettings.java
│ │ │ ├── IrisStyledRange.java
│ │ │ ├── IrisSurface.java
│ │ │ ├── IrisTimeBlock.java
│ │ │ ├── IrisTree.java
│ │ │ ├── IrisTreeModes.java
│ │ │ ├── IrisTreeSettings.java
│ │ │ ├── IrisTreeSize.java
│ │ │ ├── IrisVanillaLootTable.java
│ │ │ ├── IrisVillagerOverride.java
│ │ │ ├── IrisVillagerTrade.java
│ │ │ ├── IrisWeather.java
│ │ │ ├── IrisWorld.java
│ │ │ ├── IrisWorm.java
│ │ │ ├── LegacyTileData.java
│ │ │ ├── NoiseStyle.java
│ │ │ ├── ObjectPlaceMode.java
│ │ │ ├── StudioMode.java
│ │ │ ├── TileData.java
│ │ │ ├── annotations
│ │ │ │ ├── ArrayType.java
│ │ │ │ ├── DependsOn.java
│ │ │ │ ├── Desc.java
│ │ │ │ ├── MaxNumber.java
│ │ │ │ ├── MinNumber.java
│ │ │ │ ├── RegistryListBiomeDownfallType.java
│ │ │ │ ├── RegistryListBlockType.java
│ │ │ │ ├── RegistryListEnchantment.java
│ │ │ │ ├── RegistryListFont.java
│ │ │ │ ├── RegistryListFunction.java
│ │ │ │ ├── RegistryListItemType.java
│ │ │ │ ├── RegistryListResource.java
│ │ │ │ ├── RegistryListSpecialEntity.java
│ │ │ │ ├── Required.java
│ │ │ │ ├── Snippet.java
│ │ │ │ └── functions
│ │ │ │ │ ├── LootTableKeyFunction.java
│ │ │ │ │ └── StructureKeyFunction.java
│ │ │ └── matter
│ │ │ │ ├── IrisMatterObject.java
│ │ │ │ ├── IrisMatterPlacement.java
│ │ │ │ ├── IrisMatterPlacementLocation.java
│ │ │ │ └── IrisMatterTranslate.java
│ │ ├── platform
│ │ │ ├── BukkitChunkGenerator.java
│ │ │ ├── DummyBiomeGrid.java
│ │ │ ├── DummyBiomeProvider.java
│ │ │ ├── DummyChunkGenerator.java
│ │ │ ├── PlatformChunkGenerator.java
│ │ │ └── studio
│ │ │ │ ├── EnginedStudioGenerator.java
│ │ │ │ ├── StudioGenerator.java
│ │ │ │ └── generators
│ │ │ │ └── BiomeBuffetGenerator.java
│ │ └── scripting
│ │ │ ├── EngineExecutionEnvironment.java
│ │ │ └── IrisScriptingAPI.java
│ │ └── util
│ │ ├── api
│ │ ├── APIAwareBlock.java
│ │ └── APIWorldBlock.java
│ │ ├── atomics
│ │ ├── AtomicAverage.java
│ │ └── AtomicRollingSequence.java
│ │ ├── board
│ │ ├── Board.java
│ │ ├── BoardEntry.java
│ │ ├── BoardManager.java
│ │ ├── BoardProvider.java
│ │ ├── BoardSettings.java
│ │ ├── BoardUpdateTask.java
│ │ └── ScoreDirection.java
│ │ ├── cache
│ │ ├── ArrayCache.java
│ │ ├── ByteBitCache.java
│ │ ├── ByteCache.java
│ │ ├── ChunkCache2D.java
│ │ ├── DataBitCache.java
│ │ ├── FloatBitCache.java
│ │ ├── FloatCache.java
│ │ ├── IntBitCache.java
│ │ ├── IntCache.java
│ │ ├── ShortBitCache.java
│ │ ├── ShortCache.java
│ │ ├── UByteBitCache.java
│ │ ├── UByteCache.java
│ │ └── WorldCache2D.java
│ │ ├── collection
│ │ ├── GBiset.java
│ │ ├── GListAdapter.java
│ │ ├── KList.java
│ │ ├── KMap.java
│ │ ├── KSet.java
│ │ ├── KeyPair.java
│ │ └── StateList.java
│ │ ├── context
│ │ ├── ChunkContext.java
│ │ ├── ChunkedDataCache.java
│ │ └── IrisContext.java
│ │ ├── data
│ │ ├── B.java
│ │ ├── BiomeMap.java
│ │ ├── ChunkCache.java
│ │ ├── ComplexCache.java
│ │ ├── Cuboid.java
│ │ ├── CuboidException.java
│ │ ├── DUTF.java
│ │ ├── DataPalette.java
│ │ ├── DataProvider.java
│ │ ├── Dimension.java
│ │ ├── DimensionFace.java
│ │ ├── DoubleArrayUtils.java
│ │ ├── Heafty.java
│ │ ├── HeightMap.java
│ │ ├── IOAdapter.java
│ │ ├── InvertedBiomeGrid.java
│ │ ├── IrisBiomeStorage.java
│ │ ├── IrisCustomData.java
│ │ ├── KCache.java
│ │ ├── MaterialBlock.java
│ │ ├── NibbleArray.java
│ │ ├── NibbleDataPalette.java
│ │ ├── Recycler.java
│ │ ├── Shrinkwrap.java
│ │ ├── VanillaBiomeMap.java
│ │ ├── Varint.java
│ │ ├── WeightMap.java
│ │ ├── WeightedRandom.java
│ │ ├── Writable.java
│ │ ├── palette
│ │ │ ├── BitStorage.java
│ │ │ ├── CountConsumer.java
│ │ │ ├── CrudeIncrementalIntIdentityHashBiMap.java
│ │ │ ├── GlobalPalette.java
│ │ │ ├── HashMapPalette.java
│ │ │ ├── IdMap.java
│ │ │ ├── IdMapper.java
│ │ │ ├── LinearPalette.java
│ │ │ ├── Mth.java
│ │ │ ├── Palette.java
│ │ │ ├── PaletteAccess.java
│ │ │ ├── PaletteResize.java
│ │ │ ├── PaletteType.java
│ │ │ ├── PalettedContainer.java
│ │ │ └── QuartPos.java
│ │ └── registry
│ │ │ ├── Attributes.java
│ │ │ ├── Materials.java
│ │ │ ├── Particles.java
│ │ │ └── RegistryUtil.java
│ │ ├── decree
│ │ ├── DecreeContext.java
│ │ ├── DecreeContextHandler.java
│ │ ├── DecreeExecutor.java
│ │ ├── DecreeNode.java
│ │ ├── DecreeOrigin.java
│ │ ├── DecreeParameter.java
│ │ ├── DecreeParameterHandler.java
│ │ ├── DecreeSystem.java
│ │ ├── annotations
│ │ │ ├── Decree.java
│ │ │ └── Param.java
│ │ ├── context
│ │ │ ├── BiomeContextHandler.java
│ │ │ ├── DimensionContextHandler.java
│ │ │ ├── GeneratorContextHandler.java
│ │ │ ├── RegionContextHandler.java
│ │ │ ├── VectorContextHandler.java
│ │ │ └── WorldContextHandler.java
│ │ ├── exceptions
│ │ │ └── DecreeParsingException.java
│ │ ├── handlers
│ │ │ ├── BiomeHandler.java
│ │ │ ├── BlockVectorHandler.java
│ │ │ ├── BooleanHandler.java
│ │ │ ├── ByteHandler.java
│ │ │ ├── CaveHandler.java
│ │ │ ├── DataVersionHandler.java
│ │ │ ├── DimensionHandler.java
│ │ │ ├── DoubleHandler.java
│ │ │ ├── EntityHandler.java
│ │ │ ├── FloatHandler.java
│ │ │ ├── GeneratorHandler.java
│ │ │ ├── IntegerHandler.java
│ │ │ ├── JigsawPieceHandler.java
│ │ │ ├── JigsawPoolHandler.java
│ │ │ ├── JigsawStructureHandler.java
│ │ │ ├── LongHandler.java
│ │ │ ├── PlayerHandler.java
│ │ │ ├── RegionHandler.java
│ │ │ ├── ScriptHandler.java
│ │ │ ├── ShortHandler.java
│ │ │ ├── StringHandler.java
│ │ │ ├── VectorHandler.java
│ │ │ └── WorldHandler.java
│ │ ├── specialhandlers
│ │ │ ├── DummyHandler.java
│ │ │ ├── NullablePlayerHandler.java
│ │ │ └── ObjectHandler.java
│ │ └── virtual
│ │ │ └── VirtualDecreeCommand.java
│ │ ├── documentation
│ │ ├── BlockCoordinates.java
│ │ ├── ChunkCoordinates.java
│ │ ├── ChunkRelativeBlockCoordinates.java
│ │ ├── Exclusive.java
│ │ ├── Inclusive.java
│ │ └── RegionCoordinates.java
│ │ ├── exceptions
│ │ ├── IrisException.java
│ │ └── MissingDimensionException.java
│ │ ├── format
│ │ ├── C.java
│ │ ├── Form.java
│ │ └── MemoryMonitor.java
│ │ ├── function
│ │ ├── Consumer2.java
│ │ ├── Consumer2IO.java
│ │ ├── Consumer3.java
│ │ ├── Consumer4.java
│ │ ├── Consumer4IO.java
│ │ ├── Consumer5.java
│ │ ├── Consumer6.java
│ │ ├── Consumer8.java
│ │ ├── Function2.java
│ │ ├── Function3.java
│ │ ├── Function4.java
│ │ ├── NastyFunction.java
│ │ ├── NastyFuture.java
│ │ ├── NastyRunnable.java
│ │ ├── NastySupplier.java
│ │ ├── NoiseInjector.java
│ │ ├── NoiseProvider.java
│ │ ├── NoiseProvider3.java
│ │ ├── Supplier2.java
│ │ ├── Supplier3.java
│ │ └── Supplier3R.java
│ │ ├── hunk
│ │ ├── Hunk.java
│ │ ├── HunkFace.java
│ │ ├── HunkFactory.java
│ │ ├── bits
│ │ │ ├── DataBits.java
│ │ │ ├── DataContainer.java
│ │ │ ├── HashPalette.java
│ │ │ ├── LinearPalette.java
│ │ │ ├── Palette.java
│ │ │ └── Writable.java
│ │ ├── storage
│ │ │ ├── ArrayHunk.java
│ │ │ ├── AtomicDoubleHunk.java
│ │ │ ├── AtomicHunk.java
│ │ │ ├── AtomicIntegerHunk.java
│ │ │ ├── AtomicLongHunk.java
│ │ │ ├── MappedHunk.java
│ │ │ ├── MappedSyncHunk.java
│ │ │ ├── PaletteHunk.java
│ │ │ ├── PaletteOrHunk.java
│ │ │ ├── StorageHunk.java
│ │ │ └── SynchronizedArrayHunk.java
│ │ └── view
│ │ │ ├── BiomeGridHunkHolder.java
│ │ │ ├── BiomeGridHunkView.java
│ │ │ ├── ChunkBiomeHunkView.java
│ │ │ ├── ChunkDataHunkHolder.java
│ │ │ ├── ChunkDataHunkView.java
│ │ │ ├── ChunkHunkView.java
│ │ │ ├── DriftHunkView.java
│ │ │ ├── FringedHunkView.java
│ │ │ ├── FunctionalHunkView.java
│ │ │ ├── HunkView.java
│ │ │ ├── InvertedHunkView.java
│ │ │ ├── ListeningHunk.java
│ │ │ ├── ReadOnlyHunk.java
│ │ │ ├── RotatedXHunkView.java
│ │ │ ├── RotatedYHunkView.java
│ │ │ ├── RotatedZHunkView.java
│ │ │ ├── SynchronizedHunkView.java
│ │ │ └── WriteTrackHunk.java
│ │ ├── interpolation
│ │ ├── CompiledStarcast.java
│ │ ├── InterpolationMethod.java
│ │ ├── InterpolationMethod3D.java
│ │ ├── InterpolationType.java
│ │ ├── IrisInterpolation.java
│ │ └── Starcast.java
│ │ ├── inventorygui
│ │ ├── Element.java
│ │ ├── ElementEvent.java
│ │ ├── RandomColor.java
│ │ ├── UIElement.java
│ │ ├── UIStaticDecorator.java
│ │ ├── UIVoidDecorator.java
│ │ ├── UIWindow.java
│ │ ├── Window.java
│ │ ├── WindowDecorator.java
│ │ └── WindowResolution.java
│ │ ├── io
│ │ ├── Converter.java
│ │ ├── CountingDataInputStream.java
│ │ ├── CustomOutputStream.java
│ │ ├── FileWatcher.java
│ │ ├── FolderWatcher.java
│ │ ├── IO.java
│ │ ├── IORunnable.java
│ │ ├── InstanceState.java
│ │ ├── JarScanner.java
│ │ ├── ReactiveFolder.java
│ │ └── VoidOutputStream.java
│ │ ├── json
│ │ ├── HTTP.java
│ │ ├── HTTPTokener.java
│ │ ├── JSONArray.java
│ │ ├── JSONException.java
│ │ ├── JSONML.java
│ │ ├── JSONObject.java
│ │ ├── JSONString.java
│ │ ├── JSONStringer.java
│ │ ├── JSONTokener.java
│ │ ├── JSONWriter.java
│ │ ├── XML.java
│ │ └── XMLTokener.java
│ │ ├── mantle
│ │ ├── Mantle.java
│ │ ├── MantleChunk.java
│ │ ├── MantleFlag.java
│ │ └── TectonicPlate.java
│ │ ├── math
│ │ ├── AlignedPoint.java
│ │ ├── Average.java
│ │ ├── AxisAlignedBB.java
│ │ ├── BlockPosition.java
│ │ ├── CDou.java
│ │ ├── DOP.java
│ │ ├── Direction.java
│ │ ├── FinalInteger.java
│ │ ├── INode.java
│ │ ├── IrisMathHelper.java
│ │ ├── KochanekBartelsInterpolation.java
│ │ ├── M.java
│ │ ├── MathHelper.java
│ │ ├── PathInterpolation.java
│ │ ├── Point3d.java
│ │ ├── Point3f.java
│ │ ├── Point4d.java
│ │ ├── Point4f.java
│ │ ├── Position2.java
│ │ ├── RNG.java
│ │ ├── RNGV2.java
│ │ ├── RollingSequence.java
│ │ ├── Spiral.java
│ │ ├── Spiraled.java
│ │ ├── Spiraler.java
│ │ ├── Tuple2d.java
│ │ ├── Tuple2f.java
│ │ ├── Tuple3d.java
│ │ ├── Tuple3f.java
│ │ ├── Tuple4d.java
│ │ ├── Tuple4f.java
│ │ ├── VecMathUtil.java
│ │ ├── Vector2d.java
│ │ ├── Vector2f.java
│ │ ├── Vector3d.java
│ │ ├── Vector3f.java
│ │ └── VectorMath.java
│ │ ├── matter
│ │ ├── IrisMatter.java
│ │ ├── Matter.java
│ │ ├── MatterBiomeInject.java
│ │ ├── MatterCavern.java
│ │ ├── MatterEntity.java
│ │ ├── MatterEntityGroup.java
│ │ ├── MatterFilter.java
│ │ ├── MatterFluidBody.java
│ │ ├── MatterHeader.java
│ │ ├── MatterMarker.java
│ │ ├── MatterPalette.java
│ │ ├── MatterPlacer.java
│ │ ├── MatterReader.java
│ │ ├── MatterSlice.java
│ │ ├── MatterStructurePOI.java
│ │ ├── MatterUpdate.java
│ │ ├── MatterWriter.java
│ │ ├── Sliced.java
│ │ ├── TileWrapper.java
│ │ ├── WorldMatter.java
│ │ └── slices
│ │ │ ├── BiomeInjectMatter.java
│ │ │ ├── BlockMatter.java
│ │ │ ├── BooleanMatter.java
│ │ │ ├── CavernMatter.java
│ │ │ ├── CompoundMatter.java
│ │ │ ├── EntityMatter.java
│ │ │ ├── IdentifierMatter.java
│ │ │ ├── IntMatter.java
│ │ │ ├── JigsawPieceMatter.java
│ │ │ ├── JigsawStructuresMatter.java
│ │ │ ├── LongMatter.java
│ │ │ ├── MarkerMatter.java
│ │ │ ├── NBTMatter.java
│ │ │ ├── RawMatter.java
│ │ │ ├── RegistryMatter.java
│ │ │ ├── SpawnerMatter.java
│ │ │ ├── StringMatter.java
│ │ │ ├── StructurePOIMatter.java
│ │ │ ├── TileMatter.java
│ │ │ ├── UpdateMatter.java
│ │ │ └── container
│ │ │ ├── JigsawPieceContainer.java
│ │ │ ├── JigsawStructuresContainer.java
│ │ │ └── RegistrantContainer.java
│ │ ├── misc
│ │ ├── ServerProperties.java
│ │ └── getHardware.java
│ │ ├── nbt
│ │ ├── io
│ │ │ ├── NBTDeserializer.java
│ │ │ ├── NBTInputStream.java
│ │ │ ├── NBTOutputStream.java
│ │ │ ├── NBTSerializer.java
│ │ │ ├── NBTUtil.java
│ │ │ ├── NamedTag.java
│ │ │ ├── ParseException.java
│ │ │ ├── SNBTDeserializer.java
│ │ │ ├── SNBTParser.java
│ │ │ ├── SNBTSerializer.java
│ │ │ ├── SNBTUtil.java
│ │ │ ├── SNBTWriter.java
│ │ │ └── StringPointer.java
│ │ ├── mca
│ │ │ ├── Chunk.java
│ │ │ ├── CompressionType.java
│ │ │ ├── ExceptionFunction.java
│ │ │ ├── LoadFlags.java
│ │ │ ├── MCAFile.java
│ │ │ ├── MCAUtil.java
│ │ │ ├── NBTWorld.java
│ │ │ ├── Section.java
│ │ │ └── palette
│ │ │ │ ├── MCABiomeContainer.java
│ │ │ │ ├── MCABitStorage.java
│ │ │ │ ├── MCAChunkBiomeContainer.java
│ │ │ │ ├── MCACountConsumer.java
│ │ │ │ ├── MCACrudeIncrementalIntIdentityHashBiMap.java
│ │ │ │ ├── MCAGlobalPalette.java
│ │ │ │ ├── MCAHashMapPalette.java
│ │ │ │ ├── MCAIdMap.java
│ │ │ │ ├── MCAIdMapper.java
│ │ │ │ ├── MCALinearPalette.java
│ │ │ │ ├── MCAMth.java
│ │ │ │ ├── MCAPalette.java
│ │ │ │ ├── MCAPaletteAccess.java
│ │ │ │ ├── MCAPaletteResize.java
│ │ │ │ ├── MCAPalettedContainer.java
│ │ │ │ ├── MCAQuartPos.java
│ │ │ │ └── MCAWrappedPalettedContainer.java
│ │ └── tag
│ │ │ ├── ArrayTag.java
│ │ │ ├── ByteArrayTag.java
│ │ │ ├── ByteTag.java
│ │ │ ├── CompoundTag.java
│ │ │ ├── DoubleTag.java
│ │ │ ├── EndTag.java
│ │ │ ├── FloatTag.java
│ │ │ ├── IntArrayTag.java
│ │ │ ├── IntTag.java
│ │ │ ├── ListTag.java
│ │ │ ├── LongArrayTag.java
│ │ │ ├── LongTag.java
│ │ │ ├── NonNullEntrySet.java
│ │ │ ├── NumberTag.java
│ │ │ ├── ShortTag.java
│ │ │ ├── StringTag.java
│ │ │ └── Tag.java
│ │ ├── network
│ │ ├── DL.java
│ │ ├── DownloadException.java
│ │ ├── DownloadMonitor.java
│ │ ├── MeteredInputStream.java
│ │ └── MeteredOutputStream.java
│ │ ├── noise
│ │ ├── CNG.java
│ │ ├── CNGFactory.java
│ │ ├── CachedNoise.java
│ │ ├── CachedNoiseMap.java
│ │ ├── CellGenerator.java
│ │ ├── CellHeightNoise.java
│ │ ├── CellularNoise.java
│ │ ├── CloverNoise.java
│ │ ├── CubicNoise.java
│ │ ├── ExpressionNoise.java
│ │ ├── FastNoise.java
│ │ ├── FastNoiseDouble.java
│ │ ├── FlatNoise.java
│ │ ├── FractalBillowPerlinNoise.java
│ │ ├── FractalBillowSimplexNoise.java
│ │ ├── FractalCubicNoise.java
│ │ ├── FractalFBMSimplexNoise.java
│ │ ├── FractalRigidMultiSimplexNoise.java
│ │ ├── GlobNoise.java
│ │ ├── ImageNoise.java
│ │ ├── InterpolatedNoise.java
│ │ ├── NoiseFactory.java
│ │ ├── NoiseGenerator.java
│ │ ├── NoiseType.java
│ │ ├── OctaveNoise.java
│ │ ├── PerlinNoise.java
│ │ ├── RarityCellGenerator.java
│ │ ├── SimplexNoise.java
│ │ ├── VascularNoise.java
│ │ └── WhiteNoise.java
│ │ ├── parallel
│ │ ├── BurstExecutor.java
│ │ ├── BurstedHunk.java
│ │ ├── GridLock.java
│ │ ├── HyperLock.java
│ │ ├── MultiBurst.java
│ │ └── NOOPGridLock.java
│ │ ├── particle
│ │ ├── FastParticle.java
│ │ ├── FastReflection.java
│ │ ├── ParticleSender.java
│ │ ├── ParticleSenderLegacy.java
│ │ └── ParticleType.java
│ │ ├── plugin
│ │ ├── CancellableTask.java
│ │ ├── Chunks.java
│ │ ├── Command.java
│ │ ├── CommandDummy.java
│ │ ├── Control.java
│ │ ├── Controller.java
│ │ ├── ICommand.java
│ │ ├── IController.java
│ │ ├── Instance.java
│ │ ├── IrisService.java
│ │ ├── MortarCommand.java
│ │ ├── MortarPermission.java
│ │ ├── Permission.java
│ │ ├── PluginRegistry.java
│ │ ├── PluginRegistryGroup.java
│ │ ├── RouterCommand.java
│ │ ├── VirtualCommand.java
│ │ ├── VolmitPlugin.java
│ │ └── VolmitSender.java
│ │ ├── profile
│ │ ├── LoadBalancer.java
│ │ └── MsptTimings.java
│ │ ├── reflect
│ │ ├── OldEnum.java
│ │ ├── ShadeFix.java
│ │ ├── V.java
│ │ ├── Violator.java
│ │ ├── W.java
│ │ ├── WrappedField.java
│ │ └── WrappedReturningMethod.java
│ │ ├── scheduling
│ │ ├── AR.java
│ │ ├── Callback.java
│ │ ├── ChronoLatch.java
│ │ ├── Contained.java
│ │ ├── GroupedExecutor.java
│ │ ├── IrisLock.java
│ │ ├── J.java
│ │ ├── Looper.java
│ │ ├── O.java
│ │ ├── Observable.java
│ │ ├── Observer.java
│ │ ├── PrecisionStopwatch.java
│ │ ├── Queue.java
│ │ ├── QueueExecutor.java
│ │ ├── S.java
│ │ ├── SR.java
│ │ ├── ShurikenQueue.java
│ │ ├── Switch.java
│ │ ├── TaskExecutor.java
│ │ ├── ThreadMonitor.java
│ │ ├── Wrapper.java
│ │ └── jobs
│ │ │ ├── DownloadJob.java
│ │ │ ├── Job.java
│ │ │ ├── JobCollection.java
│ │ │ ├── ParallelQueueJob.java
│ │ │ ├── QueueJob.java
│ │ │ └── SingleJob.java
│ │ ├── stream
│ │ ├── ArraySignificance.java
│ │ ├── BasicLayer.java
│ │ ├── BasicStream.java
│ │ ├── ProceduralLayer.java
│ │ ├── ProceduralStream.java
│ │ ├── Significance.java
│ │ ├── arithmetic
│ │ │ ├── AddingStream.java
│ │ │ ├── ClampedStream.java
│ │ │ ├── CoordinateBitShiftLeftStream.java
│ │ │ ├── CoordinateBitShiftRightStream.java
│ │ │ ├── DividingStream.java
│ │ │ ├── FittedStream.java
│ │ │ ├── MaxingStream.java
│ │ │ ├── MinningStream.java
│ │ │ ├── ModuloStream.java
│ │ │ ├── MultiplyingStream.java
│ │ │ ├── OffsetStream.java
│ │ │ ├── RadialStream.java
│ │ │ ├── RoundingDoubleStream.java
│ │ │ ├── SlopeStream.java
│ │ │ ├── SubtractingStream.java
│ │ │ └── ZoomStream.java
│ │ ├── convert
│ │ │ ├── AwareConversionStream2D.java
│ │ │ ├── AwareConversionStream3D.java
│ │ │ ├── CachedConversionStream.java
│ │ │ ├── ConversionStream.java
│ │ │ ├── ForceDoubleStream.java
│ │ │ ├── RoundingStream.java
│ │ │ ├── SelectionStream.java
│ │ │ ├── SignificanceStream.java
│ │ │ └── To3DStream.java
│ │ ├── interpolation
│ │ │ ├── BiHermiteStream.java
│ │ │ ├── BiStarcastStream.java
│ │ │ ├── BicubicStream.java
│ │ │ ├── BilinearStream.java
│ │ │ ├── Interpolated.java
│ │ │ ├── InterpolatingStream.java
│ │ │ ├── Interpolator.java
│ │ │ ├── InterpolatorFactory.java
│ │ │ ├── TriHermiteStream.java
│ │ │ ├── TriStarcastStream.java
│ │ │ ├── TricubicStream.java
│ │ │ └── TrilinearStream.java
│ │ ├── sources
│ │ │ ├── CNGStream.java
│ │ │ └── FunctionStream.java
│ │ └── utility
│ │ │ ├── CachedStream2D.java
│ │ │ ├── CachedStream3D.java
│ │ │ ├── ContextInjectingStream.java
│ │ │ ├── NullSafeStream.java
│ │ │ ├── ProfiledStream.java
│ │ │ ├── SemaphoreStream.java
│ │ │ ├── SynchronizedStream.java
│ │ │ └── WasteDetector.java
│ │ └── uniques
│ │ ├── U.java
│ │ ├── UBufferedImage.java
│ │ ├── UFeature.java
│ │ ├── UFeatureMeta.java
│ │ ├── UImage.java
│ │ ├── UMeta.java
│ │ ├── UniqueRenderer.java
│ │ └── features
│ │ ├── UFInterpolator.java
│ │ ├── UFNOOP.java
│ │ ├── UFWarpedBackground.java
│ │ ├── UFWarpedCircle.java
│ │ ├── UFWarpedDisc.java
│ │ ├── UFWarpedDots.java
│ │ └── UFWarpedLines.java
│ └── resources
│ └── plugin.yml
├── gource.bat
├── gource
├── COPYING.txt
├── ChangeLog.txt
├── README.txt
├── SDL2.dll
├── SDL2_image.dll
├── THANKS.txt
├── cmd
│ ├── gource
│ └── gource.cmd
├── data
│ ├── beam.png
│ ├── bloom.tga
│ ├── bloom_alpha.tga
│ ├── file.png
│ ├── fonts
│ │ ├── FreeSans.ttf
│ │ └── README.txt
│ ├── gource.style
│ ├── shaders
│ │ ├── bloom.frag
│ │ ├── bloom.vert
│ │ ├── shadow.frag
│ │ ├── shadow.vert
│ │ ├── text.frag
│ │ └── text.vert
│ └── user.png
├── glew32.dll
├── gource.exe
├── libboost_filesystem-mt.dll
├── libbz2-1.dll
├── libfreetype-6.dll
├── libgcc_s_seh-1.dll
├── libglib-2.0-0.dll
├── libgraphite2.dll
├── libharfbuzz-0.dll
├── libiconv-2.dll
├── libintl-8.dll
├── libjpeg-8.dll
├── liblzma-5.dll
├── libpcre-1.dll
├── libpng16-16.dll
├── libstdc++-6.dll
├── libtiff-5.dll
├── libwebp-7.dll
├── libwinpthread-1.dll
├── libzstd.dll
└── zlib1.dll
├── gradle.properties
├── gradle
└── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
├── icon.png
├── listing.json
├── lombok.config
├── nms
├── v1_20_R1
│ └── src
│ │ └── main
│ │ └── java
│ │ └── com
│ │ └── volmit
│ │ └── iris
│ │ └── core
│ │ └── nms
│ │ └── v1_20_R1
│ │ ├── CustomBiomeSource.java
│ │ ├── IrisChunkGenerator.java
│ │ └── NMSBinding.java
├── v1_20_R2
│ └── src
│ │ └── main
│ │ └── java
│ │ └── com
│ │ └── volmit
│ │ └── iris
│ │ └── core
│ │ └── nms
│ │ └── v1_20_R2
│ │ ├── CustomBiomeSource.java
│ │ ├── IrisChunkGenerator.java
│ │ └── NMSBinding.java
├── v1_20_R3
│ └── src
│ │ └── main
│ │ └── java
│ │ └── com
│ │ └── volmit
│ │ └── iris
│ │ └── core
│ │ └── nms
│ │ └── v1_20_R3
│ │ ├── CustomBiomeSource.java
│ │ ├── IrisChunkGenerator.java
│ │ └── NMSBinding.java
├── v1_20_R4
│ └── src
│ │ └── main
│ │ └── java
│ │ └── com
│ │ └── volmit
│ │ └── iris
│ │ └── core
│ │ └── nms
│ │ └── v1_20_R4
│ │ ├── CustomBiomeSource.java
│ │ ├── IrisChunkGenerator.java
│ │ └── NMSBinding.java
├── v1_21_R1
│ └── src
│ │ └── main
│ │ └── java
│ │ └── com
│ │ └── volmit
│ │ └── iris
│ │ └── core
│ │ └── nms
│ │ └── v1_21_R1
│ │ ├── CustomBiomeSource.java
│ │ ├── IrisChunkGenerator.java
│ │ └── NMSBinding.java
├── v1_21_R2
│ └── src
│ │ └── main
│ │ └── java
│ │ └── com
│ │ └── volmit
│ │ └── iris
│ │ └── core
│ │ └── nms
│ │ └── v1_21_R2
│ │ ├── CustomBiomeSource.java
│ │ ├── IrisChunkGenerator.java
│ │ └── NMSBinding.java
├── v1_21_R3
│ └── src
│ │ └── main
│ │ └── java
│ │ └── com
│ │ └── volmit
│ │ └── iris
│ │ └── core
│ │ └── nms
│ │ └── v1_21_R3
│ │ ├── CustomBiomeSource.java
│ │ ├── IrisChunkGenerator.java
│ │ └── NMSBinding.java
└── v1_21_R4
│ └── src
│ └── main
│ └── java
│ └── com
│ └── volmit
│ └── iris
│ └── core
│ └── nms
│ └── v1_21_R4
│ ├── CustomBiomeSource.java
│ ├── IrisChunkGenerator.java
│ └── NMSBinding.java
├── out
└── production
│ └── resources
│ └── plugin.yml
├── packignore.ignore
├── settings.gradle
├── storepage
├── Incredible-Tools.png
├── Performance.png
├── Real-Custom-Biomes.png
├── The-Dimension-Engine.png
├── The-Overworld.png
├── gg.png
└── two
│ ├── Footer.png
│ ├── Header.png
│ ├── Iris.xd
│ ├── NOTE.png
│ ├── NOTERED.png
│ ├── SUPERTHANKS.png
│ ├── WhyChooseIris.png
│ ├── allnewfeatures.png
│ ├── c1.png
│ ├── c2.png
│ ├── c3.png
│ ├── c4.png
│ ├── c5.png
│ ├── dlshare.png
│ ├── icard.png
│ └── speed.png
└── wad.png
/.gitignore:
--------------------------------------------------------------------------------
1 |
2 | build/
3 | libs/
4 |
5 | .gradle/
6 |
7 | .idea/
8 |
9 | .DS_Store
10 |
11 | collection/
12 |
13 | /core/src/main/java/com/volmit/iris/util/uniques/
14 |
--------------------------------------------------------------------------------
/IRIS.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VolmitSoftware/Iris/635ee024599952a6fa15615977c4e625e761e2cb/IRIS.png
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/core/commands/CommandSettings.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.core.commands;
20 |
21 | import com.volmit.iris.util.decree.DecreeExecutor;
22 |
23 | public class CommandSettings implements DecreeExecutor {
24 |
25 | }
26 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/core/gui/components/RenderType.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.core.gui.components;
20 |
21 | public enum RenderType {
22 | BIOME, BIOME_LAND, BIOME_SEA, REGION, CAVE_LAND, HEIGHT, OBJECT_LOAD, DECORATOR_LOAD, CONTINENT, LAYER_LOAD
23 | }
24 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/core/gui/components/Renderer.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.core.gui.components;
20 |
21 | import java.awt.*;
22 |
23 | @FunctionalInterface
24 | public interface Renderer {
25 | Color draw(double x, double z);
26 | }
27 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/core/gui/components/TileRender.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.core.gui.components;
20 |
21 | import lombok.Builder;
22 | import lombok.Data;
23 |
24 | import java.awt.image.BufferedImage;
25 |
26 | @Builder
27 | @Data
28 | public class TileRender {
29 | private BufferedImage image;
30 | private int quality;
31 | }
32 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/core/nms/BiomeBaseInjector.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.core.nms;
20 |
21 | @FunctionalInterface
22 | public interface BiomeBaseInjector {
23 | default void setBiome(int x, int z, Object biomeBase) {
24 | setBiome(x, 0, z, biomeBase);
25 | }
26 |
27 | void setBiome(int x, int y, int z, Object biomeBase);
28 | }
29 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/core/nms/container/AutoClosing.java:
--------------------------------------------------------------------------------
1 | package com.volmit.iris.core.nms.container;
2 |
3 | import com.volmit.iris.util.collection.KMap;
4 | import com.volmit.iris.util.function.NastyRunnable;
5 | import lombok.AllArgsConstructor;
6 |
7 | import java.util.concurrent.atomic.AtomicBoolean;
8 |
9 | @AllArgsConstructor
10 | public class AutoClosing implements AutoCloseable {
11 | private static final KMap CONTEXTS = new KMap<>();
12 | private final AtomicBoolean closed = new AtomicBoolean();
13 | private final NastyRunnable action;
14 |
15 | @Override
16 | public void close() {
17 | if (closed.getAndSet(true)) return;
18 | try {
19 | removeContext();
20 | action.run();
21 | } catch (Throwable e) {
22 | throw new RuntimeException(e);
23 | }
24 | }
25 |
26 | public void storeContext() {
27 | CONTEXTS.put(Thread.currentThread(), this);
28 | }
29 |
30 | public void removeContext() {
31 | CONTEXTS.values().removeIf(c -> c == this);
32 | }
33 |
34 | public static void closeContext() {
35 | AutoClosing closing = CONTEXTS.remove(Thread.currentThread());
36 | if (closing == null) return;
37 | closing.close();
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/core/nms/container/BiomeColor.java:
--------------------------------------------------------------------------------
1 | package com.volmit.iris.core.nms.container;
2 |
3 | public enum BiomeColor {
4 | FOG,
5 | WATER,
6 | WATER_FOG,
7 | SKY,
8 | FOLIAGE,
9 | GRASS
10 | }
11 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/core/nms/container/BlockPos.java:
--------------------------------------------------------------------------------
1 | package com.volmit.iris.core.nms.container;
2 |
3 | import lombok.AllArgsConstructor;
4 | import lombok.Data;
5 | import lombok.NoArgsConstructor;
6 |
7 | @Data
8 | @AllArgsConstructor
9 | @NoArgsConstructor
10 | public class BlockPos {
11 | private int x;
12 | private int y;
13 | private int z;
14 | }
15 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/core/nms/container/Pair.java:
--------------------------------------------------------------------------------
1 | package com.volmit.iris.core.nms.container;
2 |
3 | import lombok.AllArgsConstructor;
4 | import lombok.Data;
5 | import lombok.NoArgsConstructor;
6 |
7 | @Data
8 | @AllArgsConstructor
9 | @NoArgsConstructor
10 | public class Pair {
11 | private A a;
12 | private B b;
13 | }
14 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/core/nms/datapack/IDataFixer.java:
--------------------------------------------------------------------------------
1 | package com.volmit.iris.core.nms.datapack;
2 |
3 | import com.volmit.iris.engine.object.IrisBiomeCustom;
4 | import com.volmit.iris.engine.object.IrisRange;
5 | import com.volmit.iris.util.json.JSONObject;
6 |
7 | public interface IDataFixer {
8 |
9 | default JSONObject fixCustomBiome(IrisBiomeCustom biome, JSONObject json) {
10 | return json;
11 | }
12 |
13 | JSONObject rawDimension(Dimension dimension);
14 |
15 | default JSONObject createDimension(Dimension dimension, IrisRange height, int logicalHeight) {
16 | JSONObject obj = rawDimension(dimension);
17 | obj.put("min_y", height.getMin());
18 | obj.put("height", height.getMax() - height.getMin());
19 | obj.put("logical_height", logicalHeight);
20 | return obj;
21 | }
22 |
23 | enum Dimension {
24 | OVERRWORLD,
25 | NETHER,
26 | THE_END
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/core/nms/datapack/v1213/DataFixerV1213.java:
--------------------------------------------------------------------------------
1 | package com.volmit.iris.core.nms.datapack.v1213;
2 |
3 | import com.volmit.iris.core.nms.datapack.v1206.DataFixerV1206;
4 | import com.volmit.iris.engine.object.IrisBiomeCustom;
5 | import com.volmit.iris.util.json.JSONArray;
6 | import com.volmit.iris.util.json.JSONObject;
7 |
8 | public class DataFixerV1213 extends DataFixerV1206 {
9 |
10 | @Override
11 | public JSONObject fixCustomBiome(IrisBiomeCustom biome, JSONObject json) {
12 | json = super.fixCustomBiome(biome, json);
13 | json.put("carvers", new JSONArray());
14 | return json;
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/core/pregenerator/cache/SynchronizedCache.java:
--------------------------------------------------------------------------------
1 | package com.volmit.iris.core.pregenerator.cache;
2 |
3 | import lombok.AllArgsConstructor;
4 |
5 | @AllArgsConstructor
6 | class SynchronizedCache implements PregenCache {
7 | private final PregenCache cache;
8 |
9 | @Override
10 | public boolean isThreadSafe() {
11 | return true;
12 | }
13 |
14 | @Override
15 | public boolean isChunkCached(int x, int z) {
16 | synchronized (cache) {
17 | return cache.isChunkCached(x, z);
18 | }
19 | }
20 |
21 | @Override
22 | public boolean isRegionCached(int x, int z) {
23 | synchronized (cache) {
24 | return cache.isRegionCached(x, z);
25 | }
26 | }
27 |
28 | @Override
29 | public void cacheChunk(int x, int z) {
30 | synchronized (cache) {
31 | cache.cacheChunk(x, z);
32 | }
33 | }
34 |
35 | @Override
36 | public void cacheRegion(int x, int z) {
37 | synchronized (cache) {
38 | cache.cacheRegion(x, z);
39 | }
40 | }
41 |
42 | @Override
43 | public void write() {
44 | synchronized (cache) {
45 | cache.write();
46 | }
47 | }
48 | }
49 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/core/report/ReportType.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.core.report;
20 |
21 | public enum ReportType {
22 | ERROR,
23 | SEVERE_WARNING,
24 | WARNING,
25 | NOTICE,
26 | }
27 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/core/safeguard/IrisSafeguard.java:
--------------------------------------------------------------------------------
1 | package com.volmit.iris.core.safeguard;
2 |
3 | import com.volmit.iris.Iris;
4 | import com.volmit.iris.core.IrisSettings;
5 |
6 | public class IrisSafeguard {
7 | public static boolean unstablemode = false;
8 | public static boolean warningmode = false;
9 | public static boolean stablemode = false;
10 |
11 | public static void IrisSafeguardSystem() {
12 | Iris.info("Enabled Iris SafeGuard");
13 | ServerBootSFG.BootCheck();
14 | }
15 |
16 | public static void earlySplash() {
17 | if (ServerBootSFG.safeguardPassed || IrisSettings.get().getGeneral().DoomsdayAnnihilationSelfDestructMode)
18 | return;
19 |
20 | Iris.instance.splash();
21 | UtilsSFG.splash();
22 | }
23 | }
24 |
25 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/core/safeguard/PerformanceSFG.java:
--------------------------------------------------------------------------------
1 | package com.volmit.iris.core.safeguard;
2 |
3 | public class PerformanceSFG {
4 | public static void calculatePerformance() {
5 |
6 |
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/engine/data/cache/Multicache.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.engine.data.cache;
20 |
21 | public interface Multicache {
22 | Cache getCache(int id);
23 |
24 | Cache createCache();
25 | }
26 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/engine/data/io/ExceptionBiFunction.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.engine.data.io;
20 |
21 | @FunctionalInterface
22 | public interface ExceptionBiFunction {
23 |
24 | R accept(T t, U u) throws E;
25 | }
26 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/engine/data/io/ExceptionTriConsumer.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.engine.data.io;
20 |
21 | @FunctionalInterface
22 | public interface ExceptionTriConsumer {
23 |
24 | void accept(T t, U u, V v) throws E;
25 | }
26 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/engine/data/io/MaxDepthReachedException.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.engine.data.io;
20 |
21 | /**
22 | * Exception indicating that the maximum (de-)serialization depth has been reached.
23 | */
24 | @SuppressWarnings("serial")
25 | public class MaxDepthReachedException extends RuntimeException {
26 |
27 | public MaxDepthReachedException(String msg) {
28 | super(msg);
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/engine/framework/BlockUpdater.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.engine.framework;
20 |
21 | import com.volmit.iris.util.math.RNG;
22 | import org.bukkit.Chunk;
23 | import org.bukkit.block.data.BlockData;
24 |
25 | public interface BlockUpdater {
26 |
27 | void catchBlockUpdates(int x, int y, int z, BlockData data);
28 |
29 | void updateChunk(Chunk c);
30 |
31 | void update(int x, int y, int z, Chunk c, RNG rf);
32 | }
33 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/engine/framework/EngineActuator.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.engine.framework;
20 |
21 | import com.volmit.iris.util.context.ChunkContext;
22 | import com.volmit.iris.util.documentation.BlockCoordinates;
23 | import com.volmit.iris.util.hunk.Hunk;
24 |
25 | public interface EngineActuator extends EngineComponent {
26 | @BlockCoordinates
27 | void actuate(int x, int z, Hunk output, boolean multicore, ChunkContext context);
28 | }
29 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/engine/framework/EngineBiModifier.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.engine.framework;
20 |
21 |
22 | import com.volmit.iris.util.hunk.Hunk;
23 |
24 | public interface EngineBiModifier extends EngineComponent {
25 | void modify(int x, int z, Hunk a, Hunk b);
26 | }
27 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/engine/framework/EngineEffects.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.engine.framework;
20 |
21 | public interface EngineEffects extends EngineComponent {
22 | void updatePlayerMap();
23 |
24 | void tickRandomPlayer();
25 | }
26 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/engine/framework/EngineModifier.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.engine.framework;
20 |
21 | import com.volmit.iris.util.context.ChunkContext;
22 | import com.volmit.iris.util.documentation.BlockCoordinates;
23 | import com.volmit.iris.util.hunk.Hunk;
24 |
25 | public interface EngineModifier extends EngineComponent {
26 | @BlockCoordinates
27 | void modify(int x, int z, Hunk t, boolean multicore, ChunkContext context);
28 | }
29 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/engine/framework/Hotloadable.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.engine.framework;
20 |
21 | public interface Hotloadable {
22 | void hotload();
23 | }
24 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/engine/framework/ListFunction.java:
--------------------------------------------------------------------------------
1 | package com.volmit.iris.engine.framework;
2 |
3 | import com.volmit.iris.core.loader.IrisData;
4 |
5 | import java.util.function.Function;
6 |
7 | public interface ListFunction extends Function {
8 | String key();
9 | String fancyName();
10 | }
11 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/engine/framework/LocatorCanceller.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.engine.framework;
20 |
21 | public class LocatorCanceller {
22 | protected static Runnable cancel = null;
23 | }
24 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/engine/framework/MeteredCache.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.engine.framework;
20 |
21 | import com.volmit.iris.util.data.KCache;
22 |
23 | public interface MeteredCache {
24 | long getSize();
25 |
26 | KCache, ?> getRawCache();
27 |
28 | long getMaxSize();
29 |
30 | default double getUsage() {
31 | return (double) getSize() / (double) getMaxSize();
32 | }
33 |
34 | boolean isClosed();
35 | }
36 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/engine/framework/Staged.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.engine.framework;
20 |
21 | import com.volmit.iris.util.collection.KList;
22 |
23 | public interface Staged {
24 | KList getStages();
25 |
26 | void registerStage(EngineStage stage);
27 |
28 | default void dump() {
29 | getStages().forEach(EngineStage::close);
30 | getStages().clear();
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/engine/framework/WrongEngineBroException.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.engine.framework;
20 |
21 | public class WrongEngineBroException extends Exception {
22 | }
23 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/engine/mantle/MantleSized.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.engine.mantle;
20 |
21 | public interface MantleSized {
22 | int getMaxChunkSize();
23 | }
24 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/engine/object/CarveResult.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.engine.object;
20 |
21 | import lombok.Value;
22 |
23 | @SuppressWarnings("ClassCanBeRecord")
24 | @Value
25 | public class CarveResult {
26 | @SuppressWarnings("RedundantModifiersValueLombok")
27 | private final int surface;
28 | @SuppressWarnings("RedundantModifiersValueLombok")
29 | private final int ceiling;
30 |
31 | public int getHeight() {
32 | return ceiling - surface;
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/engine/object/CaveResult.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.engine.object;
20 |
21 | import lombok.Data;
22 |
23 | @Data
24 | public class CaveResult {
25 | private int floor;
26 | private int ceiling;
27 |
28 | public CaveResult(int floor, int ceiling) {
29 | this.floor = floor;
30 | this.ceiling = ceiling;
31 | }
32 |
33 | public boolean isWithin(int v) {
34 | return v > floor || v < ceiling;
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/engine/object/IObjectLoot.java:
--------------------------------------------------------------------------------
1 | package com.volmit.iris.engine.object;
2 |
3 | import com.volmit.iris.core.loader.IrisData;
4 | import com.volmit.iris.util.collection.KList;
5 | import org.bukkit.block.data.BlockData;
6 |
7 | public interface IObjectLoot {
8 | KList getFilter();
9 | KList getFilter(IrisData manager);
10 | boolean isExact();
11 | String getName();
12 | int getWeight();
13 | }
14 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/engine/object/IrisBiomeCustomPrecipType.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.engine.object;
20 |
21 | import com.volmit.iris.engine.object.annotations.Desc;
22 |
23 | @Desc("Snow, rain, or nothing")
24 | public enum IrisBiomeCustomPrecipType {
25 | @Desc("No downfall")
26 | none,
27 |
28 | @Desc("Rain downfall")
29 | rain,
30 |
31 | @Desc("Snow downfall")
32 | snow
33 | }
34 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/engine/object/IrisFontStyle.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.engine.object;
20 |
21 | import com.volmit.iris.engine.object.annotations.Desc;
22 |
23 | @Desc("Represents a basic font style to apply to a font family")
24 | public enum IrisFontStyle {
25 | @Desc("Plain old text")
26 | PLAIN,
27 |
28 | @Desc("Italicized Text")
29 | ITALIC,
30 |
31 | @Desc("Bold Text")
32 | BOLD,
33 | }
34 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/engine/object/IrisJigsawMinDistance.java:
--------------------------------------------------------------------------------
1 | package com.volmit.iris.engine.object;
2 |
3 | import com.volmit.iris.engine.object.annotations.Desc;
4 | import com.volmit.iris.engine.object.annotations.MinNumber;
5 | import com.volmit.iris.engine.object.annotations.RegistryListResource;
6 | import com.volmit.iris.engine.object.annotations.Required;
7 | import com.volmit.iris.engine.object.annotations.Snippet;
8 | import lombok.AllArgsConstructor;
9 | import lombok.Data;
10 | import lombok.NoArgsConstructor;
11 | import lombok.experimental.Accessors;
12 |
13 | @Snippet("jigsaw-structure-min-distance")
14 | @Accessors(chain = true)
15 | @NoArgsConstructor
16 | @AllArgsConstructor
17 | @Desc("Represents the min distance between jigsaw structure placements")
18 | @Data
19 | public class IrisJigsawMinDistance {
20 | @Required
21 | @RegistryListResource(IrisJigsawStructure.class)
22 | @Desc("The structure to check against")
23 | private String structure;
24 |
25 | @Required
26 | @MinNumber(0)
27 | @Desc("The min distance in blocks to a placed structure\nWARNING: The performance impact scales exponentially!")
28 | private int distance;
29 | }
30 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/engine/object/IrisSpawnerCooldowns.java:
--------------------------------------------------------------------------------
1 | package com.volmit.iris.engine.object;
2 |
3 | import com.volmit.iris.engine.framework.Engine;
4 | import com.volmit.iris.util.collection.KMap;
5 | import lombok.EqualsAndHashCode;
6 | import lombok.NonNull;
7 |
8 | @EqualsAndHashCode
9 | public class IrisSpawnerCooldowns {
10 | private final KMap cooldowns = new KMap<>();
11 |
12 | public IrisEngineSpawnerCooldown getCooldown(@NonNull IrisSpawner spawner) {
13 | return getCooldown(spawner.getLoadKey());
14 | }
15 |
16 | public IrisEngineSpawnerCooldown getCooldown(@NonNull String loadKey) {
17 | return cooldowns.computeIfAbsent(loadKey, k -> {
18 | IrisEngineSpawnerCooldown cd = new IrisEngineSpawnerCooldown();
19 | cd.setSpawner(loadKey);
20 | return cd;
21 | });
22 | }
23 |
24 | public void cleanup(Engine engine) {
25 | cooldowns.values().removeIf(cd -> {
26 | IrisSpawner sp = engine.getData().getSpawnerLoader().load(cd.getSpawner());
27 | return sp == null || cd.canSpawn(sp.getMaximumRate());
28 | });
29 | }
30 |
31 | public boolean isEmpty() {
32 | return cooldowns.isEmpty();
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/engine/object/IrisTreeModes.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.engine.object;
20 |
21 | import com.volmit.iris.engine.object.annotations.Desc;
22 |
23 | @Desc("Sapling override object picking options")
24 | public enum IrisTreeModes {
25 | @Desc("Check biome, then region, then dimension, pick the first one that has options")
26 | FIRST,
27 |
28 | @Desc("Check biome, regions, and dimensions, and pick any option from the total list")
29 | ALL
30 | }
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/engine/object/annotations/ArrayType.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.engine.object.annotations;
20 |
21 | import java.lang.annotation.Retention;
22 | import java.lang.annotation.Target;
23 |
24 | import static java.lang.annotation.ElementType.*;
25 | import static java.lang.annotation.RetentionPolicy.RUNTIME;
26 |
27 | @Retention(RUNTIME)
28 | @Target({PARAMETER, TYPE, FIELD})
29 | public @interface ArrayType {
30 | Class> type();
31 |
32 | int min() default 0;
33 | }
34 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/engine/object/annotations/DependsOn.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.engine.object.annotations;
20 |
21 | import java.lang.annotation.Retention;
22 | import java.lang.annotation.Target;
23 |
24 | import static java.lang.annotation.ElementType.FIELD;
25 | import static java.lang.annotation.RetentionPolicy.RUNTIME;
26 |
27 | @Retention(RUNTIME)
28 | @Target({FIELD})
29 | public @interface DependsOn {
30 | String[] value();
31 | }
32 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/engine/object/annotations/Desc.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.engine.object.annotations;
20 |
21 | import java.lang.annotation.Retention;
22 | import java.lang.annotation.Target;
23 |
24 | import static java.lang.annotation.ElementType.*;
25 | import static java.lang.annotation.RetentionPolicy.RUNTIME;
26 |
27 | @Retention(RUNTIME)
28 | @Target({PARAMETER, TYPE, FIELD})
29 | public @interface Desc {
30 | String value();
31 | }
32 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/engine/object/annotations/MaxNumber.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.engine.object.annotations;
20 |
21 | import java.lang.annotation.Retention;
22 | import java.lang.annotation.Target;
23 |
24 | import static java.lang.annotation.ElementType.FIELD;
25 | import static java.lang.annotation.RetentionPolicy.RUNTIME;
26 |
27 | @Retention(RUNTIME)
28 | @Target({FIELD})
29 | public @interface MaxNumber {
30 | double value();
31 | }
32 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/engine/object/annotations/MinNumber.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.engine.object.annotations;
20 |
21 | import java.lang.annotation.Retention;
22 | import java.lang.annotation.Target;
23 |
24 | import static java.lang.annotation.ElementType.FIELD;
25 | import static java.lang.annotation.RetentionPolicy.RUNTIME;
26 |
27 | @Retention(RUNTIME)
28 | @Target({FIELD})
29 | public @interface MinNumber {
30 | double value();
31 | }
32 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/engine/object/annotations/RegistryListBiomeDownfallType.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.engine.object.annotations;
20 |
21 | import java.lang.annotation.Retention;
22 | import java.lang.annotation.Target;
23 |
24 | import static java.lang.annotation.ElementType.*;
25 | import static java.lang.annotation.RetentionPolicy.RUNTIME;
26 |
27 | @Retention(RUNTIME)
28 | @Target({PARAMETER, TYPE, FIELD})
29 | public @interface RegistryListBiomeDownfallType {
30 |
31 | }
32 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/engine/object/annotations/RegistryListBlockType.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.engine.object.annotations;
20 |
21 | import java.lang.annotation.Retention;
22 | import java.lang.annotation.Target;
23 |
24 | import static java.lang.annotation.ElementType.*;
25 | import static java.lang.annotation.RetentionPolicy.RUNTIME;
26 |
27 | @Retention(RUNTIME)
28 | @Target({PARAMETER, TYPE, FIELD})
29 | public @interface RegistryListBlockType {
30 |
31 | }
32 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/engine/object/annotations/RegistryListEnchantment.java:
--------------------------------------------------------------------------------
1 | package com.volmit.iris.engine.object.annotations;
2 |
3 | import java.lang.annotation.Retention;
4 | import java.lang.annotation.Target;
5 |
6 | import static java.lang.annotation.ElementType.*;
7 | import static java.lang.annotation.RetentionPolicy.RUNTIME;
8 |
9 | @Retention(RUNTIME)
10 | @Target({PARAMETER, TYPE, FIELD})
11 | public @interface RegistryListEnchantment {
12 | }
13 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/engine/object/annotations/RegistryListFont.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.engine.object.annotations;
20 |
21 | import java.lang.annotation.Retention;
22 | import java.lang.annotation.Target;
23 |
24 | import static java.lang.annotation.ElementType.*;
25 | import static java.lang.annotation.RetentionPolicy.RUNTIME;
26 |
27 | @Retention(RUNTIME)
28 | @Target({PARAMETER, TYPE, FIELD})
29 | public @interface RegistryListFont {
30 |
31 | }
32 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/engine/object/annotations/RegistryListFunction.java:
--------------------------------------------------------------------------------
1 | package com.volmit.iris.engine.object.annotations;
2 |
3 | import com.volmit.iris.engine.framework.ListFunction;
4 | import com.volmit.iris.util.collection.KList;
5 |
6 | import java.lang.annotation.Retention;
7 | import java.lang.annotation.Target;
8 |
9 | import static java.lang.annotation.ElementType.*;
10 | import static java.lang.annotation.RetentionPolicy.RUNTIME;
11 |
12 | @Retention(RUNTIME)
13 | @Target({PARAMETER, TYPE, FIELD})
14 | public @interface RegistryListFunction {
15 | Class extends ListFunction>> value();
16 | }
17 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/engine/object/annotations/RegistryListItemType.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.engine.object.annotations;
20 |
21 | import java.lang.annotation.Retention;
22 | import java.lang.annotation.Target;
23 |
24 | import static java.lang.annotation.ElementType.*;
25 | import static java.lang.annotation.RetentionPolicy.RUNTIME;
26 |
27 | @Retention(RUNTIME)
28 | @Target({PARAMETER, TYPE, FIELD})
29 | public @interface RegistryListItemType {
30 |
31 | }
32 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/engine/object/annotations/RegistryListSpecialEntity.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.engine.object.annotations;
20 |
21 | import java.lang.annotation.Retention;
22 | import java.lang.annotation.Target;
23 |
24 | import static java.lang.annotation.ElementType.*;
25 | import static java.lang.annotation.RetentionPolicy.RUNTIME;
26 |
27 | @Retention(RUNTIME)
28 | @Target({PARAMETER, TYPE, FIELD})
29 | public @interface RegistryListSpecialEntity {
30 |
31 | }
32 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/engine/object/annotations/Required.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.engine.object.annotations;
20 |
21 | import java.lang.annotation.Retention;
22 | import java.lang.annotation.Target;
23 |
24 | import static java.lang.annotation.ElementType.*;
25 | import static java.lang.annotation.RetentionPolicy.RUNTIME;
26 |
27 | @Retention(RUNTIME)
28 | @Target({PARAMETER, TYPE, FIELD})
29 | public @interface Required {
30 |
31 | }
32 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/engine/object/annotations/Snippet.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.engine.object.annotations;
20 |
21 | import java.lang.annotation.Retention;
22 | import java.lang.annotation.Target;
23 |
24 | import static java.lang.annotation.ElementType.TYPE;
25 | import static java.lang.annotation.RetentionPolicy.RUNTIME;
26 |
27 | @Retention(RUNTIME)
28 | @Target({TYPE})
29 | public @interface Snippet {
30 | String value();
31 | }
32 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/engine/object/annotations/functions/LootTableKeyFunction.java:
--------------------------------------------------------------------------------
1 | package com.volmit.iris.engine.object.annotations.functions;
2 |
3 | import com.volmit.iris.core.loader.IrisData;
4 | import com.volmit.iris.engine.framework.ListFunction;
5 | import com.volmit.iris.util.collection.KList;
6 | import org.bukkit.NamespacedKey;
7 | import org.bukkit.Registry;
8 | import org.bukkit.loot.LootTable;
9 | import org.bukkit.loot.LootTables;
10 |
11 | import java.util.stream.Collectors;
12 | import java.util.stream.StreamSupport;
13 |
14 | public class LootTableKeyFunction implements ListFunction> {
15 | @Override
16 | public String key() {
17 | return "loot-table-key";
18 | }
19 |
20 | @Override
21 | public String fancyName() {
22 | return "LootTable Key";
23 | }
24 |
25 | @Override
26 | public KList apply(IrisData data) {
27 | return StreamSupport.stream(Registry.LOOT_TABLES.spliterator(), false)
28 | .map(LootTables::getLootTable)
29 | .map(LootTable::getKey)
30 | .map(NamespacedKey::toString)
31 | .collect(Collectors.toCollection(KList::new));
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/engine/object/annotations/functions/StructureKeyFunction.java:
--------------------------------------------------------------------------------
1 | package com.volmit.iris.engine.object.annotations.functions;
2 |
3 | import com.volmit.iris.core.loader.IrisData;
4 | import com.volmit.iris.core.nms.INMS;
5 | import com.volmit.iris.engine.framework.ListFunction;
6 | import com.volmit.iris.util.collection.KList;
7 |
8 | public class StructureKeyFunction implements ListFunction> {
9 | @Override
10 | public String key() {
11 | return "structure-key";
12 | }
13 |
14 | @Override
15 | public String fancyName() {
16 | return "Structure Key";
17 | }
18 |
19 | @Override
20 | public KList apply(IrisData irisData) {
21 | return INMS.get().getStructureKeys();
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/engine/object/matter/IrisMatterPlacementLocation.java:
--------------------------------------------------------------------------------
1 | package com.volmit.iris.engine.object.matter;
2 |
3 | import com.volmit.iris.engine.IrisEngine;
4 | import com.volmit.iris.engine.object.annotations.Desc;
5 | import com.volmit.iris.util.function.Function3;
6 |
7 | @Desc("WHERE THINGS PLACE")
8 | public enum IrisMatterPlacementLocation {
9 | SURFACE((e, x, z) -> e.getHeight(x, z, true)),
10 | SURFACE_ON_FLUID((e, x, z) -> e.getHeight(x, z, false)),
11 | BEDROCK((e, x, z) -> 0),
12 | SKY((e, x, z) -> e.getHeight());
13 |
14 | private final Function3 computer;
15 |
16 | IrisMatterPlacementLocation(Function3 computer) {
17 | this.computer = computer;
18 | }
19 |
20 | public int at(IrisEngine engine, int x, int z) {
21 | return computer.apply(engine, x, z);
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/engine/platform/DummyBiomeGrid.java:
--------------------------------------------------------------------------------
1 | package com.volmit.iris.engine.platform;
2 |
3 | import org.bukkit.block.Biome;
4 | import org.bukkit.generator.ChunkGenerator;
5 | import org.jetbrains.annotations.NotNull;
6 |
7 | public class DummyBiomeGrid implements ChunkGenerator.BiomeGrid {
8 | @NotNull
9 | @Override
10 | public Biome getBiome(int x, int z) {
11 | return null;
12 | }
13 |
14 | @NotNull
15 | @Override
16 | public Biome getBiome(int x, int y, int z) {
17 | return null;
18 | }
19 |
20 | @Override
21 | public void setBiome(int x, int z, @NotNull Biome bio) {
22 |
23 | }
24 |
25 | @Override
26 | public void setBiome(int x, int y, int z, @NotNull Biome bio) {
27 |
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/engine/platform/DummyBiomeProvider.java:
--------------------------------------------------------------------------------
1 | package com.volmit.iris.engine.platform;
2 |
3 | import com.volmit.iris.core.nms.INMS;
4 | import com.volmit.iris.util.collection.KList;
5 | import org.bukkit.block.Biome;
6 | import org.bukkit.generator.BiomeProvider;
7 | import org.bukkit.generator.WorldInfo;
8 | import org.jetbrains.annotations.NotNull;
9 |
10 | import java.util.List;
11 |
12 | public class DummyBiomeProvider extends BiomeProvider {
13 | private final List ALL = INMS.get().getBiomes();
14 |
15 | @NotNull
16 | @Override
17 | public Biome getBiome(@NotNull WorldInfo worldInfo, int x, int y, int z) {
18 | return Biome.PLAINS;
19 | }
20 |
21 | @NotNull
22 | @Override
23 | public List getBiomes(@NotNull WorldInfo worldInfo) {
24 | return ALL;
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/engine/platform/DummyChunkGenerator.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.engine.platform;
20 |
21 | import org.bukkit.generator.ChunkGenerator;
22 |
23 | public class DummyChunkGenerator extends ChunkGenerator {
24 |
25 | }
26 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/engine/platform/studio/StudioGenerator.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.engine.platform.studio;
20 |
21 | import com.volmit.iris.engine.data.chunk.TerrainChunk;
22 | import com.volmit.iris.engine.framework.Engine;
23 | import com.volmit.iris.engine.framework.WrongEngineBroException;
24 |
25 | public interface StudioGenerator {
26 | void generateChunk(Engine engine, TerrainChunk tc, int x, int z) throws WrongEngineBroException;
27 | }
28 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/api/APIAwareBlock.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.util.api;
20 |
21 | import org.bukkit.block.data.BlockData;
22 |
23 | @FunctionalInterface
24 | public interface APIAwareBlock {
25 | void onPlaced(BlockData block, String namespace, String key, int x, int y, int z);
26 | }
27 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/api/APIWorldBlock.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.util.api;
20 |
21 | import org.bukkit.block.Block;
22 |
23 | @FunctionalInterface
24 | public interface APIWorldBlock {
25 | void onWorldPlaced(Block block, String namespace, String key);
26 | }
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/board/BoardProvider.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.util.board;
20 |
21 | import org.bukkit.entity.Player;
22 |
23 | import java.util.List;
24 |
25 |
26 | public interface BoardProvider {
27 |
28 | String getTitle(Player player);
29 |
30 |
31 | List getLines(Player player);
32 | }
33 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/board/BoardSettings.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.util.board;
20 |
21 | import lombok.Builder;
22 | import lombok.Getter;
23 |
24 |
25 | @SuppressWarnings("ClassCanBeRecord")
26 | @Getter
27 | @Builder
28 | public class BoardSettings {
29 |
30 | private final BoardProvider boardProvider;
31 |
32 |
33 | private final ScoreDirection scoreDirection;
34 | }
35 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/board/ScoreDirection.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.util.board;
20 |
21 | /**
22 | * @author Missionary (missionarymc@gmail.com)
23 | * @since 5/31/2018
24 | */
25 |
26 | public enum ScoreDirection {
27 |
28 | UP,
29 |
30 |
31 | DOWN
32 | }
33 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/cache/ChunkCache2D.java:
--------------------------------------------------------------------------------
1 | package com.volmit.iris.util.cache;
2 |
3 | import com.volmit.iris.util.function.Function2;
4 |
5 | import java.util.concurrent.atomic.AtomicReferenceArray;
6 |
7 | public class ChunkCache2D {
8 | private final AtomicReferenceArray cache;
9 |
10 | public ChunkCache2D() {
11 | this.cache = new AtomicReferenceArray<>(256);
12 | }
13 |
14 | public T get(int x, int z, Function2 resolver) {
15 | int key = ((z & 15) * 16) + (x & 15);
16 | T t = cache.get(key);
17 |
18 | if (t == null) {
19 | t = resolver.apply(x, z);
20 | cache.set(key, t);
21 | }
22 |
23 | return t;
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/cache/WorldCache2D.java:
--------------------------------------------------------------------------------
1 | package com.volmit.iris.util.cache;
2 |
3 | import com.volmit.iris.engine.data.cache.Cache;
4 | import com.volmit.iris.util.data.KCache;
5 | import com.volmit.iris.util.function.Function2;
6 |
7 | public class WorldCache2D {
8 | private final KCache> chunks;
9 | private final Function2 resolver;
10 |
11 | public WorldCache2D(Function2 resolver) {
12 | this.resolver = resolver;
13 | chunks = new KCache<>((x) -> new ChunkCache2D<>(), 1024);
14 | }
15 |
16 | public T get(int x, int z) {
17 | ChunkCache2D chunk = chunks.get(Cache.key(x >> 4, z >> 4));
18 | return chunk.get(x, z, resolver);
19 | }
20 |
21 | public long getSize() {
22 | return chunks.getSize() * 256L;
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/data/CuboidException.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.util.data;
20 |
21 | /**
22 | * Represents a cuboid exception
23 | *
24 | * @author cyberpwn
25 | */
26 | public class CuboidException extends Exception {
27 | private static final long serialVersionUID = 1L;
28 |
29 | public CuboidException(String string) {
30 | super(string);
31 | }
32 | }
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/data/DataProvider.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.util.data;
20 |
21 | import com.volmit.iris.core.loader.IrisData;
22 |
23 | public interface DataProvider {
24 | IrisData getData();
25 | }
26 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/data/DimensionFace.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.util.data;
20 |
21 | /**
22 | * Represents a dimension (coordinates not worlds)
23 | *
24 | * @author cyberpwn
25 | */
26 | public enum DimensionFace {
27 | /**
28 | * The X dimension (width)
29 | */
30 | X,
31 |
32 | /**
33 | * The Y dimension (height)
34 | */
35 | Y,
36 |
37 | /**
38 | * The Z dimension (depth)
39 | */
40 | Z
41 | }
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/data/Heafty.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.util.data;
20 |
21 | @FunctionalInterface
22 | public interface Heafty {
23 | int getHeaft();
24 | }
25 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/data/IOAdapter.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.util.data;
20 |
21 | import java.io.DataInputStream;
22 | import java.io.DataOutputStream;
23 | import java.io.IOException;
24 |
25 | public interface IOAdapter {
26 | void write(T t, DataOutputStream dos) throws IOException;
27 |
28 | T read(DataInputStream din) throws IOException;
29 | }
30 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/data/Shrinkwrap.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.util.data;
20 |
21 | public class Shrinkwrap {
22 | private T t;
23 |
24 | public Shrinkwrap(T t) {
25 | set(t);
26 | }
27 |
28 | public Shrinkwrap() {
29 | this(null);
30 | }
31 |
32 | public T get() {
33 | return t;
34 | }
35 |
36 | public void set(T t) {
37 | this.t = t;
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/data/Writable.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.util.data;
20 |
21 | import java.io.DataInputStream;
22 | import java.io.DataOutputStream;
23 | import java.io.IOException;
24 |
25 | public interface Writable {
26 | void write(DataOutputStream o) throws IOException;
27 |
28 | void read(DataInputStream i) throws IOException;
29 | }
30 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/data/palette/CountConsumer.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.util.data.palette;
20 |
21 | @FunctionalInterface
22 | public interface CountConsumer {
23 | void accept(T paramT, int paramInt);
24 | }
25 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/data/palette/IdMap.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.util.data.palette;
20 |
21 | public interface IdMap extends Iterable {
22 | int getId(T paramT);
23 |
24 | T byId(int paramInt);
25 | }
26 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/data/palette/Palette.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.util.data.palette;
20 |
21 | import java.util.List;
22 |
23 | public interface Palette {
24 | int idFor(T paramT);
25 |
26 | T valueFor(int paramInt);
27 |
28 | int getSize();
29 |
30 | void read(List fromList);
31 |
32 | void write(List toList);
33 | }
34 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/data/palette/PaletteAccess.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.util.data.palette;
20 |
21 | import com.volmit.iris.util.nbt.tag.CompoundTag;
22 |
23 | public interface PaletteAccess {
24 | void setBlock(int x, int y, int z, CompoundTag data);
25 |
26 | CompoundTag getBlock(int x, int y, int z);
27 |
28 | void writeToSection(CompoundTag tag);
29 |
30 | void readFromSection(CompoundTag tag);
31 | }
32 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/data/palette/PaletteResize.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.util.data.palette;
20 |
21 | interface PaletteResize {
22 | int onResize(int paramInt, T paramT);
23 | }
24 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/data/registry/Attributes.java:
--------------------------------------------------------------------------------
1 | package com.volmit.iris.util.data.registry;
2 |
3 | import org.bukkit.attribute.Attribute;
4 |
5 | public class Attributes {
6 | public static final Attribute MAX_HEALTH = RegistryUtil.find(Attribute.class, "generic_max_health", "max_health");
7 | }
8 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/data/registry/Materials.java:
--------------------------------------------------------------------------------
1 | package com.volmit.iris.util.data.registry;
2 |
3 | import org.bukkit.Material;
4 |
5 | import static com.volmit.iris.util.data.registry.RegistryUtil.find;
6 |
7 | public class Materials {
8 | public static final Material GRASS = find(Material.class, "grass", "short_grass");
9 | }
10 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/data/registry/Particles.java:
--------------------------------------------------------------------------------
1 | package com.volmit.iris.util.data.registry;
2 |
3 | import org.bukkit.Particle;
4 |
5 | import static com.volmit.iris.util.data.registry.RegistryUtil.find;
6 |
7 | public class Particles {
8 | public static final Particle CRIT_MAGIC = find(Particle.class, "crit_magic", "crit");
9 | public static final Particle REDSTONE = find(Particle.class, "redstone", "dust");
10 | public static final Particle ITEM = find(Particle.class, "item_crack", "item");
11 | }
12 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/decree/exceptions/DecreeParsingException.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.util.decree.exceptions;
20 |
21 | /**
22 | * Thrown when a decree parameter is parsed, but parsing fails
23 | */
24 | public class DecreeParsingException extends Exception {
25 | public DecreeParsingException(String message) {
26 | super(message);
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/decree/specialhandlers/NullablePlayerHandler.java:
--------------------------------------------------------------------------------
1 | package com.volmit.iris.util.decree.specialhandlers;
2 |
3 | import com.volmit.iris.util.decree.exceptions.DecreeParsingException;
4 | import com.volmit.iris.util.decree.handlers.PlayerHandler;
5 | import org.bukkit.entity.Player;
6 |
7 | public class NullablePlayerHandler extends PlayerHandler {
8 |
9 | @Override
10 | public Player parse(String in, boolean force) throws DecreeParsingException {
11 | return getPossibilities(in).stream().filter((i) -> toString(i).equalsIgnoreCase(in)).findFirst().orElse(null);
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/documentation/BlockCoordinates.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.util.documentation;
20 |
21 | /**
22 | * This method expects coords in block
23 | */
24 | public @interface BlockCoordinates {
25 |
26 | }
27 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/documentation/ChunkCoordinates.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.util.documentation;
20 |
21 | /**
22 | * This method expects blocks in chunk coordinates
23 | */
24 | public @interface ChunkCoordinates {
25 |
26 | }
27 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/documentation/ChunkRelativeBlockCoordinates.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.util.documentation;
20 |
21 | /**
22 | * This method expects coords in block
23 | */
24 | public @interface ChunkRelativeBlockCoordinates {
25 |
26 | }
27 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/documentation/Exclusive.java:
--------------------------------------------------------------------------------
1 | package com.volmit.iris.util.documentation;
2 |
3 | /**
4 | * This Argument is exclusive
5 | */
6 | public @interface Exclusive {
7 | }
8 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/documentation/Inclusive.java:
--------------------------------------------------------------------------------
1 | package com.volmit.iris.util.documentation;
2 |
3 | /**
4 | * This Argument is inclusive
5 | */
6 | public @interface Inclusive {
7 | }
8 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/documentation/RegionCoordinates.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.util.documentation;
20 |
21 | /**
22 | * This method expects coordinates in region coords
23 | */
24 | public @interface RegionCoordinates {
25 |
26 | }
27 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/exceptions/MissingDimensionException.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.util.exceptions;
20 |
21 | public class MissingDimensionException extends IrisException {
22 | public MissingDimensionException() {
23 | super();
24 | }
25 |
26 | public MissingDimensionException(String message) {
27 | super(message);
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/function/Consumer2.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.util.function;
20 |
21 | @SuppressWarnings({"hiding", "RedundantSuppression"})
22 | @FunctionalInterface
23 | public interface Consumer2 {
24 | void accept(A a, B b);
25 | }
26 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/function/Consumer2IO.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.util.function;
20 |
21 | import java.io.IOException;
22 |
23 | @SuppressWarnings({"hiding", "RedundantSuppression"})
24 | @FunctionalInterface
25 | public interface Consumer2IO {
26 | void accept(A a, B b) throws IOException;
27 | }
28 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/function/Consumer3.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.util.function;
20 |
21 | @SuppressWarnings("ALL")
22 | @FunctionalInterface
23 | public interface Consumer3 {
24 | void accept(A a, B b, C c);
25 | }
26 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/function/Consumer4.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.util.function;
20 |
21 | @FunctionalInterface
22 | public interface Consumer4 {
23 | void accept(A a, B b, C c, D d);
24 | }
25 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/function/Consumer4IO.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.util.function;
20 |
21 | import java.io.IOException;
22 |
23 | @FunctionalInterface
24 | public interface Consumer4IO {
25 | void accept(A a, B b, C c, D d) throws IOException;
26 | }
27 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/function/Consumer5.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.util.function;
20 |
21 | @FunctionalInterface
22 | public interface Consumer5 {
23 | void accept(A a, B b, C c, D d, E e);
24 | }
25 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/function/Consumer6.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.util.function;
20 |
21 | @FunctionalInterface
22 | public interface Consumer6 {
23 | void accept(A a, B b, C c, D d, E e, F f);
24 | }
25 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/function/Consumer8.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.util.function;
20 |
21 | @FunctionalInterface
22 | public interface Consumer8 {
23 | void accept(A a, B b, C c, D d, E e, F f, G g, H h);
24 | }
25 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/function/Function2.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.util.function;
20 |
21 | @FunctionalInterface
22 | public interface Function2 {
23 | R apply(A a, B b);
24 | }
25 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/function/Function3.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.util.function;
20 |
21 | @FunctionalInterface
22 | public interface Function3 {
23 | R apply(A a, B b, C c);
24 | }
25 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/function/Function4.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.util.function;
20 |
21 | @FunctionalInterface
22 | public interface Function4 {
23 | R apply(A a, B b, C c, D d);
24 | }
25 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/function/NastyFunction.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.util.function;
20 |
21 | public interface NastyFunction {
22 | R run(T t);
23 | }
24 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/function/NastyFuture.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.util.function;
20 |
21 | public interface NastyFuture {
22 | R run();
23 | }
24 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/function/NastyRunnable.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.util.function;
20 |
21 | public interface NastyRunnable {
22 | void run() throws Throwable;
23 | }
24 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/function/NastySupplier.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.util.function;
20 |
21 | public interface NastySupplier {
22 | T get() throws Throwable;
23 | }
24 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/function/NoiseInjector.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.util.function;
20 |
21 | @FunctionalInterface
22 | public interface NoiseInjector {
23 | double[] combine(double src, double value);
24 | }
25 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/function/NoiseProvider.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.util.function;
20 |
21 | @FunctionalInterface
22 | public interface NoiseProvider {
23 | double noise(double x, double z);
24 | }
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/function/NoiseProvider3.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.util.function;
20 |
21 | @FunctionalInterface
22 | public interface NoiseProvider3 {
23 | double noise(double x, double y, double z);
24 | }
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/function/Supplier2.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.util.function;
20 |
21 | public interface Supplier2 {
22 | void get(T t, TT tt);
23 | }
24 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/function/Supplier3.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.util.function;
20 |
21 | public interface Supplier3 {
22 | void get(T t, TT tt, TTT ttt);
23 | }
24 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/function/Supplier3R.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.util.function;
20 |
21 | public interface Supplier3R {
22 | TTTT get(T t, TT tt, TTT ttt);
23 | }
24 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/hunk/HunkFace.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.util.hunk;
20 |
21 | public enum HunkFace {
22 | TOP,
23 | BOTTOM,
24 | EAST,
25 | WEST,
26 | NORTH,
27 | SOUTH
28 | }
29 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/hunk/HunkFactory.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.util.hunk;
20 |
21 | @FunctionalInterface
22 | public interface HunkFactory {
23 | Hunk create(int w, int h, int d);
24 | }
25 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/hunk/bits/Writable.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.util.hunk.bits;
20 |
21 | import java.io.DataInputStream;
22 | import java.io.DataOutputStream;
23 | import java.io.IOException;
24 |
25 | public interface Writable {
26 | T readNodeData(DataInputStream din) throws IOException;
27 |
28 | void writeNodeData(DataOutputStream dos, T t) throws IOException;
29 | }
30 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/interpolation/InterpolationType.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.util.interpolation;
20 |
21 | public enum InterpolationType {
22 | LINEAR,
23 | PARAMETRIC_2,
24 | PARAMETRIC_4,
25 | BEZIER,
26 | NONE
27 | }
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/inventorygui/ElementEvent.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.util.inventorygui;
20 |
21 | /**
22 | * Element Event.
23 | *
24 | * @author cyberpwn
25 | */
26 | public enum ElementEvent {
27 | LEFT,
28 | RIGHT,
29 | SHIFT_LEFT,
30 | SHIFT_RIGHT,
31 | DRAG_INTO,
32 | OTHER_DRAG_INTO
33 | }
34 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/inventorygui/UIVoidDecorator.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.util.inventorygui;
20 |
21 | public class UIVoidDecorator implements WindowDecorator {
22 | @Override
23 | public Element onDecorateBackground(Window window, int position, int row) {
24 | return null;
25 | }
26 | }
27 |
28 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/inventorygui/WindowDecorator.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.util.inventorygui;
20 |
21 | public interface WindowDecorator {
22 | Element onDecorateBackground(Window window, int position, int row);
23 | }
24 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/io/Converter.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.util.io;
20 |
21 | import java.io.File;
22 |
23 | public interface Converter {
24 | String getInExtension();
25 |
26 | @SuppressWarnings("SameReturnValue")
27 | String getOutExtension();
28 |
29 | void convert(File in, File out);
30 | }
31 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/io/CustomOutputStream.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.util.io;
20 |
21 | import java.io.IOException;
22 | import java.io.OutputStream;
23 | import java.util.zip.GZIPOutputStream;
24 |
25 | public class CustomOutputStream extends GZIPOutputStream {
26 | public CustomOutputStream(OutputStream out, int level) throws IOException {
27 | super(out);
28 | def.setLevel(level);
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/io/IORunnable.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.util.io;
20 |
21 | import java.io.IOException;
22 |
23 | public interface IORunnable {
24 | void run() throws IOException;
25 | }
26 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/io/VoidOutputStream.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.util.io;
20 |
21 | import java.io.OutputStream;
22 |
23 | public class VoidOutputStream extends OutputStream {
24 | @Override
25 | public void write(int b) {
26 | // poof
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/math/AlignedPoint.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.util.math;
20 |
21 | public class AlignedPoint {
22 | private double x;
23 | private double y;
24 | private double z;
25 |
26 | public double getX() {
27 | return x;
28 | }
29 |
30 | public double getY() {
31 | return y;
32 | }
33 |
34 | public double getZ() {
35 | return z;
36 | }
37 |
38 | }
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/math/DOP.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.util.math;
20 |
21 | import org.bukkit.util.Vector;
22 |
23 | public abstract class DOP {
24 | private final String type;
25 |
26 | public DOP(String type) {
27 | this.type = type;
28 | }
29 |
30 | public abstract Vector op(Vector v);
31 |
32 | public String getType() {
33 | return type;
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/math/Spiraled.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.util.math;
20 |
21 | @FunctionalInterface
22 | public interface Spiraled {
23 | void on(int x, int z);
24 | }
25 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/matter/MatterBiomeInject.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.util.matter;
20 |
21 | import lombok.AllArgsConstructor;
22 | import lombok.Data;
23 | import org.bukkit.block.Biome;
24 |
25 | @Data
26 | @AllArgsConstructor
27 | public class MatterBiomeInject {
28 | private final boolean custom;
29 | private final Integer biomeId;
30 | private final Biome biome;
31 | }
32 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/matter/MatterEntity.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.util.matter;
20 |
21 | import com.volmit.iris.util.nbt.tag.CompoundTag;
22 | import lombok.AllArgsConstructor;
23 | import lombok.Data;
24 |
25 | @Data
26 | @AllArgsConstructor
27 | public class MatterEntity {
28 | private final double xOff;
29 | private final double yOff;
30 | private final double zOff;
31 | private final CompoundTag entityData;
32 | }
33 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/matter/MatterEntityGroup.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.util.matter;
20 |
21 | import com.volmit.iris.util.collection.KList;
22 | import lombok.Data;
23 |
24 | @Data
25 | public class MatterEntityGroup {
26 | private final KList entities = new KList<>();
27 | }
28 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/matter/MatterFilter.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.util.matter;
20 |
21 | @FunctionalInterface
22 | public interface MatterFilter {
23 | T update(int x, int y, int z, T t);
24 | }
25 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/matter/MatterFluidBody.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.util.matter;
20 |
21 | import lombok.AllArgsConstructor;
22 | import lombok.Data;
23 |
24 | @Data
25 | @AllArgsConstructor
26 | public class MatterFluidBody {
27 | private final boolean body;
28 | private final String customBiome;
29 | private final boolean lava;
30 | }
31 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/matter/MatterMarker.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.util.matter;
20 |
21 | import lombok.AllArgsConstructor;
22 | import lombok.Data;
23 |
24 | @Data
25 | @AllArgsConstructor
26 | public class MatterMarker {
27 | private final String tag;
28 | }
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/matter/MatterReader.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.util.matter;
20 |
21 | @FunctionalInterface
22 | public interface MatterReader {
23 | T readMatter(W w, int x, int y, int z);
24 | }
25 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/matter/MatterStructurePOI.java:
--------------------------------------------------------------------------------
1 | package com.volmit.iris.util.matter;
2 |
3 | import lombok.Data;
4 |
5 | import java.util.Map;
6 |
7 | @Data
8 | public class MatterStructurePOI {
9 |
10 | public static final MatterStructurePOI BURIED_TREASURE = new MatterStructurePOI("buried_treasure");
11 |
12 | private static final MatterStructurePOI UNKNOWN = new MatterStructurePOI("unknown");
13 | private static final Map VALUES = Map.of(
14 | "buried_treasure", BURIED_TREASURE
15 | );
16 |
17 | private final String type;
18 |
19 | public static MatterStructurePOI get(String id) {
20 | MatterStructurePOI poi = VALUES.get(id);
21 | return poi != null ? poi : new MatterStructurePOI(id);
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/matter/MatterUpdate.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.util.matter;
20 |
21 | import lombok.AllArgsConstructor;
22 | import lombok.Data;
23 |
24 | @Data
25 | @AllArgsConstructor
26 | public class MatterUpdate {
27 | private final boolean update;
28 | }
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/matter/MatterWriter.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.util.matter;
20 |
21 | @FunctionalInterface
22 | public interface MatterWriter {
23 | void writeMatter(W w, T d, int x, int y, int z);
24 | }
25 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/matter/Sliced.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.util.matter;
20 |
21 | import java.lang.annotation.Retention;
22 | import java.lang.annotation.RetentionPolicy;
23 |
24 | @Retention(RetentionPolicy.RUNTIME)
25 | public @interface Sliced {
26 |
27 | }
28 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/matter/TileWrapper.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2024 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.util.matter;
20 |
21 | import com.volmit.iris.engine.object.TileData;
22 | import lombok.Data;
23 |
24 | @Data
25 | public class TileWrapper {
26 | private final TileData data;
27 | }
28 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/matter/slices/IdentifierMatter.java:
--------------------------------------------------------------------------------
1 | package com.volmit.iris.util.matter.slices;
2 |
3 | import com.volmit.iris.core.link.Identifier;
4 | import com.volmit.iris.util.data.palette.Palette;
5 | import com.volmit.iris.util.matter.Sliced;
6 |
7 | import java.io.DataInputStream;
8 | import java.io.DataOutputStream;
9 | import java.io.IOException;
10 |
11 | @Sliced
12 | public class IdentifierMatter extends RawMatter {
13 |
14 | public IdentifierMatter() {
15 | this(1, 1, 1);
16 | }
17 |
18 | public IdentifierMatter(int width, int height, int depth) {
19 | super(width, height, depth, Identifier.class);
20 | }
21 |
22 | @Override
23 | public Palette getGlobalPalette() {
24 | return null;
25 | }
26 |
27 | @Override
28 | public void writeNode(Identifier b, DataOutputStream dos) throws IOException {
29 | dos.writeUTF(b.toString());
30 | }
31 |
32 | @Override
33 | public Identifier readNode(DataInputStream din) throws IOException {
34 | return Identifier.fromString(din.readUTF());
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/matter/slices/JigsawPieceMatter.java:
--------------------------------------------------------------------------------
1 | package com.volmit.iris.util.matter.slices;
2 |
3 | import com.volmit.iris.util.data.palette.Palette;
4 | import com.volmit.iris.util.matter.Sliced;
5 | import com.volmit.iris.util.matter.slices.container.JigsawPieceContainer;
6 |
7 | import java.io.DataInputStream;
8 | import java.io.DataOutputStream;
9 | import java.io.IOException;
10 |
11 | @Sliced
12 | public class JigsawPieceMatter extends RawMatter {
13 | public JigsawPieceMatter() {
14 | this(1,1,1);
15 | }
16 |
17 | public JigsawPieceMatter(int width, int height, int depth) {
18 | super(width, height, depth, JigsawPieceContainer.class);
19 | }
20 |
21 | @Override
22 | public Palette getGlobalPalette() {
23 | return null;
24 | }
25 |
26 | @Override
27 | public void writeNode(JigsawPieceContainer b, DataOutputStream dos) throws IOException {
28 | dos.writeUTF(b.getLoadKey());
29 | }
30 |
31 | @Override
32 | public JigsawPieceContainer readNode(DataInputStream din) throws IOException {
33 | return new JigsawPieceContainer(din.readUTF());
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/matter/slices/JigsawStructuresMatter.java:
--------------------------------------------------------------------------------
1 | package com.volmit.iris.util.matter.slices;
2 |
3 | import com.volmit.iris.util.data.palette.Palette;
4 | import com.volmit.iris.util.matter.Sliced;
5 | import com.volmit.iris.util.matter.slices.container.JigsawStructuresContainer;
6 |
7 | import java.io.DataInputStream;
8 | import java.io.DataOutputStream;
9 | import java.io.IOException;
10 |
11 | @Sliced
12 | public class JigsawStructuresMatter extends RawMatter {
13 | public JigsawStructuresMatter() {
14 | this(1, 1, 1);
15 | }
16 |
17 | public JigsawStructuresMatter(int width, int height, int depth) {
18 | super(width, height, depth, JigsawStructuresContainer.class);
19 | }
20 |
21 | @Override
22 | public Palette getGlobalPalette() {
23 | return null;
24 | }
25 |
26 | @Override
27 | public void writeNode(JigsawStructuresContainer b, DataOutputStream dos) throws IOException {
28 | b.write(dos);
29 | }
30 |
31 | @Override
32 | public JigsawStructuresContainer readNode(DataInputStream din) throws IOException {
33 | return new JigsawStructuresContainer(din);
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/matter/slices/StructurePOIMatter.java:
--------------------------------------------------------------------------------
1 | package com.volmit.iris.util.matter.slices;
2 |
3 | import com.volmit.iris.util.data.palette.Palette;
4 | import com.volmit.iris.util.matter.MatterStructurePOI;
5 |
6 | import java.io.DataInputStream;
7 | import java.io.DataOutputStream;
8 | import java.io.IOException;
9 |
10 | public class StructurePOIMatter extends RawMatter {
11 |
12 | public StructurePOIMatter() {
13 | super(1, 1, 1, MatterStructurePOI.class);
14 | }
15 |
16 | @Override
17 | public Palette getGlobalPalette() {
18 | return null;
19 | }
20 |
21 | @Override
22 | public void writeNode(MatterStructurePOI b, DataOutputStream dos) throws IOException {
23 | dos.writeUTF(b.getType());
24 | }
25 |
26 | @Override
27 | public MatterStructurePOI readNode(DataInputStream din) throws IOException {
28 | return MatterStructurePOI.get(din.readUTF());
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/matter/slices/container/JigsawPieceContainer.java:
--------------------------------------------------------------------------------
1 | package com.volmit.iris.util.matter.slices.container;
2 |
3 | import com.volmit.iris.engine.object.IrisJigsawPiece;
4 |
5 | public class JigsawPieceContainer extends RegistrantContainer {
6 | public JigsawPieceContainer(String loadKey) {
7 | super(IrisJigsawPiece.class, loadKey);
8 | }
9 |
10 | public static JigsawPieceContainer toContainer(IrisJigsawPiece piece) {
11 | return new JigsawPieceContainer(piece.getLoadKey());
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/matter/slices/container/RegistrantContainer.java:
--------------------------------------------------------------------------------
1 | package com.volmit.iris.util.matter.slices.container;
2 |
3 | import com.volmit.iris.core.loader.IrisData;
4 | import com.volmit.iris.core.loader.IrisRegistrant;
5 |
6 | public abstract class RegistrantContainer {
7 | private final Class type;
8 | private final String loadKey;
9 |
10 | public RegistrantContainer(Class type, String loadKey) {
11 | this.type = type;
12 | this.loadKey = loadKey;
13 | }
14 |
15 | public T load(IrisData data) {
16 | return (T) data.getLoaders().get(type).load(loadKey);
17 | }
18 |
19 | public String getLoadKey() {
20 | return loadKey;
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/nbt/mca/ExceptionFunction.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.util.nbt.mca;
20 |
21 | @FunctionalInterface
22 | public interface ExceptionFunction {
23 |
24 | R accept(T t) throws E;
25 | }
26 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/nbt/mca/palette/MCABiomeContainer.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.util.nbt.mca.palette;
20 |
21 | public interface MCABiomeContainer {
22 | int[] getData();
23 |
24 | void setBiome(int x, int y, int z, int id);
25 |
26 | int getBiome(int x, int y, int z);
27 | }
28 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/nbt/mca/palette/MCACountConsumer.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.util.nbt.mca.palette;
20 |
21 | @FunctionalInterface
22 | public interface MCACountConsumer {
23 | void accept(T paramT, int paramInt);
24 | }
25 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/nbt/mca/palette/MCAIdMap.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.util.nbt.mca.palette;
20 |
21 | public interface MCAIdMap extends Iterable {
22 | int getId(T paramT);
23 |
24 | T byId(int paramInt);
25 | }
26 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/nbt/mca/palette/MCAPalette.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.util.nbt.mca.palette;
20 |
21 | import com.volmit.iris.util.nbt.tag.ListTag;
22 |
23 | import java.util.function.Predicate;
24 |
25 | public interface MCAPalette {
26 | int idFor(T paramT);
27 |
28 | boolean maybeHas(Predicate paramPredicate);
29 |
30 | T valueFor(int paramInt);
31 |
32 | int getSize();
33 |
34 | void read(ListTag paramListTag);
35 | }
36 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/nbt/mca/palette/MCAPaletteAccess.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.util.nbt.mca.palette;
20 |
21 | import com.volmit.iris.util.nbt.tag.CompoundTag;
22 |
23 | public interface MCAPaletteAccess {
24 | void setBlock(int x, int y, int z, CompoundTag data);
25 |
26 | CompoundTag getBlock(int x, int y, int z);
27 |
28 | void writeToSection(CompoundTag tag);
29 |
30 | void readFromSection(CompoundTag tag);
31 | }
32 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/nbt/mca/palette/MCAPaletteResize.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.util.nbt.mca.palette;
20 |
21 | interface MCAPaletteResize {
22 | int onResize(int paramInt, T paramT);
23 | }
24 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/network/DownloadMonitor.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.util.network;
20 |
21 | @FunctionalInterface
22 | public interface DownloadMonitor {
23 | void onUpdate(DL.DownloadState state, double progress, long elapsed, long estimated, long bps, long iobps, long size, long downloaded, long buffer, double bufferuse);
24 | }
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/noise/CNGFactory.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.util.noise;
20 |
21 | import com.volmit.iris.util.math.RNG;
22 |
23 | @FunctionalInterface
24 | public interface CNGFactory {
25 | CNG create(RNG seed);
26 | }
27 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/noise/NoiseFactory.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.util.noise;
20 |
21 | @FunctionalInterface
22 | public interface NoiseFactory {
23 | NoiseGenerator create(long seed);
24 | }
25 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/noise/OctaveNoise.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.util.noise;
20 |
21 | public interface OctaveNoise {
22 | void setOctaves(int o);
23 | }
24 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/parallel/BurstedHunk.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.util.parallel;
20 |
21 |
22 | import com.volmit.iris.util.hunk.Hunk;
23 |
24 | public interface BurstedHunk extends Hunk {
25 | int getOffsetX();
26 |
27 | int getOffsetY();
28 |
29 | int getOffsetZ();
30 | }
31 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/plugin/CancellableTask.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.util.plugin;
20 |
21 | public interface CancellableTask {
22 | void cancel();
23 | }
24 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/plugin/Command.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.util.plugin;
20 |
21 | import com.volmit.iris.util.format.C;
22 |
23 | import java.lang.annotation.Retention;
24 | import java.lang.annotation.Target;
25 |
26 | import static java.lang.annotation.ElementType.FIELD;
27 | import static java.lang.annotation.RetentionPolicy.RUNTIME;
28 |
29 | @Retention(RUNTIME)
30 | @Target(FIELD)
31 | public @interface Command {
32 | String value() default "";
33 |
34 | }
35 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/plugin/Control.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.util.plugin;
20 |
21 | import java.lang.annotation.Retention;
22 | import java.lang.annotation.Target;
23 |
24 | import static java.lang.annotation.ElementType.FIELD;
25 | import static java.lang.annotation.RetentionPolicy.RUNTIME;
26 |
27 | @Retention(RUNTIME)
28 | @Target(FIELD)
29 | public @interface Control {
30 |
31 | }
32 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/plugin/Instance.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.util.plugin;
20 |
21 | import java.lang.annotation.Retention;
22 | import java.lang.annotation.Target;
23 |
24 | import static java.lang.annotation.ElementType.FIELD;
25 | import static java.lang.annotation.RetentionPolicy.RUNTIME;
26 |
27 | @Retention(RUNTIME)
28 | @Target(FIELD)
29 | public @interface Instance {
30 |
31 | }
32 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/plugin/IrisService.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.util.plugin;
20 |
21 | import com.volmit.iris.Iris;
22 | import org.bukkit.event.Listener;
23 |
24 | public interface IrisService extends Listener {
25 | void onEnable();
26 |
27 | void onDisable();
28 |
29 | default void postShutdown(Runnable r) {
30 | Iris.instance.postShutdown(r);
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/plugin/Permission.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.util.plugin;
20 |
21 | import java.lang.annotation.Retention;
22 | import java.lang.annotation.Target;
23 |
24 | import static java.lang.annotation.ElementType.FIELD;
25 | import static java.lang.annotation.RetentionPolicy.RUNTIME;
26 |
27 | @Retention(RUNTIME)
28 | @Target(FIELD)
29 | public @interface Permission {
30 |
31 | }
32 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/reflect/ShadeFix.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.util.reflect;
20 |
21 | public class ShadeFix {
22 | public static void fix(Class> c) {
23 | c.getCanonicalName();
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/reflect/W.java:
--------------------------------------------------------------------------------
1 | package com.volmit.iris.util.reflect;
2 |
3 | import lombok.Getter;
4 |
5 | public class W {
6 | @Getter
7 | private static final StackWalker stack = StackWalker.getInstance(StackWalker.Option.RETAIN_CLASS_REFERENCE);
8 | }
9 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/scheduling/Callback.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.util.scheduling;
20 |
21 | /**
22 | * Callback for async workers
23 | *
24 | * @param the type of object to be returned in the runnable
25 | * @author cyberpwn
26 | */
27 | @FunctionalInterface
28 | public interface Callback {
29 | /**
30 | * Called when the callback calls back...
31 | *
32 | * @param t the object to be called back
33 | */
34 | void run(T t);
35 | }
36 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/scheduling/Contained.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.util.scheduling;
20 |
21 | import java.util.function.Function;
22 |
23 | public class Contained {
24 | private T t;
25 |
26 | public void mod(Function x) {
27 | set(x.apply(t));
28 | }
29 |
30 | public T get() {
31 | return t;
32 | }
33 |
34 | public void set(T t) {
35 | this.t = t;
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/scheduling/Observable.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.util.scheduling;
20 |
21 | public interface Observable {
22 | T get();
23 |
24 | Observable set(T t);
25 |
26 | boolean has();
27 |
28 | Observable clearObservers();
29 |
30 | Observable observe(Observer t);
31 | }
32 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/scheduling/Observer.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.util.scheduling;
20 |
21 | @FunctionalInterface
22 | public interface Observer {
23 | void onChanged(T from, T to);
24 | }
25 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/scheduling/S.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.util.scheduling;
20 |
21 | public abstract class S implements Runnable {
22 | public S() {
23 | J.s(this);
24 | }
25 |
26 | public S(int delay) {
27 | J.s(this, delay);
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/stream/ProceduralLayer.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.util.stream;
20 |
21 | public interface ProceduralLayer {
22 | long getSeed();
23 |
24 | double getOffsetX();
25 |
26 | double getOffsetY();
27 |
28 | double getOffsetZ();
29 |
30 | double getZoom();
31 | }
32 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/stream/Significance.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Iris is a World Generator for Minecraft Bukkit Servers
3 | * Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program. If not, see .
17 | */
18 |
19 | package com.volmit.iris.util.stream;
20 |
21 | import com.volmit.iris.util.collection.KList;
22 |
23 | public interface Significance {
24 | KList getFactorTypes();
25 |
26 | double getSignificance(T t);
27 |
28 | T getMostSignificantType();
29 | }
30 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/uniques/U.java:
--------------------------------------------------------------------------------
1 | package com.volmit.iris.util.uniques;
2 |
3 | import java.io.File;
4 |
5 | public class U {
6 | public static void main(String[] a) {
7 | UniqueRenderer r = new UniqueRenderer("helloworld", 2560, 1440);
8 |
9 | r.writeCollectionFrames(new File("collection"), 1, 1024);
10 |
11 | System.exit(0);
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/uniques/UBufferedImage.java:
--------------------------------------------------------------------------------
1 | package com.volmit.iris.util.uniques;
2 |
3 | import java.awt.*;
4 | import java.awt.image.BufferedImage;
5 | import java.awt.image.ColorModel;
6 | import java.awt.image.WritableRaster;
7 |
8 | public class UBufferedImage implements UImage {
9 | private final BufferedImage buf;
10 |
11 | public UBufferedImage(BufferedImage buf) {
12 | this.buf = buf;
13 | }
14 |
15 | @Override
16 | public int getWidth() {
17 | return buf.getWidth();
18 | }
19 |
20 | @Override
21 | public int getHeight() {
22 | return buf.getHeight();
23 | }
24 |
25 | @Override
26 | public UImage copy() {
27 | ColorModel cm = buf.getColorModel();
28 | boolean isAlphaPremultiplied = cm.isAlphaPremultiplied();
29 | WritableRaster raster = buf.copyData(null);
30 | return new UBufferedImage(new BufferedImage(cm, raster, isAlphaPremultiplied, null));
31 | }
32 |
33 | @Override
34 | public Color get(int x, int y) {
35 | return new Color(buf.getRGB(x, y));
36 | }
37 |
38 | @Override
39 | public void set(int x, int y, Color color) {
40 | try {
41 | buf.setRGB(x, y, color.getRGB());
42 | } catch (Throwable e) {
43 |
44 | }
45 | }
46 | }
47 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/uniques/UImage.java:
--------------------------------------------------------------------------------
1 | package com.volmit.iris.util.uniques;
2 |
3 | import java.awt.*;
4 |
5 | public interface UImage {
6 | int getWidth();
7 |
8 | int getHeight();
9 |
10 | default boolean isInBounds(int x, int y) {
11 | return x >= 0 && x < getWidth() && y >= 0 && y < getHeight();
12 | }
13 |
14 | UImage copy();
15 |
16 | Color get(int x, int y);
17 |
18 | void set(int x, int y, Color color);
19 | }
20 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/uniques/features/UFNOOP.java:
--------------------------------------------------------------------------------
1 | package com.volmit.iris.util.uniques.features;
2 |
3 | import com.volmit.iris.util.math.RNG;
4 | import com.volmit.iris.util.uniques.UFeature;
5 | import com.volmit.iris.util.uniques.UFeatureMeta;
6 | import com.volmit.iris.util.uniques.UImage;
7 |
8 | import java.util.function.Consumer;
9 |
10 | public class UFNOOP implements UFeature {
11 | @Override
12 | public void render(UImage image, RNG rng, double t, Consumer progressor, UFeatureMeta meta) {
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/core/src/main/java/com/volmit/iris/util/uniques/features/UFWarpedBackground.java:
--------------------------------------------------------------------------------
1 | package com.volmit.iris.util.uniques.features;
2 |
3 | import com.volmit.iris.util.math.RNG;
4 | import com.volmit.iris.util.noise.CNG;
5 | import com.volmit.iris.util.uniques.UFeature;
6 | import com.volmit.iris.util.uniques.UFeatureMeta;
7 | import com.volmit.iris.util.uniques.UImage;
8 |
9 | import java.util.function.Consumer;
10 |
11 | public class UFWarpedBackground implements UFeature {
12 | @Override
13 | public void render(UImage image, RNG rng, double t, Consumer progressor, UFeatureMeta meta) {
14 | CNG hue = generator("color_hue", rng, rng.d(0.001, rng.d(2, 5)), rng.i(0, 3), rng.i(0, 3), 31007, meta);
15 | CNG sat = generator("color_sat", rng, rng.d(0.001, rng.d(2, 5)), rng.i(0, 2), rng.i(0, 2), 33004, meta);
16 | CNG bri = generator("color_bri", rng, rng.d(0.001, rng.d(2, 5)), rng.i(0, 1), rng.i(0, 1), 32005, meta).patch(0.145);
17 | double tcf = rng.d(0.15, 0.55);
18 |
19 | for (int i = 0; i < image.getWidth(); i++) {
20 | for (int j = 0; j < image.getHeight(); j++) {
21 | image.set(i, j, color(hue, sat, bri, i, j, tcf * t));
22 | }
23 |
24 | progressor.accept(i / (double) image.getWidth());
25 | }
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/core/src/main/resources/plugin.yml:
--------------------------------------------------------------------------------
1 | name: ${name}
2 | version: ${version}
3 | main: ${main}
4 | load: STARTUP
5 | authors: [ cyberpwn, NextdoorPsycho, Vatuu ]
6 | website: volmit.com
7 | description: More than a Dimension!
8 | libraries:
9 | - com.googlecode.concurrentlinkedhashmap:concurrentlinkedhashmap-lru:1.4.2
10 | - com.github.ben-manes.caffeine:caffeine:3.0.5
11 | - org.apache.commons:commons-lang3:3.12.0
12 | - commons-io:commons-io:2.13.0
13 | - io.timeandspace:smoothie-map:2.0.2
14 | - com.google.guava:guava:31.0.1-jre
15 | - com.google.code.gson:gson:2.10.1
16 | - org.zeroturnaround:zt-zip:1.14
17 | - it.unimi.dsi:fastutil:8.5.6
18 | - org.ow2.asm:asm:9.2
19 | - rhino:js:1.7R2
20 | - bsf:bsf:2.4.0
21 | - org.lz4:lz4-java:1.8.0
22 | - com.github.oshi:oshi-core:6.6.5
23 | commands:
24 | iris:
25 | aliases: [ ir, irs ]
26 | api-version: '${apiversion}'
27 | hotload-dependencies: false
--------------------------------------------------------------------------------
/gource.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 | cd gource
3 | gource -f -a 1 -s 0.01 -t 100000 --colour-images --max-file-lag 35 --title MyGuide --user-scale 1.67 --max-user-speed 725 --filename-time 11 -title Chimera --user-friction 2.5 --padding 1.2 --user-scale 1.25 --filename-time 2 --bloom-intensity 0.1 --bloom-multiplier 3 --hide filenames,dirnames
--------------------------------------------------------------------------------
/gource/SDL2.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VolmitSoftware/Iris/635ee024599952a6fa15615977c4e625e761e2cb/gource/SDL2.dll
--------------------------------------------------------------------------------
/gource/SDL2_image.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VolmitSoftware/Iris/635ee024599952a6fa15615977c4e625e761e2cb/gource/SDL2_image.dll
--------------------------------------------------------------------------------
/gource/THANKS.txt:
--------------------------------------------------------------------------------
1 | Cheers to everyone at Catalyst IT for their support and encouragement.
2 |
--------------------------------------------------------------------------------
/gource/cmd/gource:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | GOURCE_CMD_DIR=`dirname "$0"`
3 | "$GOURCE_CMD_DIR/../gource.exe" "$@"
4 |
--------------------------------------------------------------------------------
/gource/cmd/gource.cmd:
--------------------------------------------------------------------------------
1 | @echo off
2 | "%~dp0\..\gource.exe" %*
3 |
--------------------------------------------------------------------------------
/gource/data/beam.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VolmitSoftware/Iris/635ee024599952a6fa15615977c4e625e761e2cb/gource/data/beam.png
--------------------------------------------------------------------------------
/gource/data/bloom.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VolmitSoftware/Iris/635ee024599952a6fa15615977c4e625e761e2cb/gource/data/bloom.tga
--------------------------------------------------------------------------------
/gource/data/bloom_alpha.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VolmitSoftware/Iris/635ee024599952a6fa15615977c4e625e761e2cb/gource/data/bloom_alpha.tga
--------------------------------------------------------------------------------
/gource/data/file.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VolmitSoftware/Iris/635ee024599952a6fa15615977c4e625e761e2cb/gource/data/file.png
--------------------------------------------------------------------------------
/gource/data/fonts/FreeSans.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VolmitSoftware/Iris/635ee024599952a6fa15615977c4e625e761e2cb/gource/data/fonts/FreeSans.ttf
--------------------------------------------------------------------------------
/gource/data/gource.style:
--------------------------------------------------------------------------------
1 | changeset = '{file_adds}{file_copies}{file_mods}{file_dels}'
2 | file_mod = "{date|hgdate}|{author|person}|M|{file_mod}\n"
3 | file_add = "{date|hgdate}|{author|person}|A|{file_add}\n"
4 | file_del = "{date|hgdate}|{author|person}|D|{file_del}\n"
5 | file_copy = "{date|hgdate}|{author|person}|A|{name}\n"
6 |
--------------------------------------------------------------------------------
/gource/data/shaders/bloom.frag:
--------------------------------------------------------------------------------
1 |
2 | varying vec3 pos;
3 |
4 | void main()
5 | {
6 | float r = fract(sin(dot(pos.xy ,vec2(11.3713,67.3219))) * 2351.3718);
7 |
8 | float offset = (0.5 - r) * gl_TexCoord[0].x * 0.045;
9 |
10 | float intensity = min(1.0, cos((length(pos*2.0)+offset)/gl_TexCoord[0].x));
11 | float gradient = intensity * smoothstep(0.0, 2.0, intensity);
12 |
13 | gradient *= smoothstep(1.0,0.67+r*0.33, 1.0-intensity);
14 |
15 | gl_FragColor = gl_Color * gradient;
16 | }
17 |
--------------------------------------------------------------------------------
/gource/data/shaders/bloom.vert:
--------------------------------------------------------------------------------
1 |
2 | varying vec3 pos;
3 |
4 | void main()
5 | {
6 | pos = gl_Vertex.xyz - gl_MultiTexCoord0.yzw;
7 | gl_TexCoord[0] = gl_MultiTexCoord0;
8 | gl_FrontColor = gl_Color;
9 | gl_Position = ftransform();
10 | }
11 |
--------------------------------------------------------------------------------
/gource/data/shaders/shadow.frag:
--------------------------------------------------------------------------------
1 | uniform sampler2D tex;
2 | uniform float shadow_strength;
3 |
4 | void main(void)
5 | {
6 | vec4 colour = texture2D(tex,gl_TexCoord[0].st);
7 |
8 | gl_FragColor = vec4(0.0, 0.0, 0.0, gl_Color.w * colour.w * shadow_strength);
9 | }
10 |
--------------------------------------------------------------------------------
/gource/data/shaders/shadow.vert:
--------------------------------------------------------------------------------
1 | void main(void)
2 | {
3 | gl_TexCoord[0] = gl_MultiTexCoord0;
4 | gl_FrontColor = gl_Color;
5 | gl_Position = ftransform();
6 | }
7 |
--------------------------------------------------------------------------------
/gource/data/shaders/text.frag:
--------------------------------------------------------------------------------
1 | uniform sampler2D tex;
2 | uniform float shadow_strength;
3 | uniform float texel_size;
4 |
5 | void main(void)
6 | {
7 | float colour_alpha = texture2D(tex,gl_TexCoord[0].xy).w;
8 | float shadow_alpha = texture2D(tex,gl_TexCoord[0].xy - vec2(texel_size)).w * shadow_strength;
9 |
10 | float combined_alpha = 1.0 - (1.0-shadow_alpha)*(1.0-colour_alpha);
11 |
12 | if(combined_alpha > 0.0) colour_alpha /= combined_alpha;
13 |
14 | gl_FragColor = gl_Color * vec4(vec3(colour_alpha), combined_alpha);
15 | }
16 |
--------------------------------------------------------------------------------
/gource/data/shaders/text.vert:
--------------------------------------------------------------------------------
1 | void main(void)
2 | {
3 | gl_TexCoord[0] = gl_MultiTexCoord0;
4 | gl_FrontColor = gl_Color;
5 | gl_Position = ftransform();
6 | }
7 |
--------------------------------------------------------------------------------
/gource/data/user.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VolmitSoftware/Iris/635ee024599952a6fa15615977c4e625e761e2cb/gource/data/user.png
--------------------------------------------------------------------------------
/gource/glew32.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VolmitSoftware/Iris/635ee024599952a6fa15615977c4e625e761e2cb/gource/glew32.dll
--------------------------------------------------------------------------------
/gource/gource.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VolmitSoftware/Iris/635ee024599952a6fa15615977c4e625e761e2cb/gource/gource.exe
--------------------------------------------------------------------------------
/gource/libboost_filesystem-mt.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VolmitSoftware/Iris/635ee024599952a6fa15615977c4e625e761e2cb/gource/libboost_filesystem-mt.dll
--------------------------------------------------------------------------------
/gource/libbz2-1.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VolmitSoftware/Iris/635ee024599952a6fa15615977c4e625e761e2cb/gource/libbz2-1.dll
--------------------------------------------------------------------------------
/gource/libfreetype-6.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VolmitSoftware/Iris/635ee024599952a6fa15615977c4e625e761e2cb/gource/libfreetype-6.dll
--------------------------------------------------------------------------------
/gource/libgcc_s_seh-1.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VolmitSoftware/Iris/635ee024599952a6fa15615977c4e625e761e2cb/gource/libgcc_s_seh-1.dll
--------------------------------------------------------------------------------
/gource/libglib-2.0-0.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VolmitSoftware/Iris/635ee024599952a6fa15615977c4e625e761e2cb/gource/libglib-2.0-0.dll
--------------------------------------------------------------------------------
/gource/libgraphite2.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VolmitSoftware/Iris/635ee024599952a6fa15615977c4e625e761e2cb/gource/libgraphite2.dll
--------------------------------------------------------------------------------
/gource/libharfbuzz-0.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VolmitSoftware/Iris/635ee024599952a6fa15615977c4e625e761e2cb/gource/libharfbuzz-0.dll
--------------------------------------------------------------------------------
/gource/libiconv-2.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VolmitSoftware/Iris/635ee024599952a6fa15615977c4e625e761e2cb/gource/libiconv-2.dll
--------------------------------------------------------------------------------
/gource/libintl-8.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VolmitSoftware/Iris/635ee024599952a6fa15615977c4e625e761e2cb/gource/libintl-8.dll
--------------------------------------------------------------------------------
/gource/libjpeg-8.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VolmitSoftware/Iris/635ee024599952a6fa15615977c4e625e761e2cb/gource/libjpeg-8.dll
--------------------------------------------------------------------------------
/gource/liblzma-5.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VolmitSoftware/Iris/635ee024599952a6fa15615977c4e625e761e2cb/gource/liblzma-5.dll
--------------------------------------------------------------------------------
/gource/libpcre-1.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VolmitSoftware/Iris/635ee024599952a6fa15615977c4e625e761e2cb/gource/libpcre-1.dll
--------------------------------------------------------------------------------
/gource/libpng16-16.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VolmitSoftware/Iris/635ee024599952a6fa15615977c4e625e761e2cb/gource/libpng16-16.dll
--------------------------------------------------------------------------------
/gource/libstdc++-6.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VolmitSoftware/Iris/635ee024599952a6fa15615977c4e625e761e2cb/gource/libstdc++-6.dll
--------------------------------------------------------------------------------
/gource/libtiff-5.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VolmitSoftware/Iris/635ee024599952a6fa15615977c4e625e761e2cb/gource/libtiff-5.dll
--------------------------------------------------------------------------------
/gource/libwebp-7.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VolmitSoftware/Iris/635ee024599952a6fa15615977c4e625e761e2cb/gource/libwebp-7.dll
--------------------------------------------------------------------------------
/gource/libwinpthread-1.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VolmitSoftware/Iris/635ee024599952a6fa15615977c4e625e761e2cb/gource/libwinpthread-1.dll
--------------------------------------------------------------------------------
/gource/libzstd.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VolmitSoftware/Iris/635ee024599952a6fa15615977c4e625e761e2cb/gource/libzstd.dll
--------------------------------------------------------------------------------
/gource/zlib1.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VolmitSoftware/Iris/635ee024599952a6fa15615977c4e625e761e2cb/gource/zlib1.dll
--------------------------------------------------------------------------------
/gradle.properties:
--------------------------------------------------------------------------------
1 | #
2 | # Iris is a World Generator for Minecraft Bukkit Servers
3 | # Copyright (c) 2022 Arcane Arts (Volmit Software)
4 | #
5 | # This program is free software: you can redistribute it and/or modify
6 | # it under the terms of the GNU General Public License as published by
7 | # the Free Software Foundation, either version 3 of the License, or
8 | # (at your option) any later version.
9 | #
10 | # This program is distributed in the hope that it will be useful,
11 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | # GNU General Public License for more details.
14 | #
15 | # You should have received a copy of the GNU General Public License
16 | # along with this program. If not, see .
17 | #
18 | org.gradle.daemon=true
19 | org.gradle.parallel=true
20 | org.gradle.jvmargs=-Xmx3072m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
21 | org.gradle.caching=true
22 | org.gradle.configureondemand=false
23 |
24 | nmsTools.useBuildTools=false
25 | nmsTools.repo-url=https://repo.codemc.org/repository/nms/
26 | nmsTools.specialSourceVersion=1.11.4
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VolmitSoftware/Iris/635ee024599952a6fa15615977c4e625e761e2cb/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionBase=GRADLE_USER_HOME
2 | distributionPath=wrapper/dists
3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 |
--------------------------------------------------------------------------------
/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VolmitSoftware/Iris/635ee024599952a6fa15615977c4e625e761e2cb/icon.png
--------------------------------------------------------------------------------
/listing.json:
--------------------------------------------------------------------------------
1 | [
2 | "overworld IrisDimensions/overworld",
3 | "vanilla IrisDimensions/vanilla",
4 | "flat IrisDimensions/flat",
5 | "redstone IrisDimensions/redstone",
6 | "mars IrisDimensions/mars",
7 | "example IrisDimensions/example",
8 | "newhorizons IrisDimensions/newhorizons",
9 | "theend IrisDimensions/theend"
10 | ]
11 |
--------------------------------------------------------------------------------
/lombok.config:
--------------------------------------------------------------------------------
1 | # This file is generated by the 'io.freefair.lombok' Gradle plugin
2 | config.stopBubbling = true
3 |
--------------------------------------------------------------------------------
/out/production/resources/plugin.yml:
--------------------------------------------------------------------------------
1 | name: ${name}
2 | version: ${version}
3 | main: ${main}
4 | load: STARTUP
5 | authors: [ cyberpwn, NextdoorPsycho ]
6 | website: volmit.com
7 | description: More than a Dimension!
8 | libraries:
9 | - org.zeroturnaround:zt-zip:1.14
10 | - com.googlecode.concurrentlinkedhashmap:concurrentlinkedhashmap-lru:1.4.2
11 | - org.ow2.asm:asm:9.2
12 | - com.google.code.gson:gson:2.8.7
13 | - it.unimi.dsi:fastutil:8.5.4
14 | - com.google.guava:guava:30.1.1-jre
15 | - bsf:bsf:2.4.0
16 | - rhino:js:1.7R2
17 | commands:
18 | iris:
19 | aliases: [ ir, irs ]
20 | api-version: ${apiversion}
21 | hotload-dependencies: false
--------------------------------------------------------------------------------
/packignore.ignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | *.code-workspace
3 | *.txt
--------------------------------------------------------------------------------
/storepage/Incredible-Tools.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VolmitSoftware/Iris/635ee024599952a6fa15615977c4e625e761e2cb/storepage/Incredible-Tools.png
--------------------------------------------------------------------------------
/storepage/Performance.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VolmitSoftware/Iris/635ee024599952a6fa15615977c4e625e761e2cb/storepage/Performance.png
--------------------------------------------------------------------------------
/storepage/Real-Custom-Biomes.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VolmitSoftware/Iris/635ee024599952a6fa15615977c4e625e761e2cb/storepage/Real-Custom-Biomes.png
--------------------------------------------------------------------------------
/storepage/The-Dimension-Engine.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VolmitSoftware/Iris/635ee024599952a6fa15615977c4e625e761e2cb/storepage/The-Dimension-Engine.png
--------------------------------------------------------------------------------
/storepage/The-Overworld.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VolmitSoftware/Iris/635ee024599952a6fa15615977c4e625e761e2cb/storepage/The-Overworld.png
--------------------------------------------------------------------------------
/storepage/gg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VolmitSoftware/Iris/635ee024599952a6fa15615977c4e625e761e2cb/storepage/gg.png
--------------------------------------------------------------------------------
/storepage/two/Footer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VolmitSoftware/Iris/635ee024599952a6fa15615977c4e625e761e2cb/storepage/two/Footer.png
--------------------------------------------------------------------------------
/storepage/two/Header.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VolmitSoftware/Iris/635ee024599952a6fa15615977c4e625e761e2cb/storepage/two/Header.png
--------------------------------------------------------------------------------
/storepage/two/Iris.xd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VolmitSoftware/Iris/635ee024599952a6fa15615977c4e625e761e2cb/storepage/two/Iris.xd
--------------------------------------------------------------------------------
/storepage/two/NOTE.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VolmitSoftware/Iris/635ee024599952a6fa15615977c4e625e761e2cb/storepage/two/NOTE.png
--------------------------------------------------------------------------------
/storepage/two/NOTERED.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VolmitSoftware/Iris/635ee024599952a6fa15615977c4e625e761e2cb/storepage/two/NOTERED.png
--------------------------------------------------------------------------------
/storepage/two/SUPERTHANKS.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VolmitSoftware/Iris/635ee024599952a6fa15615977c4e625e761e2cb/storepage/two/SUPERTHANKS.png
--------------------------------------------------------------------------------
/storepage/two/WhyChooseIris.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VolmitSoftware/Iris/635ee024599952a6fa15615977c4e625e761e2cb/storepage/two/WhyChooseIris.png
--------------------------------------------------------------------------------
/storepage/two/allnewfeatures.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VolmitSoftware/Iris/635ee024599952a6fa15615977c4e625e761e2cb/storepage/two/allnewfeatures.png
--------------------------------------------------------------------------------
/storepage/two/c1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VolmitSoftware/Iris/635ee024599952a6fa15615977c4e625e761e2cb/storepage/two/c1.png
--------------------------------------------------------------------------------
/storepage/two/c2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VolmitSoftware/Iris/635ee024599952a6fa15615977c4e625e761e2cb/storepage/two/c2.png
--------------------------------------------------------------------------------
/storepage/two/c3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VolmitSoftware/Iris/635ee024599952a6fa15615977c4e625e761e2cb/storepage/two/c3.png
--------------------------------------------------------------------------------
/storepage/two/c4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VolmitSoftware/Iris/635ee024599952a6fa15615977c4e625e761e2cb/storepage/two/c4.png
--------------------------------------------------------------------------------
/storepage/two/c5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VolmitSoftware/Iris/635ee024599952a6fa15615977c4e625e761e2cb/storepage/two/c5.png
--------------------------------------------------------------------------------
/storepage/two/dlshare.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VolmitSoftware/Iris/635ee024599952a6fa15615977c4e625e761e2cb/storepage/two/dlshare.png
--------------------------------------------------------------------------------
/storepage/two/icard.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VolmitSoftware/Iris/635ee024599952a6fa15615977c4e625e761e2cb/storepage/two/icard.png
--------------------------------------------------------------------------------
/storepage/two/speed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VolmitSoftware/Iris/635ee024599952a6fa15615977c4e625e761e2cb/storepage/two/speed.png
--------------------------------------------------------------------------------
/wad.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/VolmitSoftware/Iris/635ee024599952a6fa15615977c4e625e761e2cb/wad.png
--------------------------------------------------------------------------------