сжимаем капсулы и баки

сам ты жидкостная бака
This commit is contained in:
YuRaNnNzZZ 2024-11-12 07:31:21 +03:00
parent fef11d3bdc
commit 13a9f58b74
Signed by: YuRaNnNzZZ
GPG Key ID: 5F71738C85A6006D

View File

@ -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
}
}