короче вот вам генератор люков остальное меня не интересует

This commit is contained in:
YuRaNnNzZZ 2022-10-05 10:56:57 +03:00
parent 30b739f9ce
commit 69bce1196c
Signed by: YuRaNnNzZZ
GPG Key ID: 5F71738C85A6006D
2 changed files with 48 additions and 0 deletions

View File

@ -8,9 +8,11 @@ import net.minecraft.world.level.block.IronBarsBlock
import net.minecraft.world.level.block.SlabBlock
import net.minecraft.world.level.block.StairBlock
import net.minecraft.world.level.block.WallBlock
import net.minecraft.world.level.block.TrapDoorBlock
import net.minecraft.world.level.block.state.properties.BlockStateProperties
import net.minecraft.world.level.block.state.properties.DoorHingeSide
import net.minecraft.world.level.block.state.properties.DoubleBlockHalf
import net.minecraft.world.level.block.state.properties.Half
import net.minecraftforge.client.model.generators.ConfiguredModel
import net.minecraftforge.client.model.generators.ModelFile
import net.minecraftforge.eventbus.api.SubscribeEvent
@ -304,6 +306,50 @@ object DataGen {
}
}
fun trapdoor(block: Block, texture: ResourceLocation) {
var trapdoorBottom: ModelFile? = null
var trapdoorTop: ModelFile? = null
var trapdoorOpen: ModelFile? = null
val trapdoorBottomName = "${block.registryName!!.path}_bottom"
val trapdoorTopName = "${block.registryName!!.path}_top"
val trapdoorOpenName = "${block.registryName!!.path}_open"
blockModelProvider.exec {
trapdoorBottom = it.trapdoorBottom(trapdoorBottomName, texture).renderType("cutout")
trapdoorTop = it.trapdoorTop(trapdoorTopName, texture).renderType("cutout")
trapdoorOpen = it.trapdoorOpen(trapdoorOpenName, texture).renderType("cutout")
}
@Suppress("name_shadowing")
blockStateProvider.exec {
val trapdoorBottom = checkNotNull(trapdoorBottom) { "trapdoorBottom is null" }
val trapdoorTop = checkNotNull(trapdoorTop) { "trapdoorTop is null" }
val trapdoorOpen = checkNotNull(trapdoorOpen) { "trapdoorOpen is null" }
with(blockStateProvider.getMultipartBuilder(block)) {
for (facing in TrapDoorBlock.FACING.possibleValues) {
for (open in listOf(false, true)) {
for (half in TrapDoorBlock.HALF.possibleValues) {
part().modelFile(
if (open) trapdoorOpen else when (half!!) {
Half.TOP -> trapdoorTop
Half.BOTTOM -> trapdoorBottom
}
).rotationY(
facing.toYRotBlockstate()
).addModel()
.condition(TrapDoorBlock.FACING, facing)
.condition(TrapDoorBlock.OPEN, open)
.condition(TrapDoorBlock.HALF, half)
.end()
}
}
}
}
}
}
fun decoratives(list: ColoredDecorativeBlock) {
for (block in list.blocks.values) {
decorativeCubeAll(block)
@ -406,6 +452,7 @@ object DataGen {
AddEnglishLanguage(languageProvider)
door(MBlocks.TRITANIUM_DOOR, modLocation("block/decorative/tritanium_door_top"), modLocation("block/decorative/tritanium_door_bottom"))
trapdoor(MBlocks.TRITANIUM_TRAPDOOR, modLocation("block/decorative/tritanium_trapdoor"))
addBlockModels(blockModelProvider)
addDecorativeData(blockStateProvider, itemModelProvider, blockModelProvider)

View File

@ -91,6 +91,7 @@ fun addItemModels(provider: MatteryItemModelProvider) {
provider.generated(MItems.MATTER_DUST)
provider.generated(MItems.TRITANIUM_DOOR)
provider.block(MItems.TRITANIUM_TRAPDOOR, "tritanium_trapdoor_bottom")
for (item in MRegistry.CARGO_CRATES.allItems.values) {
provider.block(item, "${item.registryName!!.path}_closed")