Crate blockstate provider

This commit is contained in:
DBotThePony 2022-01-06 16:40:33 +07:00
parent a5b0091522
commit de16544f48
Signed by: DBot
GPG Key ID: DCC23B5715498507
2 changed files with 34 additions and 0 deletions

View File

@ -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
})
}
}

View File

@ -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)))
}
}
}
}