Tritanium bars, but with proper model

This commit is contained in:
DBotThePony 2023-04-14 12:59:17 +07:00
parent de972f1688
commit 130240e02a
Signed by: DBot
GPG Key ID: DCC23B5715498507
2 changed files with 81 additions and 1 deletions

View File

@ -219,6 +219,86 @@ object DataGen {
}
}
private fun MatteryBlockModelProvider.bars(name: String, parent: String, texture: ResourceLocation): ModelFile {
return withExistingParent(name, "block/$parent")
.texture("bars", texture)
.texture("edge", texture)
.texture("particle", texture)
.renderType("cutout_mipped")
}
@Suppress("LocalVariableName")
fun bars(block: Block, texture: ResourceLocation) {
val name = block.registryName?.path ?: throw IllegalStateException("Invalid state of glass pane $block")
val cap = "${name}_cap"
val cap_alt = "${name}_cap_alt"
val post = "${name}_post"
val post_ends = "${name}_post_ends"
val side = "${name}_side"
val side_alt = "${name}_side_alt"
var mdl_cap by Delegates.notNull<ModelFile>()
var mdl_cap_alt by Delegates.notNull<ModelFile>()
var mdl_post by Delegates.notNull<ModelFile>()
var mdl_post_ends by Delegates.notNull<ModelFile>()
var mdl_side by Delegates.notNull<ModelFile>()
var mdl_side_alt by Delegates.notNull<ModelFile>()
with(blockModelProvider) {
exec {
mdl_cap = bars(cap, "iron_bars_cap", texture)
mdl_cap_alt = bars(cap_alt, "iron_bars_cap_alt", texture)
mdl_post = bars(post, "iron_bars_post", texture)
mdl_post_ends = bars(post_ends, "iron_bars_post_ends", texture)
mdl_side = bars(side, "iron_bars_side", texture)
mdl_side_alt = bars(side_alt, "iron_bars_side_alt", texture)
}
}
@Suppress("name_shadowing")
blockStateProvider.exec {
with(blockStateProvider.getMultipartBuilder(block)) {
part().modelFile(mdl_post_ends).addModel()
part().modelFile(mdl_post).addModel()
.condition(IronBarsBlock.EAST, false)
.condition(IronBarsBlock.WEST, false)
.condition(IronBarsBlock.NORTH, false)
.condition(IronBarsBlock.SOUTH, false)
part().modelFile(mdl_cap).addModel()
.condition(IronBarsBlock.EAST, false)
.condition(IronBarsBlock.WEST, false)
.condition(IronBarsBlock.NORTH, true)
.condition(IronBarsBlock.SOUTH, false)
part().modelFile(mdl_cap).rotationY(90).addModel()
.condition(IronBarsBlock.EAST, true)
.condition(IronBarsBlock.WEST, false)
.condition(IronBarsBlock.NORTH, false)
.condition(IronBarsBlock.SOUTH, false)
part().modelFile(mdl_cap_alt).addModel()
.condition(IronBarsBlock.EAST, false)
.condition(IronBarsBlock.WEST, false)
.condition(IronBarsBlock.NORTH, false)
.condition(IronBarsBlock.SOUTH, true)
part().modelFile(mdl_cap_alt).rotationY(90).addModel()
.condition(IronBarsBlock.EAST, false)
.condition(IronBarsBlock.WEST, true)
.condition(IronBarsBlock.NORTH, false)
.condition(IronBarsBlock.SOUTH, false)
part().modelFile(mdl_side).addModel().condition(IronBarsBlock.NORTH, true)
part().modelFile(mdl_side).rotationY(90).addModel().condition(IronBarsBlock.EAST, true)
part().modelFile(mdl_side_alt).addModel().condition(IronBarsBlock.SOUTH, true)
part().modelFile(mdl_side_alt).rotationY(90).addModel().condition(IronBarsBlock.WEST, true)
}
}
}
fun door(block: Block, textureTop: ResourceLocation, textureBottom: ResourceLocation) {
var doorBottomLeft by Delegates.notNull<ModelFile>()
var doorBottomLeftOpen by Delegates.notNull<ModelFile>()

View File

@ -278,7 +278,7 @@ fun addDecorativeData(blockStateProvider: MatteryBlockStateProvider, itemModelPr
DataGen.pane(glass, textureSide, textureRailing)
}
DataGen.pane(MBlocks.TRITANIUM_BARS, ResourceLocation(DataGen.MOD_ID,"block/decorative/tritanium_bars"), ResourceLocation(DataGen.MOD_ID,"block/decorative/tritanium_bars"))
DataGen.bars(MBlocks.TRITANIUM_BARS, ResourceLocation(DataGen.MOD_ID, "block/decorative/tritanium_bars"))
blockStateProvider.block(MBlocks.ENGINE)
itemModelProvider.block(MItems.ENGINE)