fixed storage monitor insertion and non-exact mode
This commit is contained in:
@@ -10,6 +10,8 @@ to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|||||||
### Fixed
|
### Fixed
|
||||||
|
|
||||||
- Fixed Destructor dupe bug
|
- Fixed Destructor dupe bug
|
||||||
|
- Fixed being unable to insert items into the Storage Monitor
|
||||||
|
- Fixed Storage Monitor not showing all matching items in non-exact mode
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
|
@@ -5,16 +5,16 @@ import com.refinedmods.refinedstorage.api.network.security.Permission;
|
|||||||
import com.refinedmods.refinedstorage.api.util.Action;
|
import com.refinedmods.refinedstorage.api.util.Action;
|
||||||
import com.refinedmods.refinedstorage.api.util.IComparer;
|
import com.refinedmods.refinedstorage.api.util.IComparer;
|
||||||
import com.refinedmods.refinedstorage.apiimpl.API;
|
import com.refinedmods.refinedstorage.apiimpl.API;
|
||||||
import com.refinedmods.refinedstorage.inventory.fluid.FluidInventory;
|
|
||||||
import com.refinedmods.refinedstorage.inventory.item.BaseItemHandler;
|
|
||||||
import com.refinedmods.refinedstorage.inventory.listener.NetworkNodeInventoryListener;
|
|
||||||
import com.refinedmods.refinedstorage.blockentity.StorageMonitorBlockEntity;
|
import com.refinedmods.refinedstorage.blockentity.StorageMonitorBlockEntity;
|
||||||
import com.refinedmods.refinedstorage.blockentity.config.IComparable;
|
import com.refinedmods.refinedstorage.blockentity.config.IComparable;
|
||||||
import com.refinedmods.refinedstorage.blockentity.config.IType;
|
import com.refinedmods.refinedstorage.blockentity.config.IType;
|
||||||
import com.refinedmods.refinedstorage.blockentity.config.RedstoneMode;
|
import com.refinedmods.refinedstorage.blockentity.config.RedstoneMode;
|
||||||
|
import com.refinedmods.refinedstorage.inventory.fluid.FluidInventory;
|
||||||
|
import com.refinedmods.refinedstorage.inventory.item.BaseItemHandler;
|
||||||
|
import com.refinedmods.refinedstorage.inventory.listener.NetworkNodeInventoryListener;
|
||||||
|
import com.refinedmods.refinedstorage.util.LevelUtils;
|
||||||
import com.refinedmods.refinedstorage.util.NetworkUtils;
|
import com.refinedmods.refinedstorage.util.NetworkUtils;
|
||||||
import com.refinedmods.refinedstorage.util.StackUtils;
|
import com.refinedmods.refinedstorage.util.StackUtils;
|
||||||
import com.refinedmods.refinedstorage.util.LevelUtils;
|
|
||||||
import net.minecraft.core.BlockPos;
|
import net.minecraft.core.BlockPos;
|
||||||
import net.minecraft.core.Direction;
|
import net.minecraft.core.Direction;
|
||||||
import net.minecraft.nbt.CompoundTag;
|
import net.minecraft.nbt.CompoundTag;
|
||||||
@@ -299,9 +299,13 @@ public class StorageMonitorNetworkNode extends NetworkNode implements IComparabl
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (compare == IComparer.COMPARE_NBT) {
|
||||||
ItemStack stored = network.getItemStorageCache().getList().get(toCheck, compare);
|
ItemStack stored = network.getItemStorageCache().getList().get(toCheck, compare);
|
||||||
|
|
||||||
return stored != null ? stored.getCount() : 0;
|
return stored != null ? stored.getCount() : 0;
|
||||||
|
} else {
|
||||||
|
return network.getItemStorageCache().getList().getStacks(toCheck).stream().mapToInt(entry -> entry.getStack().getCount()).sum();
|
||||||
|
}
|
||||||
|
|
||||||
} else if (getType() == IType.FLUIDS) {
|
} else if (getType() == IType.FLUIDS) {
|
||||||
FluidStack toCheck = fluidFilter.getFluid(0);
|
FluidStack toCheck = fluidFilter.getFluid(0);
|
||||||
|
|
||||||
|
@@ -1,12 +1,12 @@
|
|||||||
package com.refinedmods.refinedstorage.block;
|
package com.refinedmods.refinedstorage.block;
|
||||||
|
|
||||||
import com.refinedmods.refinedstorage.apiimpl.network.node.StorageMonitorNetworkNode;
|
import com.refinedmods.refinedstorage.apiimpl.network.node.StorageMonitorNetworkNode;
|
||||||
|
import com.refinedmods.refinedstorage.blockentity.StorageMonitorBlockEntity;
|
||||||
import com.refinedmods.refinedstorage.container.StorageMonitorContainerMenu;
|
import com.refinedmods.refinedstorage.container.StorageMonitorContainerMenu;
|
||||||
import com.refinedmods.refinedstorage.container.factory.BlockEntityMenuProvider;
|
import com.refinedmods.refinedstorage.container.factory.BlockEntityMenuProvider;
|
||||||
import com.refinedmods.refinedstorage.blockentity.StorageMonitorBlockEntity;
|
|
||||||
import com.refinedmods.refinedstorage.util.BlockUtils;
|
import com.refinedmods.refinedstorage.util.BlockUtils;
|
||||||
import com.refinedmods.refinedstorage.util.NetworkUtils;
|
|
||||||
import com.refinedmods.refinedstorage.util.LevelUtils;
|
import com.refinedmods.refinedstorage.util.LevelUtils;
|
||||||
|
import com.refinedmods.refinedstorage.util.NetworkUtils;
|
||||||
import net.minecraft.core.BlockPos;
|
import net.minecraft.core.BlockPos;
|
||||||
import net.minecraft.network.chat.TranslatableComponent;
|
import net.minecraft.network.chat.TranslatableComponent;
|
||||||
import net.minecraft.server.level.ServerPlayer;
|
import net.minecraft.server.level.ServerPlayer;
|
||||||
@@ -40,7 +40,7 @@ public class StorageMonitorBlock extends NetworkNodeBlock {
|
|||||||
@SuppressWarnings("deprecation")
|
@SuppressWarnings("deprecation")
|
||||||
public InteractionResult use(BlockState state, Level level, BlockPos pos, Player player, InteractionHand handIn, BlockHitResult hit) {
|
public InteractionResult use(BlockState state, Level level, BlockPos pos, Player player, InteractionHand handIn, BlockHitResult hit) {
|
||||||
if (!level.isClientSide) {
|
if (!level.isClientSide) {
|
||||||
ItemStack held = player.containerMenu.getCarried();
|
ItemStack held = player.getItemInHand(handIn);
|
||||||
|
|
||||||
if (player.isCrouching()) {
|
if (player.isCrouching()) {
|
||||||
return NetworkUtils.attemptModify(level, pos, player, () -> NetworkHooks.openGui(
|
return NetworkUtils.attemptModify(level, pos, player, () -> NetworkHooks.openGui(
|
||||||
|
Reference in New Issue
Block a user