From 480fa7cf7cd11be465ffa40d2dc60ed9adf455c9 Mon Sep 17 00:00:00 2001 From: DBotThePony Date: Sat, 8 Feb 2025 12:59:20 +0700 Subject: [PATCH] Hmm yes reinforced redstone lamp is made of reinforced redstone lamp --- .../mc/otm/datagen/blocks/BlockModels.kt | 6 +++ .../mc/otm/datagen/blocks/BlockStates.kt | 25 ++++++++++ .../mc/otm/datagen/items/ItemModels.kt | 5 ++ .../datagen/items/MatteryItemModelProvider.kt | 2 + .../mc/otm/datagen/lang/English.kt | 6 ++- .../mc/otm/datagen/lang/Russian.kt | 4 ++ .../mc/otm/datagen/loot/DecorativeLoot.kt | 3 ++ .../otm/datagen/recipes/DecorativesRecipes.kt | 43 +++++++++++++++--- .../mc/otm/datagen/tags/MineableTags.kt | 3 ++ .../ru/dbotthepony/mc/otm/registry/MNames.kt | 3 ++ .../mc/otm/registry/game/MBlocks.kt | 29 ++++++++++++ .../mc/otm/registry/game/MCreativeTabs.kt | 4 ++ .../mc/otm/registry/game/MItems.kt | 4 ++ .../block/reinforced_redstone_lamp.png | Bin 0 -> 2437 bytes .../block/reinforced_redstone_lamp_on.png | Bin 0 -> 2437 bytes 15 files changed, 129 insertions(+), 8 deletions(-) create mode 100644 src/main/resources/assets/overdrive_that_matters/textures/block/reinforced_redstone_lamp.png create mode 100644 src/main/resources/assets/overdrive_that_matters/textures/block/reinforced_redstone_lamp_on.png diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/blocks/BlockModels.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/blocks/BlockModels.kt index 0d56dce4b..f5a25c061 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/blocks/BlockModels.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/blocks/BlockModels.kt @@ -1,5 +1,6 @@ package ru.dbotthepony.mc.otm.datagen.blocks +import ru.dbotthepony.mc.otm.datagen.modLocation import ru.dbotthepony.mc.otm.datagen.models.MatteryBlockModelProvider import ru.dbotthepony.mc.otm.registry.game.MBlocks @@ -14,6 +15,11 @@ fun addBlockModels(provider: MatteryBlockModelProvider) { resourceCubeAll(MBlocks.DEEPSLATE_DILITHIUM_ORE) resourceCubeAll(MBlocks.DILITHIUM_CRYSTAL_BLOCK) + provider.exec { + provider.cubeAll("reinforced_redstone_lamp", modLocation("block/reinforced_redstone_lamp")) + provider.cubeAll("reinforced_redstone_lamp_on", modLocation("block/reinforced_redstone_lamp_on")) + } + cubeAll(MBlocks.FLYWHEEL_HOUSING) column(MBlocks.FLYWHEEL_BEARING, "block/flywheel_bearing","block/flywheel_bearing_top") column(MBlocks.FLYWHEEL_SHAFT, "block/flywheel_shaft","block/flywheel_shaft_top") diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/blocks/BlockStates.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/blocks/BlockStates.kt index d8dc2f935..834a3254a 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/blocks/BlockStates.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/blocks/BlockStates.kt @@ -9,6 +9,8 @@ import ru.dbotthepony.mc.otm.block.entity.WorkerState import ru.dbotthepony.mc.otm.block.matter.MatterBottlerBlock import ru.dbotthepony.mc.otm.block.tech.AndroidChargerBlock import ru.dbotthepony.mc.otm.block.tech.EssenceStorageBlock +import ru.dbotthepony.mc.otm.core.ResourceLocation +import ru.dbotthepony.mc.otm.core.get import ru.dbotthepony.mc.otm.core.math.BlockRotationFreedom import ru.dbotthepony.mc.otm.core.math.xRotationBlockstateNorth import ru.dbotthepony.mc.otm.core.math.xRotationBlockstateSouth @@ -124,6 +126,29 @@ fun addBlockStates(provider: MatteryBlockStateProvider) { provider.block(MBlocks.PAINTER) provider.block(MBlocks.INFINITE_WATER_SOURCE) + provider.exec { + provider.getVariantBuilder(MBlocks.REDSTONE_LAMP_INVERTED) + .forAllStates { + ConfiguredModel.builder() + .modelFile(provider.models().getExistingFile(ResourceLocation("minecraft", "redstone_lamp${if (it[BlockStateProperties.LIT]) "" else "_on"}"))) + .build() + } + + provider.getVariantBuilder(MBlocks.REINFORCED_REDSTONE_LAMP) + .forAllStates { + ConfiguredModel.builder() + .modelFile(provider.models().getExistingFile(modLocation("reinforced_redstone_lamp${if (it[BlockStateProperties.LIT]) "_on" else ""}"))) + .build() + } + + provider.getVariantBuilder(MBlocks.REINFORCED_REDSTONE_LAMP_INVERTED) + .forAllStates { + ConfiguredModel.builder() + .modelFile(provider.models().getExistingFile(modLocation("reinforced_redstone_lamp${if (it[BlockStateProperties.LIT]) "" else "_on"}"))) + .build() + } + } + provider.exec { for (block in MBlocks.ESSENCE_STORAGE.values) { provider.getVariantBuilder(block).forAllStates { 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 1116fd053..bf6dfa75a 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 @@ -1,6 +1,7 @@ package ru.dbotthepony.mc.otm.datagen.items import net.minecraft.world.item.DyeColor +import ru.dbotthepony.mc.otm.core.ResourceLocation import ru.dbotthepony.mc.otm.core.registryName import ru.dbotthepony.mc.otm.datagen.modLocation import ru.dbotthepony.mc.otm.registry.game.MItems @@ -38,6 +39,10 @@ fun addItemModels(provider: MatteryItemModelProvider) { provider.block(MItems.DEEPSLATE_DILITHIUM_ORE) provider.block(MItems.DILITHIUM_CRYSTAL_BLOCK) + provider.withExistingParent(MItems.REDSTONE_LAMP_INVERTED, ResourceLocation("minecraft", "block/redstone_lamp_on")) + provider.withExistingParent(MItems.REINFORCED_REDSTONE_LAMP, modLocation("block/reinforced_redstone_lamp")) + provider.withExistingParent(MItems.REINFORCED_REDSTONE_LAMP_INVERTED, modLocation("block/reinforced_redstone_lamp_on")) + MRegistry.VENT.allItems.values.forEach(provider::block) MRegistry.VENT_ALTERNATIVE.allItems.values.forEach(provider::block) MRegistry.TRITANIUM_BLOCK.allItems.values.forEach(provider::block) diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/items/MatteryItemModelProvider.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/items/MatteryItemModelProvider.kt index b7138e06a..e4fd7ba3b 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/items/MatteryItemModelProvider.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/items/MatteryItemModelProvider.kt @@ -32,6 +32,8 @@ class MatteryItemModelProvider(event: GatherDataEvent) : ItemModelProvider(event fun block(item: Item) = exec { withExistingParent(item.registryName!!.path, modLocation("block/${item.registryName!!.path}")) } fun block(item: Item, path: String) = exec { withExistingParent(item.registryName!!.path, modLocation("block/$path")) } + fun withExistingParent(item: Item, path: ResourceLocation) = exec { withExistingParent(item.registryName!!.path, path) } + fun inherit(item: Item, parent: Item) { exec { withExistingParent(item.registryName!!.path, parent.registryName!!) } } diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/lang/English.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/lang/English.kt index e22d4c75b..8f3b5a99f 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/lang/English.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/lang/English.kt @@ -657,9 +657,13 @@ private fun blocks(provider: MatteryLanguageProvider) { add(MBlocks.PHANTOM_ATTRACTOR, "Phantom Attractor") add(MBlocks.PHANTOM_ATTRACTOR, "desc", "Attracts Phantoms when it is night time") + add(MBlocks.REDSTONE_LAMP_INVERTED, "Redstone Lamp (Inverted signal)") + add(MBlocks.REINFORCED_REDSTONE_LAMP, "Reinforced Redstone Lamp") + add(MBlocks.REINFORCED_REDSTONE_LAMP_INVERTED, "Reinforced Redstone Lamp (Inverted signal)") + add(MBlocks.LABORATORY_LAMP, "Laboratory Lamp") add(MBlocks.LABORATORY_LAMP, "description", "Provides directional light with redstone switch") - add(MBlocks.LABORATORY_LAMP_INVERTED, "Laboratory Lamp (Inverted Signal)") + add(MBlocks.LABORATORY_LAMP_INVERTED, "Laboratory Lamp (Inverted signal)") add(MBlocks.DANGER_STRIPE_BLOCK, "Danger Stripes") add(MBlocks.METAL_BEAM, "Metal Beam") diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/lang/Russian.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/lang/Russian.kt index 2cfb45df4..ef7c6330a 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/lang/Russian.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/lang/Russian.kt @@ -653,6 +653,10 @@ private fun blocks(provider: MatteryLanguageProvider) { add(MBlocks.PHANTOM_ATTRACTOR, "Приманщик фантомов") add(MBlocks.PHANTOM_ATTRACTOR, "desc", "Приманивает фантомов в ночное время") + add(MBlocks.REDSTONE_LAMP_INVERTED, "Лампа (инвертированный сигнал)") + add(MBlocks.REINFORCED_REDSTONE_LAMP, "Укреплённая лампа") + add(MBlocks.REINFORCED_REDSTONE_LAMP_INVERTED, "Укреплённая лампа (инвертированный сигнал)") + add(MBlocks.LABORATORY_LAMP, "Лабораторная лампа") add(MBlocks.LABORATORY_LAMP, "description", "Освещает на несколько блоков в направлении своей лампы, с переключателем красного камня") add(MBlocks.LABORATORY_LAMP_INVERTED, "Лабораторная лампа (инвентированный сигнал)") diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/loot/DecorativeLoot.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/loot/DecorativeLoot.kt index 37f898079..76889d4c1 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/loot/DecorativeLoot.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/loot/DecorativeLoot.kt @@ -51,6 +51,9 @@ fun addDecorativeLoot(lootTables: LootTables) { lootTables.dropsSelf(MBlocks.FLYWHEEL_BEARING) { condition(ExplosionCondition.survivesExplosion()) } lootTables.dropsSelf(MBlocks.ENGINE) { condition(ExplosionCondition.survivesExplosion()) } + lootTables.dropsSelf(MBlocks.REDSTONE_LAMP_INVERTED) { condition(ExplosionCondition.survivesExplosion()) } + lootTables.dropsSelf(MBlocks.REINFORCED_REDSTONE_LAMP) { condition(ExplosionCondition.survivesExplosion()) } + lootTables.dropsSelf(MBlocks.REINFORCED_REDSTONE_LAMP_INVERTED) { condition(ExplosionCondition.survivesExplosion()) } for (block in MBlocks.TRITANIUM_ANVIL) lootTables.dropsSelf(block) { condition(ExplosionCondition.survivesExplosion()) } diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/recipes/DecorativesRecipes.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/recipes/DecorativesRecipes.kt index 9ee244bb4..a89cd8f1a 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/recipes/DecorativesRecipes.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/recipes/DecorativesRecipes.kt @@ -267,6 +267,42 @@ fun addDecorativesRecipes(provider: MatteryRecipeProvider, consumer: RecipeOutpu .save(consumer, modLocation("decorative/industrial_glass_pane/recolor/${color.name.lowercase()}")) } + ShapelessRecipeBuilder(RecipeCategory.REDSTONE, MItems.REDSTONE_LAMP_INVERTED, 1) + .requires(Items.REDSTONE_LAMP) + .unlockedBy(Items.REDSTONE_LAMP) + .save(consumer, modLocation("decorative/inverted_redstone_lamp")) + + ShapelessRecipeBuilder(RecipeCategory.REDSTONE, Items.REDSTONE_LAMP, 1) + .requires(MItems.REDSTONE_LAMP_INVERTED) + .unlockedBy(MItems.REDSTONE_LAMP_INVERTED) + .save(consumer, modLocation("decorative/inverted_redstone_lamp2")) + + MatteryRecipe(MItems.REINFORCED_REDSTONE_LAMP, category = RecipeCategory.REDSTONE) + .row(MItemTags.TRITANIUM_PLATES, Items.REDSTONE_LAMP, MItemTags.TRITANIUM_PLATES) + .build(consumer, modLocation("decorative/reinforced_redstone_lamp")) + + MatteryRecipe(MItems.REINFORCED_REDSTONE_LAMP_INVERTED, category = RecipeCategory.REDSTONE) + .row(MItemTags.TRITANIUM_PLATES, MItems.REDSTONE_LAMP_INVERTED, MItemTags.TRITANIUM_PLATES) + .build(consumer, modLocation("decorative/reinforced_redstone_lamp_inverted")) + + MatteryRecipe(MItems.LABORATORY_LAMP, category = RecipeCategory.REDSTONE) + .row(MItemTags.IRON_PLATES, MItemTags.HARDENED_GLASS_PANES_COLORLESS, MItemTags.IRON_PLATES) + .row(MItems.MIRROR, Items.REDSTONE_LAMP, MItems.MIRROR) + .row(MItemTags.TRITANIUM_PLATES, Tags.Items.DUSTS_REDSTONE, MItemTags.TRITANIUM_PLATES) + .build(consumer, modLocation("decorative/lab_lamp")) + + MatteryRecipe(MItems.LABORATORY_LAMP, category = RecipeCategory.REDSTONE) + .row(MItemTags.IRON_PLATES, MItemTags.HARDENED_GLASS_PANES_COLORLESS, MItemTags.IRON_PLATES) + .row(MItems.MIRROR, MItems.REINFORCED_REDSTONE_LAMP, MItems.MIRROR) + .rowB(Tags.Items.DUSTS_REDSTONE) + .build(consumer, modLocation("decorative/lab_lamp_alt")) + + MatteryRecipe(MItems.LABORATORY_LAMP_INVERTED, category = RecipeCategory.REDSTONE) + .row(MItemTags.IRON_PLATES, MItemTags.HARDENED_GLASS_PANES_COLORLESS, MItemTags.IRON_PLATES) + .row(MItems.MIRROR, MItems.REINFORCED_REDSTONE_LAMP_INVERTED, MItems.MIRROR) + .rowB(Tags.Items.DUSTS_REDSTONE) + .build(consumer, modLocation("decorative/lab_lamp_inv_alt")) + ShapelessRecipeBuilder(RecipeCategory.REDSTONE, MItems.LABORATORY_LAMP, 1) .requires(MItems.LABORATORY_LAMP_INVERTED) .unlockedBy(MItems.LABORATORY_LAMP_INVERTED) @@ -352,13 +388,6 @@ fun addDecorativesRecipes(provider: MatteryRecipeProvider, consumer: RecipeOutpu .unlockedBy(Items.IRON_BARS) .build(consumer, modLocation("decorative/metal_mesh")) - // лампа - MatteryRecipe(MItems.LABORATORY_LAMP, category = RecipeCategory.REDSTONE) - .row(MItemTags.IRON_PLATES, MItemTags.HARDENED_GLASS_PANES_COLORLESS, MItemTags.IRON_PLATES) - .row(MItems.MIRROR, Items.GLOWSTONE, MItems.MIRROR) - .row(MItemTags.TRITANIUM_PLATES, Tags.Items.DUSTS_REDSTONE, MItemTags.TRITANIUM_PLATES) - .build(consumer, modLocation("decorative/lamp")) - // Голо табличка MatteryRecipe(MItems.HOLO_SIGN, category = RecipeCategory.DECORATIONS) .row(MItemTags.BASIC_CIRCUIT, MItemTags.TRITANIUM_PLATES, MItemTags.HARDENED_GLASS_PANES_COLORLESS) diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/tags/MineableTags.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/tags/MineableTags.kt index 2e6044545..7900aaa39 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/tags/MineableTags.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/tags/MineableTags.kt @@ -73,6 +73,9 @@ fun addMineableTags(tagsProvider: TagsProvider) { MBlocks.MATTER_OUTPUT_HATCH, MBlocks.ENERGY_INPUT_INTERFACE, MBlocks.ENERGY_OUTPUT_INTERFACE, + + MBlocks.REINFORCED_REDSTONE_LAMP, + MBlocks.REINFORCED_REDSTONE_LAMP_INVERTED, ), Tiers.IRON) tagsProvider.requiresPickaxe(listOf( diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MNames.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MNames.kt index cfd03d438..2339ce62d 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MNames.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MNames.kt @@ -4,6 +4,9 @@ import ru.dbotthepony.mc.otm.OverdriveThatMatters import ru.dbotthepony.mc.otm.core.ResourceLocation object MNames { + const val REDSTONE_LAMP_INVERTED = "redstone_lamp_inverted" + const val REINFORCED_REDSTONE_LAMP = "reinforced_redstone_lamp" + const val REINFORCED_REDSTONE_LAMP_INVERTED = "reinforced_redstone_lamp_inverted" const val LABORATORY_LAMP = "laboratory_lamp" const val LABORATORY_LAMP_INVERTED = "laboratory_lamp_inverted" const val LABORATORY_LAMP_LIGHT = "laboratory_lamp_light" diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/game/MBlocks.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/game/MBlocks.kt index 1faf345ee..88dbfb52e 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/game/MBlocks.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/game/MBlocks.kt @@ -6,9 +6,11 @@ import net.minecraft.core.registries.BuiltInRegistries import net.minecraft.util.valueproviders.UniformInt import net.minecraft.world.level.block.AnvilBlock import net.minecraft.world.level.block.Block +import net.minecraft.world.level.block.Blocks import net.minecraft.world.level.block.DropExperienceBlock import net.minecraft.world.level.block.IronBarsBlock import net.minecraft.world.level.block.LiquidBlock +import net.minecraft.world.level.block.RedstoneLampBlock import net.minecraft.world.level.block.RotatedPillarBlock import net.minecraft.world.level.block.SlabBlock import net.minecraft.world.level.block.SoundType @@ -16,6 +18,7 @@ import net.minecraft.world.level.block.StairBlock import net.minecraft.world.level.block.TransparentBlock import net.minecraft.world.level.block.WallBlock import net.minecraft.world.level.block.state.BlockBehaviour +import net.minecraft.world.level.block.state.properties.BlockStateProperties import net.minecraft.world.level.block.state.properties.NoteBlockInstrument import net.minecraft.world.level.material.MapColor import net.minecraft.world.level.material.PushReaction @@ -87,6 +90,7 @@ import ru.dbotthepony.mc.otm.capability.MatteryCapability import ru.dbotthepony.mc.otm.config.CablesConfig import ru.dbotthepony.mc.otm.core.collect.SupplierList import ru.dbotthepony.mc.otm.core.collect.SupplierMap +import ru.dbotthepony.mc.otm.core.get import ru.dbotthepony.mc.otm.registry.MDeferredRegister import ru.dbotthepony.mc.otm.registry.MNames import ru.dbotthepony.mc.otm.registry.MRegistry @@ -282,6 +286,31 @@ object MBlocks { Block(BlockBehaviour.Properties.of().mapColor(MapColor.COLOR_LIGHT_BLUE).sound(SoundType.AMETHYST).explosionResistance(400f).destroyTime(3f).requiresCorrectToolForDrops()) } + val REDSTONE_LAMP_INVERTED by registry.register(MNames.REDSTONE_LAMP_INVERTED) { RedstoneLampBlock( + BlockBehaviour.Properties.ofFullCopy(Blocks.REDSTONE_LAMP) + .lightLevel { if (it[BlockStateProperties.LIT]) 0 else 15 } + ) } + + val REINFORCED_REDSTONE_LAMP by registry.register(MNames.REINFORCED_REDSTONE_LAMP) { RedstoneLampBlock( + BlockBehaviour.Properties.of() + .mapColor(MapColor.COLOR_LIGHT_GRAY) + .explosionResistance(40f) + .destroyTime(1.5f) + .requiresCorrectToolForDrops() + .lightLevel { if (it[BlockStateProperties.LIT]) 15 else 0 } + .isValidSpawn { p_61031_, p_61032_, p_61033_, p_61034_ -> true } + ) } + + val REINFORCED_REDSTONE_LAMP_INVERTED by registry.register(MNames.REINFORCED_REDSTONE_LAMP_INVERTED) { RedstoneLampBlock( + BlockBehaviour.Properties.of() + .mapColor(MapColor.COLOR_LIGHT_GRAY) + .explosionResistance(40f) + .destroyTime(1.5f) + .requiresCorrectToolForDrops() + .lightLevel { if (it[BlockStateProperties.LIT]) 0 else 15 } + .isValidSpawn { p_61031_, p_61032_, p_61033_, p_61034_ -> true } + ) } + val LABORATORY_LAMP: Block by registry.register(MNames.LABORATORY_LAMP) { LaboratoryLamp(false) } val LABORATORY_LAMP_INVERTED: Block by registry.register(MNames.LABORATORY_LAMP_INVERTED) { LaboratoryLamp(true) } val LABORATORY_LAMP_LIGHT: Block by registry.register(MNames.LABORATORY_LAMP_LIGHT) { LaboratoryLampLight() } diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/game/MCreativeTabs.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/game/MCreativeTabs.kt index 3cf74f94a..7428eacd1 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/game/MCreativeTabs.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/game/MCreativeTabs.kt @@ -295,8 +295,12 @@ private fun addMainCreativeTabItems(consumer: CreativeModeTab.Output) { private fun addDecorativeTabItems(consumer: CreativeModeTab.Output) { with(consumer) { + accept(MItems.REDSTONE_LAMP_INVERTED) + accept(MItems.REINFORCED_REDSTONE_LAMP) + accept(MItems.REINFORCED_REDSTONE_LAMP_INVERTED) accept(MItems.LABORATORY_LAMP) accept(MItems.LABORATORY_LAMP_INVERTED) + accept(MItems.DANGER_STRIPE_BLOCK) accept(MItems.METAL_BEAM) accept(MItems.ENGINE) diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/game/MItems.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/game/MItems.kt index 350019244..2d1bc6e9e 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/game/MItems.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/game/MItems.kt @@ -481,6 +481,10 @@ object MItems { val NUTRIENT_PASTE: Item by registry.register(MNames.NUTRIENT_PASTE) { Item(Properties().stacksTo(64).food(FoodProperties.Builder().nutrition(8).saturationModifier(0.9F).build())) } + val REDSTONE_LAMP_INVERTED by registry.register(MNames.REDSTONE_LAMP_INVERTED) { BlockItem(MBlocks.REDSTONE_LAMP_INVERTED, DEFAULT_PROPERTIES) } + val REINFORCED_REDSTONE_LAMP by registry.register(MNames.REINFORCED_REDSTONE_LAMP) { BlockItem(MBlocks.REINFORCED_REDSTONE_LAMP, DEFAULT_PROPERTIES) } + val REINFORCED_REDSTONE_LAMP_INVERTED by registry.register(MNames.REINFORCED_REDSTONE_LAMP_INVERTED) { BlockItem(MBlocks.REINFORCED_REDSTONE_LAMP_INVERTED, DEFAULT_PROPERTIES) } + val LABORATORY_LAMP: Item by registry.register(MNames.LABORATORY_LAMP) { BlockItem(MBlocks.LABORATORY_LAMP, DEFAULT_PROPERTIES) } val LABORATORY_LAMP_INVERTED: Item by registry.register(MNames.LABORATORY_LAMP_INVERTED) { BlockItem(MBlocks.LABORATORY_LAMP_INVERTED, DEFAULT_PROPERTIES) } val DANGER_STRIPE_BLOCK: Item by registry.register(MNames.DANGER_STRIPE_BLOCK) { BlockItem(MBlocks.DANGER_STRIPE_BLOCK, DEFAULT_PROPERTIES) } diff --git a/src/main/resources/assets/overdrive_that_matters/textures/block/reinforced_redstone_lamp.png b/src/main/resources/assets/overdrive_that_matters/textures/block/reinforced_redstone_lamp.png new file mode 100644 index 0000000000000000000000000000000000000000..d36635b4d3d72a5dd2644f4bd55341d6da866d5b GIT binary patch literal 2437 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