From f726a9b6d56f37b327f0a1062162395cd9a83b4f Mon Sep 17 00:00:00 2001 From: DBotThePony Date: Thu, 13 Jan 2022 17:18:52 +0700 Subject: [PATCH] Handheld models --- .../ru/dbotthepony/mc/otm/datagen/DataGen.kt | 2 +- .../datagen/items/MatteryItemModelProvider.kt | 27 ++++++++++++++----- 2 files changed, 21 insertions(+), 8 deletions(-) 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 3cf649341..9115502a5 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/DataGen.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/DataGen.kt @@ -144,7 +144,7 @@ object DataGen { component(Items.TRITANIUM_INGOT) resource(Items.TRITANIUM_ORE_CLUMP) - generated(*Items.TRITANIUM_TOOLS) + handheld(*Items.TRITANIUM_TOOLS) generatedTiered(Items.BATTERIES, "battery_tier") generated(Items.BATTERY_CREATIVE) diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/items/MatteryItemModelProvider.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/items/MatteryItemModelProvider.kt index 41130e4bf..ec5e8178d 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/items/MatteryItemModelProvider.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/items/MatteryItemModelProvider.kt @@ -6,33 +6,45 @@ import net.minecraftforge.client.model.generators.ItemModelProvider import net.minecraftforge.forge.event.lifecycle.GatherDataEvent import ru.dbotthepony.mc.otm.datagen.DataGen -private data class ItemModelGenerated(val item: String, val path: ResourceLocation) -private data class ItemModelDelegate(val item: String, val path: ResourceLocation) +private data class SimpleItemModel(val item: String, val path: ResourceLocation) class MatteryItemModelProvider(event: GatherDataEvent) : ItemModelProvider(event.generator, DataGen.MOD_ID, event.existingFileHelper) { - private val generated = ArrayList() - private val delegates = ArrayList() + private val generated = ArrayList() + private val handheld = ArrayList() + private val delegates = ArrayList() override fun registerModels() { for ((item, path) in generated) { withExistingParent(item, GENERATED).texture("layer0", path) } + for ((item, path) in handheld) { + withExistingParent(item, HANDHELD).texture("layer0", path) + } + for ((item, path) in delegates) { withExistingParent(item, path) } } - fun block(item: Item) = delegates.add(ItemModelDelegate(item.registryName!!.path, ResourceLocation(DataGen.MOD_ID, "block/${item.registryName!!.path}"))) - fun block(item: Item, path: String) = delegates.add(ItemModelDelegate(item.registryName!!.path, ResourceLocation(DataGen.MOD_ID, "block/$path"))) + fun block(item: Item) = delegates.add(SimpleItemModel(item.registryName!!.path, ResourceLocation(DataGen.MOD_ID, "block/${item.registryName!!.path}"))) + fun block(item: Item, path: String) = delegates.add(SimpleItemModel(item.registryName!!.path, ResourceLocation(DataGen.MOD_ID, "block/$path"))) fun blocks(vararg items: Item) = items.forEach(this::block) fun generated(item: Item, texture: ResourceLocation) { - generated.add(ItemModelGenerated(item.registryName!!.path, texture)) + generated.add(SimpleItemModel(item.registryName!!.path, texture)) + } + + fun handheld(item: Item, texture: ResourceLocation) { + handheld.add(SimpleItemModel(item.registryName!!.path, texture)) } fun generated(vararg items: Item) = items.forEach { generated(it, ResourceLocation(DataGen.MOD_ID, "item/${it.registryName!!.path}")) } + fun handheld(vararg items: Item) = items.forEach { handheld(it, ResourceLocation(DataGen.MOD_ID, "item/${it.registryName!!.path}")) } + fun generated(item: Item, prefix: String) = generated(item, ResourceLocation(DataGen.MOD_ID, "item/${prefix}${item.registryName!!.path}")) + fun handheld(item: Item, prefix: String) = handheld(item, ResourceLocation(DataGen.MOD_ID, "item/${prefix}${item.registryName!!.path}")) + fun component(item: Item) = generated(item, "component/") fun components(vararg items: Item) = items.forEach(this::component) fun resource(item: Item) = generated(item, "resources/") @@ -49,5 +61,6 @@ class MatteryItemModelProvider(event: GatherDataEvent) : ItemModelProvider(event companion object { private val GENERATED = ResourceLocation("minecraft", "item/generated") + private val HANDHELD = ResourceLocation("minecraft", "item/handheld") } }