diff --git a/api/src/main/java/com/viaversion/viaversion/api/rewriter/ItemRewriter.java b/api/src/main/java/com/viaversion/viaversion/api/rewriter/ItemRewriter.java index 71f98081a..3bfcd0709 100644 --- a/api/src/main/java/com/viaversion/viaversion/api/rewriter/ItemRewriter.java +++ b/api/src/main/java/com/viaversion/viaversion/api/rewriter/ItemRewriter.java @@ -22,6 +22,7 @@ */ package com.viaversion.viaversion.api.rewriter; +import com.viaversion.viaversion.api.connection.UserConnection; import com.viaversion.viaversion.api.minecraft.item.Item; import com.viaversion.viaversion.api.protocol.Protocol; import com.viaversion.viaversion.api.type.Type; @@ -32,18 +33,22 @@ public interface ItemRewriter extends Rewriter { /** * Returns the rewritten item, which may or may not be the same given Item instance. * - * @param item item + * @param connection user connection + * @param item item * @return rewritten item */ - @Nullable Item handleItemToClient(@Nullable Item item); + @Nullable + Item handleItemToClient(UserConnection connection, @Nullable Item item); /** * Returns the rewritten item, which may or may not be the same given Item instance. * - * @param item item + * @param connection user connection + * @param item item * @return rewritten item */ - @Nullable Item handleItemToServer(@Nullable Item item); + @Nullable + Item handleItemToServer(UserConnection connection, @Nullable Item item); /** * Returns the item type of the current protocol. diff --git a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_10to1_9_3/packets/InventoryPackets.java b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_10to1_9_3/packets/InventoryPackets.java index bb2269eba..9b1107a3c 100644 --- a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_10to1_9_3/packets/InventoryPackets.java +++ b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_10to1_9_3/packets/InventoryPackets.java @@ -17,6 +17,7 @@ */ package com.viaversion.viaversion.protocols.protocol1_10to1_9_3.packets; +import com.viaversion.viaversion.api.connection.UserConnection; import com.viaversion.viaversion.api.minecraft.item.Item; import com.viaversion.viaversion.api.type.Type; import com.viaversion.viaversion.protocols.protocol1_10to1_9_3.Protocol1_10To1_9_3_4; @@ -36,7 +37,7 @@ public class InventoryPackets extends ItemRewriter= 213 && item.identifier() <= 217; if (newItem) { // Replace server-side unknown items diff --git a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_11_1to1_11/packets/InventoryPackets.java b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_11_1to1_11/packets/InventoryPackets.java index be4520e65..b6647f199 100644 --- a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_11_1to1_11/packets/InventoryPackets.java +++ b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_11_1to1_11/packets/InventoryPackets.java @@ -17,6 +17,7 @@ */ package com.viaversion.viaversion.protocols.protocol1_11_1to1_11.packets; +import com.viaversion.viaversion.api.connection.UserConnection; import com.viaversion.viaversion.api.minecraft.item.Item; import com.viaversion.viaversion.api.type.Type; import com.viaversion.viaversion.protocols.protocol1_11_1to1_11.Protocol1_11_1To1_11; @@ -36,7 +37,7 @@ public class InventoryPackets extends ItemRewriter= 218 && item.identifier() <= 234; diff --git a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_12to1_11_1/metadata/MetadataRewriter1_12To1_11_1.java b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_12to1_11_1/metadata/MetadataRewriter1_12To1_11_1.java index a76ab5dcc..632d4c8e3 100644 --- a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_12to1_11_1/metadata/MetadataRewriter1_12To1_11_1.java +++ b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_12to1_11_1/metadata/MetadataRewriter1_12To1_11_1.java @@ -34,7 +34,7 @@ public class MetadataRewriter1_12To1_11_1 extends EntityRewriter { if (meta.getValue() instanceof Item) { - meta.setValue(protocol.getItemRewriter().handleItemToClient(meta.value())); + meta.setValue(protocol.getItemRewriter().handleItemToClient(event.user(), meta.value())); } }); diff --git a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_12to1_11_1/packets/InventoryPackets.java b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_12to1_11_1/packets/InventoryPackets.java index 498d0063c..51520064f 100644 --- a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_12to1_11_1/packets/InventoryPackets.java +++ b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_12to1_11_1/packets/InventoryPackets.java @@ -18,6 +18,7 @@ package com.viaversion.viaversion.protocols.protocol1_12to1_11_1.packets; import com.viaversion.viaversion.api.Via; +import com.viaversion.viaversion.api.connection.UserConnection; import com.viaversion.viaversion.api.minecraft.item.Item; import com.viaversion.viaversion.api.protocol.remapper.PacketHandlers; import com.viaversion.viaversion.api.type.Type; @@ -52,12 +53,12 @@ public class InventoryPackets extends ItemRewriter { Item item = wrapper.get(Type.ITEM1_8, 0); if (!Via.getConfig().is1_12QuickMoveActionFix()) { - handleItemToServer(item); + handleItemToServer(wrapper.user(), item); return; } byte button = wrapper.get(Type.BYTE, 0); @@ -100,7 +101,7 @@ public class InventoryPackets extends ItemRewriter { Item item = wrapper.get(Type.ITEM1_13, 0); - itemRewriter.handleItemToServer(item); + itemRewriter.handleItemToServer(wrapper.user(), item); }); handler(wrapper -> { int hand = wrapper.read(Type.VAR_INT); diff --git a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_13_1to1_13/packets/InventoryPackets.java b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_13_1to1_13/packets/InventoryPackets.java index 5cb4db20f..bbf606d1c 100644 --- a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_13_1to1_13/packets/InventoryPackets.java +++ b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_13_1to1_13/packets/InventoryPackets.java @@ -52,14 +52,14 @@ public class InventoryPackets extends ItemRewriter extends Comp final Item item = new DataItem(); item.setData(damage); item.setTag(itemTag); - protocol.getItemRewriter().handleItemToClient(item); + protocol.getItemRewriter().handleItemToClient(null, item); // Serialize again if (damage != item.data()) { diff --git a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_13to1_12_2/data/ParticleRewriter.java b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_13to1_12_2/data/ParticleRewriter.java index 21c6a37ec..c38af8f4c 100644 --- a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_13to1_12_2/data/ParticleRewriter.java +++ b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_13to1_12_2/data/ParticleRewriter.java @@ -138,7 +138,7 @@ public class ParticleRewriter { } // Transform to new Item - Via.getManager().getProtocolManager().getProtocol(Protocol1_13To1_12_2.class).getItemRewriter().handleItemToClient(item); + Via.getManager().getProtocolManager().getProtocol(Protocol1_13To1_12_2.class).getItemRewriter().handleItemToClient(null, item); particle.add(Type.ITEM1_13, item); // Item Slot The item that will be used. return particle; diff --git a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_13to1_12_2/metadata/MetadataRewriter1_13To1_12_2.java b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_13to1_12_2/metadata/MetadataRewriter1_13To1_12_2.java index d0c28bb78..973e68796 100644 --- a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_13to1_12_2/metadata/MetadataRewriter1_13To1_12_2.java +++ b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_13to1_12_2/metadata/MetadataRewriter1_13To1_12_2.java @@ -39,7 +39,7 @@ public class MetadataRewriter1_13To1_12_2 extends EntityRewriter Types1_13.META_TYPES.byId(typeId > 4 ? typeId + 1 : typeId)); - filter().metaType(Types1_13.META_TYPES.itemType).handler(((event, meta) -> protocol.getItemRewriter().handleItemToClient(meta.value()))); + filter().metaType(Types1_13.META_TYPES.itemType).handler(((event, meta) -> protocol.getItemRewriter().handleItemToClient(event.user(), meta.value()))); filter().metaType(Types1_13.META_TYPES.blockStateType).handler(((event, meta) -> { final int oldId = meta.value(); if (oldId != 0) { diff --git a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_13to1_12_2/packets/InventoryPackets.java b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_13to1_12_2/packets/InventoryPackets.java index 2e6d8c8ef..8aacf8ff0 100644 --- a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_13to1_12_2/packets/InventoryPackets.java +++ b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_13to1_12_2/packets/InventoryPackets.java @@ -26,6 +26,7 @@ import com.github.steveice10.opennbt.tag.builtin.Tag; import com.google.common.base.Joiner; import com.google.common.primitives.Ints; import com.viaversion.viaversion.api.Via; +import com.viaversion.viaversion.api.connection.UserConnection; import com.viaversion.viaversion.api.minecraft.item.Item; import com.viaversion.viaversion.api.protocol.remapper.PacketHandlers; import com.viaversion.viaversion.api.type.Type; @@ -62,7 +63,7 @@ public class InventoryPackets extends ItemRewriter handleItemToClient(wrapper.get(Type.ITEM1_13, 0))); + handler(wrapper -> handleItemToClient(wrapper.user(), wrapper.get(Type.ITEM1_13, 0))); } }); protocol.registerClientbound(ClientboundPackets1_12_1.WINDOW_ITEMS, new PacketHandlers() { @@ -74,7 +75,7 @@ public class InventoryPackets extends ItemRewriter { Item[] items = wrapper.get(Type.ITEM1_13_SHORT_ARRAY, 0); for (Item item : items) { - handleItemToClient(item); + handleItemToClient(wrapper.user(), item); } }); } @@ -142,18 +143,18 @@ public class InventoryPackets extends ItemRewriter handleItemToClient(wrapper.get(Type.ITEM1_13, 0))); + handler(wrapper -> handleItemToClient(wrapper.user(), wrapper.get(Type.ITEM1_13, 0))); } }); @@ -216,7 +217,7 @@ public class InventoryPackets extends ItemRewriter handleItemToServer(wrapper.get(Type.ITEM1_8, 0))); + handler(wrapper -> handleItemToServer(wrapper.user(), wrapper.get(Type.ITEM1_8, 0))); } }); @@ -258,13 +259,13 @@ public class InventoryPackets extends ItemRewriter handleItemToServer(wrapper.get(Type.ITEM1_8, 0))); + handler(wrapper -> handleItemToServer(wrapper.user(), wrapper.get(Type.ITEM1_8, 0))); } }); } @Override - public Item handleItemToClient(Item item) { + public Item handleItemToClient(UserConnection connection, Item item) { if (item == null) return null; CompoundTag tag = item.tag(); @@ -504,7 +505,7 @@ public class InventoryPackets extends ItemRewriter { Item item = wrapper.passthrough(Type.ITEM1_13_2); - protocol.getItemRewriter().handleItemToServer(item); + protocol.getItemRewriter().handleItemToServer(wrapper.user(), item); if (item == null) return; diff --git a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_15to1_14_4/Protocol1_15To1_14_4.java b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_15to1_14_4/Protocol1_15To1_14_4.java index 546a1212b..1b06301ac 100644 --- a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_15to1_14_4/Protocol1_15To1_14_4.java +++ b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_15to1_14_4/Protocol1_15To1_14_4.java @@ -59,7 +59,7 @@ public class Protocol1_15To1_14_4 extends AbstractProtocol(this).register(ClientboundPackets1_14_4.STATISTICS); - registerServerbound(ServerboundPackets1_14.EDIT_BOOK, wrapper -> itemRewriter.handleItemToServer(wrapper.passthrough(Type.ITEM1_13_2))); + registerServerbound(ServerboundPackets1_14.EDIT_BOOK, wrapper -> itemRewriter.handleItemToServer(wrapper.user(), wrapper.passthrough(Type.ITEM1_13_2))); tagRewriter.register(ClientboundPackets1_14_4.TAGS, RegistryType.ENTITY); } diff --git a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_15to1_14_4/packets/WorldPackets.java b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_15to1_14_4/packets/WorldPackets.java index ff5ecca6b..9847a1b0d 100644 --- a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_15to1_14_4/packets/WorldPackets.java +++ b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_15to1_14_4/packets/WorldPackets.java @@ -99,7 +99,7 @@ public final class WorldPackets { int data = wrapper.passthrough(Type.VAR_INT); wrapper.set(Type.VAR_INT, 0, protocol.getMappingData().getNewBlockStateId(data)); } else if (id == 32) { - protocol.getItemRewriter().handleItemToClient(wrapper.passthrough(Type.ITEM1_13_2)); + protocol.getItemRewriter().handleItemToClient(wrapper.user(), wrapper.passthrough(Type.ITEM1_13_2)); } }); } diff --git a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_16_2to1_16_1/packets/InventoryPackets.java b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_16_2to1_16_1/packets/InventoryPackets.java index a95c45374..9c2d174eb 100644 --- a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_16_2to1_16_1/packets/InventoryPackets.java +++ b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_16_2to1_16_1/packets/InventoryPackets.java @@ -56,7 +56,7 @@ public class InventoryPackets extends ItemRewriter handleItemToServer(wrapper.passthrough(Type.ITEM1_13_2))); + protocol.registerServerbound(ServerboundPackets1_16_2.EDIT_BOOK, wrapper -> handleItemToServer(wrapper.user(), wrapper.passthrough(Type.ITEM1_13_2))); registerSpawnParticle(ClientboundPackets1_16.SPAWN_PARTICLE, Type.DOUBLE); } diff --git a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_16to1_15_2/packets/InventoryPackets.java b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_16to1_15_2/packets/InventoryPackets.java index af4bed1d5..09cf0112f 100644 --- a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_16to1_15_2/packets/InventoryPackets.java +++ b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_16to1_15_2/packets/InventoryPackets.java @@ -22,6 +22,7 @@ import com.github.steveice10.opennbt.tag.builtin.IntArrayTag; import com.github.steveice10.opennbt.tag.builtin.ListTag; import com.github.steveice10.opennbt.tag.builtin.NumberTag; import com.github.steveice10.opennbt.tag.builtin.StringTag; +import com.viaversion.viaversion.api.connection.UserConnection; import com.viaversion.viaversion.api.minecraft.item.Item; import com.viaversion.viaversion.api.protocol.packet.PacketWrapper; import com.viaversion.viaversion.api.protocol.remapper.PacketHandler; @@ -119,7 +120,7 @@ public class InventoryPackets extends ItemRewriter { int slot = wrapper.read(Type.VAR_INT); wrapper.write(Type.BYTE, (byte) slot); - handleItemToClient(wrapper.passthrough(Type.ITEM1_13_2)); + handleItemToClient(wrapper.user(), wrapper.passthrough(Type.ITEM1_13_2)); }); } }); @@ -134,13 +135,13 @@ public class InventoryPackets extends ItemRewriter handleItemToServer(wrapper.passthrough(Type.ITEM1_13_2))); + protocol.registerServerbound(ServerboundPackets1_16.EDIT_BOOK, wrapper -> handleItemToServer(wrapper.user(), wrapper.passthrough(Type.ITEM1_13_2))); registerSpawnParticle(ClientboundPackets1_15.SPAWN_PARTICLE, Type.DOUBLE); } @Override - public Item handleItemToClient(Item item) { + public Item handleItemToClient(UserConnection connection, Item item) { if (item == null) return null; CompoundTag tag = item.tag(); @@ -169,7 +170,7 @@ public class InventoryPackets extends ItemRewriter handleItemToServer(wrapper.passthrough(Type.ITEM1_13_2))); + protocol.registerServerbound(ServerboundPackets1_17.EDIT_BOOK, wrapper -> handleItemToServer(wrapper.user(), wrapper.passthrough(Type.ITEM1_13_2))); protocol.registerServerbound(ServerboundPackets1_17.CLICK_WINDOW, new PacketHandlers() { @Override @@ -81,7 +82,7 @@ public final class InventoryPackets extends ItemRewriter { final Particle particle = (Particle) meta.getValue(); - if (particle.getId() == 2) { // Barrier + if (particle.id() == 2) { // Barrier particle.setId(3); // Block marker particle.add(Type.VAR_INT, 7754); // Barrier state - } else if (particle.getId() == 3) { // Light block + } else if (particle.id() == 3) { // Light block particle.add(Type.VAR_INT, 7786); // Light block state } else { - rewriteParticle(particle); + rewriteParticle(event.user(), particle); } }); diff --git a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_18to1_17_1/packets/InventoryPackets.java b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_18to1_17_1/packets/InventoryPackets.java index af7b7f335..db38aa702 100644 --- a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_18to1_17_1/packets/InventoryPackets.java +++ b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_18to1_17_1/packets/InventoryPackets.java @@ -86,7 +86,7 @@ public final class InventoryPackets extends ItemRewriter extends Recip wrapper.passthrough(Type.STRING); // Group wrapper.passthrough(Type.VAR_INT); // Crafting book category handleIngredients(wrapper); - final Item result = rewrite(wrapper.read(itemType())); + final Item result = rewrite(wrapper.user(), wrapper.read(itemType())); wrapper.write(mappedItemType(), result); } @@ -61,7 +61,7 @@ public class RecipeRewriter1_19_3 extends Recip for (int i = 0; i < ingredients; i++) { handleIngredient(wrapper); } - final Item result = rewrite(wrapper.read(itemType())); + final Item result = rewrite(wrapper.user(), wrapper.read(itemType())); wrapper.write(mappedItemType(), result); } @@ -70,7 +70,7 @@ public class RecipeRewriter1_19_3 extends Recip wrapper.passthrough(Type.STRING); // Group wrapper.passthrough(Type.VAR_INT); // Crafting book category handleIngredient(wrapper); - final Item result = rewrite(wrapper.read(itemType())); + final Item result = rewrite(wrapper.user(), wrapper.read(itemType())); wrapper.write(mappedItemType(), result); wrapper.passthrough(Type.FLOAT); // EXP wrapper.passthrough(Type.VAR_INT); // Cooking time diff --git a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_19to1_18_2/packets/EntityPackets.java b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_19to1_18_2/packets/EntityPackets.java index 6ad9ab3bb..3cda4e74e 100644 --- a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_19to1_18_2/packets/EntityPackets.java +++ b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_19to1_18_2/packets/EntityPackets.java @@ -335,7 +335,7 @@ public final class EntityPackets extends EntityRewriter { final Item[] items = wrapper.read(Type.ITEM1_13_2_ARRAY); for (final Item item : items) { - handleItemToClient(item); + handleItemToClient(wrapper.user(), item); } wrapper.write(Type.ITEM1_20_2_ARRAY, items); - wrapper.write(Type.ITEM1_20_2, handleItemToClient(wrapper.read(Type.ITEM1_13_2))); // Carried item + wrapper.write(Type.ITEM1_20_2, handleItemToClient(wrapper.user(), wrapper.read(Type.ITEM1_13_2))); // Carried item }); } }); @@ -135,7 +136,7 @@ public final class BlockItemPacketRewriter1_20_2 extends ItemRewriter wrapper.write(Type.ITEM1_20_2, handleItemToClient(wrapper.read(Type.ITEM1_13_2)))); + handler(wrapper -> wrapper.write(Type.ITEM1_20_2, handleItemToClient(wrapper.user(), wrapper.read(Type.ITEM1_13_2)))); } }); protocol.registerClientbound(ClientboundPackets1_19_4.ADVANCEMENTS, wrapper -> { @@ -152,7 +153,7 @@ public final class BlockItemPacketRewriter1_20_2 extends ItemRewriter wrapper.write(Type.ITEM1_13_2, handleItemToServer(wrapper.read(Type.ITEM1_20_2)))); // 1 - Clicked Item + handler(wrapper -> wrapper.write(Type.ITEM1_13_2, handleItemToServer(wrapper.user(), wrapper.read(Type.ITEM1_20_2)))); // 1 - Clicked Item } }); protocol.registerClientbound(ClientboundPackets1_19_4.SPAWN_PARTICLE, new PacketHandlers() { @@ -253,7 +254,7 @@ public final class BlockItemPacketRewriter1_20_2 extends ItemRewriter extends Recip handleIngredient(wrapper); } - final Item item = rewrite(wrapper.read(itemType())); // Result + final Item item = rewrite(wrapper.user(), wrapper.read(itemType())); // Result wrapper.write(mappedItemType(), item); wrapper.passthrough(Type.BOOLEAN); // Show notification } diff --git a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_20_5to1_20_3/rewriter/BlockItemPacketRewriter1_20_5.java b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_20_5to1_20_3/rewriter/BlockItemPacketRewriter1_20_5.java index 2ec3147df..86a4be39a 100644 --- a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_20_5to1_20_3/rewriter/BlockItemPacketRewriter1_20_5.java +++ b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_20_5to1_20_3/rewriter/BlockItemPacketRewriter1_20_5.java @@ -23,6 +23,7 @@ import com.github.steveice10.opennbt.tag.builtin.ListTag; import com.github.steveice10.opennbt.tag.builtin.NumberTag; import com.github.steveice10.opennbt.tag.builtin.StringTag; import com.github.steveice10.opennbt.tag.builtin.Tag; +import com.viaversion.viaversion.api.connection.UserConnection; import com.viaversion.viaversion.api.data.ParticleMappings; import com.viaversion.viaversion.api.minecraft.GameProfile; import com.viaversion.viaversion.api.minecraft.Particle; @@ -110,7 +111,7 @@ public final class BlockItemPacketRewriter1_20_5 extends ItemRewriter { final MetaType type = meta.metaType(); if (type == itemType) { - meta.setValue(protocol.getItemRewriter().handleItemToClient(meta.value())); + meta.setValue(protocol.getItemRewriter().handleItemToClient(event.user(), meta.value())); } else if (type == blockStateType) { int data = meta.value(); meta.setValue(protocol.getMappingData().getNewBlockStateId(data)); @@ -234,7 +234,7 @@ public abstract class EntityRewriter data = particle.getArgument(0); data.setValue(protocol.getMappingData().getNewBlockStateId(data.getValue())); } else if (mappings.isItemParticle(id) && protocol.getItemRewriter() != null) { Particle.ParticleData data = particle.getArgument(0); Item item = data.getValue(); - protocol.getItemRewriter().handleItemToClient(item); + protocol.getItemRewriter().handleItemToClient(connection, item); } particle.setId(protocol.getMappingData().getNewParticleId(id)); @@ -606,7 +606,7 @@ public abstract class EntityRewriter from, Type to) throws Exception { final Particle particle = wrapper.read(from); - rewriteParticle(particle); + rewriteParticle(wrapper.user(), particle); wrapper.write(to, particle); } diff --git a/common/src/main/java/com/viaversion/viaversion/rewriter/ItemRewriter.java b/common/src/main/java/com/viaversion/viaversion/rewriter/ItemRewriter.java index b35144028..48b943b44 100644 --- a/common/src/main/java/com/viaversion/viaversion/rewriter/ItemRewriter.java +++ b/common/src/main/java/com/viaversion/viaversion/rewriter/ItemRewriter.java @@ -17,6 +17,7 @@ */ package com.viaversion.viaversion.rewriter; +import com.viaversion.viaversion.api.connection.UserConnection; import com.viaversion.viaversion.api.data.Mappings; import com.viaversion.viaversion.api.data.ParticleMappings; import com.viaversion.viaversion.api.minecraft.Particle; @@ -51,7 +52,7 @@ public class ItemRewriter { final Particle particle = wrapper.read(unmappedParticleType); - rewriteParticle(particle); + rewriteParticle(wrapper.user(), particle); wrapper.write(mappedParticleType, particle); }); } @@ -484,8 +485,8 @@ public class ItemRewriter data = particle.getArgument(0); - data.setValue(handleItemToClient(data.getValue())); + data.setValue(handleItemToClient(connection, data.getValue())); } particle.setId(protocol.getMappingData().getNewParticleId(id)); diff --git a/common/src/main/java/com/viaversion/viaversion/rewriter/RecipeRewriter.java b/common/src/main/java/com/viaversion/viaversion/rewriter/RecipeRewriter.java index add8bf4ba..7161fb3f4 100644 --- a/common/src/main/java/com/viaversion/viaversion/rewriter/RecipeRewriter.java +++ b/common/src/main/java/com/viaversion/viaversion/rewriter/RecipeRewriter.java @@ -17,6 +17,7 @@ */ package com.viaversion.viaversion.rewriter; +import com.viaversion.viaversion.api.connection.UserConnection; import com.viaversion.viaversion.api.minecraft.item.Item; import com.viaversion.viaversion.api.protocol.Protocol; import com.viaversion.viaversion.api.protocol.packet.ClientboundPacketType; @@ -96,21 +97,21 @@ public class RecipeRewriter { handleIngredient(wrapper); } - final Item result = rewrite(wrapper.read(itemType())); + final Item result = rewrite(wrapper.user(), wrapper.read(itemType())); wrapper.write(mappedItemType(), result); } public void handleCraftingShapeless(PacketWrapper wrapper) throws Exception { wrapper.passthrough(Type.STRING); // Group handleIngredients(wrapper); - final Item result = rewrite(wrapper.read(itemType())); + final Item result = rewrite(wrapper.user(), wrapper.read(itemType())); wrapper.write(mappedItemType(), result); } public void handleSmelting(PacketWrapper wrapper) throws Exception { wrapper.passthrough(Type.STRING); // Group handleIngredient(wrapper); - final Item result = rewrite(wrapper.read(itemType())); + final Item result = rewrite(wrapper.user(), wrapper.read(itemType())); wrapper.write(mappedItemType(), result); wrapper.passthrough(Type.FLOAT); // EXP wrapper.passthrough(Type.VAR_INT); // Cooking time @@ -119,14 +120,14 @@ public class RecipeRewriter { public void handleStonecutting(PacketWrapper wrapper) throws Exception { wrapper.passthrough(Type.STRING); // Group handleIngredient(wrapper); - final Item result = rewrite(wrapper.read(itemType())); + final Item result = rewrite(wrapper.user(), wrapper.read(itemType())); wrapper.write(mappedItemType(), result); } public void handleSmithing(PacketWrapper wrapper) throws Exception { handleIngredient(wrapper); // Base handleIngredient(wrapper); // Addition - final Item result = rewrite(wrapper.read(itemType())); + final Item result = rewrite(wrapper.user(), wrapper.read(itemType())); wrapper.write(mappedItemType(), result); } @@ -138,7 +139,7 @@ public class RecipeRewriter { handleIngredient(wrapper); // Template handleIngredient(wrapper); // Base handleIngredient(wrapper); // Additions - final Item result = rewrite(wrapper.read(itemType())); + final Item result = rewrite(wrapper.user(), wrapper.read(itemType())); wrapper.write(mappedItemType(), result); } @@ -148,9 +149,9 @@ public class RecipeRewriter { handleIngredient(wrapper); // Additions } - protected @Nullable Item rewrite(@Nullable Item item) { + protected @Nullable Item rewrite(UserConnection connection, @Nullable Item item) { if (protocol.getItemRewriter() != null) { - return protocol.getItemRewriter().handleItemToClient(item); + return protocol.getItemRewriter().handleItemToClient(connection, item); } return item; } @@ -160,7 +161,7 @@ public class RecipeRewriter { wrapper.write(mappedItemArrayType(), items); for (int i = 0; i < items.length; i++) { Item item = items[i]; - items[i] = rewrite(item); + items[i] = rewrite(wrapper.user(), item); } } diff --git a/common/src/main/java/com/viaversion/viaversion/rewriter/StructuredItemRewriter.java b/common/src/main/java/com/viaversion/viaversion/rewriter/StructuredItemRewriter.java index 3260e41b0..b980befdd 100644 --- a/common/src/main/java/com/viaversion/viaversion/rewriter/StructuredItemRewriter.java +++ b/common/src/main/java/com/viaversion/viaversion/rewriter/StructuredItemRewriter.java @@ -17,6 +17,7 @@ */ package com.viaversion.viaversion.rewriter; +import com.viaversion.viaversion.api.connection.UserConnection; import com.viaversion.viaversion.api.data.MappingData; import com.viaversion.viaversion.api.data.Mappings; import com.viaversion.viaversion.api.data.ParticleMappings; @@ -44,7 +45,7 @@ public class StructuredItemRewriter