Update datagen code to latest forge changes

This commit is contained in:
DBotThePony 2023-01-13 19:13:03 +07:00
parent a87f42c866
commit 299ca05029
Signed by: DBot
GPG Key ID: DCC23B5715498507
10 changed files with 16 additions and 44 deletions

View File

@ -13,6 +13,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.DoubleBlockHalf
import net.minecraft.world.level.block.state.properties.Half import net.minecraft.world.level.block.state.properties.Half
import net.minecraftforge.client.model.generators.ModelFile import net.minecraftforge.client.model.generators.ModelFile
import net.minecraftforge.common.data.ForgeAdvancementProvider
import net.minecraftforge.eventbus.api.SubscribeEvent import net.minecraftforge.eventbus.api.SubscribeEvent
import net.minecraftforge.fml.common.Mod import net.minecraftforge.fml.common.Mod
import net.minecraftforge.data.event.GatherDataEvent import net.minecraftforge.data.event.GatherDataEvent
@ -29,7 +30,6 @@ import ru.dbotthepony.mc.otm.datagen.models.MatteryBlockModelProvider
import ru.dbotthepony.mc.otm.datagen.recipes.MatteryRecipeProvider import ru.dbotthepony.mc.otm.datagen.recipes.MatteryRecipeProvider
import ru.dbotthepony.mc.otm.registry.* import ru.dbotthepony.mc.otm.registry.*
import ru.dbotthepony.mc.otm.core.registryName import ru.dbotthepony.mc.otm.core.registryName
import ru.dbotthepony.mc.otm.datagen.advancements.AdvancementProvider
import ru.dbotthepony.mc.otm.datagen.advancements.addAdvancements import ru.dbotthepony.mc.otm.datagen.advancements.addAdvancements
import ru.dbotthepony.mc.otm.datagen.advancements.addAndroidAdvancements import ru.dbotthepony.mc.otm.datagen.advancements.addAndroidAdvancements
import ru.dbotthepony.mc.otm.datagen.advancements.addMachineAdvancements import ru.dbotthepony.mc.otm.datagen.advancements.addMachineAdvancements
@ -419,7 +419,13 @@ object DataGen {
this.matterData = matterData this.matterData = matterData
val tagsProvider = TagsProvider(event) val tagsProvider = TagsProvider(event)
val advancementProvider = AdvancementProvider(event) val advancementProvider = object : ForgeAdvancementProvider(event.generator.packOutput, event.lookupProvider, event.existingFileHelper, listOf(
AdvancementGenerator { registries, saver, existingFileHelper ->
addAdvancements(saver, existingFileHelper, languageProvider)
addAndroidAdvancements(saver, existingFileHelper, languageProvider)
addMachineAdvancements(saver, existingFileHelper, languageProvider)
}
)) {}
addTags(tagsProvider) addTags(tagsProvider)
@ -464,12 +470,6 @@ object DataGen {
addOreSmeltingRecipes(consumer) addOreSmeltingRecipes(consumer)
} }
advancementProvider.exec { it, files ->
addAdvancements(it, files, languageProvider)
addAndroidAdvancements(it, files, languageProvider)
addMachineAdvancements(it, files, languageProvider)
}
addPlatePressRecipes(recipeProvider) addPlatePressRecipes(recipeProvider)
lootModifier.lambda { lootModifier.lambda {

View File

@ -11,7 +11,7 @@ fun SoundDefinition.subtitle(value: SoundEvent): SoundDefinition {
return subtitle("otm.sound." + value.location.path) return subtitle("otm.sound." + value.location.path)
} }
class SoundDataProvider(event: GatherDataEvent) : SoundDefinitionsProvider(event.generator, DataGen.MOD_ID, event.existingFileHelper) { class SoundDataProvider(event: GatherDataEvent) : SoundDefinitionsProvider(event.generator.packOutput, DataGen.MOD_ID, event.existingFileHelper) {
override fun registerSounds() { override fun registerSounds() {
add(MSoundEvents.PLASMA_WEAPON_OVERHEAT, add(MSoundEvents.PLASMA_WEAPON_OVERHEAT,
definition().subtitle("otm.sound.plasma_weapon_overheat") definition().subtitle("otm.sound.plasma_weapon_overheat")

View File

@ -1,28 +0,0 @@
package ru.dbotthepony.mc.otm.datagen.advancements
import net.minecraft.advancements.Advancement
import net.minecraft.core.HolderLookup
import net.minecraftforge.common.data.ExistingFileHelper
import net.minecraftforge.data.event.GatherDataEvent
import java.util.LinkedList
import java.util.function.Consumer
class AdvancementProvider(event: GatherDataEvent) : net.minecraft.data.advancements.AdvancementProvider(event.generator.packOutput, event.lookupProvider, listOf(), event.existingFileHelper) {
private val callbacks = LinkedList<(Consumer<Advancement>, ExistingFileHelper) -> Unit>()
fun exec(callback: (Consumer<Advancement>, ExistingFileHelper) -> Unit) {
callbacks.add(callback)
}
fun exec(callback: (Consumer<Advancement>) -> Unit) {
callbacks.add { it, _ ->
callback.invoke(it)
}
}
override fun registerAdvancements(registries: HolderLookup.Provider, consumer: Consumer<Advancement>, fileHelper: ExistingFileHelper) {
for (callback in callbacks) {
callback.invoke(consumer, fileHelper)
}
}
}

View File

@ -17,7 +17,7 @@ private fun nothingOrNumber(input: Int): String {
return (input - 1).toString() return (input - 1).toString()
} }
open class BatteryBankProvider(event: GatherDataEvent) : BlockStateProvider(event.generator, DataGen.MOD_ID, event.existingFileHelper) { open class BatteryBankProvider(event: GatherDataEvent) : BlockStateProvider(event.generator.packOutput, DataGen.MOD_ID, event.existingFileHelper) {
protected var block = "battery_bank" protected var block = "battery_bank"
protected var batteryPath = "block/battery/battery" protected var batteryPath = "block/battery/battery"
protected var registry: Block = MBlocks.BATTERY_BANK protected var registry: Block = MBlocks.BATTERY_BANK

View File

@ -41,7 +41,7 @@ private fun initialTransform(it: BlockState, modelPath: String, builder: Configu
return modelPath return modelPath
} }
class MatteryBlockStateProvider(event: GatherDataEvent) : BlockStateProvider(event.generator, DataGen.MOD_ID, event.existingFileHelper) { class MatteryBlockStateProvider(event: GatherDataEvent) : BlockStateProvider(event.generator.packOutput, DataGen.MOD_ID, event.existingFileHelper) {
private val callbacks = LinkedList<() -> Unit>() private val callbacks = LinkedList<() -> Unit>()
fun exec(lambda: () -> Unit): MatteryBlockStateProvider { fun exec(lambda: () -> Unit): MatteryBlockStateProvider {

View File

@ -9,7 +9,7 @@ import ru.dbotthepony.mc.otm.datagen.DataGen
import ru.dbotthepony.mc.otm.core.registryName import ru.dbotthepony.mc.otm.core.registryName
import java.util.LinkedList import java.util.LinkedList
class MatteryItemModelProvider(event: GatherDataEvent) : ItemModelProvider(event.generator, DataGen.MOD_ID, event.existingFileHelper) { class MatteryItemModelProvider(event: GatherDataEvent) : ItemModelProvider(event.generator.packOutput, DataGen.MOD_ID, event.existingFileHelper) {
private val callbacks = LinkedList<() -> Unit>() private val callbacks = LinkedList<() -> Unit>()
fun exec(func: () -> Unit): MatteryItemModelProvider { fun exec(func: () -> Unit): MatteryItemModelProvider {

View File

@ -35,7 +35,7 @@ private fun researchString(key: AndroidResearchType): String {
} }
class MatteryLanguageProvider(private val gen: DataGenerator) { class MatteryLanguageProvider(private val gen: DataGenerator) {
private inner class Slave(language: String) : LanguageProvider(gen, OverdriveThatMatters.MOD_ID, language) { private inner class Slave(language: String) : LanguageProvider(gen.packOutput, OverdriveThatMatters.MOD_ID, language) {
override fun addTranslations() {} override fun addTranslations() {}
} }

View File

@ -51,7 +51,7 @@ fun PlainLootAppender(
vararg items: Pair<ItemStack, Double> vararg items: Pair<ItemStack, Double>
) = PlainLootAppender(conditions, Arrays.stream(items)) ) = PlainLootAppender(conditions, Arrays.stream(items))
class LootModifiers(generator: DataGenerator) : GlobalLootModifierProvider(generator, DataGen.MOD_ID) { class LootModifiers(generator: DataGenerator) : GlobalLootModifierProvider(generator.packOutput, DataGen.MOD_ID) {
private val lambdas = ArrayList<(LootModifiers) -> Unit>() private val lambdas = ArrayList<(LootModifiers) -> Unit>()
fun lambda(lambda: (LootModifiers) -> Unit) { fun lambda(lambda: (LootModifiers) -> Unit) {

View File

@ -145,7 +145,7 @@ class MatteryModelBuilder(resourceLocation: ResourceLocation, existingFileHelper
} }
(v["emissivity"] as? JsonPrimitive)?.asInt?.also { emissivity -> (v["emissivity"] as? JsonPrimitive)?.asInt?.also { emissivity ->
emissivity(emissivity) emissivity(emissivity, 0)
} }
(v["ao"] as? JsonPrimitive)?.asBoolean?.also { ao -> (v["ao"] as? JsonPrimitive)?.asBoolean?.also { ao ->

View File

@ -14,7 +14,7 @@ import java.util.LinkedList
private typealias Callback = (MatteryModelProvider) -> Unit private typealias Callback = (MatteryModelProvider) -> Unit
sealed class MatteryModelProvider(event: GatherDataEvent, folder: String) : ModelProvider<MatteryModelBuilder>(event.generator, DataGen.MOD_ID, folder, ::MatteryModelBuilder, event.existingFileHelper) { sealed class MatteryModelProvider(event: GatherDataEvent, folder: String) : ModelProvider<MatteryModelBuilder>(event.generator.packOutput, DataGen.MOD_ID, folder, ::MatteryModelBuilder, event.existingFileHelper) {
private fun extendWithFolder(rl: ResourceLocation): ResourceLocation { private fun extendWithFolder(rl: ResourceLocation): ResourceLocation {
return if (rl.path.contains("/")) rl else ResourceLocation(rl.namespace, folder + "/" + rl.path) return if (rl.path.contains("/")) rl else ResourceLocation(rl.namespace, folder + "/" + rl.path)
} }