Non reflective armorWithTrims
This commit is contained in:
parent
6a06850f23
commit
8f983b73d6
@ -2,6 +2,7 @@ package ru.dbotthepony.mc.otm.datagen.items
|
|||||||
|
|
||||||
import net.minecraft.data.models.ItemModelGenerators
|
import net.minecraft.data.models.ItemModelGenerators
|
||||||
import net.minecraft.resources.ResourceLocation
|
import net.minecraft.resources.ResourceLocation
|
||||||
|
import net.minecraft.server.packs.PackType
|
||||||
import net.minecraft.world.item.ArmorItem
|
import net.minecraft.world.item.ArmorItem
|
||||||
import net.minecraft.world.item.Item
|
import net.minecraft.world.item.Item
|
||||||
import net.minecraftforge.client.model.generators.ItemModelProvider
|
import net.minecraftforge.client.model.generators.ItemModelProvider
|
||||||
@ -85,20 +86,13 @@ class MatteryItemModelProvider(event: GatherDataEvent) : ItemModelProvider(event
|
|||||||
val mainModel = withExistingParent(item.registryName!!.path, GENERATED).texture("layer0", texture)
|
val mainModel = withExistingParent(item.registryName!!.path, GENERATED).texture("layer0", texture)
|
||||||
|
|
||||||
if (item is ArmorItem) {
|
if (item is ArmorItem) {
|
||||||
for (i in 0 until ARMOR_TRIM_MATERIALS.size) {
|
for ((i, material) in ARMOR_TRIM_MATERIALS.withIndex()) {
|
||||||
val material = ARMOR_TRIM_MATERIALS[i]
|
val trimLocation = ResourceLocation("trims/items/${item.type.getName()}_trim_${material}")
|
||||||
|
existingFileHelper.trackGenerated(trimLocation, PackType.CLIENT_RESOURCES, ".png", "textures")
|
||||||
|
|
||||||
val overrideModel = withExistingParent("${item.registryName!!.path}_${material}_trim", GENERATED)
|
val overrideModel = withExistingParent("${item.registryName!!.path}_${material}_trim", GENERATED)
|
||||||
.texture("layer0", texture)
|
.texture("layer0", texture)
|
||||||
// .texture("layer1", mcLoc("trims/items/${item.type.getName()}_trim_${material}"))
|
.texture("layer1", trimLocation)
|
||||||
|
|
||||||
// спасибо за проверку наличия файлов КОТОРЫЕ ГЕНЕРИРУЮТСЯ В РАНТАЙМЕ И В ДАТАГЕНЕ НЕ СУЩЕСТВУЮТ
|
|
||||||
val texturesField = ModelBuilder::class.java.getDeclaredField("textures")
|
|
||||||
texturesField.trySetAccessible()
|
|
||||||
|
|
||||||
// произошёл троллинг
|
|
||||||
val textures = texturesField.get(overrideModel) as LinkedHashMap<String, String>
|
|
||||||
textures["layer1"] = "minecraft:trims/items/${item.type.getName()}_trim_${material}"
|
|
||||||
|
|
||||||
mainModel.override()
|
mainModel.override()
|
||||||
.predicate(ItemModelGenerators.TRIM_TYPE_PREDICATE_ID, (i + 1).toFloat() / ARMOR_TRIM_MATERIALS.size.toFloat())
|
.predicate(ItemModelGenerators.TRIM_TYPE_PREDICATE_ID, (i + 1).toFloat() / ARMOR_TRIM_MATERIALS.size.toFloat())
|
||||||
@ -106,7 +100,6 @@ class MatteryItemModelProvider(event: GatherDataEvent) : ItemModelProvider(event
|
|||||||
.end()
|
.end()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fun armorWithTrims(vararg items: Item) = items.forEach { armorWithTrims(it, modLocation("item/${it.registryName!!.path}")) }
|
fun armorWithTrims(vararg items: Item) = items.forEach { armorWithTrims(it, modLocation("item/${it.registryName!!.path}")) }
|
||||||
|
Loading…
Reference in New Issue
Block a user