mirror of
https://github.com/GeyserMC/Geyser.git
synced 2024-08-14 23:57:35 +00:00
Should clean up some crafting transactions a bit
This commit is contained in:
parent
97bedd39e2
commit
486e2fca1e
1 changed files with 8 additions and 9 deletions
|
@ -30,10 +30,7 @@ import com.github.steveice10.mc.protocol.data.game.inventory.ContainerActionType
|
||||||
import com.github.steveice10.mc.protocol.data.game.inventory.ContainerType;
|
import com.github.steveice10.mc.protocol.data.game.inventory.ContainerType;
|
||||||
import com.github.steveice10.mc.protocol.data.game.inventory.MoveToHotbarAction;
|
import com.github.steveice10.mc.protocol.data.game.inventory.MoveToHotbarAction;
|
||||||
import com.github.steveice10.mc.protocol.packet.ingame.serverbound.inventory.ServerboundContainerClickPacket;
|
import com.github.steveice10.mc.protocol.packet.ingame.serverbound.inventory.ServerboundContainerClickPacket;
|
||||||
import it.unimi.dsi.fastutil.ints.Int2ObjectMap;
|
import it.unimi.dsi.fastutil.ints.*;
|
||||||
import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap;
|
|
||||||
import it.unimi.dsi.fastutil.ints.IntOpenHashSet;
|
|
||||||
import it.unimi.dsi.fastutil.ints.IntSet;
|
|
||||||
import org.geysermc.geyser.inventory.GeyserItemStack;
|
import org.geysermc.geyser.inventory.GeyserItemStack;
|
||||||
import org.geysermc.geyser.inventory.Inventory;
|
import org.geysermc.geyser.inventory.Inventory;
|
||||||
import org.geysermc.geyser.inventory.SlotType;
|
import org.geysermc.geyser.inventory.SlotType;
|
||||||
|
@ -124,12 +121,14 @@ public final class ClickPlan {
|
||||||
}
|
}
|
||||||
|
|
||||||
ItemStack clickedItemStack;
|
ItemStack clickedItemStack;
|
||||||
if (!planIter.hasNext() && refresh) {
|
if (emulatePost1_16Logic) {
|
||||||
clickedItemStack = InventoryUtils.REFRESH_ITEM;
|
// The action must be simulated first as Java expects the new contents of the cursor (as of 1.18.1)
|
||||||
|
clickedItemStack = simulatedCursor.getItemStack();
|
||||||
} else {
|
} else {
|
||||||
if (emulatePost1_16Logic) {
|
if (!planIter.hasNext() && refresh) {
|
||||||
// The action must be simulated first as Java expects the new contents of the cursor (as of 1.18.1)
|
// Doesn't have the intended effect with state IDs since this won't cause a complete window refresh
|
||||||
clickedItemStack = simulatedCursor.getItemStack();
|
// (It will eventually once state IDs desync, but this causes more problems than not)
|
||||||
|
clickedItemStack = InventoryUtils.REFRESH_ITEM;
|
||||||
} else {
|
} else {
|
||||||
if (action.click.actionType == ContainerActionType.DROP_ITEM || action.slot == Click.OUTSIDE_SLOT) {
|
if (action.click.actionType == ContainerActionType.DROP_ITEM || action.slot == Click.OUTSIDE_SLOT) {
|
||||||
clickedItemStack = null;
|
clickedItemStack = null;
|
||||||
|
|
Loading…
Reference in a new issue