├── .github └── FUNDING.yml ├── .gitignore ├── LICENSE ├── README.md ├── abstract ├── pom.xml └── src │ └── main │ └── java │ └── de │ └── derfrzocker │ └── custom │ └── ore │ └── generator │ └── impl │ ├── blockselector │ └── AbstractBlockSelector.java │ ├── customdata │ ├── AbstractAutoCustomData.java │ ├── AbstractBlockStateCustomData.java │ ├── AbstractCustomData.java │ ├── AbstractNBTTagCustomData.java │ ├── AbstractSkullTextureCustomData.java │ ├── AbstractVariantCustomData.java │ └── FileReadAbleCustomData.java │ └── oregenerator │ ├── AbstractMinableGenerator.java │ ├── AbstractOreGenerator.java │ └── AbstractSingleOreGenerator.java ├── api ├── pom.xml └── src │ └── main │ └── java │ └── de │ └── derfrzocker │ └── custom │ └── ore │ └── generator │ └── api │ ├── BiomeConfig.java │ ├── BlockSelector.java │ ├── ChunkAccess.java │ ├── ChunkInfo.java │ ├── CustomOreGeneratorService.java │ ├── Info.java │ ├── InfoAble.java │ ├── OreConfig.java │ ├── OreGenerator.java │ ├── OreSetting.java │ ├── OreSettingContainer.java │ ├── OreSettingsAble.java │ ├── WorldConfig.java │ ├── WorldHandler.java │ ├── customdata │ ├── CustomData.java │ ├── CustomDataApplier.java │ ├── CustomDataType.java │ └── LimitedValuesCustomData.java │ └── dao │ ├── OreConfigDao.java │ └── WorldConfigDao.java ├── custom-ore-generator ├── pom.xml └── src │ └── main │ ├── java │ └── de │ │ └── derfrzocker │ │ └── custom │ │ └── ore │ │ └── generator │ │ ├── CustomOreGenerator.java │ │ ├── CustomOreGeneratorMessages.java │ │ ├── CustomOreGeneratorMetrics.java │ │ ├── Permissions.java │ │ ├── command │ │ ├── CreateCommand.java │ │ ├── HelpConfigImpl.java │ │ ├── InfoCommand.java │ │ ├── OreGenCommand.java │ │ ├── ReloadCommand.java │ │ ├── add │ │ │ ├── AddCommand.java │ │ │ └── AddOreConfigCommand.java │ │ └── set │ │ │ ├── SetBiomeCommand.java │ │ │ ├── SetCommand.java │ │ │ ├── SetCustomDataCommand.java │ │ │ ├── SetPositionCommand.java │ │ │ ├── SetReplaceMaterialCommand.java │ │ │ ├── SetSelectMaterialCommand.java │ │ │ └── value │ │ │ ├── SetValueBlockSelectorCommand.java │ │ │ ├── SetValueCommand.java │ │ │ └── SetValueOreGeneratorCommand.java │ │ ├── factory │ │ ├── OreConfigBuilder.java │ │ ├── OreConfigFactory.java │ │ ├── gui │ │ │ ├── BiomeGui.java │ │ │ ├── BlockSelectorGui.java │ │ │ ├── CustomDataGui.java │ │ │ ├── CustomDatasGui.java │ │ │ ├── MenuGui.java │ │ │ ├── OreGeneratorGui.java │ │ │ ├── OreSettingGui.java │ │ │ ├── OreSettingsGui.java │ │ │ ├── WorldGui.java │ │ │ └── settings │ │ │ │ ├── BiomeGuiSettings.java │ │ │ │ ├── BlockSelectorGuiSettings.java │ │ │ │ ├── BooleanGuiSettings.java │ │ │ │ ├── CustomDataGuiSettings.java │ │ │ │ ├── CustomDatasGuiSettings.java │ │ │ │ ├── MenuGuiSettings.java │ │ │ │ ├── OreGeneratorGuiSettings.java │ │ │ │ ├── OreSettingGuiSettings.java │ │ │ │ ├── OreSettingsGuiSettings.java │ │ │ │ └── WorldGuiSettings.java │ │ └── listeners │ │ │ ├── CommandListener.java │ │ │ ├── MainMaterialListener.java │ │ │ ├── MaterialListener.java │ │ │ ├── ReplaceMaterialListener.java │ │ │ └── SelectMaterialListener.java │ │ ├── impl │ │ ├── CustomOreGeneratorServiceImpl.java │ │ ├── InfoImpl.java │ │ ├── blockselector │ │ │ ├── CountRangeBlockSelector.java │ │ │ └── HighestBlockBlockSelector.java │ │ ├── customdata │ │ │ ├── AutoCustomData.java │ │ │ ├── BlockStateCustomData.java │ │ │ ├── CommandCustomData.java │ │ │ ├── DirectionCustomData.java │ │ │ ├── FacingCustomData.java │ │ │ ├── ItemModsCustomData.java │ │ │ ├── NBTTagCustomData.java │ │ │ ├── SkullTextureCustomData.java │ │ │ ├── TickBlockCustomData.java │ │ │ └── VariantCustomData.java │ │ └── oregenerator │ │ │ ├── GlowStoneGenerator.java │ │ │ ├── RootGenerator.java │ │ │ └── SingleOreGenerator.java │ │ └── utils │ │ ├── InfoUtil.java │ │ └── RegisterUtil.java │ └── resources │ ├── data │ ├── factory │ │ └── gui │ │ │ ├── biome-gui.yml │ │ │ ├── block-selector-gui.yml │ │ │ ├── boolean-gui.yml │ │ │ ├── custom-data-gui.yml │ │ │ ├── custom-datas-gui.yml │ │ │ ├── menu-gui.yml │ │ │ ├── ore-generator-gui.yml │ │ │ ├── ore-setting-gui.yml │ │ │ ├── ore-settings-gui.yml │ │ │ └── world-gui.yml │ └── info │ │ ├── block-selector │ │ ├── COUNT_RANGE │ │ │ ├── COUNT_RANGE.yml │ │ │ └── ore-setting │ │ │ │ ├── HEIGHT_RANGE.yml │ │ │ │ ├── MINIMUM_HEIGHT.yml │ │ │ │ └── VEINS_PER_CHUNK.yml │ │ └── HIGHEST_BLOCK │ │ │ ├── HIGHEST_BLOCK.yml │ │ │ └── ore-setting │ │ │ └── VEINS_PER_CHUNK.yml │ │ ├── custom-data │ │ ├── AUTO.yml │ │ ├── BLOCK_STATE.yml │ │ ├── COMMAND.yml │ │ ├── DOWN.yml │ │ ├── EAST.yml │ │ ├── FACING.yml │ │ ├── ITEM_MODS.yml │ │ ├── NBT_TAG.yml │ │ ├── NORTH.yml │ │ ├── ORAXEN.yml │ │ ├── SKULL_TEXTURE.yml │ │ ├── SOUTH.yml │ │ ├── TICK_BLOCK.yml │ │ ├── UP.yml │ │ ├── VARIANT.yml │ │ └── WEST.yml │ │ └── ore-generator │ │ ├── GLOW_STONE_GENERATOR │ │ ├── GLOW_STONE_GENERATOR.yml │ │ └── ore-setting │ │ │ ├── CONNECTIONS.yml │ │ │ ├── HORIZONTAL_SCOPE.yml │ │ │ ├── NEGATIVE_TRIES.yml │ │ │ ├── NEGATIVE_VERTICAL_SCOPE.yml │ │ │ ├── POSITIVE_TRIES.yml │ │ │ └── POSITIVE_VERTICAL_SCOPE.yml │ │ ├── ROOT_GENERATOR │ │ ├── ROOT_GENERATOR.yml │ │ └── ore-setting │ │ │ ├── CHANCE_SUBTRACTION_RANGE.yml │ │ │ ├── CONTINUE_CHANCE.yml │ │ │ ├── CONTINUE_TRIES.yml │ │ │ ├── DOWN_CHANCE.yml │ │ │ ├── LENGTH_SUBTRACTION_RANGE.yml │ │ │ ├── MINIMUM_CHANCE_SUBTRACTION.yml │ │ │ ├── MINIMUM_LENGTH_SUBTRACTION.yml │ │ │ ├── MINIMUM_TRIES_SUBTRACTION.yml │ │ │ ├── ROOT_LENGTH.yml │ │ │ └── TRIES_SUBTRACTION_RANGE.yml │ │ ├── SINGLE_ORE_GENERATOR │ │ └── SINGLE_ORE_GENERATOR.yml │ │ └── VANILLA_MINABLE_GENERATOR │ │ ├── VANILLA_MINABLE_GENERATOR.yml │ │ └── ore-setting │ │ └── VEIN_SIZE.yml │ ├── messages.yml │ └── plugin.yml ├── impl ├── pom.xml ├── v1_10_R1 │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── de │ │ └── derfrzocker │ │ └── custom │ │ └── ore │ │ └── generator │ │ └── impl │ │ └── v1_10_R1 │ │ ├── ChunkAccessImpl.java │ │ ├── CustomOreBlockPopulator_v1_10_R1.java │ │ ├── customdata │ │ ├── AutoApplier_v1_10_R1.java │ │ ├── BlockStateApplier_v1_10_R1.java │ │ ├── CommandApplier_v1_10_R1.java │ │ ├── NBTTagApplier_v1_10_R1.java │ │ ├── SkullTextureApplier_v1_10_R1.java │ │ └── VariantApplier_v1_10_R1.java │ │ └── oregenerator │ │ └── MinableGenerator_v1_10_R1.java ├── v1_11_R1 │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── de │ │ └── derfrzocker │ │ └── custom │ │ └── ore │ │ └── generator │ │ └── impl │ │ └── v1_11_R1 │ │ ├── ChunkAccessImpl.java │ │ ├── CustomOreBlockPopulator_v1_11_R1.java │ │ ├── customdata │ │ ├── AutoApplier_v1_11_R1.java │ │ ├── BlockStateApplier_v1_11_R1.java │ │ ├── CommandApplier_v1_11_R1.java │ │ ├── NBTTagApplier_v1_11_R1.java │ │ ├── SkullTextureApplier_v1_11_R1.java │ │ └── VariantApplier_v1_11_R1.java │ │ └── oregenerator │ │ └── MinableGenerator_v1_11_R1.java ├── v1_12_R1 │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── de │ │ └── derfrzocker │ │ └── custom │ │ └── ore │ │ └── generator │ │ └── impl │ │ └── v1_12_R1 │ │ ├── ChunkAccessImpl.java │ │ ├── CustomOreBlockPopulator_v1_12_R1.java │ │ ├── customdata │ │ ├── AutoApplier_v1_12_R1.java │ │ ├── BlockStateApplier_v1_12_R1.java │ │ ├── CommandApplier_v1_12_R1.java │ │ ├── NBTTagApplier_v1_12_R1.java │ │ ├── SkullTextureApplier_v1_12_R1.java │ │ └── VariantApplier_v1_12_R1.java │ │ └── oregenerator │ │ └── MinableGenerator_v1_12_R1.java ├── v1_13_R1 │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── de │ │ └── derfrzocker │ │ └── custom │ │ └── ore │ │ └── generator │ │ └── impl │ │ └── v1_13_R1 │ │ ├── ChunkOverrieder.java │ │ ├── GeneratorAccessOverrider.java │ │ ├── WorldHandler_v1_13_R1.java │ │ ├── customdata │ │ ├── AutoApplier_v1_13_R1.java │ │ ├── BlockStateApplier_v1_13_R1.java │ │ ├── CommandApplier_v1_13_R1.java │ │ ├── DirectionApplier_v1_13_R1.java │ │ ├── FacingApplier_v1_13_R1.java │ │ ├── NBTTagApplier_v1_13_R1.java │ │ ├── SkullTextureApplier_v1_13_R1.java │ │ └── TickBlockApplier_v1_13_R1.java │ │ └── oregenerator │ │ └── MinableGenerator_v1_13_R1.java ├── v1_13_R2 │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── de │ │ └── derfrzocker │ │ └── custom │ │ └── ore │ │ └── generator │ │ └── impl │ │ └── v1_13_R2 │ │ ├── ChunkOverrieder.java │ │ ├── GeneratorAccessOverrider.java │ │ ├── WorldHandler_v1_13_R2.java │ │ ├── customdata │ │ ├── AutoApplier_v1_13_R2.java │ │ ├── BlockStateApplier_v1_13_R2.java │ │ ├── CommandApplier_v1_13_R2.java │ │ ├── DirectionApplier_v1_13_R2.java │ │ ├── FacingApplier_v1_13_R2.java │ │ ├── NBTTagApplier_v1_13_R2.java │ │ ├── SkullTextureApplier_v1_13_R2.java │ │ └── TickBlockApplier_v1_13_R2.java │ │ └── oregenerator │ │ └── MinableGenerator_v1_13_R2.java ├── v1_14_R1 │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── de │ │ └── derfrzocker │ │ └── custom │ │ └── ore │ │ └── generator │ │ └── impl │ │ └── v1_14_R1 │ │ ├── ChunkOverrider.java │ │ ├── DummyGeneratorAccess.java │ │ ├── GeneratorAccessOverrider.java │ │ ├── WorldHandler_v1_14_R1.java │ │ ├── customdata │ │ ├── AutoApplier_v1_14_R1.java │ │ ├── BlockStateApplier_v1_14_R1.java │ │ ├── CommandApplier_v1_14_R1.java │ │ ├── DirectionApplier_v1_14_R1.java │ │ ├── FacingApplier_v1_14_R1.java │ │ ├── ItemModsApplier_v1_14_R1.java │ │ ├── NBTTagApplier_v1_14_R1.java │ │ ├── SkullTextureApplier_v1_14_R1.java │ │ └── TickBlockApplier_v1_14_R1.java │ │ └── oregenerator │ │ └── MinableGenerator_v1_14_R1.java ├── v1_15_R1 │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── de │ │ └── derfrzocker │ │ └── custom │ │ └── ore │ │ └── generator │ │ └── impl │ │ └── v1_15_R1 │ │ ├── ChunkOverrider.java │ │ ├── DummyGeneratorAccess.java │ │ ├── GeneratorAccessOverrider.java │ │ ├── WorldHandler_v1_15_R1.java │ │ ├── customdata │ │ ├── AutoApplier_v1_15_R1.java │ │ ├── BlockStateApplier_v1_15_R1.java │ │ ├── CommandApplier_v1_15_R1.java │ │ ├── DirectionApplier_v1_15_R1.java │ │ ├── FacingApplier_v1_15_R1.java │ │ ├── ItemModsApplier_v1_15_R1.java │ │ ├── NBTTagApplier_v1_15_R1.java │ │ ├── SkullTextureApplier_v1_15_R1.java │ │ └── TickBlockApplier_v1_15_R1.java │ │ └── oregenerator │ │ └── MinableGenerator_v1_15_R1.java ├── v1_16_R1 │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── de │ │ └── derfrzocker │ │ └── custom │ │ └── ore │ │ └── generator │ │ └── impl │ │ └── v1_16_R1 │ │ ├── ChunkOverrider.java │ │ ├── GeneratorAccessOverrider.java │ │ ├── WorldHandler_v1_16_R1.java │ │ ├── customdata │ │ ├── AutoApplier_v1_16_R1.java │ │ ├── BlockStateApplier_v1_16_R1.java │ │ ├── CommandApplier_v1_16_R1.java │ │ ├── DirectionApplier_v1_16_R1.java │ │ ├── FacingApplier_v1_16_R1.java │ │ ├── ItemModsApplier_v1_16_R1.java │ │ ├── NBTTagApplier_v1_16_R1.java │ │ ├── SkullTextureApplier_v1_16_R1.java │ │ └── TickBlockApplier_v1_16_R1.java │ │ └── oregenerator │ │ └── MinableGenerator_v1_16_R1.java ├── v1_16_R2 │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── de │ │ └── derfrzocker │ │ └── custom │ │ └── ore │ │ └── generator │ │ └── impl │ │ └── v1_16_R2 │ │ ├── ChunkOverrider.java │ │ ├── GeneratorAccessOverrider.java │ │ ├── WorldHandler_v1_16_R2.java │ │ ├── customdata │ │ ├── AutoApplier_v1_16_R2.java │ │ ├── BlockStateApplier_v1_16_R2.java │ │ ├── CommandApplier_v1_16_R2.java │ │ ├── DirectionApplier_v1_16_R2.java │ │ ├── FacingApplier_v1_16_R2.java │ │ ├── ItemModsApplier_v1_16_R2.java │ │ ├── NBTTagApplier_v1_16_R2.java │ │ ├── SkullTextureApplier_v1_16_R2.java │ │ └── TickBlockApplier_v1_16_R2.java │ │ └── oregenerator │ │ └── MinableGenerator_v1_16_R2.java ├── v1_16_R3-post │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── de │ │ └── derfrzocker │ │ └── custom │ │ └── ore │ │ └── generator │ │ └── impl │ │ └── v1_16_R3_post │ │ └── customdata │ │ ├── CommandApplier_v1_16_R3_post.java │ │ ├── DirectionApplier_v1_16_R3_post.java │ │ └── FacingApplier_v1_16_R3_post.java ├── v1_16_R3 │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── de │ │ └── derfrzocker │ │ └── custom │ │ └── ore │ │ └── generator │ │ └── impl │ │ └── v1_16_R3 │ │ ├── ChunkOverrider.java │ │ ├── GeneratorAccessOverrider.java │ │ ├── WorldHandler_v1_16_R3.java │ │ ├── customdata │ │ ├── AutoApplier_v1_16_R3.java │ │ ├── BlockStateApplier_v1_16_R3.java │ │ ├── CommandApplier_v1_16_R3.java │ │ ├── DirectionApplier_v1_16_R3.java │ │ ├── FacingApplier_v1_16_R3.java │ │ ├── ItemModsApplier_v1_16_R3.java │ │ ├── NBTTagApplier_v1_16_R3.java │ │ ├── SkullTextureApplier_v1_16_R3.java │ │ └── TickBlockApplier_v1_16_R3.java │ │ └── oregenerator │ │ └── MinableGenerator_v1_16_R3.java ├── v1_17_R1 │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── de │ │ └── derfrzocker │ │ └── custom │ │ └── ore │ │ └── generator │ │ └── impl │ │ └── v1_17_R1 │ │ ├── ChunkAccessImpl.java │ │ ├── CustomChunkAccess.java │ │ ├── CustomOrePopulator.java │ │ ├── LevelChunkSectionOverride.java │ │ ├── WorldHandler_v1_17_R1.java │ │ ├── customdata │ │ ├── AutoApplier_v1_17_R1.java │ │ ├── BlockStateApplier_v1_17_R1.java │ │ ├── ItemModsApplier_v1_17_R1.java │ │ ├── NBTTagApplier_v1_17_R1.java │ │ ├── SkullTextureApplier_v1_17_R1.java │ │ └── TickBlockApplier_v1_17_R1.java │ │ └── oregenerator │ │ └── MinableGenerator_v1_17_R1.java ├── v1_18_R1 │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── de │ │ └── derfrzocker │ │ └── custom │ │ └── ore │ │ └── generator │ │ └── impl │ │ └── v1_18_R1 │ │ ├── ChunkAccessImpl.java │ │ ├── CustomChunkAccess.java │ │ ├── CustomOrePopulator.java │ │ ├── LevelChunkSectionOverride.java │ │ ├── WorldHandler_v1_18_R1.java │ │ ├── customdata │ │ ├── AutoApplier_v1_18_R1.java │ │ ├── BlockStateApplier_v1_18_R1.java │ │ ├── ItemModsApplier_v1_18_R1.java │ │ ├── NBTTagApplier_v1_18_R1.java │ │ ├── SkullTextureApplier_v1_18_R1.java │ │ └── TickBlockApplier_v1_18_R1.java │ │ └── oregenerator │ │ └── MinableGenerator_v1_18_R1.java ├── v1_18_R2 │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── de │ │ └── derfrzocker │ │ └── custom │ │ └── ore │ │ └── generator │ │ └── impl │ │ └── v1_18_R2 │ │ ├── ChunkAccessImpl.java │ │ ├── CustomChunkAccess.java │ │ ├── CustomOrePopulator.java │ │ ├── LevelChunkSectionOverride.java │ │ ├── WorldHandler_v1_18_R2.java │ │ ├── customdata │ │ ├── AutoApplier_v1_18_R2.java │ │ ├── BlockStateApplier_v1_18_R2.java │ │ ├── ItemModsApplier_v1_18_R2.java │ │ ├── NBTTagApplier_v1_18_R2.java │ │ ├── SkullTextureApplier_v1_18_R2.java │ │ └── TickBlockApplier_v1_18_R2.java │ │ └── oregenerator │ │ └── MinableGenerator_v1_18_R2.java ├── v1_19_R1 │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── de │ │ └── derfrzocker │ │ └── custom │ │ └── ore │ │ └── generator │ │ └── impl │ │ └── v1_19_R1 │ │ ├── ChunkAccessImpl.java │ │ ├── CustomChunkAccess.java │ │ ├── CustomOrePopulator.java │ │ ├── LevelChunkSectionOverride.java │ │ ├── WorldHandler_v1_19_R1.java │ │ ├── customdata │ │ ├── AutoApplier_v1_19_R1.java │ │ ├── BlockStateApplier_v1_19_R1.java │ │ ├── ItemModsApplier_v1_19_R1.java │ │ ├── NBTTagApplier_v1_19_R1.java │ │ ├── SkullTextureApplier_v1_19_R1.java │ │ └── TickBlockApplier_v1_19_R1.java │ │ └── oregenerator │ │ └── MinableGenerator_v1_19_R1.java ├── v1_19_R2 │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── de │ │ └── derfrzocker │ │ └── custom │ │ └── ore │ │ └── generator │ │ └── impl │ │ └── v1_19_R2 │ │ ├── ChunkAccessImpl.java │ │ ├── CustomChunkAccess.java │ │ ├── CustomOrePopulator.java │ │ ├── LevelChunkSectionOverride.java │ │ ├── WorldHandler_v1_19_R2.java │ │ ├── customdata │ │ ├── AutoApplier_v1_19_R2.java │ │ ├── BlockStateApplier_v1_19_R2.java │ │ ├── ItemModsApplier_v1_19_R2.java │ │ ├── NBTTagApplier_v1_19_R2.java │ │ ├── SkullTextureApplier_v1_19_R2.java │ │ └── TickBlockApplier_v1_19_R2.java │ │ └── oregenerator │ │ └── MinableGenerator_v1_19_R2.java ├── v1_19_R3 │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── de │ │ └── derfrzocker │ │ └── custom │ │ └── ore │ │ └── generator │ │ └── impl │ │ └── v1_19_R3 │ │ ├── ChunkAccessImpl.java │ │ ├── CustomChunkAccess.java │ │ ├── CustomOrePopulator.java │ │ ├── LevelChunkSectionOverride.java │ │ ├── WorldHandler_v1_19_R3.java │ │ ├── customdata │ │ ├── AutoApplier_v1_19_R3.java │ │ ├── BlockStateApplier_v1_19_R3.java │ │ ├── ItemModsApplier_v1_19_R3.java │ │ ├── NBTTagApplier_v1_19_R3.java │ │ ├── SkullTextureApplier_v1_19_R3.java │ │ └── TickBlockApplier_v1_19_R3.java │ │ └── oregenerator │ │ └── MinableGenerator_v1_19_R3.java ├── v1_20_R1 │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── de │ │ └── derfrzocker │ │ └── custom │ │ └── ore │ │ └── generator │ │ └── impl │ │ └── v1_20_R1 │ │ ├── ChunkAccessImpl.java │ │ ├── CustomChunkAccess.java │ │ ├── CustomOrePopulator.java │ │ ├── LevelChunkSectionOverride.java │ │ ├── WorldHandler_v1_20_R1.java │ │ ├── customdata │ │ ├── AutoApplier_v1_20_R1.java │ │ ├── BlockStateApplier_v1_20_R1.java │ │ ├── ItemModsApplier_v1_20_R1.java │ │ ├── NBTTagApplier_v1_20_R1.java │ │ ├── SkullTextureApplier_v1_20_R1.java │ │ └── TickBlockApplier_v1_20_R1.java │ │ └── oregenerator │ │ └── MinableGenerator_v1_20_R1.java ├── v1_20_R2 │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── de │ │ └── derfrzocker │ │ └── custom │ │ └── ore │ │ └── generator │ │ └── impl │ │ └── v1_20_R2 │ │ ├── ChunkAccessImpl.java │ │ ├── CustomChunkAccess.java │ │ ├── CustomOrePopulator.java │ │ ├── LevelChunkSectionOverride.java │ │ ├── WorldHandler_v1_20_R2.java │ │ ├── customdata │ │ ├── AutoApplier_v1_20_R2.java │ │ ├── BlockStateApplier_v1_20_R2.java │ │ ├── ItemModsApplier_v1_20_R2.java │ │ ├── NBTTagApplier_v1_20_R2.java │ │ ├── SkullTextureApplier_v1_20_R2.java │ │ └── TickBlockApplier_v1_20_R2.java │ │ └── oregenerator │ │ └── MinableGenerator_v1_20_R2.java ├── v1_20_R3 │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── de │ │ └── derfrzocker │ │ └── custom │ │ └── ore │ │ └── generator │ │ └── impl │ │ └── v1_20_R3 │ │ ├── ChunkAccessImpl.java │ │ ├── CustomChunkAccess.java │ │ ├── CustomOrePopulator.java │ │ ├── LevelChunkSectionOverride.java │ │ ├── WorldHandler_v1_20_R3.java │ │ ├── customdata │ │ ├── AutoApplier_v1_20_R3.java │ │ ├── BlockStateApplier_v1_20_R3.java │ │ ├── ItemModsApplier_v1_20_R3.java │ │ ├── NBTTagApplier_v1_20_R3.java │ │ ├── SkullTextureApplier_v1_20_R3.java │ │ └── TickBlockApplier_v1_20_R3.java │ │ └── oregenerator │ │ └── MinableGenerator_v1_20_R3.java ├── v1_20_R4 │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── de │ │ └── derfrzocker │ │ └── custom │ │ └── ore │ │ └── generator │ │ └── impl │ │ └── v1_20_R4 │ │ ├── ChunkAccessImpl.java │ │ ├── CustomChunkAccess.java │ │ ├── CustomOrePopulator.java │ │ ├── LevelChunkSectionOverride.java │ │ ├── WorldHandler_v1_20_R4.java │ │ ├── customdata │ │ ├── AutoApplier_v1_20_R4.java │ │ ├── BlockStateApplier_v1_20_R4.java │ │ ├── ItemModsApplier_v1_20_R4.java │ │ ├── NBTTagApplier_v1_20_R4.java │ │ ├── SkullTextureApplier_v1_20_R4.java │ │ └── TickBlockApplier_v1_20_R4.java │ │ └── oregenerator │ │ └── MinableGenerator_v1_20_R4.java ├── v1_21_R1 │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── de │ │ └── derfrzocker │ │ └── custom │ │ └── ore │ │ └── generator │ │ └── impl │ │ └── v1_21_R1 │ │ ├── ChunkAccessImpl.java │ │ ├── CustomChunkAccess.java │ │ ├── CustomOrePopulator.java │ │ ├── LevelChunkSectionOverride.java │ │ ├── WorldHandler_v1_21_R1.java │ │ ├── customdata │ │ ├── AutoApplier_v1_21_R1.java │ │ ├── BlockStateApplier_v1_21_R1.java │ │ ├── ItemModsApplier_v1_21_R1.java │ │ ├── NBTTagApplier_v1_21_R1.java │ │ ├── SkullTextureApplier_v1_21_R1.java │ │ └── TickBlockApplier_v1_21_R1.java │ │ └── oregenerator │ │ └── MinableGenerator_v1_21_R1.java ├── v1_21_R2 │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── de │ │ └── derfrzocker │ │ └── custom │ │ └── ore │ │ └── generator │ │ └── impl │ │ └── v1_21_R2 │ │ ├── ChunkAccessImpl.java │ │ ├── CustomChunkAccess.java │ │ ├── CustomOrePopulator.java │ │ ├── LevelChunkSectionOverride.java │ │ ├── WorldHandler_v1_21_R2.java │ │ ├── customdata │ │ ├── AutoApplier_v1_21_R2.java │ │ ├── BlockStateApplier_v1_21_R2.java │ │ ├── ItemModsApplier_v1_21_R2.java │ │ ├── NBTTagApplier_v1_21_R2.java │ │ ├── SkullTextureApplier_v1_21_R2.java │ │ └── TickBlockApplier_v1_21_R2.java │ │ └── oregenerator │ │ └── MinableGenerator_v1_21_R2.java ├── v1_21_R3 │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── de │ │ └── derfrzocker │ │ └── custom │ │ └── ore │ │ └── generator │ │ └── impl │ │ └── v1_21_R3 │ │ ├── ChunkAccessImpl.java │ │ ├── CustomChunkAccess.java │ │ ├── CustomOrePopulator.java │ │ ├── LevelChunkSectionOverride.java │ │ ├── WorldHandler_v1_21_R3.java │ │ ├── customdata │ │ ├── AutoApplier_v1_21_R3.java │ │ ├── BlockStateApplier_v1_21_R3.java │ │ ├── NBTTagApplier_v1_21_R3.java │ │ ├── SkullTextureApplier_v1_21_R3.java │ │ └── TickBlockApplier_v1_21_R3.java │ │ └── oregenerator │ │ └── MinableGenerator_v1_21_R3.java ├── v1_21_R4 │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── de │ │ └── derfrzocker │ │ └── custom │ │ └── ore │ │ └── generator │ │ └── impl │ │ └── v1_21_R4 │ │ ├── ChunkAccessImpl.java │ │ ├── CustomChunkAccess.java │ │ ├── CustomOrePopulator.java │ │ ├── LevelChunkSectionOverride.java │ │ ├── WorldHandler_v1_21_R4.java │ │ ├── customdata │ │ ├── AutoApplier_v1_21_R4.java │ │ ├── BlockStateApplier_v1_21_R4.java │ │ ├── NBTTagApplier_v1_21_R4.java │ │ ├── SkullTextureApplier_v1_21_R4.java │ │ └── TickBlockApplier_v1_21_R4.java │ │ └── oregenerator │ │ └── MinableGenerator_v1_21_R4.java ├── v1_8_R1 │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── de │ │ └── derfrzocker │ │ └── custom │ │ └── ore │ │ └── generator │ │ └── impl │ │ └── v1_8_R1 │ │ ├── ChunkAccessImpl.java │ │ ├── CustomOreBlockPopulator_v1_8_R1.java │ │ ├── customdata │ │ ├── CommandApplier_v1_8_R1.java │ │ ├── NBTTagApplier_v1_8_R1.java │ │ ├── SkullTextureApplier_v1_8_R1.java │ │ └── VariantApplier_v1_8_R1.java │ │ └── oregenerator │ │ └── MinableGenerator_v1_8_R1.java ├── v1_8_R2 │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── de │ │ └── derfrzocker │ │ └── custom │ │ └── ore │ │ └── generator │ │ └── impl │ │ └── v1_8_R2 │ │ ├── ChunkAccessImpl.java │ │ ├── CustomOreBlockPopulator_v1_8_R2.java │ │ ├── customdata │ │ ├── CommandApplier_v1_8_R2.java │ │ ├── NBTTagApplier_v1_8_R2.java │ │ ├── SkullTextureApplier_v1_8_R2.java │ │ └── VariantApplier_v1_8_R2.java │ │ └── oregenerator │ │ └── MinableGenerator_v1_8_R2.java ├── v1_8_R3 │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── de │ │ └── derfrzocker │ │ └── custom │ │ └── ore │ │ └── generator │ │ └── impl │ │ └── v1_8_R3 │ │ ├── ChunkAccessImpl.java │ │ ├── CustomOreBlockPopulator_v1_8_R3.java │ │ ├── customdata │ │ ├── CommandApplier_v1_8_R3.java │ │ ├── NBTTagApplier_v1_8_R3.java │ │ ├── SkullTextureApplier_v1_8_R3.java │ │ └── VariantApplier_v1_8_R3.java │ │ └── oregenerator │ │ └── MinableGenerator_v1_8_R3.java ├── v1_9_R1 │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── de │ │ └── derfrzocker │ │ └── custom │ │ └── ore │ │ └── generator │ │ └── impl │ │ └── v1_9_R1 │ │ ├── ChunkAccessImpl.java │ │ ├── CustomOreBlockPopulator_v1_9_R1.java │ │ ├── customdata │ │ ├── AutoApplier_v1_9_R1.java │ │ ├── CommandApplier_v1_9_R1.java │ │ ├── NBTTagApplier_v1_9_R1.java │ │ ├── SkullTextureApplier_v1_9_R1.java │ │ └── VariantApplier_v1_9_R1.java │ │ └── oregenerator │ │ └── MinableGenerator_v1_9_R1.java ├── v1_9_R2 │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── de │ │ └── derfrzocker │ │ └── custom │ │ └── ore │ │ └── generator │ │ └── impl │ │ └── v_1_9_R2 │ │ ├── ChunkAccessImpl.java │ │ ├── CustomOreBlockPopulator_v1_9_R2.java │ │ ├── customdata │ │ ├── AutoApplier_v1_9_R2.java │ │ ├── CommandApplier_v1_9_R2.java │ │ ├── NBTTagApplier_v1_9_R2.java │ │ ├── SkullTextureApplier_v1_9_R2.java │ │ └── VariantApplier_v1_9_R2.java │ │ └── oregenerator │ │ └── MinableGenerator_v1_9_R2.java └── yaml │ ├── pom.xml │ └── src │ ├── main │ └── java │ │ └── de │ │ └── derfrzocker │ │ └── custom │ │ └── ore │ │ └── generator │ │ └── impl │ │ ├── BiomeConfigYamlImpl.java │ │ ├── DummyOreConfig.java │ │ ├── OreConfigYamlImpl.java │ │ ├── OreSettingsContainerYamlImpl.java │ │ ├── WorldConfigYamlImpl.java │ │ └── dao │ │ ├── LazyOreConfigCache.java │ │ ├── LazyWorldConfigCache.java │ │ ├── OreConfigYamlDao.java │ │ ├── WorldConfigYamlDao.java │ │ └── WorldConfigYamlDao_Old.java │ └── test │ └── resources │ ├── OreConfigYamlImpl_NewFormat.yml │ └── OreConfigYamlImpl_OldFormat.yml ├── plugin ├── oraxen │ ├── pom.xml │ ├── v1 │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ └── java │ │ │ └── de │ │ │ └── derfrzocker │ │ │ └── custom │ │ │ └── ore │ │ │ └── generator │ │ │ └── plugin │ │ │ └── oraxen │ │ │ └── v1 │ │ │ ├── OraxenApplier.java │ │ │ └── OraxenCustomData_v1.java │ └── v2 │ │ ├── pom.xml │ │ └── src │ │ └── main │ │ └── java │ │ └── de │ │ └── derfrzocker │ │ └── custom │ │ └── ore │ │ └── generator │ │ └── plugin │ │ └── oraxen │ │ └── v2 │ │ ├── OraxenApplier.java │ │ └── OraxenCustomData_v2.java └── pom.xml └── pom.xml /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: [DerFrZocker] 4 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /.idea/ 2 | /abstract/target/ 3 | /api/target/ 4 | 5 | .flattened-pom.xml 6 | target 7 | *.iml 8 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 - 2020 Marvin (DerFrZocker) 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Custom-Ore-Generator 2 | Custom-Ore-Generator is a Spigot plugin, with which you can generate blocks as ores in your minecraft world. 3 | 4 | Links 5 | ----- 6 | * [Spigot plugin page](https://www.spigotmc.org/resources/64339/) (English) 7 | * [Minecraft-server.eu plugin page](https://minecraft-server.eu/forum/resources/24/) (German) 8 | * [Dev Builds](https://jenkins.derfrzocker.de/job/Custom-Ore-Generator-Dev/) 9 | * [Wiki](https://github.com/DerFrZocker/Custom-Ore-Generator/wiki) 10 | * [bStats](https://bstats.org/plugin/bukkit/Custom-Ore-Generator) -------------------------------------------------------------------------------- /abstract/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 4.0.0 6 | 7 | 8 | custom-ore-generator-parent 9 | de.derfrzocker 10 | ${revision} 11 | 12 | 13 | custom-ore-generator-impl-abstract 14 | 15 | 16 | 17 | de.derfrzocker 18 | custom-ore-generator-api 19 | ${project.version} 20 | provided 21 | 22 | 23 | org.spigotmc 24 | spigot-api 25 | 1.8-R0.1-SNAPSHOT 26 | provided 27 | true 28 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /abstract/src/main/java/de/derfrzocker/custom/ore/generator/impl/oregenerator/AbstractSingleOreGenerator.java: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2019 - 2020 Marvin (DerFrZocker) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | * 24 | */ 25 | 26 | package de.derfrzocker.custom.ore.generator.impl.oregenerator; 27 | 28 | import de.derfrzocker.custom.ore.generator.api.Info; 29 | import de.derfrzocker.custom.ore.generator.api.OreConfig; 30 | import de.derfrzocker.custom.ore.generator.api.OreSetting; 31 | import org.apache.commons.lang.Validate; 32 | import org.jetbrains.annotations.NotNull; 33 | 34 | import java.util.function.BiFunction; 35 | import java.util.function.Function; 36 | 37 | public abstract class AbstractSingleOreGenerator extends AbstractOreGenerator { 38 | 39 | /** 40 | * The infoFunction gives the name of the OreGenerator as value. 41 | * The oreSettingInfo gives the name of the OreGenerator and the OreSetting as values. 42 | * 43 | * @param infoFunction function to get the info object of this OreGenerator 44 | * @param oreSettingInfo biFunction to get the info object of a given OreSetting 45 | * @throws IllegalArgumentException if one of the arguments are null 46 | */ 47 | public AbstractSingleOreGenerator(@NotNull final Function infoFunction, @NotNull final BiFunction oreSettingInfo) { 48 | super("SINGLE_ORE_GENERATOR", EMPTY, infoFunction, oreSettingInfo); 49 | } 50 | 51 | @Override 52 | public boolean isSaveValue(@NotNull final OreSetting oreSetting, final double value, @NotNull final OreConfig oreConfig) { 53 | Validate.notNull(oreSetting, "OreSetting can not be null"); 54 | Validate.notNull(oreConfig, "OreConfig can not be null"); 55 | Validate.isTrue(getNeededOreSettings().contains(oreSetting), "The OreGenerator '" + getName() + "' does not need the OreSetting '" + oreSetting.getName() + "'"); 56 | 57 | throw new IllegalArgumentException("The OreGenerator '" + getName() + "' does not need any OreSetting"); 58 | } 59 | 60 | } 61 | -------------------------------------------------------------------------------- /api/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 4.0.0 6 | 7 | 8 | custom-ore-generator-parent 9 | de.derfrzocker 10 | ${revision} 11 | 12 | 13 | custom-ore-generator-api 14 | 15 | 16 | 17 | org.spigotmc 18 | spigot-api 19 | 1.8-R0.1-SNAPSHOT 20 | provided 21 | true 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /api/src/main/java/de/derfrzocker/custom/ore/generator/api/BiomeConfig.java: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2019 - 2020 Marvin (DerFrZocker) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | * 24 | */ 25 | 26 | package de.derfrzocker.custom.ore.generator.api; 27 | 28 | import org.bukkit.Material; 29 | import org.bukkit.block.Biome; 30 | 31 | import java.util.Optional; 32 | import java.util.Set; 33 | 34 | /** 35 | * Biome specific values are handel in the OreConfig itself 36 | * Only for Backwards compatibility. 37 | */ 38 | @Deprecated 39 | public interface BiomeConfig { 40 | 41 | Biome getBiome(); 42 | 43 | Optional getOreConfig(Material material); 44 | 45 | Set getOreConfigs(); 46 | 47 | void addOreConfig(OreConfig oreConfig); 48 | 49 | } 50 | -------------------------------------------------------------------------------- /api/src/main/java/de/derfrzocker/custom/ore/generator/api/BlockSelector.java: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2019 - 2020 Marvin (DerFrZocker) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | * 24 | */ 25 | 26 | package de.derfrzocker.custom.ore.generator.api; 27 | 28 | import org.bukkit.Location; 29 | import org.jetbrains.annotations.NotNull; 30 | 31 | import java.util.Random; 32 | import java.util.Set; 33 | 34 | /** 35 | * A BlockSelector select location's on which a vein should get generated 36 | */ 37 | public interface BlockSelector extends InfoAble, OreSettingsAble { 38 | 39 | /** 40 | * Returns a Set of Locations on which veins should get generated 41 | * The x and z positions should be between 0 and 15 42 | * The y positions should be between 0 and 255 43 | * 44 | * @param chunkInfo the ChunkInfo of the chunk 45 | * @param config which get generated 46 | * @param random to use 47 | * @return a Set of Locations on which veins should get generated 48 | * @throws NullPointerException if chunkInfo, config, or random is null 49 | */ 50 | @NotNull 51 | Set selectBlocks(@NotNull ChunkInfo chunkInfo, @NotNull OreConfig config, @NotNull Random random); 52 | 53 | /** 54 | * The name is used to identify the BlockSelector, 55 | * each BlockSelector should have a unique name. 56 | * The name must match the following Regex: ^[A-Z_]*$ 57 | * The name can not be empty 58 | * 59 | * @return the name of this BlockSelector 60 | */ 61 | @NotNull 62 | String getName(); 63 | 64 | } 65 | -------------------------------------------------------------------------------- /api/src/main/java/de/derfrzocker/custom/ore/generator/api/ChunkAccess.java: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2019 - 2020 Marvin (DerFrZocker) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | * 24 | */ 25 | 26 | package de.derfrzocker.custom.ore.generator.api; 27 | 28 | import org.bukkit.Material; 29 | import org.jetbrains.annotations.NotNull; 30 | 31 | public interface ChunkAccess { 32 | 33 | 34 | /** 35 | * Set the given material to the given position 36 | * The position is absolute from the world point and not relative from the chunk 37 | * 38 | * @param material to set 39 | * @param x position 40 | * @param y position 41 | * @param z position 42 | * @throws IllegalArgumentException if material is null 43 | */ 44 | void setMaterial(@NotNull Material material, int x, int y, int z); 45 | 46 | /** 47 | * Return the material on the given position. 48 | * The position is absolute from the world point and not relative from the chunk 49 | * 50 | * @param x position 51 | * @param y position 52 | * @param z position 53 | * @return the material on the given position 54 | */ 55 | @NotNull 56 | Material getMaterial(int x, int y, int z); 57 | 58 | } 59 | -------------------------------------------------------------------------------- /api/src/main/java/de/derfrzocker/custom/ore/generator/api/ChunkInfo.java: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2019 - 2020 Marvin (DerFrZocker) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | * 24 | */ 25 | 26 | package de.derfrzocker.custom.ore.generator.api; 27 | 28 | public interface ChunkInfo { 29 | 30 | /** 31 | * @param x positions must between 0 and 15 32 | * @param z positions must between 0 and 15 33 | * @return the y coordinate of the highest block on the given x and z coordinate 34 | * @throws IllegalArgumentException if x or z are not between 0 and 15 35 | */ 36 | int getHighestBlock(int x, int z); 37 | 38 | } 39 | -------------------------------------------------------------------------------- /api/src/main/java/de/derfrzocker/custom/ore/generator/api/Info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2019 - 2020 Marvin (DerFrZocker) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | * 24 | */ 25 | 26 | package de.derfrzocker.custom.ore.generator.api; 27 | 28 | import org.bukkit.Material; 29 | import org.jetbrains.annotations.NotNull; 30 | 31 | public interface Info { 32 | 33 | /** 34 | * @return a fancy name of the the holder of this Info 35 | */ 36 | @NotNull 37 | String getDisplayName(); 38 | 39 | /** 40 | * @return the Material which represent the holder of this Info 41 | */ 42 | @NotNull 43 | Material getMaterial(); 44 | 45 | /** 46 | * @return the Description of the holder of this Info 47 | */ 48 | @NotNull 49 | String getDescription(); 50 | 51 | } 52 | -------------------------------------------------------------------------------- /api/src/main/java/de/derfrzocker/custom/ore/generator/api/InfoAble.java: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2019 - 2020 Marvin (DerFrZocker) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | * 24 | */ 25 | 26 | package de.derfrzocker.custom.ore.generator.api; 27 | 28 | import org.jetbrains.annotations.NotNull; 29 | 30 | public interface InfoAble { 31 | 32 | /** 33 | * @return the Info of this Object 34 | */ 35 | @NotNull 36 | Info getInfo(); 37 | 38 | } 39 | -------------------------------------------------------------------------------- /api/src/main/java/de/derfrzocker/custom/ore/generator/api/OreGenerator.java: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2019 - 2020 Marvin (DerFrZocker) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | * 24 | */ 25 | 26 | package de.derfrzocker.custom.ore.generator.api; 27 | 28 | import org.bukkit.Location; 29 | import org.bukkit.block.Biome; 30 | import org.jetbrains.annotations.NotNull; 31 | 32 | import java.util.Random; 33 | import java.util.Set; 34 | 35 | /** 36 | * A OreGenerator generate veins of ores on the given locations 37 | */ 38 | public interface OreGenerator extends InfoAble, OreSettingsAble { 39 | 40 | /** 41 | * Generates veins of ores on the given Locations 42 | * The given Locations are relative from the chunk position, 43 | * this means the x and z values of the locations have a range from 0 - 15 44 | * 45 | * @param config which get generated 46 | * @param chunkAccess to use 47 | * @param x position of the chunk 48 | * @param z position of the chunk 49 | * @param random to use 50 | * @param biome which get generated 51 | * @param locations where the veins should be generated 52 | * @throws IllegalArgumentException if config, world, random, biome or locations are null 53 | */ 54 | void generate(@NotNull OreConfig config, @NotNull ChunkAccess chunkAccess, int x, int z, @NotNull Random random, @NotNull Biome biome, @NotNull Set locations); 55 | 56 | /** 57 | * The name is used to identify the OreGenerator, 58 | * each OreGenerator should have a unique name. 59 | * The name must match the following Regex: ^[A-Z_]*$ 60 | * The name can not be empty 61 | * 62 | * @return the name of this OreGenerator 63 | */ 64 | @NotNull 65 | String getName(); 66 | 67 | } 68 | -------------------------------------------------------------------------------- /api/src/main/java/de/derfrzocker/custom/ore/generator/api/OreSettingsAble.java: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2019 - 2020 Marvin (DerFrZocker) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | * 24 | */ 25 | 26 | package de.derfrzocker.custom.ore.generator.api; 27 | 28 | import org.jetbrains.annotations.NotNull; 29 | 30 | import java.util.Collections; 31 | import java.util.HashSet; 32 | import java.util.Set; 33 | 34 | public interface OreSettingsAble { 35 | 36 | Set EMPTY = Collections.unmodifiableSet(new HashSet<>()); 37 | 38 | /** 39 | * @return a set with all OreSettings which this OreSettingAble needs 40 | */ 41 | @NotNull 42 | Set getNeededOreSettings(); 43 | 44 | /** 45 | * Returns the Info Object for the given OreSetting 46 | * 47 | * @param oreSetting to get the info from 48 | * @return the info of the given OreSetting 49 | * @throws IllegalArgumentException if oreSetting is null 50 | * @throws IllegalArgumentException if this OreSettingAble don't have the given oreSetting 51 | */ 52 | @NotNull 53 | Info getOreSettingInfo(@NotNull OreSetting oreSetting); 54 | 55 | /** 56 | * Checks if the given value for the given oreSetting is save or not. 57 | * Save means, that passing an ore config with the given oreSetting and value will not cause definitely an error. 58 | * 59 | * @param oreSetting to check 60 | * @param value to check 61 | * @param oreConfig which gets the setting set 62 | * @return true if the given value is save, otherwise return false 63 | * @throws IllegalArgumentException if oreSetting or oreConfig is null 64 | * @throws IllegalArgumentException if the OreSettingAble does not need the given oreSetting 65 | */ 66 | boolean isSaveValue(@NotNull OreSetting oreSetting, double value, @NotNull OreConfig oreConfig); 67 | 68 | } 69 | -------------------------------------------------------------------------------- /api/src/main/java/de/derfrzocker/custom/ore/generator/api/WorldHandler.java: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2019 - 2020 Marvin (DerFrZocker) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | * 24 | */ 25 | 26 | package de.derfrzocker.custom.ore.generator.api; 27 | 28 | /** 29 | * Handel's integration to worlds 30 | */ 31 | public interface WorldHandler { 32 | 33 | } 34 | -------------------------------------------------------------------------------- /api/src/main/java/de/derfrzocker/custom/ore/generator/api/customdata/CustomDataApplier.java: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2019 - 2020 Marvin (DerFrZocker) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | * 24 | */ 25 | 26 | package de.derfrzocker.custom.ore.generator.api.customdata; 27 | 28 | import de.derfrzocker.custom.ore.generator.api.OreConfig; 29 | import org.jetbrains.annotations.NotNull; 30 | 31 | /** 32 | * A CustomDataApplier applies the CustomData to the block, 33 | * on the given location. 34 | * This Interface handel the nms part of the CustomData 35 | */ 36 | public interface CustomDataApplier { 37 | 38 | /** 39 | * Applies a CustomData to the Block on the given Location. 40 | * This method may get called from differed Threads in the same time. 41 | * 42 | * @param oreConfig from which the block is 43 | * @param location nms BlockPosition 44 | * @param blockAccess nms world or BlockAccess 45 | * @throws IllegalArgumentException if any value is null 46 | */ 47 | void apply(@NotNull OreConfig oreConfig, @NotNull Object location, @NotNull Object blockAccess); 48 | 49 | } 50 | -------------------------------------------------------------------------------- /api/src/main/java/de/derfrzocker/custom/ore/generator/api/customdata/CustomDataType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2019 - 2020 Marvin (DerFrZocker) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | * 24 | */ 25 | 26 | package de.derfrzocker.custom.ore.generator.api.customdata; 27 | 28 | /** 29 | * The types in which the value of a CustomData can be 30 | */ 31 | public enum CustomDataType { 32 | 33 | STRING, INTEGER, DOUBLE, BOOLEAN 34 | 35 | } 36 | -------------------------------------------------------------------------------- /api/src/main/java/de/derfrzocker/custom/ore/generator/api/customdata/LimitedValuesCustomData.java: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2019 - 2020 Marvin (DerFrZocker) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | * 24 | */ 25 | 26 | package de.derfrzocker.custom.ore.generator.api.customdata; 27 | 28 | import com.google.common.collect.Sets; 29 | import org.bukkit.Material; 30 | import org.jetbrains.annotations.NotNull; 31 | 32 | import java.util.Collections; 33 | import java.util.Set; 34 | 35 | public interface LimitedValuesCustomData extends CustomData { 36 | 37 | Set BOOLEAN_VALUE = Collections.unmodifiableSet(Sets.newHashSet(true, false)); 38 | 39 | /** 40 | * @param material to use 41 | * @return a set with all possible value object this CustomData can have 42 | * @throws IllegalArgumentException if material is null 43 | */ 44 | @NotNull 45 | Set getPossibleValues(@NotNull Material material); 46 | 47 | } 48 | -------------------------------------------------------------------------------- /api/src/main/java/de/derfrzocker/custom/ore/generator/api/dao/OreConfigDao.java: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2019 - 2020 Marvin (DerFrZocker) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | * 24 | */ 25 | 26 | package de.derfrzocker.custom.ore.generator.api.dao; 27 | 28 | import de.derfrzocker.custom.ore.generator.api.OreConfig; 29 | import de.derfrzocker.spigot.utils.dao.BasicDao; 30 | 31 | /** 32 | * Handel saving and loading from OreConfig's 33 | * key: name of the dao 34 | * value: the corresponding OreConfig 35 | */ 36 | public interface OreConfigDao extends BasicDao { 37 | 38 | } 39 | -------------------------------------------------------------------------------- /api/src/main/java/de/derfrzocker/custom/ore/generator/api/dao/WorldConfigDao.java: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2019 - 2020 Marvin (DerFrZocker) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | * 24 | */ 25 | 26 | package de.derfrzocker.custom.ore.generator.api.dao; 27 | 28 | import de.derfrzocker.custom.ore.generator.api.WorldConfig; 29 | import de.derfrzocker.spigot.utils.dao.BasicDao; 30 | 31 | /** 32 | * Handel saving and loading from WorldConfig's 33 | * key: name of the World 34 | * value: the corresponding WorldOreConfig 35 | */ 36 | public interface WorldConfigDao extends BasicDao { 37 | 38 | } 39 | -------------------------------------------------------------------------------- /custom-ore-generator/src/main/java/de/derfrzocker/custom/ore/generator/command/HelpConfigImpl.java: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2019 - 2020 Marvin (DerFrZocker) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | * 24 | */ 25 | 26 | package de.derfrzocker.custom.ore.generator.command; 27 | 28 | import de.derfrzocker.custom.ore.generator.CustomOreGeneratorMessages; 29 | import de.derfrzocker.spigot.utils.command.HelpConfig; 30 | import de.derfrzocker.spigot.utils.message.MessageKey; 31 | import org.apache.commons.lang.Validate; 32 | import org.jetbrains.annotations.NotNull; 33 | 34 | public class HelpConfigImpl implements HelpConfig { 35 | 36 | @NotNull 37 | private final CustomOreGeneratorMessages messages; 38 | 39 | public HelpConfigImpl(@NotNull final CustomOreGeneratorMessages messages) { 40 | Validate.notNull(messages, "CustomOreGeneratorMessages can not be null"); 41 | 42 | this.messages = messages; 43 | } 44 | 45 | @NotNull 46 | @Override 47 | public MessageKey getSeparatorMessageFormat() { 48 | return messages.COMMAND_HELP_SEPARATOR_FORMAT; 49 | } 50 | 51 | @NotNull 52 | @Override 53 | public MessageKey getHeaderMessageFormat() { 54 | return messages.COMMAND_HELP_HEADER_FORMAT; 55 | } 56 | 57 | @NotNull 58 | @Override 59 | public MessageKey getFooterMessageFormat() { 60 | return messages.COMMAND_HELP_FOOTER_FORMAT; 61 | } 62 | 63 | @NotNull 64 | @Override 65 | public MessageKey getPermissionMessageFormat() { 66 | return messages.COMMAND_HELP_PERMISSION_FORMAT; 67 | } 68 | 69 | @NotNull 70 | @Override 71 | public MessageKey getUsageMessageFormat() { 72 | return messages.COMMAND_HELP_USAGE_FORMAT; 73 | } 74 | 75 | @NotNull 76 | @Override 77 | public MessageKey getDescriptionMessageFormat() { 78 | return messages.COMMAND_HELP_DESCRIPTION_FORMAT; 79 | } 80 | 81 | @NotNull 82 | @Override 83 | public MessageKey getShortHelpMessageFormat() { 84 | return messages.COMMAND_HELP_SHORT_FORMAT; 85 | } 86 | 87 | } 88 | -------------------------------------------------------------------------------- /custom-ore-generator/src/main/java/de/derfrzocker/custom/ore/generator/command/add/AddCommand.java: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2019 - 2020 Marvin (DerFrZocker) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | * 24 | */ 25 | 26 | package de.derfrzocker.custom.ore.generator.command.add; 27 | 28 | import de.derfrzocker.custom.ore.generator.CustomOreGeneratorMessages; 29 | import de.derfrzocker.custom.ore.generator.Permissions; 30 | import de.derfrzocker.custom.ore.generator.api.CustomOreGeneratorService; 31 | import de.derfrzocker.custom.ore.generator.command.HelpConfigImpl; 32 | import de.derfrzocker.spigot.utils.command.CommandSeparator; 33 | import de.derfrzocker.spigot.utils.command.HelpCommand; 34 | import org.apache.commons.lang.Validate; 35 | import org.bukkit.plugin.java.JavaPlugin; 36 | import org.jetbrains.annotations.NotNull; 37 | 38 | import java.util.function.Supplier; 39 | 40 | public class AddCommand extends CommandSeparator { 41 | 42 | public AddCommand(@NotNull final Supplier serviceSupplier, @NotNull final JavaPlugin javaPlugin, @NotNull final CustomOreGeneratorMessages messages, @NotNull final Permissions permissions) { 43 | super(javaPlugin); 44 | Validate.notNull(serviceSupplier, "Service supplier can not be null"); 45 | Validate.notNull(javaPlugin, "JavaPlugin can not be null"); 46 | Validate.notNull(messages, "CustomOreGeneratorMessages can not be null"); 47 | Validate.notNull(permissions, "Permissions can not be null"); 48 | 49 | registerExecutor(new AddOreConfigCommand(serviceSupplier, javaPlugin, messages), "ore-config", permissions.ADD_ORE_CONFIG_PERMISSION, messages.COMMAND_ADD_ORE_CONFIG_USAGE, messages.COMMAND_ADD_ORE_CONFIG_DESCRIPTION); 50 | 51 | final HelpCommand helpCommand = new HelpCommand(this, new HelpConfigImpl(messages)); 52 | registerExecutor(helpCommand, "help", null, messages.COMMAND_ADD_HELP_USAGE, messages.COMMAND_HELP_DESCRIPTION); 53 | registerExecutor(helpCommand, null, null, messages.COMMAND_ADD_HELP_USAGE, messages.COMMAND_HELP_DESCRIPTION); 54 | } 55 | 56 | } 57 | -------------------------------------------------------------------------------- /custom-ore-generator/src/main/java/de/derfrzocker/custom/ore/generator/factory/gui/settings/BooleanGuiSettings.java: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2019 - 2020 Marvin (DerFrZocker) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | * 24 | */ 25 | 26 | package de.derfrzocker.custom.ore.generator.factory.gui.settings; 27 | 28 | import de.derfrzocker.spigot.utils.gui.BasicSettings; 29 | import de.derfrzocker.spigot.utils.gui.VerifyGui; 30 | import org.bukkit.configuration.ConfigurationSection; 31 | import org.bukkit.inventory.ItemStack; 32 | import org.bukkit.plugin.Plugin; 33 | import org.jetbrains.annotations.NotNull; 34 | 35 | import java.util.function.Supplier; 36 | 37 | public class BooleanGuiSettings extends BasicSettings implements VerifyGui.VerifyGuiSettingsInterface { 38 | 39 | public BooleanGuiSettings(@NotNull final Plugin plugin, @NotNull final String file) { 40 | super(plugin, file); 41 | } 42 | 43 | public BooleanGuiSettings(@NotNull final Plugin plugin, @NotNull final String file, final boolean copy) { 44 | super(plugin, file, copy); 45 | } 46 | 47 | public BooleanGuiSettings(@NotNull final Plugin plugin, @NotNull final Supplier configurationSectionSupplier) { 48 | super(plugin, configurationSectionSupplier); 49 | } 50 | 51 | @Override 52 | public int getAcceptSlot() { 53 | return getSection().getInt("true.slot"); 54 | } 55 | 56 | @Override 57 | public ItemStack getAcceptItemStack() { 58 | return getSection().getItemStack("true.item-stack"); 59 | } 60 | 61 | @Override 62 | public ItemStack getDenyItemStack() { 63 | return getSection().getItemStack("false.item-stack").clone(); 64 | } 65 | 66 | @Override 67 | public int getDenySlot() { 68 | return getSection().getInt("false.slot"); 69 | } 70 | 71 | } 72 | -------------------------------------------------------------------------------- /custom-ore-generator/src/main/java/de/derfrzocker/custom/ore/generator/utils/InfoUtil.java: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2019 - 2020 Marvin (DerFrZocker) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | * 24 | */ 25 | 26 | package de.derfrzocker.custom.ore.generator.utils; 27 | 28 | import de.derfrzocker.custom.ore.generator.api.Info; 29 | import de.derfrzocker.custom.ore.generator.api.OreSetting; 30 | import de.derfrzocker.custom.ore.generator.impl.InfoImpl; 31 | import org.bukkit.plugin.java.JavaPlugin; 32 | import org.jetbrains.annotations.NotNull; 33 | 34 | public class InfoUtil { 35 | 36 | @NotNull 37 | public static Info getBlockSelectorInfo(@NotNull final JavaPlugin javaPlugin, @NotNull final String name) { 38 | return new InfoImpl(javaPlugin, "data/info/block-selector/" + name + "/" + name + ".yml"); 39 | } 40 | 41 | @NotNull 42 | public static Info getOreGeneratorInfo(@NotNull final JavaPlugin javaPlugin, @NotNull final String name) { 43 | return new InfoImpl(javaPlugin, "data/info/ore-generator/" + name + "/" + name + ".yml"); 44 | } 45 | 46 | @NotNull 47 | public static Info getCustomDataInfo(@NotNull final JavaPlugin javaPlugin, @NotNull final String name) { 48 | return new InfoImpl(javaPlugin, "data/info/custom-data/" + name + ".yml"); 49 | } 50 | 51 | @NotNull 52 | public static Info getBlockSelectorOreSettingInfo(@NotNull final JavaPlugin javaPlugin, @NotNull final String name, @NotNull final OreSetting oreSetting) { 53 | return new InfoImpl(javaPlugin, "data/info/block-selector/" + name + "/ore-setting/" + oreSetting.getName() + ".yml"); 54 | } 55 | 56 | @NotNull 57 | public static Info getOreGeneratorOreSettingInfo(@NotNull final JavaPlugin javaPlugin, @NotNull final String name, @NotNull final OreSetting oreSetting) { 58 | return new InfoImpl(javaPlugin, "data/info/ore-generator/" + name + "/ore-setting/" + oreSetting.getName() + ".yml"); 59 | } 60 | 61 | } 62 | -------------------------------------------------------------------------------- /custom-ore-generator/src/main/resources/data/factory/gui/block-selector-gui.yml: -------------------------------------------------------------------------------- 1 | name: '%%translation:[ore-config.factory.gui.block-selector.name]%' 2 | rows: 5 3 | gap: 1 4 | empty-rows: 5 | up: 1 6 | below: 1 7 | next-page: 8 | slot: 8 9 | item-stack: 10 | ==: org.bukkit.inventory.ItemStack 11 | v: 1976 12 | type: OAK_SIGN 13 | meta: 14 | ==: ItemMeta 15 | meta-type: TILE_ENTITY 16 | display-name: '%%translation:[ore-config.factory.gui.general.next]%' 17 | blockMaterial: OAK_SIGN 18 | previous-page: 19 | slot: 0 20 | item-stack: 21 | ==: org.bukkit.inventory.ItemStack 22 | v: 1976 23 | type: OAK_SIGN 24 | meta: 25 | ==: ItemMeta 26 | meta-type: TILE_ENTITY 27 | display-name: '%%translation:[ore-config.factory.gui.general.previous]%' 28 | blockMaterial: OAK_SIGN 29 | menu: 30 | slot: 4 31 | item-stack: 32 | ==: org.bukkit.inventory.ItemStack 33 | v: 1976 34 | type: COMPARATOR 35 | meta: 36 | ==: ItemMeta 37 | meta-type: TILE_ENTITY 38 | display-name: '%%translation:[ore-config.factory.gui.general.menu]%' 39 | blockMaterial: COMPARATOR 40 | abort: 41 | slot: 5 42 | item-stack: 43 | ==: org.bukkit.inventory.ItemStack 44 | v: 1976 45 | type: BARRIER 46 | meta: 47 | ==: ItemMeta 48 | meta-type: UNSPECIFIC 49 | display-name: '%%translation:[ore-config.factory.gui.general.abort]%' 50 | default-block-selector: 51 | slot: 3 52 | item-stack: 53 | ==: org.bukkit.inventory.ItemStack 54 | v: 1976 55 | type: GRASS_BLOCK 56 | meta: 57 | ==: ItemMeta 58 | meta-type: UNSPECIFIC 59 | display-name: Default Block Selector 60 | lore: 61 | - '%%no-split%%%translation:[ore-config.factory.gui.block-selector.block-selector.name]%' 62 | - '%%translation:[ore-config.factory.gui.block-selector.block-selector.description]%' 63 | block-selector: 64 | item-stack: 65 | ==: org.bukkit.inventory.ItemStack 66 | v: 1976 67 | type: GRASS_BLOCK 68 | meta: 69 | ==: ItemMeta 70 | meta-type: UNSPECIFIC 71 | display-name: '%%translation:[ore-config.factory.gui.block-selector.block-selector.name]%' 72 | lore: 73 | - '%%translation:[ore-config.factory.gui.block-selector.block-selector.description]%' 74 | decorations: 75 | '0': 76 | slot: 77 | - 0 78 | - 1 79 | - 7 80 | - 8 81 | item-stack: 82 | ==: org.bukkit.inventory.ItemStack 83 | v: 1976 84 | type: RED_STAINED_GLASS_PANE 85 | meta: 86 | ==: ItemMeta 87 | meta-type: UNSPECIFIC 88 | display-name: ' ' 89 | '1': 90 | slot: 91 | - 2 92 | - 4 93 | - 6 94 | item-stack: 95 | ==: org.bukkit.inventory.ItemStack 96 | v: 1976 97 | type: BLACK_STAINED_GLASS_PANE 98 | meta: 99 | ==: ItemMeta 100 | meta-type: UNSPECIFIC 101 | display-name: ' ' 102 | -------------------------------------------------------------------------------- /custom-ore-generator/src/main/resources/data/factory/gui/boolean-gui.yml: -------------------------------------------------------------------------------- 1 | name: '%%translation:[ore-config.factory.gui.boolean.name]%' 2 | rows: 3 3 | 'true': 4 | slot: 12 5 | item-stack: 6 | ==: org.bukkit.inventory.ItemStack 7 | v: 2230 8 | type: GREEN_TERRACOTTA 9 | meta: 10 | ==: ItemMeta 11 | meta-type: UNSPECIFIC 12 | display-name: '%%translation:[ore-config.factory.gui.boolean.true]%' 13 | 'false': 14 | slot: 14 15 | item-stack: 16 | ==: org.bukkit.inventory.ItemStack 17 | v: 2230 18 | type: RED_TERRACOTTA 19 | meta: 20 | ==: ItemMeta 21 | meta-type: UNSPECIFIC 22 | display-name: '%%translation:[ore-config.factory.gui.boolean.false]%' 23 | -------------------------------------------------------------------------------- /custom-ore-generator/src/main/resources/data/factory/gui/custom-data-gui.yml: -------------------------------------------------------------------------------- 1 | name: '%%translation:[ore-config.factory.gui.custom-data.name]%' 2 | rows: 4 3 | menu: 4 | slot: 4 5 | item-stack: 6 | ==: org.bukkit.inventory.ItemStack 7 | v: 2230 8 | type: COMPARATOR 9 | meta: 10 | ==: ItemMeta 11 | meta-type: TILE_ENTITY 12 | display-name: '%%translation:[ore-config.factory.gui.general.menu]%' 13 | blockMaterial: COMPARATOR 14 | abort: 15 | slot: 5 16 | item-stack: 17 | ==: org.bukkit.inventory.ItemStack 18 | v: 2230 19 | type: BARRIER 20 | meta: 21 | ==: ItemMeta 22 | meta-type: UNSPECIFIC 23 | display-name: '%%translation:[ore-config.factory.gui.general.abort]%' 24 | back: 25 | slot: 3 26 | item-stack: 27 | ==: org.bukkit.inventory.ItemStack 28 | v: 2230 29 | type: IRON_DOOR 30 | meta: 31 | ==: ItemMeta 32 | meta-type: UNSPECIFIC 33 | display-name: '%%translation:[ore-config.factory.gui.general.back]%' 34 | value: 35 | current: 36 | slot: 22 37 | item-stack: 38 | ==: org.bukkit.inventory.ItemStack 39 | v: 2230 40 | type: PAPER 41 | meta: 42 | ==: ItemMeta 43 | meta-type: UNSPECIFIC 44 | display-name: '%%translation:[ore-config.factory.gui.custom-data.current]%' 45 | lore: 46 | - '%%translation:[ore-config.factory.gui.custom-data.value]%' 47 | found: 48 | slot: 20 49 | item-stack: 50 | ==: org.bukkit.inventory.ItemStack 51 | v: 2230 52 | type: ENCHANTED_BOOK 53 | meta: 54 | ==: ItemMeta 55 | meta-type: ENCHANTED 56 | display-name: '%%translation:[ore-config.factory.gui.custom-data.found]%' 57 | lore: 58 | - '%%translation:[ore-config.factory.gui.custom-data.value]%' 59 | set: 60 | slot: 24 61 | item-stack: 62 | ==: org.bukkit.inventory.ItemStack 63 | v: 2230 64 | type: WRITABLE_BOOK 65 | meta: 66 | ==: ItemMeta 67 | meta-type: BOOK 68 | display-name: '%%translation:[ore-config.factory.gui.custom-data.set]%' 69 | remove: 70 | slot: 14 71 | item-stack: 72 | ==: org.bukkit.inventory.ItemStack 73 | v: 2230 74 | type: TNT 75 | meta: 76 | ==: ItemMeta 77 | meta-type: UNSPECIFIC 78 | display-name: '%%translation:[ore-config.factory.gui.custom-data.remove]%' 79 | decorations: 80 | '0': 81 | slot: 82 | - 0 83 | - 1 84 | - 7 85 | - 8 86 | item-stack: 87 | ==: org.bukkit.inventory.ItemStack 88 | v: 2230 89 | type: RED_STAINED_GLASS_PANE 90 | meta: 91 | ==: ItemMeta 92 | meta-type: UNSPECIFIC 93 | display-name: ' ' 94 | '1': 95 | slot: 96 | - 2 97 | - 6 98 | item-stack: 99 | ==: org.bukkit.inventory.ItemStack 100 | v: 2230 101 | type: BLACK_STAINED_GLASS_PANE 102 | meta: 103 | ==: ItemMeta 104 | meta-type: UNSPECIFIC 105 | display-name: ' ' 106 | -------------------------------------------------------------------------------- /custom-ore-generator/src/main/resources/data/factory/gui/custom-datas-gui.yml: -------------------------------------------------------------------------------- 1 | name: '%%translation:[ore-config.factory.gui.custom-datas.name]%' 2 | rows: 5 3 | gap: 1 4 | empty-rows: 5 | up: 1 6 | below: 1 7 | next-page: 8 | slot: 8 9 | item-stack: 10 | ==: org.bukkit.inventory.ItemStack 11 | v: 2230 12 | type: OAK_SIGN 13 | meta: 14 | ==: ItemMeta 15 | meta-type: TILE_ENTITY 16 | display-name: '%%translation:[ore-config.factory.gui.general.next]%' 17 | blockMaterial: OAK_SIGN 18 | previous-page: 19 | slot: 0 20 | item-stack: 21 | ==: org.bukkit.inventory.ItemStack 22 | v: 2230 23 | type: OAK_SIGN 24 | meta: 25 | ==: ItemMeta 26 | meta-type: TILE_ENTITY 27 | display-name: '%%translation:[ore-config.factory.gui.general.previous]%' 28 | blockMaterial: OAK_SIGN 29 | menu: 30 | slot: 4 31 | item-stack: 32 | ==: org.bukkit.inventory.ItemStack 33 | v: 2230 34 | type: COMPARATOR 35 | meta: 36 | ==: ItemMeta 37 | meta-type: TILE_ENTITY 38 | display-name: '%%translation:[ore-config.factory.gui.general.menu]%' 39 | blockMaterial: COMPARATOR 40 | abort: 41 | slot: 5 42 | item-stack: 43 | ==: org.bukkit.inventory.ItemStack 44 | v: 2230 45 | type: BARRIER 46 | meta: 47 | ==: ItemMeta 48 | meta-type: UNSPECIFIC 49 | display-name: '%%translation:[ore-config.factory.gui.general.abort]%' 50 | next: 51 | slot: 3 52 | item-stack: 53 | ==: org.bukkit.inventory.ItemStack 54 | v: 2230 55 | type: STICK 56 | meta: 57 | ==: ItemMeta 58 | meta-type: UNSPECIFIC 59 | display-name: '%%translation:[ore-config.factory.gui.general.next]%' 60 | custom-data: 61 | deactivated: 62 | item-stack: 63 | ==: org.bukkit.inventory.ItemStack 64 | v: 2230 65 | type: STONE 66 | meta: 67 | ==: ItemMeta 68 | meta-type: UNSPECIFIC 69 | display-name: '%name%' 70 | activated: 71 | item-stack: 72 | ==: org.bukkit.inventory.ItemStack 73 | v: 2230 74 | type: STONE 75 | meta: 76 | ==: ItemMeta 77 | meta-type: UNSPECIFIC 78 | display-name: '%name%' 79 | enchants: 80 | DURABILITY: 1 81 | ItemFlags: 82 | - HIDE_ENCHANTS 83 | decorations: 84 | '0': 85 | slot: 86 | - 0 87 | - 1 88 | - 7 89 | - 8 90 | item-stack: 91 | ==: org.bukkit.inventory.ItemStack 92 | v: 2230 93 | type: RED_STAINED_GLASS_PANE 94 | meta: 95 | ==: ItemMeta 96 | meta-type: UNSPECIFIC 97 | display-name: ' ' 98 | '1': 99 | slot: 100 | - 2 101 | - 6 102 | item-stack: 103 | ==: org.bukkit.inventory.ItemStack 104 | v: 2230 105 | type: BLACK_STAINED_GLASS_PANE 106 | meta: 107 | ==: ItemMeta 108 | meta-type: UNSPECIFIC 109 | display-name: ' ' 110 | -------------------------------------------------------------------------------- /custom-ore-generator/src/main/resources/data/factory/gui/ore-generator-gui.yml: -------------------------------------------------------------------------------- 1 | ore-generator: 2 | item-stack: 3 | ==: org.bukkit.inventory.ItemStack 4 | v: 1976 5 | type: GRASS_BLOCK 6 | meta: 7 | ==: ItemMeta 8 | meta-type: UNSPECIFIC 9 | display-name: '%%translation:[ore-config.factory.gui.ore-generator.ore-generator.name]%' 10 | lore: 11 | - '%%translation:[ore-config.factory.gui.ore-generator.ore-generator.description]%' 12 | name: '%%translation:[ore-config.factory.gui.ore-generator.name]%' 13 | rows: 5 14 | gap: 1 15 | empty-rows: 16 | up: 1 17 | below: 1 18 | next-page: 19 | slot: 8 20 | item-stack: 21 | ==: org.bukkit.inventory.ItemStack 22 | v: 1976 23 | type: OAK_SIGN 24 | meta: 25 | ==: ItemMeta 26 | meta-type: TILE_ENTITY 27 | display-name: '%%translation:[ore-config.factory.gui.general.next]%' 28 | blockMaterial: OAK_SIGN 29 | previous-page: 30 | slot: 0 31 | item-stack: 32 | ==: org.bukkit.inventory.ItemStack 33 | v: 1976 34 | type: OAK_SIGN 35 | meta: 36 | ==: ItemMeta 37 | meta-type: TILE_ENTITY 38 | display-name: '%%translation:[ore-config.factory.gui.general.previous]%' 39 | blockMaterial: OAK_SIGN 40 | menu: 41 | slot: 4 42 | item-stack: 43 | ==: org.bukkit.inventory.ItemStack 44 | v: 1976 45 | type: COMPARATOR 46 | meta: 47 | ==: ItemMeta 48 | meta-type: TILE_ENTITY 49 | display-name: '%%translation:[ore-config.factory.gui.general.menu]%' 50 | blockMaterial: COMPARATOR 51 | abort: 52 | slot: 5 53 | item-stack: 54 | ==: org.bukkit.inventory.ItemStack 55 | v: 1976 56 | type: BARRIER 57 | meta: 58 | ==: ItemMeta 59 | meta-type: UNSPECIFIC 60 | display-name: '%%translation:[ore-config.factory.gui.general.abort]%' 61 | default-ore-generator: 62 | slot: 3 63 | item-stack: 64 | ==: org.bukkit.inventory.ItemStack 65 | v: 1976 66 | type: GRASS_BLOCK 67 | meta: 68 | ==: ItemMeta 69 | meta-type: UNSPECIFIC 70 | display-name: Default Ore Generator 71 | lore: 72 | - '%%no-split%%%translation:[ore-config.factory.gui.ore-generator.ore-generator.name]%' 73 | - '%%translation:[ore-config.factory.gui.ore-generator.ore-generator.description]%' 74 | decorations: 75 | '0': 76 | slot: 77 | - 0 78 | - 1 79 | - 7 80 | - 8 81 | item-stack: 82 | ==: org.bukkit.inventory.ItemStack 83 | v: 1976 84 | type: RED_STAINED_GLASS_PANE 85 | meta: 86 | ==: ItemMeta 87 | meta-type: UNSPECIFIC 88 | display-name: ' ' 89 | '1': 90 | slot: 91 | - 2 92 | - 4 93 | - 6 94 | item-stack: 95 | ==: org.bukkit.inventory.ItemStack 96 | v: 1976 97 | type: BLACK_STAINED_GLASS_PANE 98 | meta: 99 | ==: ItemMeta 100 | meta-type: UNSPECIFIC 101 | display-name: ' ' 102 | -------------------------------------------------------------------------------- /custom-ore-generator/src/main/resources/data/factory/gui/ore-settings-gui.yml: -------------------------------------------------------------------------------- 1 | name: '%%translation:[ore-config.factory.gui.ore-settings.name]%' 2 | rows: 5 3 | gap: 1 4 | empty-rows: 5 | up: 1 6 | below: 1 7 | next-page: 8 | slot: 8 9 | item-stack: 10 | ==: org.bukkit.inventory.ItemStack 11 | v: 1976 12 | type: OAK_SIGN 13 | meta: 14 | ==: ItemMeta 15 | meta-type: TILE_ENTITY 16 | display-name: '%%translation:[ore-config.factory.gui.general.next]%' 17 | blockMaterial: OAK_SIGN 18 | previous-page: 19 | slot: 0 20 | item-stack: 21 | ==: org.bukkit.inventory.ItemStack 22 | v: 1976 23 | type: OAK_SIGN 24 | meta: 25 | ==: ItemMeta 26 | meta-type: TILE_ENTITY 27 | display-name: '%%translation:[ore-config.factory.gui.general.previous]%' 28 | blockMaterial: OAK_SIGN 29 | menu: 30 | slot: 4 31 | item-stack: 32 | ==: org.bukkit.inventory.ItemStack 33 | v: 1976 34 | type: COMPARATOR 35 | meta: 36 | ==: ItemMeta 37 | meta-type: TILE_ENTITY 38 | display-name: '%%translation:[ore-config.factory.gui.general.menu]%' 39 | blockMaterial: COMPARATOR 40 | abort: 41 | slot: 5 42 | item-stack: 43 | ==: org.bukkit.inventory.ItemStack 44 | v: 1976 45 | type: BARRIER 46 | meta: 47 | ==: ItemMeta 48 | meta-type: UNSPECIFIC 49 | display-name: '%%translation:[ore-config.factory.gui.general.abort]%' 50 | next: 51 | slot: 3 52 | item-stack: 53 | ==: org.bukkit.inventory.ItemStack 54 | v: 1976 55 | type: STICK 56 | meta: 57 | ==: ItemMeta 58 | meta-type: UNSPECIFIC 59 | display-name: '%%translation:[ore-config.factory.gui.general.next]%' 60 | ore-setting: 61 | item-stack: 62 | ==: org.bukkit.inventory.ItemStack 63 | v: 1976 64 | type: STONE 65 | meta: 66 | ==: ItemMeta 67 | meta-type: UNSPECIFIC 68 | display-name: '%name%' 69 | decorations: 70 | '0': 71 | slot: 72 | - 0 73 | - 1 74 | - 7 75 | - 8 76 | item-stack: 77 | ==: org.bukkit.inventory.ItemStack 78 | v: 1976 79 | type: RED_STAINED_GLASS_PANE 80 | meta: 81 | ==: ItemMeta 82 | meta-type: UNSPECIFIC 83 | display-name: ' ' 84 | '1': 85 | slot: 86 | - 2 87 | - 6 88 | item-stack: 89 | ==: org.bukkit.inventory.ItemStack 90 | v: 1976 91 | type: BLACK_STAINED_GLASS_PANE 92 | meta: 93 | ==: ItemMeta 94 | meta-type: UNSPECIFIC 95 | display-name: ' ' 96 | -------------------------------------------------------------------------------- /custom-ore-generator/src/main/resources/data/info/block-selector/COUNT_RANGE/COUNT_RANGE.yml: -------------------------------------------------------------------------------- 1 | display-name: "%%translation:[info.block-selector.COUNT_RANGE.display-name]%" 2 | material: IRON_BLOCK 3 | description: "%%translation:[info.block-selector.COUNT_RANGE.description]%" -------------------------------------------------------------------------------- /custom-ore-generator/src/main/resources/data/info/block-selector/COUNT_RANGE/ore-setting/HEIGHT_RANGE.yml: -------------------------------------------------------------------------------- 1 | display-name: "%%translation:[info.block-selector.COUNT_RANGE.ore-setting.HEIGHT_RANGE.display-name]%" 2 | material: COAL 3 | description: "%%translation:[info.block-selector.COUNT_RANGE.ore-setting.HEIGHT_RANGE.description]%" -------------------------------------------------------------------------------- /custom-ore-generator/src/main/resources/data/info/block-selector/COUNT_RANGE/ore-setting/MINIMUM_HEIGHT.yml: -------------------------------------------------------------------------------- 1 | display-name: "%%translation:[info.block-selector.COUNT_RANGE.ore-setting.MINIMUM_HEIGHT.display-name]%" 2 | material: COAL 3 | description: "%%translation:[info.block-selector.COUNT_RANGE.ore-setting.MINIMUM_HEIGHT.description]%" -------------------------------------------------------------------------------- /custom-ore-generator/src/main/resources/data/info/block-selector/COUNT_RANGE/ore-setting/VEINS_PER_CHUNK.yml: -------------------------------------------------------------------------------- 1 | display-name: "%%translation:[info.block-selector.COUNT_RANGE.ore-setting.VEINS_PER_CHUNK.display-name]%" 2 | material: COAL 3 | description: "%%translation:[info.block-selector.COUNT_RANGE.ore-setting.VEINS_PER_CHUNK.description]%" -------------------------------------------------------------------------------- /custom-ore-generator/src/main/resources/data/info/block-selector/HIGHEST_BLOCK/HIGHEST_BLOCK.yml: -------------------------------------------------------------------------------- 1 | display-name: "%%translation:[info.block-selector.HIGHEST_BLOCK.display-name]%" 2 | material: GRASS_BLOCK 3 | description: "%%translation:[info.block-selector.HIGHEST_BLOCK.description]%" -------------------------------------------------------------------------------- /custom-ore-generator/src/main/resources/data/info/block-selector/HIGHEST_BLOCK/ore-setting/VEINS_PER_CHUNK.yml: -------------------------------------------------------------------------------- 1 | display-name: "%%translation:[info.block-selector.HIGHEST_BLOCK.ore-setting.VEINS_PER_CHUNK.display-name]%" 2 | material: COAL 3 | description: "%%translation:[info.block-selector.HIGHEST_BLOCK.ore-setting.VEINS_PER_CHUNK.description]%" -------------------------------------------------------------------------------- /custom-ore-generator/src/main/resources/data/info/custom-data/AUTO.yml: -------------------------------------------------------------------------------- 1 | display-name: "%%translation:[info.custom-data.AUTO.display-name]%" 2 | material: COMMAND_BLOCK 3 | description: "%%translation:[info.custom-data.AUTO.description]%" -------------------------------------------------------------------------------- /custom-ore-generator/src/main/resources/data/info/custom-data/BLOCK_STATE.yml: -------------------------------------------------------------------------------- 1 | display-name: "%%translation:[info.custom-data.BLOCK_STATE.display-name]%" 2 | material: STONE_STAIRS 3 | description: "%%translation:[info.custom-data.BLOCK_STATE.description]%" -------------------------------------------------------------------------------- /custom-ore-generator/src/main/resources/data/info/custom-data/COMMAND.yml: -------------------------------------------------------------------------------- 1 | display-name: "%%translation:[info.custom-data.COMMAND.display-name]%" 2 | material: COMMAND_BLOCK 3 | description: "%%translation:[info.custom-data.COMMAND.description]%" -------------------------------------------------------------------------------- /custom-ore-generator/src/main/resources/data/info/custom-data/DOWN.yml: -------------------------------------------------------------------------------- 1 | display-name: "%%translation:[info.custom-data.DOWN.display-name]%" 2 | material: MAGENTA_GLAZED_TERRACOTTA 3 | description: "%%translation:[info.custom-data.DOWN.description]%" -------------------------------------------------------------------------------- /custom-ore-generator/src/main/resources/data/info/custom-data/EAST.yml: -------------------------------------------------------------------------------- 1 | display-name: "%%translation:[info.custom-data.EAST.display-name]%" 2 | material: MAGENTA_GLAZED_TERRACOTTA 3 | description: "%%translation:[info.custom-data.EAST.description]%" -------------------------------------------------------------------------------- /custom-ore-generator/src/main/resources/data/info/custom-data/FACING.yml: -------------------------------------------------------------------------------- 1 | display-name: "%%translation:[info.custom-data.FACING.display-name]%" 2 | material: JACK_O_LANTERN 3 | description: "%%translation:[info.custom-data.FACING.description]%" -------------------------------------------------------------------------------- /custom-ore-generator/src/main/resources/data/info/custom-data/ITEM_MODS.yml: -------------------------------------------------------------------------------- 1 | display-name: "%%translation:[info.custom-data.ITEM_MODS.display-name]%" 2 | material: REDSTONE_ORE 3 | description: "%%translation:[info.custom-data.ITEM_MODS.description]%" -------------------------------------------------------------------------------- /custom-ore-generator/src/main/resources/data/info/custom-data/NBT_TAG.yml: -------------------------------------------------------------------------------- 1 | display-name: "%%translation:[info.custom-data.NBT_TAG.display-name]%" 2 | material: NAME_TAG 3 | description: "%%translation:[info.custom-data.NBT_TAG.description]%" -------------------------------------------------------------------------------- /custom-ore-generator/src/main/resources/data/info/custom-data/NORTH.yml: -------------------------------------------------------------------------------- 1 | display-name: "%%translation:[info.custom-data.NORTH.display-name]%" 2 | material: MAGENTA_GLAZED_TERRACOTTA 3 | description: "%%translation:[info.custom-data.NORTH.description]%" -------------------------------------------------------------------------------- /custom-ore-generator/src/main/resources/data/info/custom-data/ORAXEN.yml: -------------------------------------------------------------------------------- 1 | display-name: "%%translation:[info.custom-data.ORAXEN.display-name]%" 2 | material: DIAMOND 3 | description: "%%translation:[info.custom-data.ORAXEN.description]%" -------------------------------------------------------------------------------- /custom-ore-generator/src/main/resources/data/info/custom-data/SKULL_TEXTURE.yml: -------------------------------------------------------------------------------- 1 | display-name: "%%translation:[info.custom-data.SKULL_TEXTURE.display-name]%" 2 | material: PLAYER_HEAD 3 | description: "%%translation:[info.custom-data.SKULL_TEXTURE.description]%" -------------------------------------------------------------------------------- /custom-ore-generator/src/main/resources/data/info/custom-data/SOUTH.yml: -------------------------------------------------------------------------------- 1 | display-name: "%%translation:[info.custom-data.SOUTH.display-name]%" 2 | material: MAGENTA_GLAZED_TERRACOTTA 3 | description: "%%translation:[info.custom-data.SOUTH.description]%" -------------------------------------------------------------------------------- /custom-ore-generator/src/main/resources/data/info/custom-data/TICK_BLOCK.yml: -------------------------------------------------------------------------------- 1 | display-name: "%%translation:[info.custom-data.TICK_BLOCK.display-name]%" 2 | material: OBSERVER 3 | description: "%%translation:[info.custom-data.TICK_BLOCK.description]%" -------------------------------------------------------------------------------- /custom-ore-generator/src/main/resources/data/info/custom-data/UP.yml: -------------------------------------------------------------------------------- 1 | display-name: "%%translation:[info.custom-data.UP.display-name]%" 2 | material: MAGENTA_GLAZED_TERRACOTTA 3 | description: "%%translation:[info.custom-data.UP.description]%" -------------------------------------------------------------------------------- /custom-ore-generator/src/main/resources/data/info/custom-data/VARIANT.yml: -------------------------------------------------------------------------------- 1 | display-name: "%%translation:[info.custom-data.VARIANT.display-name]%" 2 | material: GRANITE 3 | description: "%%translation:[info.custom-data.VARIANT.description]%" -------------------------------------------------------------------------------- /custom-ore-generator/src/main/resources/data/info/custom-data/WEST.yml: -------------------------------------------------------------------------------- 1 | display-name: "%%translation:[info.custom-data.WEST.display-name]%" 2 | material: MAGENTA_GLAZED_TERRACOTTA 3 | description: "%%translation:[info.custom-data.WEST.description]%" -------------------------------------------------------------------------------- /custom-ore-generator/src/main/resources/data/info/ore-generator/GLOW_STONE_GENERATOR/GLOW_STONE_GENERATOR.yml: -------------------------------------------------------------------------------- 1 | display-name: "%%translation:[info.ore-generator.GLOW_STONE_GENERATOR.display-name]%" 2 | material: GLOWSTONE 3 | description: "%%translation:[info.ore-generator.GLOW_STONE_GENERATOR.description]%" -------------------------------------------------------------------------------- /custom-ore-generator/src/main/resources/data/info/ore-generator/GLOW_STONE_GENERATOR/ore-setting/CONNECTIONS.yml: -------------------------------------------------------------------------------- 1 | display-name: "%%translation:[info.ore-generator.GLOW_STONE_GENERATOR.ore-setting.CONNECTIONS.display-name]%" 2 | material: COAL 3 | description: "%%translation:[info.ore-generator.GLOW_STONE_GENERATOR.ore-setting.CONNECTIONS.description]%" -------------------------------------------------------------------------------- /custom-ore-generator/src/main/resources/data/info/ore-generator/GLOW_STONE_GENERATOR/ore-setting/HORIZONTAL_SCOPE.yml: -------------------------------------------------------------------------------- 1 | display-name: "%%translation:[info.ore-generator.GLOW_STONE_GENERATOR.ore-setting.HORIZONTAL_SCOPE.display-name]%" 2 | material: COAL 3 | description: "%%translation:[info.ore-generator.GLOW_STONE_GENERATOR.ore-setting.HORIZONTAL_SCOPE.description]%" -------------------------------------------------------------------------------- /custom-ore-generator/src/main/resources/data/info/ore-generator/GLOW_STONE_GENERATOR/ore-setting/NEGATIVE_TRIES.yml: -------------------------------------------------------------------------------- 1 | display-name: "%%translation:[info.ore-generator.GLOW_STONE_GENERATOR.ore-setting.NEGATIVE_TRIES.display-name]%" 2 | material: COAL 3 | description: "%%translation:[info.ore-generator.GLOW_STONE_GENERATOR.ore-setting.NEGATIVE_TRIES.description]%" -------------------------------------------------------------------------------- /custom-ore-generator/src/main/resources/data/info/ore-generator/GLOW_STONE_GENERATOR/ore-setting/NEGATIVE_VERTICAL_SCOPE.yml: -------------------------------------------------------------------------------- 1 | display-name: "%%translation:[info.ore-generator.GLOW_STONE_GENERATOR.ore-setting.NEGATIVE_TRIES_SCOPE.display-name]%" 2 | material: COAL 3 | description: "%%translation:[info.ore-generator.GLOW_STONE_GENERATOR.ore-setting.NEGATIVE_TRIES_SCOPE.description]%" -------------------------------------------------------------------------------- /custom-ore-generator/src/main/resources/data/info/ore-generator/GLOW_STONE_GENERATOR/ore-setting/POSITIVE_TRIES.yml: -------------------------------------------------------------------------------- 1 | display-name: "%%translation:[info.ore-generator.GLOW_STONE_GENERATOR.ore-setting.POSITIVE_TRIES.display-name]%" 2 | material: COAL 3 | description: "%%translation:[info.ore-generator.GLOW_STONE_GENERATOR.ore-setting.POSITIVE_TRIES.description]%" -------------------------------------------------------------------------------- /custom-ore-generator/src/main/resources/data/info/ore-generator/GLOW_STONE_GENERATOR/ore-setting/POSITIVE_VERTICAL_SCOPE.yml: -------------------------------------------------------------------------------- 1 | display-name: "%%translation:[info.ore-generator.GLOW_STONE_GENERATOR.ore-setting.POSITIVE_VERTICAL_SCOPE.display-name]%" 2 | material: COAL 3 | description: "%%translation:[info.ore-generator.GLOW_STONE_GENERATOR.ore-setting.POSITIVE_VERTICAL_SCOPE.description]%" -------------------------------------------------------------------------------- /custom-ore-generator/src/main/resources/data/info/ore-generator/ROOT_GENERATOR/ROOT_GENERATOR.yml: -------------------------------------------------------------------------------- 1 | display-name: "%%translation:[info.ore-generator.ROOT_GENERATOR.display-name]%" 2 | material: OAK_LOG 3 | description: "%%translation:[info.ore-generator.ROOT_GENERATOR.description]%" -------------------------------------------------------------------------------- /custom-ore-generator/src/main/resources/data/info/ore-generator/ROOT_GENERATOR/ore-setting/CHANCE_SUBTRACTION_RANGE.yml: -------------------------------------------------------------------------------- 1 | display-name: "%%translation:[info.ore-generator.ROOT_GENERATOR.ore-setting.CHANCE_SUBTRACTION_RANGE.display-name]%" 2 | material: COAL 3 | description: "%%translation:[info.ore-generator.ROOT_GENERATOR.ore-setting.CHANCE_SUBTRACTION_RANGE.description]%" -------------------------------------------------------------------------------- /custom-ore-generator/src/main/resources/data/info/ore-generator/ROOT_GENERATOR/ore-setting/CONTINUE_CHANCE.yml: -------------------------------------------------------------------------------- 1 | display-name: "%%translation:[info.ore-generator.ROOT_GENERATOR.ore-setting.CONTINUE_CHANCE.display-name]%" 2 | material: COAL 3 | description: "%%translation:[info.ore-generator.ROOT_GENERATOR.ore-setting.CONTINUE_CHANCE.description]%" -------------------------------------------------------------------------------- /custom-ore-generator/src/main/resources/data/info/ore-generator/ROOT_GENERATOR/ore-setting/CONTINUE_TRIES.yml: -------------------------------------------------------------------------------- 1 | display-name: "%%translation:[info.ore-generator.ROOT_GENERATOR.ore-setting.CONTINUE_TRIES.display-name]%" 2 | material: COAL 3 | description: "%%translation:[info.ore-generator.ROOT_GENERATOR.ore-setting.CONTINUE_TRIES.description]%" -------------------------------------------------------------------------------- /custom-ore-generator/src/main/resources/data/info/ore-generator/ROOT_GENERATOR/ore-setting/DOWN_CHANCE.yml: -------------------------------------------------------------------------------- 1 | display-name: "%%translation:[info.ore-generator.ROOT_GENERATOR.ore-setting.DOWN_CHANCE.display-name]%" 2 | material: COAL 3 | description: "%%translation:[info.ore-generator.ROOT_GENERATOR.ore-setting.DOWN_CHANCE.description]%" -------------------------------------------------------------------------------- /custom-ore-generator/src/main/resources/data/info/ore-generator/ROOT_GENERATOR/ore-setting/LENGTH_SUBTRACTION_RANGE.yml: -------------------------------------------------------------------------------- 1 | display-name: "%%translation:[info.ore-generator.ROOT_GENERATOR.ore-setting.LENGTH_SUBTRACTION_RANGE.display-name]%" 2 | material: COAL 3 | description: "%%translation:[info.ore-generator.ROOT_GENERATOR.ore-setting.LENGTH_SUBTRACTION_RANGE.description]%" -------------------------------------------------------------------------------- /custom-ore-generator/src/main/resources/data/info/ore-generator/ROOT_GENERATOR/ore-setting/MINIMUM_CHANCE_SUBTRACTION.yml: -------------------------------------------------------------------------------- 1 | display-name: "%%translation:[info.ore-generator.ROOT_GENERATOR.ore-setting.MINIMUM_CHANCE_SUBTRACTION.display-name]%" 2 | material: COAL 3 | description: "%%translation:[info.ore-generator.ROOT_GENERATOR.ore-setting.MINIMUM_CHANCE_SUBTRACTION.description]%" -------------------------------------------------------------------------------- /custom-ore-generator/src/main/resources/data/info/ore-generator/ROOT_GENERATOR/ore-setting/MINIMUM_LENGTH_SUBTRACTION.yml: -------------------------------------------------------------------------------- 1 | display-name: "%%translation:[info.ore-generator.ROOT_GENERATOR.ore-setting.MINIMUM_LENGTH_SUBTRACTION.display-name]%" 2 | material: COAL 3 | description: "%%translation:[info.ore-generator.ROOT_GENERATOR.ore-setting.MINIMUM_LENGTH_SUBTRACTION.description]%" -------------------------------------------------------------------------------- /custom-ore-generator/src/main/resources/data/info/ore-generator/ROOT_GENERATOR/ore-setting/MINIMUM_TRIES_SUBTRACTION.yml: -------------------------------------------------------------------------------- 1 | display-name: "%%translation:[info.ore-generator.ROOT_GENERATOR.ore-setting.MINIMUM_TRIES_SUBTRACTION.display-name]%" 2 | material: COAL 3 | description: "%%translation:[info.ore-generator.ROOT_GENERATOR.ore-setting.MINIMUM_TRIES_SUBTRACTION.description]%" -------------------------------------------------------------------------------- /custom-ore-generator/src/main/resources/data/info/ore-generator/ROOT_GENERATOR/ore-setting/ROOT_LENGTH.yml: -------------------------------------------------------------------------------- 1 | display-name: "%%translation:[info.ore-generator.ROOT_GENERATOR.ore-setting.ROOT_LENGTH.display-name]%" 2 | material: COAL 3 | description: "%%translation:[info.ore-generator.ROOT_GENERATOR.ore-setting.ROOT_LENGTH.description]%" -------------------------------------------------------------------------------- /custom-ore-generator/src/main/resources/data/info/ore-generator/ROOT_GENERATOR/ore-setting/TRIES_SUBTRACTION_RANGE.yml: -------------------------------------------------------------------------------- 1 | display-name: "%%translation:[info.ore-generator.ROOT_GENERATOR.ore-setting.TRIES_SUBTRACTION_RANGE.display-name]%" 2 | material: COAL 3 | description: "%%translation:[info.ore-generator.ROOT_GENERATOR.ore-setting.TRIES_SUBTRACTION_RANGE.description]%" -------------------------------------------------------------------------------- /custom-ore-generator/src/main/resources/data/info/ore-generator/SINGLE_ORE_GENERATOR/SINGLE_ORE_GENERATOR.yml: -------------------------------------------------------------------------------- 1 | display-name: "%%translation:[info.ore-generator.SINGLE_ORE_GENERATOR.display-name]%" 2 | material: EMERALD_BLOCK 3 | description: "%%translation:[info.ore-generator.SINGLE_ORE_GENERATOR.description]%" -------------------------------------------------------------------------------- /custom-ore-generator/src/main/resources/data/info/ore-generator/VANILLA_MINABLE_GENERATOR/VANILLA_MINABLE_GENERATOR.yml: -------------------------------------------------------------------------------- 1 | display-name: "%%translation:[info.ore-generator.VANILLA_MINABLE_GENERATOR.display-name]%" 2 | material: DIAMOND_BLOCK 3 | description: "%%translation:[info.ore-generator.VANILLA_MINABLE_GENERATOR.description]%" -------------------------------------------------------------------------------- /custom-ore-generator/src/main/resources/data/info/ore-generator/VANILLA_MINABLE_GENERATOR/ore-setting/VEIN_SIZE.yml: -------------------------------------------------------------------------------- 1 | display-name: "%%translation:[info.ore-generator.VANILLA_MINABLE_GENERATOR.ore-setting.VEIN_SIZE.display-name]%" 2 | material: COAL 3 | description: "%%translation:[info.ore-generator.VANILLA_MINABLE_GENERATOR.ore-setting.VEIN_SIZE.description]%" -------------------------------------------------------------------------------- /impl/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 4.0.0 6 | 7 | 8 | custom-ore-generator-parent 9 | de.derfrzocker 10 | ${revision} 11 | 12 | 13 | 14 | yaml 15 | v1_8_R1 16 | v1_8_R2 17 | v1_8_R3 18 | v1_9_R1 19 | v1_9_R2 20 | v1_10_R1 21 | v1_11_R1 22 | v1_12_R1 23 | v1_13_R1 24 | v1_13_R2 25 | v1_14_R1 26 | v1_15_R1 27 | v1_16_R1 28 | v1_16_R2 29 | v1_16_R3 30 | v1_16_R3-post 31 | v1_17_R1 32 | v1_18_R1 33 | v1_18_R2 34 | v1_19_R1 35 | v1_19_R2 36 | v1_19_R3 37 | v1_20_R1 38 | v1_20_R2 39 | v1_20_R3 40 | v1_20_R4 41 | v1_21_R1 42 | v1_21_R2 43 | v1_21_R3 44 | v1_21_R4 45 | 46 | 47 | custom-ore-generator-impl 48 | pom 49 | 50 | -------------------------------------------------------------------------------- /impl/v1_10_R1/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 4.0.0 6 | 7 | 8 | custom-ore-generator-impl 9 | de.derfrzocker 10 | ${revision} 11 | 12 | 13 | custom-ore-generator-impl-v1_10_R1 14 | 15 | 16 | 17 | de.derfrzocker 18 | custom-ore-generator-api 19 | ${project.version} 20 | provided 21 | 22 | 23 | org.spigotmc 24 | spigot 25 | 1.10.2-R0.1-SNAPSHOT 26 | provided 27 | true 28 | 29 | 30 | de.derfrzocker 31 | custom-ore-generator-impl-abstract 32 | ${project.version} 33 | provided 34 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /impl/v1_10_R1/src/main/java/de/derfrzocker/custom/ore/generator/impl/v1_10_R1/ChunkAccessImpl.java: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2019 - 2020 Marvin (DerFrZocker) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | * 24 | */ 25 | 26 | package de.derfrzocker.custom.ore.generator.impl.v1_10_R1; 27 | 28 | import de.derfrzocker.custom.ore.generator.api.ChunkAccess; 29 | import net.minecraft.server.v1_10_R1.BlockPosition; 30 | import net.minecraft.server.v1_10_R1.WorldServer; 31 | import org.apache.commons.lang.Validate; 32 | import org.bukkit.Material; 33 | import org.bukkit.craftbukkit.v1_10_R1.util.CraftMagicNumbers; 34 | import org.jetbrains.annotations.NotNull; 35 | 36 | public class ChunkAccessImpl implements ChunkAccess { 37 | 38 | @NotNull 39 | private final WorldServer worldServer; 40 | 41 | public ChunkAccessImpl(@NotNull final WorldServer worldServer) { 42 | Validate.notNull(worldServer, "WorldServer can not be null"); 43 | 44 | this.worldServer = worldServer; 45 | } 46 | 47 | @Override 48 | public void setMaterial(@NotNull Material material, final int x, final int y, final int z) { 49 | worldServer.setTypeAndData(new BlockPosition(x, y, z), CraftMagicNumbers.getBlock(material).getBlockData(), 2); 50 | } 51 | 52 | @NotNull 53 | @Override 54 | public Material getMaterial(final int x, final int y, final int z) { 55 | return CraftMagicNumbers.getMaterial(worldServer.getType(new BlockPosition(x, y, z)).getBlock()); 56 | } 57 | 58 | @NotNull 59 | public WorldServer getWorldServer() { 60 | return worldServer; 61 | } 62 | } 63 | -------------------------------------------------------------------------------- /impl/v1_11_R1/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 4.0.0 6 | 7 | 8 | custom-ore-generator-impl 9 | de.derfrzocker 10 | ${revision} 11 | 12 | 13 | custom-ore-generator-impl-v1_11_R1 14 | 15 | 16 | 17 | de.derfrzocker 18 | custom-ore-generator-api 19 | ${project.version} 20 | provided 21 | 22 | 23 | org.spigotmc 24 | spigot 25 | 1.11.2-R0.1-SNAPSHOT 26 | provided 27 | true 28 | 29 | 30 | de.derfrzocker 31 | custom-ore-generator-impl-abstract 32 | ${project.version} 33 | provided 34 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /impl/v1_11_R1/src/main/java/de/derfrzocker/custom/ore/generator/impl/v1_11_R1/ChunkAccessImpl.java: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2019 - 2020 Marvin (DerFrZocker) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | * 24 | */ 25 | 26 | package de.derfrzocker.custom.ore.generator.impl.v1_11_R1; 27 | 28 | import de.derfrzocker.custom.ore.generator.api.ChunkAccess; 29 | import net.minecraft.server.v1_11_R1.BlockPosition; 30 | import net.minecraft.server.v1_11_R1.WorldServer; 31 | import org.apache.commons.lang.Validate; 32 | import org.bukkit.Material; 33 | import org.bukkit.craftbukkit.v1_11_R1.util.CraftMagicNumbers; 34 | import org.jetbrains.annotations.NotNull; 35 | 36 | public class ChunkAccessImpl implements ChunkAccess { 37 | 38 | @NotNull 39 | private final WorldServer worldServer; 40 | 41 | public ChunkAccessImpl(@NotNull final WorldServer worldServer) { 42 | Validate.notNull(worldServer, "WorldServer can not be null"); 43 | 44 | this.worldServer = worldServer; 45 | } 46 | 47 | @Override 48 | public void setMaterial(@NotNull Material material, final int x, final int y, final int z) { 49 | worldServer.setTypeAndData(new BlockPosition(x, y, z), CraftMagicNumbers.getBlock(material).getBlockData(), 2); 50 | } 51 | 52 | @NotNull 53 | @Override 54 | public Material getMaterial(final int x, final int y, final int z) { 55 | return CraftMagicNumbers.getMaterial(worldServer.getType(new BlockPosition(x, y, z)).getBlock()); 56 | } 57 | 58 | @NotNull 59 | public WorldServer getWorldServer() { 60 | return worldServer; 61 | } 62 | } 63 | -------------------------------------------------------------------------------- /impl/v1_12_R1/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 4.0.0 6 | 7 | 8 | custom-ore-generator-impl 9 | de.derfrzocker 10 | ${revision} 11 | 12 | 13 | custom-ore-generator-impl-v1_12_R1 14 | 15 | 16 | 17 | de.derfrzocker 18 | custom-ore-generator-api 19 | ${project.version} 20 | provided 21 | 22 | 23 | org.spigotmc 24 | spigot 25 | 1.12.2-R0.1-SNAPSHOT 26 | provided 27 | true 28 | 29 | 30 | de.derfrzocker 31 | custom-ore-generator-impl-abstract 32 | ${project.version} 33 | provided 34 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /impl/v1_12_R1/src/main/java/de/derfrzocker/custom/ore/generator/impl/v1_12_R1/ChunkAccessImpl.java: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2019 - 2020 Marvin (DerFrZocker) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | * 24 | */ 25 | 26 | package de.derfrzocker.custom.ore.generator.impl.v1_12_R1; 27 | 28 | import de.derfrzocker.custom.ore.generator.api.ChunkAccess; 29 | import net.minecraft.server.v1_12_R1.BlockPosition; 30 | import net.minecraft.server.v1_12_R1.WorldServer; 31 | import org.apache.commons.lang.Validate; 32 | import org.bukkit.Material; 33 | import org.bukkit.craftbukkit.v1_12_R1.util.CraftMagicNumbers; 34 | import org.jetbrains.annotations.NotNull; 35 | 36 | public class ChunkAccessImpl implements ChunkAccess { 37 | 38 | @NotNull 39 | private final WorldServer worldServer; 40 | 41 | public ChunkAccessImpl(@NotNull final WorldServer worldServer) { 42 | Validate.notNull(worldServer, "WorldServer can not be null"); 43 | 44 | this.worldServer = worldServer; 45 | } 46 | 47 | @Override 48 | public void setMaterial(@NotNull Material material, final int x, final int y, final int z) { 49 | worldServer.setTypeAndData(new BlockPosition(x, y, z), CraftMagicNumbers.getBlock(material).getBlockData(), 2); 50 | } 51 | 52 | @NotNull 53 | @Override 54 | public Material getMaterial(final int x, final int y, final int z) { 55 | return CraftMagicNumbers.getMaterial(worldServer.getType(new BlockPosition(x, y, z)).getBlock()); 56 | } 57 | 58 | @NotNull 59 | public WorldServer getWorldServer() { 60 | return worldServer; 61 | } 62 | } 63 | -------------------------------------------------------------------------------- /impl/v1_13_R1/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 4.0.0 6 | 7 | 8 | custom-ore-generator-impl 9 | de.derfrzocker 10 | ${revision} 11 | 12 | 13 | custom-ore-generator-impl-v1_13_R1 14 | 15 | 16 | 17 | de.derfrzocker 18 | custom-ore-generator-api 19 | ${project.version} 20 | provided 21 | 22 | 23 | org.spigotmc 24 | spigot 25 | 1.13-R0.1-SNAPSHOT 26 | provided 27 | true 28 | 29 | 30 | de.derfrzocker 31 | custom-ore-generator-impl-abstract 32 | ${project.version} 33 | provided 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /impl/v1_13_R1/src/main/java/de/derfrzocker/custom/ore/generator/impl/v1_13_R1/customdata/TickBlockApplier_v1_13_R1.java: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2019 - 2020 Marvin (DerFrZocker) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | * 24 | */ 25 | 26 | package de.derfrzocker.custom.ore.generator.impl.v1_13_R1.customdata; 27 | 28 | import de.derfrzocker.custom.ore.generator.api.OreConfig; 29 | import de.derfrzocker.custom.ore.generator.api.customdata.CustomData; 30 | import de.derfrzocker.custom.ore.generator.api.customdata.CustomDataApplier; 31 | import net.minecraft.server.v1_13_R1.BlockPosition; 32 | import net.minecraft.server.v1_13_R1.GeneratorAccess; 33 | import org.apache.commons.lang.Validate; 34 | import org.jetbrains.annotations.NotNull; 35 | 36 | import java.util.Optional; 37 | 38 | public class TickBlockApplier_v1_13_R1 implements CustomDataApplier { 39 | 40 | @NotNull 41 | private final CustomData customData; 42 | 43 | public TickBlockApplier_v1_13_R1(@NotNull final CustomData data) { 44 | Validate.notNull(data, "CustomData can not be null"); 45 | 46 | customData = data; 47 | } 48 | 49 | @Override 50 | public void apply(@NotNull final OreConfig oreConfig, @NotNull final Object location, @NotNull final Object blockAccess) { 51 | final BlockPosition blockPosition = (BlockPosition) location; 52 | final GeneratorAccess generatorAccess = (GeneratorAccess) blockAccess; 53 | 54 | final Optional objectOptional = oreConfig.getCustomData(customData); 55 | 56 | if (!objectOptional.isPresent()) 57 | return; //TODO maybe throw exception? 58 | 59 | final boolean tickBlock = (boolean) objectOptional.get(); 60 | 61 | if (!tickBlock) 62 | return; 63 | 64 | generatorAccess.y(blockPosition).k().a(blockPosition, null, -1, null); 65 | } 66 | 67 | } 68 | -------------------------------------------------------------------------------- /impl/v1_13_R2/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 4.0.0 6 | 7 | 8 | custom-ore-generator-impl 9 | de.derfrzocker 10 | ${revision} 11 | 12 | 13 | custom-ore-generator-impl-v1_13_R2 14 | 15 | 16 | 17 | de.derfrzocker 18 | custom-ore-generator-api 19 | ${project.version} 20 | provided 21 | 22 | 23 | org.spigotmc 24 | spigot 25 | 1.13.2-R0.1-SNAPSHOT 26 | provided 27 | true 28 | 29 | 30 | de.derfrzocker 31 | custom-ore-generator-impl-abstract 32 | ${project.version} 33 | provided 34 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /impl/v1_13_R2/src/main/java/de/derfrzocker/custom/ore/generator/impl/v1_13_R2/customdata/TickBlockApplier_v1_13_R2.java: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2019 - 2020 Marvin (DerFrZocker) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | * 24 | */ 25 | 26 | package de.derfrzocker.custom.ore.generator.impl.v1_13_R2.customdata; 27 | 28 | import de.derfrzocker.custom.ore.generator.api.OreConfig; 29 | import de.derfrzocker.custom.ore.generator.api.customdata.CustomData; 30 | import de.derfrzocker.custom.ore.generator.api.customdata.CustomDataApplier; 31 | import net.minecraft.server.v1_13_R2.BlockPosition; 32 | import net.minecraft.server.v1_13_R2.GeneratorAccess; 33 | import org.apache.commons.lang.Validate; 34 | import org.jetbrains.annotations.NotNull; 35 | 36 | public class TickBlockApplier_v1_13_R2 implements CustomDataApplier { 37 | 38 | @NotNull 39 | private final CustomData customData; 40 | 41 | public TickBlockApplier_v1_13_R2(@NotNull final CustomData data) { 42 | Validate.notNull(data, "CustomData can not be null"); 43 | 44 | customData = data; 45 | } 46 | 47 | @Override 48 | public void apply(@NotNull final OreConfig oreConfig, @NotNull final Object location, @NotNull final Object blockAccess) { 49 | final BlockPosition blockPosition = (BlockPosition) location; 50 | final GeneratorAccess generatorAccess = (GeneratorAccess) blockAccess; 51 | 52 | generatorAccess.y(blockPosition).k().a(blockPosition, null, -1, null); 53 | } 54 | 55 | } 56 | -------------------------------------------------------------------------------- /impl/v1_14_R1/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 4.0.0 6 | 7 | 8 | custom-ore-generator-impl 9 | de.derfrzocker 10 | ${revision} 11 | 12 | 13 | custom-ore-generator-impl-v1_14_R1 14 | 15 | 16 | 17 | dev.linwood 18 | ItemMods 19 | ${ItemMods.version} 20 | provided 21 | 22 | 23 | de.derfrzocker 24 | custom-ore-generator-api 25 | ${project.version} 26 | provided 27 | 28 | 29 | org.spigotmc 30 | spigot 31 | 1.14.4-R0.1-SNAPSHOT 32 | provided 33 | true 34 | 35 | 36 | de.derfrzocker 37 | custom-ore-generator-impl-abstract 38 | ${project.version} 39 | provided 40 | 41 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /impl/v1_14_R1/src/main/java/de/derfrzocker/custom/ore/generator/impl/v1_14_R1/customdata/TickBlockApplier_v1_14_R1.java: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2019 - 2020 Marvin (DerFrZocker) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | * 24 | */ 25 | 26 | package de.derfrzocker.custom.ore.generator.impl.v1_14_R1.customdata; 27 | 28 | import de.derfrzocker.custom.ore.generator.api.OreConfig; 29 | import de.derfrzocker.custom.ore.generator.api.customdata.CustomData; 30 | import de.derfrzocker.custom.ore.generator.api.customdata.CustomDataApplier; 31 | import net.minecraft.server.v1_14_R1.BlockPosition; 32 | import net.minecraft.server.v1_14_R1.GeneratorAccess; 33 | import org.apache.commons.lang.Validate; 34 | import org.jetbrains.annotations.NotNull; 35 | 36 | import java.util.Optional; 37 | 38 | public class TickBlockApplier_v1_14_R1 implements CustomDataApplier { 39 | 40 | @NotNull 41 | private final CustomData customData; 42 | 43 | public TickBlockApplier_v1_14_R1(@NotNull final CustomData data) { 44 | Validate.notNull(data, "CustomData can not be null"); 45 | 46 | customData = data; 47 | } 48 | 49 | @Override 50 | public void apply(@NotNull final OreConfig oreConfig, @NotNull final Object location, @NotNull final Object blockAccess) { 51 | final BlockPosition blockPosition = (BlockPosition) location; 52 | final GeneratorAccess generatorAccess = (GeneratorAccess) blockAccess; 53 | 54 | final Optional objectOptional = oreConfig.getCustomData(customData); 55 | 56 | if (!objectOptional.isPresent()) 57 | return; //TODO maybe throw exception? 58 | 59 | final boolean tickBlock = (boolean) objectOptional.get(); 60 | 61 | if (!tickBlock) 62 | return; 63 | 64 | generatorAccess.w(blockPosition).n().a(blockPosition, null, -1, null); 65 | } 66 | 67 | } 68 | -------------------------------------------------------------------------------- /impl/v1_15_R1/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 4.0.0 6 | 7 | 8 | custom-ore-generator-impl 9 | de.derfrzocker 10 | ${revision} 11 | 12 | 13 | custom-ore-generator-impl-v1_15_R1 14 | 15 | 16 | 17 | dev.linwood 18 | ItemMods 19 | ${ItemMods.version} 20 | provided 21 | 22 | 23 | de.derfrzocker 24 | custom-ore-generator-api 25 | ${project.version} 26 | provided 27 | 28 | 29 | org.spigotmc 30 | spigot 31 | 1.15.1-R0.1-SNAPSHOT 32 | provided 33 | true 34 | 35 | 36 | de.derfrzocker 37 | custom-ore-generator-impl-abstract 38 | ${project.version} 39 | provided 40 | 41 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /impl/v1_15_R1/src/main/java/de/derfrzocker/custom/ore/generator/impl/v1_15_R1/customdata/TickBlockApplier_v1_15_R1.java: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2019 - 2020 Marvin (DerFrZocker) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | * 24 | */ 25 | 26 | package de.derfrzocker.custom.ore.generator.impl.v1_15_R1.customdata; 27 | 28 | import de.derfrzocker.custom.ore.generator.api.OreConfig; 29 | import de.derfrzocker.custom.ore.generator.api.customdata.CustomData; 30 | import de.derfrzocker.custom.ore.generator.api.customdata.CustomDataApplier; 31 | import net.minecraft.server.v1_15_R1.BlockPosition; 32 | import net.minecraft.server.v1_15_R1.GeneratorAccess; 33 | import org.apache.commons.lang.Validate; 34 | import org.jetbrains.annotations.NotNull; 35 | 36 | import java.util.Optional; 37 | 38 | public class TickBlockApplier_v1_15_R1 implements CustomDataApplier { 39 | 40 | @NotNull 41 | private final CustomData customData; 42 | 43 | public TickBlockApplier_v1_15_R1(@NotNull final CustomData data) { 44 | Validate.notNull(data, "CustomData can not be null"); 45 | 46 | customData = data; 47 | } 48 | 49 | @Override 50 | public void apply(@NotNull final OreConfig oreConfig, @NotNull final Object location, @NotNull final Object blockAccess) { 51 | final BlockPosition blockPosition = (BlockPosition) location; 52 | final GeneratorAccess generatorAccess = (GeneratorAccess) blockAccess; 53 | 54 | final Optional objectOptional = oreConfig.getCustomData(customData); 55 | 56 | if (!objectOptional.isPresent()) 57 | return; //TODO maybe throw exception? 58 | 59 | final boolean tickBlock = (boolean) objectOptional.get(); 60 | 61 | if (!tickBlock) 62 | return; 63 | 64 | generatorAccess.x(blockPosition).n().a(blockPosition, null, -1, null); 65 | } 66 | 67 | } 68 | -------------------------------------------------------------------------------- /impl/v1_16_R1/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 4.0.0 6 | 7 | 8 | custom-ore-generator-impl 9 | de.derfrzocker 10 | ${revision} 11 | 12 | 13 | custom-ore-generator-impl-v1_16_R1 14 | 15 | 16 | 17 | dev.linwood 18 | ItemMods 19 | ${ItemMods.version} 20 | provided 21 | 22 | 23 | de.derfrzocker 24 | custom-ore-generator-api 25 | ${project.version} 26 | provided 27 | 28 | 29 | org.spigotmc 30 | spigot 31 | 1.16.1-R0.1-SNAPSHOT 32 | provided 33 | true 34 | 35 | 36 | de.derfrzocker 37 | custom-ore-generator-impl-abstract 38 | ${project.version} 39 | provided 40 | 41 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /impl/v1_16_R1/src/main/java/de/derfrzocker/custom/ore/generator/impl/v1_16_R1/customdata/TickBlockApplier_v1_16_R1.java: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2019 - 2020 Marvin (DerFrZocker) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | * 24 | */ 25 | 26 | package de.derfrzocker.custom.ore.generator.impl.v1_16_R1.customdata; 27 | 28 | import de.derfrzocker.custom.ore.generator.api.OreConfig; 29 | import de.derfrzocker.custom.ore.generator.api.customdata.CustomData; 30 | import de.derfrzocker.custom.ore.generator.api.customdata.CustomDataApplier; 31 | import net.minecraft.server.v1_16_R1.BlockPosition; 32 | import net.minecraft.server.v1_16_R1.GeneratorAccess; 33 | import org.apache.commons.lang.Validate; 34 | import org.jetbrains.annotations.NotNull; 35 | 36 | import java.util.Optional; 37 | 38 | public class TickBlockApplier_v1_16_R1 implements CustomDataApplier { 39 | 40 | @NotNull 41 | private final CustomData customData; 42 | 43 | public TickBlockApplier_v1_16_R1(@NotNull final CustomData data) { 44 | Validate.notNull(data, "CustomData can not be null"); 45 | 46 | customData = data; 47 | } 48 | 49 | @Override 50 | public void apply(@NotNull final OreConfig oreConfig, @NotNull final Object location, @NotNull final Object blockAccess) { 51 | final BlockPosition blockPosition = (BlockPosition) location; 52 | final GeneratorAccess generatorAccess = (GeneratorAccess) blockAccess; 53 | 54 | final Optional objectOptional = oreConfig.getCustomData(customData); 55 | 56 | if (!objectOptional.isPresent()) 57 | return; //TODO maybe throw exception? 58 | 59 | final boolean tickBlock = (boolean) objectOptional.get(); 60 | 61 | if (!tickBlock) 62 | return; 63 | 64 | generatorAccess.z(blockPosition).n().a(blockPosition, null, -1, null); 65 | } 66 | 67 | } 68 | -------------------------------------------------------------------------------- /impl/v1_16_R2/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 4.0.0 6 | 7 | 8 | custom-ore-generator-impl 9 | de.derfrzocker 10 | ${revision} 11 | 12 | 13 | custom-ore-generator-impl-v1_16_R2 14 | 15 | 16 | 17 | dev.linwood 18 | ItemMods 19 | ${ItemMods.version} 20 | provided 21 | 22 | 23 | de.derfrzocker 24 | custom-ore-generator-api 25 | ${project.version} 26 | provided 27 | 28 | 29 | org.spigotmc 30 | spigot 31 | 1.16.3-R0.1-SNAPSHOT 32 | provided 33 | true 34 | 35 | 36 | de.derfrzocker 37 | custom-ore-generator-impl-abstract 38 | ${project.version} 39 | provided 40 | 41 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /impl/v1_16_R2/src/main/java/de/derfrzocker/custom/ore/generator/impl/v1_16_R2/customdata/TickBlockApplier_v1_16_R2.java: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2019 - 2020 Marvin (DerFrZocker) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | * 24 | */ 25 | 26 | package de.derfrzocker.custom.ore.generator.impl.v1_16_R2.customdata; 27 | 28 | import de.derfrzocker.custom.ore.generator.api.OreConfig; 29 | import de.derfrzocker.custom.ore.generator.api.customdata.CustomData; 30 | import de.derfrzocker.custom.ore.generator.api.customdata.CustomDataApplier; 31 | import net.minecraft.server.v1_16_R2.BlockPosition; 32 | import net.minecraft.server.v1_16_R2.GeneratorAccess; 33 | import org.apache.commons.lang.Validate; 34 | import org.jetbrains.annotations.NotNull; 35 | 36 | import java.util.Optional; 37 | 38 | public class TickBlockApplier_v1_16_R2 implements CustomDataApplier { 39 | 40 | @NotNull 41 | private final CustomData customData; 42 | 43 | public TickBlockApplier_v1_16_R2(@NotNull final CustomData data) { 44 | Validate.notNull(data, "CustomData can not be null"); 45 | 46 | customData = data; 47 | } 48 | 49 | @Override 50 | public void apply(@NotNull final OreConfig oreConfig, @NotNull final Object location, @NotNull final Object blockAccess) { 51 | final BlockPosition blockPosition = (BlockPosition) location; 52 | final GeneratorAccess generatorAccess = (GeneratorAccess) blockAccess; 53 | 54 | final Optional objectOptional = oreConfig.getCustomData(customData); 55 | 56 | if (!objectOptional.isPresent()) 57 | return; //TODO maybe throw exception? 58 | 59 | final boolean tickBlock = (boolean) objectOptional.get(); 60 | 61 | if (!tickBlock) 62 | return; 63 | 64 | generatorAccess.z(blockPosition).n().a(blockPosition, null, -1, null); 65 | } 66 | 67 | } 68 | -------------------------------------------------------------------------------- /impl/v1_16_R3-post/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 4.0.0 6 | 7 | 8 | custom-ore-generator-impl 9 | de.derfrzocker 10 | ${revision} 11 | 12 | 13 | custom-ore-generator-impl-v1_16_R3-post 14 | 15 | 16 | 17 | dev.linwood 18 | ItemMods 19 | ${ItemMods.version} 20 | provided 21 | 22 | 23 | de.derfrzocker 24 | custom-ore-generator-api 25 | ${project.version} 26 | provided 27 | 28 | 29 | org.spigotmc 30 | spigot-api 31 | 1.17.1-R0.1-SNAPSHOT 32 | provided 33 | true 34 | 35 | 36 | de.derfrzocker 37 | custom-ore-generator-impl-abstract 38 | ${project.version} 39 | provided 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /impl/v1_16_R3-post/src/main/java/de/derfrzocker/custom/ore/generator/impl/v1_16_R3_post/customdata/CommandApplier_v1_16_R3_post.java: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2019 - 2020 Marvin (DerFrZocker) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | * 24 | */ 25 | 26 | package de.derfrzocker.custom.ore.generator.impl.v1_16_R3_post.customdata; 27 | 28 | import de.derfrzocker.custom.ore.generator.api.OreConfig; 29 | import de.derfrzocker.custom.ore.generator.api.customdata.CustomData; 30 | import de.derfrzocker.custom.ore.generator.api.customdata.CustomDataApplier; 31 | import java.util.Optional; 32 | import org.apache.commons.lang.Validate; 33 | import org.bukkit.Location; 34 | import org.bukkit.block.CommandBlock; 35 | import org.bukkit.generator.LimitedRegion; 36 | import org.jetbrains.annotations.NotNull; 37 | 38 | public class CommandApplier_v1_16_R3_post implements CustomDataApplier { 39 | 40 | @NotNull 41 | private final CustomData customData; 42 | 43 | public CommandApplier_v1_16_R3_post(@NotNull final CustomData data) { 44 | Validate.notNull(data, "CustomData can not be null"); 45 | 46 | customData = data; 47 | } 48 | 49 | @Override 50 | public void apply(@NotNull final OreConfig oreConfig, @NotNull final Object position, @NotNull final Object blockAccess) { 51 | final Location location = (Location) position; 52 | final LimitedRegion limitedRegion = (LimitedRegion) blockAccess; 53 | final CommandBlock commandBlock = (CommandBlock) limitedRegion.getBlockState(location); 54 | 55 | final Optional objectOptional = oreConfig.getCustomData(customData); 56 | 57 | if (!objectOptional.isPresent()) 58 | return; //TODO maybe throw exception? 59 | 60 | final String command = (String) objectOptional.get(); 61 | commandBlock.setCommand(command); 62 | commandBlock.update(); 63 | } 64 | 65 | } 66 | -------------------------------------------------------------------------------- /impl/v1_16_R3-post/src/main/java/de/derfrzocker/custom/ore/generator/impl/v1_16_R3_post/customdata/DirectionApplier_v1_16_R3_post.java: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2019 - 2020 Marvin (DerFrZocker) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | * 24 | */ 25 | 26 | package de.derfrzocker.custom.ore.generator.impl.v1_16_R3_post.customdata; 27 | 28 | import de.derfrzocker.custom.ore.generator.api.OreConfig; 29 | import de.derfrzocker.custom.ore.generator.api.customdata.CustomData; 30 | import de.derfrzocker.custom.ore.generator.api.customdata.CustomDataApplier; 31 | import java.util.Optional; 32 | import org.bukkit.Location; 33 | import org.bukkit.block.BlockFace; 34 | import org.bukkit.block.data.MultipleFacing; 35 | import org.bukkit.generator.LimitedRegion; 36 | import org.jetbrains.annotations.NotNull; 37 | 38 | public class DirectionApplier_v1_16_R3_post implements CustomDataApplier { 39 | 40 | private final CustomData customData; 41 | 42 | private final BlockFace blockFace; 43 | 44 | public DirectionApplier_v1_16_R3_post(CustomData customData, BlockFace blockFace) { 45 | this.customData = customData; 46 | this.blockFace = blockFace; 47 | } 48 | 49 | @Override 50 | public void apply(@NotNull final OreConfig oreConfig, @NotNull final Object position, @NotNull final Object blockAccess) { 51 | final Location location = (Location) position; 52 | final LimitedRegion limitedRegion = (LimitedRegion) blockAccess; 53 | MultipleFacing blockData = (MultipleFacing) limitedRegion.getBlockData(location); 54 | 55 | final Optional objectOptional = oreConfig.getCustomData(customData); 56 | 57 | if (!objectOptional.isPresent()) 58 | return; //TODO maybe throw exception? 59 | 60 | blockData.setFace(blockFace, (boolean) objectOptional.get()); 61 | 62 | limitedRegion.setBlockData(location, blockData); 63 | } 64 | 65 | } -------------------------------------------------------------------------------- /impl/v1_16_R3/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 4.0.0 6 | 7 | 8 | custom-ore-generator-impl 9 | de.derfrzocker 10 | ${revision} 11 | 12 | 13 | custom-ore-generator-impl-v1_16_R3 14 | 15 | 16 | 17 | dev.linwood 18 | ItemMods 19 | ${ItemMods.version} 20 | provided 21 | 22 | 23 | de.derfrzocker 24 | custom-ore-generator-api 25 | ${project.version} 26 | provided 27 | 28 | 29 | org.spigotmc 30 | spigot 31 | 1.16.4-R0.1-SNAPSHOT 32 | provided 33 | true 34 | 35 | 36 | de.derfrzocker 37 | custom-ore-generator-impl-abstract 38 | ${project.version} 39 | provided 40 | 41 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /impl/v1_16_R3/src/main/java/de/derfrzocker/custom/ore/generator/impl/v1_16_R3/customdata/TickBlockApplier_v1_16_R3.java: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2019 - 2020 Marvin (DerFrZocker) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | * 24 | */ 25 | 26 | package de.derfrzocker.custom.ore.generator.impl.v1_16_R3.customdata; 27 | 28 | import de.derfrzocker.custom.ore.generator.api.OreConfig; 29 | import de.derfrzocker.custom.ore.generator.api.customdata.CustomData; 30 | import de.derfrzocker.custom.ore.generator.api.customdata.CustomDataApplier; 31 | import net.minecraft.server.v1_16_R3.BlockPosition; 32 | import net.minecraft.server.v1_16_R3.GeneratorAccess; 33 | import org.apache.commons.lang.Validate; 34 | import org.jetbrains.annotations.NotNull; 35 | 36 | import java.util.Optional; 37 | 38 | public class TickBlockApplier_v1_16_R3 implements CustomDataApplier { 39 | 40 | @NotNull 41 | private final CustomData customData; 42 | 43 | public TickBlockApplier_v1_16_R3(@NotNull final CustomData data) { 44 | Validate.notNull(data, "CustomData can not be null"); 45 | 46 | customData = data; 47 | } 48 | 49 | @Override 50 | public void apply(@NotNull final OreConfig oreConfig, @NotNull final Object location, @NotNull final Object blockAccess) { 51 | final BlockPosition blockPosition = (BlockPosition) location; 52 | final GeneratorAccess generatorAccess = (GeneratorAccess) blockAccess; 53 | 54 | final Optional objectOptional = oreConfig.getCustomData(customData); 55 | 56 | if (!objectOptional.isPresent()) 57 | return; //TODO maybe throw exception? 58 | 59 | final boolean tickBlock = (boolean) objectOptional.get(); 60 | 61 | if (!tickBlock) 62 | return; 63 | 64 | generatorAccess.z(blockPosition).n().a(blockPosition, null, -1, null); 65 | } 66 | 67 | } 68 | -------------------------------------------------------------------------------- /impl/v1_17_R1/src/main/java/de/derfrzocker/custom/ore/generator/impl/v1_17_R1/WorldHandler_v1_17_R1.java: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2019 - 2020 Marvin (DerFrZocker) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | * 24 | */ 25 | 26 | package de.derfrzocker.custom.ore.generator.impl.v1_17_R1; 27 | 28 | import de.derfrzocker.custom.ore.generator.api.CustomOreGeneratorService; 29 | import de.derfrzocker.custom.ore.generator.api.WorldHandler; 30 | import org.apache.commons.lang.Validate; 31 | import org.bukkit.Bukkit; 32 | import org.bukkit.event.EventHandler; 33 | import org.bukkit.event.EventPriority; 34 | import org.bukkit.event.Listener; 35 | import org.bukkit.event.world.WorldInitEvent; 36 | import org.bukkit.plugin.java.JavaPlugin; 37 | import org.jetbrains.annotations.NotNull; 38 | 39 | import java.util.function.Supplier; 40 | 41 | public class WorldHandler_v1_17_R1 implements WorldHandler, Listener { 42 | 43 | @NotNull 44 | private final Supplier serviceSupplier; 45 | 46 | public WorldHandler_v1_17_R1(@NotNull final JavaPlugin javaPlugin, @NotNull final Supplier serviceSupplier) { 47 | Validate.notNull(serviceSupplier, "Service supplier can not be null"); 48 | Validate.notNull(javaPlugin, "JavaPlugin can not be null"); 49 | 50 | this.serviceSupplier = serviceSupplier; 51 | 52 | Bukkit.getPluginManager().registerEvents(this, javaPlugin); 53 | } 54 | 55 | @EventHandler(priority = EventPriority.HIGH) 56 | public void onWorldInit(final WorldInitEvent event) { 57 | event.getWorld().getPopulators().add(new CustomOrePopulator(event.getWorld(), serviceSupplier, this)); 58 | } 59 | } 60 | -------------------------------------------------------------------------------- /impl/v1_17_R1/src/main/java/de/derfrzocker/custom/ore/generator/impl/v1_17_R1/customdata/TickBlockApplier_v1_17_R1.java: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2019 - 2020 Marvin (DerFrZocker) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | * 24 | */ 25 | 26 | package de.derfrzocker.custom.ore.generator.impl.v1_17_R1.customdata; 27 | 28 | import de.derfrzocker.custom.ore.generator.api.OreConfig; 29 | import de.derfrzocker.custom.ore.generator.api.customdata.CustomData; 30 | import de.derfrzocker.custom.ore.generator.api.customdata.CustomDataApplier; 31 | import net.minecraft.core.BlockPos; 32 | import org.apache.commons.lang.Validate; 33 | import org.bukkit.Location; 34 | import org.bukkit.craftbukkit.v1_17_R1.generator.CraftLimitedRegion; 35 | import org.bukkit.generator.LimitedRegion; 36 | import org.jetbrains.annotations.NotNull; 37 | 38 | import java.util.Optional; 39 | 40 | public class TickBlockApplier_v1_17_R1 implements CustomDataApplier { 41 | 42 | @NotNull 43 | private final CustomData customData; 44 | 45 | public TickBlockApplier_v1_17_R1(@NotNull final CustomData data) { 46 | Validate.notNull(data, "CustomData can not be null"); 47 | 48 | customData = data; 49 | } 50 | 51 | @Override 52 | public void apply(@NotNull final OreConfig oreConfig, @NotNull final Object position, @NotNull final Object blockAccess) { 53 | final Location location = (Location) position; 54 | final LimitedRegion limitedRegion = (LimitedRegion) blockAccess; 55 | 56 | final Optional objectOptional = oreConfig.getCustomData(customData); 57 | 58 | if (!objectOptional.isPresent()) 59 | return; //TODO maybe throw exception? 60 | 61 | final boolean tickBlock = (boolean) objectOptional.get(); 62 | 63 | if (!tickBlock) 64 | return; 65 | 66 | BlockPos blockPosition = new BlockPos(location.getBlockX(), location.getBlockY(), location.getBlockZ()); 67 | ((CraftLimitedRegion) limitedRegion).getHandle().getChunk(blockPosition).getBlockTicks().scheduleTick(blockPosition, null, -1, null); 68 | } 69 | 70 | } 71 | -------------------------------------------------------------------------------- /impl/v1_18_R1/src/main/java/de/derfrzocker/custom/ore/generator/impl/v1_18_R1/WorldHandler_v1_18_R1.java: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2019 - 2020 Marvin (DerFrZocker) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | * 24 | */ 25 | 26 | package de.derfrzocker.custom.ore.generator.impl.v1_18_R1; 27 | 28 | import de.derfrzocker.custom.ore.generator.api.CustomOreGeneratorService; 29 | import de.derfrzocker.custom.ore.generator.api.WorldHandler; 30 | import org.apache.commons.lang.Validate; 31 | import org.bukkit.Bukkit; 32 | import org.bukkit.event.EventHandler; 33 | import org.bukkit.event.EventPriority; 34 | import org.bukkit.event.Listener; 35 | import org.bukkit.event.world.WorldInitEvent; 36 | import org.bukkit.plugin.java.JavaPlugin; 37 | import org.jetbrains.annotations.NotNull; 38 | 39 | import java.util.function.Supplier; 40 | 41 | public class WorldHandler_v1_18_R1 implements WorldHandler, Listener { 42 | 43 | @NotNull 44 | private final Supplier serviceSupplier; 45 | 46 | public WorldHandler_v1_18_R1(@NotNull final JavaPlugin javaPlugin, @NotNull final Supplier serviceSupplier) { 47 | Validate.notNull(serviceSupplier, "Service supplier can not be null"); 48 | Validate.notNull(javaPlugin, "JavaPlugin can not be null"); 49 | 50 | this.serviceSupplier = serviceSupplier; 51 | 52 | Bukkit.getPluginManager().registerEvents(this, javaPlugin); 53 | } 54 | 55 | @EventHandler(priority = EventPriority.HIGH) 56 | public void onWorldInit(final WorldInitEvent event) { 57 | event.getWorld().getPopulators().add(new CustomOrePopulator(event.getWorld(), serviceSupplier, this)); 58 | } 59 | } 60 | -------------------------------------------------------------------------------- /impl/v1_18_R1/src/main/java/de/derfrzocker/custom/ore/generator/impl/v1_18_R1/customdata/TickBlockApplier_v1_18_R1.java: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2019 - 2020 Marvin (DerFrZocker) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | * 24 | */ 25 | 26 | package de.derfrzocker.custom.ore.generator.impl.v1_18_R1.customdata; 27 | 28 | import de.derfrzocker.custom.ore.generator.api.OreConfig; 29 | import de.derfrzocker.custom.ore.generator.api.customdata.CustomData; 30 | import de.derfrzocker.custom.ore.generator.api.customdata.CustomDataApplier; 31 | import net.minecraft.core.BlockPos; 32 | import org.apache.commons.lang.Validate; 33 | import org.bukkit.Location; 34 | import org.bukkit.craftbukkit.v1_18_R1.generator.CraftLimitedRegion; 35 | import org.bukkit.generator.LimitedRegion; 36 | import org.jetbrains.annotations.NotNull; 37 | 38 | import java.util.Optional; 39 | 40 | public class TickBlockApplier_v1_18_R1 implements CustomDataApplier { 41 | 42 | @NotNull 43 | private final CustomData customData; 44 | 45 | public TickBlockApplier_v1_18_R1(@NotNull final CustomData data) { 46 | Validate.notNull(data, "CustomData can not be null"); 47 | 48 | customData = data; 49 | } 50 | 51 | @Override 52 | public void apply(@NotNull final OreConfig oreConfig, @NotNull final Object position, @NotNull final Object blockAccess) { 53 | final Location location = (Location) position; 54 | final LimitedRegion limitedRegion = (LimitedRegion) blockAccess; 55 | 56 | final Optional objectOptional = oreConfig.getCustomData(customData); 57 | 58 | if (!objectOptional.isPresent()) 59 | return; //TODO maybe throw exception? 60 | 61 | final boolean tickBlock = (boolean) objectOptional.get(); 62 | 63 | if (!tickBlock) 64 | return; 65 | 66 | BlockPos blockPosition = new BlockPos(location.getBlockX(), location.getBlockY(), location.getBlockZ()); 67 | ((CraftLimitedRegion) limitedRegion).getHandle().getChunk(blockPosition).getBlockTicks().schedule(((CraftLimitedRegion) limitedRegion).getHandle().createTick(blockPosition, null, 0)); 68 | } 69 | 70 | } 71 | -------------------------------------------------------------------------------- /impl/v1_18_R2/src/main/java/de/derfrzocker/custom/ore/generator/impl/v1_18_R2/WorldHandler_v1_18_R2.java: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2019 - 2020 Marvin (DerFrZocker) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | * 24 | */ 25 | 26 | package de.derfrzocker.custom.ore.generator.impl.v1_18_R2; 27 | 28 | import de.derfrzocker.custom.ore.generator.api.CustomOreGeneratorService; 29 | import de.derfrzocker.custom.ore.generator.api.WorldHandler; 30 | import org.apache.commons.lang.Validate; 31 | import org.bukkit.Bukkit; 32 | import org.bukkit.event.EventHandler; 33 | import org.bukkit.event.EventPriority; 34 | import org.bukkit.event.Listener; 35 | import org.bukkit.event.world.WorldInitEvent; 36 | import org.bukkit.plugin.java.JavaPlugin; 37 | import org.jetbrains.annotations.NotNull; 38 | 39 | import java.util.function.Supplier; 40 | 41 | public class WorldHandler_v1_18_R2 implements WorldHandler, Listener { 42 | 43 | @NotNull 44 | private final Supplier serviceSupplier; 45 | 46 | public WorldHandler_v1_18_R2(@NotNull final JavaPlugin javaPlugin, @NotNull final Supplier serviceSupplier) { 47 | Validate.notNull(serviceSupplier, "Service supplier can not be null"); 48 | Validate.notNull(javaPlugin, "JavaPlugin can not be null"); 49 | 50 | this.serviceSupplier = serviceSupplier; 51 | 52 | Bukkit.getPluginManager().registerEvents(this, javaPlugin); 53 | } 54 | 55 | @EventHandler(priority = EventPriority.HIGH) 56 | public void onWorldInit(final WorldInitEvent event) { 57 | event.getWorld().getPopulators().add(new CustomOrePopulator(event.getWorld(), serviceSupplier, this)); 58 | } 59 | } 60 | -------------------------------------------------------------------------------- /impl/v1_18_R2/src/main/java/de/derfrzocker/custom/ore/generator/impl/v1_18_R2/customdata/TickBlockApplier_v1_18_R2.java: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2019 - 2020 Marvin (DerFrZocker) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | * 24 | */ 25 | 26 | package de.derfrzocker.custom.ore.generator.impl.v1_18_R2.customdata; 27 | 28 | import de.derfrzocker.custom.ore.generator.api.OreConfig; 29 | import de.derfrzocker.custom.ore.generator.api.customdata.CustomData; 30 | import de.derfrzocker.custom.ore.generator.api.customdata.CustomDataApplier; 31 | import net.minecraft.core.BlockPos; 32 | import org.apache.commons.lang.Validate; 33 | import org.bukkit.Location; 34 | import org.bukkit.craftbukkit.v1_18_R2.generator.CraftLimitedRegion; 35 | import org.bukkit.generator.LimitedRegion; 36 | import org.jetbrains.annotations.NotNull; 37 | 38 | import java.util.Optional; 39 | 40 | public class TickBlockApplier_v1_18_R2 implements CustomDataApplier { 41 | 42 | @NotNull 43 | private final CustomData customData; 44 | 45 | public TickBlockApplier_v1_18_R2(@NotNull final CustomData data) { 46 | Validate.notNull(data, "CustomData can not be null"); 47 | 48 | customData = data; 49 | } 50 | 51 | @Override 52 | public void apply(@NotNull final OreConfig oreConfig, @NotNull final Object position, @NotNull final Object blockAccess) { 53 | final Location location = (Location) position; 54 | final LimitedRegion limitedRegion = (LimitedRegion) blockAccess; 55 | 56 | final Optional objectOptional = oreConfig.getCustomData(customData); 57 | 58 | if (!objectOptional.isPresent()) 59 | return; //TODO maybe throw exception? 60 | 61 | final boolean tickBlock = (boolean) objectOptional.get(); 62 | 63 | if (!tickBlock) 64 | return; 65 | 66 | BlockPos blockPosition = new BlockPos(location.getBlockX(), location.getBlockY(), location.getBlockZ()); 67 | ((CraftLimitedRegion) limitedRegion).getHandle().getChunk(blockPosition).getBlockTicks().schedule(((CraftLimitedRegion) limitedRegion).getHandle().createTick(blockPosition, null, 0)); 68 | } 69 | 70 | } 71 | -------------------------------------------------------------------------------- /impl/v1_19_R1/src/main/java/de/derfrzocker/custom/ore/generator/impl/v1_19_R1/WorldHandler_v1_19_R1.java: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2019 - 2020 Marvin (DerFrZocker) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | * 24 | */ 25 | 26 | package de.derfrzocker.custom.ore.generator.impl.v1_19_R1; 27 | 28 | import de.derfrzocker.custom.ore.generator.api.CustomOreGeneratorService; 29 | import de.derfrzocker.custom.ore.generator.api.WorldHandler; 30 | import org.apache.commons.lang.Validate; 31 | import org.bukkit.Bukkit; 32 | import org.bukkit.event.EventHandler; 33 | import org.bukkit.event.EventPriority; 34 | import org.bukkit.event.Listener; 35 | import org.bukkit.event.world.WorldInitEvent; 36 | import org.bukkit.plugin.java.JavaPlugin; 37 | import org.jetbrains.annotations.NotNull; 38 | 39 | import java.util.function.Supplier; 40 | 41 | public class WorldHandler_v1_19_R1 implements WorldHandler, Listener { 42 | 43 | @NotNull 44 | private final Supplier serviceSupplier; 45 | 46 | public WorldHandler_v1_19_R1(@NotNull final JavaPlugin javaPlugin, @NotNull final Supplier serviceSupplier) { 47 | Validate.notNull(serviceSupplier, "Service supplier can not be null"); 48 | Validate.notNull(javaPlugin, "JavaPlugin can not be null"); 49 | 50 | this.serviceSupplier = serviceSupplier; 51 | 52 | Bukkit.getPluginManager().registerEvents(this, javaPlugin); 53 | } 54 | 55 | @EventHandler(priority = EventPriority.HIGH) 56 | public void onWorldInit(final WorldInitEvent event) { 57 | event.getWorld().getPopulators().add(new CustomOrePopulator(event.getWorld(), serviceSupplier, this)); 58 | } 59 | } 60 | -------------------------------------------------------------------------------- /impl/v1_19_R1/src/main/java/de/derfrzocker/custom/ore/generator/impl/v1_19_R1/customdata/TickBlockApplier_v1_19_R1.java: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2019 - 2020 Marvin (DerFrZocker) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | * 24 | */ 25 | 26 | package de.derfrzocker.custom.ore.generator.impl.v1_19_R1.customdata; 27 | 28 | import de.derfrzocker.custom.ore.generator.api.OreConfig; 29 | import de.derfrzocker.custom.ore.generator.api.customdata.CustomData; 30 | import de.derfrzocker.custom.ore.generator.api.customdata.CustomDataApplier; 31 | import net.minecraft.core.BlockPos; 32 | import org.apache.commons.lang.Validate; 33 | import org.bukkit.Location; 34 | import org.bukkit.craftbukkit.v1_19_R1.generator.CraftLimitedRegion; 35 | import org.bukkit.generator.LimitedRegion; 36 | import org.jetbrains.annotations.NotNull; 37 | 38 | import java.util.Optional; 39 | 40 | public class TickBlockApplier_v1_19_R1 implements CustomDataApplier { 41 | 42 | @NotNull 43 | private final CustomData customData; 44 | 45 | public TickBlockApplier_v1_19_R1(@NotNull final CustomData data) { 46 | Validate.notNull(data, "CustomData can not be null"); 47 | 48 | customData = data; 49 | } 50 | 51 | @Override 52 | public void apply(@NotNull final OreConfig oreConfig, @NotNull final Object position, @NotNull final Object blockAccess) { 53 | final Location location = (Location) position; 54 | final LimitedRegion limitedRegion = (LimitedRegion) blockAccess; 55 | 56 | final Optional objectOptional = oreConfig.getCustomData(customData); 57 | 58 | if (!objectOptional.isPresent()) 59 | return; //TODO maybe throw exception? 60 | 61 | final boolean tickBlock = (boolean) objectOptional.get(); 62 | 63 | if (!tickBlock) 64 | return; 65 | 66 | BlockPos blockPosition = new BlockPos(location.getBlockX(), location.getBlockY(), location.getBlockZ()); 67 | ((CraftLimitedRegion) limitedRegion).getHandle().getChunk(blockPosition).getBlockTicks().schedule(((CraftLimitedRegion) limitedRegion).getHandle().createTick(blockPosition, null, 0)); 68 | } 69 | 70 | } 71 | -------------------------------------------------------------------------------- /impl/v1_19_R2/src/main/java/de/derfrzocker/custom/ore/generator/impl/v1_19_R2/WorldHandler_v1_19_R2.java: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2019 - 2020 Marvin (DerFrZocker) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | * 24 | */ 25 | 26 | package de.derfrzocker.custom.ore.generator.impl.v1_19_R2; 27 | 28 | import de.derfrzocker.custom.ore.generator.api.CustomOreGeneratorService; 29 | import de.derfrzocker.custom.ore.generator.api.WorldHandler; 30 | import org.apache.commons.lang.Validate; 31 | import org.bukkit.Bukkit; 32 | import org.bukkit.event.EventHandler; 33 | import org.bukkit.event.EventPriority; 34 | import org.bukkit.event.Listener; 35 | import org.bukkit.event.world.WorldInitEvent; 36 | import org.bukkit.plugin.java.JavaPlugin; 37 | import org.jetbrains.annotations.NotNull; 38 | 39 | import java.util.function.Supplier; 40 | 41 | public class WorldHandler_v1_19_R2 implements WorldHandler, Listener { 42 | 43 | @NotNull 44 | private final Supplier serviceSupplier; 45 | 46 | public WorldHandler_v1_19_R2(@NotNull final JavaPlugin javaPlugin, @NotNull final Supplier serviceSupplier) { 47 | Validate.notNull(serviceSupplier, "Service supplier can not be null"); 48 | Validate.notNull(javaPlugin, "JavaPlugin can not be null"); 49 | 50 | this.serviceSupplier = serviceSupplier; 51 | 52 | Bukkit.getPluginManager().registerEvents(this, javaPlugin); 53 | } 54 | 55 | @EventHandler(priority = EventPriority.HIGH) 56 | public void onWorldInit(final WorldInitEvent event) { 57 | event.getWorld().getPopulators().add(new CustomOrePopulator(event.getWorld(), serviceSupplier, this)); 58 | } 59 | } 60 | -------------------------------------------------------------------------------- /impl/v1_19_R3/src/main/java/de/derfrzocker/custom/ore/generator/impl/v1_19_R3/WorldHandler_v1_19_R3.java: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2019 - 2020 Marvin (DerFrZocker) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | * 24 | */ 25 | 26 | package de.derfrzocker.custom.ore.generator.impl.v1_19_R3; 27 | 28 | import de.derfrzocker.custom.ore.generator.api.CustomOreGeneratorService; 29 | import de.derfrzocker.custom.ore.generator.api.WorldHandler; 30 | import org.apache.commons.lang.Validate; 31 | import org.bukkit.Bukkit; 32 | import org.bukkit.event.EventHandler; 33 | import org.bukkit.event.EventPriority; 34 | import org.bukkit.event.Listener; 35 | import org.bukkit.event.world.WorldInitEvent; 36 | import org.bukkit.plugin.java.JavaPlugin; 37 | import org.jetbrains.annotations.NotNull; 38 | 39 | import java.util.function.Supplier; 40 | 41 | public class WorldHandler_v1_19_R3 implements WorldHandler, Listener { 42 | 43 | @NotNull 44 | private final Supplier serviceSupplier; 45 | 46 | public WorldHandler_v1_19_R3(@NotNull final JavaPlugin javaPlugin, @NotNull final Supplier serviceSupplier) { 47 | Validate.notNull(serviceSupplier, "Service supplier can not be null"); 48 | Validate.notNull(javaPlugin, "JavaPlugin can not be null"); 49 | 50 | this.serviceSupplier = serviceSupplier; 51 | 52 | Bukkit.getPluginManager().registerEvents(this, javaPlugin); 53 | } 54 | 55 | @EventHandler(priority = EventPriority.HIGH) 56 | public void onWorldInit(final WorldInitEvent event) { 57 | event.getWorld().getPopulators().add(new CustomOrePopulator(event.getWorld(), serviceSupplier, this)); 58 | } 59 | } 60 | -------------------------------------------------------------------------------- /impl/v1_20_R1/src/main/java/de/derfrzocker/custom/ore/generator/impl/v1_20_R1/WorldHandler_v1_20_R1.java: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2019 - 2020 Marvin (DerFrZocker) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | * 24 | */ 25 | 26 | package de.derfrzocker.custom.ore.generator.impl.v1_20_R1; 27 | 28 | import de.derfrzocker.custom.ore.generator.api.CustomOreGeneratorService; 29 | import de.derfrzocker.custom.ore.generator.api.WorldHandler; 30 | import org.apache.commons.lang.Validate; 31 | import org.bukkit.Bukkit; 32 | import org.bukkit.event.EventHandler; 33 | import org.bukkit.event.EventPriority; 34 | import org.bukkit.event.Listener; 35 | import org.bukkit.event.world.WorldInitEvent; 36 | import org.bukkit.plugin.java.JavaPlugin; 37 | import org.jetbrains.annotations.NotNull; 38 | 39 | import java.util.function.Supplier; 40 | 41 | public class WorldHandler_v1_20_R1 implements WorldHandler, Listener { 42 | 43 | @NotNull 44 | private final Supplier serviceSupplier; 45 | 46 | public WorldHandler_v1_20_R1(@NotNull final JavaPlugin javaPlugin, @NotNull final Supplier serviceSupplier) { 47 | Validate.notNull(serviceSupplier, "Service supplier can not be null"); 48 | Validate.notNull(javaPlugin, "JavaPlugin can not be null"); 49 | 50 | this.serviceSupplier = serviceSupplier; 51 | 52 | Bukkit.getPluginManager().registerEvents(this, javaPlugin); 53 | } 54 | 55 | @EventHandler(priority = EventPriority.HIGH) 56 | public void onWorldInit(final WorldInitEvent event) { 57 | event.getWorld().getPopulators().add(new CustomOrePopulator(event.getWorld(), serviceSupplier, this)); 58 | } 59 | } 60 | -------------------------------------------------------------------------------- /impl/v1_20_R2/src/main/java/de/derfrzocker/custom/ore/generator/impl/v1_20_R2/WorldHandler_v1_20_R2.java: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2019 - 2020 Marvin (DerFrZocker) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | * 24 | */ 25 | 26 | package de.derfrzocker.custom.ore.generator.impl.v1_20_R2; 27 | 28 | import de.derfrzocker.custom.ore.generator.api.CustomOreGeneratorService; 29 | import de.derfrzocker.custom.ore.generator.api.WorldHandler; 30 | import org.apache.commons.lang.Validate; 31 | import org.bukkit.Bukkit; 32 | import org.bukkit.event.EventHandler; 33 | import org.bukkit.event.EventPriority; 34 | import org.bukkit.event.Listener; 35 | import org.bukkit.event.world.WorldInitEvent; 36 | import org.bukkit.plugin.java.JavaPlugin; 37 | import org.jetbrains.annotations.NotNull; 38 | 39 | import java.util.function.Supplier; 40 | 41 | public class WorldHandler_v1_20_R2 implements WorldHandler, Listener { 42 | 43 | @NotNull 44 | private final Supplier serviceSupplier; 45 | 46 | public WorldHandler_v1_20_R2(@NotNull final JavaPlugin javaPlugin, @NotNull final Supplier serviceSupplier) { 47 | Validate.notNull(serviceSupplier, "Service supplier can not be null"); 48 | Validate.notNull(javaPlugin, "JavaPlugin can not be null"); 49 | 50 | this.serviceSupplier = serviceSupplier; 51 | 52 | Bukkit.getPluginManager().registerEvents(this, javaPlugin); 53 | } 54 | 55 | @EventHandler(priority = EventPriority.HIGH) 56 | public void onWorldInit(final WorldInitEvent event) { 57 | event.getWorld().getPopulators().add(new CustomOrePopulator(event.getWorld(), serviceSupplier, this)); 58 | } 59 | } 60 | -------------------------------------------------------------------------------- /impl/v1_20_R3/src/main/java/de/derfrzocker/custom/ore/generator/impl/v1_20_R3/WorldHandler_v1_20_R3.java: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2019 - 2020 Marvin (DerFrZocker) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | * 24 | */ 25 | 26 | package de.derfrzocker.custom.ore.generator.impl.v1_20_R3; 27 | 28 | import de.derfrzocker.custom.ore.generator.api.CustomOreGeneratorService; 29 | import de.derfrzocker.custom.ore.generator.api.WorldHandler; 30 | import org.apache.commons.lang.Validate; 31 | import org.bukkit.Bukkit; 32 | import org.bukkit.event.EventHandler; 33 | import org.bukkit.event.EventPriority; 34 | import org.bukkit.event.Listener; 35 | import org.bukkit.event.world.WorldInitEvent; 36 | import org.bukkit.plugin.java.JavaPlugin; 37 | import org.jetbrains.annotations.NotNull; 38 | 39 | import java.util.function.Supplier; 40 | 41 | public class WorldHandler_v1_20_R3 implements WorldHandler, Listener { 42 | 43 | @NotNull 44 | private final Supplier serviceSupplier; 45 | 46 | public WorldHandler_v1_20_R3(@NotNull final JavaPlugin javaPlugin, @NotNull final Supplier serviceSupplier) { 47 | Validate.notNull(serviceSupplier, "Service supplier can not be null"); 48 | Validate.notNull(javaPlugin, "JavaPlugin can not be null"); 49 | 50 | this.serviceSupplier = serviceSupplier; 51 | 52 | Bukkit.getPluginManager().registerEvents(this, javaPlugin); 53 | } 54 | 55 | @EventHandler(priority = EventPriority.HIGH) 56 | public void onWorldInit(final WorldInitEvent event) { 57 | event.getWorld().getPopulators().add(new CustomOrePopulator(event.getWorld(), serviceSupplier, this)); 58 | } 59 | } 60 | -------------------------------------------------------------------------------- /impl/v1_20_R4/src/main/java/de/derfrzocker/custom/ore/generator/impl/v1_20_R4/WorldHandler_v1_20_R4.java: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2019 - 2020 Marvin (DerFrZocker) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | * 24 | */ 25 | 26 | package de.derfrzocker.custom.ore.generator.impl.v1_20_R4; 27 | 28 | import de.derfrzocker.custom.ore.generator.api.CustomOreGeneratorService; 29 | import de.derfrzocker.custom.ore.generator.api.WorldHandler; 30 | import org.apache.commons.lang.Validate; 31 | import org.bukkit.Bukkit; 32 | import org.bukkit.event.EventHandler; 33 | import org.bukkit.event.EventPriority; 34 | import org.bukkit.event.Listener; 35 | import org.bukkit.event.world.WorldInitEvent; 36 | import org.bukkit.plugin.java.JavaPlugin; 37 | import org.jetbrains.annotations.NotNull; 38 | 39 | import java.util.function.Supplier; 40 | 41 | public class WorldHandler_v1_20_R4 implements WorldHandler, Listener { 42 | 43 | @NotNull 44 | private final Supplier serviceSupplier; 45 | 46 | public WorldHandler_v1_20_R4(@NotNull final JavaPlugin javaPlugin, @NotNull final Supplier serviceSupplier) { 47 | Validate.notNull(serviceSupplier, "Service supplier can not be null"); 48 | Validate.notNull(javaPlugin, "JavaPlugin can not be null"); 49 | 50 | this.serviceSupplier = serviceSupplier; 51 | 52 | Bukkit.getPluginManager().registerEvents(this, javaPlugin); 53 | } 54 | 55 | @EventHandler(priority = EventPriority.HIGH) 56 | public void onWorldInit(final WorldInitEvent event) { 57 | event.getWorld().getPopulators().add(new CustomOrePopulator(event.getWorld(), serviceSupplier, this)); 58 | } 59 | } 60 | -------------------------------------------------------------------------------- /impl/v1_21_R1/src/main/java/de/derfrzocker/custom/ore/generator/impl/v1_21_R1/WorldHandler_v1_21_R1.java: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2019 - 2020 Marvin (DerFrZocker) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | * 24 | */ 25 | 26 | package de.derfrzocker.custom.ore.generator.impl.v1_21_R1; 27 | 28 | import de.derfrzocker.custom.ore.generator.api.CustomOreGeneratorService; 29 | import de.derfrzocker.custom.ore.generator.api.WorldHandler; 30 | import java.util.function.Supplier; 31 | import org.apache.commons.lang.Validate; 32 | import org.bukkit.Bukkit; 33 | import org.bukkit.event.EventHandler; 34 | import org.bukkit.event.EventPriority; 35 | import org.bukkit.event.Listener; 36 | import org.bukkit.event.world.WorldInitEvent; 37 | import org.bukkit.plugin.java.JavaPlugin; 38 | import org.jetbrains.annotations.NotNull; 39 | 40 | public class WorldHandler_v1_21_R1 implements WorldHandler, Listener { 41 | 42 | @NotNull 43 | private final Supplier serviceSupplier; 44 | 45 | public WorldHandler_v1_21_R1(@NotNull final JavaPlugin javaPlugin, @NotNull final Supplier serviceSupplier) { 46 | Validate.notNull(serviceSupplier, "Service supplier can not be null"); 47 | Validate.notNull(javaPlugin, "JavaPlugin can not be null"); 48 | 49 | this.serviceSupplier = serviceSupplier; 50 | 51 | Bukkit.getPluginManager().registerEvents(this, javaPlugin); 52 | } 53 | 54 | @EventHandler(priority = EventPriority.HIGH) 55 | public void onWorldInit(final WorldInitEvent event) { 56 | event.getWorld().getPopulators().add(new CustomOrePopulator(event.getWorld(), serviceSupplier, this)); 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /impl/v1_21_R2/src/main/java/de/derfrzocker/custom/ore/generator/impl/v1_21_R2/WorldHandler_v1_21_R2.java: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2019 - 2020 Marvin (DerFrZocker) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | * 24 | */ 25 | 26 | package de.derfrzocker.custom.ore.generator.impl.v1_21_R2; 27 | 28 | import de.derfrzocker.custom.ore.generator.api.CustomOreGeneratorService; 29 | import de.derfrzocker.custom.ore.generator.api.WorldHandler; 30 | import java.util.function.Supplier; 31 | import org.apache.commons.lang.Validate; 32 | import org.bukkit.Bukkit; 33 | import org.bukkit.event.EventHandler; 34 | import org.bukkit.event.EventPriority; 35 | import org.bukkit.event.Listener; 36 | import org.bukkit.event.world.WorldInitEvent; 37 | import org.bukkit.plugin.java.JavaPlugin; 38 | import org.jetbrains.annotations.NotNull; 39 | 40 | public class WorldHandler_v1_21_R2 implements WorldHandler, Listener { 41 | 42 | @NotNull 43 | private final Supplier serviceSupplier; 44 | 45 | public WorldHandler_v1_21_R2(@NotNull final JavaPlugin javaPlugin, 46 | @NotNull final Supplier serviceSupplier) { 47 | Validate.notNull(serviceSupplier, "Service supplier can not be null"); 48 | Validate.notNull(javaPlugin, "JavaPlugin can not be null"); 49 | 50 | this.serviceSupplier = serviceSupplier; 51 | 52 | Bukkit.getPluginManager().registerEvents(this, javaPlugin); 53 | } 54 | 55 | @EventHandler(priority = EventPriority.HIGH) 56 | public void onWorldInit(final WorldInitEvent event) { 57 | event.getWorld().getPopulators().add(new CustomOrePopulator(event.getWorld(), serviceSupplier, this)); 58 | } 59 | } 60 | -------------------------------------------------------------------------------- /impl/v1_21_R3/src/main/java/de/derfrzocker/custom/ore/generator/impl/v1_21_R3/WorldHandler_v1_21_R3.java: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2019 - 2020 Marvin (DerFrZocker) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | * 24 | */ 25 | 26 | package de.derfrzocker.custom.ore.generator.impl.v1_21_R3; 27 | 28 | import de.derfrzocker.custom.ore.generator.api.CustomOreGeneratorService; 29 | import de.derfrzocker.custom.ore.generator.api.WorldHandler; 30 | import java.util.function.Supplier; 31 | import org.apache.commons.lang.Validate; 32 | import org.bukkit.Bukkit; 33 | import org.bukkit.event.EventHandler; 34 | import org.bukkit.event.EventPriority; 35 | import org.bukkit.event.Listener; 36 | import org.bukkit.event.world.WorldInitEvent; 37 | import org.bukkit.plugin.java.JavaPlugin; 38 | import org.jetbrains.annotations.NotNull; 39 | 40 | public class WorldHandler_v1_21_R3 implements WorldHandler, Listener { 41 | 42 | @NotNull 43 | private final Supplier serviceSupplier; 44 | 45 | public WorldHandler_v1_21_R3(@NotNull final JavaPlugin javaPlugin, 46 | @NotNull final Supplier serviceSupplier) { 47 | Validate.notNull(serviceSupplier, "Service supplier can not be null"); 48 | Validate.notNull(javaPlugin, "JavaPlugin can not be null"); 49 | 50 | this.serviceSupplier = serviceSupplier; 51 | 52 | Bukkit.getPluginManager().registerEvents(this, javaPlugin); 53 | } 54 | 55 | @EventHandler(priority = EventPriority.HIGH) 56 | public void onWorldInit(final WorldInitEvent event) { 57 | event.getWorld().getPopulators().add(new CustomOrePopulator(event.getWorld(), serviceSupplier, this)); 58 | } 59 | } 60 | -------------------------------------------------------------------------------- /impl/v1_21_R4/src/main/java/de/derfrzocker/custom/ore/generator/impl/v1_21_R4/WorldHandler_v1_21_R4.java: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2019 - 2020 Marvin (DerFrZocker) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | * 24 | */ 25 | 26 | package de.derfrzocker.custom.ore.generator.impl.v1_21_R4; 27 | 28 | import de.derfrzocker.custom.ore.generator.api.CustomOreGeneratorService; 29 | import de.derfrzocker.custom.ore.generator.api.WorldHandler; 30 | import java.util.function.Supplier; 31 | import org.apache.commons.lang.Validate; 32 | import org.bukkit.Bukkit; 33 | import org.bukkit.event.EventHandler; 34 | import org.bukkit.event.EventPriority; 35 | import org.bukkit.event.Listener; 36 | import org.bukkit.event.world.WorldInitEvent; 37 | import org.bukkit.plugin.java.JavaPlugin; 38 | import org.jetbrains.annotations.NotNull; 39 | 40 | public class WorldHandler_v1_21_R4 implements WorldHandler, Listener { 41 | 42 | @NotNull 43 | private final Supplier serviceSupplier; 44 | 45 | public WorldHandler_v1_21_R4(@NotNull final JavaPlugin javaPlugin, 46 | @NotNull final Supplier serviceSupplier) { 47 | Validate.notNull(serviceSupplier, "Service supplier can not be null"); 48 | Validate.notNull(javaPlugin, "JavaPlugin can not be null"); 49 | 50 | this.serviceSupplier = serviceSupplier; 51 | 52 | Bukkit.getPluginManager().registerEvents(this, javaPlugin); 53 | } 54 | 55 | @EventHandler(priority = EventPriority.HIGH) 56 | public void onWorldInit(final WorldInitEvent event) { 57 | event.getWorld().getPopulators().add(new CustomOrePopulator(event.getWorld(), serviceSupplier, this)); 58 | } 59 | } 60 | -------------------------------------------------------------------------------- /impl/v1_8_R1/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | custom-ore-generator-impl 7 | de.derfrzocker 8 | ${revision} 9 | 10 | 4.0.0 11 | 12 | custom-ore-generator-impl-v1_8_R1 13 | 14 | 15 | 16 | de.derfrzocker 17 | custom-ore-generator-api 18 | ${project.version} 19 | provided 20 | 21 | 22 | org.spigotmc 23 | spigot 24 | 1.8-R0.1-SNAPSHOT 25 | provided 26 | true 27 | 28 | 29 | de.derfrzocker 30 | custom-ore-generator-impl-abstract 31 | ${project.version} 32 | provided 33 | 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /impl/v1_8_R1/src/main/java/de/derfrzocker/custom/ore/generator/impl/v1_8_R1/ChunkAccessImpl.java: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2019 - 2020 Marvin (DerFrZocker) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | * 24 | */ 25 | 26 | package de.derfrzocker.custom.ore.generator.impl.v1_8_R1; 27 | 28 | import de.derfrzocker.custom.ore.generator.api.ChunkAccess; 29 | import net.minecraft.server.v1_8_R1.BlockPosition; 30 | import net.minecraft.server.v1_8_R1.WorldServer; 31 | import org.apache.commons.lang.Validate; 32 | import org.bukkit.Material; 33 | import org.bukkit.craftbukkit.v1_8_R1.util.CraftMagicNumbers; 34 | import org.jetbrains.annotations.NotNull; 35 | 36 | public class ChunkAccessImpl implements ChunkAccess { 37 | 38 | @NotNull 39 | private final WorldServer worldServer; 40 | 41 | public ChunkAccessImpl(@NotNull final WorldServer worldServer) { 42 | Validate.notNull(worldServer, "WorldServer can not be null"); 43 | 44 | this.worldServer = worldServer; 45 | } 46 | 47 | @Override 48 | public void setMaterial(@NotNull Material material, final int x, final int y, final int z) { 49 | worldServer.setTypeAndData(new BlockPosition(x, y, z), CraftMagicNumbers.getBlock(material).getBlockData(), 2); 50 | } 51 | 52 | @NotNull 53 | @Override 54 | public Material getMaterial(final int x, final int y, final int z) { 55 | return CraftMagicNumbers.getMaterial(worldServer.getType(new BlockPosition(x, y, z)).getBlock()); 56 | } 57 | 58 | @NotNull 59 | public WorldServer getWorldServer() { 60 | return worldServer; 61 | } 62 | } 63 | -------------------------------------------------------------------------------- /impl/v1_8_R2/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 4.0.0 6 | 7 | 8 | custom-ore-generator-impl 9 | de.derfrzocker 10 | ${revision} 11 | 12 | 13 | custom-ore-generator-impl-v1_8_R2 14 | 15 | 16 | 17 | de.derfrzocker 18 | custom-ore-generator-api 19 | ${project.version} 20 | provided 21 | 22 | 23 | org.spigotmc 24 | spigot 25 | 1.8.3-R0.1-SNAPSHOT 26 | provided 27 | true 28 | 29 | 30 | de.derfrzocker 31 | custom-ore-generator-impl-abstract 32 | ${project.version} 33 | provided 34 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /impl/v1_8_R2/src/main/java/de/derfrzocker/custom/ore/generator/impl/v1_8_R2/ChunkAccessImpl.java: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2019 - 2020 Marvin (DerFrZocker) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | * 24 | */ 25 | 26 | package de.derfrzocker.custom.ore.generator.impl.v1_8_R2; 27 | 28 | import de.derfrzocker.custom.ore.generator.api.ChunkAccess; 29 | import net.minecraft.server.v1_8_R2.BlockPosition; 30 | import net.minecraft.server.v1_8_R2.WorldServer; 31 | import org.apache.commons.lang.Validate; 32 | import org.bukkit.Material; 33 | import org.bukkit.craftbukkit.v1_8_R2.util.CraftMagicNumbers; 34 | import org.jetbrains.annotations.NotNull; 35 | 36 | public class ChunkAccessImpl implements ChunkAccess { 37 | 38 | @NotNull 39 | private final WorldServer worldServer; 40 | 41 | public ChunkAccessImpl(@NotNull final WorldServer worldServer) { 42 | Validate.notNull(worldServer, "WorldServer can not be null"); 43 | 44 | this.worldServer = worldServer; 45 | } 46 | 47 | @Override 48 | public void setMaterial(@NotNull Material material, final int x, final int y, final int z) { 49 | worldServer.setTypeAndData(new BlockPosition(x, y, z), CraftMagicNumbers.getBlock(material).getBlockData(), 2); 50 | } 51 | 52 | @NotNull 53 | @Override 54 | public Material getMaterial(final int x, final int y, final int z) { 55 | return CraftMagicNumbers.getMaterial(worldServer.getType(new BlockPosition(x, y, z)).getBlock()); 56 | } 57 | 58 | @NotNull 59 | public WorldServer getWorldServer() { 60 | return worldServer; 61 | } 62 | } 63 | -------------------------------------------------------------------------------- /impl/v1_8_R3/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 4.0.0 6 | 7 | 8 | custom-ore-generator-impl 9 | de.derfrzocker 10 | ${revision} 11 | 12 | 13 | custom-ore-generator-impl-v1_8_R3 14 | 15 | 16 | 17 | de.derfrzocker 18 | custom-ore-generator-api 19 | ${project.version} 20 | provided 21 | 22 | 23 | org.spigotmc 24 | spigot 25 | 1.8.8-R0.1-SNAPSHOT 26 | provided 27 | true 28 | 29 | 30 | de.derfrzocker 31 | custom-ore-generator-impl-abstract 32 | ${project.version} 33 | provided 34 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /impl/v1_8_R3/src/main/java/de/derfrzocker/custom/ore/generator/impl/v1_8_R3/ChunkAccessImpl.java: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2019 - 2020 Marvin (DerFrZocker) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | * 24 | */ 25 | 26 | package de.derfrzocker.custom.ore.generator.impl.v1_8_R3; 27 | 28 | import de.derfrzocker.custom.ore.generator.api.ChunkAccess; 29 | import net.minecraft.server.v1_8_R3.BlockPosition; 30 | import net.minecraft.server.v1_8_R3.WorldServer; 31 | import org.apache.commons.lang.Validate; 32 | import org.bukkit.Material; 33 | import org.bukkit.craftbukkit.v1_8_R3.util.CraftMagicNumbers; 34 | import org.jetbrains.annotations.NotNull; 35 | 36 | public class ChunkAccessImpl implements ChunkAccess { 37 | 38 | @NotNull 39 | private final WorldServer worldServer; 40 | 41 | public ChunkAccessImpl(@NotNull final WorldServer worldServer) { 42 | Validate.notNull(worldServer, "WorldServer can not be null"); 43 | 44 | this.worldServer = worldServer; 45 | } 46 | 47 | @Override 48 | public void setMaterial(@NotNull Material material, final int x, final int y, final int z) { 49 | worldServer.setTypeAndData(new BlockPosition(x, y, z), CraftMagicNumbers.getBlock(material).getBlockData(), 2); 50 | } 51 | 52 | @NotNull 53 | @Override 54 | public Material getMaterial(final int x, final int y, final int z) { 55 | return CraftMagicNumbers.getMaterial(worldServer.getType(new BlockPosition(x, y, z)).getBlock()); 56 | } 57 | 58 | @NotNull 59 | public WorldServer getWorldServer() { 60 | return worldServer; 61 | } 62 | } 63 | -------------------------------------------------------------------------------- /impl/v1_9_R1/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 4.0.0 6 | 7 | 8 | custom-ore-generator-impl 9 | de.derfrzocker 10 | ${revision} 11 | 12 | 13 | custom-ore-generator-impl-v1_9_R1 14 | 15 | 16 | 17 | de.derfrzocker 18 | custom-ore-generator-api 19 | ${project.version} 20 | provided 21 | 22 | 23 | org.spigotmc 24 | spigot 25 | 1.9-R0.1-SNAPSHOT 26 | provided 27 | true 28 | 29 | 30 | de.derfrzocker 31 | custom-ore-generator-impl-abstract 32 | ${project.version} 33 | provided 34 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /impl/v1_9_R1/src/main/java/de/derfrzocker/custom/ore/generator/impl/v1_9_R1/ChunkAccessImpl.java: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2019 - 2020 Marvin (DerFrZocker) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | * 24 | */ 25 | 26 | package de.derfrzocker.custom.ore.generator.impl.v1_9_R1; 27 | 28 | import de.derfrzocker.custom.ore.generator.api.ChunkAccess; 29 | import net.minecraft.server.v1_9_R1.BlockPosition; 30 | import net.minecraft.server.v1_9_R1.WorldServer; 31 | import org.apache.commons.lang.Validate; 32 | import org.bukkit.Material; 33 | import org.bukkit.craftbukkit.v1_9_R1.util.CraftMagicNumbers; 34 | import org.jetbrains.annotations.NotNull; 35 | 36 | public class ChunkAccessImpl implements ChunkAccess { 37 | 38 | @NotNull 39 | private final WorldServer worldServer; 40 | 41 | public ChunkAccessImpl(@NotNull final WorldServer worldServer) { 42 | Validate.notNull(worldServer, "WorldServer can not be null"); 43 | 44 | this.worldServer = worldServer; 45 | } 46 | 47 | @Override 48 | public void setMaterial(@NotNull Material material, final int x, final int y, final int z) { 49 | worldServer.setTypeAndData(new BlockPosition(x, y, z), CraftMagicNumbers.getBlock(material).getBlockData(), 2); 50 | } 51 | 52 | @NotNull 53 | @Override 54 | public Material getMaterial(final int x, final int y, final int z) { 55 | return CraftMagicNumbers.getMaterial(worldServer.getType(new BlockPosition(x, y, z)).getBlock()); 56 | } 57 | 58 | @NotNull 59 | public WorldServer getWorldServer() { 60 | return worldServer; 61 | } 62 | } 63 | -------------------------------------------------------------------------------- /impl/v1_9_R2/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 4.0.0 6 | 7 | 8 | custom-ore-generator-impl 9 | de.derfrzocker 10 | ${revision} 11 | 12 | 13 | custom-ore-generator-impl-v1_9_R2 14 | 15 | 16 | 17 | de.derfrzocker 18 | custom-ore-generator-api 19 | ${project.version} 20 | provided 21 | 22 | 23 | org.spigotmc 24 | spigot 25 | 1.9.4-R0.1-SNAPSHOT 26 | provided 27 | true 28 | 29 | 30 | de.derfrzocker 31 | custom-ore-generator-impl-abstract 32 | ${project.version} 33 | provided 34 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /impl/v1_9_R2/src/main/java/de/derfrzocker/custom/ore/generator/impl/v_1_9_R2/ChunkAccessImpl.java: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2019 - 2020 Marvin (DerFrZocker) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | * 24 | */ 25 | 26 | package de.derfrzocker.custom.ore.generator.impl.v_1_9_R2; 27 | 28 | import de.derfrzocker.custom.ore.generator.api.ChunkAccess; 29 | import net.minecraft.server.v1_9_R2.BlockPosition; 30 | import net.minecraft.server.v1_9_R2.WorldServer; 31 | import org.apache.commons.lang.Validate; 32 | import org.bukkit.Material; 33 | import org.bukkit.craftbukkit.v1_9_R2.util.CraftMagicNumbers; 34 | import org.jetbrains.annotations.NotNull; 35 | 36 | public class ChunkAccessImpl implements ChunkAccess { 37 | 38 | @NotNull 39 | private final WorldServer worldServer; 40 | 41 | public ChunkAccessImpl(@NotNull final WorldServer worldServer) { 42 | Validate.notNull(worldServer, "WorldServer can not be null"); 43 | 44 | this.worldServer = worldServer; 45 | } 46 | 47 | @Override 48 | public void setMaterial(@NotNull Material material, final int x, final int y, final int z) { 49 | worldServer.setTypeAndData(new BlockPosition(x, y, z), CraftMagicNumbers.getBlock(material).getBlockData(), 2); 50 | } 51 | 52 | @NotNull 53 | @Override 54 | public Material getMaterial(final int x, final int y, final int z) { 55 | return CraftMagicNumbers.getMaterial(worldServer.getType(new BlockPosition(x, y, z)).getBlock()); 56 | } 57 | 58 | @NotNull 59 | public WorldServer getWorldServer() { 60 | return worldServer; 61 | } 62 | } 63 | -------------------------------------------------------------------------------- /impl/yaml/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 4.0.0 6 | 7 | 8 | custom-ore-generator-impl 9 | de.derfrzocker 10 | ${revision} 11 | 12 | 13 | custom-ore-generator-impl-yaml 14 | 15 | 16 | 17 | de.derfrzocker 18 | custom-ore-generator-api 19 | ${project.version} 20 | provided 21 | 22 | 23 | org.spigotmc 24 | spigot-api 25 | 1.8-R0.1-SNAPSHOT 26 | provided 27 | true 28 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /impl/yaml/src/main/java/de/derfrzocker/custom/ore/generator/impl/DummyOreConfig.java: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2019 - 2020 Marvin (DerFrZocker) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | * 24 | */ 25 | 26 | package de.derfrzocker.custom.ore.generator.impl; 27 | 28 | import org.bukkit.Material; 29 | import org.jetbrains.annotations.NotNull; 30 | 31 | import java.util.Map; 32 | 33 | @Deprecated //TODO remove in newer versions 34 | public class DummyOreConfig extends OreConfigYamlImpl { 35 | 36 | DummyOreConfig(Material material, String oreGenerator, String blockSelector) { 37 | super("dummy_ore_config", material, oreGenerator, blockSelector); 38 | } 39 | 40 | @NotNull 41 | @Override 42 | public Map serialize() { 43 | throw new UnsupportedOperationException("Not supported"); 44 | } 45 | 46 | } 47 | -------------------------------------------------------------------------------- /impl/yaml/src/main/java/de/derfrzocker/custom/ore/generator/impl/dao/WorldConfigYamlDao_Old.java: -------------------------------------------------------------------------------- 1 | /* 2 | * MIT License 3 | * 4 | * Copyright (c) 2019 - 2020 Marvin (DerFrZocker) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | * 24 | */ 25 | 26 | package de.derfrzocker.custom.ore.generator.impl.dao; 27 | 28 | import de.derfrzocker.custom.ore.generator.api.WorldConfig; 29 | import de.derfrzocker.custom.ore.generator.api.dao.WorldConfigDao; 30 | import de.derfrzocker.spigot.utils.dao.yaml.BasicYamlDao; 31 | import org.apache.commons.lang.Validate; 32 | import org.jetbrains.annotations.NotNull; 33 | 34 | import java.io.File; 35 | import java.util.Optional; 36 | 37 | @Deprecated 38 | public class WorldConfigYamlDao_Old extends BasicYamlDao implements WorldConfigDao { 39 | 40 | public WorldConfigYamlDao_Old(File file) { 41 | super(file); 42 | } 43 | 44 | @Override 45 | public Optional get(@NotNull final String key) { 46 | Validate.notNull(key, "String key can not be null"); 47 | 48 | return getFromStringKey(key); 49 | } 50 | 51 | @Override 52 | public void remove(@NotNull final WorldConfig config) { 53 | throw new RuntimeException("Not supported"); 54 | } 55 | 56 | @Override 57 | public void save(@NotNull WorldConfig config) { 58 | throw new RuntimeException("Not supported"); 59 | } 60 | 61 | } 62 | -------------------------------------------------------------------------------- /impl/yaml/src/test/resources/OreConfigYamlImpl_NewFormat.yml: -------------------------------------------------------------------------------- 1 | ore-config: 2 | ==: CustomOreGenerator#OreConfig 3 | name: test 4 | material: EMERALD_BLOCK 5 | ore-generator: VANILLA_MINABLE_GENERATOR 6 | block-selector: COUNT_RANGE 7 | activated: true 8 | generated-all: false 9 | biomes: 10 | - FOREST 11 | - DEEP_WARM_OCEAN 12 | ore-settings: 13 | VEINS_PER_CHUNK: 15 14 | MINIMUM_HEIGHT: 10 15 | HEIGHT_RANGE: 20 16 | VEIN_SIZE: 5 17 | custom-data: 18 | '1': "Test_value_1" 19 | '2': "Test_value_2" 20 | '3': "Test_value_3" 21 | '4': "Test_value_4" 22 | ore-config_2: 23 | ==: CustomOreGenerator#OreConfig 24 | name: test2 25 | material: EMERALD_BLOCK 26 | ore-generator: VANILLA_MINABLE_GENERATOR_2 27 | block-selector: COUNT_RANGE_2 28 | activated: false 29 | generated-all: true 30 | ore-settings: 31 | VEINS_PER_CHUNK_: 15 32 | MINIMUM_HEIGHT_: 10 33 | HEIGHT_RANGE_: 20 34 | VEIN_SIZE_: 5 35 | custom-data: 36 | '1_2': "Test_value_1" 37 | '2_2': "Test_value_2" 38 | '3_2': "Test_value_3" 39 | '4_2': "Test_value_4" 40 | ore-config_3: 41 | ==: CustomOreGenerator#OreConfig 42 | name: test_3 43 | material: EMERALD_BLOCK 44 | ore-generator: vanilla_minable_generator 45 | activated: true 46 | generated-all: false 47 | biomes: 48 | - FOREST 49 | - DEEP_WARM_OCEAN 50 | ore-settings: 51 | VEINS_PER_CHUNK: 15 52 | MINIMUM_HEIGHT: 10 53 | HEIGHT_RANGE: 20 54 | VEIN_SIZE: 5 55 | custom-data: 56 | '1': "Test_value_1" 57 | '2': "Test_value_2" 58 | '3': "Test_value_3" 59 | '4': "Test_value_4" -------------------------------------------------------------------------------- /impl/yaml/src/test/resources/OreConfigYamlImpl_OldFormat.yml: -------------------------------------------------------------------------------- 1 | ore-config: 2 | ==: CustomOreGenerator#OreConfig 3 | material: EMERALD_ORE 4 | ore_generator: vanilla_minable_generator 5 | VEINS_PER_CHUNK: 15 6 | MINIMUM_HEIGHT: 10 7 | HEIGHT_RANGE: 20 8 | VEIN_SIZE: 5 -------------------------------------------------------------------------------- /plugin/oraxen/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 4.0.0 6 | 7 | 8 | custom-ore-generator-plugin 9 | de.derfrzocker 10 | ${revision} 11 | 12 | 13 | 14 | v1 15 | v2 16 | 17 | 18 | custom-ore-generator-plugin-oraxen 19 | pom 20 | 21 | -------------------------------------------------------------------------------- /plugin/oraxen/v1/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 4.0.0 6 | 7 | 8 | custom-ore-generator-plugin-oraxen 9 | de.derfrzocker 10 | ${revision} 11 | 12 | 13 | custom-ore-generator-plugin-oraxen-v1 14 | 15 | 16 | 17 | io.th0rgal 18 | oraxen 19 | ${Oraxen.version} 20 | dev 21 | provided 22 | 23 | 24 | * 25 | * 26 | 27 | 28 | 29 | 30 | de.derfrzocker 31 | custom-ore-generator-api 32 | ${project.version} 33 | provided 34 | 35 | 36 | org.spigotmc 37 | spigot-api 38 | 1.17.1-R0.1-SNAPSHOT 39 | provided 40 | true 41 | 42 | 43 | de.derfrzocker 44 | custom-ore-generator-impl-abstract 45 | ${project.version} 46 | provided 47 | 48 | 49 | 50 | -------------------------------------------------------------------------------- /plugin/oraxen/v2/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 4.0.0 6 | 7 | 8 | custom-ore-generator-plugin-oraxen 9 | de.derfrzocker 10 | ${revision} 11 | 12 | 13 | custom-ore-generator-plugin-oraxen-v2 14 | 15 | 16 | 17 | io.th0rgal 18 | oraxen 19 | ${Oraxen.version.v2} 20 | provided 21 | 22 | 23 | * 24 | * 25 | 26 | 27 | 28 | 29 | de.derfrzocker 30 | custom-ore-generator-api 31 | ${project.version} 32 | provided 33 | 34 | 35 | org.spigotmc 36 | spigot-api 37 | 1.18-R0.1-SNAPSHOT 38 | provided 39 | true 40 | 41 | 42 | de.derfrzocker 43 | custom-ore-generator-impl-abstract 44 | ${project.version} 45 | provided 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /plugin/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 4.0.0 6 | 7 | 8 | custom-ore-generator-parent 9 | de.derfrzocker 10 | ${revision} 11 | 12 | 13 | 14 | oraxen 15 | 16 | 17 | custom-ore-generator-plugin 18 | pom 19 | 20 | --------------------------------------------------------------------------------