36public enum UpdateFlag {
41 return state != SendPlayerUpdate.UpdateState.UPDATE_SELF && other.getChatMessage().isPresent();
44 GRAPHICS(0x100, 0x80) {
47 return other.getGraphic().isPresent();
51 public boolean canApply(
Npc npc) {
52 return npc.getGraphic().isPresent();
55 ANIMATION(0x8, 0x10) {
58 return other.getAnimation().isPresent();
62 public boolean canApply(
Npc npc) {
63 return npc.getAnimation().isPresent();
66 FORCED_CHAT(0x4, 0x1),
68 FACE_COORDINATE(0x2, 0x4),
69 FIRST_HIT(0x20, 0x40),
70 SECOND_HIT(0x200, 0x8),
72 FORCE_MOVEMENT(0x400, -1) {
75 return other.getForceMovement() !=
null;
79 public final int playerMask;
80 public final int npcMask;
82 UpdateFlag(
int playerMask,
int npcMask) {
83 this.playerMask = playerMask;
84 this.npcMask = npcMask;
87 public static final UpdateFlag[] playerOrder = {
100 public static final UpdateFlag[] npcOrder = {
111 public static boolean contains(
int masks,
int mask) {
112 return (masks & mask) != 0;
115 public static boolean containsPlayer(
int masks, UpdateFlag flag) {
116 return contains(masks, flag.playerMask);
119 public static boolean containsNpc(
int masks, UpdateFlag flag) {
120 return contains(masks, flag.npcMask);
127 public boolean canApply(
Npc npc) {