Crate blockstate provider
This commit is contained in:
parent
a5b0091522
commit
de16544f48
@ -4,8 +4,10 @@ import net.minecraftforge.eventbus.api.SubscribeEvent
|
||||
import net.minecraftforge.fml.common.Mod
|
||||
import net.minecraftforge.forge.event.lifecycle.GatherDataEvent
|
||||
import ru.dbotthepony.mc.otm.OverdriveThatMatters
|
||||
import ru.dbotthepony.mc.otm.Registry
|
||||
import ru.dbotthepony.mc.otm.datagen.blocks.BatteryBankProvider
|
||||
import ru.dbotthepony.mc.otm.datagen.blocks.MatterBankProvider
|
||||
import ru.dbotthepony.mc.otm.datagen.blocks.SimpleBlockStateProvider
|
||||
|
||||
@Mod.EventBusSubscriber(modid = DataGen.MOD_ID, bus = Mod.EventBusSubscriber.Bus.MOD)
|
||||
object DataGen {
|
||||
@ -17,5 +19,12 @@ object DataGen {
|
||||
fun onGatherData(event: GatherDataEvent) {
|
||||
event.generator.addProvider(MatterBankProvider(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.BlockStateProvider
|
||||
import net.minecraftforge.client.model.generators.ConfiguredModel
|
||||
import net.minecraftforge.forge.event.lifecycle.GatherDataEvent
|
||||
import ru.dbotthepony.mc.otm.datagen.DataGen
|
||||
|
||||
class SimpleBlockStateProvider(event: GatherDataEvent) : BlockStateProvider(event.generator, DataGen.MOD_ID, event.existingFileHelper) {
|
||||
private val blocks = ArrayList<Block>()
|
||||
|
||||
fun addBlock(vararg block: Block) {
|
||||
blocks.addAll(block)
|
||||
}
|
||||
|
||||
override fun registerStatesAndModels() {
|
||||
for (block in blocks) {
|
||||
getVariantBuilder(block).forAllStates {
|
||||
check(block.registryName != null) {"$block registry name is null!"}
|
||||
return@forAllStates arrayOf(ConfiguredModel(models().getExistingFile(block.registryName)))
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user