Skip to content

Commit be5344b

Browse files
committed
Reassign item on handleItemToClient calls
Needed in rewriters before 1.20 with a recent change; the rest weren't technically necessary
1 parent cc4ea71 commit be5344b

File tree

22 files changed

+73
-86
lines changed

22 files changed

+73
-86
lines changed

common/src/main/java/com/viaversion/viabackwards/api/rewriters/BackwardsItemRewriter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ public BackwardsItemRewriter(T protocol, Type<Item> itemType, Type<Item[]> itemA
132132
public @Nullable Item handleItemToServer(UserConnection connection, @Nullable Item item) {
133133
if (item == null) return null;
134134

135-
super.handleItemToServer(connection, item);
135+
item = super.handleItemToServer(connection, item);
136136
if (item.tag() != null) {
137137
Tag originalId = item.tag().remove(nbtTagName("id"));
138138
if (originalId instanceof IntTag) {

common/src/main/java/com/viaversion/viabackwards/api/rewriters/BackwardsItemRewriterBase.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ protected BackwardsItemRewriterBase(T protocol, Type<Item> itemType, Type<Item[]
4747
@Override
4848
public @Nullable Item handleItemToServer(UserConnection connection, @Nullable Item item) {
4949
if (item == null) return null;
50-
super.handleItemToServer(connection, item);
50+
item = super.handleItemToServer(connection, item);
5151

5252
restoreDisplayTag(item);
5353
return item;

common/src/main/java/com/viaversion/viabackwards/api/rewriters/LegacyBlockItemRewriter.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -208,9 +208,9 @@ public void register() {
208208
}
209209

210210
@Override
211-
public @Nullable Item handleItemToServer(UserConnection connection, @Nullable final Item item) {
211+
public @Nullable Item handleItemToServer(UserConnection connection, @Nullable Item item) {
212212
if (item == null) return null;
213-
super.handleItemToServer(connection, item);
213+
item = super.handleItemToServer(connection, item);
214214
if (item.tag() != null) {
215215
Tag originalId = item.tag().remove(nbtTagName("id"));
216216
if (originalId instanceof IntTag) {

common/src/main/java/com/viaversion/viabackwards/protocol/v1_11_1to1_11/rewriter/ItemPacketRewriter1_11_1.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ public Item handleItemToClient(UserConnection connection, Item item) {
7171
@Override
7272
public Item handleItemToServer(UserConnection connection, Item item) {
7373
if (item == null) return null;
74-
super.handleItemToServer(connection, item);
74+
item = super.handleItemToServer(connection, item);
7575

7676
enchantmentRewriter.handleToServer(item);
7777
return item;

common/src/main/java/com/viaversion/viabackwards/protocol/v1_11to1_10/rewriter/BlockItemPacketRewriter1_11.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -280,7 +280,7 @@ public Item handleItemToClient(UserConnection connection, Item item) {
280280
@Override
281281
public Item handleItemToServer(UserConnection connection, Item item) {
282282
if (item == null) return null;
283-
super.handleItemToServer(connection, item);
283+
item = super.handleItemToServer(connection, item);
284284

285285
CompoundTag tag = item.tag();
286286
if (tag == null) return item;

common/src/main/java/com/viaversion/viabackwards/protocol/v1_12to1_11_1/rewriter/BlockItemPacketRewriter1_12.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -238,7 +238,7 @@ private boolean handleNbtToClient(CompoundTag compoundTag, CompoundTag backupTag
238238
@Override
239239
public @Nullable Item handleItemToServer(UserConnection connection, Item item) {
240240
if (item == null) return null;
241-
super.handleItemToServer(connection, item);
241+
item = super.handleItemToServer(connection, item);
242242

243243
if (item.tag() != null) {
244244
if (item.tag().remove("Via|LongArrayTags") instanceof CompoundTag tag) {

common/src/main/java/com/viaversion/viabackwards/protocol/v1_13_1to1_13/Protocol1_13_1To1_13.java

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -90,16 +90,11 @@ public String transform(PacketWrapper wrapper, String inputValue) {
9090
}
9191
});
9292

93-
registerServerbound(ServerboundPackets1_13.EDIT_BOOK, new PacketHandlers() {
94-
@Override
95-
public void register() {
96-
map(Types.ITEM1_13);
97-
map(Types.BOOLEAN);
98-
handler(wrapper -> {
99-
itemRewriter.handleItemToServer(wrapper.user(), wrapper.get(Types.ITEM1_13, 0));
100-
wrapper.write(Types.VAR_INT, 0);
101-
});
102-
}
93+
registerServerbound(ServerboundPackets1_13.EDIT_BOOK, wrapper -> {
94+
final Item item = itemRewriter.handleItemToServer(wrapper.user(), wrapper.read(Types.ITEM1_13));
95+
wrapper.write(Types.ITEM1_13, item);
96+
wrapper.passthrough(Types.BOOLEAN);
97+
wrapper.write(Types.VAR_INT, 0);
10398
});
10499

105100
registerClientbound(ClientboundPackets1_13.OPEN_SCREEN, new PacketHandlers() {
@@ -181,8 +176,8 @@ public void register() {
181176
if (wrapper.passthrough(Types.BOOLEAN)) {
182177
wrapper.passthrough(Types.COMPONENT); // Title
183178
wrapper.passthrough(Types.COMPONENT); // Description
184-
Item icon = wrapper.passthrough(Types.ITEM1_13);
185-
itemRewriter.handleItemToClient(wrapper.user(), icon);
179+
Item icon = itemRewriter.handleItemToClient(wrapper.user(), wrapper.read(Types.ITEM1_13));
180+
wrapper.write(Types.ITEM1_13, icon);
186181
wrapper.passthrough(Types.VAR_INT); // Frame type
187182
int flags = wrapper.passthrough(Types.INT); // Flags
188183
if ((flags & 1) != 0)
@@ -201,7 +196,9 @@ public void register() {
201196
});
202197

203198
tagRewriter.register(ClientboundPackets1_13.UPDATE_TAGS, RegistryType.ITEM);
204-
new StatisticsRewriter<>(this).register(ClientboundPackets1_13.AWARD_STATS);
199+
new StatisticsRewriter<>(this).
200+
201+
register(ClientboundPackets1_13.AWARD_STATS);
205202
}
206203

207204
@Override

common/src/main/java/com/viaversion/viabackwards/protocol/v1_13_1to1_13/rewriter/ItemPacketRewriter1_13_1.java

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -43,18 +43,12 @@ public void registerPackets() {
4343

4444
int size = wrapper.passthrough(Types.UNSIGNED_BYTE);
4545
for (int i = 0; i < size; i++) {
46-
//Input Item
47-
Item input = wrapper.passthrough(Types.ITEM1_13);
48-
handleItemToClient(wrapper.user(), input);
49-
//Output Item
50-
Item output = wrapper.passthrough(Types.ITEM1_13);
51-
handleItemToClient(wrapper.user(), output);
46+
passthroughClientboundItem(wrapper); // Input
47+
passthroughClientboundItem(wrapper); // Output
5248

5349
boolean secondItem = wrapper.passthrough(Types.BOOLEAN); //Has second item
5450
if (secondItem) {
55-
//Second Item
56-
Item second = wrapper.passthrough(Types.ITEM1_13);
57-
handleItemToClient(wrapper.user(), second);
51+
passthroughClientboundItem(wrapper); // Second item
5852
}
5953

6054
wrapper.passthrough(Types.BOOLEAN); //Trade disabled

common/src/main/java/com/viaversion/viabackwards/protocol/v1_13to1_12_2/rewriter/BlockItemPacketRewriter1_13.java

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -260,8 +260,8 @@ public void register() {
260260

261261
handler(wrapper -> {
262262
final Item[] items = wrapper.get(Types.ITEM1_8_SHORT_ARRAY, 0);
263-
for (Item item : items) {
264-
handleItemToClient(wrapper.user(), item);
263+
for (int i = 0; i < items.length; i++) {
264+
items[i] = handleItemToClient(wrapper.user(), items[i]);
265265
}
266266
});
267267
}
@@ -272,9 +272,7 @@ public void register() {
272272
public void register() {
273273
map(Types.BYTE);
274274
map(Types.SHORT);
275-
map(Types.ITEM1_13, Types.ITEM1_8);
276-
277-
handler(wrapper -> handleItemToClient(wrapper.user(), wrapper.get(Types.ITEM1_8, 0)));
275+
handler(wrapper -> passthroughClientboundItem(wrapper));
278276
}
279277
});
280278

@@ -427,9 +425,7 @@ public void register() {
427425
public void register() {
428426
map(Types.VAR_INT);
429427
map(Types.VAR_INT);
430-
map(Types.ITEM1_13, Types.ITEM1_8);
431-
432-
handler(wrapper -> handleItemToClient(wrapper.user(), wrapper.get(Types.ITEM1_8, 0)));
428+
handler(wrapper -> passthroughClientboundItem(wrapper));
433429
}
434430
});
435431

@@ -505,7 +501,7 @@ public Item handleItemToClient(UserConnection connection, Item item) {
505501

506502
if (rawId == null) {
507503
// Look for custom mappings
508-
super.handleItemToClient(connection, item);
504+
item = super.handleItemToClient(connection, item);
509505

510506
// Handle one-way special case
511507
if (item.identifier() == -1) {
@@ -798,7 +794,7 @@ public Item handleItemToServer(UserConnection connection, Item item) {
798794
// Handle custom mappings
799795
int identifier = item.identifier();
800796
item.setIdentifier(rawId);
801-
super.handleItemToServer(connection, item);
797+
item = super.handleItemToServer(connection, item);
802798

803799
// Mapped with original data, we can return here
804800
if (item.identifier() != rawId && item.identifier() != -1) return item;

common/src/main/java/com/viaversion/viabackwards/protocol/v1_14to1_13_2/rewriter/BlockItemPacketRewriter1_14.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -223,9 +223,8 @@ protected void registerPackets() {
223223
public void register() {
224224
map(Types.VAR_INT); // 0 - Entity ID
225225
map(Types.VAR_INT); // 1 - Slot ID
226-
map(Types.ITEM1_13_2); // 2 - Item
227226

228-
handler(wrapper -> handleItemToClient(wrapper.user(), wrapper.get(Types.ITEM1_13_2, 0)));
227+
handler(wrapper -> passthroughClientboundItem(wrapper));
229228

230229
handler(wrapper -> {
231230
int entityId = wrapper.get(Types.VAR_INT, 0);
@@ -460,7 +459,7 @@ protected void registerRewrites() {
460459
@Override
461460
public Item handleItemToClient(UserConnection connection, Item item) {
462461
if (item == null) return null;
463-
super.handleItemToClient(connection, item);
462+
item = super.handleItemToClient(connection, item);
464463

465464
// Lore now uses JSON
466465
final CompoundTag display = item.tag() != null ? item.tag().getCompoundTag("display") : null;
@@ -516,7 +515,7 @@ public Item handleItemToServer(UserConnection connection, Item item) {
516515
enchantmentRewriter.handleToServer(item);
517516

518517
// Call this last to check for the backup lore above
519-
super.handleItemToServer(connection, item);
518+
item = super.handleItemToServer(connection, item);
520519
return item;
521520
}
522521
}

0 commit comments

Comments
 (0)