From 8661d95bdb8dde074c784fcb901094c413784288 Mon Sep 17 00:00:00 2001 From: YuRaNnNzZZ Date: Wed, 26 Apr 2023 06:40:17 +0300 Subject: [PATCH] =?UTF-8?q?=D0=BF=D0=BE=D0=BC=D0=BE=D0=B3=D0=B8=D1=82?= =?UTF-8?q?=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ru/dbotthepony/mc/otm/datagen/DamageTypes.kt | 9 +-------- .../kotlin/ru/dbotthepony/mc/otm/datagen/DataGen.kt | 13 +++++++++++-- .../kotlin/ru/dbotthepony/mc/otm/datagen/OreGen.kt | 12 ++---------- .../dbotthepony/mc/otm/datagen/tags/TagsProvider.kt | 8 ++++---- 4 files changed, 18 insertions(+), 24 deletions(-) diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/DamageTypes.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/DamageTypes.kt index 8411480d5..40bcca1c9 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/DamageTypes.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/DamageTypes.kt @@ -11,7 +11,7 @@ import net.minecraftforge.data.event.GatherDataEvent import ru.dbotthepony.mc.otm.datagen.tags.TagsProvider import ru.dbotthepony.mc.otm.registry.MDamageTypes -private fun damageTypes(context: BootstapContext) { +fun registerDamageTypes(context: BootstapContext) { context.register(MDamageTypes.EXOPACK_PROBE, DamageType("otm_exopack_probe", DamageScaling.NEVER, 4.0f)) context.register(MDamageTypes.BECOME_ANDROID, DamageType("otm_become_android", DamageScaling.NEVER, 0f)) context.register(MDamageTypes.BECOME_HUMANE, DamageType("otm_become_humane", DamageScaling.NEVER, 0f)) @@ -25,13 +25,6 @@ private fun damageTypes(context: BootstapContext) { context.register(MDamageTypes.HAMMER_NAIL, DamageType("otm_hammer_nail", DamageScaling.NEVER, 0.1f)) } -fun registerDamageTypes(event: GatherDataEvent) { - val set = RegistrySetBuilder() - .add(Registries.DAMAGE_TYPE, ::damageTypes) - - event.generator.addProvider(event.includeServer(), DatapackBuiltinEntriesProvider(event.generator.packOutput, event.lookupProvider, set, setOf(DataGen.MOD_ID))) -} - fun registerDamageTypeTags(provider: TagsProvider.Delegate) { val ignoreArmor = provider.Appender(DamageTypeTags.BYPASSES_ARMOR) val ignoreMagic = provider.Appender(DamageTypeTags.BYPASSES_ENCHANTMENTS) diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/DataGen.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/DataGen.kt index 0a50c2278..0be49080a 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/DataGen.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/DataGen.kt @@ -1,5 +1,7 @@ package ru.dbotthepony.mc.otm.datagen +import net.minecraft.core.RegistrySetBuilder +import net.minecraft.core.registries.Registries import net.minecraft.resources.ResourceLocation import net.minecraft.world.item.DyeColor import net.minecraft.world.level.block.Block @@ -13,6 +15,7 @@ import net.minecraft.world.level.block.state.properties.DoorHingeSide import net.minecraft.world.level.block.state.properties.DoubleBlockHalf import net.minecraft.world.level.block.state.properties.Half import net.minecraftforge.client.model.generators.ModelFile +import net.minecraftforge.common.data.DatapackBuiltinEntriesProvider import net.minecraftforge.common.data.ForgeAdvancementProvider import net.minecraftforge.eventbus.api.SubscribeEvent import net.minecraftforge.fml.common.Mod @@ -524,8 +527,14 @@ object DataGen { event.generator.addProvider(event.includeServer(), advancementProvider) event.generator.addProvider(event.includeServer(), matterData) - registerOreGen(event) - registerDamageTypes(event) + val registrySetBuilder = RegistrySetBuilder() + val set = registrySetBuilder + .add(Registries.DAMAGE_TYPE, ::registerDamageTypes) + .add(Registries.CONFIGURED_FEATURE, ::registerConfiguredFeatures) + .add(Registries.PLACED_FEATURE, ::registerPlacedFeatures) + + event.generator.addProvider(event.includeServer(), DatapackBuiltinEntriesProvider(event.generator.packOutput, event.lookupProvider, set, setOf(MOD_ID))) + registerDamageTypeTags(tagsProvider.damageTypes) AddEnglishLanguage(languageProvider) diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/OreGen.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/OreGen.kt index a52d3dbb6..2e7de16ef 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/OreGen.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/OreGen.kt @@ -20,7 +20,7 @@ import ru.dbotthepony.mc.otm.registry.MBlocks private val oreKey by lazy { ResourceKey.create(Registries.CONFIGURED_FEATURE, modLocation("tritanium_ore")) } -private fun configuredFeatures(context: BootstapContext>) { +fun registerConfiguredFeatures(context: BootstapContext>) { val stone = TagMatchTest(BlockTags.STONE_ORE_REPLACEABLES) val deepslate = TagMatchTest(BlockTags.DEEPSLATE_ORE_REPLACEABLES) @@ -32,7 +32,7 @@ private fun configuredFeatures(context: BootstapContext> context.register(oreKey, ConfiguredFeature(Feature.ORE, OreConfiguration(target, 9))) } -private fun placedFeatures(context: BootstapContext) { +fun registerPlacedFeatures(context: BootstapContext) { fun location(name: String) = ResourceKey.create(Registries.PLACED_FEATURE, modLocation(name)) val configured = context.lookup(Registries.CONFIGURED_FEATURE) @@ -56,11 +56,3 @@ private fun placedFeatures(context: BootstapContext) { ) )) } - -fun registerOreGen(event: GatherDataEvent) { - val set = RegistrySetBuilder() - .add(Registries.CONFIGURED_FEATURE, ::configuredFeatures) - .add(Registries.PLACED_FEATURE, ::placedFeatures) - - event.generator.addProvider(event.includeServer(), DatapackBuiltinEntriesProvider(event.generator.packOutput, event.lookupProvider, set, setOf(DataGen.MOD_ID))) -} diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/tags/TagsProvider.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/tags/TagsProvider.kt index 370522b10..a6f5ad5f6 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/tags/TagsProvider.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/tags/TagsProvider.kt @@ -59,20 +59,20 @@ class TagsProvider(private val event: GatherDataEvent) { } fun add(value: ResourceKey): Appender { - require(value.registry() == registryKey) { "Invalid registry in provided ResourceKey: ${value.registry()} (this tag appender is for $registryKey)" } + require(value.registry() == registryKey.location()) { "Invalid registry in provided ResourceKey: ${value.registry()} (this tag appender is for $registryKey)" } if (!rigidLocations.add(value)) { - throw IllegalStateException("Tag $tag of registry $registryKey already contains $value") + throw IllegalStateException("Tag $tag of registry ${registryKey.location()} already contains $value") } return this } fun add(value: TagKey): Appender { - require(value.registry() == registryKey) { "Invalid registry in provided ResourceKey: ${value.registry()} (this tag appender is for $registryKey)" } + require(value.registry() == registryKey.location()) { "Invalid registry in provided ResourceKey: ${value.registry()} (this tag appender is for $registryKey)" } if (!tagsInTags.add(value)) { - throw IllegalStateException("Tag $tag of registry $registryKey already contains $value") + throw IllegalStateException("Tag $tag of registry ${registryKey.location()} already contains $value") } return this