Update fluid handler conditions
This commit is contained in:
parent
fd236d8a53
commit
1967b2869a
@ -42,18 +42,10 @@ class FluidTankBlockEntity(blockPos: BlockPos, blockState: BlockState) : Mattery
|
|||||||
fillInput.handler(object : HandlerFilter {
|
fillInput.handler(object : HandlerFilter {
|
||||||
override fun canInsert(slot: Int, stack: ItemStack): Boolean {
|
override fun canInsert(slot: Int, stack: ItemStack): Boolean {
|
||||||
if (fluid.isEmpty) {
|
if (fluid.isEmpty) {
|
||||||
stack.getCapability(ForgeCapabilities.FLUID_HANDLER_ITEM).ifPresentK {
|
return stack.getCapability(ForgeCapabilities.FLUID_HANDLER_ITEM).map { it.tanks > 0 }.orElse(false)
|
||||||
return it.tanks > 0
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return false
|
return stack.getCapability(ForgeCapabilities.FLUID_HANDLER_ITEM).map { it.fill(fluid[0], IFluidHandler.FluidAction.SIMULATE) > 0 }.orElse(false)
|
||||||
}
|
|
||||||
|
|
||||||
stack.getCapability(ForgeCapabilities.FLUID_HANDLER_ITEM).ifPresentK {
|
|
||||||
return it.fill(fluid[0], IFluidHandler.FluidAction.SIMULATE) > 0
|
|
||||||
}
|
|
||||||
|
|
||||||
return false
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun canExtract(slot: Int, amount: Int, stack: ItemStack): Boolean {
|
override fun canExtract(slot: Int, amount: Int, stack: ItemStack): Boolean {
|
||||||
|
@ -42,29 +42,13 @@ interface HandlerFilter {
|
|||||||
|
|
||||||
object FluidContainers : HandlerFilter {
|
object FluidContainers : HandlerFilter {
|
||||||
override fun canInsert(slot: Int, stack: ItemStack): Boolean {
|
override fun canInsert(slot: Int, stack: ItemStack): Boolean {
|
||||||
stack.getCapability(ForgeCapabilities.FLUID_HANDLER).ifPresentK {
|
return stack.getCapability(ForgeCapabilities.FLUID_HANDLER_ITEM).map { it.tanks > 0 }.orElse(false)
|
||||||
return it.tanks > 0
|
|
||||||
}
|
|
||||||
|
|
||||||
stack.getCapability(ForgeCapabilities.FLUID_HANDLER_ITEM).ifPresentK {
|
|
||||||
return it.tanks > 0
|
|
||||||
}
|
|
||||||
|
|
||||||
return false
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
object DrainableFluidContainers : HandlerFilter {
|
object DrainableFluidContainers : HandlerFilter {
|
||||||
override fun canInsert(slot: Int, stack: ItemStack): Boolean {
|
override fun canInsert(slot: Int, stack: ItemStack): Boolean {
|
||||||
stack.getCapability(ForgeCapabilities.FLUID_HANDLER).ifPresentK {
|
return stack.getCapability(ForgeCapabilities.FLUID_HANDLER_ITEM).map { it.stream().anyMatch { it.isNotEmpty } }.orElse(false)
|
||||||
return it.stream().anyMatch { it.isNotEmpty }
|
|
||||||
}
|
|
||||||
|
|
||||||
stack.getCapability(ForgeCapabilities.FLUID_HANDLER_ITEM).ifPresentK {
|
|
||||||
return it.stream().anyMatch { it.isNotEmpty }
|
|
||||||
}
|
|
||||||
|
|
||||||
return false
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun canExtract(slot: Int, amount: Int, stack: ItemStack): Boolean {
|
override fun canExtract(slot: Int, amount: Int, stack: ItemStack): Boolean {
|
||||||
|
Loading…
Reference in New Issue
Block a user