Only send release packet if action type is 0

Needed for eating to work correctly
This commit is contained in:
AJ Ferguson 2019-09-29 15:39:03 -08:00
parent 1364eb1df7
commit 6fa25aa264

View file

@ -41,16 +41,16 @@ public class BedrockInventoryTransactionTranslator extends PacketTranslator<Inve
public void translate(InventoryTransactionPacket packet, GeyserSession session) { public void translate(InventoryTransactionPacket packet, GeyserSession session) {
switch (packet.getTransactionType()) { switch (packet.getTransactionType()) {
case ITEM_USE: case ITEM_USE:
switch (packet.getActionType()) { if (packet.getActionType() == 1) {
case 1:
ClientPlayerUseItemPacket useItemPacket = new ClientPlayerUseItemPacket(Hand.MAIN_HAND); ClientPlayerUseItemPacket useItemPacket = new ClientPlayerUseItemPacket(Hand.MAIN_HAND);
session.getDownstream().getSession().send(useItemPacket); session.getDownstream().getSession().send(useItemPacket);
break;
} }
break; break;
case ITEM_RELEASE: case ITEM_RELEASE:
if (packet.getActionType() == 0) {
ClientPlayerActionPacket releaseItemPacket = new ClientPlayerActionPacket(PlayerAction.RELEASE_USE_ITEM, new Position(0, 0, 0), BlockFace.DOWN); ClientPlayerActionPacket releaseItemPacket = new ClientPlayerActionPacket(PlayerAction.RELEASE_USE_ITEM, new Position(0, 0, 0), BlockFace.DOWN);
session.getDownstream().getSession().send(releaseItemPacket); session.getDownstream().getSession().send(releaseItemPacket);
}
break; break;
} }
} }