From fc76e0fbcb9d60160c9cfb7a0689c5ff0d71a755 Mon Sep 17 00:00:00 2001 From: YuRaNnNzZZ Date: Tue, 12 Nov 2024 05:22:31 +0300 Subject: [PATCH 1/5] =?UTF-8?q?=D1=80=D0=B5=D1=86=D0=B5=D0=BF=D1=82=20?= =?UTF-8?q?=D1=8F=D1=89=D0=B8=D0=BA=D0=B0=D1=82=D0=BE=D1=80=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mc/otm/datagen/recipes/CraftingTableRecipes.kt | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/recipes/CraftingTableRecipes.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/recipes/CraftingTableRecipes.kt index abb9d7d7d..a27622ee5 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/recipes/CraftingTableRecipes.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/recipes/CraftingTableRecipes.kt @@ -460,4 +460,13 @@ fun addCraftingTableRecipes(consumer: RecipeOutput) { .row(MItemTags.IRON_PLATES, MItemTags.CRAFTING_TABLES, MItemTags.IRON_PLATES) .unlockedBy(Tags.Items.DYES) .build(consumer) + + MatteryRecipe(MItems.CHEST_UPGRADER, category = RecipeCategory.TOOLS) + .rowAC(Items.REDSTONE, Items.REDSTONE) + .row(MItemTags.TRITANIUM_PLATES, Items.ENDER_PEARL, MItemTags.TRITANIUM_PLATES) + .rowB(ItemTags.STONE_BUTTONS) + .unlockedBy(Tags.Items.CHESTS_WOODEN) + .unlockedBy(Tags.Items.BARRELS_WOODEN) + .unlockedBy(MItemTags.CARGO_CRATES) + .build(consumer) } From 0f77ed34c2d7fbd58ce8ef6d1097aae6d6d6704c Mon Sep 17 00:00:00 2001 From: YuRaNnNzZZ Date: Tue, 12 Nov 2024 06:04:01 +0300 Subject: [PATCH 2/5] =?UTF-8?q?=D1=80=D0=B5=D1=86=D0=B5=D0=BF=D1=82=D1=8B?= =?UTF-8?q?=20=D0=B8=20=D1=82=D1=83=D0=BB=D1=82=D0=B8=D0=BF=20=D0=B4=D0=BB?= =?UTF-8?q?=D1=8F=20=D1=8D=D0=BD=D0=B5=D1=80=D0=B3=D0=B5=D1=82=D0=B8=D1=87?= =?UTF-8?q?=D0=B5=D1=81=D0=BA=D0=B8=D1=85=20=D0=BA=D0=B0=D0=B1=D0=B5=D0=BB?= =?UTF-8?q?=D0=B5=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Konstantin Linev, [6:01] Konstantin Linev, [6:02] Но имеет смысл --- .../datagen/recipes/CraftingTableRecipes.kt | 24 +++++++++++++++++ .../mc/otm/item/block/EnergyCableItem.kt | 26 +++++++++++++++++++ .../ru/dbotthepony/mc/otm/registry/MItems.kt | 3 ++- 3 files changed, 52 insertions(+), 1 deletion(-) create mode 100644 src/main/kotlin/ru/dbotthepony/mc/otm/item/block/EnergyCableItem.kt diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/recipes/CraftingTableRecipes.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/recipes/CraftingTableRecipes.kt index a27622ee5..01c57d443 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/recipes/CraftingTableRecipes.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/recipes/CraftingTableRecipes.kt @@ -10,6 +10,7 @@ import net.minecraft.world.item.Items import net.minecraft.world.item.crafting.Ingredient import net.neoforged.neoforge.common.Tags import ru.dbotthepony.mc.otm.block.entity.MatteryBlockEntity +import ru.dbotthepony.mc.otm.config.CablesConfig import ru.dbotthepony.mc.otm.registry.MBlocks import ru.dbotthepony.mc.otm.registry.MItemTags import ru.dbotthepony.mc.otm.registry.MItems @@ -469,4 +470,27 @@ fun addCraftingTableRecipes(consumer: RecipeOutput) { .unlockedBy(Tags.Items.BARRELS_WOODEN) .unlockedBy(MItemTags.CARGO_CRATES) .build(consumer) + + MatteryRecipe(MItems.ENERGY_CABLES[CablesConfig.E.CRUDE]!!.asItem(), category = machinesCategory, count = 8) + .row(MItemTags.IRON_PLATES, Items.REDSTONE, MItemTags.IRON_PLATES) + .unlockedBy(Items.REDSTONE) + .build(consumer) + + MatteryRecipe(MItems.ENERGY_CABLES[CablesConfig.E.REGULAR]!!.asItem(), category = machinesCategory, count = 16) + .row(MItemTags.IRON_PLATES, MItemTags.IRON_PLATES, MItemTags.IRON_PLATES) + .row(MItemTags.COPPER_WIRES, Items.REDSTONE, MItemTags.COPPER_WIRES) + .row(MItemTags.IRON_PLATES, MItemTags.IRON_PLATES, MItemTags.IRON_PLATES) + .build(consumer) + + MatteryRecipe(MItems.ENERGY_CABLES[CablesConfig.E.ADVANCED]!!.asItem(), category = machinesCategory, count = 16) + .row(MItemTags.TRITANIUM_PLATES, MItemTags.TRITANIUM_PLATES, MItemTags.TRITANIUM_PLATES) + .row(MItemTags.GOLD_WIRES, Items.REDSTONE, MItemTags.GOLD_WIRES) + .row(MItemTags.TRITANIUM_PLATES, MItemTags.TRITANIUM_PLATES, MItemTags.TRITANIUM_PLATES) + .build(consumer) + + MatteryRecipe(MItems.ENERGY_CABLES[CablesConfig.E.SUPERCONDUCTOR]!!.asItem(), category = machinesCategory) + .row(MItemTags.REINFORCED_TRITANIUM_PLATES, MItems.ELECTROMAGNET, MItemTags.REINFORCED_TRITANIUM_PLATES) + .row(Tags.Items.INGOTS_GOLD, Tags.Items.INGOTS_GOLD, Tags.Items.INGOTS_GOLD) + .row(MItemTags.REINFORCED_TRITANIUM_PLATES, Items.BLUE_ICE, MItemTags.REINFORCED_TRITANIUM_PLATES) + .build(consumer) } diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/item/block/EnergyCableItem.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/item/block/EnergyCableItem.kt new file mode 100644 index 000000000..4edebdec6 --- /dev/null +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/item/block/EnergyCableItem.kt @@ -0,0 +1,26 @@ +package ru.dbotthepony.mc.otm.item.block + +import net.minecraft.ChatFormatting +import net.minecraft.network.chat.Component +import net.minecraft.world.item.BlockItem +import net.minecraft.world.item.ItemStack +import net.minecraft.world.item.TooltipFlag +import ru.dbotthepony.mc.otm.config.CablesConfig +import ru.dbotthepony.mc.otm.core.util.formatPower +import ru.dbotthepony.mc.otm.registry.MBlocks + +class EnergyCableItem(val conf: CablesConfig.E, properties: Properties) : BlockItem(MBlocks.ENERGY_CABLES[conf]!!, properties) { + override fun appendHoverText( + stack: ItemStack, + context: TooltipContext, + tooltip: MutableList, + flag: TooltipFlag + ) { + super.appendHoverText(stack, context, tooltip, flag) + + tooltip.add( + Component.translatable("otm.item.power.throughput_mono", conf.throughput.formatPower()) + .withStyle(ChatFormatting.GRAY)) + } + +} diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MItems.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MItems.kt index 364476925..f27eb70ca 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MItems.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MItems.kt @@ -58,6 +58,7 @@ import ru.dbotthepony.mc.otm.item.ZPMItem import ru.dbotthepony.mc.otm.item.addSimpleDescription import ru.dbotthepony.mc.otm.item.armor.PortableGravitationStabilizerItem import ru.dbotthepony.mc.otm.item.armor.TritaniumArmorItem +import ru.dbotthepony.mc.otm.item.block.EnergyCableItem import ru.dbotthepony.mc.otm.item.exopack.ExopackProbeItem import ru.dbotthepony.mc.otm.item.exopack.ExopackSlotUpgradeItem import ru.dbotthepony.mc.otm.item.exopack.ExopackUpgradeItem @@ -84,7 +85,7 @@ object MItems { } val ENERGY_CABLES: Map = SupplierMap(CablesConfig.E.entries.map { conf -> - conf to registry.register("${conf.name.lowercase()}_energy_cable") { BlockItem(MBlocks.ENERGY_CABLES[conf]!!, DEFAULT_PROPERTIES) } + conf to registry.register("${conf.name.lowercase()}_energy_cable") { EnergyCableItem(conf, DEFAULT_PROPERTIES) } }) val ANDROID_STATION = register(MNames.ANDROID_STATION, MBlocks.ANDROID_STATION) From 13a78290160ac321a89c33bf635e0f28fc5dc977 Mon Sep 17 00:00:00 2001 From: YuRaNnNzZZ Date: Tue, 12 Nov 2024 06:11:19 +0300 Subject: [PATCH 3/5] =?UTF-8?q?=D0=BD=D0=B5=20=D0=BD=D1=83=20=D1=80=D0=B0?= =?UTF-8?q?=D0=B7=20=D1=83=D0=B6=20=D1=8F=20=D0=BD=D0=B0=D1=87=D0=B0=D0=BB?= =?UTF-8?q?=20=D0=B7=D0=B0=D0=BA=D0=B8=D0=B4=D1=8B=D0=B2=D0=B0=D1=82=D1=8C?= =?UTF-8?q?=20=D0=B8=D1=82=D0=B5=D0=BC=D0=B1=D0=BB=D0=BE=D0=BA=D0=B8=20?= =?UTF-8?q?=D0=B2=20.block=20=D1=82=D0=BE=D0=B3=D0=B4=D0=B0=20=D0=B8=20?= =?UTF-8?q?=D1=8D=D1=82=D0=BE=D1=82=20=D1=82=D1=83=D0=B4=D0=B0=20=D0=B6?= =?UTF-8?q?=D0=B5=20=D0=BB=D0=BE=D0=B3=D0=B8=D1=87=D0=BD=D0=BE=3F=20=D0=BB?= =?UTF-8?q?=D0=BE=D0=B3=D0=B8=D1=87=D0=BD=D0=BE.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mc/otm/item/{ => block}/FluidTankItem.kt | 16 +++++++++++++--- .../ru/dbotthepony/mc/otm/registry/MItems.kt | 5 ++--- 2 files changed, 15 insertions(+), 6 deletions(-) rename src/main/kotlin/ru/dbotthepony/mc/otm/item/{ => block}/FluidTankItem.kt (87%) diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/item/FluidTankItem.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/item/block/FluidTankItem.kt similarity index 87% rename from src/main/kotlin/ru/dbotthepony/mc/otm/item/FluidTankItem.kt rename to src/main/kotlin/ru/dbotthepony/mc/otm/item/block/FluidTankItem.kt index 1474eafd9..1052cde34 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/item/FluidTankItem.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/item/block/FluidTankItem.kt @@ -1,4 +1,4 @@ -package ru.dbotthepony.mc.otm.item +package ru.dbotthepony.mc.otm.item.block import net.minecraft.client.renderer.BlockEntityWithoutLevelRenderer import net.minecraft.network.chat.Component @@ -16,6 +16,7 @@ import ru.dbotthepony.mc.otm.capability.fluid.BlockMatteryFluidHandler import ru.dbotthepony.mc.otm.client.render.blockentity.FluidTankRenderer import ru.dbotthepony.mc.otm.core.TooltipList import ru.dbotthepony.mc.otm.core.TranslatableComponent +import ru.dbotthepony.mc.otm.item.FluidCapsuleItem import ru.dbotthepony.mc.otm.registry.CapabilitiesRegisterListener import java.util.function.Consumer import java.util.function.IntSupplier @@ -36,9 +37,18 @@ class FluidTankItem(block: FluidTankBlock, properties: Properties, val capacity: if (pContext.player?.isCrouching == true) return InteractionResult.PASS - val context = FluidCapsuleItem.Context(pContext.clickedPos, pContext.level.getBlockState(pContext.clickedPos), pContext.clickedFace) + val context = FluidCapsuleItem.Context( + pContext.clickedPos, + pContext.level.getBlockState(pContext.clickedPos), + pContext.clickedFace + ) - if (FluidCapsuleItem.canInteract(pContext.itemInHand, pContext.player ?: return InteractionResult.FAIL, context)) + if (FluidCapsuleItem.canInteract( + pContext.itemInHand, + pContext.player ?: return InteractionResult.FAIL, + context + ) + ) return FluidCapsuleItem.interact(pContext.itemInHand, pContext.player!!, context) return super.onItemUseFirst(stack, pContext) diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MItems.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MItems.kt index f27eb70ca..ec2c208ae 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MItems.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MItems.kt @@ -25,7 +25,6 @@ import net.minecraft.world.item.Tiers import net.minecraft.world.item.crafting.Ingredient import net.minecraft.world.level.block.Block import net.neoforged.bus.api.IEventBus -import net.neoforged.neoforge.capabilities.RegisterCapabilitiesEvent import net.neoforged.neoforge.common.SimpleTier import ru.dbotthepony.mc.otm.capability.ITieredUpgradeSet import ru.dbotthepony.mc.otm.capability.MatteryPlayer @@ -43,7 +42,7 @@ import ru.dbotthepony.mc.otm.item.CrudeBatteryItem import ru.dbotthepony.mc.otm.item.EssenceCapsuleItem import ru.dbotthepony.mc.otm.item.EssenceServoItem import ru.dbotthepony.mc.otm.item.FluidCapsuleItem -import ru.dbotthepony.mc.otm.item.FluidTankItem +import ru.dbotthepony.mc.otm.item.block.FluidTankItem import ru.dbotthepony.mc.otm.item.GravitationalDisruptorItem import ru.dbotthepony.mc.otm.item.HealPillItem import ru.dbotthepony.mc.otm.item.MatteryItem @@ -324,7 +323,7 @@ object MItems { val ESSENCE_DRIVE: EssenceCapsuleItem by registry.register("essence_drive") { EssenceCapsuleItem(true) } val FLUID_CAPSULE: FluidCapsuleItem by registry.register("fluid_capsule") { FluidCapsuleItem(ItemsConfig::FLUID_CAPSULE_CAPACITY) } - val FLUID_TANK: FluidTankItem by registry.register(MNames.FLUID_TANK) { FluidTankItem(MBlocks.FLUID_TANK, Item.Properties().stacksTo(1), ItemsConfig::FLUID_TANK_CAPACITY) } + val FLUID_TANK: FluidTankItem by registry.register(MNames.FLUID_TANK) { FluidTankItem(MBlocks.FLUID_TANK, Properties().stacksTo(1), ItemsConfig::FLUID_TANK_CAPACITY) } val LIQUID_XP_BUCKET: BucketItem by registry.register("liquid_xp_bucket") { BucketItem(MFluids.LIQUID_XP, Item.Properties().stacksTo(1).rarity(Rarity.UNCOMMON)) } val TRITANIUM_COMPONENT: SimpleTier = SimpleTier( From fef11d3bdcc982c9c1aabd62d7f38fdd58fc1683 Mon Sep 17 00:00:00 2001 From: YuRaNnNzZZ Date: Tue, 12 Nov 2024 06:29:49 +0300 Subject: [PATCH 4/5] =?UTF-8?q?=D0=B7=D0=B0=D0=BC=D0=B5=D0=BD=D0=B8=D0=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mc/otm/block/entity/decorative/FluidTankBlockEntity.kt | 2 +- .../mc/otm/capability/fluid/BlockMatteryFluidHandler.kt | 2 +- .../ru/dbotthepony/mc/otm/menu/widget/FluidGaugeWidget.kt | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/decorative/FluidTankBlockEntity.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/decorative/FluidTankBlockEntity.kt index 17585936e..819864908 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/decorative/FluidTankBlockEntity.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/block/entity/decorative/FluidTankBlockEntity.kt @@ -34,7 +34,7 @@ class FluidTankBlockEntity(blockPos: BlockPos, blockState: BlockState) : Mattery if (level is ServerLevel) { markDirtyFast() } - }), FluidStack.STREAM_CODEC.wrap())) + }), FluidStack.OPTIONAL_STREAM_CODEC.wrap())) val fillInput = MatteryContainer(::markDirtyFast, 1).also(::addDroppableContainer) val drainInput = MatteryContainer(::markDirtyFast, 1).also(::addDroppableContainer) diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/capability/fluid/BlockMatteryFluidHandler.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/capability/fluid/BlockMatteryFluidHandler.kt index f2ac59c5a..9e77de59c 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/capability/fluid/BlockMatteryFluidHandler.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/capability/fluid/BlockMatteryFluidHandler.kt @@ -26,7 +26,7 @@ open class BlockMatteryFluidHandler(private val _capacity: IntSupplier, field: D get() = _capacity.asInt override fun serializeNBT(registry: HolderLookup.Provider): Tag { - return fluid.save(registry) + return fluid.saveOptional(registry) } override fun deserializeNBT(registry: HolderLookup.Provider, nbt: Tag?) { diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/widget/FluidGaugeWidget.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/widget/FluidGaugeWidget.kt index 35585af95..d9e864b0b 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/widget/FluidGaugeWidget.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/widget/FluidGaugeWidget.kt @@ -17,7 +17,7 @@ class FluidGaugeWidget(synchronizer: SynchableGroup) { var fluidSupplier = Supplier { FluidStack.EMPTY } val maxCapacity by synchronizer.computedInt(IntSupplier { maxCapacitySupplier.asInt }) - val fluid by synchronizer.computed({ fluidSupplier.get() }, FluidStack.STREAM_CODEC.wrap()) + val fluid by synchronizer.computed({ fluidSupplier.get() }, FluidStack.OPTIONAL_STREAM_CODEC.wrap()) val percentage: Float get() { if (maxCapacity <= 0 || fluid.isEmpty) { From 13a9f58b74efe71c9ab53916b3fb2daa26feec92 Mon Sep 17 00:00:00 2001 From: YuRaNnNzZZ Date: Tue, 12 Nov 2024 07:31:21 +0300 Subject: [PATCH 5/5] =?UTF-8?q?=D1=81=D0=B6=D0=B8=D0=BC=D0=B0=D0=B5=D0=BC?= =?UTF-8?q?=20=D0=BA=D0=B0=D0=BF=D1=81=D1=83=D0=BB=D1=8B=20=D0=B8=20=D0=B1?= =?UTF-8?q?=D0=B0=D0=BA=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit сам ты жидкостная бака --- .../CondensedCreativeCompat.kt | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/compat/condensed_creative/CondensedCreativeCompat.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/compat/condensed_creative/CondensedCreativeCompat.kt index 71fd9d2ae..e265f5355 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/compat/condensed_creative/CondensedCreativeCompat.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/compat/condensed_creative/CondensedCreativeCompat.kt @@ -4,9 +4,15 @@ import io.wispforest.condensed_creative.entry.impl.CondensedItemEntry import io.wispforest.condensed_creative.registry.CondensedCreativeInitializer import io.wispforest.condensed_creative.registry.CondensedEntryRegistry import net.minecraft.core.RegistryAccess +import net.minecraft.core.registries.BuiltInRegistries import net.minecraft.world.item.CreativeModeTab import net.minecraft.world.item.DyeColor import net.minecraft.world.item.Item +import net.minecraft.world.item.ItemStack +import net.minecraft.world.level.material.Fluids +import net.neoforged.neoforge.capabilities.Capabilities +import net.neoforged.neoforge.fluids.FluidStack +import net.neoforged.neoforge.fluids.capability.IFluidHandler import ru.dbotthepony.mc.otm.core.registryName import ru.dbotthepony.mc.otm.registry.MCreativeTabs import ru.dbotthepony.mc.otm.registry.MItems @@ -48,6 +54,9 @@ class CondensedCreativeCompat : CondensedCreativeInitializer { addByBase(MItems.ITEM_MONITOR, MCreativeTabs.MAIN) addByBase(MItems.STORAGE_POWER_SUPPLIER, MCreativeTabs.MAIN) + addByFluids(MItems.FLUID_CAPSULE, MCreativeTabs.MAIN) + addByFluids(MItems.FLUID_TANK, MCreativeTabs.MAIN) + addByBase(MItems.TRITANIUM_DOOR, MCreativeTabs.DECORATIVE) addByBase(MItems.TRITANIUM_TRAPDOOR, MCreativeTabs.DECORATIVE) addByBase(MRegistry.TRITANIUM_PRESSURE_PLATE.allItems, MCreativeTabs.DECORATIVE) @@ -111,4 +120,23 @@ class CondensedCreativeCompat : CondensedCreativeInitializer { tabs.forEach { builder.addToItemGroup(it) } return builder } + + private fun addByFluids(item: Item, vararg tabs: CreativeModeTab): CondensedItemEntry.Builder? { + val base = ItemStack(item, 1) + + val list = arrayListOf(base) + for (fluid in BuiltInRegistries.FLUID) { + if (fluid != Fluids.EMPTY && fluid.isSource(fluid.defaultFluidState())) { + list.add(base.copy().also { + it.getCapability(Capabilities.FluidHandler.ITEM)?.let { + it.fill(FluidStack(fluid, it.getTankCapacity(0)), IFluidHandler.FluidAction.EXECUTE) + } + }) + } + } + + val builder = CondensedEntryRegistry.fromItemStacks(item.registryName, base, list) + tabs.forEach { builder.addToItemGroup(it) } + return builder + } }