|
23 | 23 | import net.minecraftforge.common.ForgeHooks;
|
24 | 24 | import net.minecraftforge.event.ForgeEventFactory;
|
25 | 25 | import net.minecraftforge.items.ItemHandlerHelper;
|
| 26 | +import net.minecraftforge.items.wrapper.InvWrapper; |
| 27 | +import net.minecraftforge.items.wrapper.PlayerInvWrapper; |
| 28 | +import net.minecraftforge.items.wrapper.PlayerMainInvWrapper; |
26 | 29 |
|
27 | 30 | import javax.annotation.Nullable;
|
28 | 31 | import java.util.*;
|
@@ -123,16 +126,18 @@ public void onCraftedShift(INetworkAwareGrid grid, Player player) {
|
123 | 126 | }
|
124 | 127 |
|
125 | 128 | for (ItemStack craftedItem : craftedItemsList) {
|
126 |
| - if (!player.getInventory().add(craftedItem.copy())) { |
127 |
| - ItemStack remainder = craftedItem; |
128 |
| - |
129 |
| - if (useNetwork) { |
130 |
| - remainder = network.insertItem(craftedItem, craftedItem.getCount(), Action.PERFORM); |
131 |
| - } |
| 129 | + ItemStack remainder = ItemHandlerHelper.insertItem( |
| 130 | + new PlayerMainInvWrapper(player.getInventory()), |
| 131 | + craftedItem.copy(), |
| 132 | + false |
| 133 | + ); |
| 134 | + |
| 135 | + if (!remainder.isEmpty() && useNetwork) { |
| 136 | + remainder = network.insertItem(remainder, remainder.getCount(), Action.PERFORM); |
| 137 | + } |
132 | 138 |
|
133 |
| - if (!remainder.isEmpty()) { |
134 |
| - Containers.dropItemStack(player.getCommandSenderWorld(), player.getX(), player.getY(), player.getZ(), remainder); |
135 |
| - } |
| 139 | + if (!remainder.isEmpty()) { |
| 140 | + Containers.dropItemStack(player.getCommandSenderWorld(), player.getX(), player.getY(), player.getZ(), remainder); |
136 | 141 | }
|
137 | 142 | }
|
138 | 143 |
|
|
0 commit comments