помогите

This commit is contained in:
YuRaNnNzZZ 2023-04-26 06:40:17 +03:00
parent 7e9d5ddbf8
commit 8661d95bdb
Signed by: YuRaNnNzZZ
GPG Key ID: 5F71738C85A6006D
4 changed files with 18 additions and 24 deletions

View File

@ -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<DamageType>) {
fun registerDamageTypes(context: BootstapContext<DamageType>) {
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<DamageType>) {
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<DamageType>) {
val ignoreArmor = provider.Appender(DamageTypeTags.BYPASSES_ARMOR)
val ignoreMagic = provider.Appender(DamageTypeTags.BYPASSES_ENCHANTMENTS)

View File

@ -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)

View File

@ -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<ConfiguredFeature<*, *>>) {
fun registerConfiguredFeatures(context: BootstapContext<ConfiguredFeature<*, *>>) {
val stone = TagMatchTest(BlockTags.STONE_ORE_REPLACEABLES)
val deepslate = TagMatchTest(BlockTags.DEEPSLATE_ORE_REPLACEABLES)
@ -32,7 +32,7 @@ private fun configuredFeatures(context: BootstapContext<ConfiguredFeature<*, *>>
context.register(oreKey, ConfiguredFeature(Feature.ORE, OreConfiguration(target, 9)))
}
private fun placedFeatures(context: BootstapContext<PlacedFeature>) {
fun registerPlacedFeatures(context: BootstapContext<PlacedFeature>) {
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<PlacedFeature>) {
)
))
}
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)))
}

View File

@ -59,20 +59,20 @@ class TagsProvider(private val event: GatherDataEvent) {
}
fun add(value: ResourceKey<T>): 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<T>): 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