Update datagen code to latest forge changes
This commit is contained in:
parent
a87f42c866
commit
299ca05029
@ -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 {
|
||||||
|
@ -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")
|
||||||
|
@ -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)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -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
|
||||||
|
@ -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 {
|
||||||
|
@ -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 {
|
||||||
|
@ -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() {}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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) {
|
||||||
|
@ -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 ->
|
||||||
|
@ -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)
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user