mirror of
https://github.com/ViaVersion/ViaFabricPlus.git
synced 2024-09-28 04:27:25 +02:00
Readd clientside fixes packet handling
This commit is contained in:
parent
1a6937a398
commit
c1a90bd329
@ -3,8 +3,8 @@ org.gradle.jvmargs=-Xmx8G
|
|||||||
org.gradle.parallel=true
|
org.gradle.parallel=true
|
||||||
|
|
||||||
# Minecraft/Fabric
|
# Minecraft/Fabric
|
||||||
minecraft_version=1.20.5-pre4
|
minecraft_version=1.20.5-rc1
|
||||||
yarn_mappings=1.20.5-pre4+build.1
|
yarn_mappings=1.20.5-rc1+build.1
|
||||||
loader_version=0.15.10
|
loader_version=0.15.10
|
||||||
fabric_api_version=0.97.3+1.20.5
|
fabric_api_version=0.97.3+1.20.5
|
||||||
|
|
||||||
@ -14,7 +14,7 @@ maven_group=de.florianmichael
|
|||||||
archives_base_name=ViaFabricPlus
|
archives_base_name=ViaFabricPlus
|
||||||
|
|
||||||
# ViaVersion Libraries
|
# ViaVersion Libraries
|
||||||
viaversion_version=4.10.0-1.20.5-pre4-SNAPSHOT
|
viaversion_version=4.10.0-1.20.5-rc1-SNAPSHOT
|
||||||
viabackwards_version=4.10.0-24w09a-SNAPSHOT
|
viabackwards_version=4.10.0-24w09a-SNAPSHOT
|
||||||
vialegacy_version=2.2.22-SNAPSHOT
|
vialegacy_version=2.2.22-SNAPSHOT
|
||||||
viaaprilfools_version=2.0.11-SNAPSHOT
|
viaaprilfools_version=2.0.11-SNAPSHOT
|
||||||
|
@ -49,7 +49,6 @@ import java.util.concurrent.CompletableFuture;
|
|||||||
*
|
*
|
||||||
* TODO | Port
|
* TODO | Port
|
||||||
* - Readd MixinCustomPayloadS2CPacket, MixinInGameHud
|
* - Readd MixinCustomPayloadS2CPacket, MixinInGameHud
|
||||||
* - All Update todos
|
|
||||||
* - Test 1.11.2 banner recipe
|
* - Test 1.11.2 banner recipe
|
||||||
* - Test 1.20.1 riding offsets
|
* - Test 1.20.1 riding offsets
|
||||||
* - Fix on protocol level: modify1_7StepHeight, modifyReachDistance
|
* - Fix on protocol level: modify1_7StepHeight, modifyReachDistance
|
||||||
@ -58,9 +57,7 @@ import java.util.concurrent.CompletableFuture;
|
|||||||
* - Readd item fixes on protocol level: MixinAxeItem, MixinHoeItem, MixinPickaxeItem, MixinShearsItem, MixinShovelItem, MixinSwordItem, MixinMiningToolItem, MixinItem
|
* - Readd item fixes on protocol level: MixinAxeItem, MixinHoeItem, MixinPickaxeItem, MixinShearsItem, MixinShovelItem, MixinSwordItem, MixinMiningToolItem, MixinItem
|
||||||
* - Readd item fixes: ArmorMaterials, MixinItemStack, MixinDrawContext, MixinPacketByteBuf
|
* - Readd item fixes: ArmorMaterials, MixinItemStack, MixinDrawContext, MixinPacketByteBuf
|
||||||
* - Test villager trading in 1.8/1.12.2
|
* - Test villager trading in 1.8/1.12.2
|
||||||
* - Test 1.8 triple chest
|
|
||||||
* - Figure out how to fix 32k enchantments with codecs (MixinEnchantmentHelper)
|
* - Figure out how to fix 32k enchantments with codecs (MixinEnchantmentHelper)
|
||||||
* - Test sign interactions
|
|
||||||
*/
|
*/
|
||||||
public class ViaFabricPlus {
|
public class ViaFabricPlus {
|
||||||
|
|
||||||
|
@ -31,6 +31,7 @@ import de.florianmichael.viafabricplus.fixes.versioned.visual.FootStepParticle1_
|
|||||||
import de.florianmichael.viafabricplus.injection.access.IClientConnection;
|
import de.florianmichael.viafabricplus.injection.access.IClientConnection;
|
||||||
import de.florianmichael.viafabricplus.protocoltranslator.ProtocolTranslator;
|
import de.florianmichael.viafabricplus.protocoltranslator.ProtocolTranslator;
|
||||||
import de.florianmichael.viafabricplus.settings.impl.BedrockSettings;
|
import de.florianmichael.viafabricplus.settings.impl.BedrockSettings;
|
||||||
|
import de.florianmichael.viafabricplus.util.DataCustomPayload;
|
||||||
import net.minecraft.block.*;
|
import net.minecraft.block.*;
|
||||||
import net.minecraft.client.MinecraftClient;
|
import net.minecraft.client.MinecraftClient;
|
||||||
import net.minecraft.client.font.FontStorage;
|
import net.minecraft.client.font.FontStorage;
|
||||||
@ -119,6 +120,9 @@ public class ClientsideFixes {
|
|||||||
|
|
||||||
// Register the footstep particle
|
// Register the footstep particle
|
||||||
FootStepParticle1_12_2.init();
|
FootStepParticle1_12_2.init();
|
||||||
|
|
||||||
|
// Register the custom payload packet for sync tasks
|
||||||
|
DataCustomPayload.init();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -21,8 +21,10 @@ package de.florianmichael.viafabricplus.injection.mixin.fixes.minecraft.network;
|
|||||||
|
|
||||||
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
|
||||||
import com.viaversion.viaversion.protocols.protocol1_17to1_16_4.storage.InventoryAcknowledgements;
|
import com.viaversion.viaversion.protocols.protocol1_17to1_16_4.storage.InventoryAcknowledgements;
|
||||||
|
import de.florianmichael.viafabricplus.fixes.ClientsideFixes;
|
||||||
import de.florianmichael.viafabricplus.injection.access.IClientConnection;
|
import de.florianmichael.viafabricplus.injection.access.IClientConnection;
|
||||||
import de.florianmichael.viafabricplus.protocoltranslator.ProtocolTranslator;
|
import de.florianmichael.viafabricplus.protocoltranslator.ProtocolTranslator;
|
||||||
|
import de.florianmichael.viafabricplus.util.DataCustomPayload;
|
||||||
import net.minecraft.client.MinecraftClient;
|
import net.minecraft.client.MinecraftClient;
|
||||||
import net.minecraft.client.network.ClientCommonNetworkHandler;
|
import net.minecraft.client.network.ClientCommonNetworkHandler;
|
||||||
import net.minecraft.network.ClientConnection;
|
import net.minecraft.network.ClientConnection;
|
||||||
@ -100,11 +102,10 @@ public abstract class MixinClientCommonNetworkHandler {
|
|||||||
|
|
||||||
@Inject(method = "onCustomPayload(Lnet/minecraft/network/packet/s2c/common/CustomPayloadS2CPacket;)V", at = @At("HEAD"), cancellable = true)
|
@Inject(method = "onCustomPayload(Lnet/minecraft/network/packet/s2c/common/CustomPayloadS2CPacket;)V", at = @At("HEAD"), cancellable = true)
|
||||||
private void handleSyncTask(CustomPayloadS2CPacket packet, CallbackInfo ci) {
|
private void handleSyncTask(CustomPayloadS2CPacket packet, CallbackInfo ci) {
|
||||||
// TODO: Update: Fix
|
if (packet.payload() instanceof DataCustomPayload dataCustomPayload) {
|
||||||
/*if (packet.payload().id().toString().equals(ClientsideFixes.PACKET_SYNC_IDENTIFIER) && packet.payload() instanceof ResolvablePayload payload) {
|
ClientsideFixes.handleSyncTask(dataCustomPayload.buf());
|
||||||
ClientsideFixes.handleSyncTask(((UntypedPayload) payload.resolve(null)).buffer());
|
|
||||||
ci.cancel(); // Cancel the packet, so it doesn't get processed by the client
|
ci.cancel(); // Cancel the packet, so it doesn't get processed by the client
|
||||||
}*/
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Inject(method = "onResourcePackSend", at = @At("HEAD"), cancellable = true)
|
@Inject(method = "onResourcePackSend", at = @At("HEAD"), cancellable = true)
|
||||||
|
@ -0,0 +1,44 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of ViaFabricPlus - https://github.com/FlorianMichael/ViaFabricPlus
|
||||||
|
* Copyright (C) 2021-2024 FlorianMichael/EnZaXD <florian.michael07@gmail.com> and RK_01/RaphiMC
|
||||||
|
* Copyright (C) 2023-2024 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 <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package de.florianmichael.viafabricplus.util;
|
||||||
|
|
||||||
|
import de.florianmichael.viafabricplus.fixes.ClientsideFixes;
|
||||||
|
import io.netty.buffer.Unpooled;
|
||||||
|
import net.fabricmc.fabric.api.networking.v1.PayloadTypeRegistry;
|
||||||
|
import net.minecraft.network.PacketByteBuf;
|
||||||
|
import net.minecraft.network.packet.CustomPayload;
|
||||||
|
import net.minecraft.util.Identifier;
|
||||||
|
|
||||||
|
public record DataCustomPayload(PacketByteBuf buf) implements CustomPayload {
|
||||||
|
|
||||||
|
public static final CustomPayload.Id<DataCustomPayload> ID = new CustomPayload.Id<>(new Identifier(ClientsideFixes.PACKET_SYNC_IDENTIFIER));
|
||||||
|
|
||||||
|
public static void init() {
|
||||||
|
PayloadTypeRegistry.playS2C().register(DataCustomPayload.ID, CustomPayload.codecOf((value, buf) -> {
|
||||||
|
throw new UnsupportedOperationException("DataCustomPayload is a read-only packet");
|
||||||
|
}, buf -> new DataCustomPayload(new PacketByteBuf(Unpooled.copiedBuffer(buf.readSlice(buf.readableBytes()))))));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Id<? extends CustomPayload> getId() {
|
||||||
|
return ID;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user