From a91cf7347a542cba62f6237d2fe00054f6352c76 Mon Sep 17 00:00:00 2001 From: FlorianMichael Date: Tue, 10 Sep 2024 15:05:10 +0200 Subject: [PATCH] Remove transaction tracking (and cancelling) in 1.17->1.16.4 I don't see any reason why this would be required. Additionally, it also breaks duplicated ping packets being sent by the server since VB did not track how often an id is expected to be sent back. --- .../v1_17to1_16_4/Protocol1_17To1_16_4.java | 4 --- .../rewriter/BlockItemPacketRewriter1_17.java | 3 +- .../v1_17to1_16_4/storage/PingRequests.java | 34 ------------------- 3 files changed, 1 insertion(+), 40 deletions(-) delete mode 100644 common/src/main/java/com/viaversion/viabackwards/protocol/v1_17to1_16_4/storage/PingRequests.java diff --git a/common/src/main/java/com/viaversion/viabackwards/protocol/v1_17to1_16_4/Protocol1_17To1_16_4.java b/common/src/main/java/com/viaversion/viabackwards/protocol/v1_17to1_16_4/Protocol1_17To1_16_4.java index ba89d074..ade147b5 100644 --- a/common/src/main/java/com/viaversion/viabackwards/protocol/v1_17to1_16_4/Protocol1_17To1_16_4.java +++ b/common/src/main/java/com/viaversion/viabackwards/protocol/v1_17to1_16_4/Protocol1_17To1_16_4.java @@ -24,7 +24,6 @@ import com.viaversion.viabackwards.api.rewriters.TranslatableRewriter; import com.viaversion.viabackwards.protocol.v1_17to1_16_4.rewriter.BlockItemPacketRewriter1_17; import com.viaversion.viabackwards.protocol.v1_17to1_16_4.rewriter.EntityPacketRewriter1_17; -import com.viaversion.viabackwards.protocol.v1_17to1_16_4.storage.PingRequests; import com.viaversion.viabackwards.protocol.v1_17to1_16_4.storage.PlayerLastCursorItem; import com.viaversion.viaversion.api.connection.UserConnection; import com.viaversion.viaversion.api.minecraft.RegistryType; @@ -170,8 +169,6 @@ public void register() { int id = wrapper.read(Types.INT); short shortId = (short) id; if (id == shortId && ViaBackwards.getConfig().handlePingsAsInvAcknowledgements()) { - wrapper.user().get(PingRequests.class).addId(shortId); - // Send inventory acknowledgement to replace ping packet functionality in the unsigned byte range PacketWrapper acknowledgementPacket = wrapper.create(ClientboundPackets1_16_2.CONTAINER_ACK); acknowledgementPacket.write(Types.UNSIGNED_BYTE, (short) 0); // Inventory id @@ -221,7 +218,6 @@ public void register() { @Override public void init(UserConnection user) { addEntityTracker(user, new EntityTrackerBase(user, EntityTypes1_17.PLAYER)); - user.put(new PingRequests()); user.put(new PlayerLastCursorItem()); } diff --git a/common/src/main/java/com/viaversion/viabackwards/protocol/v1_17to1_16_4/rewriter/BlockItemPacketRewriter1_17.java b/common/src/main/java/com/viaversion/viabackwards/protocol/v1_17to1_16_4/rewriter/BlockItemPacketRewriter1_17.java index b315d92d..ad4c87a2 100644 --- a/common/src/main/java/com/viaversion/viabackwards/protocol/v1_17to1_16_4/rewriter/BlockItemPacketRewriter1_17.java +++ b/common/src/main/java/com/viaversion/viabackwards/protocol/v1_17to1_16_4/rewriter/BlockItemPacketRewriter1_17.java @@ -26,7 +26,6 @@ import com.viaversion.viabackwards.api.rewriters.MapColorRewriter; import com.viaversion.viabackwards.protocol.v1_17to1_16_4.Protocol1_17To1_16_4; import com.viaversion.viabackwards.protocol.v1_17to1_16_4.data.MapColorMappings1_16_4; -import com.viaversion.viabackwards.protocol.v1_17to1_16_4.storage.PingRequests; import com.viaversion.viabackwards.protocol.v1_17to1_16_4.storage.PlayerLastCursorItem; import com.viaversion.viaversion.api.data.entity.EntityTracker; import com.viaversion.viaversion.api.minecraft.BlockChangeRecord; @@ -167,7 +166,7 @@ public void register() { short inventoryId = wrapper.read(Types.UNSIGNED_BYTE); short confirmationId = wrapper.read(Types.SHORT); boolean accepted = wrapper.read(Types.BOOLEAN); - if (inventoryId == 0 && accepted && wrapper.user().get(PingRequests.class).removeId(confirmationId)) { + if (inventoryId == 0 && accepted) { PacketWrapper pongPacket = wrapper.create(ServerboundPackets1_17.PONG); pongPacket.write(Types.INT, (int) confirmationId); pongPacket.sendToServer(Protocol1_17To1_16_4.class); diff --git a/common/src/main/java/com/viaversion/viabackwards/protocol/v1_17to1_16_4/storage/PingRequests.java b/common/src/main/java/com/viaversion/viabackwards/protocol/v1_17to1_16_4/storage/PingRequests.java deleted file mode 100644 index f2a9a4d8..00000000 --- a/common/src/main/java/com/viaversion/viabackwards/protocol/v1_17to1_16_4/storage/PingRequests.java +++ /dev/null @@ -1,34 +0,0 @@ -/* - * This file is part of ViaBackwards - https://github.com/ViaVersion/ViaBackwards - * Copyright (C) 2016-2024 ViaVersion and contributors - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package com.viaversion.viabackwards.protocol.v1_17to1_16_4.storage; - -import com.viaversion.viaversion.api.connection.StorableObject; -import com.viaversion.viaversion.libs.fastutil.ints.IntOpenHashSet; -import com.viaversion.viaversion.libs.fastutil.ints.IntSet; - -public final class PingRequests implements StorableObject { - private final IntSet ids = new IntOpenHashSet(); - - public void addId(short id) { - ids.add(id); - } - - public boolean removeId(short id) { - return ids.remove(id); - } -}