новый пакет: EntityActionPacket
This commit is contained in:
@@ -80,6 +80,7 @@ public enum State {
|
||||
.put(0x0D, PlayerPositionPacket.class)
|
||||
.put(0x0E, PlayerPositionAndLookPacket.class)
|
||||
.put(0x0F, PlayerLookPacket.class)
|
||||
.put(0x15, EntityActionPacket.class)
|
||||
.put(0x1A, HeldItemChangePacket.class)
|
||||
.put(0x1D, AnimationPacket.class)
|
||||
.build(),
|
||||
|
||||
@@ -0,0 +1,45 @@
|
||||
package mc.core.network.proto_1_12_2.packets;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import mc.core.network.CSPacket;
|
||||
import mc.core.network.NetInputStream;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
@Getter
|
||||
public class EntityActionPacket implements CSPacket {
|
||||
@RequiredArgsConstructor
|
||||
public enum Action {
|
||||
START_SNEAKING(0),
|
||||
STOP_SNEAKING(1),
|
||||
LEAVE_BED(2), // Leave bed is only sent when the “Leave Bed” button is clicked on the sleep GUI, not when waking up due today time.
|
||||
START_SPRINTING(3),
|
||||
STOP_SPRINTING(4),
|
||||
START_JUMP_WITH_HORSE(5),
|
||||
STOP_JUMP_WITH_HORSE(6),
|
||||
OPEN_HORSE_INVENTORY(7), // Open horse inventory is only sent when pressing the inventory key (default: E) while on a horse — all other methods of opening a horse's inventory (involving right-clicking or shift-right-clicking it) do not use this packet.
|
||||
START_FLYING_WITH_ELYTRA(8);
|
||||
|
||||
public static Action getById(final int id) {
|
||||
return Arrays.stream(Action.values())
|
||||
.filter(action -> action.id == id)
|
||||
.findFirst()
|
||||
.orElse(null);
|
||||
}
|
||||
|
||||
@Getter
|
||||
private final int id;
|
||||
}
|
||||
|
||||
private int entityId;
|
||||
private Action action;
|
||||
private int jumpBoost; // Only used by the “start jump with horse” action, in which case it ranges from 0 to 100. In all other cases it is 0.
|
||||
|
||||
@Override
|
||||
public void readSelf(NetInputStream netStream) {
|
||||
entityId = netStream.readVarInt();
|
||||
action = Action.getById(netStream.readVarInt());
|
||||
jumpBoost = netStream.readVarInt();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user