From 0619717f5f02963ecd177a0067aac49cc1086079 Mon Sep 17 00:00:00 2001 From: Cat Core Date: Thu, 22 Feb 2024 11:33:42 +0100 Subject: [PATCH 1/2] Closes Legacy-Fabric/fabric#161 --- gradle.properties | 2 +- .../client/ClientPlayNetworkHandlerMixin.java | 39 +++++++++++++++++++ ...egacy-fabric-networking-api-v1.mixins.json | 7 ++-- .../client/ClientPlayNetworkHandlerMixin.java | 39 +++++++++++++++++++ ...egacy-fabric-networking-api-v1.mixins.json | 7 ++-- .../client/ClientPlayNetworkHandlerMixin.java | 39 +++++++++++++++++++ ...egacy-fabric-networking-api-v1.mixins.json | 7 ++-- .../ClientPlayNetworkHandlerExtensions.java | 4 ++ .../client/ClientPlayNetworkHandlerMixin.java | 4 +- 9 files changed, 136 insertions(+), 12 deletions(-) create mode 100644 legacy-fabric-networking-api-v1/1.12.2/src/main/java/net/legacyfabric/fabric/mixin/networking/versionned/client/ClientPlayNetworkHandlerMixin.java create mode 100644 legacy-fabric-networking-api-v1/1.7.10/src/main/java/net/legacyfabric/fabric/mixin/networking/versionned/client/ClientPlayNetworkHandlerMixin.java create mode 100644 legacy-fabric-networking-api-v1/1.8.9/src/main/java/net/legacyfabric/fabric/mixin/networking/versionned/client/ClientPlayNetworkHandlerMixin.java diff --git a/gradle.properties b/gradle.properties index 03c7f762b..4fda2adbe 100644 --- a/gradle.properties +++ b/gradle.properties @@ -16,7 +16,7 @@ legacy-fabric-item-groups-v1.version = 2.0.0 legacy-fabric-keybindings-api-v1.version = 1.0.1 legacy-fabric-lifecycle-events-v1.version = 1.0.1 legacy-fabric-logger-api-v1.version = 1.0.4 -legacy-fabric-networking-api-v1.version = 2.0.0 +legacy-fabric-networking-api-v1.version = 2.0.1 legacy-fabric-permissions-api-v1.version = 1.0.1 legacy-fabric-registry-sync-api-v1.version = 2.1.0 legacy-fabric-rendering-api-v1.version = 1.0.0 diff --git a/legacy-fabric-networking-api-v1/1.12.2/src/main/java/net/legacyfabric/fabric/mixin/networking/versionned/client/ClientPlayNetworkHandlerMixin.java b/legacy-fabric-networking-api-v1/1.12.2/src/main/java/net/legacyfabric/fabric/mixin/networking/versionned/client/ClientPlayNetworkHandlerMixin.java new file mode 100644 index 000000000..05cb79e33 --- /dev/null +++ b/legacy-fabric-networking-api-v1/1.12.2/src/main/java/net/legacyfabric/fabric/mixin/networking/versionned/client/ClientPlayNetworkHandlerMixin.java @@ -0,0 +1,39 @@ +/* + * Copyright (c) 2020 - 2022 Legacy Fabric + * Copyright (c) 2016 - 2022 FabricMC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.legacyfabric.fabric.mixin.networking.versionned.client; + +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; + +import net.minecraft.client.network.ClientPlayNetworkHandler; + +import net.fabricmc.api.EnvType; +import net.fabricmc.api.Environment; + +import net.legacyfabric.fabric.impl.networking.client.ClientPlayNetworkHandlerExtensions; + +@Environment(EnvType.CLIENT) +@Mixin(value = ClientPlayNetworkHandler.class, priority = 999) +abstract class ClientPlayNetworkHandlerMixin implements ClientPlayNetworkHandlerExtensions { + @Inject(method = "", at = @At("RETURN")) + private void initAddon(CallbackInfo ci) { + this.lf$initAddon(); + } +} diff --git a/legacy-fabric-networking-api-v1/1.12.2/src/main/resources/legacy-fabric-networking-api-v1.mixins.json b/legacy-fabric-networking-api-v1/1.12.2/src/main/resources/legacy-fabric-networking-api-v1.mixins.json index 9aeebe0b3..5eb3e51e1 100644 --- a/legacy-fabric-networking-api-v1/1.12.2/src/main/resources/legacy-fabric-networking-api-v1.mixins.json +++ b/legacy-fabric-networking-api-v1/1.12.2/src/main/resources/legacy-fabric-networking-api-v1.mixins.json @@ -3,14 +3,15 @@ "package": "net.legacyfabric.fabric.mixin.networking", "compatibilityLevel": "JAVA_8", "mixins": [ - "PlayerManagerMixin", "ClientConnectionMixin", + "CustomPayloadC2SPacketMixin", "MinecraftServerMixin", - "CustomPayloadC2SPacketMixin" + "PlayerManagerMixin" ], "client": [ + "client.CustomPayloadS2CPacketMixin", "client.MinecraftClientMixin", - "client.CustomPayloadS2CPacketMixin" + "versionned.client.ClientPlayNetworkHandlerMixin" ], "injectors": { "defaultRequire": 1 diff --git a/legacy-fabric-networking-api-v1/1.7.10/src/main/java/net/legacyfabric/fabric/mixin/networking/versionned/client/ClientPlayNetworkHandlerMixin.java b/legacy-fabric-networking-api-v1/1.7.10/src/main/java/net/legacyfabric/fabric/mixin/networking/versionned/client/ClientPlayNetworkHandlerMixin.java new file mode 100644 index 000000000..05cb79e33 --- /dev/null +++ b/legacy-fabric-networking-api-v1/1.7.10/src/main/java/net/legacyfabric/fabric/mixin/networking/versionned/client/ClientPlayNetworkHandlerMixin.java @@ -0,0 +1,39 @@ +/* + * Copyright (c) 2020 - 2022 Legacy Fabric + * Copyright (c) 2016 - 2022 FabricMC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.legacyfabric.fabric.mixin.networking.versionned.client; + +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; + +import net.minecraft.client.network.ClientPlayNetworkHandler; + +import net.fabricmc.api.EnvType; +import net.fabricmc.api.Environment; + +import net.legacyfabric.fabric.impl.networking.client.ClientPlayNetworkHandlerExtensions; + +@Environment(EnvType.CLIENT) +@Mixin(value = ClientPlayNetworkHandler.class, priority = 999) +abstract class ClientPlayNetworkHandlerMixin implements ClientPlayNetworkHandlerExtensions { + @Inject(method = "", at = @At("RETURN")) + private void initAddon(CallbackInfo ci) { + this.lf$initAddon(); + } +} diff --git a/legacy-fabric-networking-api-v1/1.7.10/src/main/resources/legacy-fabric-networking-api-v1.mixins.json b/legacy-fabric-networking-api-v1/1.7.10/src/main/resources/legacy-fabric-networking-api-v1.mixins.json index 76589c22c..d9e9091b2 100644 --- a/legacy-fabric-networking-api-v1/1.7.10/src/main/resources/legacy-fabric-networking-api-v1.mixins.json +++ b/legacy-fabric-networking-api-v1/1.7.10/src/main/resources/legacy-fabric-networking-api-v1.mixins.json @@ -3,15 +3,16 @@ "package": "net.legacyfabric.fabric.mixin.networking", "compatibilityLevel": "JAVA_8", "mixins": [ - "PlayerManagerMixin", "ClientConnectionMixin", + "CustomPayloadC2SPacketMixin", "MinecraftServerMixin", "PacketByteBufMixin", - "CustomPayloadC2SPacketMixin" + "PlayerManagerMixin" ], "client": [ + "client.CustomPayloadS2CPacketMixin", "client.MinecraftClientMixin", - "client.CustomPayloadS2CPacketMixin" + "versionned.client.ClientPlayNetworkHandlerMixin" ], "injectors": { "defaultRequire": 1 diff --git a/legacy-fabric-networking-api-v1/1.8.9/src/main/java/net/legacyfabric/fabric/mixin/networking/versionned/client/ClientPlayNetworkHandlerMixin.java b/legacy-fabric-networking-api-v1/1.8.9/src/main/java/net/legacyfabric/fabric/mixin/networking/versionned/client/ClientPlayNetworkHandlerMixin.java new file mode 100644 index 000000000..05cb79e33 --- /dev/null +++ b/legacy-fabric-networking-api-v1/1.8.9/src/main/java/net/legacyfabric/fabric/mixin/networking/versionned/client/ClientPlayNetworkHandlerMixin.java @@ -0,0 +1,39 @@ +/* + * Copyright (c) 2020 - 2022 Legacy Fabric + * Copyright (c) 2016 - 2022 FabricMC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.legacyfabric.fabric.mixin.networking.versionned.client; + +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; + +import net.minecraft.client.network.ClientPlayNetworkHandler; + +import net.fabricmc.api.EnvType; +import net.fabricmc.api.Environment; + +import net.legacyfabric.fabric.impl.networking.client.ClientPlayNetworkHandlerExtensions; + +@Environment(EnvType.CLIENT) +@Mixin(value = ClientPlayNetworkHandler.class, priority = 999) +abstract class ClientPlayNetworkHandlerMixin implements ClientPlayNetworkHandlerExtensions { + @Inject(method = "", at = @At("RETURN")) + private void initAddon(CallbackInfo ci) { + this.lf$initAddon(); + } +} diff --git a/legacy-fabric-networking-api-v1/1.8.9/src/main/resources/legacy-fabric-networking-api-v1.mixins.json b/legacy-fabric-networking-api-v1/1.8.9/src/main/resources/legacy-fabric-networking-api-v1.mixins.json index 9aeebe0b3..5eb3e51e1 100644 --- a/legacy-fabric-networking-api-v1/1.8.9/src/main/resources/legacy-fabric-networking-api-v1.mixins.json +++ b/legacy-fabric-networking-api-v1/1.8.9/src/main/resources/legacy-fabric-networking-api-v1.mixins.json @@ -3,14 +3,15 @@ "package": "net.legacyfabric.fabric.mixin.networking", "compatibilityLevel": "JAVA_8", "mixins": [ - "PlayerManagerMixin", "ClientConnectionMixin", + "CustomPayloadC2SPacketMixin", "MinecraftServerMixin", - "CustomPayloadC2SPacketMixin" + "PlayerManagerMixin" ], "client": [ + "client.CustomPayloadS2CPacketMixin", "client.MinecraftClientMixin", - "client.CustomPayloadS2CPacketMixin" + "versionned.client.ClientPlayNetworkHandlerMixin" ], "injectors": { "defaultRequire": 1 diff --git a/legacy-fabric-networking-api-v1/common/src/main/java/net/legacyfabric/fabric/impl/networking/client/ClientPlayNetworkHandlerExtensions.java b/legacy-fabric-networking-api-v1/common/src/main/java/net/legacyfabric/fabric/impl/networking/client/ClientPlayNetworkHandlerExtensions.java index 080de3076..0d53aa9e3 100644 --- a/legacy-fabric-networking-api-v1/common/src/main/java/net/legacyfabric/fabric/impl/networking/client/ClientPlayNetworkHandlerExtensions.java +++ b/legacy-fabric-networking-api-v1/common/src/main/java/net/legacyfabric/fabric/impl/networking/client/ClientPlayNetworkHandlerExtensions.java @@ -17,10 +17,14 @@ package net.legacyfabric.fabric.impl.networking.client; +import org.jetbrains.annotations.ApiStatus; + import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; @Environment(EnvType.CLIENT) public interface ClientPlayNetworkHandlerExtensions { ClientPlayNetworkAddon getAddon(); + @ApiStatus.Internal + void lf$initAddon(); } diff --git a/legacy-fabric-networking-api-v1/common/src/main/java/net/legacyfabric/fabric/mixin/networking/client/ClientPlayNetworkHandlerMixin.java b/legacy-fabric-networking-api-v1/common/src/main/java/net/legacyfabric/fabric/mixin/networking/client/ClientPlayNetworkHandlerMixin.java index ec1703348..4a472eb7e 100644 --- a/legacy-fabric-networking-api-v1/common/src/main/java/net/legacyfabric/fabric/mixin/networking/client/ClientPlayNetworkHandlerMixin.java +++ b/legacy-fabric-networking-api-v1/common/src/main/java/net/legacyfabric/fabric/mixin/networking/client/ClientPlayNetworkHandlerMixin.java @@ -47,8 +47,8 @@ abstract class ClientPlayNetworkHandlerMixin implements ClientPlayNetworkHandler @Unique private ClientPlayNetworkAddon addon; - @Inject(method = "", at = @At("RETURN")) - private void initAddon(CallbackInfo ci) { + @Override + public void lf$initAddon() { this.addon = new ClientPlayNetworkAddon((ClientPlayNetworkHandler) (Object) this, this.client); // A bit of a hack but it allows the field above to be set in case someone registers handlers during INIT event which refers to said field ClientNetworkingImpl.setClientPlayAddon(this.addon); From 0342652f2436465f9528f63830316fc5953c2fc5 Mon Sep 17 00:00:00 2001 From: Cat Core Date: Thu, 22 Feb 2024 12:31:22 +0100 Subject: [PATCH 2/2] Fix typo in package name --- .../client/ClientPlayNetworkHandlerMixin.java | 2 +- .../main/resources/legacy-fabric-networking-api-v1.mixins.json | 2 +- .../client/ClientPlayNetworkHandlerMixin.java | 2 +- .../main/resources/legacy-fabric-networking-api-v1.mixins.json | 2 +- .../client/ClientPlayNetworkHandlerMixin.java | 2 +- .../main/resources/legacy-fabric-networking-api-v1.mixins.json | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) rename legacy-fabric-networking-api-v1/1.12.2/src/main/java/net/legacyfabric/fabric/mixin/networking/{versionned => versioned}/client/ClientPlayNetworkHandlerMixin.java (95%) rename legacy-fabric-networking-api-v1/1.7.10/src/main/java/net/legacyfabric/fabric/mixin/networking/{versionned => versioned}/client/ClientPlayNetworkHandlerMixin.java (95%) rename legacy-fabric-networking-api-v1/1.8.9/src/main/java/net/legacyfabric/fabric/mixin/networking/{versionned => versioned}/client/ClientPlayNetworkHandlerMixin.java (95%) diff --git a/legacy-fabric-networking-api-v1/1.12.2/src/main/java/net/legacyfabric/fabric/mixin/networking/versionned/client/ClientPlayNetworkHandlerMixin.java b/legacy-fabric-networking-api-v1/1.12.2/src/main/java/net/legacyfabric/fabric/mixin/networking/versioned/client/ClientPlayNetworkHandlerMixin.java similarity index 95% rename from legacy-fabric-networking-api-v1/1.12.2/src/main/java/net/legacyfabric/fabric/mixin/networking/versionned/client/ClientPlayNetworkHandlerMixin.java rename to legacy-fabric-networking-api-v1/1.12.2/src/main/java/net/legacyfabric/fabric/mixin/networking/versioned/client/ClientPlayNetworkHandlerMixin.java index 05cb79e33..b3e2c9724 100644 --- a/legacy-fabric-networking-api-v1/1.12.2/src/main/java/net/legacyfabric/fabric/mixin/networking/versionned/client/ClientPlayNetworkHandlerMixin.java +++ b/legacy-fabric-networking-api-v1/1.12.2/src/main/java/net/legacyfabric/fabric/mixin/networking/versioned/client/ClientPlayNetworkHandlerMixin.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package net.legacyfabric.fabric.mixin.networking.versionned.client; +package net.legacyfabric.fabric.mixin.networking.versioned.client; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; diff --git a/legacy-fabric-networking-api-v1/1.12.2/src/main/resources/legacy-fabric-networking-api-v1.mixins.json b/legacy-fabric-networking-api-v1/1.12.2/src/main/resources/legacy-fabric-networking-api-v1.mixins.json index 5eb3e51e1..a75644c36 100644 --- a/legacy-fabric-networking-api-v1/1.12.2/src/main/resources/legacy-fabric-networking-api-v1.mixins.json +++ b/legacy-fabric-networking-api-v1/1.12.2/src/main/resources/legacy-fabric-networking-api-v1.mixins.json @@ -11,7 +11,7 @@ "client": [ "client.CustomPayloadS2CPacketMixin", "client.MinecraftClientMixin", - "versionned.client.ClientPlayNetworkHandlerMixin" + "versioned.client.ClientPlayNetworkHandlerMixin" ], "injectors": { "defaultRequire": 1 diff --git a/legacy-fabric-networking-api-v1/1.7.10/src/main/java/net/legacyfabric/fabric/mixin/networking/versionned/client/ClientPlayNetworkHandlerMixin.java b/legacy-fabric-networking-api-v1/1.7.10/src/main/java/net/legacyfabric/fabric/mixin/networking/versioned/client/ClientPlayNetworkHandlerMixin.java similarity index 95% rename from legacy-fabric-networking-api-v1/1.7.10/src/main/java/net/legacyfabric/fabric/mixin/networking/versionned/client/ClientPlayNetworkHandlerMixin.java rename to legacy-fabric-networking-api-v1/1.7.10/src/main/java/net/legacyfabric/fabric/mixin/networking/versioned/client/ClientPlayNetworkHandlerMixin.java index 05cb79e33..b3e2c9724 100644 --- a/legacy-fabric-networking-api-v1/1.7.10/src/main/java/net/legacyfabric/fabric/mixin/networking/versionned/client/ClientPlayNetworkHandlerMixin.java +++ b/legacy-fabric-networking-api-v1/1.7.10/src/main/java/net/legacyfabric/fabric/mixin/networking/versioned/client/ClientPlayNetworkHandlerMixin.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package net.legacyfabric.fabric.mixin.networking.versionned.client; +package net.legacyfabric.fabric.mixin.networking.versioned.client; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; diff --git a/legacy-fabric-networking-api-v1/1.7.10/src/main/resources/legacy-fabric-networking-api-v1.mixins.json b/legacy-fabric-networking-api-v1/1.7.10/src/main/resources/legacy-fabric-networking-api-v1.mixins.json index d9e9091b2..a09e89bfc 100644 --- a/legacy-fabric-networking-api-v1/1.7.10/src/main/resources/legacy-fabric-networking-api-v1.mixins.json +++ b/legacy-fabric-networking-api-v1/1.7.10/src/main/resources/legacy-fabric-networking-api-v1.mixins.json @@ -12,7 +12,7 @@ "client": [ "client.CustomPayloadS2CPacketMixin", "client.MinecraftClientMixin", - "versionned.client.ClientPlayNetworkHandlerMixin" + "versioned.client.ClientPlayNetworkHandlerMixin" ], "injectors": { "defaultRequire": 1 diff --git a/legacy-fabric-networking-api-v1/1.8.9/src/main/java/net/legacyfabric/fabric/mixin/networking/versionned/client/ClientPlayNetworkHandlerMixin.java b/legacy-fabric-networking-api-v1/1.8.9/src/main/java/net/legacyfabric/fabric/mixin/networking/versioned/client/ClientPlayNetworkHandlerMixin.java similarity index 95% rename from legacy-fabric-networking-api-v1/1.8.9/src/main/java/net/legacyfabric/fabric/mixin/networking/versionned/client/ClientPlayNetworkHandlerMixin.java rename to legacy-fabric-networking-api-v1/1.8.9/src/main/java/net/legacyfabric/fabric/mixin/networking/versioned/client/ClientPlayNetworkHandlerMixin.java index 05cb79e33..b3e2c9724 100644 --- a/legacy-fabric-networking-api-v1/1.8.9/src/main/java/net/legacyfabric/fabric/mixin/networking/versionned/client/ClientPlayNetworkHandlerMixin.java +++ b/legacy-fabric-networking-api-v1/1.8.9/src/main/java/net/legacyfabric/fabric/mixin/networking/versioned/client/ClientPlayNetworkHandlerMixin.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package net.legacyfabric.fabric.mixin.networking.versionned.client; +package net.legacyfabric.fabric.mixin.networking.versioned.client; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; diff --git a/legacy-fabric-networking-api-v1/1.8.9/src/main/resources/legacy-fabric-networking-api-v1.mixins.json b/legacy-fabric-networking-api-v1/1.8.9/src/main/resources/legacy-fabric-networking-api-v1.mixins.json index 5eb3e51e1..a75644c36 100644 --- a/legacy-fabric-networking-api-v1/1.8.9/src/main/resources/legacy-fabric-networking-api-v1.mixins.json +++ b/legacy-fabric-networking-api-v1/1.8.9/src/main/resources/legacy-fabric-networking-api-v1.mixins.json @@ -11,7 +11,7 @@ "client": [ "client.CustomPayloadS2CPacketMixin", "client.MinecraftClientMixin", - "versionned.client.ClientPlayNetworkHandlerMixin" + "versioned.client.ClientPlayNetworkHandlerMixin" ], "injectors": { "defaultRequire": 1