diff --git a/api/src/main/java/com/viaversion/viaversion/api/protocol/remapper/PacketRemapper.java b/api/src/main/java/com/viaversion/viaversion/api/protocol/remapper/PacketRemapper.java index 5846db86e..5a795cd1b 100644 --- a/api/src/main/java/com/viaversion/viaversion/api/protocol/remapper/PacketRemapper.java +++ b/api/src/main/java/com/viaversion/viaversion/api/protocol/remapper/PacketRemapper.java @@ -44,8 +44,7 @@ public abstract class PacketRemapper { * @param type type to map */ public void map(Type type) { - TypeRemapper remapper = new TypeRemapper(type); - map(remapper, remapper); + handler(wrapper -> wrapper.write(type, wrapper.read(type))); } /** @@ -55,7 +54,7 @@ public abstract class PacketRemapper { * @param newType new type */ public void map(Type oldType, Type newType) { - map(new TypeRemapper(oldType), new TypeRemapper(newType)); + handler(wrapper -> wrapper.write(newType, wrapper.read(oldType))); } /** @@ -68,7 +67,7 @@ public abstract class PacketRemapper { * @param transformer transformer to produce the new type */ public void map(Type oldType, Type newType, Function transformer) { - map(new TypeRemapper<>(oldType), new ValueTransformer(newType) { + map(oldType, new ValueTransformer(newType) { @Override public T2 transform(PacketWrapper wrapper, T1 inputValue) throws Exception { return transformer.apply(inputValue); @@ -99,7 +98,7 @@ public abstract class PacketRemapper { * @param transformer transformer to produce the new type */ public void map(Type oldType, ValueTransformer transformer) { - map(new TypeRemapper(oldType), transformer); + map(new TypeRemapper<>(oldType), transformer); } /** @@ -110,7 +109,7 @@ public abstract class PacketRemapper { * @param read/write type */ public void map(ValueReader inputReader, ValueWriter outputWriter) { - valueRemappers.add(new ReadWriteValueHandler(inputReader, outputWriter)); + handler(wrapper -> outputWriter.write(wrapper, inputReader.read(wrapper))); } /** @@ -129,7 +128,7 @@ public abstract class PacketRemapper { * @param value value to write */ public void create(Type type, T value) { - valueRemappers.add(wrapper -> wrapper.write(type, value)); + handler(wrapper -> wrapper.write(type, value)); } /** @@ -138,7 +137,7 @@ public abstract class PacketRemapper { * @param type type to read */ public void read(Type type) { - valueRemappers.add(wrapper -> wrapper.read(type)); + handler(wrapper -> wrapper.read(type)); } /** diff --git a/api/src/main/java/com/viaversion/viaversion/api/protocol/remapper/ReadWriteValueHandler.java b/api/src/main/java/com/viaversion/viaversion/api/protocol/remapper/ReadWriteValueHandler.java deleted file mode 100644 index 82b34be0b..000000000 --- a/api/src/main/java/com/viaversion/viaversion/api/protocol/remapper/ReadWriteValueHandler.java +++ /dev/null @@ -1,40 +0,0 @@ -/* - * This file is part of ViaVersion - https://github.com/ViaVersion/ViaVersion - * Copyright (C) 2016-2021 ViaVersion and contributors - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ -package com.viaversion.viaversion.api.protocol.remapper; - -import com.viaversion.viaversion.api.protocol.packet.PacketWrapper; - -public final class ReadWriteValueHandler implements PacketHandler { - private final ValueReader reader; - private final ValueWriter writer; - - public ReadWriteValueHandler(ValueReader reader, ValueWriter writer) { - this.reader = reader; - this.writer = writer; - } - - @Override - public void handle(PacketWrapper wrapper) throws Exception { - writer.write(wrapper, reader.read(wrapper)); - } -} diff --git a/api/src/main/java/com/viaversion/viaversion/api/protocol/remapper/ValueWriter.java b/api/src/main/java/com/viaversion/viaversion/api/protocol/remapper/ValueWriter.java index 17d9ddeae..46acd33c8 100644 --- a/api/src/main/java/com/viaversion/viaversion/api/protocol/remapper/ValueWriter.java +++ b/api/src/main/java/com/viaversion/viaversion/api/protocol/remapper/ValueWriter.java @@ -29,9 +29,9 @@ public interface ValueWriter { /** * Write a value to a packet * - * @param writer The packet wrapper to write to + * @param wrapper The packet wrapper to write to * @param inputValue The value to write * @throws Exception Throws exception if it fails to write */ - void write(PacketWrapper writer, T inputValue) throws Exception; + void write(PacketWrapper wrapper, T inputValue) throws Exception; } diff --git a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_17to1_16_4/packets/InventoryPackets.java b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_17to1_16_4/packets/InventoryPackets.java index f4e009dee..c205d6938 100644 --- a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_17to1_16_4/packets/InventoryPackets.java +++ b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_17to1_16_4/packets/InventoryPackets.java @@ -119,11 +119,11 @@ public class InventoryPackets { // Check extra bit for fast dismissal if ((id & (1 << 30)) != 0 && wrapper.user().get(InventoryAcknowledgements.class).removeId(id)) { // Decode our requested inventory acknowledgement - int inventoryId = (id >> 16) & 0xFF; - int confirmationId = id & 0xFFFF; + short inventoryId = (short) ((id >> 16) & 0xFF); + short confirmationId = (short) (id & 0xFFFF); PacketWrapper packet = wrapper.create(ServerboundPackets1_16_2.WINDOW_CONFIRMATION); - packet.write(Type.UNSIGNED_BYTE, (short) inventoryId); - packet.write(Type.SHORT, (short) confirmationId); + packet.write(Type.UNSIGNED_BYTE, inventoryId); + packet.write(Type.SHORT, confirmationId); packet.write(Type.BYTE, (byte) 1); // Accept packet.sendToServer(Protocol1_17To1_16_4.class); }