Package com.hbm_m.inventory.fluid.tank
Class FluidLoaderStandard
java.lang.Object
com.hbm_m.inventory.fluid.tank.FluidLoaderStandard
- All Implemented Interfaces:
FluidTank.LoadingHandler
Стандартный загрузчик жидкости (ведро/бочка → бак и бак → ведро/бочка).
Порт FluidLoaderStandard из 1.7.10.
Семантика «всё или ничего»: каждая бочка/ведро полностью опустошается (или полностью заполняется) за один тик, либо остаётся в верхнем слоте до тех пор, пока в танке не накопится достаточно свободного места / жидкости. Частичный перенос не производится — это предотвращает застревание полупустых бочек в выходном слоте.
Важно: на Forge FluidUtil.tryFillContainer/tryEmptyContainer
при doFill/doDrain=true выполняют drain+fill в два приёма без rollback;
совместно с FluidTank-override drain() (нормализация типа)
это приводит к потере жидкости. Поэтому здесь используется ручной
drain→fill с жёсткой проверкой amount.
-
Constructor Summary
Constructors -
Method Summary
-
Constructor Details
-
FluidLoaderStandard
public FluidLoaderStandard()
-
-
Method Details
-
emptyItem
public boolean emptyItem(net.minecraft.world.item.ItemStack[] slots, int in, int out, FluidTank tank) - Specified by:
emptyItemin interfaceFluidTank.LoadingHandler
-
fillItem
public boolean fillItem(net.minecraft.world.item.ItemStack[] slots, int in, int out, FluidTank tank) - Specified by:
fillItemin interfaceFluidTank.LoadingHandler
-