slightly broken but very refactored. TODO: make the code that should run on the clientside run on the clientside
build / build (push) Has been cancelled

This commit is contained in:
2026-07-06 07:14:36 +01:00
parent d392be38c5
commit db1f6cc5ae
12 changed files with 348 additions and 133 deletions
@@ -1,11 +1,29 @@
package dev.zxq5.client
import dev.zxq5.ModItemTagProvider
import dev.zxq5.ModRecipeProvider
import dev.zxq5.items.ItemImplementation
import net.fabricmc.fabric.api.client.datagen.v1.provider.FabricModelProvider
import net.fabricmc.fabric.api.datagen.v1.DataGeneratorEntrypoint
import net.fabricmc.fabric.api.datagen.v1.FabricDataGenerator
import net.fabricmc.fabric.api.datagen.v1.FabricPackOutput
import net.minecraft.client.data.models.BlockModelGenerators
import net.minecraft.client.data.models.ItemModelGenerators
object FantasysmpDataGenerator : DataGeneratorEntrypoint {
override fun onInitializeDataGenerator(fabricDataGenerator: FabricDataGenerator) {
val pack = fabricDataGenerator.createPack()
pack.addProvider(::ModRecipeProvider) // main-safe, can live in either sourceSet
pack.addProvider(::ModItemTagProvider) // main-safe
pack.addProvider(::ModModelProvider) // needs client, since ItemModelGenerators is client-only
}
}
// client sourceSet
class ModModelProvider(output: FabricPackOutput) : FabricModelProvider(output) {
override fun generateBlockStateModels(blockModels: BlockModelGenerators) {}
override fun generateItemModels(itemModels: ItemModelGenerators) {
ItemImplementation.all.forEach { it.generateItemModels(itemModels) }
}
}