33import com .github .retrooper .packetevents .manager .server .ServerVersion ;
44import com .github .retrooper .packetevents .protocol .entity .data .EntityDataTypes ;
55import com .github .retrooper .packetevents .protocol .nbt .NBTCompound ;
6- import me .tofaa .entitylib .EntityLib ;
76import me .tofaa .entitylib .meta .Metadata ;
87import org .jetbrains .annotations .Nullable ;
98
10- public class PlayerMeta extends LivingEntityMeta {
9+ public class PlayerMeta extends AvatarMeta {
1110
12- public static final byte OFFSET = LivingEntityMeta .MAX_OFFSET ;
13- public static final byte MAX_OFFSET = OFFSET + 1 ;
14-
15- private final static byte CAPE_BIT = 0x01 ;
16- private final static byte JACKET_BIT = 0x02 ;
17- private final static byte LEFT_SLEEVE_BIT = 0x04 ;
18- private final static byte RIGHT_SLEEVE_BIT = 0x08 ;
19- private final static byte LEFT_LEG_BIT = 0x10 ;
20- private final static byte RIGHT_LEG_BIT = 0x20 ;
21- private final static byte HAT_BIT = 0x40 ;
11+ public static final byte OFFSET = AvatarMeta .MAX_OFFSET ;
12+ public static final byte MAX_OFFSET = OFFSET + 4 ;
2213
2314 public PlayerMeta (int entityId , Metadata metadata ) {
2415 super (entityId , metadata );
@@ -33,115 +24,31 @@ public void setAdditionalHearts(float value) {
3324 }
3425
3526 public int getScore () {
36- return super .metadata .getIndex (offset (OFFSET ,1 ), 0 );
27+ return super .metadata .getIndex (offset (OFFSET , 1 ), 0 );
3728 }
3829
3930 public void setScore (int value ) {
40- super .metadata .setIndex (offset (OFFSET ,1 ), EntityDataTypes .INT , value );
41- }
42-
43- public boolean isCapeEnabled () {
44- isVersionNewer (ServerVersion .V_1_9 );
45- return getMaskBit (offset (OFFSET ,2 ), CAPE_BIT );
46- }
47-
48- public void setCapeEnabled (boolean value ) {
49- isVersionNewer (ServerVersion .V_1_9 );
50- setMaskBit (offset (OFFSET ,2 ), CAPE_BIT , value );
51- }
52-
53- public boolean isJacketEnabled () {
54- isVersionNewer (ServerVersion .V_1_9 );
55- return getMaskBit (offset (OFFSET ,2 ), JACKET_BIT );
56- }
57-
58- public void setJacketEnabled (boolean value ) {
59- isVersionNewer (ServerVersion .V_1_9 );
60- setMaskBit (offset (OFFSET ,2 ), JACKET_BIT , value );
61- }
62-
63- public boolean isLeftSleeveEnabled () {
64- isVersionNewer (ServerVersion .V_1_9 );
65- return getMaskBit (offset (OFFSET ,2 ), LEFT_SLEEVE_BIT );
66- }
67-
68- public void setLeftSleeveEnabled (boolean value ) {
69- isVersionNewer (ServerVersion .V_1_9 );
70- setMaskBit (offset (OFFSET ,2 ), LEFT_SLEEVE_BIT , value );
71- }
72-
73- public boolean isRightSleeveEnabled () {
74- isVersionNewer (ServerVersion .V_1_9 );
75- return getMaskBit (offset (OFFSET ,2 ), RIGHT_SLEEVE_BIT );
76- }
77-
78- public void setRightSleeveEnabled (boolean value ) {
79- isVersionNewer (ServerVersion .V_1_9 );
80- setMaskBit (offset (OFFSET ,2 ), RIGHT_SLEEVE_BIT , value );
81- }
82-
83- public boolean isLeftLegEnabled () {
84- isVersionNewer (ServerVersion .V_1_9 );
85- return getMaskBit (offset (OFFSET ,2 ), LEFT_LEG_BIT );
86- }
87-
88- public void setLeftLegEnabled (boolean value ) {
89- isVersionNewer (ServerVersion .V_1_9 );
90- setMaskBit (offset (OFFSET ,2 ), LEFT_LEG_BIT , value );
91- }
92-
93- public boolean isRightLegEnabled () {
94- isVersionNewer (ServerVersion .V_1_9 );
95- return getMaskBit (offset (OFFSET ,2 ), RIGHT_LEG_BIT );
96- }
97-
98- public void setRightLegEnabled (boolean value ) {
99- isVersionNewer (ServerVersion .V_1_9 );
100- setMaskBit (offset (OFFSET ,2 ), RIGHT_LEG_BIT , value );
101- }
102-
103- public boolean isHatEnabled () {
104- isVersionNewer (ServerVersion .V_1_9 );
105- return getMaskBit (offset (OFFSET ,2 ), HAT_BIT );
106- }
107-
108- public void setHatEnabled (boolean value ) {
109- isVersionNewer (ServerVersion .V_1_9 );
110- setMaskBit (offset (OFFSET ,2 ), HAT_BIT , value );
111- }
112-
113- public boolean isRightHandMain () {
114- if (EntityLib .getApi ().getPacketEvents ().getServerManager ().getVersion ().isOlderThan (ServerVersion .V_1_9 )) {
115- return true ;
116- }
117- return super .metadata .getIndex (offset (OFFSET ,3 ), (byte ) 1 ) == (byte ) 1 ;
118- }
119-
120- public void setRightHandMain (boolean value ) {
121- if (EntityLib .getApi ().getPacketEvents ().getServerManager ().getVersion ().isOlderThan (ServerVersion .V_1_9 )) {
122- return ;
123- }
124- super .metadata .setIndex (offset (OFFSET ,3 ), EntityDataTypes .BYTE , (byte ) (value ? 1 : 0 ));
31+ super .metadata .setIndex (offset (OFFSET , 1 ), EntityDataTypes .INT , value );
12532 }
12633
12734 public @ Nullable NBTCompound getLeftShoulderData () {
12835 isVersionNewer (ServerVersion .V_1_11 );
129- return super .metadata .getIndex (offset (OFFSET ,4 ), null );
36+ return super .metadata .getIndex (offset (OFFSET , 2 ), null );
13037 }
13138
13239 public void setLeftShoulderData (@ Nullable NBTCompound value ) {
133- if ( value == null ) value = new NBTCompound ( );
134- super .metadata .setIndex (offset (OFFSET ,4 ), EntityDataTypes .NBT , value );
40+ isVersionNewer ( ServerVersion . V_1_11 );
41+ super .metadata .setIndex (offset (OFFSET , 2 ), EntityDataTypes .NBT , value );
13542 }
13643
13744 public @ Nullable NBTCompound getRightShoulderData () {
13845 isVersionNewer (ServerVersion .V_1_11 );
139- return super .metadata .getIndex (offset (OFFSET ,5 ), null );
46+ return super .metadata .getIndex (offset (OFFSET , 3 ), null );
14047 }
14148
14249 public void setRightShoulderData (@ Nullable NBTCompound value ) {
50+ isVersionNewer (ServerVersion .V_1_11 );
14351 if (value == null ) value = new NBTCompound ();
144- super .metadata .setIndex (offset (OFFSET ,5 ), EntityDataTypes .NBT , value );
52+ super .metadata .setIndex (offset (OFFSET , 3 ), EntityDataTypes .NBT , value );
14553 }
146-
14754}
0 commit comments