Skip to content

Commit 66ce68d

Browse files
committed
chore: respect nulls in WrapperPlayServerEntityEquipment
1 parent e173e4d commit 66ce68d

File tree

1 file changed

+14
-6
lines changed

1 file changed

+14
-6
lines changed

PacketWrapper/src/main/java/com/comphenix/packetwrapper/WrapperPlayServerEntityEquipment.java

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -134,12 +134,16 @@ public void setSlot(ItemSlot value) {
134134
List<Pair<ItemSlot, ItemStack>> slots = modifier.read(0);
135135
switch (slots.size()) {
136136
case 0: {
137-
slots.add(new Pair<>(value, null));
138-
modifier.write(0, slots);
137+
if (value != null) {
138+
slots.add(new Pair<>(value, null));
139+
modifier.write(0, slots);
140+
}
139141
return;
140142
}
141143
case 1: {
142-
slots.get(0).setFirst(value);
144+
final Pair<ItemSlot, ItemStack> first;
145+
if ((first = slots.get(0)).getSecond() != null) first.setFirst(value);
146+
else slots.remove(0);
143147
modifier.write(0, slots);
144148
return;
145149
}
@@ -204,12 +208,16 @@ public void setItem(ItemStack value) {
204208
List<Pair<ItemSlot, ItemStack>> slots = modifier.read(0);
205209
switch (slots.size()) {
206210
case 0: {
207-
slots.add(new Pair<>(null, value));
208-
modifier.write(0, slots);
211+
if (value != null) {
212+
slots.add(new Pair<>(null, value));
213+
modifier.write(0, slots);
214+
}
209215
return;
210216
}
211217
case 1: {
212-
slots.get(0).setSecond(value);
218+
final Pair<ItemSlot, ItemStack> first;
219+
if ((first = slots.get(0)).getFirst() != null) first.setSecond(value);
220+
else slots.remove(0);
213221
modifier.write(0, slots);
214222
return;
215223
}

0 commit comments

Comments
 (0)