Revert 929ab2f588 because it has been fixed in ViaVersion.

This commit is contained in:
FlorianMichael 2023-10-01 20:28:45 +02:00
parent 8e9f5fa141
commit abcb5f9271
No known key found for this signature in database
GPG Key ID: C2FB87E71C425126
2 changed files with 21 additions and 30 deletions

View File

@ -18,9 +18,8 @@
package de.florianmichael.viafabricplus.injection.mixin.fixes.minecraft; package de.florianmichael.viafabricplus.injection.mixin.fixes.minecraft;
import com.llamalad7.mixinextras.injector.WrapWithCondition; import com.llamalad7.mixinextras.injector.WrapWithCondition;
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.packet.PacketWrapper;
import de.florianmichael.viafabricplus.ViaFabricPlus;
import de.florianmichael.viafabricplus.definition.ClientPlayerInteractionManager1_18_2; import de.florianmichael.viafabricplus.definition.ClientPlayerInteractionManager1_18_2;
import net.minecraft.client.network.SequencedPacketCreator; import net.minecraft.client.network.SequencedPacketCreator;
import net.minecraft.client.world.ClientWorld; import net.minecraft.client.world.ClientWorld;
@ -129,29 +128,20 @@ public abstract class MixinClientPlayerInteractionManager {
else else
slotItemBeforeModification = viafabricplus_oldItems.get(clickSlot.getSlot()); slotItemBeforeModification = viafabricplus_oldItems.get(clickSlot.getSlot());
final UserConnection userConnection = networkHandler.getConnection().channel.attr(ProtocolHack.LOCAL_VIA_CONNECTION).get(); final var clickSlotPacket = PacketWrapper.create(ServerboundPackets1_16_2.CLICK_WINDOW, networkHandler.getConnection().channel.attr(ProtocolHack.LOCAL_VIA_CONNECTION).get());
final short syncId = (short) clickSlot.getSyncId();
final short slot = (short) clickSlot.getSlot();
final byte button = (byte) clickSlot.getButton();
final short lastActionId = ((IScreenHandler) client.player.currentScreenHandler).viafabricplus_getAndIncrementLastActionId();
final int actionType = clickSlot.getActionType().ordinal();
final Item item = ItemTranslator.MC_TO_VIA_LATEST_TO_TARGET(slotItemBeforeModification, VersionEnum.r1_16);
userConnection.getChannel().eventLoop().submit(() -> { clickSlotPacket.write(Type.UNSIGNED_BYTE, (short) clickSlot.getSyncId());
final PacketWrapper clickSlotPacket = PacketWrapper.create(ServerboundPackets1_16_2.CLICK_WINDOW, userConnection); clickSlotPacket.write(Type.SHORT, (short) clickSlot.getSlot());
clickSlotPacket.write(Type.BYTE, (byte) clickSlot.getButton());
clickSlotPacket.write(Type.SHORT, ((IScreenHandler) client.player.currentScreenHandler).viafabricplus_getAndIncrementLastActionId());
clickSlotPacket.write(Type.VAR_INT, clickSlot.getActionType().ordinal());
clickSlotPacket.write(Type.FLAT_VAR_INT_ITEM, ItemTranslator.MC_TO_VIA_LATEST_TO_TARGET(slotItemBeforeModification, VersionEnum.r1_16));
clickSlotPacket.write(Type.UNSIGNED_BYTE, syncId); try {
clickSlotPacket.write(Type.SHORT, slot); clickSlotPacket.sendToServer(Protocol1_17To1_16_4.class);
clickSlotPacket.write(Type.BYTE, button); } catch (Exception e) {
clickSlotPacket.write(Type.SHORT, lastActionId); ViaFabricPlus.LOGGER.error("Failed to send Click Slot Packet", e);
clickSlotPacket.write(Type.VAR_INT, actionType); }
clickSlotPacket.write(Type.FLAT_VAR_INT_ITEM, item);
try {
clickSlotPacket.sendToServer(Protocol1_17To1_16_4.class);
} catch (Exception ignored) {
}
});
viafabricplus_oldCursorStack = null; viafabricplus_oldCursorStack = null;
viafabricplus_oldItems = null; viafabricplus_oldItems = null;

View File

@ -24,6 +24,7 @@ import com.viaversion.viaversion.api.protocol.packet.PacketWrapper;
import com.viaversion.viaversion.api.type.Type; import com.viaversion.viaversion.api.type.Type;
import com.viaversion.viaversion.protocols.protocol1_12to1_11_1.Protocol1_12To1_11_1; import com.viaversion.viaversion.protocols.protocol1_12to1_11_1.Protocol1_12To1_11_1;
import com.viaversion.viaversion.protocols.protocol1_9_3to1_9_1_2.ServerboundPackets1_9_3; import com.viaversion.viaversion.protocols.protocol1_9_3to1_9_1_2.ServerboundPackets1_9_3;
import de.florianmichael.viafabricplus.ViaFabricPlus;
import de.florianmichael.viafabricplus.injection.access.IMinecraftClient; import de.florianmichael.viafabricplus.injection.access.IMinecraftClient;
import de.florianmichael.viafabricplus.protocolhack.ProtocolHack; import de.florianmichael.viafabricplus.protocolhack.ProtocolHack;
import de.florianmichael.viafabricplus.base.settings.groups.DebugSettings; import de.florianmichael.viafabricplus.base.settings.groups.DebugSettings;
@ -127,14 +128,14 @@ public abstract class MixinMinecraftClient implements IMinecraftClient {
final UserConnection userConnection = ProtocolHack.getMainUserConnection(); final UserConnection userConnection = ProtocolHack.getMainUserConnection();
if (userConnection != null && userConnection.getProtocolInfo().getPipeline().contains(Protocol1_12To1_11_1.class)) { if (userConnection != null && userConnection.getProtocolInfo().getPipeline().contains(Protocol1_12To1_11_1.class)) {
userConnection.getChannel().eventLoop().submit(() -> { final PacketWrapper clientStatus = PacketWrapper.create(ServerboundPackets1_9_3.CLIENT_STATUS, userConnection);
final PacketWrapper clientStatus = PacketWrapper.create(ServerboundPackets1_9_3.CLIENT_STATUS, userConnection); clientStatus.write(Type.VAR_INT, 2); // Open Inventory Achievement
clientStatus.write(Type.VAR_INT, 2); // Open Inventory Achievement
try { try {
clientStatus.sendToServer(Protocol1_12To1_11_1.class); clientStatus.sendToServer(Protocol1_12To1_11_1.class);
} catch (Exception ignored) {} } catch (Exception e) {
}); ViaFabricPlus.LOGGER.error("Failed to send Open Inventory Packet", e);
}
} }
} }
} }