From e484d379312cf659252997ff10dad61e6e7496c2 Mon Sep 17 00:00:00 2001 From: Darkere Date: Sun, 7 Jun 2020 12:10:10 +0200 Subject: [PATCH] fix contructor placing filter instead of stored item fixes #2540 (#2546) --- .../apiimpl/network/node/ConstructorNetworkNode.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/refinedmods/refinedstorage/apiimpl/network/node/ConstructorNetworkNode.java b/src/main/java/com/refinedmods/refinedstorage/apiimpl/network/node/ConstructorNetworkNode.java index 1bd54a1a2..bfbd10de7 100644 --- a/src/main/java/com/refinedmods/refinedstorage/apiimpl/network/node/ConstructorNetworkNode.java +++ b/src/main/java/com/refinedmods/refinedstorage/apiimpl/network/node/ConstructorNetworkNode.java @@ -109,18 +109,19 @@ public class ConstructorNetworkNode extends NetworkNode implements IComparable, } private void extractAndPlaceBlock(ItemStack stack) { - if (!network.extractItem(stack, 1, compare, Action.SIMULATE).isEmpty()) { + ItemStack took = network.extractItem(stack, 1, compare, Action.SIMULATE); + if (!took.isEmpty()) { BlockItemUseContext ctx = new ConstructorBlockItemUseContext( world, WorldUtils.getFakePlayer((ServerWorld) world, getOwner()), Hand.MAIN_HAND, - ItemHandlerHelper.copyStackWithSize(stack, 1), + took, new BlockRayTraceResult(Vec3d.ZERO, getDirection(), pos, false) ); ActionResultType result = ForgeHooks.onPlaceItemIntoWorld(ctx); if (result == ActionResultType.SUCCESS) { - network.extractItem(stack, 1, Action.PERFORM); + network.extractItem(took, 1, Action.PERFORM); } } else if (upgrades.hasUpgrade(UpgradeItem.Type.CRAFTING)) { ItemStack craft = itemFilters.getStackInSlot(0);