Simple block model provider
This commit is contained in:
parent
de16544f48
commit
24d673b5ac
@ -1,5 +1,8 @@
|
|||||||
package ru.dbotthepony.mc.otm.datagen
|
package ru.dbotthepony.mc.otm.datagen
|
||||||
|
|
||||||
|
import net.minecraft.resources.ResourceLocation
|
||||||
|
import net.minecraft.world.level.block.Block
|
||||||
|
import net.minecraftforge.client.model.generators.BlockModelProvider
|
||||||
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.forge.event.lifecycle.GatherDataEvent
|
import net.minecraftforge.forge.event.lifecycle.GatherDataEvent
|
||||||
@ -7,24 +10,39 @@ import ru.dbotthepony.mc.otm.OverdriveThatMatters
|
|||||||
import ru.dbotthepony.mc.otm.Registry
|
import ru.dbotthepony.mc.otm.Registry
|
||||||
import ru.dbotthepony.mc.otm.datagen.blocks.BatteryBankProvider
|
import ru.dbotthepony.mc.otm.datagen.blocks.BatteryBankProvider
|
||||||
import ru.dbotthepony.mc.otm.datagen.blocks.MatterBankProvider
|
import ru.dbotthepony.mc.otm.datagen.blocks.MatterBankProvider
|
||||||
|
import ru.dbotthepony.mc.otm.datagen.blocks.SimpleBlockProvider
|
||||||
import ru.dbotthepony.mc.otm.datagen.blocks.SimpleBlockStateProvider
|
import ru.dbotthepony.mc.otm.datagen.blocks.SimpleBlockStateProvider
|
||||||
|
|
||||||
@Mod.EventBusSubscriber(modid = DataGen.MOD_ID, bus = Mod.EventBusSubscriber.Bus.MOD)
|
@Mod.EventBusSubscriber(modid = DataGen.MOD_ID, bus = Mod.EventBusSubscriber.Bus.MOD)
|
||||||
object DataGen {
|
object DataGen {
|
||||||
const val MOD_ID = OverdriveThatMatters.MOD_ID
|
const val MOD_ID = OverdriveThatMatters.MOD_ID
|
||||||
|
|
||||||
|
private lateinit var blockModelProvider: SimpleBlockProvider
|
||||||
|
private lateinit var blockStateProvider: SimpleBlockStateProvider
|
||||||
|
|
||||||
|
private fun decorativeCubeAll(vararg blocks: Block) {
|
||||||
|
blockModelProvider.decorativeCubeAll(*blocks)
|
||||||
|
blockStateProvider.addBlock(*blocks)
|
||||||
|
}
|
||||||
|
|
||||||
@SubscribeEvent
|
@SubscribeEvent
|
||||||
@JvmStatic
|
@JvmStatic
|
||||||
@Suppress("unused")
|
@Suppress("unused")
|
||||||
fun onGatherData(event: GatherDataEvent) {
|
fun onGatherData(event: GatherDataEvent) {
|
||||||
|
blockModelProvider = SimpleBlockProvider(event)
|
||||||
|
blockStateProvider = SimpleBlockStateProvider(event)
|
||||||
|
|
||||||
|
event.generator.addProvider(blockModelProvider)
|
||||||
|
event.generator.addProvider(blockStateProvider)
|
||||||
|
|
||||||
|
decorativeCubeAll(*Registry.Blocks.CRATES)
|
||||||
|
decorativeCubeAll(Registry.Blocks.CARBON_FIBRE_BLOCK)
|
||||||
|
decorativeCubeAll(Registry.Blocks.TRITANIUM_BLOCK)
|
||||||
|
decorativeCubeAll(Registry.Blocks.TRITANIUM_STRIPED_BLOCK)
|
||||||
|
|
||||||
|
blockStateProvider.addBlock(Registry.Blocks.BLACK_HOLE)
|
||||||
|
|
||||||
event.generator.addProvider(MatterBankProvider(event))
|
event.generator.addProvider(MatterBankProvider(event))
|
||||||
event.generator.addProvider(BatteryBankProvider(event))
|
event.generator.addProvider(BatteryBankProvider(event))
|
||||||
|
|
||||||
event.generator.addProvider(with(SimpleBlockStateProvider(event)) {
|
|
||||||
addBlock(*Registry.Blocks.CRATES)
|
|
||||||
return@with this
|
|
||||||
})
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,25 @@
|
|||||||
|
package ru.dbotthepony.mc.otm.datagen.blocks
|
||||||
|
|
||||||
|
import net.minecraft.resources.ResourceLocation
|
||||||
|
import net.minecraft.world.level.block.Block
|
||||||
|
import net.minecraftforge.client.model.generators.BlockModelProvider
|
||||||
|
import net.minecraftforge.forge.event.lifecycle.GatherDataEvent
|
||||||
|
import ru.dbotthepony.mc.otm.datagen.DataGen
|
||||||
|
|
||||||
|
private data class CubeAllEntry(val path: String, val texture: ResourceLocation)
|
||||||
|
|
||||||
|
class SimpleBlockProvider(event: GatherDataEvent) : BlockModelProvider(event.generator, DataGen.MOD_ID, event.existingFileHelper) {
|
||||||
|
private val cubeAll = ArrayList<CubeAllEntry>()
|
||||||
|
|
||||||
|
override fun registerModels() {
|
||||||
|
for ((path, texture) in cubeAll) {
|
||||||
|
cubeAll(path, texture)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fun decorativeCubeAll(vararg blocks: Block) {
|
||||||
|
for (it in blocks) {
|
||||||
|
cubeAll.add(CubeAllEntry(it.registryName!!.path, ResourceLocation("overdrive_that_matters:block/decorative/${it.registryName!!.path}")))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user