From 69bce1196cf2fe44f06e5faf1dad0ad3c14dfa8d Mon Sep 17 00:00:00 2001 From: YuRaNnNzZZ Date: Wed, 5 Oct 2022 10:56:57 +0300 Subject: [PATCH] =?UTF-8?q?=D0=BA=D0=BE=D1=80=D0=BE=D1=87=D0=B5=20=D0=B2?= =?UTF-8?q?=D0=BE=D1=82=20=D0=B2=D0=B0=D0=BC=20=D0=B3=D0=B5=D0=BD=D0=B5?= =?UTF-8?q?=D1=80=D0=B0=D1=82=D0=BE=D1=80=20=D0=BB=D1=8E=D0=BA=D0=BE=D0=B2?= =?UTF-8?q?=20=D0=BE=D1=81=D1=82=D0=B0=D0=BB=D1=8C=D0=BD=D0=BE=D0=B5=20?= =?UTF-8?q?=D0=BC=D0=B5=D0=BD=D1=8F=20=D0=BD=D0=B5=20=D0=B8=D0=BD=D1=82?= =?UTF-8?q?=D0=B5=D1=80=D0=B5=D1=81=D1=83=D0=B5=D1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ru/dbotthepony/mc/otm/datagen/DataGen.kt | 47 +++++++++++++++++++ .../mc/otm/datagen/items/ItemModels.kt | 1 + 2 files changed, 48 insertions(+) diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/DataGen.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/DataGen.kt index c38e49530..72dc43e84 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/DataGen.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/DataGen.kt @@ -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) diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/items/ItemModels.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/items/ItemModels.kt index 036bdfed3..3c3bc4241 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/items/ItemModels.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/items/ItemModels.kt @@ -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")