From dd885e743ae5d48538ed9d8e6a48360fe9146068 Mon Sep 17 00:00:00 2001 From: Space Walker Date: Fri, 30 Oct 2026 17:47:28 +0100 Subject: [PATCH 01/12] [networking impl] switch to using Conditional Mixin --- .../impl/NetworkingMixinPlugin.java | 54 ------------- .../impl/mixin/client/MinecraftMixin.java | 7 +- .../mixin/client/MinecraftMixin18w30b.java | 41 ---------- .../resources/osl.networking-impl.mixins.json | 1 - .../impl/NetworkingMixinPlugin.java | 54 ------------- ...xinNew.java => RemoteConnectionMixin.java} | 26 ++++++- .../common/RemoteConnectionMixinOld.java | 35 --------- .../resources/osl.networking-impl.mixins.json | 5 +- .../impl/NetworkingMixinPlugin.java | 58 -------------- .../impl/mixin/client/MinecraftMixin.java | 77 +++++++++++++++++++ .../impl/mixin/client/MinecraftMixinMid.java | 40 ---------- .../impl/mixin/client/MinecraftMixinNew.java | 41 ---------- .../impl/mixin/client/MinecraftMixinOld.java | 40 ---------- .../resources/osl.networking-impl.mixins.json | 6 +- .../impl/NetworkingMixinPlugin.java | 54 ------------- ...craftMixinOld.java => MinecraftMixin.java} | 31 +++++++- .../impl/mixin/client/MinecraftMixinNew.java | 40 ---------- .../resources/osl.networking-impl.mixins.json | 5 +- 18 files changed, 137 insertions(+), 478 deletions(-) delete mode 100644 libraries/networking-impl/networking-impl-mc1.13-pre4-mc1.13.2/src/main/java/net/ornithemc/osl/networking/impl/NetworkingMixinPlugin.java delete mode 100644 libraries/networking-impl/networking-impl-mc1.13-pre4-mc1.13.2/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixin18w30b.java delete mode 100644 libraries/networking-impl/networking-impl-mc12w21a-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/NetworkingMixinPlugin.java rename libraries/networking-impl/networking-impl-mc12w21a-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/{RemoteConnectionMixinNew.java => RemoteConnectionMixin.java} (52%) delete mode 100644 libraries/networking-impl/networking-impl-mc12w21a-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/RemoteConnectionMixinOld.java delete mode 100644 libraries/networking-impl/networking-impl-mc14w31a-mc1.13-pre2/src/main/java/net/ornithemc/osl/networking/impl/NetworkingMixinPlugin.java create mode 100644 libraries/networking-impl/networking-impl-mc14w31a-mc1.13-pre2/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixin.java delete mode 100644 libraries/networking-impl/networking-impl-mc14w31a-mc1.13-pre2/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixinMid.java delete mode 100644 libraries/networking-impl/networking-impl-mc14w31a-mc1.13-pre2/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixinNew.java delete mode 100644 libraries/networking-impl/networking-impl-mc14w31a-mc1.13-pre2/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixinOld.java delete mode 100644 libraries/networking-impl/networking-impl-mc18w43a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/NetworkingMixinPlugin.java rename libraries/networking-impl/networking-impl-mc18w43a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/{MinecraftMixinOld.java => MinecraftMixin.java} (56%) delete mode 100644 libraries/networking-impl/networking-impl-mc18w43a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixinNew.java diff --git a/libraries/networking-impl/networking-impl-mc1.13-pre4-mc1.13.2/src/main/java/net/ornithemc/osl/networking/impl/NetworkingMixinPlugin.java b/libraries/networking-impl/networking-impl-mc1.13-pre4-mc1.13.2/src/main/java/net/ornithemc/osl/networking/impl/NetworkingMixinPlugin.java deleted file mode 100644 index 608aea8ba..000000000 --- a/libraries/networking-impl/networking-impl-mc1.13-pre4-mc1.13.2/src/main/java/net/ornithemc/osl/networking/impl/NetworkingMixinPlugin.java +++ /dev/null @@ -1,54 +0,0 @@ -package net.ornithemc.osl.networking.impl; - -import java.util.List; -import java.util.Set; - -import org.objectweb.asm.tree.ClassNode; - -import org.spongepowered.asm.mixin.extensibility.IMixinConfigPlugin; -import org.spongepowered.asm.mixin.extensibility.IMixinInfo; - -import net.ornithemc.osl.core.impl.util.MinecraftVersion; - -public class NetworkingMixinPlugin implements IMixinConfigPlugin { - - public static final boolean MINECRAFT_SET_WORLD_HAS_NETWORK_ID_PARAMETER = MinecraftVersion.resolve().compareTo("18w30b") == 0; - - @Override - public void onLoad(String mixinPackage) { - } - - @Override - public String getRefMapperConfig() { - return null; - } - - @Override - public boolean shouldApplyMixin(String targetClassName, String mixinClassName) { - if ("net.ornithemc.osl.networking.impl.mixin.client.MinecraftMixin".equals(mixinClassName)) { - return !MINECRAFT_SET_WORLD_HAS_NETWORK_ID_PARAMETER; - } - if ("net.ornithemc.osl.networking.impl.mixin.client.MinecraftMixin18w30b".equals(mixinClassName)) { - return MINECRAFT_SET_WORLD_HAS_NETWORK_ID_PARAMETER; - } - - return true; - } - - @Override - public void acceptTargets(Set myTargets, Set otherTargets) { - } - - @Override - public List getMixins() { - return null; - } - - @Override - public void preApply(String targetClassName, ClassNode targetClass, String mixinClassName, IMixinInfo mixinInfo) { - } - - @Override - public void postApply(String targetClassName, ClassNode targetClass, String mixinClassName, IMixinInfo mixinInfo) { - } -} diff --git a/libraries/networking-impl/networking-impl-mc1.13-pre4-mc1.13.2/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixin.java b/libraries/networking-impl/networking-impl-mc1.13-pre4-mc1.13.2/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixin.java index bc5386d1b..fee8d8976 100644 --- a/libraries/networking-impl/networking-impl-mc1.13-pre4-mc1.13.2/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixin.java +++ b/libraries/networking-impl/networking-impl-mc1.13-pre4-mc1.13.2/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixin.java @@ -6,8 +6,9 @@ import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; +import com.llamalad7.mixinextras.sugar.Local; + import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.screen.Screen; import net.minecraft.client.network.handler.ClientPlayNetworkHandler; import net.minecraft.client.world.ClientWorld; @@ -25,12 +26,12 @@ public class MinecraftMixin { private ClientPlayNetworkHandler getNetworkHandler() { return null; } @Inject( - method = "setWorld(Lnet/minecraft/client/world/ClientWorld;Lnet/minecraft/client/gui/screen/Screen;)V", + method = "m_62116716", at = @At( value = "HEAD" ) ) - private void osl$networking$disconnect(ClientWorld world, Screen screen, CallbackInfo ci) { + private void osl$networking$disconnect(CallbackInfo ci, @Local ClientWorld world) { if (this.world != null && world == null) { ClientNetworkHandlerAccess networkHandler = (ClientNetworkHandlerAccess) getNetworkHandler(); ClientConnectionContext connectionContext = networkHandler.osl$networking$connectionContext(); diff --git a/libraries/networking-impl/networking-impl-mc1.13-pre4-mc1.13.2/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixin18w30b.java b/libraries/networking-impl/networking-impl-mc1.13-pre4-mc1.13.2/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixin18w30b.java deleted file mode 100644 index e0d53ec6b..000000000 --- a/libraries/networking-impl/networking-impl-mc1.13-pre4-mc1.13.2/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixin18w30b.java +++ /dev/null @@ -1,41 +0,0 @@ -package net.ornithemc.osl.networking.impl.mixin.client; - -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -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.Minecraft; -import net.minecraft.client.gui.screen.Screen; -import net.minecraft.client.network.handler.ClientPlayNetworkHandler; -import net.minecraft.client.world.ClientWorld; - -import net.ornithemc.osl.networking.api.client.ClientConnectionEvents; -import net.ornithemc.osl.networking.impl.access.ClientNetworkHandlerAccess; -import net.ornithemc.osl.networking.impl.client.ClientConnectionContext; - -@Mixin(Minecraft.class) -public class MinecraftMixin18w30b { - - @Shadow - private ClientWorld world; - - @Shadow - private ClientPlayNetworkHandler getNetworkHandler() { return null; } - - @Inject( - method = "m_62116716", - at = @At( - value = "HEAD" - ) - ) - private void osl$networking$disconnect(ClientWorld world, Screen screen, int networkId, CallbackInfo ci) { - if (this.world != null && world == null) { - ClientNetworkHandlerAccess networkHandler = (ClientNetworkHandlerAccess) getNetworkHandler(); - ClientConnectionContext connectionContext = networkHandler.osl$networking$connectionContext(); - - ClientConnectionEvents.DISCONNECT.invoker().accept(connectionContext); - } - } -} diff --git a/libraries/networking-impl/networking-impl-mc1.13-pre4-mc1.13.2/src/main/resources/osl.networking-impl.mixins.json b/libraries/networking-impl/networking-impl-mc1.13-pre4-mc1.13.2/src/main/resources/osl.networking-impl.mixins.json index a8084bf89..2c5b645b7 100644 --- a/libraries/networking-impl/networking-impl-mc1.13-pre4-mc1.13.2/src/main/resources/osl.networking-impl.mixins.json +++ b/libraries/networking-impl/networking-impl-mc1.13-pre4-mc1.13.2/src/main/resources/osl.networking-impl.mixins.json @@ -3,7 +3,6 @@ "minVersion": "0.8", "package": "net.ornithemc.osl.networking.impl.mixin", "compatibilityLevel": "JAVA_8", - "plugin": "net.ornithemc.osl.networking.impl.NetworkingMixinPlugin", "mixins": [ "common.CustomPayloadC2SPacketMixin", "common.CustomPayloadS2CPacketMixin", diff --git a/libraries/networking-impl/networking-impl-mc12w21a-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/NetworkingMixinPlugin.java b/libraries/networking-impl/networking-impl-mc12w21a-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/NetworkingMixinPlugin.java deleted file mode 100644 index 5ca85f599..000000000 --- a/libraries/networking-impl/networking-impl-mc12w21a-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/NetworkingMixinPlugin.java +++ /dev/null @@ -1,54 +0,0 @@ -package net.ornithemc.osl.networking.impl; - -import java.util.List; -import java.util.Set; - -import org.objectweb.asm.tree.ClassNode; - -import org.spongepowered.asm.mixin.extensibility.IMixinConfigPlugin; -import org.spongepowered.asm.mixin.extensibility.IMixinInfo; - -import net.ornithemc.osl.core.impl.util.MinecraftVersion; - -public class NetworkingMixinPlugin implements IMixinConfigPlugin { - - public static final boolean PACKET_READ_QUEUE_IS_LIST = MinecraftVersion.resolve().compareTo("1.6.1") <= 0; - - @Override - public void onLoad(String mixinPackage) { - } - - @Override - public String getRefMapperConfig() { - return null; - } - - @Override - public boolean shouldApplyMixin(String targetClassName, String mixinClassName) { - if ("net.ornithemc.osl.networking.impl.mixin.common.RemoteConnectionMixinNew".equals(mixinClassName)) { - return !PACKET_READ_QUEUE_IS_LIST; - } - if ("net.ornithemc.osl.networking.impl.mixin.common.RemoteConnectionMixinOld".equals(mixinClassName)) { - return PACKET_READ_QUEUE_IS_LIST; - } - - return true; - } - - @Override - public void acceptTargets(Set myTargets, Set otherTargets) { - } - - @Override - public List getMixins() { - return null; - } - - @Override - public void preApply(String targetClassName, ClassNode targetClass, String mixinClassName, IMixinInfo mixinInfo) { - } - - @Override - public void postApply(String targetClassName, ClassNode targetClass, String mixinClassName, IMixinInfo mixinInfo) { - } -} diff --git a/libraries/networking-impl/networking-impl-mc12w21a-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/RemoteConnectionMixinNew.java b/libraries/networking-impl/networking-impl-mc12w21a-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/RemoteConnectionMixin.java similarity index 52% rename from libraries/networking-impl/networking-impl-mc12w21a-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/RemoteConnectionMixinNew.java rename to libraries/networking-impl/networking-impl-mc12w21a-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/RemoteConnectionMixin.java index e481b3fc9..2ac368bfd 100644 --- a/libraries/networking-impl/networking-impl-mc12w21a-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/RemoteConnectionMixinNew.java +++ b/libraries/networking-impl/networking-impl-mc12w21a-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/RemoteConnectionMixin.java @@ -12,13 +12,33 @@ import net.minecraft.network.RemoteConnection; import net.minecraft.network.packet.Packet; +import net.ornithemc.conditionalmixin.annotations.Conditional; +import net.ornithemc.conditionalmixin.annotations.Version; + import net.ornithemc.osl.networking.impl.Connections; @Mixin(RemoteConnection.class) -public class RemoteConnectionMixinNew { +public class RemoteConnectionMixin { + + @Shadow + private PacketHandler listener; - @Shadow private PacketHandler listener; + @Conditional(minecraftVersion = @Version("<=1.6.1")) + @Inject( + method = "read", + cancellable = true, + at = @At( + value = "INVOKE", + target = "Ljava/util/List;add(Ljava/lang/Object;)Z" + ) + ) + private void osl$networking$asyncCustomPayloads1(CallbackInfoReturnable cir, @Local Packet packet) { + if (Connections.handleAsyncPacket(packet, listener)) { + cir.setReturnValue(true); + } + } + @Conditional(minecraftVersion = @Version(">1.6.1")) @Inject( method = "read", cancellable = true, @@ -27,7 +47,7 @@ public class RemoteConnectionMixinNew { target = "Ljava/util/Queue;add(Ljava/lang/Object;)Z" ) ) - private void osl$networking$asyncCustomPayloads(CallbackInfoReturnable cir, @Local Packet packet) { + private void osl$networking$asyncCustomPayloads2(CallbackInfoReturnable cir, @Local Packet packet) { if (Connections.handleAsyncPacket(packet, listener)) { cir.setReturnValue(true); } diff --git a/libraries/networking-impl/networking-impl-mc12w21a-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/RemoteConnectionMixinOld.java b/libraries/networking-impl/networking-impl-mc12w21a-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/RemoteConnectionMixinOld.java deleted file mode 100644 index b47de07d9..000000000 --- a/libraries/networking-impl/networking-impl-mc12w21a-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/RemoteConnectionMixinOld.java +++ /dev/null @@ -1,35 +0,0 @@ -package net.ornithemc.osl.networking.impl.mixin.common; - -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; - -import com.llamalad7.mixinextras.sugar.Local; - -import net.minecraft.network.PacketHandler; -import net.minecraft.network.RemoteConnection; -import net.minecraft.network.packet.Packet; - -import net.ornithemc.osl.networking.impl.Connections; - -@Mixin(RemoteConnection.class) -public class RemoteConnectionMixinOld { - - @Shadow private PacketHandler listener; - - @Inject( - method = "read", - cancellable = true, - at = @At( - value = "INVOKE", - target = "Ljava/util/List;add(Ljava/lang/Object;)Z" - ) - ) - private void osl$networking$asyncCustomPayloads(CallbackInfoReturnable cir, @Local Packet packet) { - if (Connections.handleAsyncPacket(packet, listener)) { - cir.setReturnValue(true); - } - } -} diff --git a/libraries/networking-impl/networking-impl-mc12w21a-mc13w39b/src/main/resources/osl.networking-impl.mixins.json b/libraries/networking-impl/networking-impl-mc12w21a-mc13w39b/src/main/resources/osl.networking-impl.mixins.json index b739362a3..9dad6da85 100644 --- a/libraries/networking-impl/networking-impl-mc12w21a-mc13w39b/src/main/resources/osl.networking-impl.mixins.json +++ b/libraries/networking-impl/networking-impl-mc12w21a-mc13w39b/src/main/resources/osl.networking-impl.mixins.json @@ -3,13 +3,12 @@ "minVersion": "0.8", "package": "net.ornithemc.osl.networking.impl.mixin", "compatibilityLevel": "JAVA_8", - "plugin": "net.ornithemc.osl.networking.impl.NetworkingMixinPlugin", + "plugin": "net.ornithemc.conditionalmixin.mixin.ConditionalMixinPlugin", "mixins": [ "common.CustomPayloadPacketMixin", "common.MinecraftServerMixin", "common.PlayerManagerMixin", - "common.RemoteConnectionMixinNew", - "common.RemoteConnectionMixinOld", + "common.RemoteConnectionMixin", "common.ServerPlayNetworkHandlerMixin" ], "client": [ diff --git a/libraries/networking-impl/networking-impl-mc14w31a-mc1.13-pre2/src/main/java/net/ornithemc/osl/networking/impl/NetworkingMixinPlugin.java b/libraries/networking-impl/networking-impl-mc14w31a-mc1.13-pre2/src/main/java/net/ornithemc/osl/networking/impl/NetworkingMixinPlugin.java deleted file mode 100644 index cbf86c514..000000000 --- a/libraries/networking-impl/networking-impl-mc14w31a-mc1.13-pre2/src/main/java/net/ornithemc/osl/networking/impl/NetworkingMixinPlugin.java +++ /dev/null @@ -1,58 +0,0 @@ -package net.ornithemc.osl.networking.impl; - -import java.util.List; -import java.util.Set; - -import org.objectweb.asm.tree.ClassNode; - -import org.spongepowered.asm.mixin.extensibility.IMixinConfigPlugin; -import org.spongepowered.asm.mixin.extensibility.IMixinInfo; - -import net.ornithemc.osl.core.impl.util.MinecraftVersion; - -public class NetworkingMixinPlugin implements IMixinConfigPlugin { - - public static final boolean MINECRAFT_SET_WORLD_HAS_SCREEN_PARAMETER = MinecraftVersion.resolve().compareTo("18w15a") >= 0; - public static final boolean MINECRAFT_SET_WORLD_HAS_TITLE_PARAMETER = MinecraftVersion.resolve().compareTo("17w50a") <= 0; - - @Override - public void onLoad(String mixinPackage) { - } - - @Override - public String getRefMapperConfig() { - return null; - } - - @Override - public boolean shouldApplyMixin(String targetClassName, String mixinClassName) { - if ("net.ornithemc.osl.networking.impl.mixin.client.MinecraftMixinNew".equals(mixinClassName)) { - return MINECRAFT_SET_WORLD_HAS_SCREEN_PARAMETER; - } - if ("net.ornithemc.osl.networking.impl.mixin.client.MinecraftMixinMid".equals(mixinClassName)) { - return !MINECRAFT_SET_WORLD_HAS_SCREEN_PARAMETER && !MINECRAFT_SET_WORLD_HAS_TITLE_PARAMETER; - } - if ("net.ornithemc.osl.networking.impl.mixin.client.MinecraftMixinOld".equals(mixinClassName)) { - return MINECRAFT_SET_WORLD_HAS_TITLE_PARAMETER; - } - - return true; - } - - @Override - public void acceptTargets(Set myTargets, Set otherTargets) { - } - - @Override - public List getMixins() { - return null; - } - - @Override - public void preApply(String targetClassName, ClassNode targetClass, String mixinClassName, IMixinInfo mixinInfo) { - } - - @Override - public void postApply(String targetClassName, ClassNode targetClass, String mixinClassName, IMixinInfo mixinInfo) { - } -} diff --git a/libraries/networking-impl/networking-impl-mc14w31a-mc1.13-pre2/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixin.java b/libraries/networking-impl/networking-impl-mc14w31a-mc1.13-pre2/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixin.java new file mode 100644 index 000000000..e61d29bc6 --- /dev/null +++ b/libraries/networking-impl/networking-impl-mc14w31a-mc1.13-pre2/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixin.java @@ -0,0 +1,77 @@ +package net.ornithemc.osl.networking.impl.mixin.client; + +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Shadow; +import org.spongepowered.asm.mixin.Unique; +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.Minecraft; +import net.minecraft.client.gui.screen.Screen; +import net.minecraft.client.network.handler.ClientPlayNetworkHandler; +import net.minecraft.client.world.ClientWorld; + +import net.ornithemc.conditionalmixin.annotations.Conditional; +import net.ornithemc.conditionalmixin.annotations.Version; + +import net.ornithemc.osl.networking.api.client.ClientConnectionEvents; +import net.ornithemc.osl.networking.impl.access.ClientNetworkHandlerAccess; +import net.ornithemc.osl.networking.impl.client.ClientConnectionContext; + +@Mixin(Minecraft.class) +public class MinecraftMixin { + + @Shadow + private ClientWorld world; + + @Shadow + private ClientPlayNetworkHandler getNetworkHandler() { return null; } + + @Conditional(minecraftVersion = @Version("<=17w50a")) + @Inject( + method = "m_49232044", + at = @At( + value = "HEAD" + ) + ) + private void osl$networking$disconnect(ClientWorld world, String title, CallbackInfo ci) { + if (this.world != null && world == null) { + this.triggerDisconnectEvent(); + } + } + + @Conditional(minecraftVersion = @Version(">17w50a <18w15a")) + @Inject( + method = "m_85741928", + at = @At( + value = "HEAD" + ) + ) + private void osl$networking$disconnect(ClientWorld world, CallbackInfo ci) { + if (this.world != null && world == null) { + this.triggerDisconnectEvent(); + } + } + + @Conditional(minecraftVersion = @Version(">=18w15a")) + @Inject( + method = "setWorld(Lnet/minecraft/client/world/ClientWorld;Lnet/minecraft/client/gui/screen/Screen;)V", + at = @At( + value = "HEAD" + ) + ) + private void osl$networking$disconnect(ClientWorld world, Screen screen, CallbackInfo ci) { + if (this.world != null && world == null) { + this.triggerDisconnectEvent(); + } + } + + @Unique + private void triggerDisconnectEvent() { + ClientNetworkHandlerAccess networkHandler = (ClientNetworkHandlerAccess) this.getNetworkHandler(); + ClientConnectionContext connectionContext = networkHandler.osl$networking$connectionContext(); + + ClientConnectionEvents.DISCONNECT.invoker().accept(connectionContext); + } +} diff --git a/libraries/networking-impl/networking-impl-mc14w31a-mc1.13-pre2/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixinMid.java b/libraries/networking-impl/networking-impl-mc14w31a-mc1.13-pre2/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixinMid.java deleted file mode 100644 index 48b129884..000000000 --- a/libraries/networking-impl/networking-impl-mc14w31a-mc1.13-pre2/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixinMid.java +++ /dev/null @@ -1,40 +0,0 @@ -package net.ornithemc.osl.networking.impl.mixin.client; - -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -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.Minecraft; -import net.minecraft.client.network.handler.ClientPlayNetworkHandler; -import net.minecraft.client.world.ClientWorld; - -import net.ornithemc.osl.networking.api.client.ClientConnectionEvents; -import net.ornithemc.osl.networking.impl.access.ClientNetworkHandlerAccess; -import net.ornithemc.osl.networking.impl.client.ClientConnectionContext; - -@Mixin(Minecraft.class) -public class MinecraftMixinMid { - - @Shadow - private ClientWorld world; - - @Shadow - private ClientPlayNetworkHandler getNetworkHandler() { return null; } - - @Inject( - method = "m_85741928", - at = @At( - value = "HEAD" - ) - ) - private void osl$networking$disconnect(ClientWorld world, CallbackInfo ci) { - if (this.world != null && world == null) { - ClientNetworkHandlerAccess networkHandler = (ClientNetworkHandlerAccess) getNetworkHandler(); - ClientConnectionContext connectionContext = networkHandler.osl$networking$connectionContext(); - - ClientConnectionEvents.DISCONNECT.invoker().accept(connectionContext); - } - } -} diff --git a/libraries/networking-impl/networking-impl-mc14w31a-mc1.13-pre2/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixinNew.java b/libraries/networking-impl/networking-impl-mc14w31a-mc1.13-pre2/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixinNew.java deleted file mode 100644 index 5b88c3f59..000000000 --- a/libraries/networking-impl/networking-impl-mc14w31a-mc1.13-pre2/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixinNew.java +++ /dev/null @@ -1,41 +0,0 @@ -package net.ornithemc.osl.networking.impl.mixin.client; - -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -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.Minecraft; -import net.minecraft.client.gui.screen.Screen; -import net.minecraft.client.network.handler.ClientPlayNetworkHandler; -import net.minecraft.client.world.ClientWorld; - -import net.ornithemc.osl.networking.api.client.ClientConnectionEvents; -import net.ornithemc.osl.networking.impl.access.ClientNetworkHandlerAccess; -import net.ornithemc.osl.networking.impl.client.ClientConnectionContext; - -@Mixin(Minecraft.class) -public class MinecraftMixinNew { - - @Shadow - private ClientWorld world; - - @Shadow - private ClientPlayNetworkHandler getNetworkHandler() { return null; } - - @Inject( - method = "setWorld(Lnet/minecraft/client/world/ClientWorld;Lnet/minecraft/client/gui/screen/Screen;)V", - at = @At( - value = "HEAD" - ) - ) - private void osl$networking$disconnect(ClientWorld world, Screen screen, CallbackInfo ci) { - if (this.world != null && world == null) { - ClientNetworkHandlerAccess networkHandler = (ClientNetworkHandlerAccess) getNetworkHandler(); - ClientConnectionContext connectionContext = networkHandler.osl$networking$connectionContext(); - - ClientConnectionEvents.DISCONNECT.invoker().accept(connectionContext); - } - } -} diff --git a/libraries/networking-impl/networking-impl-mc14w31a-mc1.13-pre2/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixinOld.java b/libraries/networking-impl/networking-impl-mc14w31a-mc1.13-pre2/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixinOld.java deleted file mode 100644 index f055ed648..000000000 --- a/libraries/networking-impl/networking-impl-mc14w31a-mc1.13-pre2/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixinOld.java +++ /dev/null @@ -1,40 +0,0 @@ -package net.ornithemc.osl.networking.impl.mixin.client; - -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -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.Minecraft; -import net.minecraft.client.network.handler.ClientPlayNetworkHandler; -import net.minecraft.client.world.ClientWorld; - -import net.ornithemc.osl.networking.api.client.ClientConnectionEvents; -import net.ornithemc.osl.networking.impl.access.ClientNetworkHandlerAccess; -import net.ornithemc.osl.networking.impl.client.ClientConnectionContext; - -@Mixin(Minecraft.class) -public class MinecraftMixinOld { - - @Shadow - private ClientWorld world; - - @Shadow - private ClientPlayNetworkHandler getNetworkHandler() { return null; } - - @Inject( - method = "m_49232044", - at = @At( - value = "HEAD" - ) - ) - private void osl$networking$disconnect(ClientWorld world, String title, CallbackInfo ci) { - if (this.world != null && world == null) { - ClientNetworkHandlerAccess networkHandler = (ClientNetworkHandlerAccess) getNetworkHandler(); - ClientConnectionContext connectionContext = networkHandler.osl$networking$connectionContext(); - - ClientConnectionEvents.DISCONNECT.invoker().accept(connectionContext); - } - } -} diff --git a/libraries/networking-impl/networking-impl-mc14w31a-mc1.13-pre2/src/main/resources/osl.networking-impl.mixins.json b/libraries/networking-impl/networking-impl-mc14w31a-mc1.13-pre2/src/main/resources/osl.networking-impl.mixins.json index d4dcc4aa6..00a7ab216 100644 --- a/libraries/networking-impl/networking-impl-mc14w31a-mc1.13-pre2/src/main/resources/osl.networking-impl.mixins.json +++ b/libraries/networking-impl/networking-impl-mc14w31a-mc1.13-pre2/src/main/resources/osl.networking-impl.mixins.json @@ -3,7 +3,7 @@ "minVersion": "0.8", "package": "net.ornithemc.osl.networking.impl.mixin", "compatibilityLevel": "JAVA_8", - "plugin": "net.ornithemc.osl.networking.impl.NetworkingMixinPlugin", + "plugin": "net.ornithemc.conditionalmixin.mixin.ConditionalMixinPlugin", "mixins": [ "common.CustomPayloadC2SPacketMixin", "common.CustomPayloadS2CPacketMixin", @@ -12,9 +12,7 @@ ], "client": [ "client.ClientPlayNetworkHandlerMixin", - "client.MinecraftMixinMid", - "client.MinecraftMixinNew", - "client.MinecraftMixinOld" + "client.MinecraftMixin" ], "server": [ "server.MinecraftServerMixin" diff --git a/libraries/networking-impl/networking-impl-mc18w43a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/NetworkingMixinPlugin.java b/libraries/networking-impl/networking-impl-mc18w43a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/NetworkingMixinPlugin.java deleted file mode 100644 index 0e2807932..000000000 --- a/libraries/networking-impl/networking-impl-mc18w43a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/NetworkingMixinPlugin.java +++ /dev/null @@ -1,54 +0,0 @@ -package net.ornithemc.osl.networking.impl; - -import java.util.List; -import java.util.Set; - -import org.objectweb.asm.tree.ClassNode; - -import org.spongepowered.asm.mixin.extensibility.IMixinConfigPlugin; -import org.spongepowered.asm.mixin.extensibility.IMixinInfo; - -import net.ornithemc.osl.core.impl.util.MinecraftVersion; - -public class NetworkingMixinPlugin implements IMixinConfigPlugin { - - public static final boolean MINECRAFT_DISCONNECT_METHOD_EXISTS = MinecraftVersion.resolve().compareTo("19w06a") >= 0; - - @Override - public void onLoad(String mixinPackage) { - } - - @Override - public String getRefMapperConfig() { - return null; - } - - @Override - public boolean shouldApplyMixin(String targetClassName, String mixinClassName) { - if ("net.ornithemc.osl.networking.impl.mixin.client.MinecraftMixinNew".equals(mixinClassName)) { - return MINECRAFT_DISCONNECT_METHOD_EXISTS; - } - if ("net.ornithemc.osl.networking.impl.mixin.client.MinecraftMixinOld".equals(mixinClassName)) { - return !MINECRAFT_DISCONNECT_METHOD_EXISTS; - } - - return true; - } - - @Override - public void acceptTargets(Set myTargets, Set otherTargets) { - } - - @Override - public List getMixins() { - return null; - } - - @Override - public void preApply(String targetClassName, ClassNode targetClass, String mixinClassName, IMixinInfo mixinInfo) { - } - - @Override - public void postApply(String targetClassName, ClassNode targetClass, String mixinClassName, IMixinInfo mixinInfo) { - } -} diff --git a/libraries/networking-impl/networking-impl-mc18w43a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixinOld.java b/libraries/networking-impl/networking-impl-mc18w43a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixin.java similarity index 56% rename from libraries/networking-impl/networking-impl-mc18w43a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixinOld.java rename to libraries/networking-impl/networking-impl-mc18w43a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixin.java index e01c0f436..b1a141241 100644 --- a/libraries/networking-impl/networking-impl-mc18w43a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixinOld.java +++ b/libraries/networking-impl/networking-impl-mc18w43a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixin.java @@ -2,6 +2,7 @@ import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; +import org.spongepowered.asm.mixin.Unique; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; @@ -11,12 +12,15 @@ import net.minecraft.client.network.handler.ClientPlayNetworkHandler; import net.minecraft.client.world.ClientWorld; +import net.ornithemc.conditionalmixin.annotations.Conditional; +import net.ornithemc.conditionalmixin.annotations.Version; + import net.ornithemc.osl.networking.api.client.ClientConnectionEvents; import net.ornithemc.osl.networking.impl.access.ClientNetworkHandlerAccess; import net.ornithemc.osl.networking.impl.client.ClientConnectionContext; @Mixin(Minecraft.class) -public class MinecraftMixinOld { +public class MinecraftMixin { @Shadow private ClientWorld world; @@ -24,6 +28,7 @@ public class MinecraftMixinOld { @Shadow private ClientPlayNetworkHandler getNetworkHandler() { return null; } + @Conditional(minecraftVersion = @Version("<19w06a")) @Inject( method = "m_62116716", // setWorld at = @At( @@ -32,10 +37,28 @@ public class MinecraftMixinOld { ) private void osl$networking$disconnect(ClientWorld world, Screen screen, CallbackInfo ci) { if (this.world != null && world == null) { - ClientNetworkHandlerAccess networkHandler = (ClientNetworkHandlerAccess) getNetworkHandler(); - ClientConnectionContext connectionContext = networkHandler.osl$networking$connectionContext(); + this.triggerDisconnectEvent(); + } + } - ClientConnectionEvents.DISCONNECT.invoker().accept(connectionContext); + @Conditional(minecraftVersion = @Version(">=19w06a")) + @Inject( + method = "m_62273487", // disconnect + at = @At( + value = "HEAD" + ) + ) + private void osl$networking$disconnect(CallbackInfo ci) { + if (world != null) { + this.triggerDisconnectEvent(); } } + + @Unique + private void triggerDisconnectEvent() { + ClientNetworkHandlerAccess networkHandler = (ClientNetworkHandlerAccess) this.getNetworkHandler(); + ClientConnectionContext connectionContext = networkHandler.osl$networking$connectionContext(); + + ClientConnectionEvents.DISCONNECT.invoker().accept(connectionContext); + } } diff --git a/libraries/networking-impl/networking-impl-mc18w43a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixinNew.java b/libraries/networking-impl/networking-impl-mc18w43a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixinNew.java deleted file mode 100644 index c31e69f0a..000000000 --- a/libraries/networking-impl/networking-impl-mc18w43a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixinNew.java +++ /dev/null @@ -1,40 +0,0 @@ -package net.ornithemc.osl.networking.impl.mixin.client; - -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -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.Minecraft; -import net.minecraft.client.network.handler.ClientPlayNetworkHandler; -import net.minecraft.client.world.ClientWorld; - -import net.ornithemc.osl.networking.api.client.ClientConnectionEvents; -import net.ornithemc.osl.networking.impl.access.ClientNetworkHandlerAccess; -import net.ornithemc.osl.networking.impl.client.ClientConnectionContext; - -@Mixin(Minecraft.class) -public class MinecraftMixinNew { - - @Shadow - private ClientWorld world; - - @Shadow - private ClientPlayNetworkHandler getNetworkHandler() { return null; } - - @Inject( - method = "m_62273487", // disconnect - at = @At( - value = "HEAD" - ) - ) - private void osl$networking$disconnect(CallbackInfo ci) { - if (world != null) { - ClientNetworkHandlerAccess networkHandler = (ClientNetworkHandlerAccess) getNetworkHandler(); - ClientConnectionContext connectionContext = networkHandler.osl$networking$connectionContext(); - - ClientConnectionEvents.DISCONNECT.invoker().accept(connectionContext); - } - } -} diff --git a/libraries/networking-impl/networking-impl-mc18w43a-mc1.14.4/src/main/resources/osl.networking-impl.mixins.json b/libraries/networking-impl/networking-impl-mc18w43a-mc1.14.4/src/main/resources/osl.networking-impl.mixins.json index c71fb00f2..00a7ab216 100644 --- a/libraries/networking-impl/networking-impl-mc18w43a-mc1.14.4/src/main/resources/osl.networking-impl.mixins.json +++ b/libraries/networking-impl/networking-impl-mc18w43a-mc1.14.4/src/main/resources/osl.networking-impl.mixins.json @@ -3,7 +3,7 @@ "minVersion": "0.8", "package": "net.ornithemc.osl.networking.impl.mixin", "compatibilityLevel": "JAVA_8", - "plugin": "net.ornithemc.osl.networking.impl.NetworkingMixinPlugin", + "plugin": "net.ornithemc.conditionalmixin.mixin.ConditionalMixinPlugin", "mixins": [ "common.CustomPayloadC2SPacketMixin", "common.CustomPayloadS2CPacketMixin", @@ -12,8 +12,7 @@ ], "client": [ "client.ClientPlayNetworkHandlerMixin", - "client.MinecraftMixinNew", - "client.MinecraftMixinOld" + "client.MinecraftMixin" ], "server": [ "server.MinecraftServerMixin" From 3946060b82026cdc5ab9358807627e6eb48008d8 Mon Sep 17 00:00:00 2001 From: Space Walker Date: Fri, 30 Oct 2026 19:18:56 +0100 Subject: [PATCH 02/12] [networking impl] collapse several modules --- .../gradle.properties | 4 - .../impl/mixin/client/MinecraftMixin.java | 41 ----- .../common/CustomPayloadC2SPacketMixin.java | 63 -------- .../common/CustomPayloadS2CPacketMixin.java | 31 ---- .../impl/mixin/common/PlayerManagerMixin.java | 59 ------- .../mixin/server/MinecraftServerMixin.java | 42 ----- .../src/main/resources/fabric.mod.json | 41 ----- .../resources/osl.networking-impl.mixins.json | 22 --- .../gradle.properties | 4 - .../osl/networking/impl/Networking.java | 61 -------- .../client/ClientPlayNetworkHandlerMixin.java | 135 ---------------- .../impl/mixin/client/MinecraftMixin.java | 42 ----- .../common/CustomPayloadC2SPacketMixin.java | 52 ------- .../common/CustomPayloadS2CPacketMixin.java | 31 ---- .../impl/mixin/common/PlayerManagerMixin.java | 59 ------- .../common/ServerPlayNetworkHandlerMixin.java | 95 ------------ .../mixin/server/MinecraftServerMixin.java | 42 ----- .../resources/osl.networking-impl.mixins.json | 23 --- .../build.gradle | 1 - .../gradle.properties | 6 - .../osl/networking/impl/Networking.java | 65 -------- .../access/ClientNetworkHandlerAccess.java | 9 -- .../impl/access/PacketHandlerAccess.java | 9 -- .../access/ServerNetworkHandlerAccess.java | 9 -- .../client/ClientNetworkHandlerMixin.java | 129 ---------------- .../impl/mixin/client/MinecraftMixin.java | 41 ----- .../impl/mixin/common/ConnectionMixin.java | 35 ----- .../common/CustomPayloadPacketMixin.java | 39 ----- .../impl/mixin/common/PacketHandlerMixin.java | 28 ---- .../impl/mixin/server/PlayerManagerMixin.java | 37 ----- .../ServerLoginNetworkHandlerMixin.java | 39 ----- .../src/main/resources/fabric.mod.json | 42 ----- .../osl.networking-impl.classtweaker | 3 - .../resources/osl.networking-impl.mixins.json | 23 --- .../build.gradle | 1 - .../gradle.properties | 6 - .../osl/networking/impl/Networking.java | 65 -------- .../access/ClientNetworkHandlerAccess.java | 9 -- .../impl/access/PacketHandlerAccess.java | 9 -- .../access/ServerNetworkHandlerAccess.java | 9 -- .../client/ClientNetworkHandlerMixin.java | 129 ---------------- .../impl/mixin/client/MinecraftMixin.java | 41 ----- .../impl/mixin/common/ConnectionMixin.java | 35 ----- .../impl/mixin/server/PlayerManagerMixin.java | 37 ----- .../ServerLoginNetworkHandlerMixin.java | 39 ----- .../server/ServerPlayNetworkHandlerMixin.java | 107 ------------- .../src/main/resources/fabric.mod.json | 42 ----- .../osl.networking-impl.classtweaker | 3 - .../resources/osl.networking-impl.mixins.json | 23 --- .../build.gradle | 1 - .../gradle.properties | 6 - .../access/ClientNetworkHandlerAccess.java | 9 -- .../impl/access/LocalServerAccess.java | 7 - .../access/ServerNetworkHandlerAccess.java | 9 -- .../client/ClientNetworkHandlerMixin.java | 144 ------------------ .../impl/mixin/client/LocalServerMixin.java | 35 ----- .../impl/mixin/client/MinecraftMixin.java | 40 ----- .../impl/mixin/common/ConnectionMixin.java | 35 ----- .../common/CustomPayloadPacketMixin.java | 39 ----- .../impl/mixin/common/PlayerManagerMixin.java | 37 ----- .../ServerLoginNetworkHandlerMixin.java | 39 ----- .../common/ServerPlayNetworkHandlerMixin.java | 101 ------------ .../src/main/resources/fabric.mod.json | 41 ----- .../resources/osl.networking-impl.mixins.json | 22 --- .../build.gradle | 1 - .../osl/networking/impl/Networking.java | 62 -------- .../access/ClientNetworkHandlerAccess.java | 9 -- .../access/ServerNetworkHandlerAccess.java | 9 -- .../impl/mixin/client/MinecraftMixin.java | 40 ----- .../common/CustomPayloadPacketMixin.java | 39 ----- .../common/ServerPlayNetworkHandlerMixin.java | 101 ------------ .../src/main/resources/fabric.mod.json | 41 ----- .../build.gradle | 0 .../gradle.properties | 2 +- .../osl/networking/impl/Connections.java | 7 +- .../osl/networking/impl/Networking.java | 37 ++++- .../access/ClientNetworkHandlerAccess.java | 0 .../access/ServerNetworkHandlerAccess.java | 0 .../client/ClientPlayNetworkHandlerMixin.java | 0 .../client/CustomPayloadC2SPacketAccess.java | 27 ++++ .../impl/mixin/client/MinecraftMixin.java | 26 +++- .../impl/mixin/common/ConnectionMixin.java | 51 +++++++ .../common/CustomPayloadC2SPacketMixin.java | 36 ++++- .../common/CustomPayloadS2CPacketAccess.java | 27 ++++ .../common/CustomPayloadS2CPacketMixin.java | 33 +++- .../mixin/common}/MinecraftServerMixin.java | 10 +- .../impl/mixin/common/PlayerManagerMixin.java | 8 +- .../common/ServerPlayNetworkHandlerMixin.java | 0 .../src/main/resources/fabric.mod.json | 4 +- .../resources/osl.networking-impl.mixins.json | 5 +- .../build.gradle | 1 - .../gradle.properties | 5 - .../osl/networking/impl/Networking.java | 61 -------- .../access/ClientNetworkHandlerAccess.java | 9 -- .../access/ServerNetworkHandlerAccess.java | 9 -- .../client/ClientPlayNetworkHandlerMixin.java | 135 ---------------- .../impl/mixin/client/MinecraftMixin.java | 40 ----- .../impl/mixin/common/ConnectionMixin.java | 38 ----- .../common/CustomPayloadC2SPacketMixin.java | 41 ----- .../common/CustomPayloadS2CPacketMixin.java | 41 ----- .../mixin/common/MinecraftServerMixin.java | 50 ------ .../common/ServerPlayNetworkHandlerMixin.java | 95 ------------ .../src/main/resources/fabric.mod.json | 41 ----- .../resources/osl.networking-impl.mixins.json | 23 --- .../build.gradle | 1 - .../gradle.properties | 5 - .../osl/networking/impl/Networking.java | 61 -------- .../access/ClientNetworkHandlerAccess.java | 9 -- .../access/ServerNetworkHandlerAccess.java | 9 -- .../client/ClientPlayNetworkHandlerMixin.java | 135 ---------------- .../impl/mixin/client/MinecraftMixin.java | 40 ----- .../common/CustomPayloadC2SPacketMixin.java | 41 ----- .../common/CustomPayloadS2CPacketMixin.java | 41 ----- .../impl/mixin/common/PlayerManagerMixin.java | 59 ------- .../common/ServerPlayNetworkHandlerMixin.java | 95 ------------ .../mixin/server/MinecraftServerMixin.java | 42 ----- .../src/main/resources/fabric.mod.json | 41 ----- .../resources/osl.networking-impl.mixins.json | 22 --- .../build.gradle | 1 - .../gradle.properties | 4 - .../osl/networking/impl/Networking.java | 61 -------- .../access/ClientNetworkHandlerAccess.java | 9 -- .../access/ServerNetworkHandlerAccess.java | 9 -- .../client/ClientPlayNetworkHandlerMixin.java | 135 ---------------- .../impl/mixin/common/PlayerManagerMixin.java | 59 ------- .../common/ServerPlayNetworkHandlerMixin.java | 95 ------------ .../mixin/server/MinecraftServerMixin.java | 42 ----- .../src/main/resources/fabric.mod.json | 41 ----- .../resources/osl.networking-impl.mixins.json | 23 --- .../build.gradle | 1 - .../osl/networking/impl/Networking.java | 61 -------- .../access/ClientNetworkHandlerAccess.java | 9 -- .../access/ServerNetworkHandlerAccess.java | 9 -- .../client/ClientPlayNetworkHandlerMixin.java | 135 ---------------- .../impl/mixin/client/MinecraftMixin.java | 64 -------- .../common/CustomPayloadC2SPacketMixin.java | 52 ------- .../common/CustomPayloadS2CPacketMixin.java | 31 ---- .../impl/mixin/common/PlayerManagerMixin.java | 59 ------- .../common/ServerPlayNetworkHandlerMixin.java | 95 ------------ .../src/main/resources/fabric.mod.json | 41 ----- .../build.gradle | 0 .../gradle.properties | 3 +- .../networking/impl/CustomPayloadPacket.java | 34 ++++- .../networking/impl/CustomPayloadPackets.java | 19 +++ .../osl/networking/impl/Networking.java | 48 +++++- .../access/ClientNetworkHandlerAccess.java | 0 .../impl/access/ConnectionAccess.java | 10 ++ .../impl/access/MinecraftAccess.java | 7 + .../impl/access/PacketHandlerAccess.java | 9 ++ .../access/ServerNetworkHandlerAccess.java | 0 .../client/ClientNetworkHandlerMixin.java | 54 ++++--- .../mixin/client/HandshakePacketMixin.java | 8 +- .../mixin/client/LocalConnectionMixin.java | 9 +- .../impl/mixin/client/MinecraftMixin.java | 88 +++++++++++ .../common/CustomPayloadPacketMixin.java | 28 +++- .../mixin/common/MinecraftServerMixin.java | 7 +- .../impl/mixin/common/PacketAccessor.java | 26 ++++ .../impl/mixin/common/PacketHandlerMixin.java | 3 + .../impl/mixin/common/PlayerManagerMixin.java | 10 +- .../mixin/common/RemoteConnectionMixin.java | 41 ++++- .../ServerLoginNetworkHandlerMixin.java | 23 ++- .../ServerPlayNetworkHandlerMixin.java | 40 +++-- .../src/main/resources/fabric.mod.json | 4 +- .../osl.networking-impl.classtweaker | 5 + .../resources/osl.networking-impl.mixins.json | 4 + .../build.gradle | 1 - .../gradle.properties | 10 -- .../osl/networking/impl/Networking.java | 59 ------- .../access/ClientNetworkHandlerAccess.java | 9 -- .../impl/access/PacketHandlerAccess.java | 9 -- .../access/ServerNetworkHandlerAccess.java | 9 -- .../client/ClientNetworkHandlerMixin.java | 125 --------------- .../impl/mixin/client/MinecraftMixin.java | 41 ----- .../impl/mixin/common/ConnectionMixin.java | 35 ----- .../impl/mixin/common/PacketAccessor.java | 15 -- .../impl/mixin/server/PlayerManagerMixin.java | 37 ----- .../server/ServerPlayNetworkHandlerMixin.java | 94 ------------ .../osl.networking-impl.classtweaker | 3 - .../resources/osl.networking-impl.mixins.json | 23 --- .../build.gradle | 1 - .../gradle.properties | 6 - .../networking/impl/CustomPayloadPacket.java | 87 ----------- .../osl/networking/impl/Networking.java | 59 ------- .../access/ClientNetworkHandlerAccess.java | 9 -- .../impl/access/PacketHandlerAccess.java | 9 -- .../access/ServerNetworkHandlerAccess.java | 9 -- .../client/ClientNetworkHandlerMixin.java | 125 --------------- .../mixin/client/HandshakePacketMixin.java | 27 ---- .../impl/mixin/client/MinecraftMixin.java | 41 ----- .../impl/mixin/common/ConnectionMixin.java | 35 ----- .../impl/mixin/common/PacketAccessor.java | 15 -- .../impl/mixin/server/PlayerManagerMixin.java | 37 ----- .../ServerLoginNetworkHandlerMixin.java | 67 -------- .../server/ServerPlayNetworkHandlerMixin.java | 94 ------------ .../src/main/resources/fabric.mod.json | 42 ----- .../osl.networking-impl.classtweaker | 3 - .../resources/osl.networking-impl.mixins.json | 23 --- settings.gradle | 14 +- 198 files changed, 664 insertions(+), 6272 deletions(-) delete mode 100644 libraries/networking-impl/networking-impl-mc1.13-pre3-mc1.13-pre3/gradle.properties delete mode 100644 libraries/networking-impl/networking-impl-mc1.13-pre3-mc1.13-pre3/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixin.java delete mode 100644 libraries/networking-impl/networking-impl-mc1.13-pre3-mc1.13-pre3/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadC2SPacketMixin.java delete mode 100644 libraries/networking-impl/networking-impl-mc1.13-pre3-mc1.13-pre3/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadS2CPacketMixin.java delete mode 100644 libraries/networking-impl/networking-impl-mc1.13-pre3-mc1.13-pre3/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PlayerManagerMixin.java delete mode 100644 libraries/networking-impl/networking-impl-mc1.13-pre3-mc1.13-pre3/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/MinecraftServerMixin.java delete mode 100644 libraries/networking-impl/networking-impl-mc1.13-pre3-mc1.13-pre3/src/main/resources/fabric.mod.json delete mode 100644 libraries/networking-impl/networking-impl-mc1.13-pre3-mc1.13-pre3/src/main/resources/osl.networking-impl.mixins.json delete mode 100644 libraries/networking-impl/networking-impl-mc1.13-pre4-mc1.13.2/gradle.properties delete mode 100644 libraries/networking-impl/networking-impl-mc1.13-pre4-mc1.13.2/src/main/java/net/ornithemc/osl/networking/impl/Networking.java delete mode 100644 libraries/networking-impl/networking-impl-mc1.13-pre4-mc1.13.2/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/ClientPlayNetworkHandlerMixin.java delete mode 100644 libraries/networking-impl/networking-impl-mc1.13-pre4-mc1.13.2/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixin.java delete mode 100644 libraries/networking-impl/networking-impl-mc1.13-pre4-mc1.13.2/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadC2SPacketMixin.java delete mode 100644 libraries/networking-impl/networking-impl-mc1.13-pre4-mc1.13.2/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadS2CPacketMixin.java delete mode 100644 libraries/networking-impl/networking-impl-mc1.13-pre4-mc1.13.2/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PlayerManagerMixin.java delete mode 100644 libraries/networking-impl/networking-impl-mc1.13-pre4-mc1.13.2/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ServerPlayNetworkHandlerMixin.java delete mode 100644 libraries/networking-impl/networking-impl-mc1.13-pre4-mc1.13.2/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/MinecraftServerMixin.java delete mode 100644 libraries/networking-impl/networking-impl-mc1.13-pre4-mc1.13.2/src/main/resources/osl.networking-impl.mixins.json delete mode 100644 libraries/networking-impl/networking-impl-mc11w49a-mc12w16a/build.gradle delete mode 100644 libraries/networking-impl/networking-impl-mc11w49a-mc12w16a/gradle.properties delete mode 100644 libraries/networking-impl/networking-impl-mc11w49a-mc12w16a/src/main/java/net/ornithemc/osl/networking/impl/Networking.java delete mode 100644 libraries/networking-impl/networking-impl-mc11w49a-mc12w16a/src/main/java/net/ornithemc/osl/networking/impl/access/ClientNetworkHandlerAccess.java delete mode 100644 libraries/networking-impl/networking-impl-mc11w49a-mc12w16a/src/main/java/net/ornithemc/osl/networking/impl/access/PacketHandlerAccess.java delete mode 100644 libraries/networking-impl/networking-impl-mc11w49a-mc12w16a/src/main/java/net/ornithemc/osl/networking/impl/access/ServerNetworkHandlerAccess.java delete mode 100644 libraries/networking-impl/networking-impl-mc11w49a-mc12w16a/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/ClientNetworkHandlerMixin.java delete mode 100644 libraries/networking-impl/networking-impl-mc11w49a-mc12w16a/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixin.java delete mode 100644 libraries/networking-impl/networking-impl-mc11w49a-mc12w16a/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ConnectionMixin.java delete mode 100644 libraries/networking-impl/networking-impl-mc11w49a-mc12w16a/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadPacketMixin.java delete mode 100644 libraries/networking-impl/networking-impl-mc11w49a-mc12w16a/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PacketHandlerMixin.java delete mode 100644 libraries/networking-impl/networking-impl-mc11w49a-mc12w16a/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/PlayerManagerMixin.java delete mode 100644 libraries/networking-impl/networking-impl-mc11w49a-mc12w16a/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/ServerLoginNetworkHandlerMixin.java delete mode 100644 libraries/networking-impl/networking-impl-mc11w49a-mc12w16a/src/main/resources/fabric.mod.json delete mode 100644 libraries/networking-impl/networking-impl-mc11w49a-mc12w16a/src/main/resources/osl.networking-impl.classtweaker delete mode 100644 libraries/networking-impl/networking-impl-mc11w49a-mc12w16a/src/main/resources/osl.networking-impl.mixins.json delete mode 100644 libraries/networking-impl/networking-impl-mc12w17a-mc12w17a/build.gradle delete mode 100644 libraries/networking-impl/networking-impl-mc12w17a-mc12w17a/gradle.properties delete mode 100644 libraries/networking-impl/networking-impl-mc12w17a-mc12w17a/src/main/java/net/ornithemc/osl/networking/impl/Networking.java delete mode 100644 libraries/networking-impl/networking-impl-mc12w17a-mc12w17a/src/main/java/net/ornithemc/osl/networking/impl/access/ClientNetworkHandlerAccess.java delete mode 100644 libraries/networking-impl/networking-impl-mc12w17a-mc12w17a/src/main/java/net/ornithemc/osl/networking/impl/access/PacketHandlerAccess.java delete mode 100644 libraries/networking-impl/networking-impl-mc12w17a-mc12w17a/src/main/java/net/ornithemc/osl/networking/impl/access/ServerNetworkHandlerAccess.java delete mode 100644 libraries/networking-impl/networking-impl-mc12w17a-mc12w17a/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/ClientNetworkHandlerMixin.java delete mode 100644 libraries/networking-impl/networking-impl-mc12w17a-mc12w17a/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixin.java delete mode 100644 libraries/networking-impl/networking-impl-mc12w17a-mc12w17a/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ConnectionMixin.java delete mode 100644 libraries/networking-impl/networking-impl-mc12w17a-mc12w17a/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/PlayerManagerMixin.java delete mode 100644 libraries/networking-impl/networking-impl-mc12w17a-mc12w17a/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/ServerLoginNetworkHandlerMixin.java delete mode 100644 libraries/networking-impl/networking-impl-mc12w17a-mc12w17a/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/ServerPlayNetworkHandlerMixin.java delete mode 100644 libraries/networking-impl/networking-impl-mc12w17a-mc12w17a/src/main/resources/fabric.mod.json delete mode 100644 libraries/networking-impl/networking-impl-mc12w17a-mc12w17a/src/main/resources/osl.networking-impl.classtweaker delete mode 100644 libraries/networking-impl/networking-impl-mc12w17a-mc12w17a/src/main/resources/osl.networking-impl.mixins.json delete mode 100644 libraries/networking-impl/networking-impl-mc12w18a-mc12w19a/build.gradle delete mode 100644 libraries/networking-impl/networking-impl-mc12w18a-mc12w19a/gradle.properties delete mode 100644 libraries/networking-impl/networking-impl-mc12w18a-mc12w19a/src/main/java/net/ornithemc/osl/networking/impl/access/ClientNetworkHandlerAccess.java delete mode 100644 libraries/networking-impl/networking-impl-mc12w18a-mc12w19a/src/main/java/net/ornithemc/osl/networking/impl/access/LocalServerAccess.java delete mode 100644 libraries/networking-impl/networking-impl-mc12w18a-mc12w19a/src/main/java/net/ornithemc/osl/networking/impl/access/ServerNetworkHandlerAccess.java delete mode 100644 libraries/networking-impl/networking-impl-mc12w18a-mc12w19a/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/ClientNetworkHandlerMixin.java delete mode 100644 libraries/networking-impl/networking-impl-mc12w18a-mc12w19a/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/LocalServerMixin.java delete mode 100644 libraries/networking-impl/networking-impl-mc12w18a-mc12w19a/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixin.java delete mode 100644 libraries/networking-impl/networking-impl-mc12w18a-mc12w19a/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ConnectionMixin.java delete mode 100644 libraries/networking-impl/networking-impl-mc12w18a-mc12w19a/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadPacketMixin.java delete mode 100644 libraries/networking-impl/networking-impl-mc12w18a-mc12w19a/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PlayerManagerMixin.java delete mode 100644 libraries/networking-impl/networking-impl-mc12w18a-mc12w19a/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ServerLoginNetworkHandlerMixin.java delete mode 100644 libraries/networking-impl/networking-impl-mc12w18a-mc12w19a/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ServerPlayNetworkHandlerMixin.java delete mode 100644 libraries/networking-impl/networking-impl-mc12w18a-mc12w19a/src/main/resources/fabric.mod.json delete mode 100644 libraries/networking-impl/networking-impl-mc12w18a-mc12w19a/src/main/resources/osl.networking-impl.mixins.json delete mode 100644 libraries/networking-impl/networking-impl-mc12w21a-mc13w39b/build.gradle delete mode 100644 libraries/networking-impl/networking-impl-mc12w21a-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/Networking.java delete mode 100644 libraries/networking-impl/networking-impl-mc12w21a-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/access/ClientNetworkHandlerAccess.java delete mode 100644 libraries/networking-impl/networking-impl-mc12w21a-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/access/ServerNetworkHandlerAccess.java delete mode 100644 libraries/networking-impl/networking-impl-mc12w21a-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixin.java delete mode 100644 libraries/networking-impl/networking-impl-mc12w21a-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadPacketMixin.java delete mode 100644 libraries/networking-impl/networking-impl-mc12w21a-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ServerPlayNetworkHandlerMixin.java delete mode 100644 libraries/networking-impl/networking-impl-mc12w21a-mc13w39b/src/main/resources/fabric.mod.json rename libraries/networking-impl/{networking-impl-mc1.13-pre3-mc1.13-pre3 => networking-impl-mc13w41a-mc1.14.4}/build.gradle (100%) rename libraries/networking-impl/{networking-impl-mc18w43a-mc1.14.4 => networking-impl-mc13w41a-mc1.14.4}/gradle.properties (68%) rename libraries/networking-impl/{networking-impl-mc13w41a-mc14w20b => networking-impl-mc13w41a-mc1.14.4}/src/main/java/net/ornithemc/osl/networking/impl/Connections.java (73%) rename libraries/networking-impl/{networking-impl-mc1.13-pre3-mc1.13-pre3 => networking-impl-mc13w41a-mc1.14.4}/src/main/java/net/ornithemc/osl/networking/impl/Networking.java (58%) rename libraries/networking-impl/{networking-impl-mc1.13-pre3-mc1.13-pre3 => networking-impl-mc13w41a-mc1.14.4}/src/main/java/net/ornithemc/osl/networking/impl/access/ClientNetworkHandlerAccess.java (100%) rename libraries/networking-impl/{networking-impl-mc1.13-pre3-mc1.13-pre3 => networking-impl-mc13w41a-mc1.14.4}/src/main/java/net/ornithemc/osl/networking/impl/access/ServerNetworkHandlerAccess.java (100%) rename libraries/networking-impl/{networking-impl-mc1.13-pre3-mc1.13-pre3 => networking-impl-mc13w41a-mc1.14.4}/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/ClientPlayNetworkHandlerMixin.java (100%) create mode 100644 libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/CustomPayloadC2SPacketAccess.java rename libraries/networking-impl/{networking-impl-mc14w31a-mc1.13-pre2 => networking-impl-mc13w41a-mc1.14.4}/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixin.java (76%) create mode 100644 libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ConnectionMixin.java rename libraries/networking-impl/{networking-impl-mc14w31a-mc1.13-pre2 => networking-impl-mc13w41a-mc1.14.4}/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadC2SPacketMixin.java (64%) create mode 100644 libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadS2CPacketAccess.java rename libraries/networking-impl/{networking-impl-mc14w31a-mc1.13-pre2 => networking-impl-mc13w41a-mc1.14.4}/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadS2CPacketMixin.java (51%) rename libraries/networking-impl/{networking-impl-mc18w43a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/server => networking-impl-mc13w41a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/common}/MinecraftServerMixin.java (78%) rename libraries/networking-impl/{networking-impl-mc13w41a-mc14w20b => networking-impl-mc13w41a-mc1.14.4}/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PlayerManagerMixin.java (94%) rename libraries/networking-impl/{networking-impl-mc1.13-pre3-mc1.13-pre3 => networking-impl-mc13w41a-mc1.14.4}/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ServerPlayNetworkHandlerMixin.java (100%) rename libraries/networking-impl/{networking-impl-mc1.13-pre4-mc1.13.2 => networking-impl-mc13w41a-mc1.14.4}/src/main/resources/fabric.mod.json (91%) rename libraries/networking-impl/{networking-impl-mc18w43a-mc1.14.4 => networking-impl-mc13w41a-mc1.14.4}/src/main/resources/osl.networking-impl.mixins.json (78%) delete mode 100644 libraries/networking-impl/networking-impl-mc13w41a-mc14w20b/build.gradle delete mode 100644 libraries/networking-impl/networking-impl-mc13w41a-mc14w20b/gradle.properties delete mode 100644 libraries/networking-impl/networking-impl-mc13w41a-mc14w20b/src/main/java/net/ornithemc/osl/networking/impl/Networking.java delete mode 100644 libraries/networking-impl/networking-impl-mc13w41a-mc14w20b/src/main/java/net/ornithemc/osl/networking/impl/access/ClientNetworkHandlerAccess.java delete mode 100644 libraries/networking-impl/networking-impl-mc13w41a-mc14w20b/src/main/java/net/ornithemc/osl/networking/impl/access/ServerNetworkHandlerAccess.java delete mode 100644 libraries/networking-impl/networking-impl-mc13w41a-mc14w20b/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/ClientPlayNetworkHandlerMixin.java delete mode 100644 libraries/networking-impl/networking-impl-mc13w41a-mc14w20b/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixin.java delete mode 100644 libraries/networking-impl/networking-impl-mc13w41a-mc14w20b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ConnectionMixin.java delete mode 100644 libraries/networking-impl/networking-impl-mc13w41a-mc14w20b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadC2SPacketMixin.java delete mode 100644 libraries/networking-impl/networking-impl-mc13w41a-mc14w20b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadS2CPacketMixin.java delete mode 100644 libraries/networking-impl/networking-impl-mc13w41a-mc14w20b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/MinecraftServerMixin.java delete mode 100644 libraries/networking-impl/networking-impl-mc13w41a-mc14w20b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ServerPlayNetworkHandlerMixin.java delete mode 100644 libraries/networking-impl/networking-impl-mc13w41a-mc14w20b/src/main/resources/fabric.mod.json delete mode 100644 libraries/networking-impl/networking-impl-mc13w41a-mc14w20b/src/main/resources/osl.networking-impl.mixins.json delete mode 100644 libraries/networking-impl/networking-impl-mc14w21a-mc14w30c/build.gradle delete mode 100644 libraries/networking-impl/networking-impl-mc14w21a-mc14w30c/gradle.properties delete mode 100644 libraries/networking-impl/networking-impl-mc14w21a-mc14w30c/src/main/java/net/ornithemc/osl/networking/impl/Networking.java delete mode 100644 libraries/networking-impl/networking-impl-mc14w21a-mc14w30c/src/main/java/net/ornithemc/osl/networking/impl/access/ClientNetworkHandlerAccess.java delete mode 100644 libraries/networking-impl/networking-impl-mc14w21a-mc14w30c/src/main/java/net/ornithemc/osl/networking/impl/access/ServerNetworkHandlerAccess.java delete mode 100644 libraries/networking-impl/networking-impl-mc14w21a-mc14w30c/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/ClientPlayNetworkHandlerMixin.java delete mode 100644 libraries/networking-impl/networking-impl-mc14w21a-mc14w30c/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixin.java delete mode 100644 libraries/networking-impl/networking-impl-mc14w21a-mc14w30c/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadC2SPacketMixin.java delete mode 100644 libraries/networking-impl/networking-impl-mc14w21a-mc14w30c/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadS2CPacketMixin.java delete mode 100644 libraries/networking-impl/networking-impl-mc14w21a-mc14w30c/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PlayerManagerMixin.java delete mode 100644 libraries/networking-impl/networking-impl-mc14w21a-mc14w30c/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ServerPlayNetworkHandlerMixin.java delete mode 100644 libraries/networking-impl/networking-impl-mc14w21a-mc14w30c/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/MinecraftServerMixin.java delete mode 100644 libraries/networking-impl/networking-impl-mc14w21a-mc14w30c/src/main/resources/fabric.mod.json delete mode 100644 libraries/networking-impl/networking-impl-mc14w21a-mc14w30c/src/main/resources/osl.networking-impl.mixins.json delete mode 100644 libraries/networking-impl/networking-impl-mc14w31a-mc1.13-pre2/build.gradle delete mode 100644 libraries/networking-impl/networking-impl-mc14w31a-mc1.13-pre2/gradle.properties delete mode 100644 libraries/networking-impl/networking-impl-mc14w31a-mc1.13-pre2/src/main/java/net/ornithemc/osl/networking/impl/Networking.java delete mode 100644 libraries/networking-impl/networking-impl-mc14w31a-mc1.13-pre2/src/main/java/net/ornithemc/osl/networking/impl/access/ClientNetworkHandlerAccess.java delete mode 100644 libraries/networking-impl/networking-impl-mc14w31a-mc1.13-pre2/src/main/java/net/ornithemc/osl/networking/impl/access/ServerNetworkHandlerAccess.java delete mode 100644 libraries/networking-impl/networking-impl-mc14w31a-mc1.13-pre2/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/ClientPlayNetworkHandlerMixin.java delete mode 100644 libraries/networking-impl/networking-impl-mc14w31a-mc1.13-pre2/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PlayerManagerMixin.java delete mode 100644 libraries/networking-impl/networking-impl-mc14w31a-mc1.13-pre2/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ServerPlayNetworkHandlerMixin.java delete mode 100644 libraries/networking-impl/networking-impl-mc14w31a-mc1.13-pre2/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/MinecraftServerMixin.java delete mode 100644 libraries/networking-impl/networking-impl-mc14w31a-mc1.13-pre2/src/main/resources/fabric.mod.json delete mode 100644 libraries/networking-impl/networking-impl-mc14w31a-mc1.13-pre2/src/main/resources/osl.networking-impl.mixins.json delete mode 100644 libraries/networking-impl/networking-impl-mc18w43a-mc1.14.4/build.gradle delete mode 100644 libraries/networking-impl/networking-impl-mc18w43a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/Networking.java delete mode 100644 libraries/networking-impl/networking-impl-mc18w43a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/access/ClientNetworkHandlerAccess.java delete mode 100644 libraries/networking-impl/networking-impl-mc18w43a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/access/ServerNetworkHandlerAccess.java delete mode 100644 libraries/networking-impl/networking-impl-mc18w43a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/ClientPlayNetworkHandlerMixin.java delete mode 100644 libraries/networking-impl/networking-impl-mc18w43a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixin.java delete mode 100644 libraries/networking-impl/networking-impl-mc18w43a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadC2SPacketMixin.java delete mode 100644 libraries/networking-impl/networking-impl-mc18w43a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadS2CPacketMixin.java delete mode 100644 libraries/networking-impl/networking-impl-mc18w43a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PlayerManagerMixin.java delete mode 100644 libraries/networking-impl/networking-impl-mc18w43a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ServerPlayNetworkHandlerMixin.java delete mode 100644 libraries/networking-impl/networking-impl-mc18w43a-mc1.14.4/src/main/resources/fabric.mod.json rename libraries/networking-impl/{networking-impl-mc1.13-pre4-mc1.13.2 => networking-impl-mcb1.0-mc13w39b}/build.gradle (100%) rename libraries/networking-impl/{networking-impl-mc12w21a-mc13w39b => networking-impl-mcb1.0-mc13w39b}/gradle.properties (63%) rename libraries/networking-impl/{networking-impl-mcb1.0-mcb1.4_01 => networking-impl-mcb1.0-mc13w39b}/src/main/java/net/ornithemc/osl/networking/impl/CustomPayloadPacket.java (67%) create mode 100644 libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/CustomPayloadPackets.java rename libraries/networking-impl/{networking-impl-mc12w18a-mc12w19a => networking-impl-mcb1.0-mc13w39b}/src/main/java/net/ornithemc/osl/networking/impl/Networking.java (58%) rename libraries/networking-impl/{networking-impl-mc1.13-pre4-mc1.13.2 => networking-impl-mcb1.0-mc13w39b}/src/main/java/net/ornithemc/osl/networking/impl/access/ClientNetworkHandlerAccess.java (100%) create mode 100644 libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/access/ConnectionAccess.java create mode 100644 libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/access/MinecraftAccess.java create mode 100644 libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/access/PacketHandlerAccess.java rename libraries/networking-impl/{networking-impl-mc1.13-pre4-mc1.13.2 => networking-impl-mcb1.0-mc13w39b}/src/main/java/net/ornithemc/osl/networking/impl/access/ServerNetworkHandlerAccess.java (100%) rename libraries/networking-impl/{networking-impl-mc12w21a-mc13w39b => networking-impl-mcb1.0-mc13w39b}/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/ClientNetworkHandlerMixin.java (62%) rename libraries/networking-impl/{networking-impl-mcb1.0-mcb1.4_01 => networking-impl-mcb1.0-mc13w39b}/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/HandshakePacketMixin.java (71%) rename libraries/networking-impl/{networking-impl-mc12w21a-mc13w39b => networking-impl-mcb1.0-mc13w39b}/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/LocalConnectionMixin.java (73%) create mode 100644 libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixin.java rename libraries/networking-impl/{networking-impl-mc12w17a-mc12w17a => networking-impl-mcb1.0-mc13w39b}/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadPacketMixin.java (56%) rename libraries/networking-impl/{networking-impl-mc12w21a-mc13w39b => networking-impl-mcb1.0-mc13w39b}/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/MinecraftServerMixin.java (86%) create mode 100644 libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PacketAccessor.java rename libraries/networking-impl/{networking-impl-mc12w17a-mc12w17a => networking-impl-mcb1.0-mc13w39b}/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PacketHandlerMixin.java (82%) rename libraries/networking-impl/{networking-impl-mc12w21a-mc13w39b => networking-impl-mcb1.0-mc13w39b}/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PlayerManagerMixin.java (81%) rename libraries/networking-impl/{networking-impl-mc12w21a-mc13w39b => networking-impl-mcb1.0-mc13w39b}/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/RemoteConnectionMixin.java (54%) rename libraries/networking-impl/{networking-impl-mcb1.0-mcb1.4_01/src/main/java/net/ornithemc/osl/networking/impl/mixin/server => networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common}/ServerLoginNetworkHandlerMixin.java (72%) rename libraries/networking-impl/{networking-impl-mc11w49a-mc12w16a/src/main/java/net/ornithemc/osl/networking/impl/mixin/server => networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common}/ServerPlayNetworkHandlerMixin.java (64%) rename libraries/networking-impl/{networking-impl-mcb1.0-mcb1.4_01 => networking-impl-mcb1.0-mc13w39b}/src/main/resources/fabric.mod.json (91%) create mode 100644 libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/resources/osl.networking-impl.classtweaker rename libraries/networking-impl/{networking-impl-mc12w21a-mc13w39b => networking-impl-mcb1.0-mc13w39b}/src/main/resources/osl.networking-impl.mixins.json (81%) delete mode 100644 libraries/networking-impl/networking-impl-mcb1.0-mcb1.4_01/build.gradle delete mode 100644 libraries/networking-impl/networking-impl-mcb1.0-mcb1.4_01/gradle.properties delete mode 100644 libraries/networking-impl/networking-impl-mcb1.0-mcb1.4_01/src/main/java/net/ornithemc/osl/networking/impl/Networking.java delete mode 100644 libraries/networking-impl/networking-impl-mcb1.0-mcb1.4_01/src/main/java/net/ornithemc/osl/networking/impl/access/ClientNetworkHandlerAccess.java delete mode 100644 libraries/networking-impl/networking-impl-mcb1.0-mcb1.4_01/src/main/java/net/ornithemc/osl/networking/impl/access/PacketHandlerAccess.java delete mode 100644 libraries/networking-impl/networking-impl-mcb1.0-mcb1.4_01/src/main/java/net/ornithemc/osl/networking/impl/access/ServerNetworkHandlerAccess.java delete mode 100644 libraries/networking-impl/networking-impl-mcb1.0-mcb1.4_01/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/ClientNetworkHandlerMixin.java delete mode 100644 libraries/networking-impl/networking-impl-mcb1.0-mcb1.4_01/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixin.java delete mode 100644 libraries/networking-impl/networking-impl-mcb1.0-mcb1.4_01/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ConnectionMixin.java delete mode 100644 libraries/networking-impl/networking-impl-mcb1.0-mcb1.4_01/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PacketAccessor.java delete mode 100644 libraries/networking-impl/networking-impl-mcb1.0-mcb1.4_01/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/PlayerManagerMixin.java delete mode 100644 libraries/networking-impl/networking-impl-mcb1.0-mcb1.4_01/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/ServerPlayNetworkHandlerMixin.java delete mode 100644 libraries/networking-impl/networking-impl-mcb1.0-mcb1.4_01/src/main/resources/osl.networking-impl.classtweaker delete mode 100644 libraries/networking-impl/networking-impl-mcb1.0-mcb1.4_01/src/main/resources/osl.networking-impl.mixins.json delete mode 100644 libraries/networking-impl/networking-impl-mcb1.5-mc11w48a/build.gradle delete mode 100644 libraries/networking-impl/networking-impl-mcb1.5-mc11w48a/gradle.properties delete mode 100644 libraries/networking-impl/networking-impl-mcb1.5-mc11w48a/src/main/java/net/ornithemc/osl/networking/impl/CustomPayloadPacket.java delete mode 100644 libraries/networking-impl/networking-impl-mcb1.5-mc11w48a/src/main/java/net/ornithemc/osl/networking/impl/Networking.java delete mode 100644 libraries/networking-impl/networking-impl-mcb1.5-mc11w48a/src/main/java/net/ornithemc/osl/networking/impl/access/ClientNetworkHandlerAccess.java delete mode 100644 libraries/networking-impl/networking-impl-mcb1.5-mc11w48a/src/main/java/net/ornithemc/osl/networking/impl/access/PacketHandlerAccess.java delete mode 100644 libraries/networking-impl/networking-impl-mcb1.5-mc11w48a/src/main/java/net/ornithemc/osl/networking/impl/access/ServerNetworkHandlerAccess.java delete mode 100644 libraries/networking-impl/networking-impl-mcb1.5-mc11w48a/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/ClientNetworkHandlerMixin.java delete mode 100644 libraries/networking-impl/networking-impl-mcb1.5-mc11w48a/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/HandshakePacketMixin.java delete mode 100644 libraries/networking-impl/networking-impl-mcb1.5-mc11w48a/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixin.java delete mode 100644 libraries/networking-impl/networking-impl-mcb1.5-mc11w48a/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ConnectionMixin.java delete mode 100644 libraries/networking-impl/networking-impl-mcb1.5-mc11w48a/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PacketAccessor.java delete mode 100644 libraries/networking-impl/networking-impl-mcb1.5-mc11w48a/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/PlayerManagerMixin.java delete mode 100644 libraries/networking-impl/networking-impl-mcb1.5-mc11w48a/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/ServerLoginNetworkHandlerMixin.java delete mode 100644 libraries/networking-impl/networking-impl-mcb1.5-mc11w48a/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/ServerPlayNetworkHandlerMixin.java delete mode 100644 libraries/networking-impl/networking-impl-mcb1.5-mc11w48a/src/main/resources/fabric.mod.json delete mode 100644 libraries/networking-impl/networking-impl-mcb1.5-mc11w48a/src/main/resources/osl.networking-impl.classtweaker delete mode 100644 libraries/networking-impl/networking-impl-mcb1.5-mc11w48a/src/main/resources/osl.networking-impl.mixins.json diff --git a/libraries/networking-impl/networking-impl-mc1.13-pre3-mc1.13-pre3/gradle.properties b/libraries/networking-impl/networking-impl-mc1.13-pre3-mc1.13-pre3/gradle.properties deleted file mode 100644 index ab300631e..000000000 --- a/libraries/networking-impl/networking-impl-mc1.13-pre3-mc1.13-pre3/gradle.properties +++ /dev/null @@ -1,4 +0,0 @@ -min_mc_version = 1.13-pre3 -max_mc_version = 1.13-pre3 - -minecraft_version = 1.13-pre3 diff --git a/libraries/networking-impl/networking-impl-mc1.13-pre3-mc1.13-pre3/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixin.java b/libraries/networking-impl/networking-impl-mc1.13-pre3-mc1.13-pre3/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixin.java deleted file mode 100644 index bc5386d1b..000000000 --- a/libraries/networking-impl/networking-impl-mc1.13-pre3-mc1.13-pre3/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixin.java +++ /dev/null @@ -1,41 +0,0 @@ -package net.ornithemc.osl.networking.impl.mixin.client; - -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -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.Minecraft; -import net.minecraft.client.gui.screen.Screen; -import net.minecraft.client.network.handler.ClientPlayNetworkHandler; -import net.minecraft.client.world.ClientWorld; - -import net.ornithemc.osl.networking.api.client.ClientConnectionEvents; -import net.ornithemc.osl.networking.impl.access.ClientNetworkHandlerAccess; -import net.ornithemc.osl.networking.impl.client.ClientConnectionContext; - -@Mixin(Minecraft.class) -public class MinecraftMixin { - - @Shadow - private ClientWorld world; - - @Shadow - private ClientPlayNetworkHandler getNetworkHandler() { return null; } - - @Inject( - method = "setWorld(Lnet/minecraft/client/world/ClientWorld;Lnet/minecraft/client/gui/screen/Screen;)V", - at = @At( - value = "HEAD" - ) - ) - private void osl$networking$disconnect(ClientWorld world, Screen screen, CallbackInfo ci) { - if (this.world != null && world == null) { - ClientNetworkHandlerAccess networkHandler = (ClientNetworkHandlerAccess) getNetworkHandler(); - ClientConnectionContext connectionContext = networkHandler.osl$networking$connectionContext(); - - ClientConnectionEvents.DISCONNECT.invoker().accept(connectionContext); - } - } -} diff --git a/libraries/networking-impl/networking-impl-mc1.13-pre3-mc1.13-pre3/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadC2SPacketMixin.java b/libraries/networking-impl/networking-impl-mc1.13-pre3-mc1.13-pre3/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadC2SPacketMixin.java deleted file mode 100644 index 2722159ec..000000000 --- a/libraries/networking-impl/networking-impl-mc1.13-pre3-mc1.13-pre3/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadC2SPacketMixin.java +++ /dev/null @@ -1,63 +0,0 @@ -package net.ornithemc.osl.networking.impl.mixin.common; - -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.At.Shift; -import org.spongepowered.asm.mixin.injection.Constant; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.ModifyConstant; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; - -import net.minecraft.network.PacketByteBuf; -import net.minecraft.network.packet.c2s.play.CustomPayloadC2SPacket; - -import net.ornithemc.osl.core.api.util.NamespacedIdentifier; -import net.ornithemc.osl.networking.api.PacketBuffer; -import net.ornithemc.osl.networking.api.PacketBuffers; -import net.ornithemc.osl.networking.api.StringChannelIdentifierParser; -import net.ornithemc.osl.networking.impl.access.CustomPayloadPacketAccess; - -@Mixin(CustomPayloadC2SPacket.class) -public class CustomPayloadC2SPacketMixin implements CustomPayloadPacketAccess { - - @Shadow private String channel; - @Shadow private PacketByteBuf data; - - @ModifyConstant( - method = "read", - constant = @Constant( - intValue = 20 - ) - ) - private int osl$networking$modifyMaxChannelLength(int maxLength) { - return StringChannelIdentifierParser.MAX_LENGTH; - } - - @Inject( - method = "handle(Lnet/minecraft/server/network/handler/ServerPlayPacketHandler;)V", - cancellable = true, - at = @At( - value = "INVOKE", - shift = Shift.AFTER, - target = "Lnet/minecraft/server/network/handler/ServerPlayPacketHandler;handleCustomPayload(Lnet/minecraft/network/packet/c2s/play/CustomPayloadC2SPacket;)V" - ) - ) - private void osl$networking$skipBufferRelease(CallbackInfo ci) { - // there's a call to ByteBuf.release() that we want to skip - // so that we can queue packet handling to the main thread - // Vanilla does this by throwing an exception but for the sake - // of version compat we cannot use the same approach - ci.cancel(); - } - - @Override - public NamespacedIdentifier osl$networking$getChannel() { - return StringChannelIdentifierParser.fromString(channel); - } - - @Override - public PacketBuffer osl$networking$getData() { - return PacketBuffers.wrapped(data.copy()); - } -} diff --git a/libraries/networking-impl/networking-impl-mc1.13-pre3-mc1.13-pre3/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadS2CPacketMixin.java b/libraries/networking-impl/networking-impl-mc1.13-pre3-mc1.13-pre3/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadS2CPacketMixin.java deleted file mode 100644 index 97912aa8a..000000000 --- a/libraries/networking-impl/networking-impl-mc1.13-pre3-mc1.13-pre3/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadS2CPacketMixin.java +++ /dev/null @@ -1,31 +0,0 @@ -package net.ornithemc.osl.networking.impl.mixin.common; - -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; - -import net.minecraft.network.PacketByteBuf; -import net.minecraft.network.packet.s2c.play.CustomPayloadS2CPacket; -import net.minecraft.resource.Identifier; - -import net.ornithemc.osl.core.api.util.NamespacedIdentifier; -import net.ornithemc.osl.networking.api.IdentifierChannelIdentifierParser; -import net.ornithemc.osl.networking.api.PacketBuffer; -import net.ornithemc.osl.networking.api.PacketBuffers; -import net.ornithemc.osl.networking.impl.access.CustomPayloadPacketAccess; - -@Mixin(CustomPayloadS2CPacket.class) -public class CustomPayloadS2CPacketMixin implements CustomPayloadPacketAccess { - - @Shadow private Identifier channel; - @Shadow private PacketByteBuf data; - - @Override - public NamespacedIdentifier osl$networking$getChannel() { - return IdentifierChannelIdentifierParser.fromIdentifier(channel); - } - - @Override - public PacketBuffer osl$networking$getData() { - return PacketBuffers.wrapped(data.copy()); - } -} diff --git a/libraries/networking-impl/networking-impl-mc1.13-pre3-mc1.13-pre3/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PlayerManagerMixin.java b/libraries/networking-impl/networking-impl-mc1.13-pre3-mc1.13-pre3/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PlayerManagerMixin.java deleted file mode 100644 index 463dde8b5..000000000 --- a/libraries/networking-impl/networking-impl-mc1.13-pre3-mc1.13-pre3/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PlayerManagerMixin.java +++ /dev/null @@ -1,59 +0,0 @@ -package net.ornithemc.osl.networking.impl.mixin.common; - -import java.util.List; - -import org.spongepowered.asm.mixin.Final; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; - -import com.llamalad7.mixinextras.sugar.Local; - -import net.minecraft.server.MinecraftServer; -import net.minecraft.server.PlayerManager; -import net.minecraft.server.entity.living.player.ServerPlayerEntity; - -import net.ornithemc.osl.networking.api.server.ServerConnectionEvents; -import net.ornithemc.osl.networking.impl.access.PlayerManagerAccess; -import net.ornithemc.osl.networking.impl.access.ServerNetworkHandlerAccess; -import net.ornithemc.osl.networking.impl.server.ServerConnectionContext; - -@Mixin(PlayerManager.class) -public class PlayerManagerMixin implements PlayerManagerAccess { - - @Shadow @Final private MinecraftServer server; - @Shadow @Final private List players; - - @Inject( - method = "onLogin", - at = @At( - value = "TAIL" - ) - ) - private void osl$networking$handleLogin(CallbackInfo ci, @Local ServerPlayerEntity player) { - ServerNetworkHandlerAccess networkHandler = (ServerNetworkHandlerAccess) player.networkHandler; - ServerConnectionContext connectionContext = networkHandler.osl$networking$connectionContext(); - - ServerConnectionEvents.LOGIN.invoker().accept(connectionContext); - } - - @Inject( - method = "remove", - at = @At( - value = "HEAD" - ) - ) - private void osl$networking$handleDisconnect(CallbackInfo ci, @Local ServerPlayerEntity player) { - ServerNetworkHandlerAccess networkHandler = (ServerNetworkHandlerAccess) player.networkHandler; - ServerConnectionContext connectionContext = networkHandler.osl$networking$connectionContext(); - - ServerConnectionEvents.DISCONNECT.invoker().accept(connectionContext); - } - - @Override - public List osl$networking$getAll() { - return players; - } -} diff --git a/libraries/networking-impl/networking-impl-mc1.13-pre3-mc1.13-pre3/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/MinecraftServerMixin.java b/libraries/networking-impl/networking-impl-mc1.13-pre3-mc1.13-pre3/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/MinecraftServerMixin.java deleted file mode 100644 index 3c389c76d..000000000 --- a/libraries/networking-impl/networking-impl-mc1.13-pre3-mc1.13-pre3/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/MinecraftServerMixin.java +++ /dev/null @@ -1,42 +0,0 @@ -package net.ornithemc.osl.networking.impl.mixin.server; - -import java.util.List; - -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -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.server.MinecraftServer; -import net.minecraft.server.PlayerManager; -import net.minecraft.server.entity.living.player.ServerPlayerEntity; - -import net.ornithemc.osl.networking.api.server.ServerConnectionEvents; -import net.ornithemc.osl.networking.impl.access.PlayerManagerAccess; -import net.ornithemc.osl.networking.impl.access.ServerNetworkHandlerAccess; -import net.ornithemc.osl.networking.impl.server.ServerConnectionContext; - -@Mixin(MinecraftServer.class) -public class MinecraftServerMixin { - - @Shadow - private PlayerManager playerManager; - - @Inject( - method = "stop", - at = @At( - value = "TAIL" - ) - ) - private void osl$networking$stop(CallbackInfo ci) { - List players = ((PlayerManagerAccess) this.playerManager).osl$networking$getAll(); - - for (ServerPlayerEntity player : players) { - ServerNetworkHandlerAccess networkHandler = (ServerNetworkHandlerAccess) player.networkHandler; - ServerConnectionContext connectionContext = networkHandler.osl$networking$connectionContext(); - - ServerConnectionEvents.DISCONNECT.invoker().accept(connectionContext); - } - } -} diff --git a/libraries/networking-impl/networking-impl-mc1.13-pre3-mc1.13-pre3/src/main/resources/fabric.mod.json b/libraries/networking-impl/networking-impl-mc1.13-pre3-mc1.13-pre3/src/main/resources/fabric.mod.json deleted file mode 100644 index 1094286c3..000000000 --- a/libraries/networking-impl/networking-impl-mc1.13-pre3-mc1.13-pre3/src/main/resources/fabric.mod.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "schemaVersion": 1, - "id": "osl-networking-impl", - "version": "0.3.0+mc1.13-pre3-mc1.13-pre3", - "environment": "*", - "entrypoints": { - "init": [ - "net.ornithemc.osl.networking.impl.Networking" - ], - "client-init": [ - "net.ornithemc.osl.networking.impl.Networking" - ], - "server-init": [ - "net.ornithemc.osl.networking.impl.Networking" - ] - }, - "mixins": [ - "osl.networking-impl.mixins.json" - ], - "depends": { - "fabricloader": "\u003e\u003d0.18.0", - "minecraft": "\u003e\u003d1.13-rc.3 \u003c\u003d1.13-rc.3", - "osl-core": "\u003e\u003d0.7.0", - "osl-entrypoints": "\u003e\u003d0.5.0", - "osl-lifecycle-events": "\u003e\u003d0.6.0", - "osl-text-components": "\u003e\u003d0.1.0", - "osl-executors": "\u003e\u003d0.1.0", - "osl-networking": "\u003e\u003d0.12.0" - }, - "name": "OSL Networking Implementation", - "description": "Implementation details of the Networking API.", - "authors": [ - "OrnitheMC" - ], - "contact": { - "homepage": "https://ornithemc.net/", - "issues": "https://github.com/OrnitheMC/ornithe-standard-libraries/issues", - "sources": "https://github.com/OrnitheMC/ornithe-standard-libraries" - }, - "license": "Apache-2.0" -} \ No newline at end of file diff --git a/libraries/networking-impl/networking-impl-mc1.13-pre3-mc1.13-pre3/src/main/resources/osl.networking-impl.mixins.json b/libraries/networking-impl/networking-impl-mc1.13-pre3-mc1.13-pre3/src/main/resources/osl.networking-impl.mixins.json deleted file mode 100644 index 4c0a97f4c..000000000 --- a/libraries/networking-impl/networking-impl-mc1.13-pre3-mc1.13-pre3/src/main/resources/osl.networking-impl.mixins.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "required": true, - "minVersion": "0.8", - "package": "net.ornithemc.osl.networking.impl.mixin", - "compatibilityLevel": "JAVA_8", - "mixins": [ - "common.CustomPayloadC2SPacketMixin", - "common.CustomPayloadS2CPacketMixin", - "common.PlayerManagerMixin", - "common.ServerPlayNetworkHandlerMixin" - ], - "client": [ - "client.ClientPlayNetworkHandlerMixin", - "client.MinecraftMixin" - ], - "server": [ - "server.MinecraftServerMixin" - ], - "injectors": { - "defaultRequire": 1 - } -} diff --git a/libraries/networking-impl/networking-impl-mc1.13-pre4-mc1.13.2/gradle.properties b/libraries/networking-impl/networking-impl-mc1.13-pre4-mc1.13.2/gradle.properties deleted file mode 100644 index 809e77ded..000000000 --- a/libraries/networking-impl/networking-impl-mc1.13-pre4-mc1.13.2/gradle.properties +++ /dev/null @@ -1,4 +0,0 @@ -min_mc_version = 1.13-pre4 -max_mc_version = 1.13.2 - -minecraft_version = 1.13.2 diff --git a/libraries/networking-impl/networking-impl-mc1.13-pre4-mc1.13.2/src/main/java/net/ornithemc/osl/networking/impl/Networking.java b/libraries/networking-impl/networking-impl-mc1.13-pre4-mc1.13.2/src/main/java/net/ornithemc/osl/networking/impl/Networking.java deleted file mode 100644 index 9bc0ddf8f..000000000 --- a/libraries/networking-impl/networking-impl-mc1.13-pre4-mc1.13.2/src/main/java/net/ornithemc/osl/networking/impl/Networking.java +++ /dev/null @@ -1,61 +0,0 @@ -package net.ornithemc.osl.networking.impl; - -import net.minecraft.network.packet.c2s.play.CustomPayloadC2SPacket; -import net.minecraft.network.packet.s2c.play.CustomPayloadS2CPacket; - -import net.ornithemc.osl.entrypoints.api.ModInitializer; -import net.ornithemc.osl.entrypoints.api.client.ClientModInitializer; -import net.ornithemc.osl.entrypoints.api.server.ServerModInitializer; -import net.ornithemc.osl.lifecycle.api.client.MinecraftClientEvents; -import net.ornithemc.osl.lifecycle.api.server.MinecraftServerEvents; -import net.ornithemc.osl.networking.api.IdentifierChannelIdentifierParser; -import net.ornithemc.osl.networking.api.PacketBuffers; -import net.ornithemc.osl.networking.api.client.ClientConnectionEvents; -import net.ornithemc.osl.networking.api.server.ServerConnectionEvents; -import net.ornithemc.osl.networking.impl.access.ClientNetworkHandlerAccess; -import net.ornithemc.osl.networking.impl.access.ServerNetworkHandlerAccess; -import net.ornithemc.osl.networking.impl.client.ClientConnectionContext; -import net.ornithemc.osl.networking.impl.client.ClientPlayNetworkingImpl; -import net.ornithemc.osl.networking.impl.server.ServerConnectionContext; -import net.ornithemc.osl.networking.impl.server.ServerPlayNetworkingImpl; - -public class Networking implements ModInitializer, ClientModInitializer, ServerModInitializer { - - @Override - public void init() { - MinecraftServerEvents.START.register(ServerPlayNetworkingImpl::setUp); - MinecraftServerEvents.STOP.register(ServerPlayNetworkingImpl::destroy); - ServerPlayNetworkingImpl.setUpPacketFactory((channel, data) -> - new CustomPayloadS2CPacket(IdentifierChannelIdentifierParser.toIdentifier(channel), PacketBuffers.unwrapped(data))); - ServerPlayNetworkingImpl.registerListener(HandshakePayload.CHANNEL, HandshakePayload::new, (context, payload) -> { - // send channel registration data as a response to receiving client channel registration data - ServerPlayNetworkingImpl.sendNoCheck(context.player(), HandshakePayload.CHANNEL, HandshakePayload.server()); - - ServerNetworkHandlerAccess networkHandler = (ServerNetworkHandlerAccess) context.networkHandler(); - ServerConnectionContext connectionContext = networkHandler.osl$networking$connectionContext(); - - networkHandler.osl$networking$registerChannels(payload.channels); - ServerConnectionEvents.PLAY_READY.invoker().accept(connectionContext); - }); - } - - @Override - public void initClient() { - MinecraftClientEvents.START.register(ClientPlayNetworkingImpl::setUp); - MinecraftClientEvents.STOP.register(ClientPlayNetworkingImpl::destroy); - ClientPlayNetworkingImpl.setUpPacketFactory((channel, data) -> - new CustomPayloadC2SPacket(IdentifierChannelIdentifierParser.toIdentifier(channel), PacketBuffers.unwrapped(data))); - ClientPlayNetworkingImpl.registerListener(HandshakePayload.CHANNEL, HandshakePayload::new, (context, payload) -> { - ClientNetworkHandlerAccess networkHandler = (ClientNetworkHandlerAccess) context.networkHandler(); - ClientConnectionContext connectionContext = networkHandler.osl$networking$connectionContext(); - - networkHandler.osl$networking$registerChannels(payload.channels); - ClientConnectionEvents.PLAY_READY.invoker().accept(connectionContext); - }); - } - - @Override - public void initServer() { - // no-op - } -} diff --git a/libraries/networking-impl/networking-impl-mc1.13-pre4-mc1.13.2/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/ClientPlayNetworkHandlerMixin.java b/libraries/networking-impl/networking-impl-mc1.13-pre4-mc1.13.2/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/ClientPlayNetworkHandlerMixin.java deleted file mode 100644 index 4061f5b16..000000000 --- a/libraries/networking-impl/networking-impl-mc1.13-pre4-mc1.13.2/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/ClientPlayNetworkHandlerMixin.java +++ /dev/null @@ -1,135 +0,0 @@ -package net.ornithemc.osl.networking.impl.mixin.client; - -import java.net.SocketAddress; -import java.util.LinkedHashSet; -import java.util.Set; - -import org.spongepowered.asm.mixin.Final; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -import org.spongepowered.asm.mixin.Unique; -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.Minecraft; -import net.minecraft.client.network.handler.ClientPlayNetworkHandler; -import net.minecraft.network.Connection; -import net.minecraft.network.packet.s2c.play.CustomPayloadS2CPacket; -import net.minecraft.network.packet.s2c.play.DisconnectS2CPacket; -import net.minecraft.server.integrated.IntegratedServer; -import net.minecraft.text.Text; - -import net.ornithemc.osl.core.api.util.NamespacedIdentifier; -import net.ornithemc.osl.networking.api.client.ClientConnectionEvents; -import net.ornithemc.osl.networking.impl.AddressParser; -import net.ornithemc.osl.networking.impl.HandshakePayload; -import net.ornithemc.osl.networking.impl.access.ClientNetworkHandlerAccess; -import net.ornithemc.osl.networking.impl.client.ClientConnectionContext; -import net.ornithemc.osl.networking.impl.client.ClientPlayNetworkingImpl; -import net.ornithemc.osl.text.api.TextComponents; - -@Mixin(ClientPlayNetworkHandler.class) -public class ClientPlayNetworkHandlerMixin implements ClientNetworkHandlerAccess { - - @Shadow @Final - private Minecraft minecraft; - @Shadow @Final - private Connection connection; - - @Unique - private ClientConnectionContext connectionContext; - /** - * Channels that the server is listening to. - */ - @Unique - private Set serverChannels; - - @Inject( - method = "*", - at = @At( - value = "TAIL" - ) - ) - private void osl$networking$initConnectionContext(CallbackInfo ci) { - if (minecraft.isIntegratedServerRunning()) { - IntegratedServer server = minecraft.getServer(); - String worldName = server.getWorldName(); - - connectionContext = new ClientConnectionContext(minecraft, worldName); - } else { - SocketAddress address = connection.getAddress(); - - String serverAddress = AddressParser.getAddress(address); - int serverPort = AddressParser.getPort(address); - - connectionContext = new ClientConnectionContext(minecraft, serverAddress, serverPort); - } - } - - @Inject( - method = "handleLogin", - at = @At( - value = "TAIL" - ) - ) - private void osl$networking$handleLogin(CallbackInfo ci) { - // send channel registration data as soon as login occurs - ClientPlayNetworkingImpl.sendNoCheck(HandshakePayload.CHANNEL, HandshakePayload.client()); - - ClientConnectionEvents.LOGIN.invoker().accept(connectionContext); - } - - @Inject( - method = "handleDisconnect", - at = @At( - value = "HEAD" - ) - ) - private void osl$networking$handleDisconnect(DisconnectS2CPacket packet, CallbackInfo ci) { - connectionContext.offerDisconnectReason(TextComponents.resolve(packet.getReason())); - } - - @Inject( - method = "onDisconnect", - at = @At( - value = "HEAD" - ) - ) - private void osl$networking$handleDisconnect(Text reason, CallbackInfo ci) { - connectionContext.offerDisconnectReason(TextComponents.resolve(reason)); - } - - @Inject( - method = "handleCustomPayload", - cancellable = true, - at = @At( - value = "HEAD" - ) - ) - private void osl$networking$handleCustomPayload(CustomPayloadS2CPacket packet, CallbackInfo ci) { - if (ClientPlayNetworkingImpl.handlePacket(minecraft, (ClientPlayNetworkHandler)(Object)this, packet)) { - ci.cancel(); - } - } - - @Override - public ClientConnectionContext osl$networking$connectionContext() { - return connectionContext; - } - - @Override - public boolean osl$networking$isPlayReady() { - return serverChannels != null; - } - - @Override - public boolean osl$networking$isPlayReady(NamespacedIdentifier channel) { - return serverChannels != null && serverChannels.contains(channel); - } - - @Override - public void osl$networking$registerChannels(Set channels) { - serverChannels = new LinkedHashSet<>(channels); - } -} diff --git a/libraries/networking-impl/networking-impl-mc1.13-pre4-mc1.13.2/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixin.java b/libraries/networking-impl/networking-impl-mc1.13-pre4-mc1.13.2/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixin.java deleted file mode 100644 index fee8d8976..000000000 --- a/libraries/networking-impl/networking-impl-mc1.13-pre4-mc1.13.2/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixin.java +++ /dev/null @@ -1,42 +0,0 @@ -package net.ornithemc.osl.networking.impl.mixin.client; - -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; - -import com.llamalad7.mixinextras.sugar.Local; - -import net.minecraft.client.Minecraft; -import net.minecraft.client.network.handler.ClientPlayNetworkHandler; -import net.minecraft.client.world.ClientWorld; - -import net.ornithemc.osl.networking.api.client.ClientConnectionEvents; -import net.ornithemc.osl.networking.impl.access.ClientNetworkHandlerAccess; -import net.ornithemc.osl.networking.impl.client.ClientConnectionContext; - -@Mixin(Minecraft.class) -public class MinecraftMixin { - - @Shadow - private ClientWorld world; - - @Shadow - private ClientPlayNetworkHandler getNetworkHandler() { return null; } - - @Inject( - method = "m_62116716", - at = @At( - value = "HEAD" - ) - ) - private void osl$networking$disconnect(CallbackInfo ci, @Local ClientWorld world) { - if (this.world != null && world == null) { - ClientNetworkHandlerAccess networkHandler = (ClientNetworkHandlerAccess) getNetworkHandler(); - ClientConnectionContext connectionContext = networkHandler.osl$networking$connectionContext(); - - ClientConnectionEvents.DISCONNECT.invoker().accept(connectionContext); - } - } -} diff --git a/libraries/networking-impl/networking-impl-mc1.13-pre4-mc1.13.2/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadC2SPacketMixin.java b/libraries/networking-impl/networking-impl-mc1.13-pre4-mc1.13.2/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadC2SPacketMixin.java deleted file mode 100644 index 8945a8b6d..000000000 --- a/libraries/networking-impl/networking-impl-mc1.13-pre4-mc1.13.2/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadC2SPacketMixin.java +++ /dev/null @@ -1,52 +0,0 @@ -package net.ornithemc.osl.networking.impl.mixin.common; - -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.At.Shift; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; - -import net.minecraft.network.PacketByteBuf; -import net.minecraft.network.packet.c2s.play.CustomPayloadC2SPacket; -import net.minecraft.resource.Identifier; - -import net.ornithemc.osl.core.api.util.NamespacedIdentifier; -import net.ornithemc.osl.networking.api.IdentifierChannelIdentifierParser; -import net.ornithemc.osl.networking.api.PacketBuffer; -import net.ornithemc.osl.networking.api.PacketBuffers; -import net.ornithemc.osl.networking.impl.access.CustomPayloadPacketAccess; - -@Mixin(CustomPayloadC2SPacket.class) -public class CustomPayloadC2SPacketMixin implements CustomPayloadPacketAccess { - - @Shadow private Identifier channel; - @Shadow private PacketByteBuf data; - - @Inject( - method = "handle(Lnet/minecraft/server/network/handler/ServerPlayPacketHandler;)V", - cancellable = true, - at = @At( - value = "INVOKE", - shift = Shift.AFTER, - target = "Lnet/minecraft/server/network/handler/ServerPlayPacketHandler;handleCustomPayload(Lnet/minecraft/network/packet/c2s/play/CustomPayloadC2SPacket;)V" - ) - ) - private void osl$networking$skipBufferRelease(CallbackInfo ci) { - // there's a call to ByteBuf.release() that we want to skip - // so that we can queue packet handling to the main thread - // Vanilla does this by throwing an exception but for the sake - // of version compat we cannot use the same approach - ci.cancel(); - } - - @Override - public NamespacedIdentifier osl$networking$getChannel() { - return IdentifierChannelIdentifierParser.fromIdentifier(channel); - } - - @Override - public PacketBuffer osl$networking$getData() { - return PacketBuffers.wrapped(data.copy()); - } -} diff --git a/libraries/networking-impl/networking-impl-mc1.13-pre4-mc1.13.2/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadS2CPacketMixin.java b/libraries/networking-impl/networking-impl-mc1.13-pre4-mc1.13.2/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadS2CPacketMixin.java deleted file mode 100644 index 97912aa8a..000000000 --- a/libraries/networking-impl/networking-impl-mc1.13-pre4-mc1.13.2/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadS2CPacketMixin.java +++ /dev/null @@ -1,31 +0,0 @@ -package net.ornithemc.osl.networking.impl.mixin.common; - -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; - -import net.minecraft.network.PacketByteBuf; -import net.minecraft.network.packet.s2c.play.CustomPayloadS2CPacket; -import net.minecraft.resource.Identifier; - -import net.ornithemc.osl.core.api.util.NamespacedIdentifier; -import net.ornithemc.osl.networking.api.IdentifierChannelIdentifierParser; -import net.ornithemc.osl.networking.api.PacketBuffer; -import net.ornithemc.osl.networking.api.PacketBuffers; -import net.ornithemc.osl.networking.impl.access.CustomPayloadPacketAccess; - -@Mixin(CustomPayloadS2CPacket.class) -public class CustomPayloadS2CPacketMixin implements CustomPayloadPacketAccess { - - @Shadow private Identifier channel; - @Shadow private PacketByteBuf data; - - @Override - public NamespacedIdentifier osl$networking$getChannel() { - return IdentifierChannelIdentifierParser.fromIdentifier(channel); - } - - @Override - public PacketBuffer osl$networking$getData() { - return PacketBuffers.wrapped(data.copy()); - } -} diff --git a/libraries/networking-impl/networking-impl-mc1.13-pre4-mc1.13.2/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PlayerManagerMixin.java b/libraries/networking-impl/networking-impl-mc1.13-pre4-mc1.13.2/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PlayerManagerMixin.java deleted file mode 100644 index 463dde8b5..000000000 --- a/libraries/networking-impl/networking-impl-mc1.13-pre4-mc1.13.2/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PlayerManagerMixin.java +++ /dev/null @@ -1,59 +0,0 @@ -package net.ornithemc.osl.networking.impl.mixin.common; - -import java.util.List; - -import org.spongepowered.asm.mixin.Final; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; - -import com.llamalad7.mixinextras.sugar.Local; - -import net.minecraft.server.MinecraftServer; -import net.minecraft.server.PlayerManager; -import net.minecraft.server.entity.living.player.ServerPlayerEntity; - -import net.ornithemc.osl.networking.api.server.ServerConnectionEvents; -import net.ornithemc.osl.networking.impl.access.PlayerManagerAccess; -import net.ornithemc.osl.networking.impl.access.ServerNetworkHandlerAccess; -import net.ornithemc.osl.networking.impl.server.ServerConnectionContext; - -@Mixin(PlayerManager.class) -public class PlayerManagerMixin implements PlayerManagerAccess { - - @Shadow @Final private MinecraftServer server; - @Shadow @Final private List players; - - @Inject( - method = "onLogin", - at = @At( - value = "TAIL" - ) - ) - private void osl$networking$handleLogin(CallbackInfo ci, @Local ServerPlayerEntity player) { - ServerNetworkHandlerAccess networkHandler = (ServerNetworkHandlerAccess) player.networkHandler; - ServerConnectionContext connectionContext = networkHandler.osl$networking$connectionContext(); - - ServerConnectionEvents.LOGIN.invoker().accept(connectionContext); - } - - @Inject( - method = "remove", - at = @At( - value = "HEAD" - ) - ) - private void osl$networking$handleDisconnect(CallbackInfo ci, @Local ServerPlayerEntity player) { - ServerNetworkHandlerAccess networkHandler = (ServerNetworkHandlerAccess) player.networkHandler; - ServerConnectionContext connectionContext = networkHandler.osl$networking$connectionContext(); - - ServerConnectionEvents.DISCONNECT.invoker().accept(connectionContext); - } - - @Override - public List osl$networking$getAll() { - return players; - } -} diff --git a/libraries/networking-impl/networking-impl-mc1.13-pre4-mc1.13.2/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ServerPlayNetworkHandlerMixin.java b/libraries/networking-impl/networking-impl-mc1.13-pre4-mc1.13.2/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ServerPlayNetworkHandlerMixin.java deleted file mode 100644 index 270f4b80b..000000000 --- a/libraries/networking-impl/networking-impl-mc1.13-pre4-mc1.13.2/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ServerPlayNetworkHandlerMixin.java +++ /dev/null @@ -1,95 +0,0 @@ -package net.ornithemc.osl.networking.impl.mixin.common; - -import java.util.LinkedHashSet; -import java.util.Set; - -import org.spongepowered.asm.mixin.Final; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -import org.spongepowered.asm.mixin.Unique; -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.network.packet.c2s.play.CustomPayloadC2SPacket; -import net.minecraft.server.MinecraftServer; -import net.minecraft.server.entity.living.player.ServerPlayerEntity; -import net.minecraft.server.network.handler.ServerPlayNetworkHandler; -import net.minecraft.text.Text; - -import net.ornithemc.osl.core.api.util.NamespacedIdentifier; -import net.ornithemc.osl.networking.impl.access.ServerNetworkHandlerAccess; -import net.ornithemc.osl.networking.impl.server.ServerConnectionContext; -import net.ornithemc.osl.networking.impl.server.ServerPlayNetworkingImpl; -import net.ornithemc.osl.text.api.TextComponents; - -@Mixin(ServerPlayNetworkHandler.class) -public class ServerPlayNetworkHandlerMixin implements ServerNetworkHandlerAccess { - - @Shadow @Final - private MinecraftServer server; - - @Shadow - private ServerPlayerEntity player; - - @Unique - private ServerConnectionContext connectionContext; - /** - * Channels that the client is listening to. - */ - @Unique - private Set clientChannels; - - @Inject( - method = "", - at = @At( - value = "TAIL" - ) - ) - private void osl$networking$initConnectionContext(CallbackInfo ci) { - connectionContext = new ServerConnectionContext(server, (ServerPlayNetworkHandler) (Object) this); - } - - @Inject( - method = "onDisconnect", - at = @At( - value = "HEAD" - ) - ) - private void osl$networking$handleDisconnect(Text reason, CallbackInfo ci) { - connectionContext.offerDisconnectReason(TextComponents.resolve(reason)); - } - - @Inject( - method = "handleCustomPayload", - cancellable = true, - at = @At( - value = "HEAD" - ) - ) - private void osl$networking$handleCustomPayload(CustomPayloadC2SPacket packet, CallbackInfo ci) { - if (ServerPlayNetworkingImpl.handlePacket(server, (ServerPlayNetworkHandler)(Object)this, player, packet)) { - ci.cancel(); - } - } - - @Override - public ServerConnectionContext osl$networking$connectionContext() { - return connectionContext; - } - - @Override - public boolean osl$networking$isPlayReady() { - return clientChannels != null; - } - - @Override - public boolean osl$networking$isPlayReady(NamespacedIdentifier channel) { - return clientChannels != null && clientChannels.contains(channel); - } - - @Override - public void osl$networking$registerChannels(Set channels) { - clientChannels = new LinkedHashSet<>(channels); - } -} diff --git a/libraries/networking-impl/networking-impl-mc1.13-pre4-mc1.13.2/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/MinecraftServerMixin.java b/libraries/networking-impl/networking-impl-mc1.13-pre4-mc1.13.2/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/MinecraftServerMixin.java deleted file mode 100644 index 3c389c76d..000000000 --- a/libraries/networking-impl/networking-impl-mc1.13-pre4-mc1.13.2/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/MinecraftServerMixin.java +++ /dev/null @@ -1,42 +0,0 @@ -package net.ornithemc.osl.networking.impl.mixin.server; - -import java.util.List; - -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -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.server.MinecraftServer; -import net.minecraft.server.PlayerManager; -import net.minecraft.server.entity.living.player.ServerPlayerEntity; - -import net.ornithemc.osl.networking.api.server.ServerConnectionEvents; -import net.ornithemc.osl.networking.impl.access.PlayerManagerAccess; -import net.ornithemc.osl.networking.impl.access.ServerNetworkHandlerAccess; -import net.ornithemc.osl.networking.impl.server.ServerConnectionContext; - -@Mixin(MinecraftServer.class) -public class MinecraftServerMixin { - - @Shadow - private PlayerManager playerManager; - - @Inject( - method = "stop", - at = @At( - value = "TAIL" - ) - ) - private void osl$networking$stop(CallbackInfo ci) { - List players = ((PlayerManagerAccess) this.playerManager).osl$networking$getAll(); - - for (ServerPlayerEntity player : players) { - ServerNetworkHandlerAccess networkHandler = (ServerNetworkHandlerAccess) player.networkHandler; - ServerConnectionContext connectionContext = networkHandler.osl$networking$connectionContext(); - - ServerConnectionEvents.DISCONNECT.invoker().accept(connectionContext); - } - } -} diff --git a/libraries/networking-impl/networking-impl-mc1.13-pre4-mc1.13.2/src/main/resources/osl.networking-impl.mixins.json b/libraries/networking-impl/networking-impl-mc1.13-pre4-mc1.13.2/src/main/resources/osl.networking-impl.mixins.json deleted file mode 100644 index 2c5b645b7..000000000 --- a/libraries/networking-impl/networking-impl-mc1.13-pre4-mc1.13.2/src/main/resources/osl.networking-impl.mixins.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "required": true, - "minVersion": "0.8", - "package": "net.ornithemc.osl.networking.impl.mixin", - "compatibilityLevel": "JAVA_8", - "mixins": [ - "common.CustomPayloadC2SPacketMixin", - "common.CustomPayloadS2CPacketMixin", - "common.PlayerManagerMixin", - "common.ServerPlayNetworkHandlerMixin" - ], - "client": [ - "client.ClientPlayNetworkHandlerMixin", - "client.MinecraftMixin", - "client.MinecraftMixin18w30b" - ], - "server": [ - "server.MinecraftServerMixin" - ], - "injectors": { - "defaultRequire": 1 - } -} diff --git a/libraries/networking-impl/networking-impl-mc11w49a-mc12w16a/build.gradle b/libraries/networking-impl/networking-impl-mc11w49a-mc12w16a/build.gradle deleted file mode 100644 index 0a350fdb3..000000000 --- a/libraries/networking-impl/networking-impl-mc11w49a-mc12w16a/build.gradle +++ /dev/null @@ -1 +0,0 @@ -setUpModule(project) diff --git a/libraries/networking-impl/networking-impl-mc11w49a-mc12w16a/gradle.properties b/libraries/networking-impl/networking-impl-mc11w49a-mc12w16a/gradle.properties deleted file mode 100644 index 8b7b5e5c8..000000000 --- a/libraries/networking-impl/networking-impl-mc11w49a-mc12w16a/gradle.properties +++ /dev/null @@ -1,6 +0,0 @@ -min_mc_version = 11w49a -max_mc_version = 12w16a - -minecraft_version = 12w16a -client_nests_build = 10 -server_nests_build = 4 diff --git a/libraries/networking-impl/networking-impl-mc11w49a-mc12w16a/src/main/java/net/ornithemc/osl/networking/impl/Networking.java b/libraries/networking-impl/networking-impl-mc11w49a-mc12w16a/src/main/java/net/ornithemc/osl/networking/impl/Networking.java deleted file mode 100644 index 89ea1e8c0..000000000 --- a/libraries/networking-impl/networking-impl-mc11w49a-mc12w16a/src/main/java/net/ornithemc/osl/networking/impl/Networking.java +++ /dev/null @@ -1,65 +0,0 @@ -package net.ornithemc.osl.networking.impl; - -import net.minecraft.network.packet.CustomPayloadPacket; - -import net.ornithemc.osl.core.api.util.NamespacedIdentifier; -import net.ornithemc.osl.entrypoints.api.ModInitializer; -import net.ornithemc.osl.entrypoints.api.client.ClientModInitializer; -import net.ornithemc.osl.entrypoints.api.server.ServerModInitializer; -import net.ornithemc.osl.lifecycle.api.client.MinecraftClientEvents; -import net.ornithemc.osl.lifecycle.api.server.MinecraftServerEvents; -import net.ornithemc.osl.networking.api.StringChannelIdentifierParser; -import net.ornithemc.osl.networking.api.client.ClientConnectionEvents; -import net.ornithemc.osl.networking.api.server.ServerConnectionEvents; -import net.ornithemc.osl.networking.impl.access.ClientNetworkHandlerAccess; -import net.ornithemc.osl.networking.impl.access.ServerNetworkHandlerAccess; -import net.ornithemc.osl.networking.impl.client.ClientConnectionContext; -import net.ornithemc.osl.networking.impl.client.ClientPlayNetworkingImpl; -import net.ornithemc.osl.networking.impl.server.ServerConnectionContext; -import net.ornithemc.osl.networking.impl.server.ServerPlayNetworkingImpl; - -public class Networking implements ModInitializer, ClientModInitializer, ServerModInitializer { - - @Override - public void init() { - // no-op - } - - @Override - public void initClient() { - MinecraftClientEvents.START.register(ClientPlayNetworkingImpl::setUp); - MinecraftClientEvents.STOP.register(ClientPlayNetworkingImpl::destroy); - ClientPlayNetworkingImpl.setUpPacketFactory(Networking::newCustomPayloadPacket); - ClientPlayNetworkingImpl.registerListener(HandshakePayload.CHANNEL, HandshakePayload::new, (context, payload) -> { - ClientNetworkHandlerAccess networkHandler = (ClientNetworkHandlerAccess) context.networkHandler(); - ClientConnectionContext connectionContext = networkHandler.osl$networking$connectionContext(); - - networkHandler.osl$networking$registerChannels(payload.channels); - ClientConnectionEvents.PLAY_READY.invoker().accept(connectionContext); - }); - } - - @Override - public void initServer() { - MinecraftServerEvents.START.register(ServerPlayNetworkingImpl::setUp); - MinecraftServerEvents.STOP.register(ServerPlayNetworkingImpl::destroy); - ServerPlayNetworkingImpl.setUpPacketFactory(Networking::newCustomPayloadPacket); - ServerPlayNetworkingImpl.registerListener(HandshakePayload.CHANNEL, HandshakePayload::new, (context, payload) -> { - // send channel registration data as a response to receiving client channel registration data - ServerPlayNetworkingImpl.sendNoCheck(context.player(), HandshakePayload.CHANNEL, HandshakePayload.server()); - - ServerNetworkHandlerAccess networkHandler = (ServerNetworkHandlerAccess) context.networkHandler(); - ServerConnectionContext connectionContext = networkHandler.osl$networking$connectionContext(); - - networkHandler.osl$networking$registerChannels(payload.channels); - ServerConnectionEvents.PLAY_READY.invoker().accept(connectionContext); - }); - } - - private static CustomPayloadPacket newCustomPayloadPacket(NamespacedIdentifier channel, byte[] data) { - CustomPayloadPacket p = new CustomPayloadPacket(); - p.channel = StringChannelIdentifierParser.toString(channel); - p.data = data; - return p; - } -} diff --git a/libraries/networking-impl/networking-impl-mc11w49a-mc12w16a/src/main/java/net/ornithemc/osl/networking/impl/access/ClientNetworkHandlerAccess.java b/libraries/networking-impl/networking-impl-mc11w49a-mc12w16a/src/main/java/net/ornithemc/osl/networking/impl/access/ClientNetworkHandlerAccess.java deleted file mode 100644 index e067a1831..000000000 --- a/libraries/networking-impl/networking-impl-mc11w49a-mc12w16a/src/main/java/net/ornithemc/osl/networking/impl/access/ClientNetworkHandlerAccess.java +++ /dev/null @@ -1,9 +0,0 @@ -package net.ornithemc.osl.networking.impl.access; - -import net.ornithemc.osl.networking.impl.client.ClientConnectionContext; - -public interface ClientNetworkHandlerAccess extends NetworkHandlerAccess { - - ClientConnectionContext osl$networking$connectionContext(); - -} diff --git a/libraries/networking-impl/networking-impl-mc11w49a-mc12w16a/src/main/java/net/ornithemc/osl/networking/impl/access/PacketHandlerAccess.java b/libraries/networking-impl/networking-impl-mc11w49a-mc12w16a/src/main/java/net/ornithemc/osl/networking/impl/access/PacketHandlerAccess.java deleted file mode 100644 index 995b11495..000000000 --- a/libraries/networking-impl/networking-impl-mc11w49a-mc12w16a/src/main/java/net/ornithemc/osl/networking/impl/access/PacketHandlerAccess.java +++ /dev/null @@ -1,9 +0,0 @@ -package net.ornithemc.osl.networking.impl.access; - -import net.minecraft.network.packet.CustomPayloadPacket; - -public interface PacketHandlerAccess { - - boolean osl$networking$handleCustomPayload(CustomPayloadPacket packet); - -} diff --git a/libraries/networking-impl/networking-impl-mc11w49a-mc12w16a/src/main/java/net/ornithemc/osl/networking/impl/access/ServerNetworkHandlerAccess.java b/libraries/networking-impl/networking-impl-mc11w49a-mc12w16a/src/main/java/net/ornithemc/osl/networking/impl/access/ServerNetworkHandlerAccess.java deleted file mode 100644 index 1d596400b..000000000 --- a/libraries/networking-impl/networking-impl-mc11w49a-mc12w16a/src/main/java/net/ornithemc/osl/networking/impl/access/ServerNetworkHandlerAccess.java +++ /dev/null @@ -1,9 +0,0 @@ -package net.ornithemc.osl.networking.impl.access; - -import net.ornithemc.osl.networking.impl.server.ServerConnectionContext; - -public interface ServerNetworkHandlerAccess extends NetworkHandlerAccess { - - ServerConnectionContext osl$networking$connectionContext(); - -} diff --git a/libraries/networking-impl/networking-impl-mc11w49a-mc12w16a/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/ClientNetworkHandlerMixin.java b/libraries/networking-impl/networking-impl-mc11w49a-mc12w16a/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/ClientNetworkHandlerMixin.java deleted file mode 100644 index b103a7f09..000000000 --- a/libraries/networking-impl/networking-impl-mc11w49a-mc12w16a/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/ClientNetworkHandlerMixin.java +++ /dev/null @@ -1,129 +0,0 @@ -package net.ornithemc.osl.networking.impl.mixin.client; - -import java.net.SocketAddress; -import java.util.LinkedHashSet; -import java.util.Set; - -import org.spongepowered.asm.mixin.Final; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -import org.spongepowered.asm.mixin.Unique; -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.Minecraft; -import net.minecraft.client.network.handler.ClientNetworkHandler; -import net.minecraft.client.world.MultiplayerWorld; -import net.minecraft.network.Connection; -import net.minecraft.network.packet.CustomPayloadPacket; -import net.minecraft.network.packet.DisconnectPacket; - -import net.ornithemc.osl.core.api.util.NamespacedIdentifier; -import net.ornithemc.osl.networking.api.client.ClientConnectionEvents; -import net.ornithemc.osl.networking.impl.AddressParser; -import net.ornithemc.osl.networking.impl.HandshakePayload; -import net.ornithemc.osl.networking.impl.access.ClientNetworkHandlerAccess; -import net.ornithemc.osl.networking.impl.access.PacketHandlerAccess; -import net.ornithemc.osl.networking.impl.client.ClientConnectionContext; -import net.ornithemc.osl.networking.impl.client.ClientPlayNetworkingImpl; -import net.ornithemc.osl.text.api.TextComponents; - -@Mixin(ClientNetworkHandler.class) -public class ClientNetworkHandlerMixin implements ClientNetworkHandlerAccess, PacketHandlerAccess { - - @Shadow @Final - private Minecraft minecraft; - @Shadow @Final - private MultiplayerWorld world; - @Shadow @Final - private Connection connection; - - @Unique - private ClientConnectionContext connectionContext; - /** - * Channels that the server is listening to. - */ - @Unique - private Set serverChannels; - - @Inject( - method = "*", - at = @At( - value = "TAIL" - ) - ) - private void osl$networking$initConnectionContext(CallbackInfo ci) { - SocketAddress address = connection.socket.getRemoteSocketAddress(); - - String serverAddress = AddressParser.getAddress(address); - int serverPort = AddressParser.getPort(address); - - connectionContext = new ClientConnectionContext(minecraft, serverAddress, serverPort); - } - - @Inject( - method = "handleLogin", - at = @At( - value = "TAIL" - ) - ) - private void osl$networking$handleLogin(CallbackInfo ci) { - // send channel registration data as soon as login occurs - ClientPlayNetworkingImpl.sendNoCheck(HandshakePayload.CHANNEL, HandshakePayload.client()); - - ClientConnectionEvents.LOGIN.invoker().accept(connectionContext); - } - - @Inject( - method = "handleDisconnect", - at = @At( - value = "HEAD" - ) - ) - private void osl$networking$handleDisconnect(DisconnectPacket packet, CallbackInfo ci) { - connectionContext.offerDisconnectReason(TextComponents.resolve(packet.reason)); - } - - @Inject( - method = "onDisconnect", - at = @At( - value = "HEAD" - ) - ) - private void osl$networking$handleDisconnect(String reason, Object[] args, CallbackInfo ci) { - connectionContext.offerDisconnectReason(args == null - ? TextComponents.translatable(reason) - : TextComponents.translatable(reason, args)); - } - - @Override - public ClientConnectionContext osl$networking$connectionContext() { - return connectionContext; - } - - @Override - public boolean osl$networking$canRunOffMainThread() { - return minecraft != null && minecraft.world != null && minecraft.player != null && world != null; - } - - @Override - public boolean osl$networking$isPlayReady() { - return serverChannels != null; - } - - @Override - public boolean osl$networking$isPlayReady(NamespacedIdentifier channel) { - return serverChannels != null && serverChannels.contains(channel); - } - - @Override - public void osl$networking$registerChannels(Set channels) { - serverChannels = new LinkedHashSet<>(channels); - } - - @Override - public boolean osl$networking$handleCustomPayload(CustomPayloadPacket packet) { - return ClientPlayNetworkingImpl.handlePacket(minecraft, (ClientNetworkHandler)(Object)this, packet); - } -} diff --git a/libraries/networking-impl/networking-impl-mc11w49a-mc12w16a/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixin.java b/libraries/networking-impl/networking-impl-mc11w49a-mc12w16a/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixin.java deleted file mode 100644 index 6600fd992..000000000 --- a/libraries/networking-impl/networking-impl-mc11w49a-mc12w16a/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixin.java +++ /dev/null @@ -1,41 +0,0 @@ -package net.ornithemc.osl.networking.impl.mixin.client; - -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -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.Minecraft; -import net.minecraft.client.network.handler.ClientNetworkHandler; -import net.minecraft.client.world.MultiplayerWorld; -import net.minecraft.world.World; - -import net.ornithemc.osl.networking.api.client.ClientConnectionEvents; -import net.ornithemc.osl.networking.impl.access.ClientNetworkHandlerAccess; -import net.ornithemc.osl.networking.impl.client.ClientConnectionContext; - -@Mixin(Minecraft.class) -public class MinecraftMixin { - - @Shadow - private World world; - - @Shadow - private ClientNetworkHandler getNetworkHandler() { return null; } - - @Inject( - method = "setWorld(Lnet/minecraft/world/World;Ljava/lang/String;)V", - at = @At( - value = "HEAD" - ) - ) - private void osl$networking$disconnect(World world, String title, CallbackInfo ci) { - if (this.world != null && this.world instanceof MultiplayerWorld && world == null) { - ClientNetworkHandlerAccess networkHandler = (ClientNetworkHandlerAccess) getNetworkHandler(); - ClientConnectionContext connectionContext = networkHandler.osl$networking$connectionContext(); - - ClientConnectionEvents.DISCONNECT.invoker().accept(connectionContext); - } - } -} diff --git a/libraries/networking-impl/networking-impl-mc11w49a-mc12w16a/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ConnectionMixin.java b/libraries/networking-impl/networking-impl-mc11w49a-mc12w16a/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ConnectionMixin.java deleted file mode 100644 index b478e0190..000000000 --- a/libraries/networking-impl/networking-impl-mc11w49a-mc12w16a/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ConnectionMixin.java +++ /dev/null @@ -1,35 +0,0 @@ -package net.ornithemc.osl.networking.impl.mixin.common; - -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; - -import com.llamalad7.mixinextras.sugar.Local; - -import net.minecraft.network.Connection; -import net.minecraft.network.PacketHandler; -import net.minecraft.network.packet.Packet; - -import net.ornithemc.osl.networking.impl.Connections; - -@Mixin(Connection.class) -public class ConnectionMixin { - - @Shadow private PacketHandler listener; - - @Inject( - method = "read", - cancellable = true, - at = @At( - value = "INVOKE", - target = "Ljava/util/List;add(Ljava/lang/Object;)Z" - ) - ) - private void osl$networking$asyncCustomPayloads(CallbackInfoReturnable cir, @Local Packet packet) { - if (Connections.handleAsyncPacket(packet, listener)) { - cir.setReturnValue(true); - } - } -} diff --git a/libraries/networking-impl/networking-impl-mc11w49a-mc12w16a/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadPacketMixin.java b/libraries/networking-impl/networking-impl-mc11w49a-mc12w16a/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadPacketMixin.java deleted file mode 100644 index 8183ea1bf..000000000 --- a/libraries/networking-impl/networking-impl-mc11w49a-mc12w16a/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadPacketMixin.java +++ /dev/null @@ -1,39 +0,0 @@ -package net.ornithemc.osl.networking.impl.mixin.common; - -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -import org.spongepowered.asm.mixin.injection.Constant; -import org.spongepowered.asm.mixin.injection.ModifyConstant; - -import net.minecraft.network.packet.CustomPayloadPacket; - -import net.ornithemc.osl.core.api.util.NamespacedIdentifier; -import net.ornithemc.osl.networking.api.StringChannelIdentifierParser; -import net.ornithemc.osl.networking.impl.access.CustomPayloadPacketAccess; - -@Mixin(CustomPayloadPacket.class) -public class CustomPayloadPacketMixin implements CustomPayloadPacketAccess { - - @Shadow private String channel; - @Shadow private byte[] data; - - @ModifyConstant( - method = "read", - constant = @Constant( - intValue = 16 - ) - ) - private int osl$networking$modifyMaxChannelLength(int maxLength) { - return StringChannelIdentifierParser.MAX_LENGTH; - } - - @Override - public NamespacedIdentifier osl$networking$getChannel() { - return StringChannelIdentifierParser.fromString(channel); - } - - @Override - public byte[] osl$networking$getData() { - return data; - } -} diff --git a/libraries/networking-impl/networking-impl-mc11w49a-mc12w16a/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PacketHandlerMixin.java b/libraries/networking-impl/networking-impl-mc11w49a-mc12w16a/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PacketHandlerMixin.java deleted file mode 100644 index 1b5d4a108..000000000 --- a/libraries/networking-impl/networking-impl-mc11w49a-mc12w16a/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PacketHandlerMixin.java +++ /dev/null @@ -1,28 +0,0 @@ -package net.ornithemc.osl.networking.impl.mixin.common; - -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.network.PacketHandler; -import net.minecraft.network.packet.CustomPayloadPacket; - -import net.ornithemc.osl.networking.impl.access.PacketHandlerAccess; - -@Mixin(PacketHandler.class) -public class PacketHandlerMixin { - - @Inject( - method = "handleCustomPayload", - cancellable = true, - at = @At( - value = "HEAD" - ) - ) - private void osl$networking$handleCustomPayload(CustomPayloadPacket packet, CallbackInfo ci) { - if (this instanceof PacketHandlerAccess && ((PacketHandlerAccess) this).osl$networking$handleCustomPayload(packet)) { - ci.cancel(); - } - } -} diff --git a/libraries/networking-impl/networking-impl-mc11w49a-mc12w16a/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/PlayerManagerMixin.java b/libraries/networking-impl/networking-impl-mc11w49a-mc12w16a/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/PlayerManagerMixin.java deleted file mode 100644 index 445e1c415..000000000 --- a/libraries/networking-impl/networking-impl-mc11w49a-mc12w16a/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/PlayerManagerMixin.java +++ /dev/null @@ -1,37 +0,0 @@ -package net.ornithemc.osl.networking.impl.mixin.server; - -import org.spongepowered.asm.mixin.Final; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; - -import com.llamalad7.mixinextras.sugar.Local; - -import net.minecraft.server.MinecraftServer; -import net.minecraft.server.PlayerManager; -import net.minecraft.server.entity.mob.player.ServerPlayerEntity; - -import net.ornithemc.osl.networking.api.server.ServerConnectionEvents; -import net.ornithemc.osl.networking.impl.access.ServerNetworkHandlerAccess; -import net.ornithemc.osl.networking.impl.server.ServerConnectionContext; - -@Mixin(PlayerManager.class) -public class PlayerManagerMixin { - - @Shadow @Final private MinecraftServer server; - - @Inject( - method = "remove", - at = @At( - value = "HEAD" - ) - ) - private void osl$networking$handleDisconnect(CallbackInfo ci, @Local ServerPlayerEntity player) { - ServerNetworkHandlerAccess networkHandler = (ServerNetworkHandlerAccess) player.networkHandler; - ServerConnectionContext connectionContext = networkHandler.osl$networking$connectionContext(); - - ServerConnectionEvents.DISCONNECT.invoker().accept(connectionContext); - } -} diff --git a/libraries/networking-impl/networking-impl-mc11w49a-mc12w16a/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/ServerLoginNetworkHandlerMixin.java b/libraries/networking-impl/networking-impl-mc11w49a-mc12w16a/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/ServerLoginNetworkHandlerMixin.java deleted file mode 100644 index 0b2b70524..000000000 --- a/libraries/networking-impl/networking-impl-mc11w49a-mc12w16a/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/ServerLoginNetworkHandlerMixin.java +++ /dev/null @@ -1,39 +0,0 @@ -package net.ornithemc.osl.networking.impl.mixin.server; - -import org.spongepowered.asm.mixin.Final; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; - -import com.llamalad7.mixinextras.sugar.Local; - -import net.minecraft.server.MinecraftServer; -import net.minecraft.server.entity.mob.player.ServerPlayerEntity; -import net.minecraft.server.network.handler.ServerLoginNetworkHandler; - -import net.ornithemc.osl.networking.api.server.ServerConnectionEvents; -import net.ornithemc.osl.networking.impl.access.ServerNetworkHandlerAccess; -import net.ornithemc.osl.networking.impl.server.ServerConnectionContext; - -@Mixin(ServerLoginNetworkHandler.class) -public class ServerLoginNetworkHandlerMixin { - - @Shadow @Final private MinecraftServer server; - - @Inject( - method = "acceptLogin", - at = @At( - value = "TAIL" - ) - ) - private void osl$networking$handleLogin(CallbackInfo ci, @Local ServerPlayerEntity player) { - if (player != null) { - ServerNetworkHandlerAccess networkHandler = (ServerNetworkHandlerAccess) player.networkHandler; - ServerConnectionContext connectionContext = networkHandler.osl$networking$connectionContext(); - - ServerConnectionEvents.LOGIN.invoker().accept(connectionContext); - } - } -} diff --git a/libraries/networking-impl/networking-impl-mc11w49a-mc12w16a/src/main/resources/fabric.mod.json b/libraries/networking-impl/networking-impl-mc11w49a-mc12w16a/src/main/resources/fabric.mod.json deleted file mode 100644 index 1773c4aa2..000000000 --- a/libraries/networking-impl/networking-impl-mc11w49a-mc12w16a/src/main/resources/fabric.mod.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "schemaVersion": 1, - "id": "osl-networking-impl", - "version": "0.3.0+mc11w49a-mc12w16a", - "environment": "*", - "entrypoints": { - "init": [ - "net.ornithemc.osl.networking.impl.Networking" - ], - "client-init": [ - "net.ornithemc.osl.networking.impl.Networking" - ], - "server-init": [ - "net.ornithemc.osl.networking.impl.Networking" - ] - }, - "mixins": [ - "osl.networking-impl.mixins.json" - ], - "accessWidener": "osl.networking-impl.classtweaker", - "depends": { - "fabricloader": "\u003e\u003d0.18.0", - "minecraft": "\u003e\u003d1.1-alpha.11.49.a \u003c\u003d1.3-alpha.12.16.a", - "osl-core": "\u003e\u003d0.7.0", - "osl-entrypoints": "\u003e\u003d0.5.0", - "osl-lifecycle-events": "\u003e\u003d0.6.0", - "osl-text-components": "\u003e\u003d0.1.0", - "osl-executors": "\u003e\u003d0.1.0", - "osl-networking": "\u003e\u003d0.12.0" - }, - "name": "OSL Networking Implementation", - "description": "Implementation details of the Networking API.", - "authors": [ - "OrnitheMC" - ], - "contact": { - "homepage": "https://ornithemc.net/", - "issues": "https://github.com/OrnitheMC/ornithe-standard-libraries/issues", - "sources": "https://github.com/OrnitheMC/ornithe-standard-libraries" - }, - "license": "Apache-2.0" -} \ No newline at end of file diff --git a/libraries/networking-impl/networking-impl-mc11w49a-mc12w16a/src/main/resources/osl.networking-impl.classtweaker b/libraries/networking-impl/networking-impl-mc11w49a-mc12w16a/src/main/resources/osl.networking-impl.classtweaker deleted file mode 100644 index 938816a7d..000000000 --- a/libraries/networking-impl/networking-impl-mc11w49a-mc12w16a/src/main/resources/osl.networking-impl.classtweaker +++ /dev/null @@ -1,3 +0,0 @@ -classTweaker v1 named - -accessible field net/minecraft/network/Connection socket Ljava/net/Socket; \ No newline at end of file diff --git a/libraries/networking-impl/networking-impl-mc11w49a-mc12w16a/src/main/resources/osl.networking-impl.mixins.json b/libraries/networking-impl/networking-impl-mc11w49a-mc12w16a/src/main/resources/osl.networking-impl.mixins.json deleted file mode 100644 index 4799bb11e..000000000 --- a/libraries/networking-impl/networking-impl-mc11w49a-mc12w16a/src/main/resources/osl.networking-impl.mixins.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "required": true, - "minVersion": "0.8", - "package": "net.ornithemc.osl.networking.impl.mixin", - "compatibilityLevel": "JAVA_8", - "mixins": [ - "common.ConnectionMixin", - "common.CustomPayloadPacketMixin", - "common.PacketHandlerMixin" - ], - "client": [ - "client.ClientNetworkHandlerMixin", - "client.MinecraftMixin" - ], - "server": [ - "server.PlayerManagerMixin", - "server.ServerLoginNetworkHandlerMixin", - "server.ServerPlayNetworkHandlerMixin" - ], - "injectors": { - "defaultRequire": 1 - } -} diff --git a/libraries/networking-impl/networking-impl-mc12w17a-mc12w17a/build.gradle b/libraries/networking-impl/networking-impl-mc12w17a-mc12w17a/build.gradle deleted file mode 100644 index 0a350fdb3..000000000 --- a/libraries/networking-impl/networking-impl-mc12w17a-mc12w17a/build.gradle +++ /dev/null @@ -1 +0,0 @@ -setUpModule(project) diff --git a/libraries/networking-impl/networking-impl-mc12w17a-mc12w17a/gradle.properties b/libraries/networking-impl/networking-impl-mc12w17a-mc12w17a/gradle.properties deleted file mode 100644 index e3772df6f..000000000 --- a/libraries/networking-impl/networking-impl-mc12w17a-mc12w17a/gradle.properties +++ /dev/null @@ -1,6 +0,0 @@ -min_mc_version = 12w17a -max_mc_version = 12w17a - -minecraft_version = 12w17a -client_nests_build = 10 -server_nests_build = 5 diff --git a/libraries/networking-impl/networking-impl-mc12w17a-mc12w17a/src/main/java/net/ornithemc/osl/networking/impl/Networking.java b/libraries/networking-impl/networking-impl-mc12w17a-mc12w17a/src/main/java/net/ornithemc/osl/networking/impl/Networking.java deleted file mode 100644 index 89ea1e8c0..000000000 --- a/libraries/networking-impl/networking-impl-mc12w17a-mc12w17a/src/main/java/net/ornithemc/osl/networking/impl/Networking.java +++ /dev/null @@ -1,65 +0,0 @@ -package net.ornithemc.osl.networking.impl; - -import net.minecraft.network.packet.CustomPayloadPacket; - -import net.ornithemc.osl.core.api.util.NamespacedIdentifier; -import net.ornithemc.osl.entrypoints.api.ModInitializer; -import net.ornithemc.osl.entrypoints.api.client.ClientModInitializer; -import net.ornithemc.osl.entrypoints.api.server.ServerModInitializer; -import net.ornithemc.osl.lifecycle.api.client.MinecraftClientEvents; -import net.ornithemc.osl.lifecycle.api.server.MinecraftServerEvents; -import net.ornithemc.osl.networking.api.StringChannelIdentifierParser; -import net.ornithemc.osl.networking.api.client.ClientConnectionEvents; -import net.ornithemc.osl.networking.api.server.ServerConnectionEvents; -import net.ornithemc.osl.networking.impl.access.ClientNetworkHandlerAccess; -import net.ornithemc.osl.networking.impl.access.ServerNetworkHandlerAccess; -import net.ornithemc.osl.networking.impl.client.ClientConnectionContext; -import net.ornithemc.osl.networking.impl.client.ClientPlayNetworkingImpl; -import net.ornithemc.osl.networking.impl.server.ServerConnectionContext; -import net.ornithemc.osl.networking.impl.server.ServerPlayNetworkingImpl; - -public class Networking implements ModInitializer, ClientModInitializer, ServerModInitializer { - - @Override - public void init() { - // no-op - } - - @Override - public void initClient() { - MinecraftClientEvents.START.register(ClientPlayNetworkingImpl::setUp); - MinecraftClientEvents.STOP.register(ClientPlayNetworkingImpl::destroy); - ClientPlayNetworkingImpl.setUpPacketFactory(Networking::newCustomPayloadPacket); - ClientPlayNetworkingImpl.registerListener(HandshakePayload.CHANNEL, HandshakePayload::new, (context, payload) -> { - ClientNetworkHandlerAccess networkHandler = (ClientNetworkHandlerAccess) context.networkHandler(); - ClientConnectionContext connectionContext = networkHandler.osl$networking$connectionContext(); - - networkHandler.osl$networking$registerChannels(payload.channels); - ClientConnectionEvents.PLAY_READY.invoker().accept(connectionContext); - }); - } - - @Override - public void initServer() { - MinecraftServerEvents.START.register(ServerPlayNetworkingImpl::setUp); - MinecraftServerEvents.STOP.register(ServerPlayNetworkingImpl::destroy); - ServerPlayNetworkingImpl.setUpPacketFactory(Networking::newCustomPayloadPacket); - ServerPlayNetworkingImpl.registerListener(HandshakePayload.CHANNEL, HandshakePayload::new, (context, payload) -> { - // send channel registration data as a response to receiving client channel registration data - ServerPlayNetworkingImpl.sendNoCheck(context.player(), HandshakePayload.CHANNEL, HandshakePayload.server()); - - ServerNetworkHandlerAccess networkHandler = (ServerNetworkHandlerAccess) context.networkHandler(); - ServerConnectionContext connectionContext = networkHandler.osl$networking$connectionContext(); - - networkHandler.osl$networking$registerChannels(payload.channels); - ServerConnectionEvents.PLAY_READY.invoker().accept(connectionContext); - }); - } - - private static CustomPayloadPacket newCustomPayloadPacket(NamespacedIdentifier channel, byte[] data) { - CustomPayloadPacket p = new CustomPayloadPacket(); - p.channel = StringChannelIdentifierParser.toString(channel); - p.data = data; - return p; - } -} diff --git a/libraries/networking-impl/networking-impl-mc12w17a-mc12w17a/src/main/java/net/ornithemc/osl/networking/impl/access/ClientNetworkHandlerAccess.java b/libraries/networking-impl/networking-impl-mc12w17a-mc12w17a/src/main/java/net/ornithemc/osl/networking/impl/access/ClientNetworkHandlerAccess.java deleted file mode 100644 index e067a1831..000000000 --- a/libraries/networking-impl/networking-impl-mc12w17a-mc12w17a/src/main/java/net/ornithemc/osl/networking/impl/access/ClientNetworkHandlerAccess.java +++ /dev/null @@ -1,9 +0,0 @@ -package net.ornithemc.osl.networking.impl.access; - -import net.ornithemc.osl.networking.impl.client.ClientConnectionContext; - -public interface ClientNetworkHandlerAccess extends NetworkHandlerAccess { - - ClientConnectionContext osl$networking$connectionContext(); - -} diff --git a/libraries/networking-impl/networking-impl-mc12w17a-mc12w17a/src/main/java/net/ornithemc/osl/networking/impl/access/PacketHandlerAccess.java b/libraries/networking-impl/networking-impl-mc12w17a-mc12w17a/src/main/java/net/ornithemc/osl/networking/impl/access/PacketHandlerAccess.java deleted file mode 100644 index 995b11495..000000000 --- a/libraries/networking-impl/networking-impl-mc12w17a-mc12w17a/src/main/java/net/ornithemc/osl/networking/impl/access/PacketHandlerAccess.java +++ /dev/null @@ -1,9 +0,0 @@ -package net.ornithemc.osl.networking.impl.access; - -import net.minecraft.network.packet.CustomPayloadPacket; - -public interface PacketHandlerAccess { - - boolean osl$networking$handleCustomPayload(CustomPayloadPacket packet); - -} diff --git a/libraries/networking-impl/networking-impl-mc12w17a-mc12w17a/src/main/java/net/ornithemc/osl/networking/impl/access/ServerNetworkHandlerAccess.java b/libraries/networking-impl/networking-impl-mc12w17a-mc12w17a/src/main/java/net/ornithemc/osl/networking/impl/access/ServerNetworkHandlerAccess.java deleted file mode 100644 index 1d596400b..000000000 --- a/libraries/networking-impl/networking-impl-mc12w17a-mc12w17a/src/main/java/net/ornithemc/osl/networking/impl/access/ServerNetworkHandlerAccess.java +++ /dev/null @@ -1,9 +0,0 @@ -package net.ornithemc.osl.networking.impl.access; - -import net.ornithemc.osl.networking.impl.server.ServerConnectionContext; - -public interface ServerNetworkHandlerAccess extends NetworkHandlerAccess { - - ServerConnectionContext osl$networking$connectionContext(); - -} diff --git a/libraries/networking-impl/networking-impl-mc12w17a-mc12w17a/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/ClientNetworkHandlerMixin.java b/libraries/networking-impl/networking-impl-mc12w17a-mc12w17a/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/ClientNetworkHandlerMixin.java deleted file mode 100644 index b103a7f09..000000000 --- a/libraries/networking-impl/networking-impl-mc12w17a-mc12w17a/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/ClientNetworkHandlerMixin.java +++ /dev/null @@ -1,129 +0,0 @@ -package net.ornithemc.osl.networking.impl.mixin.client; - -import java.net.SocketAddress; -import java.util.LinkedHashSet; -import java.util.Set; - -import org.spongepowered.asm.mixin.Final; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -import org.spongepowered.asm.mixin.Unique; -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.Minecraft; -import net.minecraft.client.network.handler.ClientNetworkHandler; -import net.minecraft.client.world.MultiplayerWorld; -import net.minecraft.network.Connection; -import net.minecraft.network.packet.CustomPayloadPacket; -import net.minecraft.network.packet.DisconnectPacket; - -import net.ornithemc.osl.core.api.util.NamespacedIdentifier; -import net.ornithemc.osl.networking.api.client.ClientConnectionEvents; -import net.ornithemc.osl.networking.impl.AddressParser; -import net.ornithemc.osl.networking.impl.HandshakePayload; -import net.ornithemc.osl.networking.impl.access.ClientNetworkHandlerAccess; -import net.ornithemc.osl.networking.impl.access.PacketHandlerAccess; -import net.ornithemc.osl.networking.impl.client.ClientConnectionContext; -import net.ornithemc.osl.networking.impl.client.ClientPlayNetworkingImpl; -import net.ornithemc.osl.text.api.TextComponents; - -@Mixin(ClientNetworkHandler.class) -public class ClientNetworkHandlerMixin implements ClientNetworkHandlerAccess, PacketHandlerAccess { - - @Shadow @Final - private Minecraft minecraft; - @Shadow @Final - private MultiplayerWorld world; - @Shadow @Final - private Connection connection; - - @Unique - private ClientConnectionContext connectionContext; - /** - * Channels that the server is listening to. - */ - @Unique - private Set serverChannels; - - @Inject( - method = "*", - at = @At( - value = "TAIL" - ) - ) - private void osl$networking$initConnectionContext(CallbackInfo ci) { - SocketAddress address = connection.socket.getRemoteSocketAddress(); - - String serverAddress = AddressParser.getAddress(address); - int serverPort = AddressParser.getPort(address); - - connectionContext = new ClientConnectionContext(minecraft, serverAddress, serverPort); - } - - @Inject( - method = "handleLogin", - at = @At( - value = "TAIL" - ) - ) - private void osl$networking$handleLogin(CallbackInfo ci) { - // send channel registration data as soon as login occurs - ClientPlayNetworkingImpl.sendNoCheck(HandshakePayload.CHANNEL, HandshakePayload.client()); - - ClientConnectionEvents.LOGIN.invoker().accept(connectionContext); - } - - @Inject( - method = "handleDisconnect", - at = @At( - value = "HEAD" - ) - ) - private void osl$networking$handleDisconnect(DisconnectPacket packet, CallbackInfo ci) { - connectionContext.offerDisconnectReason(TextComponents.resolve(packet.reason)); - } - - @Inject( - method = "onDisconnect", - at = @At( - value = "HEAD" - ) - ) - private void osl$networking$handleDisconnect(String reason, Object[] args, CallbackInfo ci) { - connectionContext.offerDisconnectReason(args == null - ? TextComponents.translatable(reason) - : TextComponents.translatable(reason, args)); - } - - @Override - public ClientConnectionContext osl$networking$connectionContext() { - return connectionContext; - } - - @Override - public boolean osl$networking$canRunOffMainThread() { - return minecraft != null && minecraft.world != null && minecraft.player != null && world != null; - } - - @Override - public boolean osl$networking$isPlayReady() { - return serverChannels != null; - } - - @Override - public boolean osl$networking$isPlayReady(NamespacedIdentifier channel) { - return serverChannels != null && serverChannels.contains(channel); - } - - @Override - public void osl$networking$registerChannels(Set channels) { - serverChannels = new LinkedHashSet<>(channels); - } - - @Override - public boolean osl$networking$handleCustomPayload(CustomPayloadPacket packet) { - return ClientPlayNetworkingImpl.handlePacket(minecraft, (ClientNetworkHandler)(Object)this, packet); - } -} diff --git a/libraries/networking-impl/networking-impl-mc12w17a-mc12w17a/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixin.java b/libraries/networking-impl/networking-impl-mc12w17a-mc12w17a/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixin.java deleted file mode 100644 index 6600fd992..000000000 --- a/libraries/networking-impl/networking-impl-mc12w17a-mc12w17a/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixin.java +++ /dev/null @@ -1,41 +0,0 @@ -package net.ornithemc.osl.networking.impl.mixin.client; - -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -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.Minecraft; -import net.minecraft.client.network.handler.ClientNetworkHandler; -import net.minecraft.client.world.MultiplayerWorld; -import net.minecraft.world.World; - -import net.ornithemc.osl.networking.api.client.ClientConnectionEvents; -import net.ornithemc.osl.networking.impl.access.ClientNetworkHandlerAccess; -import net.ornithemc.osl.networking.impl.client.ClientConnectionContext; - -@Mixin(Minecraft.class) -public class MinecraftMixin { - - @Shadow - private World world; - - @Shadow - private ClientNetworkHandler getNetworkHandler() { return null; } - - @Inject( - method = "setWorld(Lnet/minecraft/world/World;Ljava/lang/String;)V", - at = @At( - value = "HEAD" - ) - ) - private void osl$networking$disconnect(World world, String title, CallbackInfo ci) { - if (this.world != null && this.world instanceof MultiplayerWorld && world == null) { - ClientNetworkHandlerAccess networkHandler = (ClientNetworkHandlerAccess) getNetworkHandler(); - ClientConnectionContext connectionContext = networkHandler.osl$networking$connectionContext(); - - ClientConnectionEvents.DISCONNECT.invoker().accept(connectionContext); - } - } -} diff --git a/libraries/networking-impl/networking-impl-mc12w17a-mc12w17a/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ConnectionMixin.java b/libraries/networking-impl/networking-impl-mc12w17a-mc12w17a/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ConnectionMixin.java deleted file mode 100644 index b478e0190..000000000 --- a/libraries/networking-impl/networking-impl-mc12w17a-mc12w17a/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ConnectionMixin.java +++ /dev/null @@ -1,35 +0,0 @@ -package net.ornithemc.osl.networking.impl.mixin.common; - -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; - -import com.llamalad7.mixinextras.sugar.Local; - -import net.minecraft.network.Connection; -import net.minecraft.network.PacketHandler; -import net.minecraft.network.packet.Packet; - -import net.ornithemc.osl.networking.impl.Connections; - -@Mixin(Connection.class) -public class ConnectionMixin { - - @Shadow private PacketHandler listener; - - @Inject( - method = "read", - cancellable = true, - at = @At( - value = "INVOKE", - target = "Ljava/util/List;add(Ljava/lang/Object;)Z" - ) - ) - private void osl$networking$asyncCustomPayloads(CallbackInfoReturnable cir, @Local Packet packet) { - if (Connections.handleAsyncPacket(packet, listener)) { - cir.setReturnValue(true); - } - } -} diff --git a/libraries/networking-impl/networking-impl-mc12w17a-mc12w17a/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/PlayerManagerMixin.java b/libraries/networking-impl/networking-impl-mc12w17a-mc12w17a/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/PlayerManagerMixin.java deleted file mode 100644 index 445e1c415..000000000 --- a/libraries/networking-impl/networking-impl-mc12w17a-mc12w17a/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/PlayerManagerMixin.java +++ /dev/null @@ -1,37 +0,0 @@ -package net.ornithemc.osl.networking.impl.mixin.server; - -import org.spongepowered.asm.mixin.Final; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; - -import com.llamalad7.mixinextras.sugar.Local; - -import net.minecraft.server.MinecraftServer; -import net.minecraft.server.PlayerManager; -import net.minecraft.server.entity.mob.player.ServerPlayerEntity; - -import net.ornithemc.osl.networking.api.server.ServerConnectionEvents; -import net.ornithemc.osl.networking.impl.access.ServerNetworkHandlerAccess; -import net.ornithemc.osl.networking.impl.server.ServerConnectionContext; - -@Mixin(PlayerManager.class) -public class PlayerManagerMixin { - - @Shadow @Final private MinecraftServer server; - - @Inject( - method = "remove", - at = @At( - value = "HEAD" - ) - ) - private void osl$networking$handleDisconnect(CallbackInfo ci, @Local ServerPlayerEntity player) { - ServerNetworkHandlerAccess networkHandler = (ServerNetworkHandlerAccess) player.networkHandler; - ServerConnectionContext connectionContext = networkHandler.osl$networking$connectionContext(); - - ServerConnectionEvents.DISCONNECT.invoker().accept(connectionContext); - } -} diff --git a/libraries/networking-impl/networking-impl-mc12w17a-mc12w17a/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/ServerLoginNetworkHandlerMixin.java b/libraries/networking-impl/networking-impl-mc12w17a-mc12w17a/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/ServerLoginNetworkHandlerMixin.java deleted file mode 100644 index 0b2b70524..000000000 --- a/libraries/networking-impl/networking-impl-mc12w17a-mc12w17a/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/ServerLoginNetworkHandlerMixin.java +++ /dev/null @@ -1,39 +0,0 @@ -package net.ornithemc.osl.networking.impl.mixin.server; - -import org.spongepowered.asm.mixin.Final; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; - -import com.llamalad7.mixinextras.sugar.Local; - -import net.minecraft.server.MinecraftServer; -import net.minecraft.server.entity.mob.player.ServerPlayerEntity; -import net.minecraft.server.network.handler.ServerLoginNetworkHandler; - -import net.ornithemc.osl.networking.api.server.ServerConnectionEvents; -import net.ornithemc.osl.networking.impl.access.ServerNetworkHandlerAccess; -import net.ornithemc.osl.networking.impl.server.ServerConnectionContext; - -@Mixin(ServerLoginNetworkHandler.class) -public class ServerLoginNetworkHandlerMixin { - - @Shadow @Final private MinecraftServer server; - - @Inject( - method = "acceptLogin", - at = @At( - value = "TAIL" - ) - ) - private void osl$networking$handleLogin(CallbackInfo ci, @Local ServerPlayerEntity player) { - if (player != null) { - ServerNetworkHandlerAccess networkHandler = (ServerNetworkHandlerAccess) player.networkHandler; - ServerConnectionContext connectionContext = networkHandler.osl$networking$connectionContext(); - - ServerConnectionEvents.LOGIN.invoker().accept(connectionContext); - } - } -} diff --git a/libraries/networking-impl/networking-impl-mc12w17a-mc12w17a/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/ServerPlayNetworkHandlerMixin.java b/libraries/networking-impl/networking-impl-mc12w17a-mc12w17a/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/ServerPlayNetworkHandlerMixin.java deleted file mode 100644 index 9b1e6ce46..000000000 --- a/libraries/networking-impl/networking-impl-mc12w17a-mc12w17a/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/ServerPlayNetworkHandlerMixin.java +++ /dev/null @@ -1,107 +0,0 @@ -package net.ornithemc.osl.networking.impl.mixin.server; - -import java.util.LinkedHashSet; -import java.util.Set; - -import org.spongepowered.asm.mixin.Final; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -import org.spongepowered.asm.mixin.Unique; -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.network.packet.CustomPayloadPacket; -import net.minecraft.server.MinecraftServer; -import net.minecraft.server.entity.mob.player.ServerPlayerEntity; -import net.minecraft.server.network.handler.ServerPlayNetworkHandler; - -import net.ornithemc.osl.core.api.util.NamespacedIdentifier; -import net.ornithemc.osl.networking.impl.access.PacketHandlerAccess; -import net.ornithemc.osl.networking.impl.access.ServerNetworkHandlerAccess; -import net.ornithemc.osl.networking.impl.server.ServerConnectionContext; -import net.ornithemc.osl.networking.impl.server.ServerPlayNetworkingImpl; -import net.ornithemc.osl.text.api.TextComponents; - -@Mixin(ServerPlayNetworkHandler.class) -public class ServerPlayNetworkHandlerMixin implements ServerNetworkHandlerAccess, PacketHandlerAccess { - - @Shadow @Final - private MinecraftServer server; - - @Shadow - private ServerPlayerEntity player; - - @Unique - private ServerConnectionContext connectionContext; - /** - * Channels that the client is listening to. - */ - @Unique - private Set clientChannels; - - @Inject( - method = "", - at = @At( - value = "TAIL" - ) - ) - private void osl$networking$initConnectionContext(CallbackInfo ci) { - connectionContext = new ServerConnectionContext(server, (ServerPlayNetworkHandler) (Object) this); - } - - @Inject( - method = "onDisconnect", - at = @At( - value = "HEAD" - ) - ) - private void osl$networking$handleDisconnect(String reason, Object[] args, CallbackInfo ci) { - connectionContext.offerDisconnectReason(args == null - ? TextComponents.translatable(reason) - : TextComponents.translatable(reason, args)); - } - - @Inject( - method = "handleCustomPayload", - cancellable = true, - at = @At( - value = "HEAD" - ) - ) - private void osl$networking$handleCustomPayload(CustomPayloadPacket packet, CallbackInfo ci) { - if (osl$networking$handleCustomPayload(packet)) { - ci.cancel(); - } - } - - @Override - public ServerConnectionContext osl$networking$connectionContext() { - return connectionContext; - } - - @Override - public boolean osl$networking$canRunOffMainThread() { - return true; - } - - @Override - public boolean osl$networking$isPlayReady() { - return clientChannels != null; - } - - @Override - public boolean osl$networking$isPlayReady(NamespacedIdentifier channel) { - return clientChannels != null && clientChannels.contains(channel); - } - - @Override - public void osl$networking$registerChannels(Set channels) { - clientChannels = new LinkedHashSet<>(channels); - } - - @Override - public boolean osl$networking$handleCustomPayload(CustomPayloadPacket packet) { - return ServerPlayNetworkingImpl.handlePacket(server, (ServerPlayNetworkHandler)(Object)this, player, packet); - } -} diff --git a/libraries/networking-impl/networking-impl-mc12w17a-mc12w17a/src/main/resources/fabric.mod.json b/libraries/networking-impl/networking-impl-mc12w17a-mc12w17a/src/main/resources/fabric.mod.json deleted file mode 100644 index c7a1acc1a..000000000 --- a/libraries/networking-impl/networking-impl-mc12w17a-mc12w17a/src/main/resources/fabric.mod.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "schemaVersion": 1, - "id": "osl-networking-impl", - "version": "0.3.0+mc12w17a-mc12w17a", - "environment": "*", - "entrypoints": { - "init": [ - "net.ornithemc.osl.networking.impl.Networking" - ], - "client-init": [ - "net.ornithemc.osl.networking.impl.Networking" - ], - "server-init": [ - "net.ornithemc.osl.networking.impl.Networking" - ] - }, - "mixins": [ - "osl.networking-impl.mixins.json" - ], - "accessWidener": "osl.networking-impl.classtweaker", - "depends": { - "fabricloader": "\u003e\u003d0.18.0", - "minecraft": "\u003e\u003d1.3-alpha.12.17.a \u003c\u003d1.3-alpha.12.17.a", - "osl-core": "\u003e\u003d0.7.0", - "osl-entrypoints": "\u003e\u003d0.5.0", - "osl-lifecycle-events": "\u003e\u003d0.6.0", - "osl-text-components": "\u003e\u003d0.1.0", - "osl-executors": "\u003e\u003d0.1.0", - "osl-networking": "\u003e\u003d0.12.0" - }, - "name": "OSL Networking Implementation", - "description": "Implementation details of the Networking API.", - "authors": [ - "OrnitheMC" - ], - "contact": { - "homepage": "https://ornithemc.net/", - "issues": "https://github.com/OrnitheMC/ornithe-standard-libraries/issues", - "sources": "https://github.com/OrnitheMC/ornithe-standard-libraries" - }, - "license": "Apache-2.0" -} \ No newline at end of file diff --git a/libraries/networking-impl/networking-impl-mc12w17a-mc12w17a/src/main/resources/osl.networking-impl.classtweaker b/libraries/networking-impl/networking-impl-mc12w17a-mc12w17a/src/main/resources/osl.networking-impl.classtweaker deleted file mode 100644 index 938816a7d..000000000 --- a/libraries/networking-impl/networking-impl-mc12w17a-mc12w17a/src/main/resources/osl.networking-impl.classtweaker +++ /dev/null @@ -1,3 +0,0 @@ -classTweaker v1 named - -accessible field net/minecraft/network/Connection socket Ljava/net/Socket; \ No newline at end of file diff --git a/libraries/networking-impl/networking-impl-mc12w17a-mc12w17a/src/main/resources/osl.networking-impl.mixins.json b/libraries/networking-impl/networking-impl-mc12w17a-mc12w17a/src/main/resources/osl.networking-impl.mixins.json deleted file mode 100644 index 4799bb11e..000000000 --- a/libraries/networking-impl/networking-impl-mc12w17a-mc12w17a/src/main/resources/osl.networking-impl.mixins.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "required": true, - "minVersion": "0.8", - "package": "net.ornithemc.osl.networking.impl.mixin", - "compatibilityLevel": "JAVA_8", - "mixins": [ - "common.ConnectionMixin", - "common.CustomPayloadPacketMixin", - "common.PacketHandlerMixin" - ], - "client": [ - "client.ClientNetworkHandlerMixin", - "client.MinecraftMixin" - ], - "server": [ - "server.PlayerManagerMixin", - "server.ServerLoginNetworkHandlerMixin", - "server.ServerPlayNetworkHandlerMixin" - ], - "injectors": { - "defaultRequire": 1 - } -} diff --git a/libraries/networking-impl/networking-impl-mc12w18a-mc12w19a/build.gradle b/libraries/networking-impl/networking-impl-mc12w18a-mc12w19a/build.gradle deleted file mode 100644 index 0a350fdb3..000000000 --- a/libraries/networking-impl/networking-impl-mc12w18a-mc12w19a/build.gradle +++ /dev/null @@ -1 +0,0 @@ -setUpModule(project) diff --git a/libraries/networking-impl/networking-impl-mc12w18a-mc12w19a/gradle.properties b/libraries/networking-impl/networking-impl-mc12w18a-mc12w19a/gradle.properties deleted file mode 100644 index 0083b16d4..000000000 --- a/libraries/networking-impl/networking-impl-mc12w18a-mc12w19a/gradle.properties +++ /dev/null @@ -1,6 +0,0 @@ -min_mc_version = 12w18a -max_mc_version = 12w19a - -minecraft_version = 12w19a -client_nests_build = 8 -server_nests_build = 5 diff --git a/libraries/networking-impl/networking-impl-mc12w18a-mc12w19a/src/main/java/net/ornithemc/osl/networking/impl/access/ClientNetworkHandlerAccess.java b/libraries/networking-impl/networking-impl-mc12w18a-mc12w19a/src/main/java/net/ornithemc/osl/networking/impl/access/ClientNetworkHandlerAccess.java deleted file mode 100644 index e067a1831..000000000 --- a/libraries/networking-impl/networking-impl-mc12w18a-mc12w19a/src/main/java/net/ornithemc/osl/networking/impl/access/ClientNetworkHandlerAccess.java +++ /dev/null @@ -1,9 +0,0 @@ -package net.ornithemc.osl.networking.impl.access; - -import net.ornithemc.osl.networking.impl.client.ClientConnectionContext; - -public interface ClientNetworkHandlerAccess extends NetworkHandlerAccess { - - ClientConnectionContext osl$networking$connectionContext(); - -} diff --git a/libraries/networking-impl/networking-impl-mc12w18a-mc12w19a/src/main/java/net/ornithemc/osl/networking/impl/access/LocalServerAccess.java b/libraries/networking-impl/networking-impl-mc12w18a-mc12w19a/src/main/java/net/ornithemc/osl/networking/impl/access/LocalServerAccess.java deleted file mode 100644 index 2537236c8..000000000 --- a/libraries/networking-impl/networking-impl-mc12w18a-mc12w19a/src/main/java/net/ornithemc/osl/networking/impl/access/LocalServerAccess.java +++ /dev/null @@ -1,7 +0,0 @@ -package net.ornithemc.osl.networking.impl.access; - -public interface LocalServerAccess { - - String osl$networking$worldSaveName(); - -} diff --git a/libraries/networking-impl/networking-impl-mc12w18a-mc12w19a/src/main/java/net/ornithemc/osl/networking/impl/access/ServerNetworkHandlerAccess.java b/libraries/networking-impl/networking-impl-mc12w18a-mc12w19a/src/main/java/net/ornithemc/osl/networking/impl/access/ServerNetworkHandlerAccess.java deleted file mode 100644 index 1d596400b..000000000 --- a/libraries/networking-impl/networking-impl-mc12w18a-mc12w19a/src/main/java/net/ornithemc/osl/networking/impl/access/ServerNetworkHandlerAccess.java +++ /dev/null @@ -1,9 +0,0 @@ -package net.ornithemc.osl.networking.impl.access; - -import net.ornithemc.osl.networking.impl.server.ServerConnectionContext; - -public interface ServerNetworkHandlerAccess extends NetworkHandlerAccess { - - ServerConnectionContext osl$networking$connectionContext(); - -} diff --git a/libraries/networking-impl/networking-impl-mc12w18a-mc12w19a/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/ClientNetworkHandlerMixin.java b/libraries/networking-impl/networking-impl-mc12w18a-mc12w19a/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/ClientNetworkHandlerMixin.java deleted file mode 100644 index 1705876fc..000000000 --- a/libraries/networking-impl/networking-impl-mc12w18a-mc12w19a/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/ClientNetworkHandlerMixin.java +++ /dev/null @@ -1,144 +0,0 @@ -package net.ornithemc.osl.networking.impl.mixin.client; - -import java.net.SocketAddress; -import java.util.LinkedHashSet; -import java.util.Set; - -import org.spongepowered.asm.mixin.Final; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -import org.spongepowered.asm.mixin.Unique; -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.Minecraft; -import net.minecraft.client.network.handler.ClientNetworkHandler; -import net.minecraft.client.world.ClientWorld; -import net.minecraft.network.Connection; -import net.minecraft.network.packet.CustomPayloadPacket; -import net.minecraft.network.packet.DisconnectPacket; - -import net.ornithemc.osl.core.api.util.NamespacedIdentifier; -import net.ornithemc.osl.networking.api.client.ClientConnectionEvents; -import net.ornithemc.osl.networking.impl.AddressParser; -import net.ornithemc.osl.networking.impl.HandshakePayload; -import net.ornithemc.osl.networking.impl.access.ClientNetworkHandlerAccess; -import net.ornithemc.osl.networking.impl.client.ClientConnectionContext; -import net.ornithemc.osl.networking.impl.client.ClientPlayNetworkingImpl; -import net.ornithemc.osl.networking.impl.access.LocalServerAccess; -import net.ornithemc.osl.text.api.TextComponents; - -@Mixin(ClientNetworkHandler.class) -public class ClientNetworkHandlerMixin implements ClientNetworkHandlerAccess { - - @Shadow @Final - private Minecraft minecraft; - @Shadow @Final - private ClientWorld world; - @Shadow @Final - private Connection connection; - - @Unique - private ClientConnectionContext connectionContext; - /** - * Channels that the server is listening to. - */ - @Unique - private Set serverChannels; - - @Inject( - method = "*", - at = @At( - value = "TAIL" - ) - ) - private void osl$networking$initConnectionContext(CallbackInfo ci) { - if (minecraft.getLocalServer().isRunning()) { - LocalServerAccess server = (LocalServerAccess) minecraft.getLocalServer(); - String worldName = server.osl$networking$worldSaveName(); - - connectionContext = new ClientConnectionContext(minecraft, worldName); - } else { - SocketAddress address = connection.getAddress(); - - String serverAddress = AddressParser.getAddress(address); - int serverPort = AddressParser.getPort(address); - - connectionContext = new ClientConnectionContext(minecraft, serverAddress, serverPort); - } - } - - @Inject( - method = "handleLogin", - at = @At( - value = "TAIL" - ) - ) - private void osl$networking$handleLogin(CallbackInfo ci) { - // send channel registration data as soon as login occurs - ClientPlayNetworkingImpl.sendNoCheck(HandshakePayload.CHANNEL, HandshakePayload.client()); - - ClientConnectionEvents.LOGIN.invoker().accept(connectionContext); - } - - @Inject( - method = "handleDisconnect", - at = @At( - value = "HEAD" - ) - ) - private void osl$networking$handleDisconnect(DisconnectPacket packet, CallbackInfo ci) { - connectionContext.offerDisconnectReason(TextComponents.resolve(packet.reason)); - } - - @Inject( - method = "onDisconnect", - at = @At( - value = "HEAD" - ) - ) - private void osl$networking$handleDisconnect(String reason, Object[] args, CallbackInfo ci) { - connectionContext.offerDisconnectReason(args == null - ? TextComponents.translatable(reason) - : TextComponents.translatable(reason, args)); - } - - @Inject( - method = "handleCustomPayload", - cancellable = true, - at = @At( - value = "HEAD" - ) - ) - private void osl$networking$handleCustomPayload(CustomPayloadPacket packet, CallbackInfo ci) { - if (ClientPlayNetworkingImpl.handlePacket(minecraft, (ClientNetworkHandler)(Object)this, packet)) { - ci.cancel(); - } - } - - @Override - public ClientConnectionContext osl$networking$connectionContext() { - return connectionContext; - } - - @Override - public boolean osl$networking$canRunOffMainThread() { - return minecraft != null && minecraft.world != null && minecraft.player != null && world != null; - } - - @Override - public boolean osl$networking$isPlayReady() { - return serverChannels != null; - } - - @Override - public boolean osl$networking$isPlayReady(NamespacedIdentifier channel) { - return serverChannels != null && serverChannels.contains(channel); - } - - @Override - public void osl$networking$registerChannels(Set channels) { - serverChannels = new LinkedHashSet<>(channels); - } -} diff --git a/libraries/networking-impl/networking-impl-mc12w18a-mc12w19a/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/LocalServerMixin.java b/libraries/networking-impl/networking-impl-mc12w18a-mc12w19a/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/LocalServerMixin.java deleted file mode 100644 index 12b4690c4..000000000 --- a/libraries/networking-impl/networking-impl-mc12w18a-mc12w19a/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/LocalServerMixin.java +++ /dev/null @@ -1,35 +0,0 @@ -package net.ornithemc.osl.networking.impl.mixin.client; - -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Unique; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; - -import com.llamalad7.mixinextras.sugar.Local; - -import net.minecraft.client.server.LocalServer; - -import net.ornithemc.osl.networking.impl.access.LocalServerAccess; - -@Mixin(LocalServer.class) -public class LocalServerMixin implements LocalServerAccess { - - @Unique - private String worldSaveName; - - @Inject( - method = "start", - at = @At( - value = "HEAD" - ) - ) - private void osl$networking$start(CallbackInfo ci, @Local String worldSaveName) { - this.worldSaveName = worldSaveName; - } - - @Override - public String osl$networking$worldSaveName() { - return this.worldSaveName; - } -} diff --git a/libraries/networking-impl/networking-impl-mc12w18a-mc12w19a/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixin.java b/libraries/networking-impl/networking-impl-mc12w18a-mc12w19a/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixin.java deleted file mode 100644 index 6f6989749..000000000 --- a/libraries/networking-impl/networking-impl-mc12w18a-mc12w19a/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixin.java +++ /dev/null @@ -1,40 +0,0 @@ -package net.ornithemc.osl.networking.impl.mixin.client; - -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -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.Minecraft; -import net.minecraft.client.network.handler.ClientNetworkHandler; -import net.minecraft.client.world.ClientWorld; - -import net.ornithemc.osl.networking.api.client.ClientConnectionEvents; -import net.ornithemc.osl.networking.impl.access.ClientNetworkHandlerAccess; -import net.ornithemc.osl.networking.impl.client.ClientConnectionContext; - -@Mixin(Minecraft.class) -public class MinecraftMixin { - - @Shadow - private ClientWorld world; - - @Shadow - private ClientNetworkHandler getNetworkHandler() { return null; } - - @Inject( - method = "setWorld(Lnet/minecraft/client/world/ClientWorld;Ljava/lang/String;)V", - at = @At( - value = "HEAD" - ) - ) - private void osl$networking$disconnect(ClientWorld world, String title, CallbackInfo ci) { - if (this.world != null && world == null) { - ClientNetworkHandlerAccess networkHandler = (ClientNetworkHandlerAccess) getNetworkHandler(); - ClientConnectionContext connectionContext = networkHandler.osl$networking$connectionContext(); - - ClientConnectionEvents.DISCONNECT.invoker().accept(connectionContext); - } - } -} diff --git a/libraries/networking-impl/networking-impl-mc12w18a-mc12w19a/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ConnectionMixin.java b/libraries/networking-impl/networking-impl-mc12w18a-mc12w19a/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ConnectionMixin.java deleted file mode 100644 index b478e0190..000000000 --- a/libraries/networking-impl/networking-impl-mc12w18a-mc12w19a/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ConnectionMixin.java +++ /dev/null @@ -1,35 +0,0 @@ -package net.ornithemc.osl.networking.impl.mixin.common; - -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; - -import com.llamalad7.mixinextras.sugar.Local; - -import net.minecraft.network.Connection; -import net.minecraft.network.PacketHandler; -import net.minecraft.network.packet.Packet; - -import net.ornithemc.osl.networking.impl.Connections; - -@Mixin(Connection.class) -public class ConnectionMixin { - - @Shadow private PacketHandler listener; - - @Inject( - method = "read", - cancellable = true, - at = @At( - value = "INVOKE", - target = "Ljava/util/List;add(Ljava/lang/Object;)Z" - ) - ) - private void osl$networking$asyncCustomPayloads(CallbackInfoReturnable cir, @Local Packet packet) { - if (Connections.handleAsyncPacket(packet, listener)) { - cir.setReturnValue(true); - } - } -} diff --git a/libraries/networking-impl/networking-impl-mc12w18a-mc12w19a/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadPacketMixin.java b/libraries/networking-impl/networking-impl-mc12w18a-mc12w19a/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadPacketMixin.java deleted file mode 100644 index f5e2b624c..000000000 --- a/libraries/networking-impl/networking-impl-mc12w18a-mc12w19a/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadPacketMixin.java +++ /dev/null @@ -1,39 +0,0 @@ -package net.ornithemc.osl.networking.impl.mixin.common; - -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -import org.spongepowered.asm.mixin.injection.Constant; -import org.spongepowered.asm.mixin.injection.ModifyConstant; - -import net.minecraft.network.packet.CustomPayloadPacket; - -import net.ornithemc.osl.core.api.util.NamespacedIdentifier; -import net.ornithemc.osl.networking.api.StringChannelIdentifierParser; -import net.ornithemc.osl.networking.impl.access.CustomPayloadPacketAccess; - -@Mixin(CustomPayloadPacket.class) -public class CustomPayloadPacketMixin implements CustomPayloadPacketAccess { - - @Shadow private String channel; - @Shadow private byte[] data; - - @ModifyConstant( - method = "read", - constant = @Constant( - intValue = 20 - ) - ) - private int osl$networking$modifyMaxChannelLength(int maxLength) { - return StringChannelIdentifierParser.MAX_LENGTH; - } - - @Override - public NamespacedIdentifier osl$networking$getChannel() { - return StringChannelIdentifierParser.fromString(channel); - } - - @Override - public byte[] osl$networking$getData() { - return data; - } -} diff --git a/libraries/networking-impl/networking-impl-mc12w18a-mc12w19a/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PlayerManagerMixin.java b/libraries/networking-impl/networking-impl-mc12w18a-mc12w19a/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PlayerManagerMixin.java deleted file mode 100644 index 32ec4bae7..000000000 --- a/libraries/networking-impl/networking-impl-mc12w18a-mc12w19a/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PlayerManagerMixin.java +++ /dev/null @@ -1,37 +0,0 @@ -package net.ornithemc.osl.networking.impl.mixin.common; - -import org.spongepowered.asm.mixin.Final; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; - -import com.llamalad7.mixinextras.sugar.Local; - -import net.minecraft.server.MinecraftServer; -import net.minecraft.server.PlayerManager; -import net.minecraft.server.entity.mob.player.ServerPlayerEntity; - -import net.ornithemc.osl.networking.api.server.ServerConnectionEvents; -import net.ornithemc.osl.networking.impl.access.ServerNetworkHandlerAccess; -import net.ornithemc.osl.networking.impl.server.ServerConnectionContext; - -@Mixin(PlayerManager.class) -public class PlayerManagerMixin { - - @Shadow @Final private MinecraftServer server; - - @Inject( - method = "remove", - at = @At( - value = "HEAD" - ) - ) - private void osl$networking$handleDisconnect(CallbackInfo ci, @Local ServerPlayerEntity player) { - ServerNetworkHandlerAccess networkHandler = (ServerNetworkHandlerAccess) player.networkHandler; - ServerConnectionContext connectionContext = networkHandler.osl$networking$connectionContext(); - - ServerConnectionEvents.DISCONNECT.invoker().accept(connectionContext); - } -} diff --git a/libraries/networking-impl/networking-impl-mc12w18a-mc12w19a/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ServerLoginNetworkHandlerMixin.java b/libraries/networking-impl/networking-impl-mc12w18a-mc12w19a/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ServerLoginNetworkHandlerMixin.java deleted file mode 100644 index 2f4e70f3e..000000000 --- a/libraries/networking-impl/networking-impl-mc12w18a-mc12w19a/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ServerLoginNetworkHandlerMixin.java +++ /dev/null @@ -1,39 +0,0 @@ -package net.ornithemc.osl.networking.impl.mixin.common; - -import org.spongepowered.asm.mixin.Final; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; - -import com.llamalad7.mixinextras.sugar.Local; - -import net.minecraft.server.MinecraftServer; -import net.minecraft.server.entity.mob.player.ServerPlayerEntity; -import net.minecraft.server.network.handler.ServerLoginNetworkHandler; - -import net.ornithemc.osl.networking.api.server.ServerConnectionEvents; -import net.ornithemc.osl.networking.impl.access.ServerNetworkHandlerAccess; -import net.ornithemc.osl.networking.impl.server.ServerConnectionContext; - -@Mixin(ServerLoginNetworkHandler.class) -public class ServerLoginNetworkHandlerMixin { - - @Shadow @Final private MinecraftServer server; - - @Inject( - method = "acceptLogin", - at = @At( - value = "TAIL" - ) - ) - private void osl$networking$handleLogin(CallbackInfo ci, @Local ServerPlayerEntity player) { - if (player != null) { - ServerNetworkHandlerAccess networkHandler = (ServerNetworkHandlerAccess) player.networkHandler; - ServerConnectionContext connectionContext = networkHandler.osl$networking$connectionContext(); - - ServerConnectionEvents.LOGIN.invoker().accept(connectionContext); - } - } -} diff --git a/libraries/networking-impl/networking-impl-mc12w18a-mc12w19a/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ServerPlayNetworkHandlerMixin.java b/libraries/networking-impl/networking-impl-mc12w18a-mc12w19a/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ServerPlayNetworkHandlerMixin.java deleted file mode 100644 index 5fb807bd9..000000000 --- a/libraries/networking-impl/networking-impl-mc12w18a-mc12w19a/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ServerPlayNetworkHandlerMixin.java +++ /dev/null @@ -1,101 +0,0 @@ -package net.ornithemc.osl.networking.impl.mixin.common; - -import java.util.LinkedHashSet; -import java.util.Set; - -import org.spongepowered.asm.mixin.Final; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -import org.spongepowered.asm.mixin.Unique; -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.network.packet.CustomPayloadPacket; -import net.minecraft.server.MinecraftServer; -import net.minecraft.server.entity.mob.player.ServerPlayerEntity; -import net.minecraft.server.network.handler.ServerPlayNetworkHandler; - -import net.ornithemc.osl.core.api.util.NamespacedIdentifier; -import net.ornithemc.osl.networking.impl.access.ServerNetworkHandlerAccess; -import net.ornithemc.osl.networking.impl.server.ServerConnectionContext; -import net.ornithemc.osl.networking.impl.server.ServerPlayNetworkingImpl; -import net.ornithemc.osl.text.api.TextComponents; - -@Mixin(ServerPlayNetworkHandler.class) -public class ServerPlayNetworkHandlerMixin implements ServerNetworkHandlerAccess { - - @Shadow @Final - private MinecraftServer server; - - @Shadow - private ServerPlayerEntity player; - - @Unique - private ServerConnectionContext connectionContext; - /** - * Channels that the client is listening to. - */ - @Unique - private Set clientChannels; - - @Inject( - method = "", - at = @At( - value = "TAIL" - ) - ) - private void osl$networking$initConnectionContext(CallbackInfo ci) { - connectionContext = new ServerConnectionContext(server, (ServerPlayNetworkHandler) (Object) this); - } - - @Inject( - method = "onDisconnect", - at = @At( - value = "HEAD" - ) - ) - private void osl$networking$handleDisconnect(String reason, Object[] args, CallbackInfo ci) { - connectionContext.offerDisconnectReason(args == null - ? TextComponents.translatable(reason) - : TextComponents.translatable(reason, args)); - } - - @Inject( - method = "handleCustomPayload", - cancellable = true, - at = @At( - value = "HEAD" - ) - ) - private void osl$networking$handleCustomPayload(CustomPayloadPacket packet, CallbackInfo ci) { - if (ServerPlayNetworkingImpl.handlePacket(server, (ServerPlayNetworkHandler)(Object)this, player, packet)) { - ci.cancel(); - } - } - - @Override - public ServerConnectionContext osl$networking$connectionContext() { - return connectionContext; - } - - @Override - public boolean osl$networking$canRunOffMainThread() { - return true; - } - - @Override - public boolean osl$networking$isPlayReady() { - return clientChannels != null; - } - - @Override - public boolean osl$networking$isPlayReady(NamespacedIdentifier channel) { - return clientChannels != null && clientChannels.contains(channel); - } - - @Override - public void osl$networking$registerChannels(Set channels) { - clientChannels = new LinkedHashSet<>(channels); - } -} diff --git a/libraries/networking-impl/networking-impl-mc12w18a-mc12w19a/src/main/resources/fabric.mod.json b/libraries/networking-impl/networking-impl-mc12w18a-mc12w19a/src/main/resources/fabric.mod.json deleted file mode 100644 index 1d17b3935..000000000 --- a/libraries/networking-impl/networking-impl-mc12w18a-mc12w19a/src/main/resources/fabric.mod.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "schemaVersion": 1, - "id": "osl-networking-impl", - "version": "0.3.0+mc12w18a-mc12w19a", - "environment": "*", - "entrypoints": { - "init": [ - "net.ornithemc.osl.networking.impl.Networking" - ], - "client-init": [ - "net.ornithemc.osl.networking.impl.Networking" - ], - "server-init": [ - "net.ornithemc.osl.networking.impl.Networking" - ] - }, - "mixins": [ - "osl.networking-impl.mixins.json" - ], - "depends": { - "fabricloader": "\u003e\u003d0.18.0", - "minecraft": "\u003e\u003d1.3-alpha.12.18.a \u003c\u003d1.3-alpha.12.19.a", - "osl-core": "\u003e\u003d0.7.0", - "osl-entrypoints": "\u003e\u003d0.5.0", - "osl-lifecycle-events": "\u003e\u003d0.6.0", - "osl-text-components": "\u003e\u003d0.1.0", - "osl-executors": "\u003e\u003d0.1.0", - "osl-networking": "\u003e\u003d0.12.0" - }, - "name": "OSL Networking Implementation", - "description": "Implementation details of the Networking API.", - "authors": [ - "OrnitheMC" - ], - "contact": { - "homepage": "https://ornithemc.net/", - "issues": "https://github.com/OrnitheMC/ornithe-standard-libraries/issues", - "sources": "https://github.com/OrnitheMC/ornithe-standard-libraries" - }, - "license": "Apache-2.0" -} \ No newline at end of file diff --git a/libraries/networking-impl/networking-impl-mc12w18a-mc12w19a/src/main/resources/osl.networking-impl.mixins.json b/libraries/networking-impl/networking-impl-mc12w18a-mc12w19a/src/main/resources/osl.networking-impl.mixins.json deleted file mode 100644 index f114d7b49..000000000 --- a/libraries/networking-impl/networking-impl-mc12w18a-mc12w19a/src/main/resources/osl.networking-impl.mixins.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "required": true, - "minVersion": "0.8", - "package": "net.ornithemc.osl.networking.impl.mixin", - "compatibilityLevel": "JAVA_8", - "mixins": [ - "common.ConnectionMixin", - "common.CustomPayloadPacketMixin", - "common.ServerLoginNetworkHandlerMixin", - "common.ServerPlayNetworkHandlerMixin" - ], - "client": [ - "client.ClientNetworkHandlerMixin", - "client.LocalServerAccess", - "client.MinecraftMixin" - ], - "server": [ - ], - "injectors": { - "defaultRequire": 1 - } -} diff --git a/libraries/networking-impl/networking-impl-mc12w21a-mc13w39b/build.gradle b/libraries/networking-impl/networking-impl-mc12w21a-mc13w39b/build.gradle deleted file mode 100644 index 0a350fdb3..000000000 --- a/libraries/networking-impl/networking-impl-mc12w21a-mc13w39b/build.gradle +++ /dev/null @@ -1 +0,0 @@ -setUpModule(project) diff --git a/libraries/networking-impl/networking-impl-mc12w21a-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/Networking.java b/libraries/networking-impl/networking-impl-mc12w21a-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/Networking.java deleted file mode 100644 index 77c8c0396..000000000 --- a/libraries/networking-impl/networking-impl-mc12w21a-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/Networking.java +++ /dev/null @@ -1,62 +0,0 @@ -package net.ornithemc.osl.networking.impl; - -import net.minecraft.network.packet.CustomPayloadPacket; - -import net.ornithemc.osl.core.api.util.NamespacedIdentifier; -import net.ornithemc.osl.entrypoints.api.ModInitializer; -import net.ornithemc.osl.entrypoints.api.client.ClientModInitializer; -import net.ornithemc.osl.entrypoints.api.server.ServerModInitializer; -import net.ornithemc.osl.lifecycle.api.client.MinecraftClientEvents; -import net.ornithemc.osl.lifecycle.api.server.MinecraftServerEvents; -import net.ornithemc.osl.networking.api.StringChannelIdentifierParser; -import net.ornithemc.osl.networking.api.client.ClientConnectionEvents; -import net.ornithemc.osl.networking.api.server.ServerConnectionEvents; -import net.ornithemc.osl.networking.impl.access.ClientNetworkHandlerAccess; -import net.ornithemc.osl.networking.impl.access.ServerNetworkHandlerAccess; -import net.ornithemc.osl.networking.impl.client.ClientConnectionContext; -import net.ornithemc.osl.networking.impl.client.ClientPlayNetworkingImpl; -import net.ornithemc.osl.networking.impl.server.ServerConnectionContext; -import net.ornithemc.osl.networking.impl.server.ServerPlayNetworkingImpl; - -public class Networking implements ModInitializer, ClientModInitializer, ServerModInitializer { - - @Override - public void init() { - MinecraftServerEvents.START.register(ServerPlayNetworkingImpl::setUp); - MinecraftServerEvents.STOP.register(ServerPlayNetworkingImpl::destroy); - ServerPlayNetworkingImpl.setUpPacketFactory(Networking::newCustomPayloadPacket); - ServerPlayNetworkingImpl.registerListener(HandshakePayload.CHANNEL, HandshakePayload::new, (context, payload) -> { - // send channel registration data as a response to receiving client channel registration data - ServerPlayNetworkingImpl.sendNoCheck(context.player(), HandshakePayload.CHANNEL, HandshakePayload.server()); - - ServerNetworkHandlerAccess networkHandler = (ServerNetworkHandlerAccess) context.networkHandler(); - ServerConnectionContext connectionContext = networkHandler.osl$networking$connectionContext(); - - networkHandler.osl$networking$registerChannels(payload.channels); - ServerConnectionEvents.PLAY_READY.invoker().accept(connectionContext); - }); - } - - @Override - public void initClient() { - MinecraftClientEvents.START.register(ClientPlayNetworkingImpl::setUp); - MinecraftClientEvents.STOP.register(ClientPlayNetworkingImpl::destroy); - ClientPlayNetworkingImpl.setUpPacketFactory(Networking::newCustomPayloadPacket); - ClientPlayNetworkingImpl.registerListener(HandshakePayload.CHANNEL, HandshakePayload::new, (context, payload) -> { - ClientNetworkHandlerAccess networkHandler = (ClientNetworkHandlerAccess) context.networkHandler(); - ClientConnectionContext connectionContext = networkHandler.osl$networking$connectionContext(); - - networkHandler.osl$networking$registerChannels(payload.channels); - ClientConnectionEvents.PLAY_READY.invoker().accept(connectionContext); - }); - } - - @Override - public void initServer() { - // no-op - } - - private static CustomPayloadPacket newCustomPayloadPacket(NamespacedIdentifier channel, byte[] data) { - return new CustomPayloadPacket(StringChannelIdentifierParser.toString(channel), data); - } -} diff --git a/libraries/networking-impl/networking-impl-mc12w21a-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/access/ClientNetworkHandlerAccess.java b/libraries/networking-impl/networking-impl-mc12w21a-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/access/ClientNetworkHandlerAccess.java deleted file mode 100644 index e067a1831..000000000 --- a/libraries/networking-impl/networking-impl-mc12w21a-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/access/ClientNetworkHandlerAccess.java +++ /dev/null @@ -1,9 +0,0 @@ -package net.ornithemc.osl.networking.impl.access; - -import net.ornithemc.osl.networking.impl.client.ClientConnectionContext; - -public interface ClientNetworkHandlerAccess extends NetworkHandlerAccess { - - ClientConnectionContext osl$networking$connectionContext(); - -} diff --git a/libraries/networking-impl/networking-impl-mc12w21a-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/access/ServerNetworkHandlerAccess.java b/libraries/networking-impl/networking-impl-mc12w21a-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/access/ServerNetworkHandlerAccess.java deleted file mode 100644 index 1d596400b..000000000 --- a/libraries/networking-impl/networking-impl-mc12w21a-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/access/ServerNetworkHandlerAccess.java +++ /dev/null @@ -1,9 +0,0 @@ -package net.ornithemc.osl.networking.impl.access; - -import net.ornithemc.osl.networking.impl.server.ServerConnectionContext; - -public interface ServerNetworkHandlerAccess extends NetworkHandlerAccess { - - ServerConnectionContext osl$networking$connectionContext(); - -} diff --git a/libraries/networking-impl/networking-impl-mc12w21a-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixin.java b/libraries/networking-impl/networking-impl-mc12w21a-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixin.java deleted file mode 100644 index 6f6989749..000000000 --- a/libraries/networking-impl/networking-impl-mc12w21a-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixin.java +++ /dev/null @@ -1,40 +0,0 @@ -package net.ornithemc.osl.networking.impl.mixin.client; - -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -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.Minecraft; -import net.minecraft.client.network.handler.ClientNetworkHandler; -import net.minecraft.client.world.ClientWorld; - -import net.ornithemc.osl.networking.api.client.ClientConnectionEvents; -import net.ornithemc.osl.networking.impl.access.ClientNetworkHandlerAccess; -import net.ornithemc.osl.networking.impl.client.ClientConnectionContext; - -@Mixin(Minecraft.class) -public class MinecraftMixin { - - @Shadow - private ClientWorld world; - - @Shadow - private ClientNetworkHandler getNetworkHandler() { return null; } - - @Inject( - method = "setWorld(Lnet/minecraft/client/world/ClientWorld;Ljava/lang/String;)V", - at = @At( - value = "HEAD" - ) - ) - private void osl$networking$disconnect(ClientWorld world, String title, CallbackInfo ci) { - if (this.world != null && world == null) { - ClientNetworkHandlerAccess networkHandler = (ClientNetworkHandlerAccess) getNetworkHandler(); - ClientConnectionContext connectionContext = networkHandler.osl$networking$connectionContext(); - - ClientConnectionEvents.DISCONNECT.invoker().accept(connectionContext); - } - } -} diff --git a/libraries/networking-impl/networking-impl-mc12w21a-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadPacketMixin.java b/libraries/networking-impl/networking-impl-mc12w21a-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadPacketMixin.java deleted file mode 100644 index f5e2b624c..000000000 --- a/libraries/networking-impl/networking-impl-mc12w21a-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadPacketMixin.java +++ /dev/null @@ -1,39 +0,0 @@ -package net.ornithemc.osl.networking.impl.mixin.common; - -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -import org.spongepowered.asm.mixin.injection.Constant; -import org.spongepowered.asm.mixin.injection.ModifyConstant; - -import net.minecraft.network.packet.CustomPayloadPacket; - -import net.ornithemc.osl.core.api.util.NamespacedIdentifier; -import net.ornithemc.osl.networking.api.StringChannelIdentifierParser; -import net.ornithemc.osl.networking.impl.access.CustomPayloadPacketAccess; - -@Mixin(CustomPayloadPacket.class) -public class CustomPayloadPacketMixin implements CustomPayloadPacketAccess { - - @Shadow private String channel; - @Shadow private byte[] data; - - @ModifyConstant( - method = "read", - constant = @Constant( - intValue = 20 - ) - ) - private int osl$networking$modifyMaxChannelLength(int maxLength) { - return StringChannelIdentifierParser.MAX_LENGTH; - } - - @Override - public NamespacedIdentifier osl$networking$getChannel() { - return StringChannelIdentifierParser.fromString(channel); - } - - @Override - public byte[] osl$networking$getData() { - return data; - } -} diff --git a/libraries/networking-impl/networking-impl-mc12w21a-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ServerPlayNetworkHandlerMixin.java b/libraries/networking-impl/networking-impl-mc12w21a-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ServerPlayNetworkHandlerMixin.java deleted file mode 100644 index 5fb807bd9..000000000 --- a/libraries/networking-impl/networking-impl-mc12w21a-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ServerPlayNetworkHandlerMixin.java +++ /dev/null @@ -1,101 +0,0 @@ -package net.ornithemc.osl.networking.impl.mixin.common; - -import java.util.LinkedHashSet; -import java.util.Set; - -import org.spongepowered.asm.mixin.Final; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -import org.spongepowered.asm.mixin.Unique; -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.network.packet.CustomPayloadPacket; -import net.minecraft.server.MinecraftServer; -import net.minecraft.server.entity.mob.player.ServerPlayerEntity; -import net.minecraft.server.network.handler.ServerPlayNetworkHandler; - -import net.ornithemc.osl.core.api.util.NamespacedIdentifier; -import net.ornithemc.osl.networking.impl.access.ServerNetworkHandlerAccess; -import net.ornithemc.osl.networking.impl.server.ServerConnectionContext; -import net.ornithemc.osl.networking.impl.server.ServerPlayNetworkingImpl; -import net.ornithemc.osl.text.api.TextComponents; - -@Mixin(ServerPlayNetworkHandler.class) -public class ServerPlayNetworkHandlerMixin implements ServerNetworkHandlerAccess { - - @Shadow @Final - private MinecraftServer server; - - @Shadow - private ServerPlayerEntity player; - - @Unique - private ServerConnectionContext connectionContext; - /** - * Channels that the client is listening to. - */ - @Unique - private Set clientChannels; - - @Inject( - method = "", - at = @At( - value = "TAIL" - ) - ) - private void osl$networking$initConnectionContext(CallbackInfo ci) { - connectionContext = new ServerConnectionContext(server, (ServerPlayNetworkHandler) (Object) this); - } - - @Inject( - method = "onDisconnect", - at = @At( - value = "HEAD" - ) - ) - private void osl$networking$handleDisconnect(String reason, Object[] args, CallbackInfo ci) { - connectionContext.offerDisconnectReason(args == null - ? TextComponents.translatable(reason) - : TextComponents.translatable(reason, args)); - } - - @Inject( - method = "handleCustomPayload", - cancellable = true, - at = @At( - value = "HEAD" - ) - ) - private void osl$networking$handleCustomPayload(CustomPayloadPacket packet, CallbackInfo ci) { - if (ServerPlayNetworkingImpl.handlePacket(server, (ServerPlayNetworkHandler)(Object)this, player, packet)) { - ci.cancel(); - } - } - - @Override - public ServerConnectionContext osl$networking$connectionContext() { - return connectionContext; - } - - @Override - public boolean osl$networking$canRunOffMainThread() { - return true; - } - - @Override - public boolean osl$networking$isPlayReady() { - return clientChannels != null; - } - - @Override - public boolean osl$networking$isPlayReady(NamespacedIdentifier channel) { - return clientChannels != null && clientChannels.contains(channel); - } - - @Override - public void osl$networking$registerChannels(Set channels) { - clientChannels = new LinkedHashSet<>(channels); - } -} diff --git a/libraries/networking-impl/networking-impl-mc12w21a-mc13w39b/src/main/resources/fabric.mod.json b/libraries/networking-impl/networking-impl-mc12w21a-mc13w39b/src/main/resources/fabric.mod.json deleted file mode 100644 index 53bb40504..000000000 --- a/libraries/networking-impl/networking-impl-mc12w21a-mc13w39b/src/main/resources/fabric.mod.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "schemaVersion": 1, - "id": "osl-networking-impl", - "version": "0.3.0+mc12w21a-mc13w39b", - "environment": "*", - "entrypoints": { - "init": [ - "net.ornithemc.osl.networking.impl.Networking" - ], - "client-init": [ - "net.ornithemc.osl.networking.impl.Networking" - ], - "server-init": [ - "net.ornithemc.osl.networking.impl.Networking" - ] - }, - "mixins": [ - "osl.networking-impl.mixins.json" - ], - "depends": { - "fabricloader": "\u003e\u003d0.18.0", - "minecraft": "\u003e\u003d1.3-alpha.12.21.a \u003c\u003d1.7-alpha.13.39.b", - "osl-core": "\u003e\u003d0.7.0", - "osl-entrypoints": "\u003e\u003d0.5.0", - "osl-lifecycle-events": "\u003e\u003d0.6.0", - "osl-text-components": "\u003e\u003d0.1.0", - "osl-executors": "\u003e\u003d0.1.0", - "osl-networking": "\u003e\u003d0.12.0" - }, - "name": "OSL Networking Implementation", - "description": "Implementation details of the Networking API.", - "authors": [ - "OrnitheMC" - ], - "contact": { - "homepage": "https://ornithemc.net/", - "issues": "https://github.com/OrnitheMC/ornithe-standard-libraries/issues", - "sources": "https://github.com/OrnitheMC/ornithe-standard-libraries" - }, - "license": "Apache-2.0" -} \ No newline at end of file diff --git a/libraries/networking-impl/networking-impl-mc1.13-pre3-mc1.13-pre3/build.gradle b/libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/build.gradle similarity index 100% rename from libraries/networking-impl/networking-impl-mc1.13-pre3-mc1.13-pre3/build.gradle rename to libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/build.gradle diff --git a/libraries/networking-impl/networking-impl-mc18w43a-mc1.14.4/gradle.properties b/libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/gradle.properties similarity index 68% rename from libraries/networking-impl/networking-impl-mc18w43a-mc1.14.4/gradle.properties rename to libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/gradle.properties index 54620cacd..fd9dcf891 100644 --- a/libraries/networking-impl/networking-impl-mc18w43a-mc1.14.4/gradle.properties +++ b/libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/gradle.properties @@ -1,4 +1,4 @@ -min_mc_version = 18w43a +min_mc_version = 13w41a max_mc_version = 1.14.4 minecraft_version = 1.14.4 diff --git a/libraries/networking-impl/networking-impl-mc13w41a-mc14w20b/src/main/java/net/ornithemc/osl/networking/impl/Connections.java b/libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/Connections.java similarity index 73% rename from libraries/networking-impl/networking-impl-mc13w41a-mc14w20b/src/main/java/net/ornithemc/osl/networking/impl/Connections.java rename to libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/Connections.java index 37828700c..7f0d4ed4c 100644 --- a/libraries/networking-impl/networking-impl-mc13w41a-mc14w20b/src/main/java/net/ornithemc/osl/networking/impl/Connections.java +++ b/libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/Connections.java @@ -1,5 +1,7 @@ package net.ornithemc.osl.networking.impl; +import java.util.function.BiConsumer; + import net.minecraft.network.handler.PacketHandler; import net.minecraft.network.packet.Packet; @@ -9,7 +11,8 @@ public final class Connections { - public static boolean handleAsyncPacket(Packet packet, PacketHandler listener) { + // this generics + BiConsumer BS is necessary because Packet changes from a class to an interface + public static

boolean handleAsyncPacket(P packet, L listener, BiConsumer handler) { if (!(packet instanceof CustomPayloadPacketAccess)) { return false; } @@ -24,7 +27,7 @@ public static boolean handleAsyncPacket(Packet packet, PacketHandler listener) { if (handleAsync) { try { - packet.handle(listener); + handler.accept(listener, packet); } catch (NotOnMainThreadException e) { handleAsync = false; } diff --git a/libraries/networking-impl/networking-impl-mc1.13-pre3-mc1.13-pre3/src/main/java/net/ornithemc/osl/networking/impl/Networking.java b/libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/Networking.java similarity index 58% rename from libraries/networking-impl/networking-impl-mc1.13-pre3-mc1.13-pre3/src/main/java/net/ornithemc/osl/networking/impl/Networking.java rename to libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/Networking.java index dfa03a6d8..fb2e3b1f0 100644 --- a/libraries/networking-impl/networking-impl-mc1.13-pre3-mc1.13-pre3/src/main/java/net/ornithemc/osl/networking/impl/Networking.java +++ b/libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/Networking.java @@ -1,14 +1,18 @@ package net.ornithemc.osl.networking.impl; +import net.minecraft.network.packet.Packet; import net.minecraft.network.packet.c2s.play.CustomPayloadC2SPacket; import net.minecraft.network.packet.s2c.play.CustomPayloadS2CPacket; +import net.ornithemc.osl.core.api.util.NamespacedIdentifier; +import net.ornithemc.osl.core.impl.util.MinecraftVersion; import net.ornithemc.osl.entrypoints.api.ModInitializer; import net.ornithemc.osl.entrypoints.api.client.ClientModInitializer; import net.ornithemc.osl.entrypoints.api.server.ServerModInitializer; import net.ornithemc.osl.lifecycle.api.client.MinecraftClientEvents; import net.ornithemc.osl.lifecycle.api.server.MinecraftServerEvents; import net.ornithemc.osl.networking.api.IdentifierChannelIdentifierParser; +import net.ornithemc.osl.networking.api.PacketBuffer; import net.ornithemc.osl.networking.api.PacketBuffers; import net.ornithemc.osl.networking.api.StringChannelIdentifierParser; import net.ornithemc.osl.networking.api.client.ClientConnectionEvents; @@ -17,17 +21,23 @@ import net.ornithemc.osl.networking.impl.access.ServerNetworkHandlerAccess; import net.ornithemc.osl.networking.impl.client.ClientConnectionContext; import net.ornithemc.osl.networking.impl.client.ClientPlayNetworkingImpl; +import net.ornithemc.osl.networking.impl.mixin.client.CustomPayloadC2SPacketAccess; +import net.ornithemc.osl.networking.impl.mixin.common.CustomPayloadS2CPacketAccess; import net.ornithemc.osl.networking.impl.server.ServerConnectionContext; import net.ornithemc.osl.networking.impl.server.ServerPlayNetworkingImpl; public class Networking implements ModInitializer, ClientModInitializer, ServerModInitializer { + public static final boolean CLIENTBOUND_STRING_CHANNELS = MinecraftVersion.resolve().compareTo("1.13-pre3") < 0; + public static final boolean SERVERBOUND_STRING_CHANNELS = MinecraftVersion.resolve().compareTo("1.13-pre4") < 0; + public static final boolean CLIENTBOUND_BYTE_ARRAY_DATA = MinecraftVersion.resolve().compareTo("14w31a") < 0; + public static final boolean SERVERBOUND_BYTE_ARRAY_DATA = MinecraftVersion.resolve().compareTo("14w31a") < 0; + @Override public void init() { MinecraftServerEvents.START.register(ServerPlayNetworkingImpl::setUp); MinecraftServerEvents.STOP.register(ServerPlayNetworkingImpl::destroy); - ServerPlayNetworkingImpl.setUpPacketFactory((channel, data) -> - new CustomPayloadS2CPacket(IdentifierChannelIdentifierParser.toIdentifier(channel), PacketBuffers.unwrapped(data))); + ServerPlayNetworkingImpl.setUpPacketFactory(Networking::newCustomPayloadS2CPacket); ServerPlayNetworkingImpl.registerListener(HandshakePayload.CHANNEL, HandshakePayload::new, (context, payload) -> { // send channel registration data as a response to receiving client channel registration data ServerPlayNetworkingImpl.sendNoCheck(context.player(), HandshakePayload.CHANNEL, HandshakePayload.server()); @@ -44,8 +54,7 @@ public void init() { public void initClient() { MinecraftClientEvents.START.register(ClientPlayNetworkingImpl::setUp); MinecraftClientEvents.STOP.register(ClientPlayNetworkingImpl::destroy); - ClientPlayNetworkingImpl.setUpPacketFactory((channel, data) -> - new CustomPayloadC2SPacket(StringChannelIdentifierParser.toString(channel), PacketBuffers.unwrapped(data))); + ClientPlayNetworkingImpl.setUpPacketFactory(Networking::newCustomPayloadC2SPacket); ClientPlayNetworkingImpl.registerListener(HandshakePayload.CHANNEL, HandshakePayload::new, (context, payload) -> { ClientNetworkHandlerAccess networkHandler = (ClientNetworkHandlerAccess) context.networkHandler(); ClientConnectionContext connectionContext = networkHandler.osl$networking$connectionContext(); @@ -59,4 +68,24 @@ public void initClient() { public void initServer() { // no-op } + + private static Packet newCustomPayloadS2CPacket(NamespacedIdentifier channel, PacketBuffer data) { + if (!CLIENTBOUND_STRING_CHANNELS) { + return new CustomPayloadS2CPacket(IdentifierChannelIdentifierParser.toIdentifier(channel), PacketBuffers.unwrapped(data)); + } else if (!CLIENTBOUND_BYTE_ARRAY_DATA) { + return CustomPayloadS2CPacketAccess.of(StringChannelIdentifierParser.toString(channel), PacketBuffers.unwrapped(data)); + } else { + return CustomPayloadS2CPacketAccess.of(StringChannelIdentifierParser.toString(channel), PacketBuffers.unwrap(data)); + } + } + + private static Packet newCustomPayloadC2SPacket(NamespacedIdentifier channel, PacketBuffer data) { + if (!SERVERBOUND_STRING_CHANNELS) { + return new CustomPayloadC2SPacket(IdentifierChannelIdentifierParser.toIdentifier(channel), PacketBuffers.unwrapped(data)); + } else if (!SERVERBOUND_BYTE_ARRAY_DATA) { + return CustomPayloadC2SPacketAccess.of(StringChannelIdentifierParser.toString(channel), PacketBuffers.unwrapped(data)); + } else { + return CustomPayloadC2SPacketAccess.of(StringChannelIdentifierParser.toString(channel), PacketBuffers.unwrap(data)); + } + } } diff --git a/libraries/networking-impl/networking-impl-mc1.13-pre3-mc1.13-pre3/src/main/java/net/ornithemc/osl/networking/impl/access/ClientNetworkHandlerAccess.java b/libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/access/ClientNetworkHandlerAccess.java similarity index 100% rename from libraries/networking-impl/networking-impl-mc1.13-pre3-mc1.13-pre3/src/main/java/net/ornithemc/osl/networking/impl/access/ClientNetworkHandlerAccess.java rename to libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/access/ClientNetworkHandlerAccess.java diff --git a/libraries/networking-impl/networking-impl-mc1.13-pre3-mc1.13-pre3/src/main/java/net/ornithemc/osl/networking/impl/access/ServerNetworkHandlerAccess.java b/libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/access/ServerNetworkHandlerAccess.java similarity index 100% rename from libraries/networking-impl/networking-impl-mc1.13-pre3-mc1.13-pre3/src/main/java/net/ornithemc/osl/networking/impl/access/ServerNetworkHandlerAccess.java rename to libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/access/ServerNetworkHandlerAccess.java diff --git a/libraries/networking-impl/networking-impl-mc1.13-pre3-mc1.13-pre3/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/ClientPlayNetworkHandlerMixin.java b/libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/ClientPlayNetworkHandlerMixin.java similarity index 100% rename from libraries/networking-impl/networking-impl-mc1.13-pre3-mc1.13-pre3/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/ClientPlayNetworkHandlerMixin.java rename to libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/ClientPlayNetworkHandlerMixin.java diff --git a/libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/CustomPayloadC2SPacketAccess.java b/libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/CustomPayloadC2SPacketAccess.java new file mode 100644 index 000000000..527ee4605 --- /dev/null +++ b/libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/CustomPayloadC2SPacketAccess.java @@ -0,0 +1,27 @@ +package net.ornithemc.osl.networking.impl.mixin.client; + +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.gen.Invoker; + +import net.minecraft.network.PacketByteBuf; +import net.minecraft.network.packet.c2s.play.CustomPayloadC2SPacket; + +import net.ornithemc.conditionalmixin.annotations.Conditional; +import net.ornithemc.conditionalmixin.annotations.Version; + +@Conditional(minecraftVersion = @Version("<1.13-pre4")) +@Mixin(CustomPayloadC2SPacket.class) +public interface CustomPayloadC2SPacketAccess { + + @Conditional(minecraftVersion = @Version("<14w31a")) + @Invoker("") + static CustomPayloadC2SPacket of(String channel, byte[] data) { + throw new AbstractMethodError(); + } + + @Conditional(minecraftVersion = @Version(">=14w31a")) + @Invoker("") + static CustomPayloadC2SPacket of(String channel, PacketByteBuf data) { + throw new AbstractMethodError(); + } +} diff --git a/libraries/networking-impl/networking-impl-mc14w31a-mc1.13-pre2/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixin.java b/libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixin.java similarity index 76% rename from libraries/networking-impl/networking-impl-mc14w31a-mc1.13-pre2/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixin.java rename to libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixin.java index e61d29bc6..f48cfc798 100644 --- a/libraries/networking-impl/networking-impl-mc14w31a-mc1.13-pre2/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixin.java +++ b/libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixin.java @@ -7,8 +7,9 @@ import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; +import com.llamalad7.mixinextras.sugar.Local; + import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.screen.Screen; import net.minecraft.client.network.handler.ClientPlayNetworkHandler; import net.minecraft.client.world.ClientWorld; @@ -28,7 +29,7 @@ public class MinecraftMixin { @Shadow private ClientPlayNetworkHandler getNetworkHandler() { return null; } - @Conditional(minecraftVersion = @Version("<=17w50a")) + @Conditional(minecraftVersion = @Version("<18w01a")) @Inject( method = "m_49232044", at = @At( @@ -41,7 +42,7 @@ public class MinecraftMixin { } } - @Conditional(minecraftVersion = @Version(">17w50a <18w15a")) + @Conditional(minecraftVersion = @Version(">=18w01a <18w15a")) @Inject( method = "m_85741928", at = @At( @@ -54,19 +55,32 @@ public class MinecraftMixin { } } - @Conditional(minecraftVersion = @Version(">=18w15a")) + @Conditional(minecraftVersion = @Version(">=18w15a <19w06a")) @Inject( - method = "setWorld(Lnet/minecraft/client/world/ClientWorld;Lnet/minecraft/client/gui/screen/Screen;)V", + method = "m_62116716", // setWorld at = @At( value = "HEAD" ) ) - private void osl$networking$disconnect(ClientWorld world, Screen screen, CallbackInfo ci) { + private void osl$networking$disconnect(CallbackInfo ci, @Local ClientWorld world) { if (this.world != null && world == null) { this.triggerDisconnectEvent(); } } + @Conditional(minecraftVersion = @Version(">=19w06a")) + @Inject( + method = "m_62273487", // disconnect + at = @At( + value = "HEAD" + ) + ) + private void osl$networking$disconnect(CallbackInfo ci) { + if (world != null) { + this.triggerDisconnectEvent(); + } + } + @Unique private void triggerDisconnectEvent() { ClientNetworkHandlerAccess networkHandler = (ClientNetworkHandlerAccess) this.getNetworkHandler(); diff --git a/libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ConnectionMixin.java b/libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ConnectionMixin.java new file mode 100644 index 000000000..24d1aa49e --- /dev/null +++ b/libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ConnectionMixin.java @@ -0,0 +1,51 @@ +package net.ornithemc.osl.networking.impl.mixin.common; + +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Shadow; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; + +import io.netty.channel.ChannelHandlerContext; + +import net.minecraft.client.network.handler.ClientPlayPacketHandler; +import net.minecraft.network.Connection; +import net.minecraft.network.handler.PacketHandler; +import net.minecraft.network.packet.Packet; +import net.minecraft.network.packet.c2s.play.CustomPayloadC2SPacket; +import net.minecraft.network.packet.s2c.play.CustomPayloadS2CPacket; +import net.minecraft.server.network.handler.ServerPlayPacketHandler; + +import net.ornithemc.conditionalmixin.annotations.Conditional; +import net.ornithemc.conditionalmixin.annotations.Version; + +import net.ornithemc.osl.networking.impl.Connections; + +@Conditional(minecraftVersion = @Version("<14w21a")) +@Mixin(Connection.class) +public class ConnectionMixin { + + @Shadow + private PacketHandler listener; + + @Inject( + method = "channelRead0", + cancellable = true, + at = @At( + value = "INVOKE", + target = "Lnet/minecraft/network/packet/Packet;m_21917298()Z" + ) + ) + private void osl$networking$asyncCustomPayloads(ChannelHandlerContext ctx, Packet packet, CallbackInfo ci) { + if (packet instanceof CustomPayloadS2CPacket && listener instanceof ClientPlayPacketHandler) { + if (Connections.handleAsyncPacket((CustomPayloadS2CPacket) packet, (ClientPlayPacketHandler) this.listener, ClientPlayPacketHandler::handleCustomPayload)) { + ci.cancel(); + } + } + if (packet instanceof CustomPayloadC2SPacket && listener instanceof ServerPlayPacketHandler) { + if (Connections.handleAsyncPacket((CustomPayloadC2SPacket) packet, (ServerPlayPacketHandler) this.listener, ServerPlayPacketHandler::handleCustomPayload)) { + ci.cancel(); + } + } + } +} diff --git a/libraries/networking-impl/networking-impl-mc14w31a-mc1.13-pre2/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadC2SPacketMixin.java b/libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadC2SPacketMixin.java similarity index 64% rename from libraries/networking-impl/networking-impl-mc14w31a-mc1.13-pre2/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadC2SPacketMixin.java rename to libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadC2SPacketMixin.java index 2722159ec..52256e6af 100644 --- a/libraries/networking-impl/networking-impl-mc14w31a-mc1.13-pre2/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadC2SPacketMixin.java +++ b/libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadC2SPacketMixin.java @@ -3,27 +3,44 @@ import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.At.Shift; import org.spongepowered.asm.mixin.injection.Constant; +import org.spongepowered.asm.mixin.injection.At.Shift; import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.ModifyConstant; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; import net.minecraft.network.PacketByteBuf; import net.minecraft.network.packet.c2s.play.CustomPayloadC2SPacket; +import net.minecraft.resource.Identifier; + +import net.ornithemc.conditionalmixin.annotations.Conditional; +import net.ornithemc.conditionalmixin.annotations.Version; import net.ornithemc.osl.core.api.util.NamespacedIdentifier; +import net.ornithemc.osl.networking.api.IdentifierChannelIdentifierParser; import net.ornithemc.osl.networking.api.PacketBuffer; import net.ornithemc.osl.networking.api.PacketBuffers; import net.ornithemc.osl.networking.api.StringChannelIdentifierParser; +import net.ornithemc.osl.networking.impl.Networking; import net.ornithemc.osl.networking.impl.access.CustomPayloadPacketAccess; @Mixin(CustomPayloadC2SPacket.class) public class CustomPayloadC2SPacketMixin implements CustomPayloadPacketAccess { - @Shadow private String channel; - @Shadow private PacketByteBuf data; + @Conditional(minecraftVersion = @Version("<1.13-pre4")) + @Shadow + private String f_08816511; + @Conditional(minecraftVersion = @Version(">=1.13-pre4")) + @Shadow + private Identifier channel; + @Conditional(minecraftVersion = @Version("<14w31a")) + @Shadow + private byte[] f_46904753; + @Conditional(minecraftVersion = @Version(">=14w31a")) + @Shadow + private PacketByteBuf data; + @Conditional(minecraftVersion = @Version("<1.13-pre4")) @ModifyConstant( method = "read", constant = @Constant( @@ -34,6 +51,7 @@ public class CustomPayloadC2SPacketMixin implements CustomPayloadPacketAccess { return StringChannelIdentifierParser.MAX_LENGTH; } + @Conditional(minecraftVersion = @Version(">=14w31a")) @Inject( method = "handle(Lnet/minecraft/server/network/handler/ServerPlayPacketHandler;)V", cancellable = true, @@ -53,11 +71,19 @@ public class CustomPayloadC2SPacketMixin implements CustomPayloadPacketAccess { @Override public NamespacedIdentifier osl$networking$getChannel() { - return StringChannelIdentifierParser.fromString(channel); + if (Networking.SERVERBOUND_STRING_CHANNELS) { + return StringChannelIdentifierParser.fromString(this.f_08816511); + } else { + return IdentifierChannelIdentifierParser.fromIdentifier(this.channel); + } } @Override public PacketBuffer osl$networking$getData() { - return PacketBuffers.wrapped(data.copy()); + if (Networking.SERVERBOUND_BYTE_ARRAY_DATA) { + return PacketBuffers.wrap(this.f_46904753); + } else { + return PacketBuffers.wrapped(this.data.copy()); + } } } diff --git a/libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadS2CPacketAccess.java b/libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadS2CPacketAccess.java new file mode 100644 index 000000000..d2104521d --- /dev/null +++ b/libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadS2CPacketAccess.java @@ -0,0 +1,27 @@ +package net.ornithemc.osl.networking.impl.mixin.common; + +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.gen.Invoker; + +import net.minecraft.network.PacketByteBuf; +import net.minecraft.network.packet.s2c.play.CustomPayloadS2CPacket; + +import net.ornithemc.conditionalmixin.annotations.Conditional; +import net.ornithemc.conditionalmixin.annotations.Version; + +@Conditional(minecraftVersion = @Version("<1.13-pre3")) +@Mixin(CustomPayloadS2CPacket.class) +public interface CustomPayloadS2CPacketAccess { + + @Conditional(minecraftVersion = @Version("<14w31a")) + @Invoker("") + static CustomPayloadS2CPacket of(String channel, byte[] data) { + throw new AbstractMethodError(); + } + + @Conditional(minecraftVersion = @Version(">=14w31a")) + @Invoker("") + static CustomPayloadS2CPacket of(String channel, PacketByteBuf data) { + throw new AbstractMethodError(); + } +} diff --git a/libraries/networking-impl/networking-impl-mc14w31a-mc1.13-pre2/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadS2CPacketMixin.java b/libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadS2CPacketMixin.java similarity index 51% rename from libraries/networking-impl/networking-impl-mc14w31a-mc1.13-pre2/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadS2CPacketMixin.java rename to libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadS2CPacketMixin.java index 697367229..bb0ab9ff7 100644 --- a/libraries/networking-impl/networking-impl-mc14w31a-mc1.13-pre2/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadS2CPacketMixin.java +++ b/libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadS2CPacketMixin.java @@ -7,19 +7,36 @@ import net.minecraft.network.PacketByteBuf; import net.minecraft.network.packet.s2c.play.CustomPayloadS2CPacket; +import net.minecraft.resource.Identifier; + +import net.ornithemc.conditionalmixin.annotations.Conditional; +import net.ornithemc.conditionalmixin.annotations.Version; import net.ornithemc.osl.core.api.util.NamespacedIdentifier; +import net.ornithemc.osl.networking.api.IdentifierChannelIdentifierParser; import net.ornithemc.osl.networking.api.PacketBuffer; import net.ornithemc.osl.networking.api.PacketBuffers; import net.ornithemc.osl.networking.api.StringChannelIdentifierParser; +import net.ornithemc.osl.networking.impl.Networking; import net.ornithemc.osl.networking.impl.access.CustomPayloadPacketAccess; @Mixin(CustomPayloadS2CPacket.class) public class CustomPayloadS2CPacketMixin implements CustomPayloadPacketAccess { - @Shadow private String channel; - @Shadow private PacketByteBuf data; + @Conditional(minecraftVersion = @Version("<1.13-pre3")) + @Shadow + private String f_32230462; + @Conditional(minecraftVersion = @Version(">=1.13-pre3")) + @Shadow + private Identifier channel; + @Conditional(minecraftVersion = @Version("<14w31a")) + @Shadow + private byte[] f_15231323; + @Conditional(minecraftVersion = @Version(">=14w31a")) + @Shadow + private PacketByteBuf data; + @Conditional(minecraftVersion = @Version("<1.13-pre3")) @ModifyConstant( method = "read", constant = @Constant( @@ -32,11 +49,19 @@ public class CustomPayloadS2CPacketMixin implements CustomPayloadPacketAccess { @Override public NamespacedIdentifier osl$networking$getChannel() { - return StringChannelIdentifierParser.fromString(channel); + if (Networking.CLIENTBOUND_STRING_CHANNELS) { + return StringChannelIdentifierParser.fromString(this.f_32230462); + } else { + return IdentifierChannelIdentifierParser.fromIdentifier(this.channel); + } } @Override public PacketBuffer osl$networking$getData() { - return PacketBuffers.wrapped(data.copy()); + if (Networking.CLIENTBOUND_BYTE_ARRAY_DATA) { + return PacketBuffers.wrap(this.f_15231323); + } else { + return PacketBuffers.wrapped(this.data.copy()); + } } } diff --git a/libraries/networking-impl/networking-impl-mc18w43a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/MinecraftServerMixin.java b/libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/MinecraftServerMixin.java similarity index 78% rename from libraries/networking-impl/networking-impl-mc18w43a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/MinecraftServerMixin.java rename to libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/MinecraftServerMixin.java index 3c389c76d..82d64c187 100644 --- a/libraries/networking-impl/networking-impl-mc18w43a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/MinecraftServerMixin.java +++ b/libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/MinecraftServerMixin.java @@ -1,4 +1,4 @@ -package net.ornithemc.osl.networking.impl.mixin.server; +package net.ornithemc.osl.networking.impl.mixin.common; import java.util.List; @@ -12,17 +12,25 @@ import net.minecraft.server.PlayerManager; import net.minecraft.server.entity.living.player.ServerPlayerEntity; +import net.ornithemc.conditionalmixin.annotations.Conditional; +import net.ornithemc.conditionalmixin.annotations.GameSide; +import net.ornithemc.conditionalmixin.annotations.Version; + import net.ornithemc.osl.networking.api.server.ServerConnectionEvents; import net.ornithemc.osl.networking.impl.access.PlayerManagerAccess; import net.ornithemc.osl.networking.impl.access.ServerNetworkHandlerAccess; import net.ornithemc.osl.networking.impl.server.ServerConnectionContext; +@Conditional(minecraftVersion = @Version(value = "<14w06a", gameSide = GameSide.CLIENT)) @Mixin(MinecraftServer.class) public class MinecraftServerMixin { @Shadow private PlayerManager playerManager; + @Shadow + private boolean isDedicated() { return false; } + @Inject( method = "stop", at = @At( diff --git a/libraries/networking-impl/networking-impl-mc13w41a-mc14w20b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PlayerManagerMixin.java b/libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PlayerManagerMixin.java similarity index 94% rename from libraries/networking-impl/networking-impl-mc13w41a-mc14w20b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PlayerManagerMixin.java rename to libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PlayerManagerMixin.java index 463dde8b5..05549eac7 100644 --- a/libraries/networking-impl/networking-impl-mc13w41a-mc14w20b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PlayerManagerMixin.java +++ b/libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PlayerManagerMixin.java @@ -23,8 +23,12 @@ @Mixin(PlayerManager.class) public class PlayerManagerMixin implements PlayerManagerAccess { - @Shadow @Final private MinecraftServer server; - @Shadow @Final private List players; + @Shadow + @Final + private MinecraftServer server; + @Shadow + @Final + private List players; @Inject( method = "onLogin", diff --git a/libraries/networking-impl/networking-impl-mc1.13-pre3-mc1.13-pre3/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ServerPlayNetworkHandlerMixin.java b/libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ServerPlayNetworkHandlerMixin.java similarity index 100% rename from libraries/networking-impl/networking-impl-mc1.13-pre3-mc1.13-pre3/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ServerPlayNetworkHandlerMixin.java rename to libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ServerPlayNetworkHandlerMixin.java diff --git a/libraries/networking-impl/networking-impl-mc1.13-pre4-mc1.13.2/src/main/resources/fabric.mod.json b/libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/src/main/resources/fabric.mod.json similarity index 91% rename from libraries/networking-impl/networking-impl-mc1.13-pre4-mc1.13.2/src/main/resources/fabric.mod.json rename to libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/src/main/resources/fabric.mod.json index 1196f338f..6714d431b 100644 --- a/libraries/networking-impl/networking-impl-mc1.13-pre4-mc1.13.2/src/main/resources/fabric.mod.json +++ b/libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/src/main/resources/fabric.mod.json @@ -1,7 +1,7 @@ { "schemaVersion": 1, "id": "osl-networking-impl", - "version": "0.3.0+mc1.13-pre4-mc1.13.2", + "version": "0.3.0+mc13w41a-mc1.14.4", "environment": "*", "entrypoints": { "init": [ @@ -19,7 +19,7 @@ ], "depends": { "fabricloader": "\u003e\u003d0.18.0", - "minecraft": "\u003e\u003d1.13-rc.4 \u003c\u003d1.13.2", + "minecraft": "\u003e\u003d1.7-alpha.13.41.a \u003c\u003d1.14.4", "osl-core": "\u003e\u003d0.7.0", "osl-entrypoints": "\u003e\u003d0.5.0", "osl-lifecycle-events": "\u003e\u003d0.6.0", diff --git a/libraries/networking-impl/networking-impl-mc18w43a-mc1.14.4/src/main/resources/osl.networking-impl.mixins.json b/libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/src/main/resources/osl.networking-impl.mixins.json similarity index 78% rename from libraries/networking-impl/networking-impl-mc18w43a-mc1.14.4/src/main/resources/osl.networking-impl.mixins.json rename to libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/src/main/resources/osl.networking-impl.mixins.json index 00a7ab216..e0e24fbb6 100644 --- a/libraries/networking-impl/networking-impl-mc18w43a-mc1.14.4/src/main/resources/osl.networking-impl.mixins.json +++ b/libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/src/main/resources/osl.networking-impl.mixins.json @@ -5,17 +5,20 @@ "compatibilityLevel": "JAVA_8", "plugin": "net.ornithemc.conditionalmixin.mixin.ConditionalMixinPlugin", "mixins": [ + "common.ConnectionMixin", "common.CustomPayloadC2SPacketMixin", + "common.CustomPayloadS2CPacketAccess", "common.CustomPayloadS2CPacketMixin", + "common.MinecraftServerMixin", "common.PlayerManagerMixin", "common.ServerPlayNetworkHandlerMixin" ], "client": [ "client.ClientPlayNetworkHandlerMixin", + "client.CustomPayloadC2SPacketAccess", "client.MinecraftMixin" ], "server": [ - "server.MinecraftServerMixin" ], "injectors": { "defaultRequire": 1 diff --git a/libraries/networking-impl/networking-impl-mc13w41a-mc14w20b/build.gradle b/libraries/networking-impl/networking-impl-mc13w41a-mc14w20b/build.gradle deleted file mode 100644 index 0a350fdb3..000000000 --- a/libraries/networking-impl/networking-impl-mc13w41a-mc14w20b/build.gradle +++ /dev/null @@ -1 +0,0 @@ -setUpModule(project) diff --git a/libraries/networking-impl/networking-impl-mc13w41a-mc14w20b/gradle.properties b/libraries/networking-impl/networking-impl-mc13w41a-mc14w20b/gradle.properties deleted file mode 100644 index 0fe06749e..000000000 --- a/libraries/networking-impl/networking-impl-mc13w41a-mc14w20b/gradle.properties +++ /dev/null @@ -1,5 +0,0 @@ -min_mc_version = 13w41a -max_mc_version = 14w20b - -minecraft_version = 14w20b -nests_build = 5 diff --git a/libraries/networking-impl/networking-impl-mc13w41a-mc14w20b/src/main/java/net/ornithemc/osl/networking/impl/Networking.java b/libraries/networking-impl/networking-impl-mc13w41a-mc14w20b/src/main/java/net/ornithemc/osl/networking/impl/Networking.java deleted file mode 100644 index 3aea1c461..000000000 --- a/libraries/networking-impl/networking-impl-mc13w41a-mc14w20b/src/main/java/net/ornithemc/osl/networking/impl/Networking.java +++ /dev/null @@ -1,61 +0,0 @@ -package net.ornithemc.osl.networking.impl; - -import net.minecraft.network.packet.c2s.play.CustomPayloadC2SPacket; -import net.minecraft.network.packet.s2c.play.CustomPayloadS2CPacket; - -import net.ornithemc.osl.entrypoints.api.ModInitializer; -import net.ornithemc.osl.entrypoints.api.client.ClientModInitializer; -import net.ornithemc.osl.entrypoints.api.server.ServerModInitializer; -import net.ornithemc.osl.lifecycle.api.client.MinecraftClientEvents; -import net.ornithemc.osl.lifecycle.api.server.MinecraftServerEvents; -import net.ornithemc.osl.networking.api.PacketBuffers; -import net.ornithemc.osl.networking.api.StringChannelIdentifierParser; -import net.ornithemc.osl.networking.api.client.ClientConnectionEvents; -import net.ornithemc.osl.networking.api.server.ServerConnectionEvents; -import net.ornithemc.osl.networking.impl.access.ClientNetworkHandlerAccess; -import net.ornithemc.osl.networking.impl.access.ServerNetworkHandlerAccess; -import net.ornithemc.osl.networking.impl.client.ClientConnectionContext; -import net.ornithemc.osl.networking.impl.client.ClientPlayNetworkingImpl; -import net.ornithemc.osl.networking.impl.server.ServerConnectionContext; -import net.ornithemc.osl.networking.impl.server.ServerPlayNetworkingImpl; - -public class Networking implements ModInitializer, ClientModInitializer, ServerModInitializer { - - @Override - public void init() { - MinecraftServerEvents.START.register(ServerPlayNetworkingImpl::setUp); - MinecraftServerEvents.STOP.register(ServerPlayNetworkingImpl::destroy); - ServerPlayNetworkingImpl.setUpPacketFactory((channel, data) -> - new CustomPayloadS2CPacket(StringChannelIdentifierParser.toString(channel), PacketBuffers.unwrapped(data))); - ServerPlayNetworkingImpl.registerListener(HandshakePayload.CHANNEL, HandshakePayload::new, (context, payload) -> { - // send channel registration data as a response to receiving client channel registration data - ServerPlayNetworkingImpl.sendNoCheck(context.player(), HandshakePayload.CHANNEL, HandshakePayload.server()); - - ServerNetworkHandlerAccess networkHandler = (ServerNetworkHandlerAccess) context.networkHandler(); - ServerConnectionContext connectionContext = networkHandler.osl$networking$connectionContext(); - - networkHandler.osl$networking$registerChannels(payload.channels); - ServerConnectionEvents.PLAY_READY.invoker().accept(connectionContext); - }); - } - - @Override - public void initClient() { - MinecraftClientEvents.START.register(ClientPlayNetworkingImpl::setUp); - MinecraftClientEvents.STOP.register(ClientPlayNetworkingImpl::destroy); - ClientPlayNetworkingImpl.setUpPacketFactory((channel, data) -> - new CustomPayloadC2SPacket(StringChannelIdentifierParser.toString(channel), PacketBuffers.unwrapped(data))); - ClientPlayNetworkingImpl.registerListener(HandshakePayload.CHANNEL, HandshakePayload::new, (context, payload) -> { - ClientNetworkHandlerAccess networkHandler = (ClientNetworkHandlerAccess) context.networkHandler(); - ClientConnectionContext connectionContext = networkHandler.osl$networking$connectionContext(); - - networkHandler.osl$networking$registerChannels(payload.channels); - ClientConnectionEvents.PLAY_READY.invoker().accept(connectionContext); - }); - } - - @Override - public void initServer() { - // no-op - } -} diff --git a/libraries/networking-impl/networking-impl-mc13w41a-mc14w20b/src/main/java/net/ornithemc/osl/networking/impl/access/ClientNetworkHandlerAccess.java b/libraries/networking-impl/networking-impl-mc13w41a-mc14w20b/src/main/java/net/ornithemc/osl/networking/impl/access/ClientNetworkHandlerAccess.java deleted file mode 100644 index e067a1831..000000000 --- a/libraries/networking-impl/networking-impl-mc13w41a-mc14w20b/src/main/java/net/ornithemc/osl/networking/impl/access/ClientNetworkHandlerAccess.java +++ /dev/null @@ -1,9 +0,0 @@ -package net.ornithemc.osl.networking.impl.access; - -import net.ornithemc.osl.networking.impl.client.ClientConnectionContext; - -public interface ClientNetworkHandlerAccess extends NetworkHandlerAccess { - - ClientConnectionContext osl$networking$connectionContext(); - -} diff --git a/libraries/networking-impl/networking-impl-mc13w41a-mc14w20b/src/main/java/net/ornithemc/osl/networking/impl/access/ServerNetworkHandlerAccess.java b/libraries/networking-impl/networking-impl-mc13w41a-mc14w20b/src/main/java/net/ornithemc/osl/networking/impl/access/ServerNetworkHandlerAccess.java deleted file mode 100644 index 1d596400b..000000000 --- a/libraries/networking-impl/networking-impl-mc13w41a-mc14w20b/src/main/java/net/ornithemc/osl/networking/impl/access/ServerNetworkHandlerAccess.java +++ /dev/null @@ -1,9 +0,0 @@ -package net.ornithemc.osl.networking.impl.access; - -import net.ornithemc.osl.networking.impl.server.ServerConnectionContext; - -public interface ServerNetworkHandlerAccess extends NetworkHandlerAccess { - - ServerConnectionContext osl$networking$connectionContext(); - -} diff --git a/libraries/networking-impl/networking-impl-mc13w41a-mc14w20b/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/ClientPlayNetworkHandlerMixin.java b/libraries/networking-impl/networking-impl-mc13w41a-mc14w20b/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/ClientPlayNetworkHandlerMixin.java deleted file mode 100644 index 4061f5b16..000000000 --- a/libraries/networking-impl/networking-impl-mc13w41a-mc14w20b/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/ClientPlayNetworkHandlerMixin.java +++ /dev/null @@ -1,135 +0,0 @@ -package net.ornithemc.osl.networking.impl.mixin.client; - -import java.net.SocketAddress; -import java.util.LinkedHashSet; -import java.util.Set; - -import org.spongepowered.asm.mixin.Final; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -import org.spongepowered.asm.mixin.Unique; -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.Minecraft; -import net.minecraft.client.network.handler.ClientPlayNetworkHandler; -import net.minecraft.network.Connection; -import net.minecraft.network.packet.s2c.play.CustomPayloadS2CPacket; -import net.minecraft.network.packet.s2c.play.DisconnectS2CPacket; -import net.minecraft.server.integrated.IntegratedServer; -import net.minecraft.text.Text; - -import net.ornithemc.osl.core.api.util.NamespacedIdentifier; -import net.ornithemc.osl.networking.api.client.ClientConnectionEvents; -import net.ornithemc.osl.networking.impl.AddressParser; -import net.ornithemc.osl.networking.impl.HandshakePayload; -import net.ornithemc.osl.networking.impl.access.ClientNetworkHandlerAccess; -import net.ornithemc.osl.networking.impl.client.ClientConnectionContext; -import net.ornithemc.osl.networking.impl.client.ClientPlayNetworkingImpl; -import net.ornithemc.osl.text.api.TextComponents; - -@Mixin(ClientPlayNetworkHandler.class) -public class ClientPlayNetworkHandlerMixin implements ClientNetworkHandlerAccess { - - @Shadow @Final - private Minecraft minecraft; - @Shadow @Final - private Connection connection; - - @Unique - private ClientConnectionContext connectionContext; - /** - * Channels that the server is listening to. - */ - @Unique - private Set serverChannels; - - @Inject( - method = "*", - at = @At( - value = "TAIL" - ) - ) - private void osl$networking$initConnectionContext(CallbackInfo ci) { - if (minecraft.isIntegratedServerRunning()) { - IntegratedServer server = minecraft.getServer(); - String worldName = server.getWorldName(); - - connectionContext = new ClientConnectionContext(minecraft, worldName); - } else { - SocketAddress address = connection.getAddress(); - - String serverAddress = AddressParser.getAddress(address); - int serverPort = AddressParser.getPort(address); - - connectionContext = new ClientConnectionContext(minecraft, serverAddress, serverPort); - } - } - - @Inject( - method = "handleLogin", - at = @At( - value = "TAIL" - ) - ) - private void osl$networking$handleLogin(CallbackInfo ci) { - // send channel registration data as soon as login occurs - ClientPlayNetworkingImpl.sendNoCheck(HandshakePayload.CHANNEL, HandshakePayload.client()); - - ClientConnectionEvents.LOGIN.invoker().accept(connectionContext); - } - - @Inject( - method = "handleDisconnect", - at = @At( - value = "HEAD" - ) - ) - private void osl$networking$handleDisconnect(DisconnectS2CPacket packet, CallbackInfo ci) { - connectionContext.offerDisconnectReason(TextComponents.resolve(packet.getReason())); - } - - @Inject( - method = "onDisconnect", - at = @At( - value = "HEAD" - ) - ) - private void osl$networking$handleDisconnect(Text reason, CallbackInfo ci) { - connectionContext.offerDisconnectReason(TextComponents.resolve(reason)); - } - - @Inject( - method = "handleCustomPayload", - cancellable = true, - at = @At( - value = "HEAD" - ) - ) - private void osl$networking$handleCustomPayload(CustomPayloadS2CPacket packet, CallbackInfo ci) { - if (ClientPlayNetworkingImpl.handlePacket(minecraft, (ClientPlayNetworkHandler)(Object)this, packet)) { - ci.cancel(); - } - } - - @Override - public ClientConnectionContext osl$networking$connectionContext() { - return connectionContext; - } - - @Override - public boolean osl$networking$isPlayReady() { - return serverChannels != null; - } - - @Override - public boolean osl$networking$isPlayReady(NamespacedIdentifier channel) { - return serverChannels != null && serverChannels.contains(channel); - } - - @Override - public void osl$networking$registerChannels(Set channels) { - serverChannels = new LinkedHashSet<>(channels); - } -} diff --git a/libraries/networking-impl/networking-impl-mc13w41a-mc14w20b/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixin.java b/libraries/networking-impl/networking-impl-mc13w41a-mc14w20b/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixin.java deleted file mode 100644 index a53f875a5..000000000 --- a/libraries/networking-impl/networking-impl-mc13w41a-mc14w20b/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixin.java +++ /dev/null @@ -1,40 +0,0 @@ -package net.ornithemc.osl.networking.impl.mixin.client; - -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -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.Minecraft; -import net.minecraft.client.network.handler.ClientPlayNetworkHandler; -import net.minecraft.client.world.ClientWorld; - -import net.ornithemc.osl.networking.api.client.ClientConnectionEvents; -import net.ornithemc.osl.networking.impl.access.ClientNetworkHandlerAccess; -import net.ornithemc.osl.networking.impl.client.ClientConnectionContext; - -@Mixin(Minecraft.class) -public class MinecraftMixin { - - @Shadow - private ClientWorld world; - - @Shadow - private ClientPlayNetworkHandler getNetworkHandler() { return null; } - - @Inject( - method = "setWorld(Lnet/minecraft/client/world/ClientWorld;Ljava/lang/String;)V", - at = @At( - value = "HEAD" - ) - ) - private void osl$networking$disconnect(ClientWorld world, String title, CallbackInfo ci) { - if (this.world != null && world == null) { - ClientNetworkHandlerAccess networkHandler = (ClientNetworkHandlerAccess) getNetworkHandler(); - ClientConnectionContext connectionContext = networkHandler.osl$networking$connectionContext(); - - ClientConnectionEvents.DISCONNECT.invoker().accept(connectionContext); - } - } -} diff --git a/libraries/networking-impl/networking-impl-mc13w41a-mc14w20b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ConnectionMixin.java b/libraries/networking-impl/networking-impl-mc13w41a-mc14w20b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ConnectionMixin.java deleted file mode 100644 index bca115284..000000000 --- a/libraries/networking-impl/networking-impl-mc13w41a-mc14w20b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ConnectionMixin.java +++ /dev/null @@ -1,38 +0,0 @@ -package net.ornithemc.osl.networking.impl.mixin.common; - -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; - -import io.netty.channel.ChannelHandlerContext; - -import net.minecraft.network.Connection; -import net.minecraft.network.handler.PacketHandler; -import net.minecraft.network.packet.Packet; - -import net.ornithemc.osl.networking.impl.Connections; - -@Mixin(Connection.class) -public class ConnectionMixin { - - @Shadow - private boolean isClient; - @Shadow - private PacketHandler listener; - - @Inject( - method = "channelRead0", - cancellable = true, - at = @At( - value = "INVOKE", - target = "Lnet/minecraft/network/packet/Packet;canBeHandledOffMainThread()Z" - ) - ) - private void osl$networking$asyncCustomPayloads(ChannelHandlerContext ctx, Packet packet, CallbackInfo ci) { - if (Connections.handleAsyncPacket(packet, listener)) { - ci.cancel(); - } - } -} diff --git a/libraries/networking-impl/networking-impl-mc13w41a-mc14w20b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadC2SPacketMixin.java b/libraries/networking-impl/networking-impl-mc13w41a-mc14w20b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadC2SPacketMixin.java deleted file mode 100644 index 84dc5bdc0..000000000 --- a/libraries/networking-impl/networking-impl-mc13w41a-mc14w20b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadC2SPacketMixin.java +++ /dev/null @@ -1,41 +0,0 @@ -package net.ornithemc.osl.networking.impl.mixin.common; - -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -import org.spongepowered.asm.mixin.injection.Constant; -import org.spongepowered.asm.mixin.injection.ModifyConstant; - -import net.minecraft.network.packet.c2s.play.CustomPayloadC2SPacket; - -import net.ornithemc.osl.core.api.util.NamespacedIdentifier; -import net.ornithemc.osl.networking.api.PacketBuffer; -import net.ornithemc.osl.networking.api.PacketBuffers; -import net.ornithemc.osl.networking.api.StringChannelIdentifierParser; -import net.ornithemc.osl.networking.impl.access.CustomPayloadPacketAccess; - -@Mixin(CustomPayloadC2SPacket.class) -public class CustomPayloadC2SPacketMixin implements CustomPayloadPacketAccess { - - @Shadow private String channel; - @Shadow private byte[] data; - - @ModifyConstant( - method = "read", - constant = @Constant( - intValue = 20 - ) - ) - private int osl$networking$modifyMaxChannelLength(int maxLength) { - return StringChannelIdentifierParser.MAX_LENGTH; - } - - @Override - public NamespacedIdentifier osl$networking$getChannel() { - return StringChannelIdentifierParser.fromString(channel); - } - - @Override - public PacketBuffer osl$networking$getData() { - return PacketBuffers.wrap(data); - } -} diff --git a/libraries/networking-impl/networking-impl-mc13w41a-mc14w20b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadS2CPacketMixin.java b/libraries/networking-impl/networking-impl-mc13w41a-mc14w20b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadS2CPacketMixin.java deleted file mode 100644 index f1730adf1..000000000 --- a/libraries/networking-impl/networking-impl-mc13w41a-mc14w20b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadS2CPacketMixin.java +++ /dev/null @@ -1,41 +0,0 @@ -package net.ornithemc.osl.networking.impl.mixin.common; - -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -import org.spongepowered.asm.mixin.injection.Constant; -import org.spongepowered.asm.mixin.injection.ModifyConstant; - -import net.minecraft.network.packet.s2c.play.CustomPayloadS2CPacket; - -import net.ornithemc.osl.core.api.util.NamespacedIdentifier; -import net.ornithemc.osl.networking.api.PacketBuffer; -import net.ornithemc.osl.networking.api.PacketBuffers; -import net.ornithemc.osl.networking.api.StringChannelIdentifierParser; -import net.ornithemc.osl.networking.impl.access.CustomPayloadPacketAccess; - -@Mixin(CustomPayloadS2CPacket.class) -public class CustomPayloadS2CPacketMixin implements CustomPayloadPacketAccess { - - @Shadow private String channel; - @Shadow private byte[] data; - - @ModifyConstant( - method = "read", - constant = @Constant( - intValue = 20 - ) - ) - private int osl$networking$modifyMaxChannelLength(int maxLength) { - return StringChannelIdentifierParser.MAX_LENGTH; - } - - @Override - public NamespacedIdentifier osl$networking$getChannel() { - return StringChannelIdentifierParser.fromString(channel); - } - - @Override - public PacketBuffer osl$networking$getData() { - return PacketBuffers.wrap(data); - } -} diff --git a/libraries/networking-impl/networking-impl-mc13w41a-mc14w20b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/MinecraftServerMixin.java b/libraries/networking-impl/networking-impl-mc13w41a-mc14w20b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/MinecraftServerMixin.java deleted file mode 100644 index 7f4d67405..000000000 --- a/libraries/networking-impl/networking-impl-mc13w41a-mc14w20b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/MinecraftServerMixin.java +++ /dev/null @@ -1,50 +0,0 @@ -package net.ornithemc.osl.networking.impl.mixin.common; - -import java.util.List; - -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -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.server.MinecraftServer; -import net.minecraft.server.PlayerManager; -import net.minecraft.server.entity.living.player.ServerPlayerEntity; - -import net.ornithemc.osl.core.impl.util.MinecraftVersion; -import net.ornithemc.osl.networking.api.server.ServerConnectionEvents; -import net.ornithemc.osl.networking.impl.access.ServerNetworkHandlerAccess; -import net.ornithemc.osl.networking.impl.server.ServerConnectionContext; - -@Mixin(MinecraftServer.class) -public class MinecraftServerMixin { - - private static final boolean INTEGRATED_SERVER_REMOVES_PLAYERS_ON_STOP = MinecraftVersion.resolve().compareTo("14w06a") >= 0; - - @Shadow - private PlayerManager playerManager; - - @Shadow - private boolean isDedicated() { return false; } - - @Inject( - method = "stop", - at = @At( - value = "TAIL" - ) - ) - private void osl$networking$stop(CallbackInfo ci) { - if (!INTEGRATED_SERVER_REMOVES_PLAYERS_ON_STOP || this.isDedicated()) { - @SuppressWarnings("unchecked") - List players = (List) this.playerManager.players; - - for (ServerPlayerEntity player : players) { - ServerNetworkHandlerAccess networkHandler = (ServerNetworkHandlerAccess) player.networkHandler; - ServerConnectionContext connectionContext = networkHandler.osl$networking$connectionContext(); - - ServerConnectionEvents.DISCONNECT.invoker().accept(connectionContext); - } - } - } -} diff --git a/libraries/networking-impl/networking-impl-mc13w41a-mc14w20b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ServerPlayNetworkHandlerMixin.java b/libraries/networking-impl/networking-impl-mc13w41a-mc14w20b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ServerPlayNetworkHandlerMixin.java deleted file mode 100644 index 270f4b80b..000000000 --- a/libraries/networking-impl/networking-impl-mc13w41a-mc14w20b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ServerPlayNetworkHandlerMixin.java +++ /dev/null @@ -1,95 +0,0 @@ -package net.ornithemc.osl.networking.impl.mixin.common; - -import java.util.LinkedHashSet; -import java.util.Set; - -import org.spongepowered.asm.mixin.Final; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -import org.spongepowered.asm.mixin.Unique; -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.network.packet.c2s.play.CustomPayloadC2SPacket; -import net.minecraft.server.MinecraftServer; -import net.minecraft.server.entity.living.player.ServerPlayerEntity; -import net.minecraft.server.network.handler.ServerPlayNetworkHandler; -import net.minecraft.text.Text; - -import net.ornithemc.osl.core.api.util.NamespacedIdentifier; -import net.ornithemc.osl.networking.impl.access.ServerNetworkHandlerAccess; -import net.ornithemc.osl.networking.impl.server.ServerConnectionContext; -import net.ornithemc.osl.networking.impl.server.ServerPlayNetworkingImpl; -import net.ornithemc.osl.text.api.TextComponents; - -@Mixin(ServerPlayNetworkHandler.class) -public class ServerPlayNetworkHandlerMixin implements ServerNetworkHandlerAccess { - - @Shadow @Final - private MinecraftServer server; - - @Shadow - private ServerPlayerEntity player; - - @Unique - private ServerConnectionContext connectionContext; - /** - * Channels that the client is listening to. - */ - @Unique - private Set clientChannels; - - @Inject( - method = "", - at = @At( - value = "TAIL" - ) - ) - private void osl$networking$initConnectionContext(CallbackInfo ci) { - connectionContext = new ServerConnectionContext(server, (ServerPlayNetworkHandler) (Object) this); - } - - @Inject( - method = "onDisconnect", - at = @At( - value = "HEAD" - ) - ) - private void osl$networking$handleDisconnect(Text reason, CallbackInfo ci) { - connectionContext.offerDisconnectReason(TextComponents.resolve(reason)); - } - - @Inject( - method = "handleCustomPayload", - cancellable = true, - at = @At( - value = "HEAD" - ) - ) - private void osl$networking$handleCustomPayload(CustomPayloadC2SPacket packet, CallbackInfo ci) { - if (ServerPlayNetworkingImpl.handlePacket(server, (ServerPlayNetworkHandler)(Object)this, player, packet)) { - ci.cancel(); - } - } - - @Override - public ServerConnectionContext osl$networking$connectionContext() { - return connectionContext; - } - - @Override - public boolean osl$networking$isPlayReady() { - return clientChannels != null; - } - - @Override - public boolean osl$networking$isPlayReady(NamespacedIdentifier channel) { - return clientChannels != null && clientChannels.contains(channel); - } - - @Override - public void osl$networking$registerChannels(Set channels) { - clientChannels = new LinkedHashSet<>(channels); - } -} diff --git a/libraries/networking-impl/networking-impl-mc13w41a-mc14w20b/src/main/resources/fabric.mod.json b/libraries/networking-impl/networking-impl-mc13w41a-mc14w20b/src/main/resources/fabric.mod.json deleted file mode 100644 index 290c5488d..000000000 --- a/libraries/networking-impl/networking-impl-mc13w41a-mc14w20b/src/main/resources/fabric.mod.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "schemaVersion": 1, - "id": "osl-networking-impl", - "version": "0.3.0+mc13w41a-mc14w20b", - "environment": "*", - "entrypoints": { - "init": [ - "net.ornithemc.osl.networking.impl.Networking" - ], - "client-init": [ - "net.ornithemc.osl.networking.impl.Networking" - ], - "server-init": [ - "net.ornithemc.osl.networking.impl.Networking" - ] - }, - "mixins": [ - "osl.networking-impl.mixins.json" - ], - "depends": { - "fabricloader": "\u003e\u003d0.18.0", - "minecraft": "\u003e\u003d1.7-alpha.13.41.a \u003c\u003d1.8-alpha.14.20.b", - "osl-core": "\u003e\u003d0.7.0", - "osl-entrypoints": "\u003e\u003d0.5.0", - "osl-lifecycle-events": "\u003e\u003d0.6.0", - "osl-text-components": "\u003e\u003d0.1.0", - "osl-executors": "\u003e\u003d0.1.0", - "osl-networking": "\u003e\u003d0.12.0" - }, - "name": "OSL Networking Implementation", - "description": "Implementation details of the Networking API.", - "authors": [ - "OrnitheMC" - ], - "contact": { - "homepage": "https://ornithemc.net/", - "issues": "https://github.com/OrnitheMC/ornithe-standard-libraries/issues", - "sources": "https://github.com/OrnitheMC/ornithe-standard-libraries" - }, - "license": "Apache-2.0" -} \ No newline at end of file diff --git a/libraries/networking-impl/networking-impl-mc13w41a-mc14w20b/src/main/resources/osl.networking-impl.mixins.json b/libraries/networking-impl/networking-impl-mc13w41a-mc14w20b/src/main/resources/osl.networking-impl.mixins.json deleted file mode 100644 index 7d6b73fee..000000000 --- a/libraries/networking-impl/networking-impl-mc13w41a-mc14w20b/src/main/resources/osl.networking-impl.mixins.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "required": true, - "minVersion": "0.8", - "package": "net.ornithemc.osl.networking.impl.mixin", - "compatibilityLevel": "JAVA_8", - "mixins": [ - "common.ConnectionMixin", - "common.CustomPayloadC2SPacketMixin", - "common.CustomPayloadS2CPacketMixin", - "common.MinecraftServerMixin", - "common.PlayerManagerMixin", - "common.ServerPlayNetworkHandlerMixin" - ], - "client": [ - "client.ClientPlayNetworkHandlerMixin", - "client.MinecraftMixin" - ], - "server": [ - ], - "injectors": { - "defaultRequire": 1 - } -} diff --git a/libraries/networking-impl/networking-impl-mc14w21a-mc14w30c/build.gradle b/libraries/networking-impl/networking-impl-mc14w21a-mc14w30c/build.gradle deleted file mode 100644 index 0a350fdb3..000000000 --- a/libraries/networking-impl/networking-impl-mc14w21a-mc14w30c/build.gradle +++ /dev/null @@ -1 +0,0 @@ -setUpModule(project) diff --git a/libraries/networking-impl/networking-impl-mc14w21a-mc14w30c/gradle.properties b/libraries/networking-impl/networking-impl-mc14w21a-mc14w30c/gradle.properties deleted file mode 100644 index 7f41ab49b..000000000 --- a/libraries/networking-impl/networking-impl-mc14w21a-mc14w30c/gradle.properties +++ /dev/null @@ -1,5 +0,0 @@ -min_mc_version = 14w21a -max_mc_version = 14w30c - -minecraft_version = 14w30c -nests_build = 3 diff --git a/libraries/networking-impl/networking-impl-mc14w21a-mc14w30c/src/main/java/net/ornithemc/osl/networking/impl/Networking.java b/libraries/networking-impl/networking-impl-mc14w21a-mc14w30c/src/main/java/net/ornithemc/osl/networking/impl/Networking.java deleted file mode 100644 index 3aea1c461..000000000 --- a/libraries/networking-impl/networking-impl-mc14w21a-mc14w30c/src/main/java/net/ornithemc/osl/networking/impl/Networking.java +++ /dev/null @@ -1,61 +0,0 @@ -package net.ornithemc.osl.networking.impl; - -import net.minecraft.network.packet.c2s.play.CustomPayloadC2SPacket; -import net.minecraft.network.packet.s2c.play.CustomPayloadS2CPacket; - -import net.ornithemc.osl.entrypoints.api.ModInitializer; -import net.ornithemc.osl.entrypoints.api.client.ClientModInitializer; -import net.ornithemc.osl.entrypoints.api.server.ServerModInitializer; -import net.ornithemc.osl.lifecycle.api.client.MinecraftClientEvents; -import net.ornithemc.osl.lifecycle.api.server.MinecraftServerEvents; -import net.ornithemc.osl.networking.api.PacketBuffers; -import net.ornithemc.osl.networking.api.StringChannelIdentifierParser; -import net.ornithemc.osl.networking.api.client.ClientConnectionEvents; -import net.ornithemc.osl.networking.api.server.ServerConnectionEvents; -import net.ornithemc.osl.networking.impl.access.ClientNetworkHandlerAccess; -import net.ornithemc.osl.networking.impl.access.ServerNetworkHandlerAccess; -import net.ornithemc.osl.networking.impl.client.ClientConnectionContext; -import net.ornithemc.osl.networking.impl.client.ClientPlayNetworkingImpl; -import net.ornithemc.osl.networking.impl.server.ServerConnectionContext; -import net.ornithemc.osl.networking.impl.server.ServerPlayNetworkingImpl; - -public class Networking implements ModInitializer, ClientModInitializer, ServerModInitializer { - - @Override - public void init() { - MinecraftServerEvents.START.register(ServerPlayNetworkingImpl::setUp); - MinecraftServerEvents.STOP.register(ServerPlayNetworkingImpl::destroy); - ServerPlayNetworkingImpl.setUpPacketFactory((channel, data) -> - new CustomPayloadS2CPacket(StringChannelIdentifierParser.toString(channel), PacketBuffers.unwrapped(data))); - ServerPlayNetworkingImpl.registerListener(HandshakePayload.CHANNEL, HandshakePayload::new, (context, payload) -> { - // send channel registration data as a response to receiving client channel registration data - ServerPlayNetworkingImpl.sendNoCheck(context.player(), HandshakePayload.CHANNEL, HandshakePayload.server()); - - ServerNetworkHandlerAccess networkHandler = (ServerNetworkHandlerAccess) context.networkHandler(); - ServerConnectionContext connectionContext = networkHandler.osl$networking$connectionContext(); - - networkHandler.osl$networking$registerChannels(payload.channels); - ServerConnectionEvents.PLAY_READY.invoker().accept(connectionContext); - }); - } - - @Override - public void initClient() { - MinecraftClientEvents.START.register(ClientPlayNetworkingImpl::setUp); - MinecraftClientEvents.STOP.register(ClientPlayNetworkingImpl::destroy); - ClientPlayNetworkingImpl.setUpPacketFactory((channel, data) -> - new CustomPayloadC2SPacket(StringChannelIdentifierParser.toString(channel), PacketBuffers.unwrapped(data))); - ClientPlayNetworkingImpl.registerListener(HandshakePayload.CHANNEL, HandshakePayload::new, (context, payload) -> { - ClientNetworkHandlerAccess networkHandler = (ClientNetworkHandlerAccess) context.networkHandler(); - ClientConnectionContext connectionContext = networkHandler.osl$networking$connectionContext(); - - networkHandler.osl$networking$registerChannels(payload.channels); - ClientConnectionEvents.PLAY_READY.invoker().accept(connectionContext); - }); - } - - @Override - public void initServer() { - // no-op - } -} diff --git a/libraries/networking-impl/networking-impl-mc14w21a-mc14w30c/src/main/java/net/ornithemc/osl/networking/impl/access/ClientNetworkHandlerAccess.java b/libraries/networking-impl/networking-impl-mc14w21a-mc14w30c/src/main/java/net/ornithemc/osl/networking/impl/access/ClientNetworkHandlerAccess.java deleted file mode 100644 index e067a1831..000000000 --- a/libraries/networking-impl/networking-impl-mc14w21a-mc14w30c/src/main/java/net/ornithemc/osl/networking/impl/access/ClientNetworkHandlerAccess.java +++ /dev/null @@ -1,9 +0,0 @@ -package net.ornithemc.osl.networking.impl.access; - -import net.ornithemc.osl.networking.impl.client.ClientConnectionContext; - -public interface ClientNetworkHandlerAccess extends NetworkHandlerAccess { - - ClientConnectionContext osl$networking$connectionContext(); - -} diff --git a/libraries/networking-impl/networking-impl-mc14w21a-mc14w30c/src/main/java/net/ornithemc/osl/networking/impl/access/ServerNetworkHandlerAccess.java b/libraries/networking-impl/networking-impl-mc14w21a-mc14w30c/src/main/java/net/ornithemc/osl/networking/impl/access/ServerNetworkHandlerAccess.java deleted file mode 100644 index 1d596400b..000000000 --- a/libraries/networking-impl/networking-impl-mc14w21a-mc14w30c/src/main/java/net/ornithemc/osl/networking/impl/access/ServerNetworkHandlerAccess.java +++ /dev/null @@ -1,9 +0,0 @@ -package net.ornithemc.osl.networking.impl.access; - -import net.ornithemc.osl.networking.impl.server.ServerConnectionContext; - -public interface ServerNetworkHandlerAccess extends NetworkHandlerAccess { - - ServerConnectionContext osl$networking$connectionContext(); - -} diff --git a/libraries/networking-impl/networking-impl-mc14w21a-mc14w30c/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/ClientPlayNetworkHandlerMixin.java b/libraries/networking-impl/networking-impl-mc14w21a-mc14w30c/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/ClientPlayNetworkHandlerMixin.java deleted file mode 100644 index 4061f5b16..000000000 --- a/libraries/networking-impl/networking-impl-mc14w21a-mc14w30c/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/ClientPlayNetworkHandlerMixin.java +++ /dev/null @@ -1,135 +0,0 @@ -package net.ornithemc.osl.networking.impl.mixin.client; - -import java.net.SocketAddress; -import java.util.LinkedHashSet; -import java.util.Set; - -import org.spongepowered.asm.mixin.Final; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -import org.spongepowered.asm.mixin.Unique; -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.Minecraft; -import net.minecraft.client.network.handler.ClientPlayNetworkHandler; -import net.minecraft.network.Connection; -import net.minecraft.network.packet.s2c.play.CustomPayloadS2CPacket; -import net.minecraft.network.packet.s2c.play.DisconnectS2CPacket; -import net.minecraft.server.integrated.IntegratedServer; -import net.minecraft.text.Text; - -import net.ornithemc.osl.core.api.util.NamespacedIdentifier; -import net.ornithemc.osl.networking.api.client.ClientConnectionEvents; -import net.ornithemc.osl.networking.impl.AddressParser; -import net.ornithemc.osl.networking.impl.HandshakePayload; -import net.ornithemc.osl.networking.impl.access.ClientNetworkHandlerAccess; -import net.ornithemc.osl.networking.impl.client.ClientConnectionContext; -import net.ornithemc.osl.networking.impl.client.ClientPlayNetworkingImpl; -import net.ornithemc.osl.text.api.TextComponents; - -@Mixin(ClientPlayNetworkHandler.class) -public class ClientPlayNetworkHandlerMixin implements ClientNetworkHandlerAccess { - - @Shadow @Final - private Minecraft minecraft; - @Shadow @Final - private Connection connection; - - @Unique - private ClientConnectionContext connectionContext; - /** - * Channels that the server is listening to. - */ - @Unique - private Set serverChannels; - - @Inject( - method = "*", - at = @At( - value = "TAIL" - ) - ) - private void osl$networking$initConnectionContext(CallbackInfo ci) { - if (minecraft.isIntegratedServerRunning()) { - IntegratedServer server = minecraft.getServer(); - String worldName = server.getWorldName(); - - connectionContext = new ClientConnectionContext(minecraft, worldName); - } else { - SocketAddress address = connection.getAddress(); - - String serverAddress = AddressParser.getAddress(address); - int serverPort = AddressParser.getPort(address); - - connectionContext = new ClientConnectionContext(minecraft, serverAddress, serverPort); - } - } - - @Inject( - method = "handleLogin", - at = @At( - value = "TAIL" - ) - ) - private void osl$networking$handleLogin(CallbackInfo ci) { - // send channel registration data as soon as login occurs - ClientPlayNetworkingImpl.sendNoCheck(HandshakePayload.CHANNEL, HandshakePayload.client()); - - ClientConnectionEvents.LOGIN.invoker().accept(connectionContext); - } - - @Inject( - method = "handleDisconnect", - at = @At( - value = "HEAD" - ) - ) - private void osl$networking$handleDisconnect(DisconnectS2CPacket packet, CallbackInfo ci) { - connectionContext.offerDisconnectReason(TextComponents.resolve(packet.getReason())); - } - - @Inject( - method = "onDisconnect", - at = @At( - value = "HEAD" - ) - ) - private void osl$networking$handleDisconnect(Text reason, CallbackInfo ci) { - connectionContext.offerDisconnectReason(TextComponents.resolve(reason)); - } - - @Inject( - method = "handleCustomPayload", - cancellable = true, - at = @At( - value = "HEAD" - ) - ) - private void osl$networking$handleCustomPayload(CustomPayloadS2CPacket packet, CallbackInfo ci) { - if (ClientPlayNetworkingImpl.handlePacket(minecraft, (ClientPlayNetworkHandler)(Object)this, packet)) { - ci.cancel(); - } - } - - @Override - public ClientConnectionContext osl$networking$connectionContext() { - return connectionContext; - } - - @Override - public boolean osl$networking$isPlayReady() { - return serverChannels != null; - } - - @Override - public boolean osl$networking$isPlayReady(NamespacedIdentifier channel) { - return serverChannels != null && serverChannels.contains(channel); - } - - @Override - public void osl$networking$registerChannels(Set channels) { - serverChannels = new LinkedHashSet<>(channels); - } -} diff --git a/libraries/networking-impl/networking-impl-mc14w21a-mc14w30c/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixin.java b/libraries/networking-impl/networking-impl-mc14w21a-mc14w30c/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixin.java deleted file mode 100644 index a53f875a5..000000000 --- a/libraries/networking-impl/networking-impl-mc14w21a-mc14w30c/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixin.java +++ /dev/null @@ -1,40 +0,0 @@ -package net.ornithemc.osl.networking.impl.mixin.client; - -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -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.Minecraft; -import net.minecraft.client.network.handler.ClientPlayNetworkHandler; -import net.minecraft.client.world.ClientWorld; - -import net.ornithemc.osl.networking.api.client.ClientConnectionEvents; -import net.ornithemc.osl.networking.impl.access.ClientNetworkHandlerAccess; -import net.ornithemc.osl.networking.impl.client.ClientConnectionContext; - -@Mixin(Minecraft.class) -public class MinecraftMixin { - - @Shadow - private ClientWorld world; - - @Shadow - private ClientPlayNetworkHandler getNetworkHandler() { return null; } - - @Inject( - method = "setWorld(Lnet/minecraft/client/world/ClientWorld;Ljava/lang/String;)V", - at = @At( - value = "HEAD" - ) - ) - private void osl$networking$disconnect(ClientWorld world, String title, CallbackInfo ci) { - if (this.world != null && world == null) { - ClientNetworkHandlerAccess networkHandler = (ClientNetworkHandlerAccess) getNetworkHandler(); - ClientConnectionContext connectionContext = networkHandler.osl$networking$connectionContext(); - - ClientConnectionEvents.DISCONNECT.invoker().accept(connectionContext); - } - } -} diff --git a/libraries/networking-impl/networking-impl-mc14w21a-mc14w30c/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadC2SPacketMixin.java b/libraries/networking-impl/networking-impl-mc14w21a-mc14w30c/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadC2SPacketMixin.java deleted file mode 100644 index 84dc5bdc0..000000000 --- a/libraries/networking-impl/networking-impl-mc14w21a-mc14w30c/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadC2SPacketMixin.java +++ /dev/null @@ -1,41 +0,0 @@ -package net.ornithemc.osl.networking.impl.mixin.common; - -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -import org.spongepowered.asm.mixin.injection.Constant; -import org.spongepowered.asm.mixin.injection.ModifyConstant; - -import net.minecraft.network.packet.c2s.play.CustomPayloadC2SPacket; - -import net.ornithemc.osl.core.api.util.NamespacedIdentifier; -import net.ornithemc.osl.networking.api.PacketBuffer; -import net.ornithemc.osl.networking.api.PacketBuffers; -import net.ornithemc.osl.networking.api.StringChannelIdentifierParser; -import net.ornithemc.osl.networking.impl.access.CustomPayloadPacketAccess; - -@Mixin(CustomPayloadC2SPacket.class) -public class CustomPayloadC2SPacketMixin implements CustomPayloadPacketAccess { - - @Shadow private String channel; - @Shadow private byte[] data; - - @ModifyConstant( - method = "read", - constant = @Constant( - intValue = 20 - ) - ) - private int osl$networking$modifyMaxChannelLength(int maxLength) { - return StringChannelIdentifierParser.MAX_LENGTH; - } - - @Override - public NamespacedIdentifier osl$networking$getChannel() { - return StringChannelIdentifierParser.fromString(channel); - } - - @Override - public PacketBuffer osl$networking$getData() { - return PacketBuffers.wrap(data); - } -} diff --git a/libraries/networking-impl/networking-impl-mc14w21a-mc14w30c/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadS2CPacketMixin.java b/libraries/networking-impl/networking-impl-mc14w21a-mc14w30c/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadS2CPacketMixin.java deleted file mode 100644 index f1730adf1..000000000 --- a/libraries/networking-impl/networking-impl-mc14w21a-mc14w30c/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadS2CPacketMixin.java +++ /dev/null @@ -1,41 +0,0 @@ -package net.ornithemc.osl.networking.impl.mixin.common; - -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -import org.spongepowered.asm.mixin.injection.Constant; -import org.spongepowered.asm.mixin.injection.ModifyConstant; - -import net.minecraft.network.packet.s2c.play.CustomPayloadS2CPacket; - -import net.ornithemc.osl.core.api.util.NamespacedIdentifier; -import net.ornithemc.osl.networking.api.PacketBuffer; -import net.ornithemc.osl.networking.api.PacketBuffers; -import net.ornithemc.osl.networking.api.StringChannelIdentifierParser; -import net.ornithemc.osl.networking.impl.access.CustomPayloadPacketAccess; - -@Mixin(CustomPayloadS2CPacket.class) -public class CustomPayloadS2CPacketMixin implements CustomPayloadPacketAccess { - - @Shadow private String channel; - @Shadow private byte[] data; - - @ModifyConstant( - method = "read", - constant = @Constant( - intValue = 20 - ) - ) - private int osl$networking$modifyMaxChannelLength(int maxLength) { - return StringChannelIdentifierParser.MAX_LENGTH; - } - - @Override - public NamespacedIdentifier osl$networking$getChannel() { - return StringChannelIdentifierParser.fromString(channel); - } - - @Override - public PacketBuffer osl$networking$getData() { - return PacketBuffers.wrap(data); - } -} diff --git a/libraries/networking-impl/networking-impl-mc14w21a-mc14w30c/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PlayerManagerMixin.java b/libraries/networking-impl/networking-impl-mc14w21a-mc14w30c/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PlayerManagerMixin.java deleted file mode 100644 index 463dde8b5..000000000 --- a/libraries/networking-impl/networking-impl-mc14w21a-mc14w30c/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PlayerManagerMixin.java +++ /dev/null @@ -1,59 +0,0 @@ -package net.ornithemc.osl.networking.impl.mixin.common; - -import java.util.List; - -import org.spongepowered.asm.mixin.Final; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; - -import com.llamalad7.mixinextras.sugar.Local; - -import net.minecraft.server.MinecraftServer; -import net.minecraft.server.PlayerManager; -import net.minecraft.server.entity.living.player.ServerPlayerEntity; - -import net.ornithemc.osl.networking.api.server.ServerConnectionEvents; -import net.ornithemc.osl.networking.impl.access.PlayerManagerAccess; -import net.ornithemc.osl.networking.impl.access.ServerNetworkHandlerAccess; -import net.ornithemc.osl.networking.impl.server.ServerConnectionContext; - -@Mixin(PlayerManager.class) -public class PlayerManagerMixin implements PlayerManagerAccess { - - @Shadow @Final private MinecraftServer server; - @Shadow @Final private List players; - - @Inject( - method = "onLogin", - at = @At( - value = "TAIL" - ) - ) - private void osl$networking$handleLogin(CallbackInfo ci, @Local ServerPlayerEntity player) { - ServerNetworkHandlerAccess networkHandler = (ServerNetworkHandlerAccess) player.networkHandler; - ServerConnectionContext connectionContext = networkHandler.osl$networking$connectionContext(); - - ServerConnectionEvents.LOGIN.invoker().accept(connectionContext); - } - - @Inject( - method = "remove", - at = @At( - value = "HEAD" - ) - ) - private void osl$networking$handleDisconnect(CallbackInfo ci, @Local ServerPlayerEntity player) { - ServerNetworkHandlerAccess networkHandler = (ServerNetworkHandlerAccess) player.networkHandler; - ServerConnectionContext connectionContext = networkHandler.osl$networking$connectionContext(); - - ServerConnectionEvents.DISCONNECT.invoker().accept(connectionContext); - } - - @Override - public List osl$networking$getAll() { - return players; - } -} diff --git a/libraries/networking-impl/networking-impl-mc14w21a-mc14w30c/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ServerPlayNetworkHandlerMixin.java b/libraries/networking-impl/networking-impl-mc14w21a-mc14w30c/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ServerPlayNetworkHandlerMixin.java deleted file mode 100644 index 270f4b80b..000000000 --- a/libraries/networking-impl/networking-impl-mc14w21a-mc14w30c/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ServerPlayNetworkHandlerMixin.java +++ /dev/null @@ -1,95 +0,0 @@ -package net.ornithemc.osl.networking.impl.mixin.common; - -import java.util.LinkedHashSet; -import java.util.Set; - -import org.spongepowered.asm.mixin.Final; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -import org.spongepowered.asm.mixin.Unique; -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.network.packet.c2s.play.CustomPayloadC2SPacket; -import net.minecraft.server.MinecraftServer; -import net.minecraft.server.entity.living.player.ServerPlayerEntity; -import net.minecraft.server.network.handler.ServerPlayNetworkHandler; -import net.minecraft.text.Text; - -import net.ornithemc.osl.core.api.util.NamespacedIdentifier; -import net.ornithemc.osl.networking.impl.access.ServerNetworkHandlerAccess; -import net.ornithemc.osl.networking.impl.server.ServerConnectionContext; -import net.ornithemc.osl.networking.impl.server.ServerPlayNetworkingImpl; -import net.ornithemc.osl.text.api.TextComponents; - -@Mixin(ServerPlayNetworkHandler.class) -public class ServerPlayNetworkHandlerMixin implements ServerNetworkHandlerAccess { - - @Shadow @Final - private MinecraftServer server; - - @Shadow - private ServerPlayerEntity player; - - @Unique - private ServerConnectionContext connectionContext; - /** - * Channels that the client is listening to. - */ - @Unique - private Set clientChannels; - - @Inject( - method = "", - at = @At( - value = "TAIL" - ) - ) - private void osl$networking$initConnectionContext(CallbackInfo ci) { - connectionContext = new ServerConnectionContext(server, (ServerPlayNetworkHandler) (Object) this); - } - - @Inject( - method = "onDisconnect", - at = @At( - value = "HEAD" - ) - ) - private void osl$networking$handleDisconnect(Text reason, CallbackInfo ci) { - connectionContext.offerDisconnectReason(TextComponents.resolve(reason)); - } - - @Inject( - method = "handleCustomPayload", - cancellable = true, - at = @At( - value = "HEAD" - ) - ) - private void osl$networking$handleCustomPayload(CustomPayloadC2SPacket packet, CallbackInfo ci) { - if (ServerPlayNetworkingImpl.handlePacket(server, (ServerPlayNetworkHandler)(Object)this, player, packet)) { - ci.cancel(); - } - } - - @Override - public ServerConnectionContext osl$networking$connectionContext() { - return connectionContext; - } - - @Override - public boolean osl$networking$isPlayReady() { - return clientChannels != null; - } - - @Override - public boolean osl$networking$isPlayReady(NamespacedIdentifier channel) { - return clientChannels != null && clientChannels.contains(channel); - } - - @Override - public void osl$networking$registerChannels(Set channels) { - clientChannels = new LinkedHashSet<>(channels); - } -} diff --git a/libraries/networking-impl/networking-impl-mc14w21a-mc14w30c/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/MinecraftServerMixin.java b/libraries/networking-impl/networking-impl-mc14w21a-mc14w30c/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/MinecraftServerMixin.java deleted file mode 100644 index cc6cfb489..000000000 --- a/libraries/networking-impl/networking-impl-mc14w21a-mc14w30c/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/MinecraftServerMixin.java +++ /dev/null @@ -1,42 +0,0 @@ -package net.ornithemc.osl.networking.impl.mixin.server; - -import java.util.List; - -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -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.server.MinecraftServer; -import net.minecraft.server.PlayerManager; -import net.minecraft.server.entity.living.player.ServerPlayerEntity; - -import net.ornithemc.osl.networking.api.server.ServerConnectionEvents; -import net.ornithemc.osl.networking.impl.access.ServerNetworkHandlerAccess; -import net.ornithemc.osl.networking.impl.server.ServerConnectionContext; - -@Mixin(MinecraftServer.class) -public class MinecraftServerMixin { - - @Shadow - private PlayerManager playerManager; - - @Inject( - method = "stop", - at = @At( - value = "TAIL" - ) - ) - private void osl$networking$stop(CallbackInfo ci) { - @SuppressWarnings("unchecked") - List players = (List) this.playerManager.players; - - for (ServerPlayerEntity player : players) { - ServerNetworkHandlerAccess networkHandler = (ServerNetworkHandlerAccess) player.networkHandler; - ServerConnectionContext connectionContext = networkHandler.osl$networking$connectionContext(); - - ServerConnectionEvents.DISCONNECT.invoker().accept(connectionContext); - } - } -} diff --git a/libraries/networking-impl/networking-impl-mc14w21a-mc14w30c/src/main/resources/fabric.mod.json b/libraries/networking-impl/networking-impl-mc14w21a-mc14w30c/src/main/resources/fabric.mod.json deleted file mode 100644 index fc3f8ad67..000000000 --- a/libraries/networking-impl/networking-impl-mc14w21a-mc14w30c/src/main/resources/fabric.mod.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "schemaVersion": 1, - "id": "osl-networking-impl", - "version": "0.3.0+mc14w21a-mc14w30c", - "environment": "*", - "entrypoints": { - "init": [ - "net.ornithemc.osl.networking.impl.Networking" - ], - "client-init": [ - "net.ornithemc.osl.networking.impl.Networking" - ], - "server-init": [ - "net.ornithemc.osl.networking.impl.Networking" - ] - }, - "mixins": [ - "osl.networking-impl.mixins.json" - ], - "depends": { - "fabricloader": "\u003e\u003d0.18.0", - "minecraft": "\u003e\u003d1.8-alpha.14.21.a \u003c\u003d1.8-alpha.14.30.c", - "osl-core": "\u003e\u003d0.7.0", - "osl-entrypoints": "\u003e\u003d0.5.0", - "osl-lifecycle-events": "\u003e\u003d0.6.0", - "osl-text-components": "\u003e\u003d0.1.0", - "osl-executors": "\u003e\u003d0.1.0", - "osl-networking": "\u003e\u003d0.12.0" - }, - "name": "OSL Networking Implementation", - "description": "Implementation details of the Networking API.", - "authors": [ - "OrnitheMC" - ], - "contact": { - "homepage": "https://ornithemc.net/", - "issues": "https://github.com/OrnitheMC/ornithe-standard-libraries/issues", - "sources": "https://github.com/OrnitheMC/ornithe-standard-libraries" - }, - "license": "Apache-2.0" -} \ No newline at end of file diff --git a/libraries/networking-impl/networking-impl-mc14w21a-mc14w30c/src/main/resources/osl.networking-impl.mixins.json b/libraries/networking-impl/networking-impl-mc14w21a-mc14w30c/src/main/resources/osl.networking-impl.mixins.json deleted file mode 100644 index 4c0a97f4c..000000000 --- a/libraries/networking-impl/networking-impl-mc14w21a-mc14w30c/src/main/resources/osl.networking-impl.mixins.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "required": true, - "minVersion": "0.8", - "package": "net.ornithemc.osl.networking.impl.mixin", - "compatibilityLevel": "JAVA_8", - "mixins": [ - "common.CustomPayloadC2SPacketMixin", - "common.CustomPayloadS2CPacketMixin", - "common.PlayerManagerMixin", - "common.ServerPlayNetworkHandlerMixin" - ], - "client": [ - "client.ClientPlayNetworkHandlerMixin", - "client.MinecraftMixin" - ], - "server": [ - "server.MinecraftServerMixin" - ], - "injectors": { - "defaultRequire": 1 - } -} diff --git a/libraries/networking-impl/networking-impl-mc14w31a-mc1.13-pre2/build.gradle b/libraries/networking-impl/networking-impl-mc14w31a-mc1.13-pre2/build.gradle deleted file mode 100644 index 0a350fdb3..000000000 --- a/libraries/networking-impl/networking-impl-mc14w31a-mc1.13-pre2/build.gradle +++ /dev/null @@ -1 +0,0 @@ -setUpModule(project) diff --git a/libraries/networking-impl/networking-impl-mc14w31a-mc1.13-pre2/gradle.properties b/libraries/networking-impl/networking-impl-mc14w31a-mc1.13-pre2/gradle.properties deleted file mode 100644 index 5dd4e3b3a..000000000 --- a/libraries/networking-impl/networking-impl-mc14w31a-mc1.13-pre2/gradle.properties +++ /dev/null @@ -1,4 +0,0 @@ -min_mc_version = 14w31a -max_mc_version = 1.13-pre2 - -minecraft_version = 1.13-pre2 diff --git a/libraries/networking-impl/networking-impl-mc14w31a-mc1.13-pre2/src/main/java/net/ornithemc/osl/networking/impl/Networking.java b/libraries/networking-impl/networking-impl-mc14w31a-mc1.13-pre2/src/main/java/net/ornithemc/osl/networking/impl/Networking.java deleted file mode 100644 index 3aea1c461..000000000 --- a/libraries/networking-impl/networking-impl-mc14w31a-mc1.13-pre2/src/main/java/net/ornithemc/osl/networking/impl/Networking.java +++ /dev/null @@ -1,61 +0,0 @@ -package net.ornithemc.osl.networking.impl; - -import net.minecraft.network.packet.c2s.play.CustomPayloadC2SPacket; -import net.minecraft.network.packet.s2c.play.CustomPayloadS2CPacket; - -import net.ornithemc.osl.entrypoints.api.ModInitializer; -import net.ornithemc.osl.entrypoints.api.client.ClientModInitializer; -import net.ornithemc.osl.entrypoints.api.server.ServerModInitializer; -import net.ornithemc.osl.lifecycle.api.client.MinecraftClientEvents; -import net.ornithemc.osl.lifecycle.api.server.MinecraftServerEvents; -import net.ornithemc.osl.networking.api.PacketBuffers; -import net.ornithemc.osl.networking.api.StringChannelIdentifierParser; -import net.ornithemc.osl.networking.api.client.ClientConnectionEvents; -import net.ornithemc.osl.networking.api.server.ServerConnectionEvents; -import net.ornithemc.osl.networking.impl.access.ClientNetworkHandlerAccess; -import net.ornithemc.osl.networking.impl.access.ServerNetworkHandlerAccess; -import net.ornithemc.osl.networking.impl.client.ClientConnectionContext; -import net.ornithemc.osl.networking.impl.client.ClientPlayNetworkingImpl; -import net.ornithemc.osl.networking.impl.server.ServerConnectionContext; -import net.ornithemc.osl.networking.impl.server.ServerPlayNetworkingImpl; - -public class Networking implements ModInitializer, ClientModInitializer, ServerModInitializer { - - @Override - public void init() { - MinecraftServerEvents.START.register(ServerPlayNetworkingImpl::setUp); - MinecraftServerEvents.STOP.register(ServerPlayNetworkingImpl::destroy); - ServerPlayNetworkingImpl.setUpPacketFactory((channel, data) -> - new CustomPayloadS2CPacket(StringChannelIdentifierParser.toString(channel), PacketBuffers.unwrapped(data))); - ServerPlayNetworkingImpl.registerListener(HandshakePayload.CHANNEL, HandshakePayload::new, (context, payload) -> { - // send channel registration data as a response to receiving client channel registration data - ServerPlayNetworkingImpl.sendNoCheck(context.player(), HandshakePayload.CHANNEL, HandshakePayload.server()); - - ServerNetworkHandlerAccess networkHandler = (ServerNetworkHandlerAccess) context.networkHandler(); - ServerConnectionContext connectionContext = networkHandler.osl$networking$connectionContext(); - - networkHandler.osl$networking$registerChannels(payload.channels); - ServerConnectionEvents.PLAY_READY.invoker().accept(connectionContext); - }); - } - - @Override - public void initClient() { - MinecraftClientEvents.START.register(ClientPlayNetworkingImpl::setUp); - MinecraftClientEvents.STOP.register(ClientPlayNetworkingImpl::destroy); - ClientPlayNetworkingImpl.setUpPacketFactory((channel, data) -> - new CustomPayloadC2SPacket(StringChannelIdentifierParser.toString(channel), PacketBuffers.unwrapped(data))); - ClientPlayNetworkingImpl.registerListener(HandshakePayload.CHANNEL, HandshakePayload::new, (context, payload) -> { - ClientNetworkHandlerAccess networkHandler = (ClientNetworkHandlerAccess) context.networkHandler(); - ClientConnectionContext connectionContext = networkHandler.osl$networking$connectionContext(); - - networkHandler.osl$networking$registerChannels(payload.channels); - ClientConnectionEvents.PLAY_READY.invoker().accept(connectionContext); - }); - } - - @Override - public void initServer() { - // no-op - } -} diff --git a/libraries/networking-impl/networking-impl-mc14w31a-mc1.13-pre2/src/main/java/net/ornithemc/osl/networking/impl/access/ClientNetworkHandlerAccess.java b/libraries/networking-impl/networking-impl-mc14w31a-mc1.13-pre2/src/main/java/net/ornithemc/osl/networking/impl/access/ClientNetworkHandlerAccess.java deleted file mode 100644 index e067a1831..000000000 --- a/libraries/networking-impl/networking-impl-mc14w31a-mc1.13-pre2/src/main/java/net/ornithemc/osl/networking/impl/access/ClientNetworkHandlerAccess.java +++ /dev/null @@ -1,9 +0,0 @@ -package net.ornithemc.osl.networking.impl.access; - -import net.ornithemc.osl.networking.impl.client.ClientConnectionContext; - -public interface ClientNetworkHandlerAccess extends NetworkHandlerAccess { - - ClientConnectionContext osl$networking$connectionContext(); - -} diff --git a/libraries/networking-impl/networking-impl-mc14w31a-mc1.13-pre2/src/main/java/net/ornithemc/osl/networking/impl/access/ServerNetworkHandlerAccess.java b/libraries/networking-impl/networking-impl-mc14w31a-mc1.13-pre2/src/main/java/net/ornithemc/osl/networking/impl/access/ServerNetworkHandlerAccess.java deleted file mode 100644 index 1d596400b..000000000 --- a/libraries/networking-impl/networking-impl-mc14w31a-mc1.13-pre2/src/main/java/net/ornithemc/osl/networking/impl/access/ServerNetworkHandlerAccess.java +++ /dev/null @@ -1,9 +0,0 @@ -package net.ornithemc.osl.networking.impl.access; - -import net.ornithemc.osl.networking.impl.server.ServerConnectionContext; - -public interface ServerNetworkHandlerAccess extends NetworkHandlerAccess { - - ServerConnectionContext osl$networking$connectionContext(); - -} diff --git a/libraries/networking-impl/networking-impl-mc14w31a-mc1.13-pre2/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/ClientPlayNetworkHandlerMixin.java b/libraries/networking-impl/networking-impl-mc14w31a-mc1.13-pre2/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/ClientPlayNetworkHandlerMixin.java deleted file mode 100644 index 4061f5b16..000000000 --- a/libraries/networking-impl/networking-impl-mc14w31a-mc1.13-pre2/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/ClientPlayNetworkHandlerMixin.java +++ /dev/null @@ -1,135 +0,0 @@ -package net.ornithemc.osl.networking.impl.mixin.client; - -import java.net.SocketAddress; -import java.util.LinkedHashSet; -import java.util.Set; - -import org.spongepowered.asm.mixin.Final; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -import org.spongepowered.asm.mixin.Unique; -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.Minecraft; -import net.minecraft.client.network.handler.ClientPlayNetworkHandler; -import net.minecraft.network.Connection; -import net.minecraft.network.packet.s2c.play.CustomPayloadS2CPacket; -import net.minecraft.network.packet.s2c.play.DisconnectS2CPacket; -import net.minecraft.server.integrated.IntegratedServer; -import net.minecraft.text.Text; - -import net.ornithemc.osl.core.api.util.NamespacedIdentifier; -import net.ornithemc.osl.networking.api.client.ClientConnectionEvents; -import net.ornithemc.osl.networking.impl.AddressParser; -import net.ornithemc.osl.networking.impl.HandshakePayload; -import net.ornithemc.osl.networking.impl.access.ClientNetworkHandlerAccess; -import net.ornithemc.osl.networking.impl.client.ClientConnectionContext; -import net.ornithemc.osl.networking.impl.client.ClientPlayNetworkingImpl; -import net.ornithemc.osl.text.api.TextComponents; - -@Mixin(ClientPlayNetworkHandler.class) -public class ClientPlayNetworkHandlerMixin implements ClientNetworkHandlerAccess { - - @Shadow @Final - private Minecraft minecraft; - @Shadow @Final - private Connection connection; - - @Unique - private ClientConnectionContext connectionContext; - /** - * Channels that the server is listening to. - */ - @Unique - private Set serverChannels; - - @Inject( - method = "*", - at = @At( - value = "TAIL" - ) - ) - private void osl$networking$initConnectionContext(CallbackInfo ci) { - if (minecraft.isIntegratedServerRunning()) { - IntegratedServer server = minecraft.getServer(); - String worldName = server.getWorldName(); - - connectionContext = new ClientConnectionContext(minecraft, worldName); - } else { - SocketAddress address = connection.getAddress(); - - String serverAddress = AddressParser.getAddress(address); - int serverPort = AddressParser.getPort(address); - - connectionContext = new ClientConnectionContext(minecraft, serverAddress, serverPort); - } - } - - @Inject( - method = "handleLogin", - at = @At( - value = "TAIL" - ) - ) - private void osl$networking$handleLogin(CallbackInfo ci) { - // send channel registration data as soon as login occurs - ClientPlayNetworkingImpl.sendNoCheck(HandshakePayload.CHANNEL, HandshakePayload.client()); - - ClientConnectionEvents.LOGIN.invoker().accept(connectionContext); - } - - @Inject( - method = "handleDisconnect", - at = @At( - value = "HEAD" - ) - ) - private void osl$networking$handleDisconnect(DisconnectS2CPacket packet, CallbackInfo ci) { - connectionContext.offerDisconnectReason(TextComponents.resolve(packet.getReason())); - } - - @Inject( - method = "onDisconnect", - at = @At( - value = "HEAD" - ) - ) - private void osl$networking$handleDisconnect(Text reason, CallbackInfo ci) { - connectionContext.offerDisconnectReason(TextComponents.resolve(reason)); - } - - @Inject( - method = "handleCustomPayload", - cancellable = true, - at = @At( - value = "HEAD" - ) - ) - private void osl$networking$handleCustomPayload(CustomPayloadS2CPacket packet, CallbackInfo ci) { - if (ClientPlayNetworkingImpl.handlePacket(minecraft, (ClientPlayNetworkHandler)(Object)this, packet)) { - ci.cancel(); - } - } - - @Override - public ClientConnectionContext osl$networking$connectionContext() { - return connectionContext; - } - - @Override - public boolean osl$networking$isPlayReady() { - return serverChannels != null; - } - - @Override - public boolean osl$networking$isPlayReady(NamespacedIdentifier channel) { - return serverChannels != null && serverChannels.contains(channel); - } - - @Override - public void osl$networking$registerChannels(Set channels) { - serverChannels = new LinkedHashSet<>(channels); - } -} diff --git a/libraries/networking-impl/networking-impl-mc14w31a-mc1.13-pre2/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PlayerManagerMixin.java b/libraries/networking-impl/networking-impl-mc14w31a-mc1.13-pre2/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PlayerManagerMixin.java deleted file mode 100644 index 463dde8b5..000000000 --- a/libraries/networking-impl/networking-impl-mc14w31a-mc1.13-pre2/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PlayerManagerMixin.java +++ /dev/null @@ -1,59 +0,0 @@ -package net.ornithemc.osl.networking.impl.mixin.common; - -import java.util.List; - -import org.spongepowered.asm.mixin.Final; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; - -import com.llamalad7.mixinextras.sugar.Local; - -import net.minecraft.server.MinecraftServer; -import net.minecraft.server.PlayerManager; -import net.minecraft.server.entity.living.player.ServerPlayerEntity; - -import net.ornithemc.osl.networking.api.server.ServerConnectionEvents; -import net.ornithemc.osl.networking.impl.access.PlayerManagerAccess; -import net.ornithemc.osl.networking.impl.access.ServerNetworkHandlerAccess; -import net.ornithemc.osl.networking.impl.server.ServerConnectionContext; - -@Mixin(PlayerManager.class) -public class PlayerManagerMixin implements PlayerManagerAccess { - - @Shadow @Final private MinecraftServer server; - @Shadow @Final private List players; - - @Inject( - method = "onLogin", - at = @At( - value = "TAIL" - ) - ) - private void osl$networking$handleLogin(CallbackInfo ci, @Local ServerPlayerEntity player) { - ServerNetworkHandlerAccess networkHandler = (ServerNetworkHandlerAccess) player.networkHandler; - ServerConnectionContext connectionContext = networkHandler.osl$networking$connectionContext(); - - ServerConnectionEvents.LOGIN.invoker().accept(connectionContext); - } - - @Inject( - method = "remove", - at = @At( - value = "HEAD" - ) - ) - private void osl$networking$handleDisconnect(CallbackInfo ci, @Local ServerPlayerEntity player) { - ServerNetworkHandlerAccess networkHandler = (ServerNetworkHandlerAccess) player.networkHandler; - ServerConnectionContext connectionContext = networkHandler.osl$networking$connectionContext(); - - ServerConnectionEvents.DISCONNECT.invoker().accept(connectionContext); - } - - @Override - public List osl$networking$getAll() { - return players; - } -} diff --git a/libraries/networking-impl/networking-impl-mc14w31a-mc1.13-pre2/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ServerPlayNetworkHandlerMixin.java b/libraries/networking-impl/networking-impl-mc14w31a-mc1.13-pre2/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ServerPlayNetworkHandlerMixin.java deleted file mode 100644 index 270f4b80b..000000000 --- a/libraries/networking-impl/networking-impl-mc14w31a-mc1.13-pre2/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ServerPlayNetworkHandlerMixin.java +++ /dev/null @@ -1,95 +0,0 @@ -package net.ornithemc.osl.networking.impl.mixin.common; - -import java.util.LinkedHashSet; -import java.util.Set; - -import org.spongepowered.asm.mixin.Final; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -import org.spongepowered.asm.mixin.Unique; -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.network.packet.c2s.play.CustomPayloadC2SPacket; -import net.minecraft.server.MinecraftServer; -import net.minecraft.server.entity.living.player.ServerPlayerEntity; -import net.minecraft.server.network.handler.ServerPlayNetworkHandler; -import net.minecraft.text.Text; - -import net.ornithemc.osl.core.api.util.NamespacedIdentifier; -import net.ornithemc.osl.networking.impl.access.ServerNetworkHandlerAccess; -import net.ornithemc.osl.networking.impl.server.ServerConnectionContext; -import net.ornithemc.osl.networking.impl.server.ServerPlayNetworkingImpl; -import net.ornithemc.osl.text.api.TextComponents; - -@Mixin(ServerPlayNetworkHandler.class) -public class ServerPlayNetworkHandlerMixin implements ServerNetworkHandlerAccess { - - @Shadow @Final - private MinecraftServer server; - - @Shadow - private ServerPlayerEntity player; - - @Unique - private ServerConnectionContext connectionContext; - /** - * Channels that the client is listening to. - */ - @Unique - private Set clientChannels; - - @Inject( - method = "", - at = @At( - value = "TAIL" - ) - ) - private void osl$networking$initConnectionContext(CallbackInfo ci) { - connectionContext = new ServerConnectionContext(server, (ServerPlayNetworkHandler) (Object) this); - } - - @Inject( - method = "onDisconnect", - at = @At( - value = "HEAD" - ) - ) - private void osl$networking$handleDisconnect(Text reason, CallbackInfo ci) { - connectionContext.offerDisconnectReason(TextComponents.resolve(reason)); - } - - @Inject( - method = "handleCustomPayload", - cancellable = true, - at = @At( - value = "HEAD" - ) - ) - private void osl$networking$handleCustomPayload(CustomPayloadC2SPacket packet, CallbackInfo ci) { - if (ServerPlayNetworkingImpl.handlePacket(server, (ServerPlayNetworkHandler)(Object)this, player, packet)) { - ci.cancel(); - } - } - - @Override - public ServerConnectionContext osl$networking$connectionContext() { - return connectionContext; - } - - @Override - public boolean osl$networking$isPlayReady() { - return clientChannels != null; - } - - @Override - public boolean osl$networking$isPlayReady(NamespacedIdentifier channel) { - return clientChannels != null && clientChannels.contains(channel); - } - - @Override - public void osl$networking$registerChannels(Set channels) { - clientChannels = new LinkedHashSet<>(channels); - } -} diff --git a/libraries/networking-impl/networking-impl-mc14w31a-mc1.13-pre2/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/MinecraftServerMixin.java b/libraries/networking-impl/networking-impl-mc14w31a-mc1.13-pre2/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/MinecraftServerMixin.java deleted file mode 100644 index 3c389c76d..000000000 --- a/libraries/networking-impl/networking-impl-mc14w31a-mc1.13-pre2/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/MinecraftServerMixin.java +++ /dev/null @@ -1,42 +0,0 @@ -package net.ornithemc.osl.networking.impl.mixin.server; - -import java.util.List; - -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -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.server.MinecraftServer; -import net.minecraft.server.PlayerManager; -import net.minecraft.server.entity.living.player.ServerPlayerEntity; - -import net.ornithemc.osl.networking.api.server.ServerConnectionEvents; -import net.ornithemc.osl.networking.impl.access.PlayerManagerAccess; -import net.ornithemc.osl.networking.impl.access.ServerNetworkHandlerAccess; -import net.ornithemc.osl.networking.impl.server.ServerConnectionContext; - -@Mixin(MinecraftServer.class) -public class MinecraftServerMixin { - - @Shadow - private PlayerManager playerManager; - - @Inject( - method = "stop", - at = @At( - value = "TAIL" - ) - ) - private void osl$networking$stop(CallbackInfo ci) { - List players = ((PlayerManagerAccess) this.playerManager).osl$networking$getAll(); - - for (ServerPlayerEntity player : players) { - ServerNetworkHandlerAccess networkHandler = (ServerNetworkHandlerAccess) player.networkHandler; - ServerConnectionContext connectionContext = networkHandler.osl$networking$connectionContext(); - - ServerConnectionEvents.DISCONNECT.invoker().accept(connectionContext); - } - } -} diff --git a/libraries/networking-impl/networking-impl-mc14w31a-mc1.13-pre2/src/main/resources/fabric.mod.json b/libraries/networking-impl/networking-impl-mc14w31a-mc1.13-pre2/src/main/resources/fabric.mod.json deleted file mode 100644 index bec11af42..000000000 --- a/libraries/networking-impl/networking-impl-mc14w31a-mc1.13-pre2/src/main/resources/fabric.mod.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "schemaVersion": 1, - "id": "osl-networking-impl", - "version": "0.3.0+mc14w31a-mc1.13-pre2", - "environment": "*", - "entrypoints": { - "init": [ - "net.ornithemc.osl.networking.impl.Networking" - ], - "client-init": [ - "net.ornithemc.osl.networking.impl.Networking" - ], - "server-init": [ - "net.ornithemc.osl.networking.impl.Networking" - ] - }, - "mixins": [ - "osl.networking-impl.mixins.json" - ], - "depends": { - "fabricloader": "\u003e\u003d0.18.0", - "minecraft": "\u003e\u003d1.8-alpha.14.31.a \u003c\u003d1.13-rc.2", - "osl-core": "\u003e\u003d0.7.0", - "osl-entrypoints": "\u003e\u003d0.5.0", - "osl-lifecycle-events": "\u003e\u003d0.6.0", - "osl-text-components": "\u003e\u003d0.1.0", - "osl-executors": "\u003e\u003d0.1.0", - "osl-networking": "\u003e\u003d0.12.0" - }, - "name": "OSL Networking Implementation", - "description": "Implementation details of the Networking API.", - "authors": [ - "OrnitheMC" - ], - "contact": { - "homepage": "https://ornithemc.net/", - "issues": "https://github.com/OrnitheMC/ornithe-standard-libraries/issues", - "sources": "https://github.com/OrnitheMC/ornithe-standard-libraries" - }, - "license": "Apache-2.0" -} \ No newline at end of file diff --git a/libraries/networking-impl/networking-impl-mc14w31a-mc1.13-pre2/src/main/resources/osl.networking-impl.mixins.json b/libraries/networking-impl/networking-impl-mc14w31a-mc1.13-pre2/src/main/resources/osl.networking-impl.mixins.json deleted file mode 100644 index 00a7ab216..000000000 --- a/libraries/networking-impl/networking-impl-mc14w31a-mc1.13-pre2/src/main/resources/osl.networking-impl.mixins.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "required": true, - "minVersion": "0.8", - "package": "net.ornithemc.osl.networking.impl.mixin", - "compatibilityLevel": "JAVA_8", - "plugin": "net.ornithemc.conditionalmixin.mixin.ConditionalMixinPlugin", - "mixins": [ - "common.CustomPayloadC2SPacketMixin", - "common.CustomPayloadS2CPacketMixin", - "common.PlayerManagerMixin", - "common.ServerPlayNetworkHandlerMixin" - ], - "client": [ - "client.ClientPlayNetworkHandlerMixin", - "client.MinecraftMixin" - ], - "server": [ - "server.MinecraftServerMixin" - ], - "injectors": { - "defaultRequire": 1 - } -} diff --git a/libraries/networking-impl/networking-impl-mc18w43a-mc1.14.4/build.gradle b/libraries/networking-impl/networking-impl-mc18w43a-mc1.14.4/build.gradle deleted file mode 100644 index 0a350fdb3..000000000 --- a/libraries/networking-impl/networking-impl-mc18w43a-mc1.14.4/build.gradle +++ /dev/null @@ -1 +0,0 @@ -setUpModule(project) diff --git a/libraries/networking-impl/networking-impl-mc18w43a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/Networking.java b/libraries/networking-impl/networking-impl-mc18w43a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/Networking.java deleted file mode 100644 index 9bc0ddf8f..000000000 --- a/libraries/networking-impl/networking-impl-mc18w43a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/Networking.java +++ /dev/null @@ -1,61 +0,0 @@ -package net.ornithemc.osl.networking.impl; - -import net.minecraft.network.packet.c2s.play.CustomPayloadC2SPacket; -import net.minecraft.network.packet.s2c.play.CustomPayloadS2CPacket; - -import net.ornithemc.osl.entrypoints.api.ModInitializer; -import net.ornithemc.osl.entrypoints.api.client.ClientModInitializer; -import net.ornithemc.osl.entrypoints.api.server.ServerModInitializer; -import net.ornithemc.osl.lifecycle.api.client.MinecraftClientEvents; -import net.ornithemc.osl.lifecycle.api.server.MinecraftServerEvents; -import net.ornithemc.osl.networking.api.IdentifierChannelIdentifierParser; -import net.ornithemc.osl.networking.api.PacketBuffers; -import net.ornithemc.osl.networking.api.client.ClientConnectionEvents; -import net.ornithemc.osl.networking.api.server.ServerConnectionEvents; -import net.ornithemc.osl.networking.impl.access.ClientNetworkHandlerAccess; -import net.ornithemc.osl.networking.impl.access.ServerNetworkHandlerAccess; -import net.ornithemc.osl.networking.impl.client.ClientConnectionContext; -import net.ornithemc.osl.networking.impl.client.ClientPlayNetworkingImpl; -import net.ornithemc.osl.networking.impl.server.ServerConnectionContext; -import net.ornithemc.osl.networking.impl.server.ServerPlayNetworkingImpl; - -public class Networking implements ModInitializer, ClientModInitializer, ServerModInitializer { - - @Override - public void init() { - MinecraftServerEvents.START.register(ServerPlayNetworkingImpl::setUp); - MinecraftServerEvents.STOP.register(ServerPlayNetworkingImpl::destroy); - ServerPlayNetworkingImpl.setUpPacketFactory((channel, data) -> - new CustomPayloadS2CPacket(IdentifierChannelIdentifierParser.toIdentifier(channel), PacketBuffers.unwrapped(data))); - ServerPlayNetworkingImpl.registerListener(HandshakePayload.CHANNEL, HandshakePayload::new, (context, payload) -> { - // send channel registration data as a response to receiving client channel registration data - ServerPlayNetworkingImpl.sendNoCheck(context.player(), HandshakePayload.CHANNEL, HandshakePayload.server()); - - ServerNetworkHandlerAccess networkHandler = (ServerNetworkHandlerAccess) context.networkHandler(); - ServerConnectionContext connectionContext = networkHandler.osl$networking$connectionContext(); - - networkHandler.osl$networking$registerChannels(payload.channels); - ServerConnectionEvents.PLAY_READY.invoker().accept(connectionContext); - }); - } - - @Override - public void initClient() { - MinecraftClientEvents.START.register(ClientPlayNetworkingImpl::setUp); - MinecraftClientEvents.STOP.register(ClientPlayNetworkingImpl::destroy); - ClientPlayNetworkingImpl.setUpPacketFactory((channel, data) -> - new CustomPayloadC2SPacket(IdentifierChannelIdentifierParser.toIdentifier(channel), PacketBuffers.unwrapped(data))); - ClientPlayNetworkingImpl.registerListener(HandshakePayload.CHANNEL, HandshakePayload::new, (context, payload) -> { - ClientNetworkHandlerAccess networkHandler = (ClientNetworkHandlerAccess) context.networkHandler(); - ClientConnectionContext connectionContext = networkHandler.osl$networking$connectionContext(); - - networkHandler.osl$networking$registerChannels(payload.channels); - ClientConnectionEvents.PLAY_READY.invoker().accept(connectionContext); - }); - } - - @Override - public void initServer() { - // no-op - } -} diff --git a/libraries/networking-impl/networking-impl-mc18w43a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/access/ClientNetworkHandlerAccess.java b/libraries/networking-impl/networking-impl-mc18w43a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/access/ClientNetworkHandlerAccess.java deleted file mode 100644 index e067a1831..000000000 --- a/libraries/networking-impl/networking-impl-mc18w43a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/access/ClientNetworkHandlerAccess.java +++ /dev/null @@ -1,9 +0,0 @@ -package net.ornithemc.osl.networking.impl.access; - -import net.ornithemc.osl.networking.impl.client.ClientConnectionContext; - -public interface ClientNetworkHandlerAccess extends NetworkHandlerAccess { - - ClientConnectionContext osl$networking$connectionContext(); - -} diff --git a/libraries/networking-impl/networking-impl-mc18w43a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/access/ServerNetworkHandlerAccess.java b/libraries/networking-impl/networking-impl-mc18w43a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/access/ServerNetworkHandlerAccess.java deleted file mode 100644 index 1d596400b..000000000 --- a/libraries/networking-impl/networking-impl-mc18w43a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/access/ServerNetworkHandlerAccess.java +++ /dev/null @@ -1,9 +0,0 @@ -package net.ornithemc.osl.networking.impl.access; - -import net.ornithemc.osl.networking.impl.server.ServerConnectionContext; - -public interface ServerNetworkHandlerAccess extends NetworkHandlerAccess { - - ServerConnectionContext osl$networking$connectionContext(); - -} diff --git a/libraries/networking-impl/networking-impl-mc18w43a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/ClientPlayNetworkHandlerMixin.java b/libraries/networking-impl/networking-impl-mc18w43a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/ClientPlayNetworkHandlerMixin.java deleted file mode 100644 index 4061f5b16..000000000 --- a/libraries/networking-impl/networking-impl-mc18w43a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/ClientPlayNetworkHandlerMixin.java +++ /dev/null @@ -1,135 +0,0 @@ -package net.ornithemc.osl.networking.impl.mixin.client; - -import java.net.SocketAddress; -import java.util.LinkedHashSet; -import java.util.Set; - -import org.spongepowered.asm.mixin.Final; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -import org.spongepowered.asm.mixin.Unique; -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.Minecraft; -import net.minecraft.client.network.handler.ClientPlayNetworkHandler; -import net.minecraft.network.Connection; -import net.minecraft.network.packet.s2c.play.CustomPayloadS2CPacket; -import net.minecraft.network.packet.s2c.play.DisconnectS2CPacket; -import net.minecraft.server.integrated.IntegratedServer; -import net.minecraft.text.Text; - -import net.ornithemc.osl.core.api.util.NamespacedIdentifier; -import net.ornithemc.osl.networking.api.client.ClientConnectionEvents; -import net.ornithemc.osl.networking.impl.AddressParser; -import net.ornithemc.osl.networking.impl.HandshakePayload; -import net.ornithemc.osl.networking.impl.access.ClientNetworkHandlerAccess; -import net.ornithemc.osl.networking.impl.client.ClientConnectionContext; -import net.ornithemc.osl.networking.impl.client.ClientPlayNetworkingImpl; -import net.ornithemc.osl.text.api.TextComponents; - -@Mixin(ClientPlayNetworkHandler.class) -public class ClientPlayNetworkHandlerMixin implements ClientNetworkHandlerAccess { - - @Shadow @Final - private Minecraft minecraft; - @Shadow @Final - private Connection connection; - - @Unique - private ClientConnectionContext connectionContext; - /** - * Channels that the server is listening to. - */ - @Unique - private Set serverChannels; - - @Inject( - method = "*", - at = @At( - value = "TAIL" - ) - ) - private void osl$networking$initConnectionContext(CallbackInfo ci) { - if (minecraft.isIntegratedServerRunning()) { - IntegratedServer server = minecraft.getServer(); - String worldName = server.getWorldName(); - - connectionContext = new ClientConnectionContext(minecraft, worldName); - } else { - SocketAddress address = connection.getAddress(); - - String serverAddress = AddressParser.getAddress(address); - int serverPort = AddressParser.getPort(address); - - connectionContext = new ClientConnectionContext(minecraft, serverAddress, serverPort); - } - } - - @Inject( - method = "handleLogin", - at = @At( - value = "TAIL" - ) - ) - private void osl$networking$handleLogin(CallbackInfo ci) { - // send channel registration data as soon as login occurs - ClientPlayNetworkingImpl.sendNoCheck(HandshakePayload.CHANNEL, HandshakePayload.client()); - - ClientConnectionEvents.LOGIN.invoker().accept(connectionContext); - } - - @Inject( - method = "handleDisconnect", - at = @At( - value = "HEAD" - ) - ) - private void osl$networking$handleDisconnect(DisconnectS2CPacket packet, CallbackInfo ci) { - connectionContext.offerDisconnectReason(TextComponents.resolve(packet.getReason())); - } - - @Inject( - method = "onDisconnect", - at = @At( - value = "HEAD" - ) - ) - private void osl$networking$handleDisconnect(Text reason, CallbackInfo ci) { - connectionContext.offerDisconnectReason(TextComponents.resolve(reason)); - } - - @Inject( - method = "handleCustomPayload", - cancellable = true, - at = @At( - value = "HEAD" - ) - ) - private void osl$networking$handleCustomPayload(CustomPayloadS2CPacket packet, CallbackInfo ci) { - if (ClientPlayNetworkingImpl.handlePacket(minecraft, (ClientPlayNetworkHandler)(Object)this, packet)) { - ci.cancel(); - } - } - - @Override - public ClientConnectionContext osl$networking$connectionContext() { - return connectionContext; - } - - @Override - public boolean osl$networking$isPlayReady() { - return serverChannels != null; - } - - @Override - public boolean osl$networking$isPlayReady(NamespacedIdentifier channel) { - return serverChannels != null && serverChannels.contains(channel); - } - - @Override - public void osl$networking$registerChannels(Set channels) { - serverChannels = new LinkedHashSet<>(channels); - } -} diff --git a/libraries/networking-impl/networking-impl-mc18w43a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixin.java b/libraries/networking-impl/networking-impl-mc18w43a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixin.java deleted file mode 100644 index b1a141241..000000000 --- a/libraries/networking-impl/networking-impl-mc18w43a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixin.java +++ /dev/null @@ -1,64 +0,0 @@ -package net.ornithemc.osl.networking.impl.mixin.client; - -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -import org.spongepowered.asm.mixin.Unique; -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.Minecraft; -import net.minecraft.client.gui.screen.Screen; -import net.minecraft.client.network.handler.ClientPlayNetworkHandler; -import net.minecraft.client.world.ClientWorld; - -import net.ornithemc.conditionalmixin.annotations.Conditional; -import net.ornithemc.conditionalmixin.annotations.Version; - -import net.ornithemc.osl.networking.api.client.ClientConnectionEvents; -import net.ornithemc.osl.networking.impl.access.ClientNetworkHandlerAccess; -import net.ornithemc.osl.networking.impl.client.ClientConnectionContext; - -@Mixin(Minecraft.class) -public class MinecraftMixin { - - @Shadow - private ClientWorld world; - - @Shadow - private ClientPlayNetworkHandler getNetworkHandler() { return null; } - - @Conditional(minecraftVersion = @Version("<19w06a")) - @Inject( - method = "m_62116716", // setWorld - at = @At( - value = "HEAD" - ) - ) - private void osl$networking$disconnect(ClientWorld world, Screen screen, CallbackInfo ci) { - if (this.world != null && world == null) { - this.triggerDisconnectEvent(); - } - } - - @Conditional(minecraftVersion = @Version(">=19w06a")) - @Inject( - method = "m_62273487", // disconnect - at = @At( - value = "HEAD" - ) - ) - private void osl$networking$disconnect(CallbackInfo ci) { - if (world != null) { - this.triggerDisconnectEvent(); - } - } - - @Unique - private void triggerDisconnectEvent() { - ClientNetworkHandlerAccess networkHandler = (ClientNetworkHandlerAccess) this.getNetworkHandler(); - ClientConnectionContext connectionContext = networkHandler.osl$networking$connectionContext(); - - ClientConnectionEvents.DISCONNECT.invoker().accept(connectionContext); - } -} diff --git a/libraries/networking-impl/networking-impl-mc18w43a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadC2SPacketMixin.java b/libraries/networking-impl/networking-impl-mc18w43a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadC2SPacketMixin.java deleted file mode 100644 index 8945a8b6d..000000000 --- a/libraries/networking-impl/networking-impl-mc18w43a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadC2SPacketMixin.java +++ /dev/null @@ -1,52 +0,0 @@ -package net.ornithemc.osl.networking.impl.mixin.common; - -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.At.Shift; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; - -import net.minecraft.network.PacketByteBuf; -import net.minecraft.network.packet.c2s.play.CustomPayloadC2SPacket; -import net.minecraft.resource.Identifier; - -import net.ornithemc.osl.core.api.util.NamespacedIdentifier; -import net.ornithemc.osl.networking.api.IdentifierChannelIdentifierParser; -import net.ornithemc.osl.networking.api.PacketBuffer; -import net.ornithemc.osl.networking.api.PacketBuffers; -import net.ornithemc.osl.networking.impl.access.CustomPayloadPacketAccess; - -@Mixin(CustomPayloadC2SPacket.class) -public class CustomPayloadC2SPacketMixin implements CustomPayloadPacketAccess { - - @Shadow private Identifier channel; - @Shadow private PacketByteBuf data; - - @Inject( - method = "handle(Lnet/minecraft/server/network/handler/ServerPlayPacketHandler;)V", - cancellable = true, - at = @At( - value = "INVOKE", - shift = Shift.AFTER, - target = "Lnet/minecraft/server/network/handler/ServerPlayPacketHandler;handleCustomPayload(Lnet/minecraft/network/packet/c2s/play/CustomPayloadC2SPacket;)V" - ) - ) - private void osl$networking$skipBufferRelease(CallbackInfo ci) { - // there's a call to ByteBuf.release() that we want to skip - // so that we can queue packet handling to the main thread - // Vanilla does this by throwing an exception but for the sake - // of version compat we cannot use the same approach - ci.cancel(); - } - - @Override - public NamespacedIdentifier osl$networking$getChannel() { - return IdentifierChannelIdentifierParser.fromIdentifier(channel); - } - - @Override - public PacketBuffer osl$networking$getData() { - return PacketBuffers.wrapped(data.copy()); - } -} diff --git a/libraries/networking-impl/networking-impl-mc18w43a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadS2CPacketMixin.java b/libraries/networking-impl/networking-impl-mc18w43a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadS2CPacketMixin.java deleted file mode 100644 index 97912aa8a..000000000 --- a/libraries/networking-impl/networking-impl-mc18w43a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadS2CPacketMixin.java +++ /dev/null @@ -1,31 +0,0 @@ -package net.ornithemc.osl.networking.impl.mixin.common; - -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; - -import net.minecraft.network.PacketByteBuf; -import net.minecraft.network.packet.s2c.play.CustomPayloadS2CPacket; -import net.minecraft.resource.Identifier; - -import net.ornithemc.osl.core.api.util.NamespacedIdentifier; -import net.ornithemc.osl.networking.api.IdentifierChannelIdentifierParser; -import net.ornithemc.osl.networking.api.PacketBuffer; -import net.ornithemc.osl.networking.api.PacketBuffers; -import net.ornithemc.osl.networking.impl.access.CustomPayloadPacketAccess; - -@Mixin(CustomPayloadS2CPacket.class) -public class CustomPayloadS2CPacketMixin implements CustomPayloadPacketAccess { - - @Shadow private Identifier channel; - @Shadow private PacketByteBuf data; - - @Override - public NamespacedIdentifier osl$networking$getChannel() { - return IdentifierChannelIdentifierParser.fromIdentifier(channel); - } - - @Override - public PacketBuffer osl$networking$getData() { - return PacketBuffers.wrapped(data.copy()); - } -} diff --git a/libraries/networking-impl/networking-impl-mc18w43a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PlayerManagerMixin.java b/libraries/networking-impl/networking-impl-mc18w43a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PlayerManagerMixin.java deleted file mode 100644 index 463dde8b5..000000000 --- a/libraries/networking-impl/networking-impl-mc18w43a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PlayerManagerMixin.java +++ /dev/null @@ -1,59 +0,0 @@ -package net.ornithemc.osl.networking.impl.mixin.common; - -import java.util.List; - -import org.spongepowered.asm.mixin.Final; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; - -import com.llamalad7.mixinextras.sugar.Local; - -import net.minecraft.server.MinecraftServer; -import net.minecraft.server.PlayerManager; -import net.minecraft.server.entity.living.player.ServerPlayerEntity; - -import net.ornithemc.osl.networking.api.server.ServerConnectionEvents; -import net.ornithemc.osl.networking.impl.access.PlayerManagerAccess; -import net.ornithemc.osl.networking.impl.access.ServerNetworkHandlerAccess; -import net.ornithemc.osl.networking.impl.server.ServerConnectionContext; - -@Mixin(PlayerManager.class) -public class PlayerManagerMixin implements PlayerManagerAccess { - - @Shadow @Final private MinecraftServer server; - @Shadow @Final private List players; - - @Inject( - method = "onLogin", - at = @At( - value = "TAIL" - ) - ) - private void osl$networking$handleLogin(CallbackInfo ci, @Local ServerPlayerEntity player) { - ServerNetworkHandlerAccess networkHandler = (ServerNetworkHandlerAccess) player.networkHandler; - ServerConnectionContext connectionContext = networkHandler.osl$networking$connectionContext(); - - ServerConnectionEvents.LOGIN.invoker().accept(connectionContext); - } - - @Inject( - method = "remove", - at = @At( - value = "HEAD" - ) - ) - private void osl$networking$handleDisconnect(CallbackInfo ci, @Local ServerPlayerEntity player) { - ServerNetworkHandlerAccess networkHandler = (ServerNetworkHandlerAccess) player.networkHandler; - ServerConnectionContext connectionContext = networkHandler.osl$networking$connectionContext(); - - ServerConnectionEvents.DISCONNECT.invoker().accept(connectionContext); - } - - @Override - public List osl$networking$getAll() { - return players; - } -} diff --git a/libraries/networking-impl/networking-impl-mc18w43a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ServerPlayNetworkHandlerMixin.java b/libraries/networking-impl/networking-impl-mc18w43a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ServerPlayNetworkHandlerMixin.java deleted file mode 100644 index 270f4b80b..000000000 --- a/libraries/networking-impl/networking-impl-mc18w43a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ServerPlayNetworkHandlerMixin.java +++ /dev/null @@ -1,95 +0,0 @@ -package net.ornithemc.osl.networking.impl.mixin.common; - -import java.util.LinkedHashSet; -import java.util.Set; - -import org.spongepowered.asm.mixin.Final; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -import org.spongepowered.asm.mixin.Unique; -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.network.packet.c2s.play.CustomPayloadC2SPacket; -import net.minecraft.server.MinecraftServer; -import net.minecraft.server.entity.living.player.ServerPlayerEntity; -import net.minecraft.server.network.handler.ServerPlayNetworkHandler; -import net.minecraft.text.Text; - -import net.ornithemc.osl.core.api.util.NamespacedIdentifier; -import net.ornithemc.osl.networking.impl.access.ServerNetworkHandlerAccess; -import net.ornithemc.osl.networking.impl.server.ServerConnectionContext; -import net.ornithemc.osl.networking.impl.server.ServerPlayNetworkingImpl; -import net.ornithemc.osl.text.api.TextComponents; - -@Mixin(ServerPlayNetworkHandler.class) -public class ServerPlayNetworkHandlerMixin implements ServerNetworkHandlerAccess { - - @Shadow @Final - private MinecraftServer server; - - @Shadow - private ServerPlayerEntity player; - - @Unique - private ServerConnectionContext connectionContext; - /** - * Channels that the client is listening to. - */ - @Unique - private Set clientChannels; - - @Inject( - method = "", - at = @At( - value = "TAIL" - ) - ) - private void osl$networking$initConnectionContext(CallbackInfo ci) { - connectionContext = new ServerConnectionContext(server, (ServerPlayNetworkHandler) (Object) this); - } - - @Inject( - method = "onDisconnect", - at = @At( - value = "HEAD" - ) - ) - private void osl$networking$handleDisconnect(Text reason, CallbackInfo ci) { - connectionContext.offerDisconnectReason(TextComponents.resolve(reason)); - } - - @Inject( - method = "handleCustomPayload", - cancellable = true, - at = @At( - value = "HEAD" - ) - ) - private void osl$networking$handleCustomPayload(CustomPayloadC2SPacket packet, CallbackInfo ci) { - if (ServerPlayNetworkingImpl.handlePacket(server, (ServerPlayNetworkHandler)(Object)this, player, packet)) { - ci.cancel(); - } - } - - @Override - public ServerConnectionContext osl$networking$connectionContext() { - return connectionContext; - } - - @Override - public boolean osl$networking$isPlayReady() { - return clientChannels != null; - } - - @Override - public boolean osl$networking$isPlayReady(NamespacedIdentifier channel) { - return clientChannels != null && clientChannels.contains(channel); - } - - @Override - public void osl$networking$registerChannels(Set channels) { - clientChannels = new LinkedHashSet<>(channels); - } -} diff --git a/libraries/networking-impl/networking-impl-mc18w43a-mc1.14.4/src/main/resources/fabric.mod.json b/libraries/networking-impl/networking-impl-mc18w43a-mc1.14.4/src/main/resources/fabric.mod.json deleted file mode 100644 index 6f04b3b4b..000000000 --- a/libraries/networking-impl/networking-impl-mc18w43a-mc1.14.4/src/main/resources/fabric.mod.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "schemaVersion": 1, - "id": "osl-networking-impl", - "version": "0.3.0+mc18w43a-mc1.14.4", - "environment": "*", - "entrypoints": { - "init": [ - "net.ornithemc.osl.networking.impl.Networking" - ], - "client-init": [ - "net.ornithemc.osl.networking.impl.Networking" - ], - "server-init": [ - "net.ornithemc.osl.networking.impl.Networking" - ] - }, - "mixins": [ - "osl.networking-impl.mixins.json" - ], - "depends": { - "fabricloader": "\u003e\u003d0.18.0", - "minecraft": "\u003e\u003d1.14-alpha.18.43.a \u003c\u003d1.14.4", - "osl-core": "\u003e\u003d0.7.0", - "osl-entrypoints": "\u003e\u003d0.5.0", - "osl-lifecycle-events": "\u003e\u003d0.6.0", - "osl-text-components": "\u003e\u003d0.1.0", - "osl-executors": "\u003e\u003d0.1.0", - "osl-networking": "\u003e\u003d0.12.0" - }, - "name": "OSL Networking Implementation", - "description": "Implementation details of the Networking API.", - "authors": [ - "OrnitheMC" - ], - "contact": { - "homepage": "https://ornithemc.net/", - "issues": "https://github.com/OrnitheMC/ornithe-standard-libraries/issues", - "sources": "https://github.com/OrnitheMC/ornithe-standard-libraries" - }, - "license": "Apache-2.0" -} \ No newline at end of file diff --git a/libraries/networking-impl/networking-impl-mc1.13-pre4-mc1.13.2/build.gradle b/libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/build.gradle similarity index 100% rename from libraries/networking-impl/networking-impl-mc1.13-pre4-mc1.13.2/build.gradle rename to libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/build.gradle diff --git a/libraries/networking-impl/networking-impl-mc12w21a-mc13w39b/gradle.properties b/libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/gradle.properties similarity index 63% rename from libraries/networking-impl/networking-impl-mc12w21a-mc13w39b/gradle.properties rename to libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/gradle.properties index 1eac2782b..3f9edadbf 100644 --- a/libraries/networking-impl/networking-impl-mc12w21a-mc13w39b/gradle.properties +++ b/libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/gradle.properties @@ -1,5 +1,6 @@ -min_mc_version = 12w21a +min_mc_version = b1.0 max_mc_version = 13w39b minecraft_version = 1.5.2 +raven_build = 4 nests_build = 6 diff --git a/libraries/networking-impl/networking-impl-mcb1.0-mcb1.4_01/src/main/java/net/ornithemc/osl/networking/impl/CustomPayloadPacket.java b/libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/CustomPayloadPacket.java similarity index 67% rename from libraries/networking-impl/networking-impl-mcb1.0-mcb1.4_01/src/main/java/net/ornithemc/osl/networking/impl/CustomPayloadPacket.java rename to libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/CustomPayloadPacket.java index e95e2602f..62a87433d 100644 --- a/libraries/networking-impl/networking-impl-mcb1.0-mcb1.4_01/src/main/java/net/ornithemc/osl/networking/impl/CustomPayloadPacket.java +++ b/libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/CustomPayloadPacket.java @@ -1,6 +1,8 @@ package net.ornithemc.osl.networking.impl; +import java.io.DataInput; import java.io.DataInputStream; +import java.io.DataOutput; import java.io.DataOutputStream; import java.io.IOException; @@ -33,7 +35,7 @@ public CustomPayloadPacket(NamespacedIdentifier channel, byte[] data) { @Override public void read(DataInputStream input) throws IOException { - this.channel = input.readUTF(); + this.channel = _readString(input, StringChannelIdentifierParser.MAX_LENGTH); this.size = input.readShort(); if (this.size > 0 && this.size < Short.MAX_VALUE) { this.data = new byte[this.size]; @@ -43,7 +45,7 @@ public void read(DataInputStream input) throws IOException { @Override public void write(DataOutputStream output) throws IOException { - output.writeUTF(this.channel); + _writeString(this.channel, output); output.writeShort(this.size); if (this.data != null) { output.write(this.data); @@ -71,4 +73,32 @@ public int getSize() { public byte[] osl$networking$getData() { return this.data; } + + private static String _readString(DataInput input, int maxLength) throws IOException { + int length = input.readShort(); + + if (length > maxLength) { + throw new IOException("Received string length longer than maximum allowed (" + length + " > " + maxLength + ")"); + } + if (length < 0) { + throw new IOException("Received string length is less than zero! Weird string!"); + } + + StringBuilder sb = new StringBuilder(); + + for (int i = 0; i < length; i++) { + sb.append(input.readChar()); + } + + return sb.toString(); + } + + private static void _writeString(String s, DataOutput output) throws IOException { + if (s.length() > Short.MAX_VALUE) { + throw new IOException("String too big"); + } + + output.writeShort(s.length()); + output.writeChars(s); + } } diff --git a/libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/CustomPayloadPackets.java b/libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/CustomPayloadPackets.java new file mode 100644 index 000000000..46530e481 --- /dev/null +++ b/libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/CustomPayloadPackets.java @@ -0,0 +1,19 @@ +package net.ornithemc.osl.networking.impl; + +import net.minecraft.network.packet.Packet; + +import net.ornithemc.osl.core.api.util.NamespacedIdentifier; +import net.ornithemc.osl.networking.api.StringChannelIdentifierParser; + +class CustomPayloadPackets { + + static Packet of(NamespacedIdentifier channel, byte[] data) { + net.minecraft.network.packet.CustomPayloadPacket packet = new net.minecraft.network.packet.CustomPayloadPacket(); + + packet.channel = StringChannelIdentifierParser.toString(channel); + packet.data = data; + packet.size = data.length; + + return packet; + } +} diff --git a/libraries/networking-impl/networking-impl-mc12w18a-mc12w19a/src/main/java/net/ornithemc/osl/networking/impl/Networking.java b/libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/Networking.java similarity index 58% rename from libraries/networking-impl/networking-impl-mc12w18a-mc12w19a/src/main/java/net/ornithemc/osl/networking/impl/Networking.java rename to libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/Networking.java index 77c8c0396..281071215 100644 --- a/libraries/networking-impl/networking-impl-mc12w18a-mc12w19a/src/main/java/net/ornithemc/osl/networking/impl/Networking.java +++ b/libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/Networking.java @@ -1,33 +1,54 @@ package net.ornithemc.osl.networking.impl; -import net.minecraft.network.packet.CustomPayloadPacket; +import net.minecraft.network.packet.Packet; import net.ornithemc.osl.core.api.util.NamespacedIdentifier; +import net.ornithemc.osl.core.impl.util.MinecraftVersion; import net.ornithemc.osl.entrypoints.api.ModInitializer; import net.ornithemc.osl.entrypoints.api.client.ClientModInitializer; import net.ornithemc.osl.entrypoints.api.server.ServerModInitializer; import net.ornithemc.osl.lifecycle.api.client.MinecraftClientEvents; import net.ornithemc.osl.lifecycle.api.server.MinecraftServerEvents; -import net.ornithemc.osl.networking.api.StringChannelIdentifierParser; import net.ornithemc.osl.networking.api.client.ClientConnectionEvents; import net.ornithemc.osl.networking.api.server.ServerConnectionEvents; import net.ornithemc.osl.networking.impl.access.ClientNetworkHandlerAccess; import net.ornithemc.osl.networking.impl.access.ServerNetworkHandlerAccess; import net.ornithemc.osl.networking.impl.client.ClientConnectionContext; import net.ornithemc.osl.networking.impl.client.ClientPlayNetworkingImpl; +import net.ornithemc.osl.networking.impl.mixin.common.PacketAccessor; import net.ornithemc.osl.networking.impl.server.ServerConnectionContext; import net.ornithemc.osl.networking.impl.server.ServerPlayNetworkingImpl; public class Networking implements ModInitializer, ClientModInitializer, ServerModInitializer { + public static final boolean PACKET_FLOW_EXISTS = MinecraftVersion.resolve().compareTo("b1.5") >= 0; + public static final boolean CUSTOM_PAYLOAD_EXISTS = MinecraftVersion.resolve().compareTo("11w49a") >= 0; + public static final boolean LOCAL_SERVER_EXISTS = MinecraftVersion.resolve().compareTo("12w18a") >= 0; + public static final boolean INTEGRATED_SERVER_EXISTS = MinecraftVersion.resolve().compareTo("12w21a") >= 0; + @Override public void init() { + if (!CUSTOM_PAYLOAD_EXISTS) { + if (PACKET_FLOW_EXISTS) { + PacketAccessor.register(Constants.CUSTOM_PAYLOAD_PACKET_ID, true, true, CustomPayloadPacket.class); + } else { + PacketAccessor.register(Constants.CUSTOM_PAYLOAD_PACKET_ID, CustomPayloadPacket.class); + } + } + if (LOCAL_SERVER_EXISTS) { + this.setupServer(); + } + } + + public void setupServer() { MinecraftServerEvents.START.register(ServerPlayNetworkingImpl::setUp); MinecraftServerEvents.STOP.register(ServerPlayNetworkingImpl::destroy); ServerPlayNetworkingImpl.setUpPacketFactory(Networking::newCustomPayloadPacket); ServerPlayNetworkingImpl.registerListener(HandshakePayload.CHANNEL, HandshakePayload::new, (context, payload) -> { - // send channel registration data as a response to receiving client channel registration data - ServerPlayNetworkingImpl.sendNoCheck(context.player(), HandshakePayload.CHANNEL, HandshakePayload.server()); + if (CUSTOM_PAYLOAD_EXISTS) { + // send channel registration data as a response to receiving client channel registration data + ServerPlayNetworkingImpl.sendNoCheck(context.player(), HandshakePayload.CHANNEL, HandshakePayload.server()); + } ServerNetworkHandlerAccess networkHandler = (ServerNetworkHandlerAccess) context.networkHandler(); ServerConnectionContext connectionContext = networkHandler.osl$networking$connectionContext(); @@ -43,6 +64,15 @@ public void initClient() { MinecraftClientEvents.STOP.register(ClientPlayNetworkingImpl::destroy); ClientPlayNetworkingImpl.setUpPacketFactory(Networking::newCustomPayloadPacket); ClientPlayNetworkingImpl.registerListener(HandshakePayload.CHANNEL, HandshakePayload::new, (context, payload) -> { + if (!CUSTOM_PAYLOAD_EXISTS) { + // ensure the handshake is processed on the main thread, + // where the network handler is guaranteed to be set + context.ensureOnMainThread(); + + // send channel registration data as a response to receiving server channel registration data + ClientPlayNetworkingImpl.sendNoCheck(HandshakePayload.CHANNEL, HandshakePayload.client()); + } + ClientNetworkHandlerAccess networkHandler = (ClientNetworkHandlerAccess) context.networkHandler(); ClientConnectionContext connectionContext = networkHandler.osl$networking$connectionContext(); @@ -53,10 +83,14 @@ public void initClient() { @Override public void initServer() { - // no-op + this.setupServer(); } - private static CustomPayloadPacket newCustomPayloadPacket(NamespacedIdentifier channel, byte[] data) { - return new CustomPayloadPacket(StringChannelIdentifierParser.toString(channel), data); + private static Packet newCustomPayloadPacket(NamespacedIdentifier channel, byte[] data) { + if (CUSTOM_PAYLOAD_EXISTS) { + return CustomPayloadPackets.of(channel, data); + } else { + return new CustomPayloadPacket(channel, data); + } } } diff --git a/libraries/networking-impl/networking-impl-mc1.13-pre4-mc1.13.2/src/main/java/net/ornithemc/osl/networking/impl/access/ClientNetworkHandlerAccess.java b/libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/access/ClientNetworkHandlerAccess.java similarity index 100% rename from libraries/networking-impl/networking-impl-mc1.13-pre4-mc1.13.2/src/main/java/net/ornithemc/osl/networking/impl/access/ClientNetworkHandlerAccess.java rename to libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/access/ClientNetworkHandlerAccess.java diff --git a/libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/access/ConnectionAccess.java b/libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/access/ConnectionAccess.java new file mode 100644 index 000000000..a234b9b9d --- /dev/null +++ b/libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/access/ConnectionAccess.java @@ -0,0 +1,10 @@ +package net.ornithemc.osl.networking.impl.access; + +import java.net.SocketAddress; + +public interface ConnectionAccess { + + default SocketAddress getAddress() { + throw new AbstractMethodError(); + } +} diff --git a/libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/access/MinecraftAccess.java b/libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/access/MinecraftAccess.java new file mode 100644 index 000000000..32c52f87b --- /dev/null +++ b/libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/access/MinecraftAccess.java @@ -0,0 +1,7 @@ +package net.ornithemc.osl.networking.impl.access; + +public interface MinecraftAccess { + + boolean osl$networking$hasWorldAndPlayer(); + +} diff --git a/libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/access/PacketHandlerAccess.java b/libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/access/PacketHandlerAccess.java new file mode 100644 index 000000000..56481b7ce --- /dev/null +++ b/libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/access/PacketHandlerAccess.java @@ -0,0 +1,9 @@ +package net.ornithemc.osl.networking.impl.access; + +import net.minecraft.network.packet.Packet; + +public interface PacketHandlerAccess { + + boolean osl$networking$handleCustomPayload(Packet packet); + +} diff --git a/libraries/networking-impl/networking-impl-mc1.13-pre4-mc1.13.2/src/main/java/net/ornithemc/osl/networking/impl/access/ServerNetworkHandlerAccess.java b/libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/access/ServerNetworkHandlerAccess.java similarity index 100% rename from libraries/networking-impl/networking-impl-mc1.13-pre4-mc1.13.2/src/main/java/net/ornithemc/osl/networking/impl/access/ServerNetworkHandlerAccess.java rename to libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/access/ServerNetworkHandlerAccess.java diff --git a/libraries/networking-impl/networking-impl-mc12w21a-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/ClientNetworkHandlerMixin.java b/libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/ClientNetworkHandlerMixin.java similarity index 62% rename from libraries/networking-impl/networking-impl-mc12w21a-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/ClientNetworkHandlerMixin.java rename to libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/ClientNetworkHandlerMixin.java index 343b40aa9..8fe91f951 100644 --- a/libraries/networking-impl/networking-impl-mc12w21a-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/ClientNetworkHandlerMixin.java +++ b/libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/ClientNetworkHandlerMixin.java @@ -15,29 +15,37 @@ import net.minecraft.client.Minecraft; import net.minecraft.client.network.handler.ClientNetworkHandler; import net.minecraft.client.world.ClientWorld; -import net.minecraft.network.Connection; +import net.minecraft.network.RemoteConnection; import net.minecraft.network.packet.CustomPayloadPacket; import net.minecraft.network.packet.DisconnectPacket; +import net.minecraft.network.packet.Packet; import net.minecraft.server.integrated.IntegratedServer; +import net.ornithemc.conditionalmixin.annotations.Conditional; +import net.ornithemc.conditionalmixin.annotations.Version; + import net.ornithemc.osl.core.api.util.NamespacedIdentifier; import net.ornithemc.osl.networking.api.client.ClientConnectionEvents; import net.ornithemc.osl.networking.impl.AddressParser; import net.ornithemc.osl.networking.impl.HandshakePayload; +import net.ornithemc.osl.networking.impl.Networking; import net.ornithemc.osl.networking.impl.access.ClientNetworkHandlerAccess; +import net.ornithemc.osl.networking.impl.access.MinecraftAccess; +import net.ornithemc.osl.networking.impl.access.PacketHandlerAccess; import net.ornithemc.osl.networking.impl.client.ClientConnectionContext; import net.ornithemc.osl.networking.impl.client.ClientPlayNetworkingImpl; import net.ornithemc.osl.text.api.TextComponents; @Mixin(ClientNetworkHandler.class) -public class ClientNetworkHandlerMixin implements ClientNetworkHandlerAccess { +public class ClientNetworkHandlerMixin implements ClientNetworkHandlerAccess, PacketHandlerAccess { @Shadow @Final private Minecraft minecraft; @Shadow @Final private ClientWorld world; + @Conditional(minecraftVersion = @Version("<12w21a")) @Shadow @Final - private Connection connection; + private RemoteConnection f_62887500; @Unique private ClientConnectionContext connectionContext; @@ -54,18 +62,18 @@ public class ClientNetworkHandlerMixin implements ClientNetworkHandlerAccess { ) ) private void osl$networking$initConnectionContext(CallbackInfo ci) { - if (minecraft.isIntegratedServerRunning()) { - IntegratedServer server = minecraft.getServer(); + if (Networking.INTEGRATED_SERVER_EXISTS && this.minecraft.isIntegratedServerRunning()) { + IntegratedServer server = this.minecraft.getServer(); String worldName = server.getWorldName(); - connectionContext = new ClientConnectionContext(minecraft, worldName); + this.connectionContext = new ClientConnectionContext(this.minecraft, worldName); } else { - SocketAddress address = connection.getAddress(); + SocketAddress address = this.f_62887500.getAddress(); String serverAddress = AddressParser.getAddress(address); int serverPort = AddressParser.getPort(address); - connectionContext = new ClientConnectionContext(minecraft, serverAddress, serverPort); + this.connectionContext = new ClientConnectionContext(this.minecraft, serverAddress, serverPort); } } @@ -76,10 +84,12 @@ public class ClientNetworkHandlerMixin implements ClientNetworkHandlerAccess { ) ) private void osl$networking$handleLogin(CallbackInfo ci) { - // send channel registration data as soon as login occurs - ClientPlayNetworkingImpl.sendNoCheck(HandshakePayload.CHANNEL, HandshakePayload.client()); + if (Networking.CUSTOM_PAYLOAD_EXISTS) { + // send channel registration data as soon as login occurs + ClientPlayNetworkingImpl.sendNoCheck(HandshakePayload.CHANNEL, HandshakePayload.client()); + } - ClientConnectionEvents.LOGIN.invoker().accept(connectionContext); + ClientConnectionEvents.LOGIN.invoker().accept(this.connectionContext); } @Inject( @@ -89,7 +99,7 @@ public class ClientNetworkHandlerMixin implements ClientNetworkHandlerAccess { ) ) private void osl$networking$handleDisconnect(DisconnectPacket packet, CallbackInfo ci) { - connectionContext.offerDisconnectReason(TextComponents.resolve(packet.reason)); + this.connectionContext.offerDisconnectReason(TextComponents.resolve(packet.reason)); } @Inject( @@ -99,11 +109,12 @@ public class ClientNetworkHandlerMixin implements ClientNetworkHandlerAccess { ) ) private void osl$networking$handleDisconnect(String reason, Object[] args, CallbackInfo ci) { - connectionContext.offerDisconnectReason(args == null + this.connectionContext.offerDisconnectReason(args == null ? TextComponents.translatable(reason) : TextComponents.translatable(reason, args)); } + @Conditional(minecraftVersion = @Version(">=12w18a")) @Inject( method = "handleCustomPayload", cancellable = true, @@ -112,33 +123,38 @@ public class ClientNetworkHandlerMixin implements ClientNetworkHandlerAccess { ) ) private void osl$networking$handleCustomPayload(CustomPayloadPacket packet, CallbackInfo ci) { - if (ClientPlayNetworkingImpl.handlePacket(minecraft, (ClientNetworkHandler)(Object)this, packet)) { + if (this.osl$networking$handleCustomPayload(packet)) { ci.cancel(); } } @Override public ClientConnectionContext osl$networking$connectionContext() { - return connectionContext; + return this.connectionContext; } @Override public boolean osl$networking$canRunOffMainThread() { - return minecraft != null && minecraft.world != null && minecraft.player != null && world != null; + return this.minecraft != null && ((MinecraftAccess) this.minecraft).osl$networking$hasWorldAndPlayer() && this.world != null; } @Override public boolean osl$networking$isPlayReady() { - return serverChannels != null; + return this.serverChannels != null; } @Override public boolean osl$networking$isPlayReady(NamespacedIdentifier channel) { - return serverChannels != null && serverChannels.contains(channel); + return this.serverChannels != null && this.serverChannels.contains(channel); } @Override public void osl$networking$registerChannels(Set channels) { - serverChannels = new LinkedHashSet<>(channels); + this.serverChannels = new LinkedHashSet<>(channels); + } + + @Override + public boolean osl$networking$handleCustomPayload(Packet packet) { + return ClientPlayNetworkingImpl.handlePacket(this.minecraft, (ClientNetworkHandler)(Object)this, packet); } } diff --git a/libraries/networking-impl/networking-impl-mcb1.0-mcb1.4_01/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/HandshakePacketMixin.java b/libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/HandshakePacketMixin.java similarity index 71% rename from libraries/networking-impl/networking-impl-mcb1.0-mcb1.4_01/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/HandshakePacketMixin.java rename to libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/HandshakePacketMixin.java index 0b5555b74..e3dc7bc33 100644 --- a/libraries/networking-impl/networking-impl-mcb1.0-mcb1.4_01/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/HandshakePacketMixin.java +++ b/libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/HandshakePacketMixin.java @@ -8,12 +8,16 @@ import net.minecraft.network.packet.HandshakePacket; +import net.ornithemc.conditionalmixin.annotations.Conditional; +import net.ornithemc.conditionalmixin.annotations.Version; + import net.ornithemc.osl.networking.impl.Constants; +@Conditional(minecraftVersion = @Version("<11w49a")) @Mixin(HandshakePacket.class) public class HandshakePacketMixin { - @Shadow private String key; + @Shadow private String username; @Inject( method = "(Ljava/lang/String;)V", @@ -22,6 +26,6 @@ public class HandshakePacketMixin { ) ) private void osl$networking$modifyHandshakeForOsl(CallbackInfo ci) { - key = Constants.OSL_HANDSHAKE_KEY; + this.username = Constants.OSL_HANDSHAKE_KEY; } } diff --git a/libraries/networking-impl/networking-impl-mc12w21a-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/LocalConnectionMixin.java b/libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/LocalConnectionMixin.java similarity index 73% rename from libraries/networking-impl/networking-impl-mc12w21a-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/LocalConnectionMixin.java rename to libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/LocalConnectionMixin.java index ac57eac73..85d7021e3 100644 --- a/libraries/networking-impl/networking-impl-mc12w21a-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/LocalConnectionMixin.java +++ b/libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/LocalConnectionMixin.java @@ -10,12 +10,17 @@ import net.minecraft.network.PacketHandler; import net.minecraft.network.packet.Packet; +import net.ornithemc.conditionalmixin.annotations.Conditional; +import net.ornithemc.conditionalmixin.annotations.Version; + import net.ornithemc.osl.networking.impl.Connections; +@Conditional(minecraftVersion = @Version(">=12w21a")) @Mixin(LocalConnection.class) public class LocalConnectionMixin { - @Shadow private PacketHandler listener; + @Shadow + private PacketHandler listener; @Inject( method = "accept", @@ -25,7 +30,7 @@ public class LocalConnectionMixin { ) ) private void osl$networking$asyncCustomPayloads(Packet packet, CallbackInfo ci) { - if (Connections.handleAsyncPacket(packet, listener)) { + if (Connections.handleAsyncPacket(packet, this.listener)) { ci.cancel(); } } diff --git a/libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixin.java b/libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixin.java new file mode 100644 index 000000000..330cb9430 --- /dev/null +++ b/libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixin.java @@ -0,0 +1,88 @@ +package net.ornithemc.osl.networking.impl.mixin.client; + +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Shadow; +import org.spongepowered.asm.mixin.Unique; +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.Minecraft; +import net.minecraft.client.entity.mob.player.ClientPlayerEntity; +import net.minecraft.client.entity.mob.player.LocalClientPlayerEntity; +import net.minecraft.client.network.handler.ClientNetworkHandler; +import net.minecraft.client.world.ClientWorld; +import net.minecraft.entity.mob.player.PlayerEntity; +import net.minecraft.world.World; + +import net.ornithemc.conditionalmixin.annotations.Conditional; +import net.ornithemc.conditionalmixin.annotations.Version; + +import net.ornithemc.osl.networking.api.client.ClientConnectionEvents; +import net.ornithemc.osl.networking.impl.Networking; +import net.ornithemc.osl.networking.impl.access.ClientNetworkHandlerAccess; +import net.ornithemc.osl.networking.impl.access.MinecraftAccess; +import net.ornithemc.osl.networking.impl.client.ClientConnectionContext; + +@Mixin(Minecraft.class) +public class MinecraftMixin implements MinecraftAccess { + + @Conditional(minecraftVersion = @Version("<12w18a")) + @Shadow + private ClientPlayerEntity f_28396371; + @Conditional(minecraftVersion = @Version(">=12w18a")) + @Shadow + private LocalClientPlayerEntity player; + @Conditional(minecraftVersion = @Version("<12w18a")) + @Shadow + private World f_26407825; + @Conditional(minecraftVersion = @Version(">=12w18a")) + @Shadow + private ClientWorld world; + + @Shadow + private ClientNetworkHandler getNetworkHandler() { return null; } + + @Conditional(minecraftVersion = @Version("<12w18a")) + @Inject( + method = "m_04848709", + at = @At( + value = "HEAD" + ) + ) + private void osl$networking$disconnect(World world, String title, PlayerEntity player, CallbackInfo ci) { + if (this.f_26407825 != null && this.f_26407825 instanceof ClientWorld && world == null) { + this.triggerDisconnectEvent(); + } + } + + @Conditional(minecraftVersion = @Version(">=12w18a")) + @Inject( + method = "setWorld(Lnet/minecraft/client/world/ClientWorld;Ljava/lang/String;)V", + at = @At( + value = "HEAD" + ) + ) + private void osl$networking$disconnect(ClientWorld world, String title, CallbackInfo ci) { + if (this.world != null && world == null) { + this.triggerDisconnectEvent(); + } + } + + @Unique + private void triggerDisconnectEvent() { + ClientNetworkHandlerAccess networkHandler = (ClientNetworkHandlerAccess) this.getNetworkHandler(); + ClientConnectionContext connectionContext = networkHandler.osl$networking$connectionContext(); + + ClientConnectionEvents.DISCONNECT.invoker().accept(connectionContext); + } + + @Override + public boolean osl$networking$hasWorldAndPlayer() { + if (Networking.LOCAL_SERVER_EXISTS) { + return this.world != null && this.player != null; + } else { + return this.f_26407825 != null && this.f_28396371 != null; + } + } +} diff --git a/libraries/networking-impl/networking-impl-mc12w17a-mc12w17a/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadPacketMixin.java b/libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadPacketMixin.java similarity index 56% rename from libraries/networking-impl/networking-impl-mc12w17a-mc12w17a/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadPacketMixin.java rename to libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadPacketMixin.java index 8183ea1bf..c1e8d8e11 100644 --- a/libraries/networking-impl/networking-impl-mc12w17a-mc12w17a/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadPacketMixin.java +++ b/libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadPacketMixin.java @@ -7,33 +7,51 @@ import net.minecraft.network.packet.CustomPayloadPacket; +import net.ornithemc.conditionalmixin.annotations.Conditional; +import net.ornithemc.conditionalmixin.annotations.Version; + import net.ornithemc.osl.core.api.util.NamespacedIdentifier; import net.ornithemc.osl.networking.api.StringChannelIdentifierParser; import net.ornithemc.osl.networking.impl.access.CustomPayloadPacketAccess; +@Conditional(minecraftVersion = @Version(">=11w49a")) @Mixin(CustomPayloadPacket.class) public class CustomPayloadPacketMixin implements CustomPayloadPacketAccess { - @Shadow private String channel; - @Shadow private byte[] data; + @Shadow + private String channel; + @Shadow + private byte[] data; + @Conditional(minecraftVersion = @Version("<12w18a")) @ModifyConstant( method = "read", constant = @Constant( intValue = 16 ) ) - private int osl$networking$modifyMaxChannelLength(int maxLength) { + private int osl$networking$modifyMaxChannelLength1(int maxLength) { + return StringChannelIdentifierParser.MAX_LENGTH; + } + + @Conditional(minecraftVersion = @Version(">=12w18a")) + @ModifyConstant( + method = "read", + constant = @Constant( + intValue = 20 + ) + ) + private int osl$networking$modifyMaxChannelLength2(int maxLength) { return StringChannelIdentifierParser.MAX_LENGTH; } @Override public NamespacedIdentifier osl$networking$getChannel() { - return StringChannelIdentifierParser.fromString(channel); + return StringChannelIdentifierParser.fromString(this.channel); } @Override public byte[] osl$networking$getData() { - return data; + return this.data; } } diff --git a/libraries/networking-impl/networking-impl-mc12w21a-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/MinecraftServerMixin.java b/libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/MinecraftServerMixin.java similarity index 86% rename from libraries/networking-impl/networking-impl-mc12w21a-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/MinecraftServerMixin.java rename to libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/MinecraftServerMixin.java index 718f04e3d..5e7e32177 100644 --- a/libraries/networking-impl/networking-impl-mc12w21a-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/MinecraftServerMixin.java +++ b/libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/MinecraftServerMixin.java @@ -12,15 +12,20 @@ import net.minecraft.server.PlayerManager; import net.minecraft.server.entity.mob.player.ServerPlayerEntity; +import net.ornithemc.conditionalmixin.annotations.Conditional; +import net.ornithemc.conditionalmixin.annotations.Version; + import net.ornithemc.osl.networking.api.server.ServerConnectionEvents; import net.ornithemc.osl.networking.impl.access.ServerNetworkHandlerAccess; import net.ornithemc.osl.networking.impl.server.ServerConnectionContext; +@Conditional(minecraftVersion = @Version(">=12w21a")) @Mixin(MinecraftServer.class) public class MinecraftServerMixin { @Shadow - private PlayerManager playerManager; + private + PlayerManager playerManager; @Inject( method = "stop", diff --git a/libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PacketAccessor.java b/libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PacketAccessor.java new file mode 100644 index 000000000..908eb517f --- /dev/null +++ b/libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PacketAccessor.java @@ -0,0 +1,26 @@ +package net.ornithemc.osl.networking.impl.mixin.common; + +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.gen.Invoker; + +import net.minecraft.network.packet.Packet; + +import net.ornithemc.conditionalmixin.annotations.Conditional; +import net.ornithemc.conditionalmixin.annotations.Version; + +@Conditional(minecraftVersion = @Version("<11w49a")) +@Mixin(Packet.class) +public interface PacketAccessor { + + @Conditional(minecraftVersion = @Version(" type) { + throw new AssertionError(); + } + + @Conditional(minecraftVersion = @Version(">=b1.5")) + @Invoker("register") + public static void register(int id, boolean s2c, boolean c2s, Class type) { + throw new AssertionError(); + } +} diff --git a/libraries/networking-impl/networking-impl-mc12w17a-mc12w17a/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PacketHandlerMixin.java b/libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PacketHandlerMixin.java similarity index 82% rename from libraries/networking-impl/networking-impl-mc12w17a-mc12w17a/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PacketHandlerMixin.java rename to libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PacketHandlerMixin.java index 1b5d4a108..cda360c9b 100644 --- a/libraries/networking-impl/networking-impl-mc12w17a-mc12w17a/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PacketHandlerMixin.java +++ b/libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PacketHandlerMixin.java @@ -8,8 +8,11 @@ import net.minecraft.network.PacketHandler; import net.minecraft.network.packet.CustomPayloadPacket; +import net.ornithemc.conditionalmixin.annotations.Conditional; +import net.ornithemc.conditionalmixin.annotations.Version; import net.ornithemc.osl.networking.impl.access.PacketHandlerAccess; +@Conditional(minecraftVersion = @Version(">=11w49a <12w18a")) @Mixin(PacketHandler.class) public class PacketHandlerMixin { diff --git a/libraries/networking-impl/networking-impl-mc12w21a-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PlayerManagerMixin.java b/libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PlayerManagerMixin.java similarity index 81% rename from libraries/networking-impl/networking-impl-mc12w21a-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PlayerManagerMixin.java rename to libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PlayerManagerMixin.java index 6fc5bdde8..a3c888790 100644 --- a/libraries/networking-impl/networking-impl-mc12w21a-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PlayerManagerMixin.java +++ b/libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PlayerManagerMixin.java @@ -13,15 +13,23 @@ import net.minecraft.server.PlayerManager; import net.minecraft.server.entity.mob.player.ServerPlayerEntity; +import net.ornithemc.conditionalmixin.annotations.Conditional; +import net.ornithemc.conditionalmixin.annotations.GameSide; +import net.ornithemc.conditionalmixin.annotations.Version; + import net.ornithemc.osl.networking.api.server.ServerConnectionEvents; import net.ornithemc.osl.networking.impl.access.ServerNetworkHandlerAccess; import net.ornithemc.osl.networking.impl.server.ServerConnectionContext; +@Conditional(minecraftVersion = @Version(value = ">=12w18a", gameSide = GameSide.CLIENT)) @Mixin(PlayerManager.class) public class PlayerManagerMixin { - @Shadow @Final private MinecraftServer server; + @Shadow + @Final + private MinecraftServer server; + @Conditional(minecraftVersion = @Version(">=12w21a")) @Inject( method = "onLogin", at = @At( diff --git a/libraries/networking-impl/networking-impl-mc12w21a-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/RemoteConnectionMixin.java b/libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/RemoteConnectionMixin.java similarity index 54% rename from libraries/networking-impl/networking-impl-mc12w21a-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/RemoteConnectionMixin.java rename to libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/RemoteConnectionMixin.java index 2ac368bfd..f87b90a97 100644 --- a/libraries/networking-impl/networking-impl-mc12w21a-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/RemoteConnectionMixin.java +++ b/libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/RemoteConnectionMixin.java @@ -1,9 +1,13 @@ package net.ornithemc.osl.networking.impl.mixin.common; +import java.net.Socket; +import java.net.SocketAddress; + import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; import com.llamalad7.mixinextras.sugar.Local; @@ -16,14 +20,18 @@ import net.ornithemc.conditionalmixin.annotations.Version; import net.ornithemc.osl.networking.impl.Connections; +import net.ornithemc.osl.networking.impl.access.ConnectionAccess; @Mixin(RemoteConnection.class) -public class RemoteConnectionMixin { +public class RemoteConnectionMixin implements ConnectionAccess { + @Conditional(minecraftVersion = @Version("<12w18a")) + @Shadow + private Socket f_47731358; @Shadow private PacketHandler listener; - @Conditional(minecraftVersion = @Version("<=1.6.1")) + @Conditional(minecraftVersion = @Version(" cir, @Local Packet packet) { - if (Connections.handleAsyncPacket(packet, listener)) { + private void osl$networking$asyncCustomPayloads (CallbackInfo ci, @Local Packet packet) { + if (Connections.handleAsyncPacket(packet, this.listener)) { + ci.cancel(); + } + } + + @Conditional(minecraftVersion = @Version(">=b1.5 <=1.6.1")) + @Inject( + method = "read", + cancellable = true, + at = @At( + value = "INVOKE", + target = "Ljava/util/List;add(Ljava/lang/Object;)Z" + ) + ) + private void osl$networking$asyncCustomPayloads2(CallbackInfoReturnable cir, @Local Packet packet) { + if (Connections.handleAsyncPacket(packet, this.listener)) { cir.setReturnValue(true); } } @@ -47,9 +70,15 @@ public class RemoteConnectionMixin { target = "Ljava/util/Queue;add(Ljava/lang/Object;)Z" ) ) - private void osl$networking$asyncCustomPayloads2(CallbackInfoReturnable cir, @Local Packet packet) { - if (Connections.handleAsyncPacket(packet, listener)) { + private void osl$networking$asyncCustomPayloads3(CallbackInfoReturnable cir, @Local Packet packet) { + if (Connections.handleAsyncPacket(packet, this.listener)) { cir.setReturnValue(true); } } + + @Conditional(minecraftVersion = @Version("<12w18a")) + @Override + public SocketAddress getAddress() { + return this.f_47731358.getRemoteSocketAddress(); + } } diff --git a/libraries/networking-impl/networking-impl-mcb1.0-mcb1.4_01/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/ServerLoginNetworkHandlerMixin.java b/libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ServerLoginNetworkHandlerMixin.java similarity index 72% rename from libraries/networking-impl/networking-impl-mcb1.0-mcb1.4_01/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/ServerLoginNetworkHandlerMixin.java rename to libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ServerLoginNetworkHandlerMixin.java index 6b80b7e9a..5d1c35433 100644 --- a/libraries/networking-impl/networking-impl-mcb1.0-mcb1.4_01/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/ServerLoginNetworkHandlerMixin.java +++ b/libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ServerLoginNetworkHandlerMixin.java @@ -1,4 +1,4 @@ -package net.ornithemc.osl.networking.impl.mixin.server; +package net.ornithemc.osl.networking.impl.mixin.common; import org.spongepowered.asm.mixin.Final; import org.spongepowered.asm.mixin.Mixin; @@ -15,24 +15,37 @@ import net.minecraft.server.entity.mob.player.ServerPlayerEntity; import net.minecraft.server.network.handler.ServerLoginNetworkHandler; +import net.ornithemc.conditionalmixin.annotations.Conditional; +import net.ornithemc.conditionalmixin.annotations.GameSide; +import net.ornithemc.conditionalmixin.annotations.Version; + import net.ornithemc.osl.networking.api.server.ServerConnectionEvents; import net.ornithemc.osl.networking.impl.Constants; import net.ornithemc.osl.networking.impl.HandshakePayload; +import net.ornithemc.osl.networking.impl.Networking; import net.ornithemc.osl.networking.impl.access.ServerNetworkHandlerAccess; import net.ornithemc.osl.networking.impl.server.ServerConnectionContext; import net.ornithemc.osl.networking.impl.server.ServerPlayNetworkingImpl; +@Conditional(minecraftVersion = { + @Version(value = ">=12w18a", gameSide = GameSide.CLIENT), + @Version("<12w21a") +}) @Mixin(ServerLoginNetworkHandler.class) public class ServerLoginNetworkHandlerMixin { - @Shadow @Final private MinecraftServer server; + @Conditional(minecraftVersion = @Version("<11w49a")) + @Shadow @Final + private MinecraftServer server; /** * is the client also running OSL? */ + @Conditional(minecraftVersion = @Version("<11w49a")) @Unique private boolean ornithe; + @Conditional(minecraftVersion = @Version("<11w49a")) @Inject( method = "handleHandshake", at = @At( @@ -40,8 +53,8 @@ public class ServerLoginNetworkHandlerMixin { ) ) private void osl$networking$handleHandshake(HandshakePacket packet, CallbackInfo ci) { - if (Constants.OSL_HANDSHAKE_KEY.equals(packet.key)) { - ornithe = true; + if (Constants.OSL_HANDSHAKE_KEY.equals(packet.username)) { + this.ornithe = true; } } @@ -53,7 +66,7 @@ public class ServerLoginNetworkHandlerMixin { ) private void osl$networking$handleLogin(CallbackInfo ci, @Local ServerPlayerEntity player) { if (player != null) { - if (ornithe) { + if (!Networking.CUSTOM_PAYLOAD_EXISTS && this.ornithe) { // send channel registration data as soon as login occurs ServerPlayNetworkingImpl.sendNoCheck(player, HandshakePayload.CHANNEL, HandshakePayload.server()); } diff --git a/libraries/networking-impl/networking-impl-mc11w49a-mc12w16a/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/ServerPlayNetworkHandlerMixin.java b/libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ServerPlayNetworkHandlerMixin.java similarity index 64% rename from libraries/networking-impl/networking-impl-mc11w49a-mc12w16a/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/ServerPlayNetworkHandlerMixin.java rename to libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ServerPlayNetworkHandlerMixin.java index 6ce6f6eed..17753ec32 100644 --- a/libraries/networking-impl/networking-impl-mc11w49a-mc12w16a/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/ServerPlayNetworkHandlerMixin.java +++ b/libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ServerPlayNetworkHandlerMixin.java @@ -1,4 +1,4 @@ -package net.ornithemc.osl.networking.impl.mixin.server; +package net.ornithemc.osl.networking.impl.mixin.common; import java.util.LinkedHashSet; import java.util.Set; @@ -13,10 +13,15 @@ import net.minecraft.network.packet.CustomPayloadPacket; import net.minecraft.network.packet.DisconnectPacket; +import net.minecraft.network.packet.Packet; import net.minecraft.server.MinecraftServer; import net.minecraft.server.entity.mob.player.ServerPlayerEntity; import net.minecraft.server.network.handler.ServerPlayNetworkHandler; +import net.ornithemc.conditionalmixin.annotations.Conditional; +import net.ornithemc.conditionalmixin.annotations.GameSide; +import net.ornithemc.conditionalmixin.annotations.Version; + import net.ornithemc.osl.core.api.util.NamespacedIdentifier; import net.ornithemc.osl.networking.impl.access.PacketHandlerAccess; import net.ornithemc.osl.networking.impl.access.ServerNetworkHandlerAccess; @@ -24,6 +29,7 @@ import net.ornithemc.osl.networking.impl.server.ServerPlayNetworkingImpl; import net.ornithemc.osl.text.api.TextComponents; +@Conditional(minecraftVersion = @Version(value = ">=12w18a", gameSide = GameSide.CLIENT)) @Mixin(ServerPlayNetworkHandler.class) public class ServerPlayNetworkHandlerMixin implements ServerNetworkHandlerAccess, PacketHandlerAccess { @@ -48,7 +54,7 @@ public class ServerPlayNetworkHandlerMixin implements ServerNetworkHandlerAccess ) ) private void osl$networking$initConnectionContext(CallbackInfo ci) { - connectionContext = new ServerConnectionContext(server, (ServerPlayNetworkHandler) (Object) this); + this.connectionContext = new ServerConnectionContext(this.server, (ServerPlayNetworkHandler) (Object) this); } @Inject( @@ -58,7 +64,7 @@ public class ServerPlayNetworkHandlerMixin implements ServerNetworkHandlerAccess ) ) private void osl$networking$handleDisconnect(DisconnectPacket packet, CallbackInfo ci) { - connectionContext.offerDisconnectReason(TextComponents.resolve(packet.reason)); + this.connectionContext.offerDisconnectReason(TextComponents.resolve(packet.reason)); } @Inject( @@ -68,14 +74,28 @@ public class ServerPlayNetworkHandlerMixin implements ServerNetworkHandlerAccess ) ) private void osl$networking$handleDisconnect(String reason, Object[] args, CallbackInfo ci) { - connectionContext.offerDisconnectReason(args == null + this.connectionContext.offerDisconnectReason(args == null ? TextComponents.translatable(reason) : TextComponents.translatable(reason, args)); } + @Conditional(minecraftVersion = @Version(">=12w17a")) + @Inject( + method = "handleCustomPayload", + cancellable = true, + at = @At( + value = "HEAD" + ) + ) + private void osl$networking$handleCustomPayload(CustomPayloadPacket packet, CallbackInfo ci) { + if (this.osl$networking$handleCustomPayload(packet)) { + ci.cancel(); + } + } + @Override public ServerConnectionContext osl$networking$connectionContext() { - return connectionContext; + return this.connectionContext; } @Override @@ -85,21 +105,21 @@ public class ServerPlayNetworkHandlerMixin implements ServerNetworkHandlerAccess @Override public boolean osl$networking$isPlayReady() { - return clientChannels != null; + return this.clientChannels != null; } @Override public boolean osl$networking$isPlayReady(NamespacedIdentifier channel) { - return clientChannels != null && clientChannels.contains(channel); + return this.clientChannels != null && this.clientChannels.contains(channel); } @Override public void osl$networking$registerChannels(Set channels) { - clientChannels = new LinkedHashSet<>(channels); + this.clientChannels = new LinkedHashSet<>(channels); } @Override - public boolean osl$networking$handleCustomPayload(CustomPayloadPacket packet) { - return ServerPlayNetworkingImpl.handlePacket(server, (ServerPlayNetworkHandler)(Object)this, player, packet); + public boolean osl$networking$handleCustomPayload(Packet packet) { + return ServerPlayNetworkingImpl.handlePacket(this.server, (ServerPlayNetworkHandler)(Object)this, this.player, packet); } } diff --git a/libraries/networking-impl/networking-impl-mcb1.0-mcb1.4_01/src/main/resources/fabric.mod.json b/libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/resources/fabric.mod.json similarity index 91% rename from libraries/networking-impl/networking-impl-mcb1.0-mcb1.4_01/src/main/resources/fabric.mod.json rename to libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/resources/fabric.mod.json index 7c88fc46e..c73368856 100644 --- a/libraries/networking-impl/networking-impl-mcb1.0-mcb1.4_01/src/main/resources/fabric.mod.json +++ b/libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/resources/fabric.mod.json @@ -1,7 +1,7 @@ { "schemaVersion": 1, "id": "osl-networking-impl", - "version": "0.3.0+mcb1.0-mcb1.4_01", + "version": "0.3.0+mcb1.0-mc13w39b", "environment": "*", "entrypoints": { "init": [ @@ -20,7 +20,7 @@ "accessWidener": "osl.networking-impl.classtweaker", "depends": { "fabricloader": "\u003e\u003d0.18.0", - "minecraft": "\u003e\u003d1.0.0-beta.0 \u003c\u003d1.0.0-beta.4.1", + "minecraft": "\u003e\u003d1.0.0-beta.0 \u003c\u003d1.7-alpha.13.39.b", "osl-core": "\u003e\u003d0.7.0", "osl-entrypoints": "\u003e\u003d0.5.0", "osl-lifecycle-events": "\u003e\u003d0.6.0", diff --git a/libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/resources/osl.networking-impl.classtweaker b/libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/resources/osl.networking-impl.classtweaker new file mode 100644 index 000000000..bed44ae27 --- /dev/null +++ b/libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/resources/osl.networking-impl.classtweaker @@ -0,0 +1,5 @@ +classTweaker v1 named + +accessible field net/minecraft/network/packet/HandshakePacket username Ljava/lang/String; + +inject-interface net/minecraft/network/Connection net/ornithemc/osl/networking/impl/access/ConnectionAccess diff --git a/libraries/networking-impl/networking-impl-mc12w21a-mc13w39b/src/main/resources/osl.networking-impl.mixins.json b/libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/resources/osl.networking-impl.mixins.json similarity index 81% rename from libraries/networking-impl/networking-impl-mc12w21a-mc13w39b/src/main/resources/osl.networking-impl.mixins.json rename to libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/resources/osl.networking-impl.mixins.json index 9dad6da85..35d532b3b 100644 --- a/libraries/networking-impl/networking-impl-mc12w21a-mc13w39b/src/main/resources/osl.networking-impl.mixins.json +++ b/libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/resources/osl.networking-impl.mixins.json @@ -7,12 +7,16 @@ "mixins": [ "common.CustomPayloadPacketMixin", "common.MinecraftServerMixin", + "common.PacketAccessor", + "common.PacketHandlerMixin", "common.PlayerManagerMixin", "common.RemoteConnectionMixin", + "common.ServerLoginNetworkHandlerMixin", "common.ServerPlayNetworkHandlerMixin" ], "client": [ "client.ClientNetworkHandlerMixin", + "client.HandshakePacketMixin", "client.LocalConnectionMixin", "client.MinecraftMixin" ], diff --git a/libraries/networking-impl/networking-impl-mcb1.0-mcb1.4_01/build.gradle b/libraries/networking-impl/networking-impl-mcb1.0-mcb1.4_01/build.gradle deleted file mode 100644 index 0a350fdb3..000000000 --- a/libraries/networking-impl/networking-impl-mcb1.0-mcb1.4_01/build.gradle +++ /dev/null @@ -1 +0,0 @@ -setUpModule(project) diff --git a/libraries/networking-impl/networking-impl-mcb1.0-mcb1.4_01/gradle.properties b/libraries/networking-impl/networking-impl-mcb1.0-mcb1.4_01/gradle.properties deleted file mode 100644 index ac7e59280..000000000 --- a/libraries/networking-impl/networking-impl-mcb1.0-mcb1.4_01/gradle.properties +++ /dev/null @@ -1,10 +0,0 @@ -min_mc_version = b1.0 -max_mc_version = b1.4_01 - -minecraft_version = b1.4_01 -client_raven_build = 1 -server_raven_build = 1 -client_sparrow_build = 2 -server_sparrow_build = 2 -client_nests_build = 7 -server_nests_build = 4 diff --git a/libraries/networking-impl/networking-impl-mcb1.0-mcb1.4_01/src/main/java/net/ornithemc/osl/networking/impl/Networking.java b/libraries/networking-impl/networking-impl-mcb1.0-mcb1.4_01/src/main/java/net/ornithemc/osl/networking/impl/Networking.java deleted file mode 100644 index cc0bc48a7..000000000 --- a/libraries/networking-impl/networking-impl-mcb1.0-mcb1.4_01/src/main/java/net/ornithemc/osl/networking/impl/Networking.java +++ /dev/null @@ -1,59 +0,0 @@ -package net.ornithemc.osl.networking.impl; - -import net.ornithemc.osl.entrypoints.api.ModInitializer; -import net.ornithemc.osl.entrypoints.api.client.ClientModInitializer; -import net.ornithemc.osl.entrypoints.api.server.ServerModInitializer; -import net.ornithemc.osl.lifecycle.api.client.MinecraftClientEvents; -import net.ornithemc.osl.lifecycle.api.server.MinecraftServerEvents; -import net.ornithemc.osl.networking.api.client.ClientConnectionEvents; -import net.ornithemc.osl.networking.api.server.ServerConnectionEvents; -import net.ornithemc.osl.networking.impl.access.ClientNetworkHandlerAccess; -import net.ornithemc.osl.networking.impl.access.ServerNetworkHandlerAccess; -import net.ornithemc.osl.networking.impl.client.ClientConnectionContext; -import net.ornithemc.osl.networking.impl.client.ClientPlayNetworkingImpl; -import net.ornithemc.osl.networking.impl.mixin.common.PacketAccessor; -import net.ornithemc.osl.networking.impl.server.ServerConnectionContext; -import net.ornithemc.osl.networking.impl.server.ServerPlayNetworkingImpl; - -public class Networking implements ModInitializer, ClientModInitializer, ServerModInitializer { - - @Override - public void init() { - PacketAccessor.register(Constants.CUSTOM_PAYLOAD_PACKET_ID, CustomPayloadPacket.class); - } - - @Override - public void initClient() { - MinecraftClientEvents.START.register(ClientPlayNetworkingImpl::setUp); - MinecraftClientEvents.STOP.register(ClientPlayNetworkingImpl::destroy); - ClientPlayNetworkingImpl.setUpPacketFactory(CustomPayloadPacket::new); - ClientPlayNetworkingImpl.registerListener(HandshakePayload.CHANNEL, HandshakePayload::new, (context, payload) -> { - // ensure the handshake is processed on the main thread, - // where the network handler is guaranteed to be set - context.ensureOnMainThread(); - - // send channel registration data as a response to receiving server channel registration data - ClientPlayNetworkingImpl.sendNoCheck(HandshakePayload.CHANNEL, HandshakePayload.client()); - - ClientNetworkHandlerAccess networkHandler = (ClientNetworkHandlerAccess) context.networkHandler(); - ClientConnectionContext connectionContext = networkHandler.osl$networking$connectionContext(); - - networkHandler.osl$networking$registerChannels(payload.channels); - ClientConnectionEvents.PLAY_READY.invoker().accept(connectionContext); - }); - } - - @Override - public void initServer() { - MinecraftServerEvents.START.register(ServerPlayNetworkingImpl::setUp); - MinecraftServerEvents.STOP.register(ServerPlayNetworkingImpl::destroy); - ServerPlayNetworkingImpl.setUpPacketFactory(CustomPayloadPacket::new); - ServerPlayNetworkingImpl.registerListener(HandshakePayload.CHANNEL, HandshakePayload::new, (context, payload) -> { - ServerNetworkHandlerAccess networkHandler = (ServerNetworkHandlerAccess) context.networkHandler(); - ServerConnectionContext connectionContext = networkHandler.osl$networking$connectionContext(); - - networkHandler.osl$networking$registerChannels(payload.channels); - ServerConnectionEvents.PLAY_READY.invoker().accept(connectionContext); - }); - } -} diff --git a/libraries/networking-impl/networking-impl-mcb1.0-mcb1.4_01/src/main/java/net/ornithemc/osl/networking/impl/access/ClientNetworkHandlerAccess.java b/libraries/networking-impl/networking-impl-mcb1.0-mcb1.4_01/src/main/java/net/ornithemc/osl/networking/impl/access/ClientNetworkHandlerAccess.java deleted file mode 100644 index e067a1831..000000000 --- a/libraries/networking-impl/networking-impl-mcb1.0-mcb1.4_01/src/main/java/net/ornithemc/osl/networking/impl/access/ClientNetworkHandlerAccess.java +++ /dev/null @@ -1,9 +0,0 @@ -package net.ornithemc.osl.networking.impl.access; - -import net.ornithemc.osl.networking.impl.client.ClientConnectionContext; - -public interface ClientNetworkHandlerAccess extends NetworkHandlerAccess { - - ClientConnectionContext osl$networking$connectionContext(); - -} diff --git a/libraries/networking-impl/networking-impl-mcb1.0-mcb1.4_01/src/main/java/net/ornithemc/osl/networking/impl/access/PacketHandlerAccess.java b/libraries/networking-impl/networking-impl-mcb1.0-mcb1.4_01/src/main/java/net/ornithemc/osl/networking/impl/access/PacketHandlerAccess.java deleted file mode 100644 index d5dc849d4..000000000 --- a/libraries/networking-impl/networking-impl-mcb1.0-mcb1.4_01/src/main/java/net/ornithemc/osl/networking/impl/access/PacketHandlerAccess.java +++ /dev/null @@ -1,9 +0,0 @@ -package net.ornithemc.osl.networking.impl.access; - -import net.ornithemc.osl.networking.impl.CustomPayloadPacket; - -public interface PacketHandlerAccess { - - boolean osl$networking$handleCustomPayload(CustomPayloadPacket packet); - -} diff --git a/libraries/networking-impl/networking-impl-mcb1.0-mcb1.4_01/src/main/java/net/ornithemc/osl/networking/impl/access/ServerNetworkHandlerAccess.java b/libraries/networking-impl/networking-impl-mcb1.0-mcb1.4_01/src/main/java/net/ornithemc/osl/networking/impl/access/ServerNetworkHandlerAccess.java deleted file mode 100644 index 1d596400b..000000000 --- a/libraries/networking-impl/networking-impl-mcb1.0-mcb1.4_01/src/main/java/net/ornithemc/osl/networking/impl/access/ServerNetworkHandlerAccess.java +++ /dev/null @@ -1,9 +0,0 @@ -package net.ornithemc.osl.networking.impl.access; - -import net.ornithemc.osl.networking.impl.server.ServerConnectionContext; - -public interface ServerNetworkHandlerAccess extends NetworkHandlerAccess { - - ServerConnectionContext osl$networking$connectionContext(); - -} diff --git a/libraries/networking-impl/networking-impl-mcb1.0-mcb1.4_01/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/ClientNetworkHandlerMixin.java b/libraries/networking-impl/networking-impl-mcb1.0-mcb1.4_01/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/ClientNetworkHandlerMixin.java deleted file mode 100644 index fb7442aca..000000000 --- a/libraries/networking-impl/networking-impl-mcb1.0-mcb1.4_01/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/ClientNetworkHandlerMixin.java +++ /dev/null @@ -1,125 +0,0 @@ -package net.ornithemc.osl.networking.impl.mixin.client; - -import java.net.SocketAddress; -import java.util.LinkedHashSet; -import java.util.Set; - -import org.spongepowered.asm.mixin.Final; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -import org.spongepowered.asm.mixin.Unique; -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.Minecraft; -import net.minecraft.client.network.handler.ClientNetworkHandler; -import net.minecraft.client.world.MultiplayerWorld; -import net.minecraft.network.Connection; -import net.minecraft.network.packet.DisconnectPacket; - -import net.ornithemc.osl.core.api.util.NamespacedIdentifier; -import net.ornithemc.osl.networking.api.client.ClientConnectionEvents; -import net.ornithemc.osl.networking.impl.AddressParser; -import net.ornithemc.osl.networking.impl.CustomPayloadPacket; -import net.ornithemc.osl.networking.impl.access.ClientNetworkHandlerAccess; -import net.ornithemc.osl.networking.impl.access.PacketHandlerAccess; -import net.ornithemc.osl.networking.impl.client.ClientConnectionContext; -import net.ornithemc.osl.networking.impl.client.ClientPlayNetworkingImpl; -import net.ornithemc.osl.text.api.TextComponents; - -@Mixin(ClientNetworkHandler.class) -public class ClientNetworkHandlerMixin implements ClientNetworkHandlerAccess, PacketHandlerAccess { - - @Shadow @Final - private Minecraft minecraft; - @Shadow @Final - private MultiplayerWorld world; - @Shadow @Final - private Connection connection; - - @Unique - private ClientConnectionContext connectionContext; - /** - * Channels that the server is listening to. - */ - @Unique - private Set serverChannels; - - @Inject( - method = "*", - at = @At( - value = "TAIL" - ) - ) - private void osl$networking$initConnectionContext(CallbackInfo ci) { - SocketAddress address = connection.socket.getRemoteSocketAddress(); - - String serverAddress = AddressParser.getAddress(address); - int serverPort = AddressParser.getPort(address); - - connectionContext = new ClientConnectionContext(minecraft, serverAddress, serverPort); - } - - @Inject( - method = "handleLogin", - at = @At( - value = "TAIL" - ) - ) - private void osl$networking$handleLogin(CallbackInfo ci) { - ClientConnectionEvents.LOGIN.invoker().accept(connectionContext); - } - - @Inject( - method = "handleDisconnect", - at = @At( - value = "HEAD" - ) - ) - private void osl$networking$handleDisconnect(DisconnectPacket packet, CallbackInfo ci) { - connectionContext.offerDisconnectReason(TextComponents.resolve(packet.reason)); - } - - @Inject( - method = "onDisconnect", - at = @At( - value = "HEAD" - ) - ) - private void osl$networking$handleDisconnect(String reason, Object[] args, CallbackInfo ci) { - connectionContext.offerDisconnectReason(args == null - ? TextComponents.translatable(reason) - : TextComponents.translatable(reason, args)); - } - - @Override - public ClientConnectionContext osl$networking$connectionContext() { - return connectionContext; - } - - @Override - public boolean osl$networking$canRunOffMainThread() { - return minecraft != null && minecraft.world != null && minecraft.player != null && world != null; - } - - @Override - public boolean osl$networking$isPlayReady() { - return serverChannels != null; - } - - @Override - public boolean osl$networking$isPlayReady(NamespacedIdentifier channel) { - return serverChannels != null && serverChannels.contains(channel); - } - - @Override - public void osl$networking$registerChannels(Set channels) { - serverChannels = new LinkedHashSet<>(channels); - } - - @Override - public boolean osl$networking$handleCustomPayload(CustomPayloadPacket packet) { - return ClientPlayNetworkingImpl.handlePacket(minecraft, (ClientNetworkHandler)(Object)this, packet); - } -} diff --git a/libraries/networking-impl/networking-impl-mcb1.0-mcb1.4_01/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixin.java b/libraries/networking-impl/networking-impl-mcb1.0-mcb1.4_01/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixin.java deleted file mode 100644 index 6600fd992..000000000 --- a/libraries/networking-impl/networking-impl-mcb1.0-mcb1.4_01/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixin.java +++ /dev/null @@ -1,41 +0,0 @@ -package net.ornithemc.osl.networking.impl.mixin.client; - -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -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.Minecraft; -import net.minecraft.client.network.handler.ClientNetworkHandler; -import net.minecraft.client.world.MultiplayerWorld; -import net.minecraft.world.World; - -import net.ornithemc.osl.networking.api.client.ClientConnectionEvents; -import net.ornithemc.osl.networking.impl.access.ClientNetworkHandlerAccess; -import net.ornithemc.osl.networking.impl.client.ClientConnectionContext; - -@Mixin(Minecraft.class) -public class MinecraftMixin { - - @Shadow - private World world; - - @Shadow - private ClientNetworkHandler getNetworkHandler() { return null; } - - @Inject( - method = "setWorld(Lnet/minecraft/world/World;Ljava/lang/String;)V", - at = @At( - value = "HEAD" - ) - ) - private void osl$networking$disconnect(World world, String title, CallbackInfo ci) { - if (this.world != null && this.world instanceof MultiplayerWorld && world == null) { - ClientNetworkHandlerAccess networkHandler = (ClientNetworkHandlerAccess) getNetworkHandler(); - ClientConnectionContext connectionContext = networkHandler.osl$networking$connectionContext(); - - ClientConnectionEvents.DISCONNECT.invoker().accept(connectionContext); - } - } -} diff --git a/libraries/networking-impl/networking-impl-mcb1.0-mcb1.4_01/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ConnectionMixin.java b/libraries/networking-impl/networking-impl-mcb1.0-mcb1.4_01/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ConnectionMixin.java deleted file mode 100644 index 62dc563f1..000000000 --- a/libraries/networking-impl/networking-impl-mcb1.0-mcb1.4_01/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ConnectionMixin.java +++ /dev/null @@ -1,35 +0,0 @@ -package net.ornithemc.osl.networking.impl.mixin.common; - -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; - -import com.llamalad7.mixinextras.sugar.Local; - -import net.minecraft.network.Connection; -import net.minecraft.network.PacketHandler; -import net.minecraft.network.packet.Packet; - -import net.ornithemc.osl.networking.impl.Connections; - -@Mixin(Connection.class) -public class ConnectionMixin { - - @Shadow private PacketHandler listener; - - @Inject( - method = "read", - cancellable = true, - at = @At( - value = "INVOKE", - target = "Ljava/util/List;add(Ljava/lang/Object;)Z" - ) - ) - private void osl$networking$asyncCustomPayloads(CallbackInfo ci, @Local Packet packet) { - if (Connections.handleAsyncPacket(packet, listener)) { - ci.cancel(); - } - } -} diff --git a/libraries/networking-impl/networking-impl-mcb1.0-mcb1.4_01/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PacketAccessor.java b/libraries/networking-impl/networking-impl-mcb1.0-mcb1.4_01/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PacketAccessor.java deleted file mode 100644 index ccc944374..000000000 --- a/libraries/networking-impl/networking-impl-mcb1.0-mcb1.4_01/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PacketAccessor.java +++ /dev/null @@ -1,15 +0,0 @@ -package net.ornithemc.osl.networking.impl.mixin.common; - -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.gen.Invoker; - -import net.minecraft.network.packet.Packet; - -@Mixin(Packet.class) -public interface PacketAccessor { - - @Invoker("register") - public static void register(int id, Class type) { - throw new AssertionError(); - } -} diff --git a/libraries/networking-impl/networking-impl-mcb1.0-mcb1.4_01/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/PlayerManagerMixin.java b/libraries/networking-impl/networking-impl-mcb1.0-mcb1.4_01/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/PlayerManagerMixin.java deleted file mode 100644 index 445e1c415..000000000 --- a/libraries/networking-impl/networking-impl-mcb1.0-mcb1.4_01/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/PlayerManagerMixin.java +++ /dev/null @@ -1,37 +0,0 @@ -package net.ornithemc.osl.networking.impl.mixin.server; - -import org.spongepowered.asm.mixin.Final; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; - -import com.llamalad7.mixinextras.sugar.Local; - -import net.minecraft.server.MinecraftServer; -import net.minecraft.server.PlayerManager; -import net.minecraft.server.entity.mob.player.ServerPlayerEntity; - -import net.ornithemc.osl.networking.api.server.ServerConnectionEvents; -import net.ornithemc.osl.networking.impl.access.ServerNetworkHandlerAccess; -import net.ornithemc.osl.networking.impl.server.ServerConnectionContext; - -@Mixin(PlayerManager.class) -public class PlayerManagerMixin { - - @Shadow @Final private MinecraftServer server; - - @Inject( - method = "remove", - at = @At( - value = "HEAD" - ) - ) - private void osl$networking$handleDisconnect(CallbackInfo ci, @Local ServerPlayerEntity player) { - ServerNetworkHandlerAccess networkHandler = (ServerNetworkHandlerAccess) player.networkHandler; - ServerConnectionContext connectionContext = networkHandler.osl$networking$connectionContext(); - - ServerConnectionEvents.DISCONNECT.invoker().accept(connectionContext); - } -} diff --git a/libraries/networking-impl/networking-impl-mcb1.0-mcb1.4_01/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/ServerPlayNetworkHandlerMixin.java b/libraries/networking-impl/networking-impl-mcb1.0-mcb1.4_01/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/ServerPlayNetworkHandlerMixin.java deleted file mode 100644 index 45a75421e..000000000 --- a/libraries/networking-impl/networking-impl-mcb1.0-mcb1.4_01/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/ServerPlayNetworkHandlerMixin.java +++ /dev/null @@ -1,94 +0,0 @@ -package net.ornithemc.osl.networking.impl.mixin.server; - -import java.util.LinkedHashSet; -import java.util.Set; - -import org.spongepowered.asm.mixin.Final; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -import org.spongepowered.asm.mixin.Unique; -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.server.MinecraftServer; -import net.minecraft.server.entity.mob.player.ServerPlayerEntity; -import net.minecraft.server.network.handler.ServerPlayNetworkHandler; - -import net.ornithemc.osl.core.api.util.NamespacedIdentifier; -import net.ornithemc.osl.networking.impl.CustomPayloadPacket; -import net.ornithemc.osl.networking.impl.access.PacketHandlerAccess; -import net.ornithemc.osl.networking.impl.access.ServerNetworkHandlerAccess; -import net.ornithemc.osl.networking.impl.server.ServerConnectionContext; -import net.ornithemc.osl.networking.impl.server.ServerPlayNetworkingImpl; -import net.ornithemc.osl.text.api.TextComponents; - -@Mixin(ServerPlayNetworkHandler.class) -public class ServerPlayNetworkHandlerMixin implements ServerNetworkHandlerAccess, PacketHandlerAccess { - - @Shadow @Final - private MinecraftServer server; - - @Shadow - private ServerPlayerEntity player; - - @Unique - private ServerConnectionContext connectionContext; - /** - * Channels that the client is listening to. - */ - @Unique - private Set clientChannels; - - @Inject( - method = "", - at = @At( - value = "TAIL" - ) - ) - private void osl$networking$initConnectionContext(CallbackInfo ci) { - connectionContext = new ServerConnectionContext(server, (ServerPlayNetworkHandler) (Object) this); - } - - @Inject( - method = "onDisconnect", - at = @At( - value = "HEAD" - ) - ) - private void osl$networking$handleDisconnect(String reason, Object[] args, CallbackInfo ci) { - connectionContext.offerDisconnectReason(args == null - ? TextComponents.translatable(reason) - : TextComponents.translatable(reason, args)); - } - - @Override - public ServerConnectionContext osl$networking$connectionContext() { - return connectionContext; - } - - @Override - public boolean osl$networking$canRunOffMainThread() { - return true; - } - - @Override - public boolean osl$networking$isPlayReady() { - return clientChannels != null; - } - - @Override - public boolean osl$networking$isPlayReady(NamespacedIdentifier channel) { - return clientChannels != null && clientChannels.contains(channel); - } - - @Override - public void osl$networking$registerChannels(Set channels) { - clientChannels = new LinkedHashSet<>(channels); - } - - @Override - public boolean osl$networking$handleCustomPayload(CustomPayloadPacket packet) { - return ServerPlayNetworkingImpl.handlePacket(server, (ServerPlayNetworkHandler)(Object)this, player, packet); - } -} diff --git a/libraries/networking-impl/networking-impl-mcb1.0-mcb1.4_01/src/main/resources/osl.networking-impl.classtweaker b/libraries/networking-impl/networking-impl-mcb1.0-mcb1.4_01/src/main/resources/osl.networking-impl.classtweaker deleted file mode 100644 index 938816a7d..000000000 --- a/libraries/networking-impl/networking-impl-mcb1.0-mcb1.4_01/src/main/resources/osl.networking-impl.classtweaker +++ /dev/null @@ -1,3 +0,0 @@ -classTweaker v1 named - -accessible field net/minecraft/network/Connection socket Ljava/net/Socket; \ No newline at end of file diff --git a/libraries/networking-impl/networking-impl-mcb1.0-mcb1.4_01/src/main/resources/osl.networking-impl.mixins.json b/libraries/networking-impl/networking-impl-mcb1.0-mcb1.4_01/src/main/resources/osl.networking-impl.mixins.json deleted file mode 100644 index 4c07c796d..000000000 --- a/libraries/networking-impl/networking-impl-mcb1.0-mcb1.4_01/src/main/resources/osl.networking-impl.mixins.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "required": true, - "minVersion": "0.8", - "package": "net.ornithemc.osl.networking.impl.mixin", - "compatibilityLevel": "JAVA_8", - "mixins": [ - "common.ConnectionMixin", - "common.PacketAccessor" - ], - "client": [ - "client.ClientNetworkHandlerMixin", - "client.HandshakePacketMixin", - "client.MinecraftMixin" - ], - "server": [ - "server.PlayerManagerMixin", - "server.ServerLoginNetworkHandlerMixin", - "server.ServerPlayNetworkHandlerMixin" - ], - "injectors": { - "defaultRequire": 1 - } -} diff --git a/libraries/networking-impl/networking-impl-mcb1.5-mc11w48a/build.gradle b/libraries/networking-impl/networking-impl-mcb1.5-mc11w48a/build.gradle deleted file mode 100644 index 0a350fdb3..000000000 --- a/libraries/networking-impl/networking-impl-mcb1.5-mc11w48a/build.gradle +++ /dev/null @@ -1 +0,0 @@ -setUpModule(project) diff --git a/libraries/networking-impl/networking-impl-mcb1.5-mc11w48a/gradle.properties b/libraries/networking-impl/networking-impl-mcb1.5-mc11w48a/gradle.properties deleted file mode 100644 index 52122df35..000000000 --- a/libraries/networking-impl/networking-impl-mcb1.5-mc11w48a/gradle.properties +++ /dev/null @@ -1,6 +0,0 @@ -min_mc_version = b1.5 -max_mc_version = 11w48a - -minecraft_version = 11w48a -client_nests_build = 11 -server_nests_build = 6 diff --git a/libraries/networking-impl/networking-impl-mcb1.5-mc11w48a/src/main/java/net/ornithemc/osl/networking/impl/CustomPayloadPacket.java b/libraries/networking-impl/networking-impl-mcb1.5-mc11w48a/src/main/java/net/ornithemc/osl/networking/impl/CustomPayloadPacket.java deleted file mode 100644 index 43bb1345f..000000000 --- a/libraries/networking-impl/networking-impl-mcb1.5-mc11w48a/src/main/java/net/ornithemc/osl/networking/impl/CustomPayloadPacket.java +++ /dev/null @@ -1,87 +0,0 @@ -package net.ornithemc.osl.networking.impl; - -import java.io.DataInputStream; -import java.io.DataOutputStream; -import java.io.IOException; -import java.io.UncheckedIOException; - -import net.minecraft.network.PacketHandler; -import net.minecraft.network.packet.Packet; - -import net.ornithemc.osl.core.api.util.NamespacedIdentifier; -import net.ornithemc.osl.networking.api.StringChannelIdentifierParser; -import net.ornithemc.osl.networking.impl.access.CustomPayloadPacketAccess; -import net.ornithemc.osl.networking.impl.access.PacketHandlerAccess; - -public class CustomPayloadPacket extends Packet implements CustomPayloadPacketAccess { - - private String channel; - private int size; - private byte[] data; - - public CustomPayloadPacket() { - } - - public CustomPayloadPacket(NamespacedIdentifier channel, byte[] data) { - this.channel = StringChannelIdentifierParser.toString(channel); - this.data = data; - this.size = data.length; - - if (this.data != null && this.size > Short.MAX_VALUE) { - throw new IllegalArgumentException("Payload may not be larger than 32k"); - } - } - - // the IOException has been stripped from the read/write methods - // by the obfuscator, thus we catch it and re-throw it as a - // runtime exception - it will be caught in Connection#read anyhow - - @Override - public void read(DataInputStream input) { - try { - this.channel = readString(input, StringChannelIdentifierParser.MAX_LENGTH); - this.size = input.readShort(); - if (this.size > 0 && this.size < Short.MAX_VALUE) { - this.data = new byte[this.size]; - input.readFully(this.data); - } - } catch (IOException e) { - throw new UncheckedIOException(e); - } - } - - @Override - public void write(DataOutputStream output) { - try { - writeString(this.channel, output); - output.writeShort(this.size); - if (this.data != null) { - output.write(this.data); - } - } catch (IOException e) { - throw new UncheckedIOException(e); - } - } - - @Override - public void handle(PacketHandler handler) { - if (handler instanceof PacketHandlerAccess) { - ((PacketHandlerAccess) handler).osl$networking$handleCustomPayload(this); - } - } - - @Override - public int getSize() { - return 2 + this.channel.length() * 2 + 2 + this.data.length; - } - - @Override - public NamespacedIdentifier osl$networking$getChannel() { - return StringChannelIdentifierParser.fromString(this.channel); - } - - @Override - public byte[] osl$networking$getData() { - return this.data; - } -} diff --git a/libraries/networking-impl/networking-impl-mcb1.5-mc11w48a/src/main/java/net/ornithemc/osl/networking/impl/Networking.java b/libraries/networking-impl/networking-impl-mcb1.5-mc11w48a/src/main/java/net/ornithemc/osl/networking/impl/Networking.java deleted file mode 100644 index f5b0a2cb0..000000000 --- a/libraries/networking-impl/networking-impl-mcb1.5-mc11w48a/src/main/java/net/ornithemc/osl/networking/impl/Networking.java +++ /dev/null @@ -1,59 +0,0 @@ -package net.ornithemc.osl.networking.impl; - -import net.ornithemc.osl.entrypoints.api.ModInitializer; -import net.ornithemc.osl.entrypoints.api.client.ClientModInitializer; -import net.ornithemc.osl.entrypoints.api.server.ServerModInitializer; -import net.ornithemc.osl.lifecycle.api.client.MinecraftClientEvents; -import net.ornithemc.osl.lifecycle.api.server.MinecraftServerEvents; -import net.ornithemc.osl.networking.api.client.ClientConnectionEvents; -import net.ornithemc.osl.networking.api.server.ServerConnectionEvents; -import net.ornithemc.osl.networking.impl.access.ClientNetworkHandlerAccess; -import net.ornithemc.osl.networking.impl.access.ServerNetworkHandlerAccess; -import net.ornithemc.osl.networking.impl.client.ClientConnectionContext; -import net.ornithemc.osl.networking.impl.client.ClientPlayNetworkingImpl; -import net.ornithemc.osl.networking.impl.mixin.common.PacketAccessor; -import net.ornithemc.osl.networking.impl.server.ServerConnectionContext; -import net.ornithemc.osl.networking.impl.server.ServerPlayNetworkingImpl; - -public class Networking implements ModInitializer, ClientModInitializer, ServerModInitializer { - - @Override - public void init() { - PacketAccessor.register(Constants.CUSTOM_PAYLOAD_PACKET_ID, true, true, CustomPayloadPacket.class); - } - - @Override - public void initClient() { - MinecraftClientEvents.START.register(ClientPlayNetworkingImpl::setUp); - MinecraftClientEvents.STOP.register(ClientPlayNetworkingImpl::destroy); - ClientPlayNetworkingImpl.setUpPacketFactory(CustomPayloadPacket::new); - ClientPlayNetworkingImpl.registerListener(HandshakePayload.CHANNEL, HandshakePayload::new, (context, payload) -> { - // ensure the handshake is processed on the main thread, - // where the network handler is guaranteed to be set - context.ensureOnMainThread(); - - // send channel registration data as a response to receiving server channel registration data - ClientPlayNetworkingImpl.sendNoCheck(HandshakePayload.CHANNEL, HandshakePayload.client()); - - ClientNetworkHandlerAccess networkHandler = (ClientNetworkHandlerAccess) context.networkHandler(); - ClientConnectionContext connectionContext = networkHandler.osl$networking$connectionContext(); - - networkHandler.osl$networking$registerChannels(payload.channels); - ClientConnectionEvents.PLAY_READY.invoker().accept(connectionContext); - }); - } - - @Override - public void initServer() { - MinecraftServerEvents.START.register(ServerPlayNetworkingImpl::setUp); - MinecraftServerEvents.STOP.register(ServerPlayNetworkingImpl::destroy); - ServerPlayNetworkingImpl.setUpPacketFactory(CustomPayloadPacket::new); - ServerPlayNetworkingImpl.registerListener(HandshakePayload.CHANNEL, HandshakePayload::new, (context, payload) -> { - ServerNetworkHandlerAccess networkHandler = (ServerNetworkHandlerAccess) context.networkHandler(); - ServerConnectionContext connectionContext = networkHandler.osl$networking$connectionContext(); - - networkHandler.osl$networking$registerChannels(payload.channels); - ServerConnectionEvents.PLAY_READY.invoker().accept(connectionContext); - }); - } -} diff --git a/libraries/networking-impl/networking-impl-mcb1.5-mc11w48a/src/main/java/net/ornithemc/osl/networking/impl/access/ClientNetworkHandlerAccess.java b/libraries/networking-impl/networking-impl-mcb1.5-mc11w48a/src/main/java/net/ornithemc/osl/networking/impl/access/ClientNetworkHandlerAccess.java deleted file mode 100644 index e067a1831..000000000 --- a/libraries/networking-impl/networking-impl-mcb1.5-mc11w48a/src/main/java/net/ornithemc/osl/networking/impl/access/ClientNetworkHandlerAccess.java +++ /dev/null @@ -1,9 +0,0 @@ -package net.ornithemc.osl.networking.impl.access; - -import net.ornithemc.osl.networking.impl.client.ClientConnectionContext; - -public interface ClientNetworkHandlerAccess extends NetworkHandlerAccess { - - ClientConnectionContext osl$networking$connectionContext(); - -} diff --git a/libraries/networking-impl/networking-impl-mcb1.5-mc11w48a/src/main/java/net/ornithemc/osl/networking/impl/access/PacketHandlerAccess.java b/libraries/networking-impl/networking-impl-mcb1.5-mc11w48a/src/main/java/net/ornithemc/osl/networking/impl/access/PacketHandlerAccess.java deleted file mode 100644 index d5dc849d4..000000000 --- a/libraries/networking-impl/networking-impl-mcb1.5-mc11w48a/src/main/java/net/ornithemc/osl/networking/impl/access/PacketHandlerAccess.java +++ /dev/null @@ -1,9 +0,0 @@ -package net.ornithemc.osl.networking.impl.access; - -import net.ornithemc.osl.networking.impl.CustomPayloadPacket; - -public interface PacketHandlerAccess { - - boolean osl$networking$handleCustomPayload(CustomPayloadPacket packet); - -} diff --git a/libraries/networking-impl/networking-impl-mcb1.5-mc11w48a/src/main/java/net/ornithemc/osl/networking/impl/access/ServerNetworkHandlerAccess.java b/libraries/networking-impl/networking-impl-mcb1.5-mc11w48a/src/main/java/net/ornithemc/osl/networking/impl/access/ServerNetworkHandlerAccess.java deleted file mode 100644 index 1d596400b..000000000 --- a/libraries/networking-impl/networking-impl-mcb1.5-mc11w48a/src/main/java/net/ornithemc/osl/networking/impl/access/ServerNetworkHandlerAccess.java +++ /dev/null @@ -1,9 +0,0 @@ -package net.ornithemc.osl.networking.impl.access; - -import net.ornithemc.osl.networking.impl.server.ServerConnectionContext; - -public interface ServerNetworkHandlerAccess extends NetworkHandlerAccess { - - ServerConnectionContext osl$networking$connectionContext(); - -} diff --git a/libraries/networking-impl/networking-impl-mcb1.5-mc11w48a/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/ClientNetworkHandlerMixin.java b/libraries/networking-impl/networking-impl-mcb1.5-mc11w48a/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/ClientNetworkHandlerMixin.java deleted file mode 100644 index fb7442aca..000000000 --- a/libraries/networking-impl/networking-impl-mcb1.5-mc11w48a/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/ClientNetworkHandlerMixin.java +++ /dev/null @@ -1,125 +0,0 @@ -package net.ornithemc.osl.networking.impl.mixin.client; - -import java.net.SocketAddress; -import java.util.LinkedHashSet; -import java.util.Set; - -import org.spongepowered.asm.mixin.Final; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -import org.spongepowered.asm.mixin.Unique; -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.Minecraft; -import net.minecraft.client.network.handler.ClientNetworkHandler; -import net.minecraft.client.world.MultiplayerWorld; -import net.minecraft.network.Connection; -import net.minecraft.network.packet.DisconnectPacket; - -import net.ornithemc.osl.core.api.util.NamespacedIdentifier; -import net.ornithemc.osl.networking.api.client.ClientConnectionEvents; -import net.ornithemc.osl.networking.impl.AddressParser; -import net.ornithemc.osl.networking.impl.CustomPayloadPacket; -import net.ornithemc.osl.networking.impl.access.ClientNetworkHandlerAccess; -import net.ornithemc.osl.networking.impl.access.PacketHandlerAccess; -import net.ornithemc.osl.networking.impl.client.ClientConnectionContext; -import net.ornithemc.osl.networking.impl.client.ClientPlayNetworkingImpl; -import net.ornithemc.osl.text.api.TextComponents; - -@Mixin(ClientNetworkHandler.class) -public class ClientNetworkHandlerMixin implements ClientNetworkHandlerAccess, PacketHandlerAccess { - - @Shadow @Final - private Minecraft minecraft; - @Shadow @Final - private MultiplayerWorld world; - @Shadow @Final - private Connection connection; - - @Unique - private ClientConnectionContext connectionContext; - /** - * Channels that the server is listening to. - */ - @Unique - private Set serverChannels; - - @Inject( - method = "*", - at = @At( - value = "TAIL" - ) - ) - private void osl$networking$initConnectionContext(CallbackInfo ci) { - SocketAddress address = connection.socket.getRemoteSocketAddress(); - - String serverAddress = AddressParser.getAddress(address); - int serverPort = AddressParser.getPort(address); - - connectionContext = new ClientConnectionContext(minecraft, serverAddress, serverPort); - } - - @Inject( - method = "handleLogin", - at = @At( - value = "TAIL" - ) - ) - private void osl$networking$handleLogin(CallbackInfo ci) { - ClientConnectionEvents.LOGIN.invoker().accept(connectionContext); - } - - @Inject( - method = "handleDisconnect", - at = @At( - value = "HEAD" - ) - ) - private void osl$networking$handleDisconnect(DisconnectPacket packet, CallbackInfo ci) { - connectionContext.offerDisconnectReason(TextComponents.resolve(packet.reason)); - } - - @Inject( - method = "onDisconnect", - at = @At( - value = "HEAD" - ) - ) - private void osl$networking$handleDisconnect(String reason, Object[] args, CallbackInfo ci) { - connectionContext.offerDisconnectReason(args == null - ? TextComponents.translatable(reason) - : TextComponents.translatable(reason, args)); - } - - @Override - public ClientConnectionContext osl$networking$connectionContext() { - return connectionContext; - } - - @Override - public boolean osl$networking$canRunOffMainThread() { - return minecraft != null && minecraft.world != null && minecraft.player != null && world != null; - } - - @Override - public boolean osl$networking$isPlayReady() { - return serverChannels != null; - } - - @Override - public boolean osl$networking$isPlayReady(NamespacedIdentifier channel) { - return serverChannels != null && serverChannels.contains(channel); - } - - @Override - public void osl$networking$registerChannels(Set channels) { - serverChannels = new LinkedHashSet<>(channels); - } - - @Override - public boolean osl$networking$handleCustomPayload(CustomPayloadPacket packet) { - return ClientPlayNetworkingImpl.handlePacket(minecraft, (ClientNetworkHandler)(Object)this, packet); - } -} diff --git a/libraries/networking-impl/networking-impl-mcb1.5-mc11w48a/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/HandshakePacketMixin.java b/libraries/networking-impl/networking-impl-mcb1.5-mc11w48a/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/HandshakePacketMixin.java deleted file mode 100644 index 0b5555b74..000000000 --- a/libraries/networking-impl/networking-impl-mcb1.5-mc11w48a/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/HandshakePacketMixin.java +++ /dev/null @@ -1,27 +0,0 @@ -package net.ornithemc.osl.networking.impl.mixin.client; - -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -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.network.packet.HandshakePacket; - -import net.ornithemc.osl.networking.impl.Constants; - -@Mixin(HandshakePacket.class) -public class HandshakePacketMixin { - - @Shadow private String key; - - @Inject( - method = "(Ljava/lang/String;)V", - at = @At( - value = "TAIL" - ) - ) - private void osl$networking$modifyHandshakeForOsl(CallbackInfo ci) { - key = Constants.OSL_HANDSHAKE_KEY; - } -} diff --git a/libraries/networking-impl/networking-impl-mcb1.5-mc11w48a/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixin.java b/libraries/networking-impl/networking-impl-mcb1.5-mc11w48a/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixin.java deleted file mode 100644 index 6600fd992..000000000 --- a/libraries/networking-impl/networking-impl-mcb1.5-mc11w48a/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixin.java +++ /dev/null @@ -1,41 +0,0 @@ -package net.ornithemc.osl.networking.impl.mixin.client; - -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -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.Minecraft; -import net.minecraft.client.network.handler.ClientNetworkHandler; -import net.minecraft.client.world.MultiplayerWorld; -import net.minecraft.world.World; - -import net.ornithemc.osl.networking.api.client.ClientConnectionEvents; -import net.ornithemc.osl.networking.impl.access.ClientNetworkHandlerAccess; -import net.ornithemc.osl.networking.impl.client.ClientConnectionContext; - -@Mixin(Minecraft.class) -public class MinecraftMixin { - - @Shadow - private World world; - - @Shadow - private ClientNetworkHandler getNetworkHandler() { return null; } - - @Inject( - method = "setWorld(Lnet/minecraft/world/World;Ljava/lang/String;)V", - at = @At( - value = "HEAD" - ) - ) - private void osl$networking$disconnect(World world, String title, CallbackInfo ci) { - if (this.world != null && this.world instanceof MultiplayerWorld && world == null) { - ClientNetworkHandlerAccess networkHandler = (ClientNetworkHandlerAccess) getNetworkHandler(); - ClientConnectionContext connectionContext = networkHandler.osl$networking$connectionContext(); - - ClientConnectionEvents.DISCONNECT.invoker().accept(connectionContext); - } - } -} diff --git a/libraries/networking-impl/networking-impl-mcb1.5-mc11w48a/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ConnectionMixin.java b/libraries/networking-impl/networking-impl-mcb1.5-mc11w48a/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ConnectionMixin.java deleted file mode 100644 index b478e0190..000000000 --- a/libraries/networking-impl/networking-impl-mcb1.5-mc11w48a/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ConnectionMixin.java +++ /dev/null @@ -1,35 +0,0 @@ -package net.ornithemc.osl.networking.impl.mixin.common; - -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; - -import com.llamalad7.mixinextras.sugar.Local; - -import net.minecraft.network.Connection; -import net.minecraft.network.PacketHandler; -import net.minecraft.network.packet.Packet; - -import net.ornithemc.osl.networking.impl.Connections; - -@Mixin(Connection.class) -public class ConnectionMixin { - - @Shadow private PacketHandler listener; - - @Inject( - method = "read", - cancellable = true, - at = @At( - value = "INVOKE", - target = "Ljava/util/List;add(Ljava/lang/Object;)Z" - ) - ) - private void osl$networking$asyncCustomPayloads(CallbackInfoReturnable cir, @Local Packet packet) { - if (Connections.handleAsyncPacket(packet, listener)) { - cir.setReturnValue(true); - } - } -} diff --git a/libraries/networking-impl/networking-impl-mcb1.5-mc11w48a/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PacketAccessor.java b/libraries/networking-impl/networking-impl-mcb1.5-mc11w48a/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PacketAccessor.java deleted file mode 100644 index 715078da5..000000000 --- a/libraries/networking-impl/networking-impl-mcb1.5-mc11w48a/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PacketAccessor.java +++ /dev/null @@ -1,15 +0,0 @@ -package net.ornithemc.osl.networking.impl.mixin.common; - -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.gen.Invoker; - -import net.minecraft.network.packet.Packet; - -@Mixin(Packet.class) -public interface PacketAccessor { - - @Invoker("register") - public static void register(int id, boolean s2c, boolean c2s, Class type) { - throw new AssertionError(); - } -} diff --git a/libraries/networking-impl/networking-impl-mcb1.5-mc11w48a/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/PlayerManagerMixin.java b/libraries/networking-impl/networking-impl-mcb1.5-mc11w48a/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/PlayerManagerMixin.java deleted file mode 100644 index 445e1c415..000000000 --- a/libraries/networking-impl/networking-impl-mcb1.5-mc11w48a/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/PlayerManagerMixin.java +++ /dev/null @@ -1,37 +0,0 @@ -package net.ornithemc.osl.networking.impl.mixin.server; - -import org.spongepowered.asm.mixin.Final; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; - -import com.llamalad7.mixinextras.sugar.Local; - -import net.minecraft.server.MinecraftServer; -import net.minecraft.server.PlayerManager; -import net.minecraft.server.entity.mob.player.ServerPlayerEntity; - -import net.ornithemc.osl.networking.api.server.ServerConnectionEvents; -import net.ornithemc.osl.networking.impl.access.ServerNetworkHandlerAccess; -import net.ornithemc.osl.networking.impl.server.ServerConnectionContext; - -@Mixin(PlayerManager.class) -public class PlayerManagerMixin { - - @Shadow @Final private MinecraftServer server; - - @Inject( - method = "remove", - at = @At( - value = "HEAD" - ) - ) - private void osl$networking$handleDisconnect(CallbackInfo ci, @Local ServerPlayerEntity player) { - ServerNetworkHandlerAccess networkHandler = (ServerNetworkHandlerAccess) player.networkHandler; - ServerConnectionContext connectionContext = networkHandler.osl$networking$connectionContext(); - - ServerConnectionEvents.DISCONNECT.invoker().accept(connectionContext); - } -} diff --git a/libraries/networking-impl/networking-impl-mcb1.5-mc11w48a/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/ServerLoginNetworkHandlerMixin.java b/libraries/networking-impl/networking-impl-mcb1.5-mc11w48a/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/ServerLoginNetworkHandlerMixin.java deleted file mode 100644 index 6b80b7e9a..000000000 --- a/libraries/networking-impl/networking-impl-mcb1.5-mc11w48a/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/ServerLoginNetworkHandlerMixin.java +++ /dev/null @@ -1,67 +0,0 @@ -package net.ornithemc.osl.networking.impl.mixin.server; - -import org.spongepowered.asm.mixin.Final; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -import org.spongepowered.asm.mixin.Unique; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; - -import com.llamalad7.mixinextras.sugar.Local; - -import net.minecraft.network.packet.HandshakePacket; -import net.minecraft.server.MinecraftServer; -import net.minecraft.server.entity.mob.player.ServerPlayerEntity; -import net.minecraft.server.network.handler.ServerLoginNetworkHandler; - -import net.ornithemc.osl.networking.api.server.ServerConnectionEvents; -import net.ornithemc.osl.networking.impl.Constants; -import net.ornithemc.osl.networking.impl.HandshakePayload; -import net.ornithemc.osl.networking.impl.access.ServerNetworkHandlerAccess; -import net.ornithemc.osl.networking.impl.server.ServerConnectionContext; -import net.ornithemc.osl.networking.impl.server.ServerPlayNetworkingImpl; - -@Mixin(ServerLoginNetworkHandler.class) -public class ServerLoginNetworkHandlerMixin { - - @Shadow @Final private MinecraftServer server; - - /** - * is the client also running OSL? - */ - @Unique - private boolean ornithe; - - @Inject( - method = "handleHandshake", - at = @At( - value = "HEAD" - ) - ) - private void osl$networking$handleHandshake(HandshakePacket packet, CallbackInfo ci) { - if (Constants.OSL_HANDSHAKE_KEY.equals(packet.key)) { - ornithe = true; - } - } - - @Inject( - method = "acceptLogin", - at = @At( - value = "TAIL" - ) - ) - private void osl$networking$handleLogin(CallbackInfo ci, @Local ServerPlayerEntity player) { - if (player != null) { - if (ornithe) { - // send channel registration data as soon as login occurs - ServerPlayNetworkingImpl.sendNoCheck(player, HandshakePayload.CHANNEL, HandshakePayload.server()); - } - - ServerNetworkHandlerAccess networkHandler = (ServerNetworkHandlerAccess) player.networkHandler; - ServerConnectionContext connectionContext = networkHandler.osl$networking$connectionContext(); - - ServerConnectionEvents.LOGIN.invoker().accept(connectionContext); - } - } -} diff --git a/libraries/networking-impl/networking-impl-mcb1.5-mc11w48a/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/ServerPlayNetworkHandlerMixin.java b/libraries/networking-impl/networking-impl-mcb1.5-mc11w48a/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/ServerPlayNetworkHandlerMixin.java deleted file mode 100644 index 45a75421e..000000000 --- a/libraries/networking-impl/networking-impl-mcb1.5-mc11w48a/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/ServerPlayNetworkHandlerMixin.java +++ /dev/null @@ -1,94 +0,0 @@ -package net.ornithemc.osl.networking.impl.mixin.server; - -import java.util.LinkedHashSet; -import java.util.Set; - -import org.spongepowered.asm.mixin.Final; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -import org.spongepowered.asm.mixin.Unique; -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.server.MinecraftServer; -import net.minecraft.server.entity.mob.player.ServerPlayerEntity; -import net.minecraft.server.network.handler.ServerPlayNetworkHandler; - -import net.ornithemc.osl.core.api.util.NamespacedIdentifier; -import net.ornithemc.osl.networking.impl.CustomPayloadPacket; -import net.ornithemc.osl.networking.impl.access.PacketHandlerAccess; -import net.ornithemc.osl.networking.impl.access.ServerNetworkHandlerAccess; -import net.ornithemc.osl.networking.impl.server.ServerConnectionContext; -import net.ornithemc.osl.networking.impl.server.ServerPlayNetworkingImpl; -import net.ornithemc.osl.text.api.TextComponents; - -@Mixin(ServerPlayNetworkHandler.class) -public class ServerPlayNetworkHandlerMixin implements ServerNetworkHandlerAccess, PacketHandlerAccess { - - @Shadow @Final - private MinecraftServer server; - - @Shadow - private ServerPlayerEntity player; - - @Unique - private ServerConnectionContext connectionContext; - /** - * Channels that the client is listening to. - */ - @Unique - private Set clientChannels; - - @Inject( - method = "", - at = @At( - value = "TAIL" - ) - ) - private void osl$networking$initConnectionContext(CallbackInfo ci) { - connectionContext = new ServerConnectionContext(server, (ServerPlayNetworkHandler) (Object) this); - } - - @Inject( - method = "onDisconnect", - at = @At( - value = "HEAD" - ) - ) - private void osl$networking$handleDisconnect(String reason, Object[] args, CallbackInfo ci) { - connectionContext.offerDisconnectReason(args == null - ? TextComponents.translatable(reason) - : TextComponents.translatable(reason, args)); - } - - @Override - public ServerConnectionContext osl$networking$connectionContext() { - return connectionContext; - } - - @Override - public boolean osl$networking$canRunOffMainThread() { - return true; - } - - @Override - public boolean osl$networking$isPlayReady() { - return clientChannels != null; - } - - @Override - public boolean osl$networking$isPlayReady(NamespacedIdentifier channel) { - return clientChannels != null && clientChannels.contains(channel); - } - - @Override - public void osl$networking$registerChannels(Set channels) { - clientChannels = new LinkedHashSet<>(channels); - } - - @Override - public boolean osl$networking$handleCustomPayload(CustomPayloadPacket packet) { - return ServerPlayNetworkingImpl.handlePacket(server, (ServerPlayNetworkHandler)(Object)this, player, packet); - } -} diff --git a/libraries/networking-impl/networking-impl-mcb1.5-mc11w48a/src/main/resources/fabric.mod.json b/libraries/networking-impl/networking-impl-mcb1.5-mc11w48a/src/main/resources/fabric.mod.json deleted file mode 100644 index f94968c0b..000000000 --- a/libraries/networking-impl/networking-impl-mcb1.5-mc11w48a/src/main/resources/fabric.mod.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "schemaVersion": 1, - "id": "osl-networking-impl", - "version": "0.3.0+mcb1.5-mc11w48a", - "environment": "*", - "entrypoints": { - "init": [ - "net.ornithemc.osl.networking.impl.Networking" - ], - "client-init": [ - "net.ornithemc.osl.networking.impl.Networking" - ], - "server-init": [ - "net.ornithemc.osl.networking.impl.Networking" - ] - }, - "mixins": [ - "osl.networking-impl.mixins.json" - ], - "accessWidener": "osl.networking-impl.classtweaker", - "depends": { - "fabricloader": "\u003e\u003d0.18.0", - "minecraft": "\u003e\u003d1.0.0-beta.5 \u003c\u003d1.1-alpha.11.48.a", - "osl-core": "\u003e\u003d0.7.0", - "osl-entrypoints": "\u003e\u003d0.5.0", - "osl-lifecycle-events": "\u003e\u003d0.6.0", - "osl-text-components": "\u003e\u003d0.1.0", - "osl-executors": "\u003e\u003d0.1.0", - "osl-networking": "\u003e\u003d0.12.0" - }, - "name": "OSL Networking Implementation", - "description": "Implementation details of the Networking API.", - "authors": [ - "OrnitheMC" - ], - "contact": { - "homepage": "https://ornithemc.net/", - "issues": "https://github.com/OrnitheMC/ornithe-standard-libraries/issues", - "sources": "https://github.com/OrnitheMC/ornithe-standard-libraries" - }, - "license": "Apache-2.0" -} \ No newline at end of file diff --git a/libraries/networking-impl/networking-impl-mcb1.5-mc11w48a/src/main/resources/osl.networking-impl.classtweaker b/libraries/networking-impl/networking-impl-mcb1.5-mc11w48a/src/main/resources/osl.networking-impl.classtweaker deleted file mode 100644 index 938816a7d..000000000 --- a/libraries/networking-impl/networking-impl-mcb1.5-mc11w48a/src/main/resources/osl.networking-impl.classtweaker +++ /dev/null @@ -1,3 +0,0 @@ -classTweaker v1 named - -accessible field net/minecraft/network/Connection socket Ljava/net/Socket; \ No newline at end of file diff --git a/libraries/networking-impl/networking-impl-mcb1.5-mc11w48a/src/main/resources/osl.networking-impl.mixins.json b/libraries/networking-impl/networking-impl-mcb1.5-mc11w48a/src/main/resources/osl.networking-impl.mixins.json deleted file mode 100644 index 4c07c796d..000000000 --- a/libraries/networking-impl/networking-impl-mcb1.5-mc11w48a/src/main/resources/osl.networking-impl.mixins.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "required": true, - "minVersion": "0.8", - "package": "net.ornithemc.osl.networking.impl.mixin", - "compatibilityLevel": "JAVA_8", - "mixins": [ - "common.ConnectionMixin", - "common.PacketAccessor" - ], - "client": [ - "client.ClientNetworkHandlerMixin", - "client.HandshakePacketMixin", - "client.MinecraftMixin" - ], - "server": [ - "server.PlayerManagerMixin", - "server.ServerLoginNetworkHandlerMixin", - "server.ServerPlayNetworkHandlerMixin" - ], - "injectors": { - "defaultRequire": 1 - } -} diff --git a/settings.gradle b/settings.gradle index dd40afefc..0a68ec60a 100644 --- a/settings.gradle +++ b/settings.gradle @@ -164,18 +164,8 @@ include ':libraries:networking:networking-mc18w31a-mc1.14.4' include ':libraries:networking-impl' include ':libraries:networking-impl:networking-impl-mca1.0.16-mca1.2.6' include ':libraries:networking-impl:networking-impl-mca0.1.2_01-mca0.2.8' -include ':libraries:networking-impl:networking-impl-mcb1.0-mcb1.4_01' -include ':libraries:networking-impl:networking-impl-mcb1.5-mc11w48a' -include ':libraries:networking-impl:networking-impl-mc11w49a-mc12w16a' -include ':libraries:networking-impl:networking-impl-mc12w17a-mc12w17a' -include ':libraries:networking-impl:networking-impl-mc12w18a-mc12w19a' -include ':libraries:networking-impl:networking-impl-mc12w21a-mc13w39b' -include ':libraries:networking-impl:networking-impl-mc13w41a-mc14w20b' -include ':libraries:networking-impl:networking-impl-mc14w21a-mc14w30c' -include ':libraries:networking-impl:networking-impl-mc14w31a-mc1.13-pre2' -include ':libraries:networking-impl:networking-impl-mc1.13-pre3-mc1.13-pre3' -include ':libraries:networking-impl:networking-impl-mc1.13-pre4-mc1.13.2' -include ':libraries:networking-impl:networking-impl-mc18w43a-mc1.14.4' +include ':libraries:networking-impl:networking-impl-mcb1.0-mc13w39b' +include ':libraries:networking-impl:networking-impl-mc13w41a-mc1.14.4' include ':libraries:registries' include ':libraries:registries:registries-mca1.0.1_01-mc12w17a' From 4ee984267a3d7f08d22c79fdabb4cfbc9c6499c2 Mon Sep 17 00:00:00 2001 From: Space Walker Date: Thu, 5 Nov 2026 18:33:00 +0100 Subject: [PATCH 03/12] [networking] merge networking-impl into networking --- libraries/networking-impl/build.gradle | 1 - libraries/networking-impl/gradle.properties | 9 -- .../build.gradle | 1 - .../gradle.properties | 4 - .../src/main/resources/fabric.mod.json | 41 ------ .../resources/osl.networking-impl.mixins.json | 26 ---- .../build.gradle | 1 - .../gradle.properties | 8 -- .../src/main/resources/fabric.mod.json | 41 ------ .../resources/osl.networking-impl.mixins.json | 20 --- .../build.gradle | 1 - .../gradle.properties | 8 -- .../src/main/resources/fabric.mod.json | 42 ------ .../resources/osl.networking-impl.mixins.json | 21 --- .../build.gradle | 1 - .../gradle.properties | 6 - .../src/main/resources/fabric.mod.json | 42 ------ .../osl.networking-impl.classtweaker | 5 - .../resources/osl.networking-impl.mixins.json | 28 ---- libraries/networking/gradle.properties | 5 +- .../osl/networking/impl/Connections.java | 0 .../osl/networking/impl/HandshakePayload.java | 12 +- .../osl/networking/impl/Networking.java | 0 .../access/ClientNetworkHandlerAccess.java | 0 .../impl/access/PlayerManagerAccess.java | 11 -- .../access/ServerNetworkHandlerAccess.java | 0 .../client/ClientPlayNetworkHandlerMixin.java | 26 ++-- .../client/CustomPayloadC2SPacketAccess.java | 0 .../impl/mixin/client/MinecraftMixin.java | 15 +- .../impl/mixin/common/ConnectionMixin.java | 4 +- .../common/CustomPayloadC2SPacketMixin.java | 0 .../common/CustomPayloadS2CPacketAccess.java | 0 .../common/CustomPayloadS2CPacketMixin.java | 0 .../mixin/common/MinecraftServerMixin.java | 6 +- .../impl/mixin/common/PlayerManagerMixin.java | 20 +-- .../common/ServerPlayNetworkHandlerMixin.java | 14 +- .../impl/server/ServerPlayNetworkingImpl.java | 3 +- .../src/main/resources/fabric.mod.json | 15 +- .../resources/osl.networking.classtweaker | 3 + .../main/resources/osl.networking.mixins.json | 11 ++ .../osl/networking/impl/HandshakePayload.java | 12 +- .../osl/networking/impl/Networking.java | 71 +++++++++ .../access/ClientNetworkHandlerAccess.java | 0 .../impl/access/PlayerManagerAccess.java | 11 -- .../access/ServerNetworkHandlerAccess.java | 0 .../client/ClientPlayNetworkHandlerMixin.java | 135 ++++++++++++++++++ .../impl/mixin/client/MinecraftMixin.java | 65 +++++++++ .../common/CustomPayloadC2SPacketMixin.java | 54 +++++++ .../common/CustomPayloadS2CPacketMixin.java | 33 +++++ .../impl/mixin/common/PlayerManagerMixin.java | 45 ++++++ .../common/ServerPlayNetworkHandlerMixin.java | 95 ++++++++++++ .../mixin/server/MinecraftServerMixin.java | 41 ++++++ .../impl/server/ServerPlayNetworkingImpl.java | 2 +- .../src/main/resources/fabric.mod.json | 15 +- .../resources/osl.networking.classtweaker | 3 + .../main/resources/osl.networking.mixins.json | 8 ++ .../networking/impl/CustomPayloadPacket.java | 0 .../osl/networking/impl/HandshakePayload.java | 12 +- .../osl/networking/impl/Networking.java | 0 .../impl/access/PacketHandlerAccess.java | 0 .../access/ServerNetworkHandlerAccess.java | 4 - .../impl/mixin/common/ConnectionMixin.java | 5 +- .../impl/mixin/common/PacketAccessor.java | 0 .../impl/mixin/server/PlayerManagerMixin.java | 5 - .../ServerLoginNetworkHandlerMixin.java | 7 +- .../server/ServerPlayNetworkHandlerMixin.java | 14 +- .../impl/server/ServerConnectionContext.java | 2 +- .../src/main/resources/fabric.mod.json | 15 +- .../resources/osl.networking.classtweaker | 3 + .../main/resources/osl.networking.mixins.json | 5 + .../networking/impl/CustomPayloadPacket.java | 34 ++++- .../osl/networking/impl/HandshakePayload.java | 12 +- .../osl/networking/impl/Networking.java | 38 +++++ .../impl/access/PacketHandlerAccess.java | 0 .../access/ServerNetworkHandlerAccess.java | 0 .../impl/mixin/common/ConnectionMixin.java | 5 +- .../impl/mixin/common/PacketAccessor.java | 0 .../impl/mixin/server/PlayerManagerMixin.java | 32 +++++ .../ServerLoginNetworkHandlerMixin.java | 68 +++++++++ .../server/ServerPlayNetworkHandlerMixin.java | 92 ++++++++++++ .../src/main/resources/fabric.mod.json | 14 +- .../resources/osl.networking.classtweaker | 2 +- .../main/resources/osl.networking.mixins.json | 5 + .../networking/impl/CustomPayloadPacket.java | 34 ++++- .../osl/networking/impl/HandshakePayload.java | 12 +- .../osl/networking/impl/Networking.java | 0 .../impl/access/PacketHandlerAccess.java | 9 ++ .../client/ClientNetworkHandlerMixin.java | 22 +-- .../mixin/client/HandshakePacketMixin.java | 5 +- .../client/LocalClientPlayerEntityMixin.java | 0 .../impl/mixin/client/MinecraftMixin.java | 0 .../impl/mixin/common/ConnectionMixin.java | 36 +++++ .../impl/mixin/common/PacketAccessor.java | 15 ++ .../src/main/resources/fabric.mod.json | 15 +- .../resources/osl.networking.classtweaker} | 2 +- .../main/resources/osl.networking.mixins.json | 6 + .../gradle.properties | 2 +- .../networking/impl/CustomPayloadPacket.java | 104 ++++++++++++++ .../networking/impl/CustomPayloadPackets.java | 0 .../osl/networking/impl/HandshakePayload.java | 12 +- .../osl/networking/impl/Networking.java | 0 .../access/ClientNetworkHandlerAccess.java | 0 .../impl/access/ConnectionAccess.java | 0 .../impl/access/MinecraftAccess.java | 0 .../impl/access/PacketHandlerAccess.java | 0 .../access/ServerNetworkHandlerAccess.java | 9 ++ .../client/ClientNetworkHandlerMixin.java | 0 .../mixin/client/HandshakePacketMixin.java | 3 +- .../mixin/client/LocalConnectionMixin.java | 0 .../impl/mixin/client/MinecraftMixin.java | 0 .../common/CustomPayloadPacketMixin.java | 0 .../mixin/common/MinecraftServerMixin.java | 0 .../impl/mixin/common/PacketAccessor.java | 0 .../impl/mixin/common/PacketHandlerMixin.java | 0 .../impl/mixin/common/PlayerManagerMixin.java | 7 - .../mixin/common/RemoteConnectionMixin.java | 0 .../ServerLoginNetworkHandlerMixin.java | 0 .../common/ServerPlayNetworkHandlerMixin.java | 0 .../src/main/resources/fabric.mod.json | 14 +- .../resources/osl.networking.classtweaker | 5 +- .../main/resources/osl.networking.mixins.json | 13 ++ settings.gradle | 6 - 122 files changed, 1253 insertions(+), 493 deletions(-) delete mode 100644 libraries/networking-impl/build.gradle delete mode 100644 libraries/networking-impl/gradle.properties delete mode 100644 libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/build.gradle delete mode 100644 libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/gradle.properties delete mode 100644 libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/src/main/resources/fabric.mod.json delete mode 100644 libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/src/main/resources/osl.networking-impl.mixins.json delete mode 100644 libraries/networking-impl/networking-impl-mca0.1.2_01-mca0.2.8/build.gradle delete mode 100644 libraries/networking-impl/networking-impl-mca0.1.2_01-mca0.2.8/gradle.properties delete mode 100644 libraries/networking-impl/networking-impl-mca0.1.2_01-mca0.2.8/src/main/resources/fabric.mod.json delete mode 100644 libraries/networking-impl/networking-impl-mca0.1.2_01-mca0.2.8/src/main/resources/osl.networking-impl.mixins.json delete mode 100644 libraries/networking-impl/networking-impl-mca1.0.16-mca1.2.6/build.gradle delete mode 100644 libraries/networking-impl/networking-impl-mca1.0.16-mca1.2.6/gradle.properties delete mode 100644 libraries/networking-impl/networking-impl-mca1.0.16-mca1.2.6/src/main/resources/fabric.mod.json delete mode 100644 libraries/networking-impl/networking-impl-mca1.0.16-mca1.2.6/src/main/resources/osl.networking-impl.mixins.json delete mode 100644 libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/build.gradle delete mode 100644 libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/gradle.properties delete mode 100644 libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/resources/fabric.mod.json delete mode 100644 libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/resources/osl.networking-impl.classtweaker delete mode 100644 libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/resources/osl.networking-impl.mixins.json rename libraries/{networking-impl/networking-impl-mc13w41a-mc1.14.4 => networking/networking-mc13w41a-mc18w30b}/src/main/java/net/ornithemc/osl/networking/impl/Connections.java (100%) rename libraries/{networking-impl/networking-impl-mc13w41a-mc1.14.4 => networking/networking-mc13w41a-mc18w30b}/src/main/java/net/ornithemc/osl/networking/impl/Networking.java (100%) rename libraries/{networking-impl/networking-impl-mc13w41a-mc1.14.4 => networking/networking-mc13w41a-mc18w30b}/src/main/java/net/ornithemc/osl/networking/impl/access/ClientNetworkHandlerAccess.java (100%) delete mode 100644 libraries/networking/networking-mc13w41a-mc18w30b/src/main/java/net/ornithemc/osl/networking/impl/access/PlayerManagerAccess.java rename libraries/{networking-impl/networking-impl-mc13w41a-mc1.14.4 => networking/networking-mc13w41a-mc18w30b}/src/main/java/net/ornithemc/osl/networking/impl/access/ServerNetworkHandlerAccess.java (100%) rename libraries/{networking-impl/networking-impl-mc13w41a-mc1.14.4 => networking/networking-mc13w41a-mc18w30b}/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/ClientPlayNetworkHandlerMixin.java (78%) rename libraries/{networking-impl/networking-impl-mc13w41a-mc1.14.4 => networking/networking-mc13w41a-mc18w30b}/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/CustomPayloadC2SPacketAccess.java (100%) rename libraries/{networking-impl/networking-impl-mc13w41a-mc1.14.4 => networking/networking-mc13w41a-mc18w30b}/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixin.java (87%) rename libraries/{networking-impl/networking-impl-mc13w41a-mc1.14.4 => networking/networking-mc13w41a-mc18w30b}/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ConnectionMixin.java (89%) rename libraries/{networking-impl/networking-impl-mc13w41a-mc1.14.4 => networking/networking-mc13w41a-mc18w30b}/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadC2SPacketMixin.java (100%) rename libraries/{networking-impl/networking-impl-mc13w41a-mc1.14.4 => networking/networking-mc13w41a-mc18w30b}/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadS2CPacketAccess.java (100%) rename libraries/{networking-impl/networking-impl-mc13w41a-mc1.14.4 => networking/networking-mc13w41a-mc18w30b}/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadS2CPacketMixin.java (100%) rename libraries/{networking-impl/networking-impl-mc13w41a-mc1.14.4 => networking/networking-mc13w41a-mc18w30b}/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/MinecraftServerMixin.java (86%) rename libraries/{networking-impl/networking-impl-mc13w41a-mc1.14.4 => networking/networking-mc13w41a-mc18w30b}/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PlayerManagerMixin.java (75%) rename libraries/{networking-impl/networking-impl-mc13w41a-mc1.14.4 => networking/networking-mc13w41a-mc18w30b}/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ServerPlayNetworkHandlerMixin.java (81%) create mode 100644 libraries/networking/networking-mc13w41a-mc18w30b/src/main/resources/osl.networking.classtweaker create mode 100644 libraries/networking/networking-mc18w31a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/Networking.java rename libraries/{networking-impl/networking-impl-mca1.0.16-mca1.2.6 => networking/networking-mc18w31a-mc1.14.4}/src/main/java/net/ornithemc/osl/networking/impl/access/ClientNetworkHandlerAccess.java (100%) delete mode 100644 libraries/networking/networking-mc18w31a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/access/PlayerManagerAccess.java rename libraries/{networking-impl/networking-impl-mca0.1.2_01-mca0.2.8 => networking/networking-mc18w31a-mc1.14.4}/src/main/java/net/ornithemc/osl/networking/impl/access/ServerNetworkHandlerAccess.java (100%) create mode 100644 libraries/networking/networking-mc18w31a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/ClientPlayNetworkHandlerMixin.java create mode 100644 libraries/networking/networking-mc18w31a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixin.java create mode 100644 libraries/networking/networking-mc18w31a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadC2SPacketMixin.java create mode 100644 libraries/networking/networking-mc18w31a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadS2CPacketMixin.java create mode 100644 libraries/networking/networking-mc18w31a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PlayerManagerMixin.java create mode 100644 libraries/networking/networking-mc18w31a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ServerPlayNetworkHandlerMixin.java create mode 100644 libraries/networking/networking-mc18w31a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/MinecraftServerMixin.java create mode 100644 libraries/networking/networking-mc18w31a-mc1.14.4/src/main/resources/osl.networking.classtweaker rename libraries/{networking-impl/networking-impl-mcb1.0-mc13w39b => networking/networking-mca0.1.0-mca0.2.1}/src/main/java/net/ornithemc/osl/networking/impl/CustomPayloadPacket.java (100%) rename libraries/{networking-impl/networking-impl-mca0.1.2_01-mca0.2.8 => networking/networking-mca0.1.0-mca0.2.1}/src/main/java/net/ornithemc/osl/networking/impl/Networking.java (100%) rename libraries/{networking-impl/networking-impl-mca0.1.2_01-mca0.2.8 => networking/networking-mca0.1.0-mca0.2.1}/src/main/java/net/ornithemc/osl/networking/impl/access/PacketHandlerAccess.java (100%) rename libraries/{networking-impl/networking-impl-mca1.0.16-mca1.2.6 => networking/networking-mca0.1.0-mca0.2.1}/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ConnectionMixin.java (89%) rename libraries/{networking-impl/networking-impl-mca0.1.2_01-mca0.2.8 => networking/networking-mca0.1.0-mca0.2.1}/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PacketAccessor.java (100%) rename libraries/{networking-impl/networking-impl-mca0.1.2_01-mca0.2.8 => networking/networking-mca0.1.0-mca0.2.1}/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/PlayerManagerMixin.java (86%) rename libraries/{networking-impl/networking-impl-mca0.1.2_01-mca0.2.8 => networking/networking-mca0.1.0-mca0.2.1}/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/ServerLoginNetworkHandlerMixin.java (95%) rename libraries/{networking-impl/networking-impl-mca0.1.2_01-mca0.2.8 => networking/networking-mca0.1.0-mca0.2.1}/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/ServerPlayNetworkHandlerMixin.java (84%) create mode 100644 libraries/networking/networking-mca0.1.0-mca0.2.1/src/main/resources/osl.networking.classtweaker rename libraries/{networking-impl/networking-impl-mca1.0.16-mca1.2.6 => networking/networking-mca0.2.2-mca0.2.8}/src/main/java/net/ornithemc/osl/networking/impl/CustomPayloadPacket.java (67%) create mode 100644 libraries/networking/networking-mca0.2.2-mca0.2.8/src/main/java/net/ornithemc/osl/networking/impl/Networking.java rename libraries/{networking-impl/networking-impl-mca1.0.16-mca1.2.6 => networking/networking-mca0.2.2-mca0.2.8}/src/main/java/net/ornithemc/osl/networking/impl/access/PacketHandlerAccess.java (100%) rename libraries/{networking-impl/networking-impl-mcb1.0-mc13w39b => networking/networking-mca0.2.2-mca0.2.8}/src/main/java/net/ornithemc/osl/networking/impl/access/ServerNetworkHandlerAccess.java (100%) rename libraries/{networking-impl/networking-impl-mca0.1.2_01-mca0.2.8 => networking/networking-mca0.2.2-mca0.2.8}/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ConnectionMixin.java (89%) rename libraries/{networking-impl/networking-impl-mca1.0.16-mca1.2.6 => networking/networking-mca0.2.2-mca0.2.8}/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PacketAccessor.java (100%) create mode 100644 libraries/networking/networking-mca0.2.2-mca0.2.8/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/PlayerManagerMixin.java create mode 100644 libraries/networking/networking-mca0.2.2-mca0.2.8/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/ServerLoginNetworkHandlerMixin.java create mode 100644 libraries/networking/networking-mca0.2.2-mca0.2.8/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/ServerPlayNetworkHandlerMixin.java rename libraries/{networking-impl/networking-impl-mca0.1.2_01-mca0.2.8 => networking/networking-mca1.0.16-mca1.2.6}/src/main/java/net/ornithemc/osl/networking/impl/CustomPayloadPacket.java (67%) rename libraries/{networking-impl/networking-impl-mca1.0.16-mca1.2.6 => networking/networking-mca1.0.16-mca1.2.6}/src/main/java/net/ornithemc/osl/networking/impl/Networking.java (100%) create mode 100644 libraries/networking/networking-mca1.0.16-mca1.2.6/src/main/java/net/ornithemc/osl/networking/impl/access/PacketHandlerAccess.java rename libraries/{networking-impl/networking-impl-mca1.0.16-mca1.2.6 => networking/networking-mca1.0.16-mca1.2.6}/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/ClientNetworkHandlerMixin.java (78%) rename libraries/{networking-impl/networking-impl-mca1.0.16-mca1.2.6 => networking/networking-mca1.0.16-mca1.2.6}/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/HandshakePacketMixin.java (90%) rename libraries/{networking-impl/networking-impl-mca1.0.16-mca1.2.6 => networking/networking-mca1.0.16-mca1.2.6}/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/LocalClientPlayerEntityMixin.java (100%) rename libraries/{networking-impl/networking-impl-mca1.0.16-mca1.2.6 => networking/networking-mca1.0.16-mca1.2.6}/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixin.java (100%) create mode 100644 libraries/networking/networking-mca1.0.16-mca1.2.6/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ConnectionMixin.java create mode 100644 libraries/networking/networking-mca1.0.16-mca1.2.6/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PacketAccessor.java rename libraries/{networking-impl/networking-impl-mca1.0.16-mca1.2.6/src/main/resources/osl.networking-impl.classtweaker => networking/networking-mca1.0.16-mca1.2.6/src/main/resources/osl.networking.classtweaker} (88%) create mode 100644 libraries/networking/networking-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/CustomPayloadPacket.java rename libraries/{networking-impl/networking-impl-mcb1.0-mc13w39b => networking/networking-mcb1.0-mc13w39b}/src/main/java/net/ornithemc/osl/networking/impl/CustomPayloadPackets.java (100%) rename libraries/{networking-impl/networking-impl-mcb1.0-mc13w39b => networking/networking-mcb1.0-mc13w39b}/src/main/java/net/ornithemc/osl/networking/impl/Networking.java (100%) rename libraries/{networking-impl/networking-impl-mcb1.0-mc13w39b => networking/networking-mcb1.0-mc13w39b}/src/main/java/net/ornithemc/osl/networking/impl/access/ClientNetworkHandlerAccess.java (100%) rename libraries/{networking-impl/networking-impl-mcb1.0-mc13w39b => networking/networking-mcb1.0-mc13w39b}/src/main/java/net/ornithemc/osl/networking/impl/access/ConnectionAccess.java (100%) rename libraries/{networking-impl/networking-impl-mcb1.0-mc13w39b => networking/networking-mcb1.0-mc13w39b}/src/main/java/net/ornithemc/osl/networking/impl/access/MinecraftAccess.java (100%) rename libraries/{networking-impl/networking-impl-mcb1.0-mc13w39b => networking/networking-mcb1.0-mc13w39b}/src/main/java/net/ornithemc/osl/networking/impl/access/PacketHandlerAccess.java (100%) create mode 100644 libraries/networking/networking-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/access/ServerNetworkHandlerAccess.java rename libraries/{networking-impl/networking-impl-mcb1.0-mc13w39b => networking/networking-mcb1.0-mc13w39b}/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/ClientNetworkHandlerMixin.java (100%) rename libraries/{networking-impl/networking-impl-mcb1.0-mc13w39b => networking/networking-mcb1.0-mc13w39b}/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/HandshakePacketMixin.java (96%) rename libraries/{networking-impl/networking-impl-mcb1.0-mc13w39b => networking/networking-mcb1.0-mc13w39b}/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/LocalConnectionMixin.java (100%) rename libraries/{networking-impl/networking-impl-mcb1.0-mc13w39b => networking/networking-mcb1.0-mc13w39b}/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixin.java (100%) rename libraries/{networking-impl/networking-impl-mcb1.0-mc13w39b => networking/networking-mcb1.0-mc13w39b}/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadPacketMixin.java (100%) rename libraries/{networking-impl/networking-impl-mcb1.0-mc13w39b => networking/networking-mcb1.0-mc13w39b}/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/MinecraftServerMixin.java (100%) rename libraries/{networking-impl/networking-impl-mcb1.0-mc13w39b => networking/networking-mcb1.0-mc13w39b}/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PacketAccessor.java (100%) rename libraries/{networking-impl/networking-impl-mcb1.0-mc13w39b => networking/networking-mcb1.0-mc13w39b}/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PacketHandlerMixin.java (100%) rename libraries/{networking-impl/networking-impl-mcb1.0-mc13w39b => networking/networking-mcb1.0-mc13w39b}/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PlayerManagerMixin.java (91%) rename libraries/{networking-impl/networking-impl-mcb1.0-mc13w39b => networking/networking-mcb1.0-mc13w39b}/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/RemoteConnectionMixin.java (100%) rename libraries/{networking-impl/networking-impl-mcb1.0-mc13w39b => networking/networking-mcb1.0-mc13w39b}/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ServerLoginNetworkHandlerMixin.java (100%) rename libraries/{networking-impl/networking-impl-mcb1.0-mc13w39b => networking/networking-mcb1.0-mc13w39b}/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ServerPlayNetworkHandlerMixin.java (100%) diff --git a/libraries/networking-impl/build.gradle b/libraries/networking-impl/build.gradle deleted file mode 100644 index e98ba2c6a..000000000 --- a/libraries/networking-impl/build.gradle +++ /dev/null @@ -1 +0,0 @@ -setUpLibrary(project) diff --git a/libraries/networking-impl/gradle.properties b/libraries/networking-impl/gradle.properties deleted file mode 100644 index f169d76f0..000000000 --- a/libraries/networking-impl/gradle.properties +++ /dev/null @@ -1,9 +0,0 @@ -library_id = networking-impl -library_name = Networking Implementation -library_description = Implementation details of the Networking API. -library_version = 0.3.0 - -entrypoint_init = net.ornithemc.osl.networking.impl.Networking -entrypoint_client_init = net.ornithemc.osl.networking.impl.Networking -entrypoint_server_init = net.ornithemc.osl.networking.impl.Networking -osl_dependencies = core:0.7.0,entrypoints:0.5.0,lifecycle-events:0.6.0,text-components:0.1.0,networking:0.12.0 diff --git a/libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/build.gradle b/libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/build.gradle deleted file mode 100644 index 0a350fdb3..000000000 --- a/libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/build.gradle +++ /dev/null @@ -1 +0,0 @@ -setUpModule(project) diff --git a/libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/gradle.properties b/libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/gradle.properties deleted file mode 100644 index fd9dcf891..000000000 --- a/libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/gradle.properties +++ /dev/null @@ -1,4 +0,0 @@ -min_mc_version = 13w41a -max_mc_version = 1.14.4 - -minecraft_version = 1.14.4 diff --git a/libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/src/main/resources/fabric.mod.json b/libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/src/main/resources/fabric.mod.json deleted file mode 100644 index 6714d431b..000000000 --- a/libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/src/main/resources/fabric.mod.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "schemaVersion": 1, - "id": "osl-networking-impl", - "version": "0.3.0+mc13w41a-mc1.14.4", - "environment": "*", - "entrypoints": { - "init": [ - "net.ornithemc.osl.networking.impl.Networking" - ], - "client-init": [ - "net.ornithemc.osl.networking.impl.Networking" - ], - "server-init": [ - "net.ornithemc.osl.networking.impl.Networking" - ] - }, - "mixins": [ - "osl.networking-impl.mixins.json" - ], - "depends": { - "fabricloader": "\u003e\u003d0.18.0", - "minecraft": "\u003e\u003d1.7-alpha.13.41.a \u003c\u003d1.14.4", - "osl-core": "\u003e\u003d0.7.0", - "osl-entrypoints": "\u003e\u003d0.5.0", - "osl-lifecycle-events": "\u003e\u003d0.6.0", - "osl-text-components": "\u003e\u003d0.1.0", - "osl-executors": "\u003e\u003d0.1.0", - "osl-networking": "\u003e\u003d0.12.0" - }, - "name": "OSL Networking Implementation", - "description": "Implementation details of the Networking API.", - "authors": [ - "OrnitheMC" - ], - "contact": { - "homepage": "https://ornithemc.net/", - "issues": "https://github.com/OrnitheMC/ornithe-standard-libraries/issues", - "sources": "https://github.com/OrnitheMC/ornithe-standard-libraries" - }, - "license": "Apache-2.0" -} \ No newline at end of file diff --git a/libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/src/main/resources/osl.networking-impl.mixins.json b/libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/src/main/resources/osl.networking-impl.mixins.json deleted file mode 100644 index e0e24fbb6..000000000 --- a/libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/src/main/resources/osl.networking-impl.mixins.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "required": true, - "minVersion": "0.8", - "package": "net.ornithemc.osl.networking.impl.mixin", - "compatibilityLevel": "JAVA_8", - "plugin": "net.ornithemc.conditionalmixin.mixin.ConditionalMixinPlugin", - "mixins": [ - "common.ConnectionMixin", - "common.CustomPayloadC2SPacketMixin", - "common.CustomPayloadS2CPacketAccess", - "common.CustomPayloadS2CPacketMixin", - "common.MinecraftServerMixin", - "common.PlayerManagerMixin", - "common.ServerPlayNetworkHandlerMixin" - ], - "client": [ - "client.ClientPlayNetworkHandlerMixin", - "client.CustomPayloadC2SPacketAccess", - "client.MinecraftMixin" - ], - "server": [ - ], - "injectors": { - "defaultRequire": 1 - } -} diff --git a/libraries/networking-impl/networking-impl-mca0.1.2_01-mca0.2.8/build.gradle b/libraries/networking-impl/networking-impl-mca0.1.2_01-mca0.2.8/build.gradle deleted file mode 100644 index 0a350fdb3..000000000 --- a/libraries/networking-impl/networking-impl-mca0.1.2_01-mca0.2.8/build.gradle +++ /dev/null @@ -1 +0,0 @@ -setUpModule(project) diff --git a/libraries/networking-impl/networking-impl-mca0.1.2_01-mca0.2.8/gradle.properties b/libraries/networking-impl/networking-impl-mca0.1.2_01-mca0.2.8/gradle.properties deleted file mode 100644 index 695d4e6a9..000000000 --- a/libraries/networking-impl/networking-impl-mca0.1.2_01-mca0.2.8/gradle.properties +++ /dev/null @@ -1,8 +0,0 @@ -environment = server -min_mc_version = a0.1.2_01 -max_mc_version = a0.2.8 - -minecraft_version = a0.2.8 -raven_build = 1 -sparrow_build = 1 -nests_build = 1 diff --git a/libraries/networking-impl/networking-impl-mca0.1.2_01-mca0.2.8/src/main/resources/fabric.mod.json b/libraries/networking-impl/networking-impl-mca0.1.2_01-mca0.2.8/src/main/resources/fabric.mod.json deleted file mode 100644 index 525528eda..000000000 --- a/libraries/networking-impl/networking-impl-mca0.1.2_01-mca0.2.8/src/main/resources/fabric.mod.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "schemaVersion": 1, - "id": "osl-networking-impl", - "version": "0.3.0+mca0.1.2_01-mca0.2.8", - "environment": "server", - "entrypoints": { - "init": [ - "net.ornithemc.osl.networking.impl.Networking" - ], - "client-init": [ - "net.ornithemc.osl.networking.impl.Networking" - ], - "server-init": [ - "net.ornithemc.osl.networking.impl.Networking" - ] - }, - "mixins": [ - "osl.networking-impl.mixins.json" - ], - "depends": { - "fabricloader": "\u003e\u003d0.18.0", - "minecraft": "\u003e\u003d1.0.0-alpha.1.2.1 \u003c\u003d1.0.0-alpha.2.8", - "osl-core": "\u003e\u003d0.7.0", - "osl-entrypoints": "\u003e\u003d0.5.0", - "osl-lifecycle-events": "\u003e\u003d0.6.0", - "osl-text-components": "\u003e\u003d0.1.0", - "osl-executors": "\u003e\u003d0.1.0", - "osl-networking": "\u003e\u003d0.12.0" - }, - "name": "OSL Networking Implementation", - "description": "Implementation details of the Networking API.", - "authors": [ - "OrnitheMC" - ], - "contact": { - "homepage": "https://ornithemc.net/", - "issues": "https://github.com/OrnitheMC/ornithe-standard-libraries/issues", - "sources": "https://github.com/OrnitheMC/ornithe-standard-libraries" - }, - "license": "Apache-2.0" -} \ No newline at end of file diff --git a/libraries/networking-impl/networking-impl-mca0.1.2_01-mca0.2.8/src/main/resources/osl.networking-impl.mixins.json b/libraries/networking-impl/networking-impl-mca0.1.2_01-mca0.2.8/src/main/resources/osl.networking-impl.mixins.json deleted file mode 100644 index d0d42247f..000000000 --- a/libraries/networking-impl/networking-impl-mca0.1.2_01-mca0.2.8/src/main/resources/osl.networking-impl.mixins.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "required": true, - "minVersion": "0.8", - "package": "net.ornithemc.osl.networking.impl.mixin", - "compatibilityLevel": "JAVA_8", - "mixins": [ - "common.ConnectionMixin", - "common.PacketAccessor" - ], - "client": [ - ], - "server": [ - "server.PlayerManagerMixin", - "server.ServerLoginNetworkHandlerMixin", - "server.ServerPlayNetworkHandlerMixin" - ], - "injectors": { - "defaultRequire": 1 - } -} diff --git a/libraries/networking-impl/networking-impl-mca1.0.16-mca1.2.6/build.gradle b/libraries/networking-impl/networking-impl-mca1.0.16-mca1.2.6/build.gradle deleted file mode 100644 index 0a350fdb3..000000000 --- a/libraries/networking-impl/networking-impl-mca1.0.16-mca1.2.6/build.gradle +++ /dev/null @@ -1 +0,0 @@ -setUpModule(project) diff --git a/libraries/networking-impl/networking-impl-mca1.0.16-mca1.2.6/gradle.properties b/libraries/networking-impl/networking-impl-mca1.0.16-mca1.2.6/gradle.properties deleted file mode 100644 index da5948816..000000000 --- a/libraries/networking-impl/networking-impl-mca1.0.16-mca1.2.6/gradle.properties +++ /dev/null @@ -1,8 +0,0 @@ -environment = client -min_mc_version = a1.0.16 -max_mc_version = a1.2.6 - -minecraft_version = a1.2.6 -raven_build = 2 -sparrow_build = 2 -nests_build = 6 diff --git a/libraries/networking-impl/networking-impl-mca1.0.16-mca1.2.6/src/main/resources/fabric.mod.json b/libraries/networking-impl/networking-impl-mca1.0.16-mca1.2.6/src/main/resources/fabric.mod.json deleted file mode 100644 index 91e1cc16c..000000000 --- a/libraries/networking-impl/networking-impl-mca1.0.16-mca1.2.6/src/main/resources/fabric.mod.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "schemaVersion": 1, - "id": "osl-networking-impl", - "version": "0.3.0+mca1.0.16-mca1.2.6", - "environment": "client", - "entrypoints": { - "init": [ - "net.ornithemc.osl.networking.impl.Networking" - ], - "client-init": [ - "net.ornithemc.osl.networking.impl.Networking" - ], - "server-init": [ - "net.ornithemc.osl.networking.impl.Networking" - ] - }, - "mixins": [ - "osl.networking-impl.mixins.json" - ], - "accessWidener": "osl.networking-impl.classtweaker", - "depends": { - "fabricloader": "\u003e\u003d0.18.0", - "minecraft": "\u003e\u003d1.0.0-alpha.0.16 \u003c\u003d1.0.0-alpha.2.6", - "osl-core": "\u003e\u003d0.7.0", - "osl-entrypoints": "\u003e\u003d0.5.0", - "osl-lifecycle-events": "\u003e\u003d0.6.0", - "osl-text-components": "\u003e\u003d0.1.0", - "osl-executors": "\u003e\u003d0.1.0", - "osl-networking": "\u003e\u003d0.12.0" - }, - "name": "OSL Networking Implementation", - "description": "Implementation details of the Networking API.", - "authors": [ - "OrnitheMC" - ], - "contact": { - "homepage": "https://ornithemc.net/", - "issues": "https://github.com/OrnitheMC/ornithe-standard-libraries/issues", - "sources": "https://github.com/OrnitheMC/ornithe-standard-libraries" - }, - "license": "Apache-2.0" -} \ No newline at end of file diff --git a/libraries/networking-impl/networking-impl-mca1.0.16-mca1.2.6/src/main/resources/osl.networking-impl.mixins.json b/libraries/networking-impl/networking-impl-mca1.0.16-mca1.2.6/src/main/resources/osl.networking-impl.mixins.json deleted file mode 100644 index ded2c522a..000000000 --- a/libraries/networking-impl/networking-impl-mca1.0.16-mca1.2.6/src/main/resources/osl.networking-impl.mixins.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "required": true, - "minVersion": "0.8", - "package": "net.ornithemc.osl.networking.impl.mixin", - "compatibilityLevel": "JAVA_8", - "mixins": [ - "common.ConnectionMixin", - "common.PacketAccessor" - ], - "client": [ - "client.ClientNetworkHandlerMixin", - "client.HandshakePacketMixin", - "client.LocalClientPlayerEntityMixin", - "client.MinecraftMixin" - ], - "server": [ - ], - "injectors": { - "defaultRequire": 1 - } -} diff --git a/libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/build.gradle b/libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/build.gradle deleted file mode 100644 index 0a350fdb3..000000000 --- a/libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/build.gradle +++ /dev/null @@ -1 +0,0 @@ -setUpModule(project) diff --git a/libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/gradle.properties b/libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/gradle.properties deleted file mode 100644 index 3f9edadbf..000000000 --- a/libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/gradle.properties +++ /dev/null @@ -1,6 +0,0 @@ -min_mc_version = b1.0 -max_mc_version = 13w39b - -minecraft_version = 1.5.2 -raven_build = 4 -nests_build = 6 diff --git a/libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/resources/fabric.mod.json b/libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/resources/fabric.mod.json deleted file mode 100644 index c73368856..000000000 --- a/libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/resources/fabric.mod.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "schemaVersion": 1, - "id": "osl-networking-impl", - "version": "0.3.0+mcb1.0-mc13w39b", - "environment": "*", - "entrypoints": { - "init": [ - "net.ornithemc.osl.networking.impl.Networking" - ], - "client-init": [ - "net.ornithemc.osl.networking.impl.Networking" - ], - "server-init": [ - "net.ornithemc.osl.networking.impl.Networking" - ] - }, - "mixins": [ - "osl.networking-impl.mixins.json" - ], - "accessWidener": "osl.networking-impl.classtweaker", - "depends": { - "fabricloader": "\u003e\u003d0.18.0", - "minecraft": "\u003e\u003d1.0.0-beta.0 \u003c\u003d1.7-alpha.13.39.b", - "osl-core": "\u003e\u003d0.7.0", - "osl-entrypoints": "\u003e\u003d0.5.0", - "osl-lifecycle-events": "\u003e\u003d0.6.0", - "osl-text-components": "\u003e\u003d0.1.0", - "osl-executors": "\u003e\u003d0.1.0", - "osl-networking": "\u003e\u003d0.12.0" - }, - "name": "OSL Networking Implementation", - "description": "Implementation details of the Networking API.", - "authors": [ - "OrnitheMC" - ], - "contact": { - "homepage": "https://ornithemc.net/", - "issues": "https://github.com/OrnitheMC/ornithe-standard-libraries/issues", - "sources": "https://github.com/OrnitheMC/ornithe-standard-libraries" - }, - "license": "Apache-2.0" -} \ No newline at end of file diff --git a/libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/resources/osl.networking-impl.classtweaker b/libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/resources/osl.networking-impl.classtweaker deleted file mode 100644 index bed44ae27..000000000 --- a/libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/resources/osl.networking-impl.classtweaker +++ /dev/null @@ -1,5 +0,0 @@ -classTweaker v1 named - -accessible field net/minecraft/network/packet/HandshakePacket username Ljava/lang/String; - -inject-interface net/minecraft/network/Connection net/ornithemc/osl/networking/impl/access/ConnectionAccess diff --git a/libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/resources/osl.networking-impl.mixins.json b/libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/resources/osl.networking-impl.mixins.json deleted file mode 100644 index 35d532b3b..000000000 --- a/libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/resources/osl.networking-impl.mixins.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "required": true, - "minVersion": "0.8", - "package": "net.ornithemc.osl.networking.impl.mixin", - "compatibilityLevel": "JAVA_8", - "plugin": "net.ornithemc.conditionalmixin.mixin.ConditionalMixinPlugin", - "mixins": [ - "common.CustomPayloadPacketMixin", - "common.MinecraftServerMixin", - "common.PacketAccessor", - "common.PacketHandlerMixin", - "common.PlayerManagerMixin", - "common.RemoteConnectionMixin", - "common.ServerLoginNetworkHandlerMixin", - "common.ServerPlayNetworkHandlerMixin" - ], - "client": [ - "client.ClientNetworkHandlerMixin", - "client.HandshakePacketMixin", - "client.LocalConnectionMixin", - "client.MinecraftMixin" - ], - "server": [ - ], - "injectors": { - "defaultRequire": 1 - } -} diff --git a/libraries/networking/gradle.properties b/libraries/networking/gradle.properties index d706e186b..c43a19c00 100644 --- a/libraries/networking/gradle.properties +++ b/libraries/networking/gradle.properties @@ -3,4 +3,7 @@ library_name = Networking library_description = Client-server networking API and events. library_version = 0.12.0 -osl_dependencies = core:0.7.0,executors:0.1.0,text-components:0.1.0 +entrypoint_init = net.ornithemc.osl.networking.impl.Networking +entrypoint_client_init = net.ornithemc.osl.networking.impl.Networking +entrypoint_server_init = net.ornithemc.osl.networking.impl.Networking +osl_dependencies = core:0.7.0,entrypoints:0.5.0,lifecycle-events:0.6.0,executors:0.1.0,text-components:0.1.0 diff --git a/libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/Connections.java b/libraries/networking/networking-mc13w41a-mc18w30b/src/main/java/net/ornithemc/osl/networking/impl/Connections.java similarity index 100% rename from libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/Connections.java rename to libraries/networking/networking-mc13w41a-mc18w30b/src/main/java/net/ornithemc/osl/networking/impl/Connections.java diff --git a/libraries/networking/networking-mc13w41a-mc18w30b/src/main/java/net/ornithemc/osl/networking/impl/HandshakePayload.java b/libraries/networking/networking-mc13w41a-mc18w30b/src/main/java/net/ornithemc/osl/networking/impl/HandshakePayload.java index 48bff49d1..2850ab5b4 100644 --- a/libraries/networking/networking-mc13w41a-mc18w30b/src/main/java/net/ornithemc/osl/networking/impl/HandshakePayload.java +++ b/libraries/networking/networking-mc13w41a-mc18w30b/src/main/java/net/ornithemc/osl/networking/impl/HandshakePayload.java @@ -36,22 +36,22 @@ public static HandshakePayload server() { @Override public void read(PacketBuffer buffer) throws IOException { - protocol = buffer.readByte(); - channels = new LinkedHashSet<>(); + this.protocol = buffer.readByte(); + this.channels = new LinkedHashSet<>(); int channelCount = buffer.readInt(); for (int i = 0; i < channelCount; i++) { - channels.add(StringChannelIdentifierParser.fromString(buffer.readString())); + this.channels.add(StringChannelIdentifierParser.fromString(buffer.readString())); } } @Override public void write(PacketBuffer buffer) throws IOException { - buffer.writeByte(protocol); - buffer.writeInt(channels.size()); + buffer.writeByte(this.protocol); + buffer.writeInt(this.channels.size()); - for (NamespacedIdentifier channel : channels) { + for (NamespacedIdentifier channel : this.channels) { buffer.writeString(StringChannelIdentifierParser.toString(channel)); } } diff --git a/libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/Networking.java b/libraries/networking/networking-mc13w41a-mc18w30b/src/main/java/net/ornithemc/osl/networking/impl/Networking.java similarity index 100% rename from libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/Networking.java rename to libraries/networking/networking-mc13w41a-mc18w30b/src/main/java/net/ornithemc/osl/networking/impl/Networking.java diff --git a/libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/access/ClientNetworkHandlerAccess.java b/libraries/networking/networking-mc13w41a-mc18w30b/src/main/java/net/ornithemc/osl/networking/impl/access/ClientNetworkHandlerAccess.java similarity index 100% rename from libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/access/ClientNetworkHandlerAccess.java rename to libraries/networking/networking-mc13w41a-mc18w30b/src/main/java/net/ornithemc/osl/networking/impl/access/ClientNetworkHandlerAccess.java diff --git a/libraries/networking/networking-mc13w41a-mc18w30b/src/main/java/net/ornithemc/osl/networking/impl/access/PlayerManagerAccess.java b/libraries/networking/networking-mc13w41a-mc18w30b/src/main/java/net/ornithemc/osl/networking/impl/access/PlayerManagerAccess.java deleted file mode 100644 index 6fc92ae46..000000000 --- a/libraries/networking/networking-mc13w41a-mc18w30b/src/main/java/net/ornithemc/osl/networking/impl/access/PlayerManagerAccess.java +++ /dev/null @@ -1,11 +0,0 @@ -package net.ornithemc.osl.networking.impl.access; - -import java.util.List; - -import net.minecraft.server.entity.living.player.ServerPlayerEntity; - -public interface PlayerManagerAccess { - - List osl$networking$getAll(); - -} diff --git a/libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/access/ServerNetworkHandlerAccess.java b/libraries/networking/networking-mc13w41a-mc18w30b/src/main/java/net/ornithemc/osl/networking/impl/access/ServerNetworkHandlerAccess.java similarity index 100% rename from libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/access/ServerNetworkHandlerAccess.java rename to libraries/networking/networking-mc13w41a-mc18w30b/src/main/java/net/ornithemc/osl/networking/impl/access/ServerNetworkHandlerAccess.java diff --git a/libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/ClientPlayNetworkHandlerMixin.java b/libraries/networking/networking-mc13w41a-mc18w30b/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/ClientPlayNetworkHandlerMixin.java similarity index 78% rename from libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/ClientPlayNetworkHandlerMixin.java rename to libraries/networking/networking-mc13w41a-mc18w30b/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/ClientPlayNetworkHandlerMixin.java index 4061f5b16..cb5c87931 100644 --- a/libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/ClientPlayNetworkHandlerMixin.java +++ b/libraries/networking/networking-mc13w41a-mc18w30b/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/ClientPlayNetworkHandlerMixin.java @@ -52,18 +52,18 @@ public class ClientPlayNetworkHandlerMixin implements ClientNetworkHandlerAccess ) ) private void osl$networking$initConnectionContext(CallbackInfo ci) { - if (minecraft.isIntegratedServerRunning()) { - IntegratedServer server = minecraft.getServer(); + if (this.minecraft.isIntegratedServerRunning()) { + IntegratedServer server = this.minecraft.getServer(); String worldName = server.getWorldName(); - connectionContext = new ClientConnectionContext(minecraft, worldName); + this.connectionContext = new ClientConnectionContext(this.minecraft, worldName); } else { - SocketAddress address = connection.getAddress(); + SocketAddress address = this.connection.getAddress(); String serverAddress = AddressParser.getAddress(address); int serverPort = AddressParser.getPort(address); - connectionContext = new ClientConnectionContext(minecraft, serverAddress, serverPort); + this.connectionContext = new ClientConnectionContext(this.minecraft, serverAddress, serverPort); } } @@ -77,7 +77,7 @@ public class ClientPlayNetworkHandlerMixin implements ClientNetworkHandlerAccess // send channel registration data as soon as login occurs ClientPlayNetworkingImpl.sendNoCheck(HandshakePayload.CHANNEL, HandshakePayload.client()); - ClientConnectionEvents.LOGIN.invoker().accept(connectionContext); + ClientConnectionEvents.LOGIN.invoker().accept(this.connectionContext); } @Inject( @@ -87,7 +87,7 @@ public class ClientPlayNetworkHandlerMixin implements ClientNetworkHandlerAccess ) ) private void osl$networking$handleDisconnect(DisconnectS2CPacket packet, CallbackInfo ci) { - connectionContext.offerDisconnectReason(TextComponents.resolve(packet.getReason())); + this.connectionContext.offerDisconnectReason(TextComponents.resolve(packet.getReason())); } @Inject( @@ -97,7 +97,7 @@ public class ClientPlayNetworkHandlerMixin implements ClientNetworkHandlerAccess ) ) private void osl$networking$handleDisconnect(Text reason, CallbackInfo ci) { - connectionContext.offerDisconnectReason(TextComponents.resolve(reason)); + this.connectionContext.offerDisconnectReason(TextComponents.resolve(reason)); } @Inject( @@ -108,28 +108,28 @@ public class ClientPlayNetworkHandlerMixin implements ClientNetworkHandlerAccess ) ) private void osl$networking$handleCustomPayload(CustomPayloadS2CPacket packet, CallbackInfo ci) { - if (ClientPlayNetworkingImpl.handlePacket(minecraft, (ClientPlayNetworkHandler)(Object)this, packet)) { + if (ClientPlayNetworkingImpl.handlePacket(this.minecraft, (ClientPlayNetworkHandler)(Object)this, packet)) { ci.cancel(); } } @Override public ClientConnectionContext osl$networking$connectionContext() { - return connectionContext; + return this.connectionContext; } @Override public boolean osl$networking$isPlayReady() { - return serverChannels != null; + return this.serverChannels != null; } @Override public boolean osl$networking$isPlayReady(NamespacedIdentifier channel) { - return serverChannels != null && serverChannels.contains(channel); + return this.serverChannels != null && this.serverChannels.contains(channel); } @Override public void osl$networking$registerChannels(Set channels) { - serverChannels = new LinkedHashSet<>(channels); + this.serverChannels = new LinkedHashSet<>(channels); } } diff --git a/libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/CustomPayloadC2SPacketAccess.java b/libraries/networking/networking-mc13w41a-mc18w30b/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/CustomPayloadC2SPacketAccess.java similarity index 100% rename from libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/CustomPayloadC2SPacketAccess.java rename to libraries/networking/networking-mc13w41a-mc18w30b/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/CustomPayloadC2SPacketAccess.java diff --git a/libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixin.java b/libraries/networking/networking-mc13w41a-mc18w30b/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixin.java similarity index 87% rename from libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixin.java rename to libraries/networking/networking-mc13w41a-mc18w30b/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixin.java index f48cfc798..bdd9a6c73 100644 --- a/libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixin.java +++ b/libraries/networking/networking-mc13w41a-mc18w30b/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixin.java @@ -55,7 +55,7 @@ public class MinecraftMixin { } } - @Conditional(minecraftVersion = @Version(">=18w15a <19w06a")) + @Conditional(minecraftVersion = @Version(">=18w15a")) @Inject( method = "m_62116716", // setWorld at = @At( @@ -68,19 +68,6 @@ public class MinecraftMixin { } } - @Conditional(minecraftVersion = @Version(">=19w06a")) - @Inject( - method = "m_62273487", // disconnect - at = @At( - value = "HEAD" - ) - ) - private void osl$networking$disconnect(CallbackInfo ci) { - if (world != null) { - this.triggerDisconnectEvent(); - } - } - @Unique private void triggerDisconnectEvent() { ClientNetworkHandlerAccess networkHandler = (ClientNetworkHandlerAccess) this.getNetworkHandler(); diff --git a/libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ConnectionMixin.java b/libraries/networking/networking-mc13w41a-mc18w30b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ConnectionMixin.java similarity index 89% rename from libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ConnectionMixin.java rename to libraries/networking/networking-mc13w41a-mc18w30b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ConnectionMixin.java index 24d1aa49e..fef276187 100644 --- a/libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ConnectionMixin.java +++ b/libraries/networking/networking-mc13w41a-mc18w30b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ConnectionMixin.java @@ -37,12 +37,12 @@ public class ConnectionMixin { ) ) private void osl$networking$asyncCustomPayloads(ChannelHandlerContext ctx, Packet packet, CallbackInfo ci) { - if (packet instanceof CustomPayloadS2CPacket && listener instanceof ClientPlayPacketHandler) { + if (packet instanceof CustomPayloadS2CPacket && this.listener instanceof ClientPlayPacketHandler) { if (Connections.handleAsyncPacket((CustomPayloadS2CPacket) packet, (ClientPlayPacketHandler) this.listener, ClientPlayPacketHandler::handleCustomPayload)) { ci.cancel(); } } - if (packet instanceof CustomPayloadC2SPacket && listener instanceof ServerPlayPacketHandler) { + if (packet instanceof CustomPayloadC2SPacket && this.listener instanceof ServerPlayPacketHandler) { if (Connections.handleAsyncPacket((CustomPayloadC2SPacket) packet, (ServerPlayPacketHandler) this.listener, ServerPlayPacketHandler::handleCustomPayload)) { ci.cancel(); } diff --git a/libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadC2SPacketMixin.java b/libraries/networking/networking-mc13w41a-mc18w30b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadC2SPacketMixin.java similarity index 100% rename from libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadC2SPacketMixin.java rename to libraries/networking/networking-mc13w41a-mc18w30b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadC2SPacketMixin.java diff --git a/libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadS2CPacketAccess.java b/libraries/networking/networking-mc13w41a-mc18w30b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadS2CPacketAccess.java similarity index 100% rename from libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadS2CPacketAccess.java rename to libraries/networking/networking-mc13w41a-mc18w30b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadS2CPacketAccess.java diff --git a/libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadS2CPacketMixin.java b/libraries/networking/networking-mc13w41a-mc18w30b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadS2CPacketMixin.java similarity index 100% rename from libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadS2CPacketMixin.java rename to libraries/networking/networking-mc13w41a-mc18w30b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadS2CPacketMixin.java diff --git a/libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/MinecraftServerMixin.java b/libraries/networking/networking-mc13w41a-mc18w30b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/MinecraftServerMixin.java similarity index 86% rename from libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/MinecraftServerMixin.java rename to libraries/networking/networking-mc13w41a-mc18w30b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/MinecraftServerMixin.java index 82d64c187..27d2cc4a9 100644 --- a/libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/MinecraftServerMixin.java +++ b/libraries/networking/networking-mc13w41a-mc18w30b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/MinecraftServerMixin.java @@ -17,7 +17,6 @@ import net.ornithemc.conditionalmixin.annotations.Version; import net.ornithemc.osl.networking.api.server.ServerConnectionEvents; -import net.ornithemc.osl.networking.impl.access.PlayerManagerAccess; import net.ornithemc.osl.networking.impl.access.ServerNetworkHandlerAccess; import net.ornithemc.osl.networking.impl.server.ServerConnectionContext; @@ -28,9 +27,6 @@ public class MinecraftServerMixin { @Shadow private PlayerManager playerManager; - @Shadow - private boolean isDedicated() { return false; } - @Inject( method = "stop", at = @At( @@ -38,7 +34,7 @@ public class MinecraftServerMixin { ) ) private void osl$networking$stop(CallbackInfo ci) { - List players = ((PlayerManagerAccess) this.playerManager).osl$networking$getAll(); + List players = this.playerManager.players; for (ServerPlayerEntity player : players) { ServerNetworkHandlerAccess networkHandler = (ServerNetworkHandlerAccess) player.networkHandler; diff --git a/libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PlayerManagerMixin.java b/libraries/networking/networking-mc13w41a-mc18w30b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PlayerManagerMixin.java similarity index 75% rename from libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PlayerManagerMixin.java rename to libraries/networking/networking-mc13w41a-mc18w30b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PlayerManagerMixin.java index 05549eac7..d91d90bbc 100644 --- a/libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PlayerManagerMixin.java +++ b/libraries/networking/networking-mc13w41a-mc18w30b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PlayerManagerMixin.java @@ -1,34 +1,21 @@ package net.ornithemc.osl.networking.impl.mixin.common; -import java.util.List; - -import org.spongepowered.asm.mixin.Final; import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; import com.llamalad7.mixinextras.sugar.Local; -import net.minecraft.server.MinecraftServer; import net.minecraft.server.PlayerManager; import net.minecraft.server.entity.living.player.ServerPlayerEntity; import net.ornithemc.osl.networking.api.server.ServerConnectionEvents; -import net.ornithemc.osl.networking.impl.access.PlayerManagerAccess; import net.ornithemc.osl.networking.impl.access.ServerNetworkHandlerAccess; import net.ornithemc.osl.networking.impl.server.ServerConnectionContext; @Mixin(PlayerManager.class) -public class PlayerManagerMixin implements PlayerManagerAccess { - - @Shadow - @Final - private MinecraftServer server; - @Shadow - @Final - private List players; +public class PlayerManagerMixin { @Inject( method = "onLogin", @@ -55,9 +42,4 @@ public class PlayerManagerMixin implements PlayerManagerAccess { ServerConnectionEvents.DISCONNECT.invoker().accept(connectionContext); } - - @Override - public List osl$networking$getAll() { - return players; - } } diff --git a/libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ServerPlayNetworkHandlerMixin.java b/libraries/networking/networking-mc13w41a-mc18w30b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ServerPlayNetworkHandlerMixin.java similarity index 81% rename from libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ServerPlayNetworkHandlerMixin.java rename to libraries/networking/networking-mc13w41a-mc18w30b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ServerPlayNetworkHandlerMixin.java index 270f4b80b..8e8ff6898 100644 --- a/libraries/networking-impl/networking-impl-mc13w41a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ServerPlayNetworkHandlerMixin.java +++ b/libraries/networking/networking-mc13w41a-mc18w30b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ServerPlayNetworkHandlerMixin.java @@ -47,7 +47,7 @@ public class ServerPlayNetworkHandlerMixin implements ServerNetworkHandlerAccess ) ) private void osl$networking$initConnectionContext(CallbackInfo ci) { - connectionContext = new ServerConnectionContext(server, (ServerPlayNetworkHandler) (Object) this); + this.connectionContext = new ServerConnectionContext(this.server, (ServerPlayNetworkHandler) (Object) this); } @Inject( @@ -57,7 +57,7 @@ public class ServerPlayNetworkHandlerMixin implements ServerNetworkHandlerAccess ) ) private void osl$networking$handleDisconnect(Text reason, CallbackInfo ci) { - connectionContext.offerDisconnectReason(TextComponents.resolve(reason)); + this.connectionContext.offerDisconnectReason(TextComponents.resolve(reason)); } @Inject( @@ -68,28 +68,28 @@ public class ServerPlayNetworkHandlerMixin implements ServerNetworkHandlerAccess ) ) private void osl$networking$handleCustomPayload(CustomPayloadC2SPacket packet, CallbackInfo ci) { - if (ServerPlayNetworkingImpl.handlePacket(server, (ServerPlayNetworkHandler)(Object)this, player, packet)) { + if (ServerPlayNetworkingImpl.handlePacket(this.server, (ServerPlayNetworkHandler)(Object)this, this.player, packet)) { ci.cancel(); } } @Override public ServerConnectionContext osl$networking$connectionContext() { - return connectionContext; + return this.connectionContext; } @Override public boolean osl$networking$isPlayReady() { - return clientChannels != null; + return this.clientChannels != null; } @Override public boolean osl$networking$isPlayReady(NamespacedIdentifier channel) { - return clientChannels != null && clientChannels.contains(channel); + return this.clientChannels != null && this.clientChannels.contains(channel); } @Override public void osl$networking$registerChannels(Set channels) { - clientChannels = new LinkedHashSet<>(channels); + this.clientChannels = new LinkedHashSet<>(channels); } } diff --git a/libraries/networking/networking-mc13w41a-mc18w30b/src/main/java/net/ornithemc/osl/networking/impl/server/ServerPlayNetworkingImpl.java b/libraries/networking/networking-mc13w41a-mc18w30b/src/main/java/net/ornithemc/osl/networking/impl/server/ServerPlayNetworkingImpl.java index 77d4b20bf..b050b4f2f 100644 --- a/libraries/networking/networking-mc13w41a-mc18w30b/src/main/java/net/ornithemc/osl/networking/impl/server/ServerPlayNetworkingImpl.java +++ b/libraries/networking/networking-mc13w41a-mc18w30b/src/main/java/net/ornithemc/osl/networking/impl/server/ServerPlayNetworkingImpl.java @@ -29,7 +29,6 @@ import net.ornithemc.osl.networking.impl.PacketFactory; import net.ornithemc.osl.networking.impl.access.CustomPayloadPacketAccess; import net.ornithemc.osl.networking.impl.access.NetworkHandlerAccess; -import net.ornithemc.osl.networking.impl.access.PlayerManagerAccess; public final class ServerPlayNetworkingImpl { @@ -343,7 +342,7 @@ private static void sendInternal(Iterable players, Namespace } private static Iterable allPlayers() { - return ((PlayerManagerAccess) server.getPlayerManager()).osl$networking$getAll(); + return server.getPlayerManager().players; } private static Iterable collectPlayers(Predicate filter) { diff --git a/libraries/networking/networking-mc13w41a-mc18w30b/src/main/resources/fabric.mod.json b/libraries/networking/networking-mc13w41a-mc18w30b/src/main/resources/fabric.mod.json index 6ce46c3f6..076767173 100644 --- a/libraries/networking/networking-mc13w41a-mc18w30b/src/main/resources/fabric.mod.json +++ b/libraries/networking/networking-mc13w41a-mc18w30b/src/main/resources/fabric.mod.json @@ -3,15 +3,28 @@ "id": "osl-networking", "version": "0.12.0+mc13w41a-mc18w30b", "environment": "*", + "entrypoints": { + "init": [ + "net.ornithemc.osl.networking.impl.Networking" + ], + "client-init": [ + "net.ornithemc.osl.networking.impl.Networking" + ], + "server-init": [ + "net.ornithemc.osl.networking.impl.Networking" + ] + }, "mixins": [ "osl.networking.mixins.json" ], + "accessWidener": "osl.networking.classtweaker", "depends": { "fabricloader": "\u003e\u003d0.18.0", "minecraft": "\u003e\u003d1.7-alpha.13.41.a \u003c\u003d1.13.1-alpha.18.30.b", "osl-core": "\u003e\u003d0.7.0", - "osl-executors": "\u003e\u003d0.1.0", "osl-entrypoints": "\u003e\u003d0.5.0", + "osl-lifecycle-events": "\u003e\u003d0.6.0", + "osl-executors": "\u003e\u003d0.1.0", "osl-text-components": "\u003e\u003d0.1.0" }, "name": "OSL Networking", diff --git a/libraries/networking/networking-mc13w41a-mc18w30b/src/main/resources/osl.networking.classtweaker b/libraries/networking/networking-mc13w41a-mc18w30b/src/main/resources/osl.networking.classtweaker new file mode 100644 index 000000000..8c6c1ce8b --- /dev/null +++ b/libraries/networking/networking-mc13w41a-mc18w30b/src/main/resources/osl.networking.classtweaker @@ -0,0 +1,3 @@ +classTweaker v1 named + +accessible field net/minecraft/server/PlayerManager players Ljava/util/List; diff --git a/libraries/networking/networking-mc13w41a-mc18w30b/src/main/resources/osl.networking.mixins.json b/libraries/networking/networking-mc13w41a-mc18w30b/src/main/resources/osl.networking.mixins.json index d6d90c9ae..e0e24fbb6 100644 --- a/libraries/networking/networking-mc13w41a-mc18w30b/src/main/resources/osl.networking.mixins.json +++ b/libraries/networking/networking-mc13w41a-mc18w30b/src/main/resources/osl.networking.mixins.json @@ -3,9 +3,20 @@ "minVersion": "0.8", "package": "net.ornithemc.osl.networking.impl.mixin", "compatibilityLevel": "JAVA_8", + "plugin": "net.ornithemc.conditionalmixin.mixin.ConditionalMixinPlugin", "mixins": [ + "common.ConnectionMixin", + "common.CustomPayloadC2SPacketMixin", + "common.CustomPayloadS2CPacketAccess", + "common.CustomPayloadS2CPacketMixin", + "common.MinecraftServerMixin", + "common.PlayerManagerMixin", + "common.ServerPlayNetworkHandlerMixin" ], "client": [ + "client.ClientPlayNetworkHandlerMixin", + "client.CustomPayloadC2SPacketAccess", + "client.MinecraftMixin" ], "server": [ ], diff --git a/libraries/networking/networking-mc18w31a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/HandshakePayload.java b/libraries/networking/networking-mc18w31a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/HandshakePayload.java index 48bff49d1..2850ab5b4 100644 --- a/libraries/networking/networking-mc18w31a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/HandshakePayload.java +++ b/libraries/networking/networking-mc18w31a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/HandshakePayload.java @@ -36,22 +36,22 @@ public static HandshakePayload server() { @Override public void read(PacketBuffer buffer) throws IOException { - protocol = buffer.readByte(); - channels = new LinkedHashSet<>(); + this.protocol = buffer.readByte(); + this.channels = new LinkedHashSet<>(); int channelCount = buffer.readInt(); for (int i = 0; i < channelCount; i++) { - channels.add(StringChannelIdentifierParser.fromString(buffer.readString())); + this.channels.add(StringChannelIdentifierParser.fromString(buffer.readString())); } } @Override public void write(PacketBuffer buffer) throws IOException { - buffer.writeByte(protocol); - buffer.writeInt(channels.size()); + buffer.writeByte(this.protocol); + buffer.writeInt(this.channels.size()); - for (NamespacedIdentifier channel : channels) { + for (NamespacedIdentifier channel : this.channels) { buffer.writeString(StringChannelIdentifierParser.toString(channel)); } } diff --git a/libraries/networking/networking-mc18w31a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/Networking.java b/libraries/networking/networking-mc18w31a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/Networking.java new file mode 100644 index 000000000..c24b37e8f --- /dev/null +++ b/libraries/networking/networking-mc18w31a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/Networking.java @@ -0,0 +1,71 @@ +package net.ornithemc.osl.networking.impl; + +import net.minecraft.network.packet.Packet; +import net.minecraft.network.packet.c2s.play.CustomPayloadC2SPacket; +import net.minecraft.network.packet.s2c.play.CustomPayloadS2CPacket; + +import net.ornithemc.osl.core.api.util.NamespacedIdentifier; +import net.ornithemc.osl.core.impl.util.MinecraftVersion; +import net.ornithemc.osl.entrypoints.api.ModInitializer; +import net.ornithemc.osl.entrypoints.api.client.ClientModInitializer; +import net.ornithemc.osl.entrypoints.api.server.ServerModInitializer; +import net.ornithemc.osl.lifecycle.api.client.MinecraftClientEvents; +import net.ornithemc.osl.lifecycle.api.server.MinecraftServerEvents; +import net.ornithemc.osl.networking.api.IdentifierChannelIdentifierParser; +import net.ornithemc.osl.networking.api.PacketBuffer; +import net.ornithemc.osl.networking.api.PacketBuffers; +import net.ornithemc.osl.networking.api.client.ClientConnectionEvents; +import net.ornithemc.osl.networking.api.server.ServerConnectionEvents; +import net.ornithemc.osl.networking.impl.access.ClientNetworkHandlerAccess; +import net.ornithemc.osl.networking.impl.access.ServerNetworkHandlerAccess; +import net.ornithemc.osl.networking.impl.client.ClientConnectionContext; +import net.ornithemc.osl.networking.impl.client.ClientPlayNetworkingImpl; +import net.ornithemc.osl.networking.impl.server.ServerConnectionContext; +import net.ornithemc.osl.networking.impl.server.ServerPlayNetworkingImpl; + +public class Networking implements ModInitializer, ClientModInitializer, ServerModInitializer { + + @Override + public void init() { + MinecraftServerEvents.START.register(ServerPlayNetworkingImpl::setUp); + MinecraftServerEvents.STOP.register(ServerPlayNetworkingImpl::destroy); + ServerPlayNetworkingImpl.setUpPacketFactory(Networking::newCustomPayloadS2CPacket); + ServerPlayNetworkingImpl.registerListener(HandshakePayload.CHANNEL, HandshakePayload::new, (context, payload) -> { + // send channel registration data as a response to receiving client channel registration data + ServerPlayNetworkingImpl.sendNoCheck(context.player(), HandshakePayload.CHANNEL, HandshakePayload.server()); + + ServerNetworkHandlerAccess networkHandler = (ServerNetworkHandlerAccess) context.networkHandler(); + ServerConnectionContext connectionContext = networkHandler.osl$networking$connectionContext(); + + networkHandler.osl$networking$registerChannels(payload.channels); + ServerConnectionEvents.PLAY_READY.invoker().accept(connectionContext); + }); + } + + @Override + public void initClient() { + MinecraftClientEvents.START.register(ClientPlayNetworkingImpl::setUp); + MinecraftClientEvents.STOP.register(ClientPlayNetworkingImpl::destroy); + ClientPlayNetworkingImpl.setUpPacketFactory(Networking::newCustomPayloadC2SPacket); + ClientPlayNetworkingImpl.registerListener(HandshakePayload.CHANNEL, HandshakePayload::new, (context, payload) -> { + ClientNetworkHandlerAccess networkHandler = (ClientNetworkHandlerAccess) context.networkHandler(); + ClientConnectionContext connectionContext = networkHandler.osl$networking$connectionContext(); + + networkHandler.osl$networking$registerChannels(payload.channels); + ClientConnectionEvents.PLAY_READY.invoker().accept(connectionContext); + }); + } + + @Override + public void initServer() { + // no-op + } + + private static Packet newCustomPayloadS2CPacket(NamespacedIdentifier channel, PacketBuffer data) { + return new CustomPayloadS2CPacket(IdentifierChannelIdentifierParser.toIdentifier(channel), PacketBuffers.unwrapped(data)); + } + + private static Packet newCustomPayloadC2SPacket(NamespacedIdentifier channel, PacketBuffer data) { + return new CustomPayloadC2SPacket(IdentifierChannelIdentifierParser.toIdentifier(channel), PacketBuffers.unwrapped(data)); + } +} diff --git a/libraries/networking-impl/networking-impl-mca1.0.16-mca1.2.6/src/main/java/net/ornithemc/osl/networking/impl/access/ClientNetworkHandlerAccess.java b/libraries/networking/networking-mc18w31a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/access/ClientNetworkHandlerAccess.java similarity index 100% rename from libraries/networking-impl/networking-impl-mca1.0.16-mca1.2.6/src/main/java/net/ornithemc/osl/networking/impl/access/ClientNetworkHandlerAccess.java rename to libraries/networking/networking-mc18w31a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/access/ClientNetworkHandlerAccess.java diff --git a/libraries/networking/networking-mc18w31a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/access/PlayerManagerAccess.java b/libraries/networking/networking-mc18w31a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/access/PlayerManagerAccess.java deleted file mode 100644 index 6fc92ae46..000000000 --- a/libraries/networking/networking-mc18w31a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/access/PlayerManagerAccess.java +++ /dev/null @@ -1,11 +0,0 @@ -package net.ornithemc.osl.networking.impl.access; - -import java.util.List; - -import net.minecraft.server.entity.living.player.ServerPlayerEntity; - -public interface PlayerManagerAccess { - - List osl$networking$getAll(); - -} diff --git a/libraries/networking-impl/networking-impl-mca0.1.2_01-mca0.2.8/src/main/java/net/ornithemc/osl/networking/impl/access/ServerNetworkHandlerAccess.java b/libraries/networking/networking-mc18w31a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/access/ServerNetworkHandlerAccess.java similarity index 100% rename from libraries/networking-impl/networking-impl-mca0.1.2_01-mca0.2.8/src/main/java/net/ornithemc/osl/networking/impl/access/ServerNetworkHandlerAccess.java rename to libraries/networking/networking-mc18w31a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/access/ServerNetworkHandlerAccess.java diff --git a/libraries/networking/networking-mc18w31a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/ClientPlayNetworkHandlerMixin.java b/libraries/networking/networking-mc18w31a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/ClientPlayNetworkHandlerMixin.java new file mode 100644 index 000000000..cb5c87931 --- /dev/null +++ b/libraries/networking/networking-mc18w31a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/ClientPlayNetworkHandlerMixin.java @@ -0,0 +1,135 @@ +package net.ornithemc.osl.networking.impl.mixin.client; + +import java.net.SocketAddress; +import java.util.LinkedHashSet; +import java.util.Set; + +import org.spongepowered.asm.mixin.Final; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Shadow; +import org.spongepowered.asm.mixin.Unique; +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.Minecraft; +import net.minecraft.client.network.handler.ClientPlayNetworkHandler; +import net.minecraft.network.Connection; +import net.minecraft.network.packet.s2c.play.CustomPayloadS2CPacket; +import net.minecraft.network.packet.s2c.play.DisconnectS2CPacket; +import net.minecraft.server.integrated.IntegratedServer; +import net.minecraft.text.Text; + +import net.ornithemc.osl.core.api.util.NamespacedIdentifier; +import net.ornithemc.osl.networking.api.client.ClientConnectionEvents; +import net.ornithemc.osl.networking.impl.AddressParser; +import net.ornithemc.osl.networking.impl.HandshakePayload; +import net.ornithemc.osl.networking.impl.access.ClientNetworkHandlerAccess; +import net.ornithemc.osl.networking.impl.client.ClientConnectionContext; +import net.ornithemc.osl.networking.impl.client.ClientPlayNetworkingImpl; +import net.ornithemc.osl.text.api.TextComponents; + +@Mixin(ClientPlayNetworkHandler.class) +public class ClientPlayNetworkHandlerMixin implements ClientNetworkHandlerAccess { + + @Shadow @Final + private Minecraft minecraft; + @Shadow @Final + private Connection connection; + + @Unique + private ClientConnectionContext connectionContext; + /** + * Channels that the server is listening to. + */ + @Unique + private Set serverChannels; + + @Inject( + method = "*", + at = @At( + value = "TAIL" + ) + ) + private void osl$networking$initConnectionContext(CallbackInfo ci) { + if (this.minecraft.isIntegratedServerRunning()) { + IntegratedServer server = this.minecraft.getServer(); + String worldName = server.getWorldName(); + + this.connectionContext = new ClientConnectionContext(this.minecraft, worldName); + } else { + SocketAddress address = this.connection.getAddress(); + + String serverAddress = AddressParser.getAddress(address); + int serverPort = AddressParser.getPort(address); + + this.connectionContext = new ClientConnectionContext(this.minecraft, serverAddress, serverPort); + } + } + + @Inject( + method = "handleLogin", + at = @At( + value = "TAIL" + ) + ) + private void osl$networking$handleLogin(CallbackInfo ci) { + // send channel registration data as soon as login occurs + ClientPlayNetworkingImpl.sendNoCheck(HandshakePayload.CHANNEL, HandshakePayload.client()); + + ClientConnectionEvents.LOGIN.invoker().accept(this.connectionContext); + } + + @Inject( + method = "handleDisconnect", + at = @At( + value = "HEAD" + ) + ) + private void osl$networking$handleDisconnect(DisconnectS2CPacket packet, CallbackInfo ci) { + this.connectionContext.offerDisconnectReason(TextComponents.resolve(packet.getReason())); + } + + @Inject( + method = "onDisconnect", + at = @At( + value = "HEAD" + ) + ) + private void osl$networking$handleDisconnect(Text reason, CallbackInfo ci) { + this.connectionContext.offerDisconnectReason(TextComponents.resolve(reason)); + } + + @Inject( + method = "handleCustomPayload", + cancellable = true, + at = @At( + value = "HEAD" + ) + ) + private void osl$networking$handleCustomPayload(CustomPayloadS2CPacket packet, CallbackInfo ci) { + if (ClientPlayNetworkingImpl.handlePacket(this.minecraft, (ClientPlayNetworkHandler)(Object)this, packet)) { + ci.cancel(); + } + } + + @Override + public ClientConnectionContext osl$networking$connectionContext() { + return this.connectionContext; + } + + @Override + public boolean osl$networking$isPlayReady() { + return this.serverChannels != null; + } + + @Override + public boolean osl$networking$isPlayReady(NamespacedIdentifier channel) { + return this.serverChannels != null && this.serverChannels.contains(channel); + } + + @Override + public void osl$networking$registerChannels(Set channels) { + this.serverChannels = new LinkedHashSet<>(channels); + } +} diff --git a/libraries/networking/networking-mc18w31a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixin.java b/libraries/networking/networking-mc18w31a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixin.java new file mode 100644 index 000000000..2855a1402 --- /dev/null +++ b/libraries/networking/networking-mc18w31a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixin.java @@ -0,0 +1,65 @@ +package net.ornithemc.osl.networking.impl.mixin.client; + +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Shadow; +import org.spongepowered.asm.mixin.Unique; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; + +import com.llamalad7.mixinextras.sugar.Local; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.network.handler.ClientPlayNetworkHandler; +import net.minecraft.client.world.ClientWorld; + +import net.ornithemc.conditionalmixin.annotations.Conditional; +import net.ornithemc.conditionalmixin.annotations.Version; + +import net.ornithemc.osl.networking.api.client.ClientConnectionEvents; +import net.ornithemc.osl.networking.impl.access.ClientNetworkHandlerAccess; +import net.ornithemc.osl.networking.impl.client.ClientConnectionContext; + +@Mixin(Minecraft.class) +public class MinecraftMixin { + + @Shadow + private ClientWorld world; + + @Shadow + private ClientPlayNetworkHandler getNetworkHandler() { return null; } + + @Conditional(minecraftVersion = @Version("<19w06a")) + @Inject( + method = "m_62116716", // setWorld + at = @At( + value = "HEAD" + ) + ) + private void osl$networking$disconnect(CallbackInfo ci, @Local ClientWorld world) { + if (this.world != null && world == null) { + this.triggerDisconnectEvent(); + } + } + + @Conditional(minecraftVersion = @Version(">=19w06a")) + @Inject( + method = "m_62273487", // disconnect + at = @At( + value = "HEAD" + ) + ) + private void osl$networking$disconnect(CallbackInfo ci) { + if (this.world != null) { + this.triggerDisconnectEvent(); + } + } + + @Unique + private void triggerDisconnectEvent() { + ClientNetworkHandlerAccess networkHandler = (ClientNetworkHandlerAccess) this.getNetworkHandler(); + ClientConnectionContext connectionContext = networkHandler.osl$networking$connectionContext(); + + ClientConnectionEvents.DISCONNECT.invoker().accept(connectionContext); + } +} diff --git a/libraries/networking/networking-mc18w31a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadC2SPacketMixin.java b/libraries/networking/networking-mc18w31a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadC2SPacketMixin.java new file mode 100644 index 000000000..c74a0ab7b --- /dev/null +++ b/libraries/networking/networking-mc18w31a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadC2SPacketMixin.java @@ -0,0 +1,54 @@ +package net.ornithemc.osl.networking.impl.mixin.common; + +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Shadow; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.At.Shift; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; + +import net.minecraft.network.PacketByteBuf; +import net.minecraft.network.packet.c2s.play.CustomPayloadC2SPacket; +import net.minecraft.resource.Identifier; + +import net.ornithemc.osl.core.api.util.NamespacedIdentifier; +import net.ornithemc.osl.networking.api.IdentifierChannelIdentifierParser; +import net.ornithemc.osl.networking.api.PacketBuffer; +import net.ornithemc.osl.networking.api.PacketBuffers; +import net.ornithemc.osl.networking.impl.access.CustomPayloadPacketAccess; + +@Mixin(CustomPayloadC2SPacket.class) +public class CustomPayloadC2SPacketMixin implements CustomPayloadPacketAccess { + + @Shadow + private Identifier channel; + @Shadow + private PacketByteBuf data; + + @Inject( + method = "handle(Lnet/minecraft/server/network/handler/ServerPlayPacketHandler;)V", + cancellable = true, + at = @At( + value = "INVOKE", + shift = Shift.AFTER, + target = "Lnet/minecraft/server/network/handler/ServerPlayPacketHandler;handleCustomPayload(Lnet/minecraft/network/packet/c2s/play/CustomPayloadC2SPacket;)V" + ) + ) + private void osl$networking$skipBufferRelease(CallbackInfo ci) { + // there's a call to ByteBuf.release() that we want to skip + // so that we can queue packet handling to the main thread + // Vanilla does this by throwing an exception but for the sake + // of version compat we cannot use the same approach + ci.cancel(); + } + + @Override + public NamespacedIdentifier osl$networking$getChannel() { + return IdentifierChannelIdentifierParser.fromIdentifier(this.channel); + } + + @Override + public PacketBuffer osl$networking$getData() { + return PacketBuffers.wrapped(this.data.copy()); + } +} diff --git a/libraries/networking/networking-mc18w31a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadS2CPacketMixin.java b/libraries/networking/networking-mc18w31a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadS2CPacketMixin.java new file mode 100644 index 000000000..2ee4e0211 --- /dev/null +++ b/libraries/networking/networking-mc18w31a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadS2CPacketMixin.java @@ -0,0 +1,33 @@ +package net.ornithemc.osl.networking.impl.mixin.common; + +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Shadow; + +import net.minecraft.network.PacketByteBuf; +import net.minecraft.network.packet.s2c.play.CustomPayloadS2CPacket; +import net.minecraft.resource.Identifier; + +import net.ornithemc.osl.core.api.util.NamespacedIdentifier; +import net.ornithemc.osl.networking.api.IdentifierChannelIdentifierParser; +import net.ornithemc.osl.networking.api.PacketBuffer; +import net.ornithemc.osl.networking.api.PacketBuffers; +import net.ornithemc.osl.networking.impl.access.CustomPayloadPacketAccess; + +@Mixin(CustomPayloadS2CPacket.class) +public class CustomPayloadS2CPacketMixin implements CustomPayloadPacketAccess { + + @Shadow + private Identifier channel; + @Shadow + private PacketByteBuf data; + + @Override + public NamespacedIdentifier osl$networking$getChannel() { + return IdentifierChannelIdentifierParser.fromIdentifier(this.channel); + } + + @Override + public PacketBuffer osl$networking$getData() { + return PacketBuffers.wrapped(this.data.copy()); + } +} diff --git a/libraries/networking/networking-mc18w31a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PlayerManagerMixin.java b/libraries/networking/networking-mc18w31a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PlayerManagerMixin.java new file mode 100644 index 000000000..d91d90bbc --- /dev/null +++ b/libraries/networking/networking-mc18w31a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PlayerManagerMixin.java @@ -0,0 +1,45 @@ +package net.ornithemc.osl.networking.impl.mixin.common; + +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 com.llamalad7.mixinextras.sugar.Local; + +import net.minecraft.server.PlayerManager; +import net.minecraft.server.entity.living.player.ServerPlayerEntity; + +import net.ornithemc.osl.networking.api.server.ServerConnectionEvents; +import net.ornithemc.osl.networking.impl.access.ServerNetworkHandlerAccess; +import net.ornithemc.osl.networking.impl.server.ServerConnectionContext; + +@Mixin(PlayerManager.class) +public class PlayerManagerMixin { + + @Inject( + method = "onLogin", + at = @At( + value = "TAIL" + ) + ) + private void osl$networking$handleLogin(CallbackInfo ci, @Local ServerPlayerEntity player) { + ServerNetworkHandlerAccess networkHandler = (ServerNetworkHandlerAccess) player.networkHandler; + ServerConnectionContext connectionContext = networkHandler.osl$networking$connectionContext(); + + ServerConnectionEvents.LOGIN.invoker().accept(connectionContext); + } + + @Inject( + method = "remove", + at = @At( + value = "HEAD" + ) + ) + private void osl$networking$handleDisconnect(CallbackInfo ci, @Local ServerPlayerEntity player) { + ServerNetworkHandlerAccess networkHandler = (ServerNetworkHandlerAccess) player.networkHandler; + ServerConnectionContext connectionContext = networkHandler.osl$networking$connectionContext(); + + ServerConnectionEvents.DISCONNECT.invoker().accept(connectionContext); + } +} diff --git a/libraries/networking/networking-mc18w31a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ServerPlayNetworkHandlerMixin.java b/libraries/networking/networking-mc18w31a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ServerPlayNetworkHandlerMixin.java new file mode 100644 index 000000000..8e8ff6898 --- /dev/null +++ b/libraries/networking/networking-mc18w31a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ServerPlayNetworkHandlerMixin.java @@ -0,0 +1,95 @@ +package net.ornithemc.osl.networking.impl.mixin.common; + +import java.util.LinkedHashSet; +import java.util.Set; + +import org.spongepowered.asm.mixin.Final; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Shadow; +import org.spongepowered.asm.mixin.Unique; +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.network.packet.c2s.play.CustomPayloadC2SPacket; +import net.minecraft.server.MinecraftServer; +import net.minecraft.server.entity.living.player.ServerPlayerEntity; +import net.minecraft.server.network.handler.ServerPlayNetworkHandler; +import net.minecraft.text.Text; + +import net.ornithemc.osl.core.api.util.NamespacedIdentifier; +import net.ornithemc.osl.networking.impl.access.ServerNetworkHandlerAccess; +import net.ornithemc.osl.networking.impl.server.ServerConnectionContext; +import net.ornithemc.osl.networking.impl.server.ServerPlayNetworkingImpl; +import net.ornithemc.osl.text.api.TextComponents; + +@Mixin(ServerPlayNetworkHandler.class) +public class ServerPlayNetworkHandlerMixin implements ServerNetworkHandlerAccess { + + @Shadow @Final + private MinecraftServer server; + + @Shadow + private ServerPlayerEntity player; + + @Unique + private ServerConnectionContext connectionContext; + /** + * Channels that the client is listening to. + */ + @Unique + private Set clientChannels; + + @Inject( + method = "", + at = @At( + value = "TAIL" + ) + ) + private void osl$networking$initConnectionContext(CallbackInfo ci) { + this.connectionContext = new ServerConnectionContext(this.server, (ServerPlayNetworkHandler) (Object) this); + } + + @Inject( + method = "onDisconnect", + at = @At( + value = "HEAD" + ) + ) + private void osl$networking$handleDisconnect(Text reason, CallbackInfo ci) { + this.connectionContext.offerDisconnectReason(TextComponents.resolve(reason)); + } + + @Inject( + method = "handleCustomPayload", + cancellable = true, + at = @At( + value = "HEAD" + ) + ) + private void osl$networking$handleCustomPayload(CustomPayloadC2SPacket packet, CallbackInfo ci) { + if (ServerPlayNetworkingImpl.handlePacket(this.server, (ServerPlayNetworkHandler)(Object)this, this.player, packet)) { + ci.cancel(); + } + } + + @Override + public ServerConnectionContext osl$networking$connectionContext() { + return this.connectionContext; + } + + @Override + public boolean osl$networking$isPlayReady() { + return this.clientChannels != null; + } + + @Override + public boolean osl$networking$isPlayReady(NamespacedIdentifier channel) { + return this.clientChannels != null && this.clientChannels.contains(channel); + } + + @Override + public void osl$networking$registerChannels(Set channels) { + this.clientChannels = new LinkedHashSet<>(channels); + } +} diff --git a/libraries/networking/networking-mc18w31a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/MinecraftServerMixin.java b/libraries/networking/networking-mc18w31a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/MinecraftServerMixin.java new file mode 100644 index 000000000..c35a8c908 --- /dev/null +++ b/libraries/networking/networking-mc18w31a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/MinecraftServerMixin.java @@ -0,0 +1,41 @@ +package net.ornithemc.osl.networking.impl.mixin.server; + +import java.util.List; + +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Shadow; +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.server.MinecraftServer; +import net.minecraft.server.PlayerManager; +import net.minecraft.server.entity.living.player.ServerPlayerEntity; + +import net.ornithemc.osl.networking.api.server.ServerConnectionEvents; +import net.ornithemc.osl.networking.impl.access.ServerNetworkHandlerAccess; +import net.ornithemc.osl.networking.impl.server.ServerConnectionContext; + +@Mixin(MinecraftServer.class) +public class MinecraftServerMixin { + + @Shadow + private PlayerManager playerManager; + + @Inject( + method = "stop", + at = @At( + value = "TAIL" + ) + ) + private void osl$networking$stop(CallbackInfo ci) { + List players = this.playerManager.players; + + for (ServerPlayerEntity player : players) { + ServerNetworkHandlerAccess networkHandler = (ServerNetworkHandlerAccess) player.networkHandler; + ServerConnectionContext connectionContext = networkHandler.osl$networking$connectionContext(); + + ServerConnectionEvents.DISCONNECT.invoker().accept(connectionContext); + } + } +} diff --git a/libraries/networking/networking-mc18w31a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/server/ServerPlayNetworkingImpl.java b/libraries/networking/networking-mc18w31a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/server/ServerPlayNetworkingImpl.java index 46432b81e..3273c5cf1 100644 --- a/libraries/networking/networking-mc18w31a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/server/ServerPlayNetworkingImpl.java +++ b/libraries/networking/networking-mc18w31a-mc1.14.4/src/main/java/net/ornithemc/osl/networking/impl/server/ServerPlayNetworkingImpl.java @@ -332,7 +332,7 @@ private static void sendInternal(Iterable players, Namespace } private static Iterable allPlayers() { - return server.getPlayerManager().getAll(); + return server.getPlayerManager().players; } private static Iterable collectPlayers(Predicate filter) { diff --git a/libraries/networking/networking-mc18w31a-mc1.14.4/src/main/resources/fabric.mod.json b/libraries/networking/networking-mc18w31a-mc1.14.4/src/main/resources/fabric.mod.json index 81b0f3728..580e2d092 100644 --- a/libraries/networking/networking-mc18w31a-mc1.14.4/src/main/resources/fabric.mod.json +++ b/libraries/networking/networking-mc18w31a-mc1.14.4/src/main/resources/fabric.mod.json @@ -3,15 +3,28 @@ "id": "osl-networking", "version": "0.12.0+mc18w31a-mc1.14.4", "environment": "*", + "entrypoints": { + "init": [ + "net.ornithemc.osl.networking.impl.Networking" + ], + "client-init": [ + "net.ornithemc.osl.networking.impl.Networking" + ], + "server-init": [ + "net.ornithemc.osl.networking.impl.Networking" + ] + }, "mixins": [ "osl.networking.mixins.json" ], + "accessWidener": "osl.networking.classtweaker", "depends": { "fabricloader": "\u003e\u003d0.18.0", "minecraft": "\u003e\u003d1.13.1-alpha.18.31.a \u003c\u003d1.14.4", "osl-core": "\u003e\u003d0.7.0", - "osl-executors": "\u003e\u003d0.1.0", "osl-entrypoints": "\u003e\u003d0.5.0", + "osl-lifecycle-events": "\u003e\u003d0.6.0", + "osl-executors": "\u003e\u003d0.1.0", "osl-text-components": "\u003e\u003d0.1.0" }, "name": "OSL Networking", diff --git a/libraries/networking/networking-mc18w31a-mc1.14.4/src/main/resources/osl.networking.classtweaker b/libraries/networking/networking-mc18w31a-mc1.14.4/src/main/resources/osl.networking.classtweaker new file mode 100644 index 000000000..8c6c1ce8b --- /dev/null +++ b/libraries/networking/networking-mc18w31a-mc1.14.4/src/main/resources/osl.networking.classtweaker @@ -0,0 +1,3 @@ +classTweaker v1 named + +accessible field net/minecraft/server/PlayerManager players Ljava/util/List; diff --git a/libraries/networking/networking-mc18w31a-mc1.14.4/src/main/resources/osl.networking.mixins.json b/libraries/networking/networking-mc18w31a-mc1.14.4/src/main/resources/osl.networking.mixins.json index d6d90c9ae..7fb2a66b2 100644 --- a/libraries/networking/networking-mc18w31a-mc1.14.4/src/main/resources/osl.networking.mixins.json +++ b/libraries/networking/networking-mc18w31a-mc1.14.4/src/main/resources/osl.networking.mixins.json @@ -3,11 +3,19 @@ "minVersion": "0.8", "package": "net.ornithemc.osl.networking.impl.mixin", "compatibilityLevel": "JAVA_8", + "plugin": "net.ornithemc.conditionalmixin.mixin.ConditionalMixinPlugin", "mixins": [ + "common.CustomPayloadC2SPacketMixin", + "common.CustomPayloadS2CPacketMixin", + "common.PlayerManagerMixin", + "common.ServerPlayNetworkHandlerMixin" ], "client": [ + "client.ClientPlayNetworkHandlerMixin", + "client.MinecraftMixin" ], "server": [ + "server.MinecraftServerMixin", ], "injectors": { "defaultRequire": 1 diff --git a/libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/CustomPayloadPacket.java b/libraries/networking/networking-mca0.1.0-mca0.2.1/src/main/java/net/ornithemc/osl/networking/impl/CustomPayloadPacket.java similarity index 100% rename from libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/CustomPayloadPacket.java rename to libraries/networking/networking-mca0.1.0-mca0.2.1/src/main/java/net/ornithemc/osl/networking/impl/CustomPayloadPacket.java diff --git a/libraries/networking/networking-mca0.1.0-mca0.2.1/src/main/java/net/ornithemc/osl/networking/impl/HandshakePayload.java b/libraries/networking/networking-mca0.1.0-mca0.2.1/src/main/java/net/ornithemc/osl/networking/impl/HandshakePayload.java index af1662778..274138ec1 100644 --- a/libraries/networking/networking-mca0.1.0-mca0.2.1/src/main/java/net/ornithemc/osl/networking/impl/HandshakePayload.java +++ b/libraries/networking/networking-mca0.1.0-mca0.2.1/src/main/java/net/ornithemc/osl/networking/impl/HandshakePayload.java @@ -31,22 +31,22 @@ public static HandshakePayload server() { @Override public void read(PacketBuffer buffer) throws IOException { - protocol = buffer.readByte(); - channels = new LinkedHashSet<>(); + this.protocol = buffer.readByte(); + this.channels = new LinkedHashSet<>(); int channelCount = buffer.readInt(); for (int i = 0; i < channelCount; i++) { - channels.add(StringChannelIdentifierParser.fromString(buffer.readString())); + this.channels.add(StringChannelIdentifierParser.fromString(buffer.readString())); } } @Override public void write(PacketBuffer buffer) throws IOException { - buffer.writeByte(protocol); - buffer.writeInt(channels.size()); + buffer.writeByte(this.protocol); + buffer.writeInt(this.channels.size()); - for (NamespacedIdentifier channel : channels) { + for (NamespacedIdentifier channel : this.channels) { buffer.writeString(StringChannelIdentifierParser.toString(channel)); } } diff --git a/libraries/networking-impl/networking-impl-mca0.1.2_01-mca0.2.8/src/main/java/net/ornithemc/osl/networking/impl/Networking.java b/libraries/networking/networking-mca0.1.0-mca0.2.1/src/main/java/net/ornithemc/osl/networking/impl/Networking.java similarity index 100% rename from libraries/networking-impl/networking-impl-mca0.1.2_01-mca0.2.8/src/main/java/net/ornithemc/osl/networking/impl/Networking.java rename to libraries/networking/networking-mca0.1.0-mca0.2.1/src/main/java/net/ornithemc/osl/networking/impl/Networking.java diff --git a/libraries/networking-impl/networking-impl-mca0.1.2_01-mca0.2.8/src/main/java/net/ornithemc/osl/networking/impl/access/PacketHandlerAccess.java b/libraries/networking/networking-mca0.1.0-mca0.2.1/src/main/java/net/ornithemc/osl/networking/impl/access/PacketHandlerAccess.java similarity index 100% rename from libraries/networking-impl/networking-impl-mca0.1.2_01-mca0.2.8/src/main/java/net/ornithemc/osl/networking/impl/access/PacketHandlerAccess.java rename to libraries/networking/networking-mca0.1.0-mca0.2.1/src/main/java/net/ornithemc/osl/networking/impl/access/PacketHandlerAccess.java diff --git a/libraries/networking/networking-mca0.1.0-mca0.2.1/src/main/java/net/ornithemc/osl/networking/impl/access/ServerNetworkHandlerAccess.java b/libraries/networking/networking-mca0.1.0-mca0.2.1/src/main/java/net/ornithemc/osl/networking/impl/access/ServerNetworkHandlerAccess.java index 95d035429..1d596400b 100644 --- a/libraries/networking/networking-mca0.1.0-mca0.2.1/src/main/java/net/ornithemc/osl/networking/impl/access/ServerNetworkHandlerAccess.java +++ b/libraries/networking/networking-mca0.1.0-mca0.2.1/src/main/java/net/ornithemc/osl/networking/impl/access/ServerNetworkHandlerAccess.java @@ -1,13 +1,9 @@ package net.ornithemc.osl.networking.impl.access; -import net.minecraft.server.entity.mob.player.ServerPlayerEntity; - import net.ornithemc.osl.networking.impl.server.ServerConnectionContext; public interface ServerNetworkHandlerAccess extends NetworkHandlerAccess { - ServerPlayerEntity osl$networkin$player(); - ServerConnectionContext osl$networking$connectionContext(); } diff --git a/libraries/networking-impl/networking-impl-mca1.0.16-mca1.2.6/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ConnectionMixin.java b/libraries/networking/networking-mca0.1.0-mca0.2.1/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ConnectionMixin.java similarity index 89% rename from libraries/networking-impl/networking-impl-mca1.0.16-mca1.2.6/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ConnectionMixin.java rename to libraries/networking/networking-mca0.1.0-mca0.2.1/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ConnectionMixin.java index 62dc563f1..e5de09783 100644 --- a/libraries/networking-impl/networking-impl-mca1.0.16-mca1.2.6/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ConnectionMixin.java +++ b/libraries/networking/networking-mca0.1.0-mca0.2.1/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ConnectionMixin.java @@ -17,7 +17,8 @@ @Mixin(Connection.class) public class ConnectionMixin { - @Shadow private PacketHandler listener; + @Shadow + private PacketHandler listener; @Inject( method = "read", @@ -28,7 +29,7 @@ public class ConnectionMixin { ) ) private void osl$networking$asyncCustomPayloads(CallbackInfo ci, @Local Packet packet) { - if (Connections.handleAsyncPacket(packet, listener)) { + if (Connections.handleAsyncPacket(packet, this.listener)) { ci.cancel(); } } diff --git a/libraries/networking-impl/networking-impl-mca0.1.2_01-mca0.2.8/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PacketAccessor.java b/libraries/networking/networking-mca0.1.0-mca0.2.1/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PacketAccessor.java similarity index 100% rename from libraries/networking-impl/networking-impl-mca0.1.2_01-mca0.2.8/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PacketAccessor.java rename to libraries/networking/networking-mca0.1.0-mca0.2.1/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PacketAccessor.java diff --git a/libraries/networking-impl/networking-impl-mca0.1.2_01-mca0.2.8/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/PlayerManagerMixin.java b/libraries/networking/networking-mca0.1.0-mca0.2.1/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/PlayerManagerMixin.java similarity index 86% rename from libraries/networking-impl/networking-impl-mca0.1.2_01-mca0.2.8/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/PlayerManagerMixin.java rename to libraries/networking/networking-mca0.1.0-mca0.2.1/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/PlayerManagerMixin.java index 445e1c415..c2afe5345 100644 --- a/libraries/networking-impl/networking-impl-mca0.1.2_01-mca0.2.8/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/PlayerManagerMixin.java +++ b/libraries/networking/networking-mca0.1.0-mca0.2.1/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/PlayerManagerMixin.java @@ -1,15 +1,12 @@ package net.ornithemc.osl.networking.impl.mixin.server; -import org.spongepowered.asm.mixin.Final; import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; import com.llamalad7.mixinextras.sugar.Local; -import net.minecraft.server.MinecraftServer; import net.minecraft.server.PlayerManager; import net.minecraft.server.entity.mob.player.ServerPlayerEntity; @@ -20,8 +17,6 @@ @Mixin(PlayerManager.class) public class PlayerManagerMixin { - @Shadow @Final private MinecraftServer server; - @Inject( method = "remove", at = @At( diff --git a/libraries/networking-impl/networking-impl-mca0.1.2_01-mca0.2.8/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/ServerLoginNetworkHandlerMixin.java b/libraries/networking/networking-mca0.1.0-mca0.2.1/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/ServerLoginNetworkHandlerMixin.java similarity index 95% rename from libraries/networking-impl/networking-impl-mca0.1.2_01-mca0.2.8/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/ServerLoginNetworkHandlerMixin.java rename to libraries/networking/networking-mca0.1.0-mca0.2.1/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/ServerLoginNetworkHandlerMixin.java index 6b80b7e9a..0935beda6 100644 --- a/libraries/networking-impl/networking-impl-mca0.1.2_01-mca0.2.8/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/ServerLoginNetworkHandlerMixin.java +++ b/libraries/networking/networking-mca0.1.0-mca0.2.1/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/ServerLoginNetworkHandlerMixin.java @@ -25,7 +25,8 @@ @Mixin(ServerLoginNetworkHandler.class) public class ServerLoginNetworkHandlerMixin { - @Shadow @Final private MinecraftServer server; + @Shadow @Final + private MinecraftServer server; /** * is the client also running OSL? @@ -41,7 +42,7 @@ public class ServerLoginNetworkHandlerMixin { ) private void osl$networking$handleHandshake(HandshakePacket packet, CallbackInfo ci) { if (Constants.OSL_HANDSHAKE_KEY.equals(packet.key)) { - ornithe = true; + this.ornithe = true; } } @@ -53,7 +54,7 @@ public class ServerLoginNetworkHandlerMixin { ) private void osl$networking$handleLogin(CallbackInfo ci, @Local ServerPlayerEntity player) { if (player != null) { - if (ornithe) { + if (this.ornithe) { // send channel registration data as soon as login occurs ServerPlayNetworkingImpl.sendNoCheck(player, HandshakePayload.CHANNEL, HandshakePayload.server()); } diff --git a/libraries/networking-impl/networking-impl-mca0.1.2_01-mca0.2.8/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/ServerPlayNetworkHandlerMixin.java b/libraries/networking/networking-mca0.1.0-mca0.2.1/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/ServerPlayNetworkHandlerMixin.java similarity index 84% rename from libraries/networking-impl/networking-impl-mca0.1.2_01-mca0.2.8/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/ServerPlayNetworkHandlerMixin.java rename to libraries/networking/networking-mca0.1.0-mca0.2.1/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/ServerPlayNetworkHandlerMixin.java index 2928389be..4eb4ef21e 100644 --- a/libraries/networking-impl/networking-impl-mca0.1.2_01-mca0.2.8/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/ServerPlayNetworkHandlerMixin.java +++ b/libraries/networking/networking-mca0.1.0-mca0.2.1/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/ServerPlayNetworkHandlerMixin.java @@ -47,7 +47,7 @@ public class ServerPlayNetworkHandlerMixin implements ServerNetworkHandlerAccess ) ) private void osl$networking$initConnectionContext(CallbackInfo ci) { - connectionContext = new ServerConnectionContext(server, (ServerPlayNetworkHandler) (Object) this); + this.connectionContext = new ServerConnectionContext(server, (ServerPlayNetworkHandler) (Object) this); } @Inject( @@ -57,12 +57,12 @@ public class ServerPlayNetworkHandlerMixin implements ServerNetworkHandlerAccess ) ) private void osl$networking$handleDisconnect(String reason, CallbackInfo ci) { - connectionContext.offerDisconnectReason(TextComponents.resolve(reason)); + this.connectionContext.offerDisconnectReason(TextComponents.resolve(reason)); } @Override public ServerConnectionContext osl$networking$connectionContext() { - return connectionContext; + return this.connectionContext; } @Override @@ -72,21 +72,21 @@ public class ServerPlayNetworkHandlerMixin implements ServerNetworkHandlerAccess @Override public boolean osl$networking$isPlayReady() { - return clientChannels != null; + return this.clientChannels != null; } @Override public boolean osl$networking$isPlayReady(NamespacedIdentifier channel) { - return clientChannels != null && clientChannels.contains(channel); + return this.clientChannels != null && this.clientChannels.contains(channel); } @Override public void osl$networking$registerChannels(Set channels) { - clientChannels = new LinkedHashSet<>(channels); + this.clientChannels = new LinkedHashSet<>(channels); } @Override public boolean osl$networking$handleCustomPayload(CustomPayloadPacket packet) { - return ServerPlayNetworkingImpl.handlePacket(server, (ServerPlayNetworkHandler)(Object)this, player, packet); + return ServerPlayNetworkingImpl.handlePacket(server, (ServerPlayNetworkHandler)(Object)this, this.player, packet); } } diff --git a/libraries/networking/networking-mca0.1.0-mca0.2.1/src/main/java/net/ornithemc/osl/networking/impl/server/ServerConnectionContext.java b/libraries/networking/networking-mca0.1.0-mca0.2.1/src/main/java/net/ornithemc/osl/networking/impl/server/ServerConnectionContext.java index 9e0c10f64..df17e9b92 100644 --- a/libraries/networking/networking-mca0.1.0-mca0.2.1/src/main/java/net/ornithemc/osl/networking/impl/server/ServerConnectionContext.java +++ b/libraries/networking/networking-mca0.1.0-mca0.2.1/src/main/java/net/ornithemc/osl/networking/impl/server/ServerConnectionContext.java @@ -29,7 +29,7 @@ public MinecraftServer server() { @Override public ServerPlayerEntity player() { - return ((ServerNetworkHandlerAccess) this.networkHandler).osl$networkin$player(); + return this.networkHandler.player; } @Override diff --git a/libraries/networking/networking-mca0.1.0-mca0.2.1/src/main/resources/fabric.mod.json b/libraries/networking/networking-mca0.1.0-mca0.2.1/src/main/resources/fabric.mod.json index 30a11d115..e79872f6b 100644 --- a/libraries/networking/networking-mca0.1.0-mca0.2.1/src/main/resources/fabric.mod.json +++ b/libraries/networking/networking-mca0.1.0-mca0.2.1/src/main/resources/fabric.mod.json @@ -3,15 +3,28 @@ "id": "osl-networking", "version": "0.12.0+mca0.1.0-mca0.2.1", "environment": "server", + "entrypoints": { + "init": [ + "net.ornithemc.osl.networking.impl.Networking" + ], + "client-init": [ + "net.ornithemc.osl.networking.impl.Networking" + ], + "server-init": [ + "net.ornithemc.osl.networking.impl.Networking" + ] + }, "mixins": [ "osl.networking.mixins.json" ], + "accessWidener": "osl.networking.classtweaker", "depends": { "fabricloader": "\u003e\u003d0.18.0", "minecraft": "\u003e\u003d1.0.0-alpha.1.0 \u003c\u003d1.0.0-alpha.2.1", "osl-core": "\u003e\u003d0.7.0", - "osl-executors": "\u003e\u003d0.1.0", "osl-entrypoints": "\u003e\u003d0.5.0", + "osl-lifecycle-events": "\u003e\u003d0.6.0", + "osl-executors": "\u003e\u003d0.1.0", "osl-text-components": "\u003e\u003d0.1.0" }, "name": "OSL Networking", diff --git a/libraries/networking/networking-mca0.1.0-mca0.2.1/src/main/resources/osl.networking.classtweaker b/libraries/networking/networking-mca0.1.0-mca0.2.1/src/main/resources/osl.networking.classtweaker new file mode 100644 index 000000000..5a54a47d7 --- /dev/null +++ b/libraries/networking/networking-mca0.1.0-mca0.2.1/src/main/resources/osl.networking.classtweaker @@ -0,0 +1,3 @@ +classTweaker v1 named + +accessible field net/minecraft/server/network/handler/ServerPlayNetworkHandler player Lnet/minecraft/server/entity/mob/player/ServerPlayerEntity; diff --git a/libraries/networking/networking-mca0.1.0-mca0.2.1/src/main/resources/osl.networking.mixins.json b/libraries/networking/networking-mca0.1.0-mca0.2.1/src/main/resources/osl.networking.mixins.json index d6d90c9ae..d0d42247f 100644 --- a/libraries/networking/networking-mca0.1.0-mca0.2.1/src/main/resources/osl.networking.mixins.json +++ b/libraries/networking/networking-mca0.1.0-mca0.2.1/src/main/resources/osl.networking.mixins.json @@ -4,10 +4,15 @@ "package": "net.ornithemc.osl.networking.impl.mixin", "compatibilityLevel": "JAVA_8", "mixins": [ + "common.ConnectionMixin", + "common.PacketAccessor" ], "client": [ ], "server": [ + "server.PlayerManagerMixin", + "server.ServerLoginNetworkHandlerMixin", + "server.ServerPlayNetworkHandlerMixin" ], "injectors": { "defaultRequire": 1 diff --git a/libraries/networking-impl/networking-impl-mca1.0.16-mca1.2.6/src/main/java/net/ornithemc/osl/networking/impl/CustomPayloadPacket.java b/libraries/networking/networking-mca0.2.2-mca0.2.8/src/main/java/net/ornithemc/osl/networking/impl/CustomPayloadPacket.java similarity index 67% rename from libraries/networking-impl/networking-impl-mca1.0.16-mca1.2.6/src/main/java/net/ornithemc/osl/networking/impl/CustomPayloadPacket.java rename to libraries/networking/networking-mca0.2.2-mca0.2.8/src/main/java/net/ornithemc/osl/networking/impl/CustomPayloadPacket.java index e95e2602f..62a87433d 100644 --- a/libraries/networking-impl/networking-impl-mca1.0.16-mca1.2.6/src/main/java/net/ornithemc/osl/networking/impl/CustomPayloadPacket.java +++ b/libraries/networking/networking-mca0.2.2-mca0.2.8/src/main/java/net/ornithemc/osl/networking/impl/CustomPayloadPacket.java @@ -1,6 +1,8 @@ package net.ornithemc.osl.networking.impl; +import java.io.DataInput; import java.io.DataInputStream; +import java.io.DataOutput; import java.io.DataOutputStream; import java.io.IOException; @@ -33,7 +35,7 @@ public CustomPayloadPacket(NamespacedIdentifier channel, byte[] data) { @Override public void read(DataInputStream input) throws IOException { - this.channel = input.readUTF(); + this.channel = _readString(input, StringChannelIdentifierParser.MAX_LENGTH); this.size = input.readShort(); if (this.size > 0 && this.size < Short.MAX_VALUE) { this.data = new byte[this.size]; @@ -43,7 +45,7 @@ public void read(DataInputStream input) throws IOException { @Override public void write(DataOutputStream output) throws IOException { - output.writeUTF(this.channel); + _writeString(this.channel, output); output.writeShort(this.size); if (this.data != null) { output.write(this.data); @@ -71,4 +73,32 @@ public int getSize() { public byte[] osl$networking$getData() { return this.data; } + + private static String _readString(DataInput input, int maxLength) throws IOException { + int length = input.readShort(); + + if (length > maxLength) { + throw new IOException("Received string length longer than maximum allowed (" + length + " > " + maxLength + ")"); + } + if (length < 0) { + throw new IOException("Received string length is less than zero! Weird string!"); + } + + StringBuilder sb = new StringBuilder(); + + for (int i = 0; i < length; i++) { + sb.append(input.readChar()); + } + + return sb.toString(); + } + + private static void _writeString(String s, DataOutput output) throws IOException { + if (s.length() > Short.MAX_VALUE) { + throw new IOException("String too big"); + } + + output.writeShort(s.length()); + output.writeChars(s); + } } diff --git a/libraries/networking/networking-mca0.2.2-mca0.2.8/src/main/java/net/ornithemc/osl/networking/impl/HandshakePayload.java b/libraries/networking/networking-mca0.2.2-mca0.2.8/src/main/java/net/ornithemc/osl/networking/impl/HandshakePayload.java index af1662778..274138ec1 100644 --- a/libraries/networking/networking-mca0.2.2-mca0.2.8/src/main/java/net/ornithemc/osl/networking/impl/HandshakePayload.java +++ b/libraries/networking/networking-mca0.2.2-mca0.2.8/src/main/java/net/ornithemc/osl/networking/impl/HandshakePayload.java @@ -31,22 +31,22 @@ public static HandshakePayload server() { @Override public void read(PacketBuffer buffer) throws IOException { - protocol = buffer.readByte(); - channels = new LinkedHashSet<>(); + this.protocol = buffer.readByte(); + this.channels = new LinkedHashSet<>(); int channelCount = buffer.readInt(); for (int i = 0; i < channelCount; i++) { - channels.add(StringChannelIdentifierParser.fromString(buffer.readString())); + this.channels.add(StringChannelIdentifierParser.fromString(buffer.readString())); } } @Override public void write(PacketBuffer buffer) throws IOException { - buffer.writeByte(protocol); - buffer.writeInt(channels.size()); + buffer.writeByte(this.protocol); + buffer.writeInt(this.channels.size()); - for (NamespacedIdentifier channel : channels) { + for (NamespacedIdentifier channel : this.channels) { buffer.writeString(StringChannelIdentifierParser.toString(channel)); } } diff --git a/libraries/networking/networking-mca0.2.2-mca0.2.8/src/main/java/net/ornithemc/osl/networking/impl/Networking.java b/libraries/networking/networking-mca0.2.2-mca0.2.8/src/main/java/net/ornithemc/osl/networking/impl/Networking.java new file mode 100644 index 000000000..58fbbc991 --- /dev/null +++ b/libraries/networking/networking-mca0.2.2-mca0.2.8/src/main/java/net/ornithemc/osl/networking/impl/Networking.java @@ -0,0 +1,38 @@ +package net.ornithemc.osl.networking.impl; + +import net.ornithemc.osl.entrypoints.api.ModInitializer; +import net.ornithemc.osl.entrypoints.api.client.ClientModInitializer; +import net.ornithemc.osl.entrypoints.api.server.ServerModInitializer; +import net.ornithemc.osl.lifecycle.api.server.MinecraftServerEvents; +import net.ornithemc.osl.networking.api.server.ServerConnectionEvents; +import net.ornithemc.osl.networking.impl.access.ServerNetworkHandlerAccess; +import net.ornithemc.osl.networking.impl.mixin.common.PacketAccessor; +import net.ornithemc.osl.networking.impl.server.ServerConnectionContext; +import net.ornithemc.osl.networking.impl.server.ServerPlayNetworkingImpl; + +public class Networking implements ModInitializer, ClientModInitializer, ServerModInitializer { + + @Override + public void init() { + PacketAccessor.register(Constants.CUSTOM_PAYLOAD_PACKET_ID, CustomPayloadPacket.class); + } + + @Override + public void initClient() { + // no-op + } + + @Override + public void initServer() { + MinecraftServerEvents.START.register(ServerPlayNetworkingImpl::setUp); + MinecraftServerEvents.STOP.register(ServerPlayNetworkingImpl::destroy); + ServerPlayNetworkingImpl.setUpPacketFactory(CustomPayloadPacket::new); + ServerPlayNetworkingImpl.registerListener(HandshakePayload.CHANNEL, HandshakePayload::new, (context, payload) -> { + ServerNetworkHandlerAccess networkHandler = (ServerNetworkHandlerAccess) context.networkHandler(); + ServerConnectionContext connectionContext = networkHandler.osl$networking$connectionContext(); + + networkHandler.osl$networking$registerChannels(payload.channels); + ServerConnectionEvents.PLAY_READY.invoker().accept(connectionContext); + }); + } +} diff --git a/libraries/networking-impl/networking-impl-mca1.0.16-mca1.2.6/src/main/java/net/ornithemc/osl/networking/impl/access/PacketHandlerAccess.java b/libraries/networking/networking-mca0.2.2-mca0.2.8/src/main/java/net/ornithemc/osl/networking/impl/access/PacketHandlerAccess.java similarity index 100% rename from libraries/networking-impl/networking-impl-mca1.0.16-mca1.2.6/src/main/java/net/ornithemc/osl/networking/impl/access/PacketHandlerAccess.java rename to libraries/networking/networking-mca0.2.2-mca0.2.8/src/main/java/net/ornithemc/osl/networking/impl/access/PacketHandlerAccess.java diff --git a/libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/access/ServerNetworkHandlerAccess.java b/libraries/networking/networking-mca0.2.2-mca0.2.8/src/main/java/net/ornithemc/osl/networking/impl/access/ServerNetworkHandlerAccess.java similarity index 100% rename from libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/access/ServerNetworkHandlerAccess.java rename to libraries/networking/networking-mca0.2.2-mca0.2.8/src/main/java/net/ornithemc/osl/networking/impl/access/ServerNetworkHandlerAccess.java diff --git a/libraries/networking-impl/networking-impl-mca0.1.2_01-mca0.2.8/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ConnectionMixin.java b/libraries/networking/networking-mca0.2.2-mca0.2.8/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ConnectionMixin.java similarity index 89% rename from libraries/networking-impl/networking-impl-mca0.1.2_01-mca0.2.8/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ConnectionMixin.java rename to libraries/networking/networking-mca0.2.2-mca0.2.8/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ConnectionMixin.java index 62dc563f1..e5de09783 100644 --- a/libraries/networking-impl/networking-impl-mca0.1.2_01-mca0.2.8/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ConnectionMixin.java +++ b/libraries/networking/networking-mca0.2.2-mca0.2.8/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ConnectionMixin.java @@ -17,7 +17,8 @@ @Mixin(Connection.class) public class ConnectionMixin { - @Shadow private PacketHandler listener; + @Shadow + private PacketHandler listener; @Inject( method = "read", @@ -28,7 +29,7 @@ public class ConnectionMixin { ) ) private void osl$networking$asyncCustomPayloads(CallbackInfo ci, @Local Packet packet) { - if (Connections.handleAsyncPacket(packet, listener)) { + if (Connections.handleAsyncPacket(packet, this.listener)) { ci.cancel(); } } diff --git a/libraries/networking-impl/networking-impl-mca1.0.16-mca1.2.6/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PacketAccessor.java b/libraries/networking/networking-mca0.2.2-mca0.2.8/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PacketAccessor.java similarity index 100% rename from libraries/networking-impl/networking-impl-mca1.0.16-mca1.2.6/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PacketAccessor.java rename to libraries/networking/networking-mca0.2.2-mca0.2.8/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PacketAccessor.java diff --git a/libraries/networking/networking-mca0.2.2-mca0.2.8/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/PlayerManagerMixin.java b/libraries/networking/networking-mca0.2.2-mca0.2.8/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/PlayerManagerMixin.java new file mode 100644 index 000000000..c2afe5345 --- /dev/null +++ b/libraries/networking/networking-mca0.2.2-mca0.2.8/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/PlayerManagerMixin.java @@ -0,0 +1,32 @@ +package net.ornithemc.osl.networking.impl.mixin.server; + +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 com.llamalad7.mixinextras.sugar.Local; + +import net.minecraft.server.PlayerManager; +import net.minecraft.server.entity.mob.player.ServerPlayerEntity; + +import net.ornithemc.osl.networking.api.server.ServerConnectionEvents; +import net.ornithemc.osl.networking.impl.access.ServerNetworkHandlerAccess; +import net.ornithemc.osl.networking.impl.server.ServerConnectionContext; + +@Mixin(PlayerManager.class) +public class PlayerManagerMixin { + + @Inject( + method = "remove", + at = @At( + value = "HEAD" + ) + ) + private void osl$networking$handleDisconnect(CallbackInfo ci, @Local ServerPlayerEntity player) { + ServerNetworkHandlerAccess networkHandler = (ServerNetworkHandlerAccess) player.networkHandler; + ServerConnectionContext connectionContext = networkHandler.osl$networking$connectionContext(); + + ServerConnectionEvents.DISCONNECT.invoker().accept(connectionContext); + } +} diff --git a/libraries/networking/networking-mca0.2.2-mca0.2.8/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/ServerLoginNetworkHandlerMixin.java b/libraries/networking/networking-mca0.2.2-mca0.2.8/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/ServerLoginNetworkHandlerMixin.java new file mode 100644 index 000000000..0935beda6 --- /dev/null +++ b/libraries/networking/networking-mca0.2.2-mca0.2.8/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/ServerLoginNetworkHandlerMixin.java @@ -0,0 +1,68 @@ +package net.ornithemc.osl.networking.impl.mixin.server; + +import org.spongepowered.asm.mixin.Final; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Shadow; +import org.spongepowered.asm.mixin.Unique; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; + +import com.llamalad7.mixinextras.sugar.Local; + +import net.minecraft.network.packet.HandshakePacket; +import net.minecraft.server.MinecraftServer; +import net.minecraft.server.entity.mob.player.ServerPlayerEntity; +import net.minecraft.server.network.handler.ServerLoginNetworkHandler; + +import net.ornithemc.osl.networking.api.server.ServerConnectionEvents; +import net.ornithemc.osl.networking.impl.Constants; +import net.ornithemc.osl.networking.impl.HandshakePayload; +import net.ornithemc.osl.networking.impl.access.ServerNetworkHandlerAccess; +import net.ornithemc.osl.networking.impl.server.ServerConnectionContext; +import net.ornithemc.osl.networking.impl.server.ServerPlayNetworkingImpl; + +@Mixin(ServerLoginNetworkHandler.class) +public class ServerLoginNetworkHandlerMixin { + + @Shadow @Final + private MinecraftServer server; + + /** + * is the client also running OSL? + */ + @Unique + private boolean ornithe; + + @Inject( + method = "handleHandshake", + at = @At( + value = "HEAD" + ) + ) + private void osl$networking$handleHandshake(HandshakePacket packet, CallbackInfo ci) { + if (Constants.OSL_HANDSHAKE_KEY.equals(packet.key)) { + this.ornithe = true; + } + } + + @Inject( + method = "acceptLogin", + at = @At( + value = "TAIL" + ) + ) + private void osl$networking$handleLogin(CallbackInfo ci, @Local ServerPlayerEntity player) { + if (player != null) { + if (this.ornithe) { + // send channel registration data as soon as login occurs + ServerPlayNetworkingImpl.sendNoCheck(player, HandshakePayload.CHANNEL, HandshakePayload.server()); + } + + ServerNetworkHandlerAccess networkHandler = (ServerNetworkHandlerAccess) player.networkHandler; + ServerConnectionContext connectionContext = networkHandler.osl$networking$connectionContext(); + + ServerConnectionEvents.LOGIN.invoker().accept(connectionContext); + } + } +} diff --git a/libraries/networking/networking-mca0.2.2-mca0.2.8/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/ServerPlayNetworkHandlerMixin.java b/libraries/networking/networking-mca0.2.2-mca0.2.8/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/ServerPlayNetworkHandlerMixin.java new file mode 100644 index 000000000..f628bd9a9 --- /dev/null +++ b/libraries/networking/networking-mca0.2.2-mca0.2.8/src/main/java/net/ornithemc/osl/networking/impl/mixin/server/ServerPlayNetworkHandlerMixin.java @@ -0,0 +1,92 @@ +package net.ornithemc.osl.networking.impl.mixin.server; + +import java.util.LinkedHashSet; +import java.util.Set; + +import org.spongepowered.asm.mixin.Final; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Shadow; +import org.spongepowered.asm.mixin.Unique; +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.server.MinecraftServer; +import net.minecraft.server.entity.mob.player.ServerPlayerEntity; +import net.minecraft.server.network.handler.ServerPlayNetworkHandler; + +import net.ornithemc.osl.core.api.util.NamespacedIdentifier; +import net.ornithemc.osl.networking.impl.CustomPayloadPacket; +import net.ornithemc.osl.networking.impl.access.PacketHandlerAccess; +import net.ornithemc.osl.networking.impl.access.ServerNetworkHandlerAccess; +import net.ornithemc.osl.networking.impl.server.ServerConnectionContext; +import net.ornithemc.osl.networking.impl.server.ServerPlayNetworkingImpl; +import net.ornithemc.osl.text.api.TextComponents; + +@Mixin(ServerPlayNetworkHandler.class) +public class ServerPlayNetworkHandlerMixin implements ServerNetworkHandlerAccess, PacketHandlerAccess { + + @Shadow @Final + private MinecraftServer server; + + @Shadow + private ServerPlayerEntity player; + + @Unique + private ServerConnectionContext connectionContext; + /** + * Channels that the client is listening to. + */ + @Unique + private Set clientChannels; + + @Inject( + method = "", + at = @At( + value = "TAIL" + ) + ) + private void osl$networking$initConnectionContext(CallbackInfo ci) { + this.connectionContext = new ServerConnectionContext(server, (ServerPlayNetworkHandler) (Object) this); + } + + @Inject( + method = "onDisconnect", + at = @At( + value = "HEAD" + ) + ) + private void osl$networking$handleDisconnect(String reason, CallbackInfo ci) { + this.connectionContext.offerDisconnectReason(TextComponents.resolve(reason)); + } + + @Override + public ServerConnectionContext osl$networking$connectionContext() { + return this.connectionContext; + } + + @Override + public boolean osl$networking$canRunOffMainThread() { + return true; + } + + @Override + public boolean osl$networking$isPlayReady() { + return this.clientChannels != null; + } + + @Override + public boolean osl$networking$isPlayReady(NamespacedIdentifier channel) { + return this.clientChannels != null && this.clientChannels.contains(channel); + } + + @Override + public void osl$networking$registerChannels(Set channels) { + this.clientChannels = new LinkedHashSet<>(channels); + } + + @Override + public boolean osl$networking$handleCustomPayload(CustomPayloadPacket packet) { + return ServerPlayNetworkingImpl.handlePacket(this.server, (ServerPlayNetworkHandler)(Object)this, this.player, packet); + } +} diff --git a/libraries/networking/networking-mca0.2.2-mca0.2.8/src/main/resources/fabric.mod.json b/libraries/networking/networking-mca0.2.2-mca0.2.8/src/main/resources/fabric.mod.json index c0f635d57..b9a7402b2 100644 --- a/libraries/networking/networking-mca0.2.2-mca0.2.8/src/main/resources/fabric.mod.json +++ b/libraries/networking/networking-mca0.2.2-mca0.2.8/src/main/resources/fabric.mod.json @@ -3,6 +3,17 @@ "id": "osl-networking", "version": "0.12.0+mca0.2.2-mca0.2.8", "environment": "server", + "entrypoints": { + "init": [ + "net.ornithemc.osl.networking.impl.Networking" + ], + "client-init": [ + "net.ornithemc.osl.networking.impl.Networking" + ], + "server-init": [ + "net.ornithemc.osl.networking.impl.Networking" + ] + }, "mixins": [ "osl.networking.mixins.json" ], @@ -11,8 +22,9 @@ "fabricloader": "\u003e\u003d0.18.0", "minecraft": "\u003e\u003d1.0.0-alpha.2.2 \u003c\u003d1.0.0-alpha.2.8", "osl-core": "\u003e\u003d0.7.0", - "osl-executors": "\u003e\u003d0.1.0", "osl-entrypoints": "\u003e\u003d0.5.0", + "osl-lifecycle-events": "\u003e\u003d0.6.0", + "osl-executors": "\u003e\u003d0.1.0", "osl-text-components": "\u003e\u003d0.1.0" }, "name": "OSL Networking", diff --git a/libraries/networking/networking-mca0.2.2-mca0.2.8/src/main/resources/osl.networking.classtweaker b/libraries/networking/networking-mca0.2.2-mca0.2.8/src/main/resources/osl.networking.classtweaker index 9972f8833..5a54a47d7 100644 --- a/libraries/networking/networking-mca0.2.2-mca0.2.8/src/main/resources/osl.networking.classtweaker +++ b/libraries/networking/networking-mca0.2.2-mca0.2.8/src/main/resources/osl.networking.classtweaker @@ -1,3 +1,3 @@ classTweaker v1 named -accessible field net/minecraft/server/network/handler/ServerPlayNetworkHandler player Lnet/minecraft/server/entity/mob/player/ServerPlayerEntity; \ No newline at end of file +accessible field net/minecraft/server/network/handler/ServerPlayNetworkHandler player Lnet/minecraft/server/entity/mob/player/ServerPlayerEntity; diff --git a/libraries/networking/networking-mca0.2.2-mca0.2.8/src/main/resources/osl.networking.mixins.json b/libraries/networking/networking-mca0.2.2-mca0.2.8/src/main/resources/osl.networking.mixins.json index d6d90c9ae..d0d42247f 100644 --- a/libraries/networking/networking-mca0.2.2-mca0.2.8/src/main/resources/osl.networking.mixins.json +++ b/libraries/networking/networking-mca0.2.2-mca0.2.8/src/main/resources/osl.networking.mixins.json @@ -4,10 +4,15 @@ "package": "net.ornithemc.osl.networking.impl.mixin", "compatibilityLevel": "JAVA_8", "mixins": [ + "common.ConnectionMixin", + "common.PacketAccessor" ], "client": [ ], "server": [ + "server.PlayerManagerMixin", + "server.ServerLoginNetworkHandlerMixin", + "server.ServerPlayNetworkHandlerMixin" ], "injectors": { "defaultRequire": 1 diff --git a/libraries/networking-impl/networking-impl-mca0.1.2_01-mca0.2.8/src/main/java/net/ornithemc/osl/networking/impl/CustomPayloadPacket.java b/libraries/networking/networking-mca1.0.16-mca1.2.6/src/main/java/net/ornithemc/osl/networking/impl/CustomPayloadPacket.java similarity index 67% rename from libraries/networking-impl/networking-impl-mca0.1.2_01-mca0.2.8/src/main/java/net/ornithemc/osl/networking/impl/CustomPayloadPacket.java rename to libraries/networking/networking-mca1.0.16-mca1.2.6/src/main/java/net/ornithemc/osl/networking/impl/CustomPayloadPacket.java index e95e2602f..62a87433d 100644 --- a/libraries/networking-impl/networking-impl-mca0.1.2_01-mca0.2.8/src/main/java/net/ornithemc/osl/networking/impl/CustomPayloadPacket.java +++ b/libraries/networking/networking-mca1.0.16-mca1.2.6/src/main/java/net/ornithemc/osl/networking/impl/CustomPayloadPacket.java @@ -1,6 +1,8 @@ package net.ornithemc.osl.networking.impl; +import java.io.DataInput; import java.io.DataInputStream; +import java.io.DataOutput; import java.io.DataOutputStream; import java.io.IOException; @@ -33,7 +35,7 @@ public CustomPayloadPacket(NamespacedIdentifier channel, byte[] data) { @Override public void read(DataInputStream input) throws IOException { - this.channel = input.readUTF(); + this.channel = _readString(input, StringChannelIdentifierParser.MAX_LENGTH); this.size = input.readShort(); if (this.size > 0 && this.size < Short.MAX_VALUE) { this.data = new byte[this.size]; @@ -43,7 +45,7 @@ public void read(DataInputStream input) throws IOException { @Override public void write(DataOutputStream output) throws IOException { - output.writeUTF(this.channel); + _writeString(this.channel, output); output.writeShort(this.size); if (this.data != null) { output.write(this.data); @@ -71,4 +73,32 @@ public int getSize() { public byte[] osl$networking$getData() { return this.data; } + + private static String _readString(DataInput input, int maxLength) throws IOException { + int length = input.readShort(); + + if (length > maxLength) { + throw new IOException("Received string length longer than maximum allowed (" + length + " > " + maxLength + ")"); + } + if (length < 0) { + throw new IOException("Received string length is less than zero! Weird string!"); + } + + StringBuilder sb = new StringBuilder(); + + for (int i = 0; i < length; i++) { + sb.append(input.readChar()); + } + + return sb.toString(); + } + + private static void _writeString(String s, DataOutput output) throws IOException { + if (s.length() > Short.MAX_VALUE) { + throw new IOException("String too big"); + } + + output.writeShort(s.length()); + output.writeChars(s); + } } diff --git a/libraries/networking/networking-mca1.0.16-mca1.2.6/src/main/java/net/ornithemc/osl/networking/impl/HandshakePayload.java b/libraries/networking/networking-mca1.0.16-mca1.2.6/src/main/java/net/ornithemc/osl/networking/impl/HandshakePayload.java index 59e0dcd80..020c7a149 100644 --- a/libraries/networking/networking-mca1.0.16-mca1.2.6/src/main/java/net/ornithemc/osl/networking/impl/HandshakePayload.java +++ b/libraries/networking/networking-mca1.0.16-mca1.2.6/src/main/java/net/ornithemc/osl/networking/impl/HandshakePayload.java @@ -31,22 +31,22 @@ public static HandshakePayload client() { @Override public void read(PacketBuffer buffer) throws IOException { - protocol = buffer.readByte(); - channels = new LinkedHashSet<>(); + this.protocol = buffer.readByte(); + this.channels = new LinkedHashSet<>(); int channelCount = buffer.readInt(); for (int i = 0; i < channelCount; i++) { - channels.add(StringChannelIdentifierParser.fromString(buffer.readString())); + this.channels.add(StringChannelIdentifierParser.fromString(buffer.readString())); } } @Override public void write(PacketBuffer buffer) throws IOException { - buffer.writeByte(protocol); - buffer.writeInt(channels.size()); + buffer.writeByte(this.protocol); + buffer.writeInt(this.channels.size()); - for (NamespacedIdentifier channel : channels) { + for (NamespacedIdentifier channel : this.channels) { buffer.writeString(StringChannelIdentifierParser.toString(channel)); } } diff --git a/libraries/networking-impl/networking-impl-mca1.0.16-mca1.2.6/src/main/java/net/ornithemc/osl/networking/impl/Networking.java b/libraries/networking/networking-mca1.0.16-mca1.2.6/src/main/java/net/ornithemc/osl/networking/impl/Networking.java similarity index 100% rename from libraries/networking-impl/networking-impl-mca1.0.16-mca1.2.6/src/main/java/net/ornithemc/osl/networking/impl/Networking.java rename to libraries/networking/networking-mca1.0.16-mca1.2.6/src/main/java/net/ornithemc/osl/networking/impl/Networking.java diff --git a/libraries/networking/networking-mca1.0.16-mca1.2.6/src/main/java/net/ornithemc/osl/networking/impl/access/PacketHandlerAccess.java b/libraries/networking/networking-mca1.0.16-mca1.2.6/src/main/java/net/ornithemc/osl/networking/impl/access/PacketHandlerAccess.java new file mode 100644 index 000000000..d5dc849d4 --- /dev/null +++ b/libraries/networking/networking-mca1.0.16-mca1.2.6/src/main/java/net/ornithemc/osl/networking/impl/access/PacketHandlerAccess.java @@ -0,0 +1,9 @@ +package net.ornithemc.osl.networking.impl.access; + +import net.ornithemc.osl.networking.impl.CustomPayloadPacket; + +public interface PacketHandlerAccess { + + boolean osl$networking$handleCustomPayload(CustomPayloadPacket packet); + +} diff --git a/libraries/networking-impl/networking-impl-mca1.0.16-mca1.2.6/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/ClientNetworkHandlerMixin.java b/libraries/networking/networking-mca1.0.16-mca1.2.6/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/ClientNetworkHandlerMixin.java similarity index 78% rename from libraries/networking-impl/networking-impl-mca1.0.16-mca1.2.6/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/ClientNetworkHandlerMixin.java rename to libraries/networking/networking-mca1.0.16-mca1.2.6/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/ClientNetworkHandlerMixin.java index f4cb1cc3e..4291b9f5a 100644 --- a/libraries/networking-impl/networking-impl-mca1.0.16-mca1.2.6/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/ClientNetworkHandlerMixin.java +++ b/libraries/networking/networking-mca1.0.16-mca1.2.6/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/ClientNetworkHandlerMixin.java @@ -53,12 +53,12 @@ public class ClientNetworkHandlerMixin implements ClientNetworkHandlerAccess, Pa ) ) private void osl$networking$initConnectionContext(CallbackInfo ci) { - SocketAddress address = connection.socket.getRemoteSocketAddress(); + SocketAddress address = this.connection.socket.getRemoteSocketAddress(); String serverAddress = AddressParser.getAddress(address); int serverPort = AddressParser.getPort(address); - connectionContext = new ClientConnectionContext(minecraft, serverAddress, serverPort); + this.connectionContext = new ClientConnectionContext(this.minecraft, serverAddress, serverPort); } @Inject( @@ -68,7 +68,7 @@ public class ClientNetworkHandlerMixin implements ClientNetworkHandlerAccess, Pa ) ) private void osl$networking$handleLogin(CallbackInfo ci) { - ClientConnectionEvents.LOGIN.invoker().accept(connectionContext); + ClientConnectionEvents.LOGIN.invoker().accept(this.connectionContext); } @Inject( @@ -78,7 +78,7 @@ public class ClientNetworkHandlerMixin implements ClientNetworkHandlerAccess, Pa ) ) private void osl$networking$handleDisconnect(DisconnectPacket packet, CallbackInfo ci) { - connectionContext.offerDisconnectReason(TextComponents.resolve(packet.reason)); + this.connectionContext.offerDisconnectReason(TextComponents.resolve(packet.reason)); } @Inject( @@ -88,36 +88,36 @@ public class ClientNetworkHandlerMixin implements ClientNetworkHandlerAccess, Pa ) ) private void osl$networking$handleDisconnect(String reason, CallbackInfo ci) { - connectionContext.offerDisconnectReason(TextComponents.resolve(reason)); + this.connectionContext.offerDisconnectReason(TextComponents.resolve(reason)); } @Override public ClientConnectionContext osl$networking$connectionContext() { - return connectionContext; + return this.connectionContext; } @Override public boolean osl$networking$canRunOffMainThread() { - return minecraft != null && minecraft.world != null && minecraft.player != null && world != null; + return this.minecraft != null && this.minecraft.world != null && this.minecraft.player != null && this.world != null; } @Override public boolean osl$networking$isPlayReady() { - return serverChannels != null; + return this.serverChannels != null; } @Override public boolean osl$networking$isPlayReady(NamespacedIdentifier channel) { - return serverChannels != null && serverChannels.contains(channel); + return this.serverChannels != null && this.serverChannels.contains(channel); } @Override public void osl$networking$registerChannels(Set channels) { - serverChannels = new LinkedHashSet<>(channels); + this.serverChannels = new LinkedHashSet<>(channels); } @Override public boolean osl$networking$handleCustomPayload(CustomPayloadPacket packet) { - return ClientPlayNetworkingImpl.handlePacket(minecraft, (ClientNetworkHandler)(Object)this, packet); + return ClientPlayNetworkingImpl.handlePacket(this.minecraft, (ClientNetworkHandler)(Object)this, packet); } } diff --git a/libraries/networking-impl/networking-impl-mca1.0.16-mca1.2.6/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/HandshakePacketMixin.java b/libraries/networking/networking-mca1.0.16-mca1.2.6/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/HandshakePacketMixin.java similarity index 90% rename from libraries/networking-impl/networking-impl-mca1.0.16-mca1.2.6/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/HandshakePacketMixin.java rename to libraries/networking/networking-mca1.0.16-mca1.2.6/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/HandshakePacketMixin.java index 0b5555b74..6dbec72fc 100644 --- a/libraries/networking-impl/networking-impl-mca1.0.16-mca1.2.6/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/HandshakePacketMixin.java +++ b/libraries/networking/networking-mca1.0.16-mca1.2.6/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/HandshakePacketMixin.java @@ -13,7 +13,8 @@ @Mixin(HandshakePacket.class) public class HandshakePacketMixin { - @Shadow private String key; + @Shadow + private String key; @Inject( method = "(Ljava/lang/String;)V", @@ -22,6 +23,6 @@ public class HandshakePacketMixin { ) ) private void osl$networking$modifyHandshakeForOsl(CallbackInfo ci) { - key = Constants.OSL_HANDSHAKE_KEY; + this.key = Constants.OSL_HANDSHAKE_KEY; } } diff --git a/libraries/networking-impl/networking-impl-mca1.0.16-mca1.2.6/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/LocalClientPlayerEntityMixin.java b/libraries/networking/networking-mca1.0.16-mca1.2.6/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/LocalClientPlayerEntityMixin.java similarity index 100% rename from libraries/networking-impl/networking-impl-mca1.0.16-mca1.2.6/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/LocalClientPlayerEntityMixin.java rename to libraries/networking/networking-mca1.0.16-mca1.2.6/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/LocalClientPlayerEntityMixin.java diff --git a/libraries/networking-impl/networking-impl-mca1.0.16-mca1.2.6/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixin.java b/libraries/networking/networking-mca1.0.16-mca1.2.6/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixin.java similarity index 100% rename from libraries/networking-impl/networking-impl-mca1.0.16-mca1.2.6/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixin.java rename to libraries/networking/networking-mca1.0.16-mca1.2.6/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixin.java diff --git a/libraries/networking/networking-mca1.0.16-mca1.2.6/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ConnectionMixin.java b/libraries/networking/networking-mca1.0.16-mca1.2.6/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ConnectionMixin.java new file mode 100644 index 000000000..e5de09783 --- /dev/null +++ b/libraries/networking/networking-mca1.0.16-mca1.2.6/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ConnectionMixin.java @@ -0,0 +1,36 @@ +package net.ornithemc.osl.networking.impl.mixin.common; + +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Shadow; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; + +import com.llamalad7.mixinextras.sugar.Local; + +import net.minecraft.network.Connection; +import net.minecraft.network.PacketHandler; +import net.minecraft.network.packet.Packet; + +import net.ornithemc.osl.networking.impl.Connections; + +@Mixin(Connection.class) +public class ConnectionMixin { + + @Shadow + private PacketHandler listener; + + @Inject( + method = "read", + cancellable = true, + at = @At( + value = "INVOKE", + target = "Ljava/util/List;add(Ljava/lang/Object;)Z" + ) + ) + private void osl$networking$asyncCustomPayloads(CallbackInfo ci, @Local Packet packet) { + if (Connections.handleAsyncPacket(packet, this.listener)) { + ci.cancel(); + } + } +} diff --git a/libraries/networking/networking-mca1.0.16-mca1.2.6/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PacketAccessor.java b/libraries/networking/networking-mca1.0.16-mca1.2.6/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PacketAccessor.java new file mode 100644 index 000000000..ccc944374 --- /dev/null +++ b/libraries/networking/networking-mca1.0.16-mca1.2.6/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PacketAccessor.java @@ -0,0 +1,15 @@ +package net.ornithemc.osl.networking.impl.mixin.common; + +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.gen.Invoker; + +import net.minecraft.network.packet.Packet; + +@Mixin(Packet.class) +public interface PacketAccessor { + + @Invoker("register") + public static void register(int id, Class type) { + throw new AssertionError(); + } +} diff --git a/libraries/networking/networking-mca1.0.16-mca1.2.6/src/main/resources/fabric.mod.json b/libraries/networking/networking-mca1.0.16-mca1.2.6/src/main/resources/fabric.mod.json index b2e588e92..a00b5918f 100644 --- a/libraries/networking/networking-mca1.0.16-mca1.2.6/src/main/resources/fabric.mod.json +++ b/libraries/networking/networking-mca1.0.16-mca1.2.6/src/main/resources/fabric.mod.json @@ -3,15 +3,28 @@ "id": "osl-networking", "version": "0.12.0+mca1.0.16-mca1.2.6", "environment": "client", + "entrypoints": { + "init": [ + "net.ornithemc.osl.networking.impl.Networking" + ], + "client-init": [ + "net.ornithemc.osl.networking.impl.Networking" + ], + "server-init": [ + "net.ornithemc.osl.networking.impl.Networking" + ] + }, "mixins": [ "osl.networking.mixins.json" ], + "accessWidener": "osl.networking.classtweaker", "depends": { "fabricloader": "\u003e\u003d0.18.0", "minecraft": "\u003e\u003d1.0.0-alpha.0.16 \u003c\u003d1.0.0-alpha.2.6", "osl-core": "\u003e\u003d0.7.0", - "osl-executors": "\u003e\u003d0.1.0", "osl-entrypoints": "\u003e\u003d0.5.0", + "osl-lifecycle-events": "\u003e\u003d0.6.0", + "osl-executors": "\u003e\u003d0.1.0", "osl-text-components": "\u003e\u003d0.1.0" }, "name": "OSL Networking", diff --git a/libraries/networking-impl/networking-impl-mca1.0.16-mca1.2.6/src/main/resources/osl.networking-impl.classtweaker b/libraries/networking/networking-mca1.0.16-mca1.2.6/src/main/resources/osl.networking.classtweaker similarity index 88% rename from libraries/networking-impl/networking-impl-mca1.0.16-mca1.2.6/src/main/resources/osl.networking-impl.classtweaker rename to libraries/networking/networking-mca1.0.16-mca1.2.6/src/main/resources/osl.networking.classtweaker index 938816a7d..f7babb650 100644 --- a/libraries/networking-impl/networking-impl-mca1.0.16-mca1.2.6/src/main/resources/osl.networking-impl.classtweaker +++ b/libraries/networking/networking-mca1.0.16-mca1.2.6/src/main/resources/osl.networking.classtweaker @@ -1,3 +1,3 @@ classTweaker v1 named -accessible field net/minecraft/network/Connection socket Ljava/net/Socket; \ No newline at end of file +accessible field net/minecraft/network/Connection socket Ljava/net/Socket; diff --git a/libraries/networking/networking-mca1.0.16-mca1.2.6/src/main/resources/osl.networking.mixins.json b/libraries/networking/networking-mca1.0.16-mca1.2.6/src/main/resources/osl.networking.mixins.json index d6d90c9ae..ded2c522a 100644 --- a/libraries/networking/networking-mca1.0.16-mca1.2.6/src/main/resources/osl.networking.mixins.json +++ b/libraries/networking/networking-mca1.0.16-mca1.2.6/src/main/resources/osl.networking.mixins.json @@ -4,8 +4,14 @@ "package": "net.ornithemc.osl.networking.impl.mixin", "compatibilityLevel": "JAVA_8", "mixins": [ + "common.ConnectionMixin", + "common.PacketAccessor" ], "client": [ + "client.ClientNetworkHandlerMixin", + "client.HandshakePacketMixin", + "client.LocalClientPlayerEntityMixin", + "client.MinecraftMixin" ], "server": [ ], diff --git a/libraries/networking/networking-mcb1.0-mc13w39b/gradle.properties b/libraries/networking/networking-mcb1.0-mc13w39b/gradle.properties index 03a1d5f6e..3f9edadbf 100644 --- a/libraries/networking/networking-mcb1.0-mc13w39b/gradle.properties +++ b/libraries/networking/networking-mcb1.0-mc13w39b/gradle.properties @@ -2,5 +2,5 @@ min_mc_version = b1.0 max_mc_version = 13w39b minecraft_version = 1.5.2 -raven_build = 1 +raven_build = 4 nests_build = 6 diff --git a/libraries/networking/networking-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/CustomPayloadPacket.java b/libraries/networking/networking-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/CustomPayloadPacket.java new file mode 100644 index 000000000..62a87433d --- /dev/null +++ b/libraries/networking/networking-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/CustomPayloadPacket.java @@ -0,0 +1,104 @@ +package net.ornithemc.osl.networking.impl; + +import java.io.DataInput; +import java.io.DataInputStream; +import java.io.DataOutput; +import java.io.DataOutputStream; +import java.io.IOException; + +import net.minecraft.network.PacketHandler; +import net.minecraft.network.packet.Packet; + +import net.ornithemc.osl.core.api.util.NamespacedIdentifier; +import net.ornithemc.osl.networking.api.StringChannelIdentifierParser; +import net.ornithemc.osl.networking.impl.access.CustomPayloadPacketAccess; +import net.ornithemc.osl.networking.impl.access.PacketHandlerAccess; + +public class CustomPayloadPacket extends Packet implements CustomPayloadPacketAccess { + + private String channel; + private int size; + private byte[] data; + + public CustomPayloadPacket() { + } + + public CustomPayloadPacket(NamespacedIdentifier channel, byte[] data) { + this.channel = StringChannelIdentifierParser.toString(channel); + this.data = data; + this.size = data.length; + + if (this.data != null && this.size > Short.MAX_VALUE) { + throw new IllegalArgumentException("Payload may not be larger than 32k"); + } + } + + @Override + public void read(DataInputStream input) throws IOException { + this.channel = _readString(input, StringChannelIdentifierParser.MAX_LENGTH); + this.size = input.readShort(); + if (this.size > 0 && this.size < Short.MAX_VALUE) { + this.data = new byte[this.size]; + input.readFully(this.data); + } + } + + @Override + public void write(DataOutputStream output) throws IOException { + _writeString(this.channel, output); + output.writeShort(this.size); + if (this.data != null) { + output.write(this.data); + } + } + + @Override + public void handle(PacketHandler handler) { + if (handler instanceof PacketHandlerAccess) { + ((PacketHandlerAccess) handler).osl$networking$handleCustomPayload(this); + } + } + + @Override + public int getSize() { + return 2 + this.channel.length() * 2 + 2 + this.data.length; + } + + @Override + public NamespacedIdentifier osl$networking$getChannel() { + return StringChannelIdentifierParser.fromString(this.channel); + } + + @Override + public byte[] osl$networking$getData() { + return this.data; + } + + private static String _readString(DataInput input, int maxLength) throws IOException { + int length = input.readShort(); + + if (length > maxLength) { + throw new IOException("Received string length longer than maximum allowed (" + length + " > " + maxLength + ")"); + } + if (length < 0) { + throw new IOException("Received string length is less than zero! Weird string!"); + } + + StringBuilder sb = new StringBuilder(); + + for (int i = 0; i < length; i++) { + sb.append(input.readChar()); + } + + return sb.toString(); + } + + private static void _writeString(String s, DataOutput output) throws IOException { + if (s.length() > Short.MAX_VALUE) { + throw new IOException("String too big"); + } + + output.writeShort(s.length()); + output.writeChars(s); + } +} diff --git a/libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/CustomPayloadPackets.java b/libraries/networking/networking-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/CustomPayloadPackets.java similarity index 100% rename from libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/CustomPayloadPackets.java rename to libraries/networking/networking-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/CustomPayloadPackets.java diff --git a/libraries/networking/networking-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/HandshakePayload.java b/libraries/networking/networking-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/HandshakePayload.java index 48bff49d1..2850ab5b4 100644 --- a/libraries/networking/networking-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/HandshakePayload.java +++ b/libraries/networking/networking-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/HandshakePayload.java @@ -36,22 +36,22 @@ public static HandshakePayload server() { @Override public void read(PacketBuffer buffer) throws IOException { - protocol = buffer.readByte(); - channels = new LinkedHashSet<>(); + this.protocol = buffer.readByte(); + this.channels = new LinkedHashSet<>(); int channelCount = buffer.readInt(); for (int i = 0; i < channelCount; i++) { - channels.add(StringChannelIdentifierParser.fromString(buffer.readString())); + this.channels.add(StringChannelIdentifierParser.fromString(buffer.readString())); } } @Override public void write(PacketBuffer buffer) throws IOException { - buffer.writeByte(protocol); - buffer.writeInt(channels.size()); + buffer.writeByte(this.protocol); + buffer.writeInt(this.channels.size()); - for (NamespacedIdentifier channel : channels) { + for (NamespacedIdentifier channel : this.channels) { buffer.writeString(StringChannelIdentifierParser.toString(channel)); } } diff --git a/libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/Networking.java b/libraries/networking/networking-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/Networking.java similarity index 100% rename from libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/Networking.java rename to libraries/networking/networking-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/Networking.java diff --git a/libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/access/ClientNetworkHandlerAccess.java b/libraries/networking/networking-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/access/ClientNetworkHandlerAccess.java similarity index 100% rename from libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/access/ClientNetworkHandlerAccess.java rename to libraries/networking/networking-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/access/ClientNetworkHandlerAccess.java diff --git a/libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/access/ConnectionAccess.java b/libraries/networking/networking-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/access/ConnectionAccess.java similarity index 100% rename from libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/access/ConnectionAccess.java rename to libraries/networking/networking-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/access/ConnectionAccess.java diff --git a/libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/access/MinecraftAccess.java b/libraries/networking/networking-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/access/MinecraftAccess.java similarity index 100% rename from libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/access/MinecraftAccess.java rename to libraries/networking/networking-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/access/MinecraftAccess.java diff --git a/libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/access/PacketHandlerAccess.java b/libraries/networking/networking-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/access/PacketHandlerAccess.java similarity index 100% rename from libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/access/PacketHandlerAccess.java rename to libraries/networking/networking-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/access/PacketHandlerAccess.java diff --git a/libraries/networking/networking-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/access/ServerNetworkHandlerAccess.java b/libraries/networking/networking-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/access/ServerNetworkHandlerAccess.java new file mode 100644 index 000000000..1d596400b --- /dev/null +++ b/libraries/networking/networking-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/access/ServerNetworkHandlerAccess.java @@ -0,0 +1,9 @@ +package net.ornithemc.osl.networking.impl.access; + +import net.ornithemc.osl.networking.impl.server.ServerConnectionContext; + +public interface ServerNetworkHandlerAccess extends NetworkHandlerAccess { + + ServerConnectionContext osl$networking$connectionContext(); + +} diff --git a/libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/ClientNetworkHandlerMixin.java b/libraries/networking/networking-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/ClientNetworkHandlerMixin.java similarity index 100% rename from libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/ClientNetworkHandlerMixin.java rename to libraries/networking/networking-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/ClientNetworkHandlerMixin.java diff --git a/libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/HandshakePacketMixin.java b/libraries/networking/networking-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/HandshakePacketMixin.java similarity index 96% rename from libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/HandshakePacketMixin.java rename to libraries/networking/networking-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/HandshakePacketMixin.java index e3dc7bc33..e4d55bb6b 100644 --- a/libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/HandshakePacketMixin.java +++ b/libraries/networking/networking-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/HandshakePacketMixin.java @@ -17,7 +17,8 @@ @Mixin(HandshakePacket.class) public class HandshakePacketMixin { - @Shadow private String username; + @Shadow + private String username; @Inject( method = "(Ljava/lang/String;)V", diff --git a/libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/LocalConnectionMixin.java b/libraries/networking/networking-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/LocalConnectionMixin.java similarity index 100% rename from libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/LocalConnectionMixin.java rename to libraries/networking/networking-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/LocalConnectionMixin.java diff --git a/libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixin.java b/libraries/networking/networking-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixin.java similarity index 100% rename from libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixin.java rename to libraries/networking/networking-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/client/MinecraftMixin.java diff --git a/libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadPacketMixin.java b/libraries/networking/networking-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadPacketMixin.java similarity index 100% rename from libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadPacketMixin.java rename to libraries/networking/networking-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/CustomPayloadPacketMixin.java diff --git a/libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/MinecraftServerMixin.java b/libraries/networking/networking-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/MinecraftServerMixin.java similarity index 100% rename from libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/MinecraftServerMixin.java rename to libraries/networking/networking-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/MinecraftServerMixin.java diff --git a/libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PacketAccessor.java b/libraries/networking/networking-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PacketAccessor.java similarity index 100% rename from libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PacketAccessor.java rename to libraries/networking/networking-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PacketAccessor.java diff --git a/libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PacketHandlerMixin.java b/libraries/networking/networking-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PacketHandlerMixin.java similarity index 100% rename from libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PacketHandlerMixin.java rename to libraries/networking/networking-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PacketHandlerMixin.java diff --git a/libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PlayerManagerMixin.java b/libraries/networking/networking-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PlayerManagerMixin.java similarity index 91% rename from libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PlayerManagerMixin.java rename to libraries/networking/networking-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PlayerManagerMixin.java index a3c888790..0224f49cb 100644 --- a/libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PlayerManagerMixin.java +++ b/libraries/networking/networking-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/PlayerManagerMixin.java @@ -1,15 +1,12 @@ package net.ornithemc.osl.networking.impl.mixin.common; -import org.spongepowered.asm.mixin.Final; import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; import com.llamalad7.mixinextras.sugar.Local; -import net.minecraft.server.MinecraftServer; import net.minecraft.server.PlayerManager; import net.minecraft.server.entity.mob.player.ServerPlayerEntity; @@ -25,10 +22,6 @@ @Mixin(PlayerManager.class) public class PlayerManagerMixin { - @Shadow - @Final - private MinecraftServer server; - @Conditional(minecraftVersion = @Version(">=12w21a")) @Inject( method = "onLogin", diff --git a/libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/RemoteConnectionMixin.java b/libraries/networking/networking-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/RemoteConnectionMixin.java similarity index 100% rename from libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/RemoteConnectionMixin.java rename to libraries/networking/networking-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/RemoteConnectionMixin.java diff --git a/libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ServerLoginNetworkHandlerMixin.java b/libraries/networking/networking-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ServerLoginNetworkHandlerMixin.java similarity index 100% rename from libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ServerLoginNetworkHandlerMixin.java rename to libraries/networking/networking-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ServerLoginNetworkHandlerMixin.java diff --git a/libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ServerPlayNetworkHandlerMixin.java b/libraries/networking/networking-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ServerPlayNetworkHandlerMixin.java similarity index 100% rename from libraries/networking-impl/networking-impl-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ServerPlayNetworkHandlerMixin.java rename to libraries/networking/networking-mcb1.0-mc13w39b/src/main/java/net/ornithemc/osl/networking/impl/mixin/common/ServerPlayNetworkHandlerMixin.java diff --git a/libraries/networking/networking-mcb1.0-mc13w39b/src/main/resources/fabric.mod.json b/libraries/networking/networking-mcb1.0-mc13w39b/src/main/resources/fabric.mod.json index 910a2fcce..034dd8ab8 100644 --- a/libraries/networking/networking-mcb1.0-mc13w39b/src/main/resources/fabric.mod.json +++ b/libraries/networking/networking-mcb1.0-mc13w39b/src/main/resources/fabric.mod.json @@ -3,6 +3,17 @@ "id": "osl-networking", "version": "0.12.0+mcb1.0-mc13w39b", "environment": "*", + "entrypoints": { + "init": [ + "net.ornithemc.osl.networking.impl.Networking" + ], + "client-init": [ + "net.ornithemc.osl.networking.impl.Networking" + ], + "server-init": [ + "net.ornithemc.osl.networking.impl.Networking" + ] + }, "mixins": [ "osl.networking.mixins.json" ], @@ -11,8 +22,9 @@ "fabricloader": "\u003e\u003d0.18.0", "minecraft": "\u003e\u003d1.0.0-beta.0 \u003c\u003d1.7-alpha.13.39.b", "osl-core": "\u003e\u003d0.7.0", - "osl-executors": "\u003e\u003d0.1.0", "osl-entrypoints": "\u003e\u003d0.5.0", + "osl-lifecycle-events": "\u003e\u003d0.6.0", + "osl-executors": "\u003e\u003d0.1.0", "osl-text-components": "\u003e\u003d0.1.0" }, "name": "OSL Networking", diff --git a/libraries/networking/networking-mcb1.0-mc13w39b/src/main/resources/osl.networking.classtweaker b/libraries/networking/networking-mcb1.0-mc13w39b/src/main/resources/osl.networking.classtweaker index 9972f8833..a5847868f 100644 --- a/libraries/networking/networking-mcb1.0-mc13w39b/src/main/resources/osl.networking.classtweaker +++ b/libraries/networking/networking-mcb1.0-mc13w39b/src/main/resources/osl.networking.classtweaker @@ -1,3 +1,6 @@ classTweaker v1 named -accessible field net/minecraft/server/network/handler/ServerPlayNetworkHandler player Lnet/minecraft/server/entity/mob/player/ServerPlayerEntity; \ No newline at end of file +accessible field net/minecraft/network/packet/HandshakePacket username Ljava/lang/String; +accessible field net/minecraft/server/network/handler/ServerPlayNetworkHandler player Lnet/minecraft/server/entity/mob/player/ServerPlayerEntity; + +inject-interface net/minecraft/network/Connection net/ornithemc/osl/networking/impl/access/ConnectionAccess diff --git a/libraries/networking/networking-mcb1.0-mc13w39b/src/main/resources/osl.networking.mixins.json b/libraries/networking/networking-mcb1.0-mc13w39b/src/main/resources/osl.networking.mixins.json index d6d90c9ae..35d532b3b 100644 --- a/libraries/networking/networking-mcb1.0-mc13w39b/src/main/resources/osl.networking.mixins.json +++ b/libraries/networking/networking-mcb1.0-mc13w39b/src/main/resources/osl.networking.mixins.json @@ -3,9 +3,22 @@ "minVersion": "0.8", "package": "net.ornithemc.osl.networking.impl.mixin", "compatibilityLevel": "JAVA_8", + "plugin": "net.ornithemc.conditionalmixin.mixin.ConditionalMixinPlugin", "mixins": [ + "common.CustomPayloadPacketMixin", + "common.MinecraftServerMixin", + "common.PacketAccessor", + "common.PacketHandlerMixin", + "common.PlayerManagerMixin", + "common.RemoteConnectionMixin", + "common.ServerLoginNetworkHandlerMixin", + "common.ServerPlayNetworkHandlerMixin" ], "client": [ + "client.ClientNetworkHandlerMixin", + "client.HandshakePacketMixin", + "client.LocalConnectionMixin", + "client.MinecraftMixin" ], "server": [ ], diff --git a/settings.gradle b/settings.gradle index 0a68ec60a..00d2304d4 100644 --- a/settings.gradle +++ b/settings.gradle @@ -161,12 +161,6 @@ include ':libraries:networking:networking-mcb1.0-mc13w39b' include ':libraries:networking:networking-mc13w41a-mc18w30b' include ':libraries:networking:networking-mc18w31a-mc1.14.4' -include ':libraries:networking-impl' -include ':libraries:networking-impl:networking-impl-mca1.0.16-mca1.2.6' -include ':libraries:networking-impl:networking-impl-mca0.1.2_01-mca0.2.8' -include ':libraries:networking-impl:networking-impl-mcb1.0-mc13w39b' -include ':libraries:networking-impl:networking-impl-mc13w41a-mc1.14.4' - include ':libraries:registries' include ':libraries:registries:registries-mca1.0.1_01-mc12w17a' include ':libraries:registries:registries-mc12w18a-mc1.6.4' From 3be8859f33ac842998227844a3d35224a20af673 Mon Sep 17 00:00:00 2001 From: Space Walker Date: Fri, 13 Nov 2026 19:00:13 +0100 Subject: [PATCH 04/12] [biomes] drop networking-impl dependency --- .../src/main/resources/fabric.mod.json | 1 - .../src/main/resources/fabric.mod.json | 1 - .../biomes-mc16w02a-mc18w05a/src/main/resources/fabric.mod.json | 1 - .../biomes-mc18w06a-mc18w31a/src/main/resources/fabric.mod.json | 1 - .../biomes-mc18w32a-mc1.13.2/src/main/resources/fabric.mod.json | 1 - .../src/main/resources/fabric.mod.json | 1 - 6 files changed, 6 deletions(-) diff --git a/libraries/biomes/biomes-mc1.8.2-pre5-mc15w51b/src/main/resources/fabric.mod.json b/libraries/biomes/biomes-mc1.8.2-pre5-mc15w51b/src/main/resources/fabric.mod.json index f4c2298b1..8595fd258 100644 --- a/libraries/biomes/biomes-mc1.8.2-pre5-mc15w51b/src/main/resources/fabric.mod.json +++ b/libraries/biomes/biomes-mc1.8.2-pre5-mc15w51b/src/main/resources/fabric.mod.json @@ -21,7 +21,6 @@ "osl-executors": "\u003e\u003d0.1.1", "osl-text-components": "\u003e\u003d0.1.0", "osl-networking": "\u003e\u003d0.12.0", - "osl-networking-impl": "\u003e\u003d0.2.0", "osl-registries": "\u003e\u003d0.4.0", "osl-crash-reports": "\u003e\u003d0.1.0", "osl-resource-loader": "\u003e\u003d0.9.0", diff --git a/libraries/biomes/biomes-mc13w36a-mc1.8.2-pre4/src/main/resources/fabric.mod.json b/libraries/biomes/biomes-mc13w36a-mc1.8.2-pre4/src/main/resources/fabric.mod.json index 0c784a9eb..49d9903e2 100644 --- a/libraries/biomes/biomes-mc13w36a-mc1.8.2-pre4/src/main/resources/fabric.mod.json +++ b/libraries/biomes/biomes-mc13w36a-mc1.8.2-pre4/src/main/resources/fabric.mod.json @@ -21,7 +21,6 @@ "osl-executors": "\u003e\u003d0.1.1", "osl-text-components": "\u003e\u003d0.1.0", "osl-networking": "\u003e\u003d0.12.0", - "osl-networking-impl": "\u003e\u003d0.2.0", "osl-registries": "\u003e\u003d0.4.0", "osl-crash-reports": "\u003e\u003d0.1.0", "osl-resource-loader": "\u003e\u003d0.9.0", diff --git a/libraries/biomes/biomes-mc16w02a-mc18w05a/src/main/resources/fabric.mod.json b/libraries/biomes/biomes-mc16w02a-mc18w05a/src/main/resources/fabric.mod.json index 8816ab60b..08d544584 100644 --- a/libraries/biomes/biomes-mc16w02a-mc18w05a/src/main/resources/fabric.mod.json +++ b/libraries/biomes/biomes-mc16w02a-mc18w05a/src/main/resources/fabric.mod.json @@ -21,7 +21,6 @@ "osl-executors": "\u003e\u003d0.1.1", "osl-text-components": "\u003e\u003d0.1.0", "osl-networking": "\u003e\u003d0.12.0", - "osl-networking-impl": "\u003e\u003d0.2.0", "osl-registries": "\u003e\u003d0.4.0", "osl-crash-reports": "\u003e\u003d0.1.0", "osl-resource-loader": "\u003e\u003d0.9.0", diff --git a/libraries/biomes/biomes-mc18w06a-mc18w31a/src/main/resources/fabric.mod.json b/libraries/biomes/biomes-mc18w06a-mc18w31a/src/main/resources/fabric.mod.json index a41863234..57461af3b 100644 --- a/libraries/biomes/biomes-mc18w06a-mc18w31a/src/main/resources/fabric.mod.json +++ b/libraries/biomes/biomes-mc18w06a-mc18w31a/src/main/resources/fabric.mod.json @@ -21,7 +21,6 @@ "osl-executors": "\u003e\u003d0.1.1", "osl-text-components": "\u003e\u003d0.1.0", "osl-networking": "\u003e\u003d0.12.0", - "osl-networking-impl": "\u003e\u003d0.2.0", "osl-registries": "\u003e\u003d0.4.0", "osl-crash-reports": "\u003e\u003d0.1.0", "osl-resource-loader": "\u003e\u003d0.9.0", diff --git a/libraries/biomes/biomes-mc18w32a-mc1.13.2/src/main/resources/fabric.mod.json b/libraries/biomes/biomes-mc18w32a-mc1.13.2/src/main/resources/fabric.mod.json index b8b3c453a..fc43a9b77 100644 --- a/libraries/biomes/biomes-mc18w32a-mc1.13.2/src/main/resources/fabric.mod.json +++ b/libraries/biomes/biomes-mc18w32a-mc1.13.2/src/main/resources/fabric.mod.json @@ -21,7 +21,6 @@ "osl-executors": "\u003e\u003d0.1.1", "osl-text-components": "\u003e\u003d0.1.0", "osl-networking": "\u003e\u003d0.12.0", - "osl-networking-impl": "\u003e\u003d0.2.0", "osl-registries": "\u003e\u003d0.4.0", "osl-crash-reports": "\u003e\u003d0.1.0", "osl-resource-loader": "\u003e\u003d0.9.0", diff --git a/libraries/biomes/biomes-mcb1.8-pre1-mc1.6.4/src/main/resources/fabric.mod.json b/libraries/biomes/biomes-mcb1.8-pre1-mc1.6.4/src/main/resources/fabric.mod.json index 027746cfd..dda219f87 100644 --- a/libraries/biomes/biomes-mcb1.8-pre1-mc1.6.4/src/main/resources/fabric.mod.json +++ b/libraries/biomes/biomes-mcb1.8-pre1-mc1.6.4/src/main/resources/fabric.mod.json @@ -21,7 +21,6 @@ "osl-executors": "\u003e\u003d0.1.1", "osl-text-components": "\u003e\u003d0.1.0", "osl-networking": "\u003e\u003d0.12.0", - "osl-networking-impl": "\u003e\u003d0.2.0", "osl-registries": "\u003e\u003d0.4.0", "osl-crash-reports": "\u003e\u003d0.1.0", "osl-resource-loader": "\u003e\u003d0.9.0", From 45a41a0bf283d35208237057ca1005bbb342fe7f Mon Sep 17 00:00:00 2001 From: Space Walker Date: Fri, 13 Nov 2026 19:00:48 +0100 Subject: [PATCH 05/12] [block entities] drop networking-impl dependency --- .../src/main/resources/fabric.mod.json | 1 - .../src/main/resources/fabric.mod.json | 1 - .../src/main/resources/fabric.mod.json | 1 - .../src/main/resources/fabric.mod.json | 1 - .../src/main/resources/fabric.mod.json | 1 - 5 files changed, 5 deletions(-) diff --git a/libraries/blockentities/blockentities-mc1.13-pre5-mc18w31a/src/main/resources/fabric.mod.json b/libraries/blockentities/blockentities-mc1.13-pre5-mc18w31a/src/main/resources/fabric.mod.json index 1251c0b98..58c3202a8 100644 --- a/libraries/blockentities/blockentities-mc1.13-pre5-mc18w31a/src/main/resources/fabric.mod.json +++ b/libraries/blockentities/blockentities-mc1.13-pre5-mc18w31a/src/main/resources/fabric.mod.json @@ -20,7 +20,6 @@ "osl-executors": "\u003e\u003d0.1.0", "osl-text-components": "\u003e\u003d0.1.0", "osl-networking": "\u003e\u003d0.12.0", - "osl-networking-impl": "\u003e\u003d0.2.0", "osl-registries": "\u003e\u003d0.4.0" }, "name": "OSL Block Entities", diff --git a/libraries/blockentities/blockentities-mc1.14.1-pre1-mc1.14.4/src/main/resources/fabric.mod.json b/libraries/blockentities/blockentities-mc1.14.1-pre1-mc1.14.4/src/main/resources/fabric.mod.json index 1891c3ea0..cd239e3ff 100644 --- a/libraries/blockentities/blockentities-mc1.14.1-pre1-mc1.14.4/src/main/resources/fabric.mod.json +++ b/libraries/blockentities/blockentities-mc1.14.1-pre1-mc1.14.4/src/main/resources/fabric.mod.json @@ -20,7 +20,6 @@ "osl-executors": "\u003e\u003d0.1.0", "osl-text-components": "\u003e\u003d0.1.0", "osl-networking": "\u003e\u003d0.12.0", - "osl-networking-impl": "\u003e\u003d0.2.0", "osl-registries": "\u003e\u003d0.4.0" }, "name": "OSL Block Entities", diff --git a/libraries/blockentities/blockentities-mc16w32a-mc18w01a/src/main/resources/fabric.mod.json b/libraries/blockentities/blockentities-mc16w32a-mc18w01a/src/main/resources/fabric.mod.json index c2bcef011..ec61a5daf 100644 --- a/libraries/blockentities/blockentities-mc16w32a-mc18w01a/src/main/resources/fabric.mod.json +++ b/libraries/blockentities/blockentities-mc16w32a-mc18w01a/src/main/resources/fabric.mod.json @@ -21,7 +21,6 @@ "osl-executors": "\u003e\u003d0.1.0", "osl-text-components": "\u003e\u003d0.1.0", "osl-networking": "\u003e\u003d0.12.0", - "osl-networking-impl": "\u003e\u003d0.2.0", "osl-registries": "\u003e\u003d0.4.0" }, "name": "OSL Block Entities", diff --git a/libraries/blockentities/blockentities-mc18w32a-mc1.14/src/main/resources/fabric.mod.json b/libraries/blockentities/blockentities-mc18w32a-mc1.14/src/main/resources/fabric.mod.json index f82395c93..4dbd51d40 100644 --- a/libraries/blockentities/blockentities-mc18w32a-mc1.14/src/main/resources/fabric.mod.json +++ b/libraries/blockentities/blockentities-mc18w32a-mc1.14/src/main/resources/fabric.mod.json @@ -20,7 +20,6 @@ "osl-executors": "\u003e\u003d0.1.0", "osl-text-components": "\u003e\u003d0.1.0", "osl-networking": "\u003e\u003d0.12.0", - "osl-networking-impl": "\u003e\u003d0.2.0", "osl-registries": "\u003e\u003d0.4.0" }, "name": "OSL Block Entities", diff --git a/libraries/blockentities/blockentities-mca1.0.1_01-mc1.10.2/src/main/resources/fabric.mod.json b/libraries/blockentities/blockentities-mca1.0.1_01-mc1.10.2/src/main/resources/fabric.mod.json index 6fc53e895..f8bbe9e89 100644 --- a/libraries/blockentities/blockentities-mca1.0.1_01-mc1.10.2/src/main/resources/fabric.mod.json +++ b/libraries/blockentities/blockentities-mca1.0.1_01-mc1.10.2/src/main/resources/fabric.mod.json @@ -21,7 +21,6 @@ "osl-executors": "\u003e\u003d0.1.0", "osl-text-components": "\u003e\u003d0.1.0", "osl-networking": "\u003e\u003d0.12.0", - "osl-networking-impl": "\u003e\u003d0.2.0", "osl-registries": "\u003e\u003d0.4.0" }, "name": "OSL Block Entities", From 8b11523019b6c90521cbc8e7234a14cd63808492 Mon Sep 17 00:00:00 2001 From: Space Walker Date: Fri, 13 Nov 2026 19:01:31 +0100 Subject: [PATCH 06/12] [blocks] drop networking-impl dependency --- .../blocks-mc13w36a-mc14w26c/src/main/resources/fabric.mod.json | 1 - .../blocks-mc14w27a-mc15w35a/src/main/resources/fabric.mod.json | 1 - .../blocks-mc15w36a-mc17w46a/src/main/resources/fabric.mod.json | 1 - .../blocks-mc17w47a-mc18w31a/src/main/resources/fabric.mod.json | 1 - .../blocks-mc18w32a-mc1.13.2/src/main/resources/fabric.mod.json | 1 - .../blocks-mc18w43a-mc1.14.4/src/main/resources/fabric.mod.json | 1 - .../src/main/resources/fabric.mod.json | 1 - 7 files changed, 7 deletions(-) diff --git a/libraries/blocks/blocks-mc13w36a-mc14w26c/src/main/resources/fabric.mod.json b/libraries/blocks/blocks-mc13w36a-mc14w26c/src/main/resources/fabric.mod.json index 9ac637833..dbf496e2b 100644 --- a/libraries/blocks/blocks-mc13w36a-mc14w26c/src/main/resources/fabric.mod.json +++ b/libraries/blocks/blocks-mc13w36a-mc14w26c/src/main/resources/fabric.mod.json @@ -21,7 +21,6 @@ "osl-executors": "\u003e\u003d0.1.0", "osl-text-components": "\u003e\u003d0.1.0", "osl-networking": "\u003e\u003d0.12.0", - "osl-networking-impl": "\u003e\u003d0.2.0", "osl-registries": "\u003e\u003d0.4.0", "osl-blockstates": "\u003e\u003d0.1.0" }, diff --git a/libraries/blocks/blocks-mc14w27a-mc15w35a/src/main/resources/fabric.mod.json b/libraries/blocks/blocks-mc14w27a-mc15w35a/src/main/resources/fabric.mod.json index ee3e073ba..200623a8a 100644 --- a/libraries/blocks/blocks-mc14w27a-mc15w35a/src/main/resources/fabric.mod.json +++ b/libraries/blocks/blocks-mc14w27a-mc15w35a/src/main/resources/fabric.mod.json @@ -21,7 +21,6 @@ "osl-executors": "\u003e\u003d0.1.0", "osl-text-components": "\u003e\u003d0.1.0", "osl-networking": "\u003e\u003d0.12.0", - "osl-networking-impl": "\u003e\u003d0.2.0", "osl-registries": "\u003e\u003d0.4.0", "osl-blockstates": "\u003e\u003d0.1.0" }, diff --git a/libraries/blocks/blocks-mc15w36a-mc17w46a/src/main/resources/fabric.mod.json b/libraries/blocks/blocks-mc15w36a-mc17w46a/src/main/resources/fabric.mod.json index 076e0aa8f..6681fb117 100644 --- a/libraries/blocks/blocks-mc15w36a-mc17w46a/src/main/resources/fabric.mod.json +++ b/libraries/blocks/blocks-mc15w36a-mc17w46a/src/main/resources/fabric.mod.json @@ -21,7 +21,6 @@ "osl-executors": "\u003e\u003d0.1.0", "osl-text-components": "\u003e\u003d0.1.0", "osl-networking": "\u003e\u003d0.12.0", - "osl-networking-impl": "\u003e\u003d0.2.0", "osl-registries": "\u003e\u003d0.4.0", "osl-blockstates": "\u003e\u003d0.1.0" }, diff --git a/libraries/blocks/blocks-mc17w47a-mc18w31a/src/main/resources/fabric.mod.json b/libraries/blocks/blocks-mc17w47a-mc18w31a/src/main/resources/fabric.mod.json index 6813f0a62..a4e297772 100644 --- a/libraries/blocks/blocks-mc17w47a-mc18w31a/src/main/resources/fabric.mod.json +++ b/libraries/blocks/blocks-mc17w47a-mc18w31a/src/main/resources/fabric.mod.json @@ -20,7 +20,6 @@ "osl-executors": "\u003e\u003d0.1.0", "osl-text-components": "\u003e\u003d0.1.0", "osl-networking": "\u003e\u003d0.12.0", - "osl-networking-impl": "\u003e\u003d0.2.0", "osl-registries": "\u003e\u003d0.4.0", "osl-blockstates": "\u003e\u003d0.1.0" }, diff --git a/libraries/blocks/blocks-mc18w32a-mc1.13.2/src/main/resources/fabric.mod.json b/libraries/blocks/blocks-mc18w32a-mc1.13.2/src/main/resources/fabric.mod.json index 44597425e..16011c8de 100644 --- a/libraries/blocks/blocks-mc18w32a-mc1.13.2/src/main/resources/fabric.mod.json +++ b/libraries/blocks/blocks-mc18w32a-mc1.13.2/src/main/resources/fabric.mod.json @@ -20,7 +20,6 @@ "osl-executors": "\u003e\u003d0.1.0", "osl-text-components": "\u003e\u003d0.1.0", "osl-networking": "\u003e\u003d0.12.0", - "osl-networking-impl": "\u003e\u003d0.2.0", "osl-registries": "\u003e\u003d0.4.0", "osl-blockstates": "\u003e\u003d0.1.0" }, diff --git a/libraries/blocks/blocks-mc18w43a-mc1.14.4/src/main/resources/fabric.mod.json b/libraries/blocks/blocks-mc18w43a-mc1.14.4/src/main/resources/fabric.mod.json index 7d7766492..b14b26e04 100644 --- a/libraries/blocks/blocks-mc18w43a-mc1.14.4/src/main/resources/fabric.mod.json +++ b/libraries/blocks/blocks-mc18w43a-mc1.14.4/src/main/resources/fabric.mod.json @@ -20,7 +20,6 @@ "osl-executors": "\u003e\u003d0.1.0", "osl-text-components": "\u003e\u003d0.1.0", "osl-networking": "\u003e\u003d0.12.0", - "osl-networking-impl": "\u003e\u003d0.2.0", "osl-registries": "\u003e\u003d0.4.0", "osl-blockstates": "\u003e\u003d0.1.0" }, diff --git a/libraries/blocks/blocks-mca1.0.1_01-mc1.6.4/src/main/resources/fabric.mod.json b/libraries/blocks/blocks-mca1.0.1_01-mc1.6.4/src/main/resources/fabric.mod.json index eca723899..d54423a29 100644 --- a/libraries/blocks/blocks-mca1.0.1_01-mc1.6.4/src/main/resources/fabric.mod.json +++ b/libraries/blocks/blocks-mca1.0.1_01-mc1.6.4/src/main/resources/fabric.mod.json @@ -21,7 +21,6 @@ "osl-executors": "\u003e\u003d0.1.0", "osl-text-components": "\u003e\u003d0.1.0", "osl-networking": "\u003e\u003d0.12.0", - "osl-networking-impl": "\u003e\u003d0.2.0", "osl-registries": "\u003e\u003d0.4.0", "osl-blockstates": "\u003e\u003d0.1.0" }, From 585690f325ea3a2ff82a2b2a8e849ea5c89e9359 Mon Sep 17 00:00:00 2001 From: Space Walker Date: Fri, 13 Nov 2026 19:02:24 +0100 Subject: [PATCH 07/12] [block states] drop networking-impl dependency --- .../blockstates-mc1.2-mc1.2.5/src/main/resources/fabric.mod.json | 1 - .../src/main/resources/fabric.mod.json | 1 - .../src/main/resources/fabric.mod.json | 1 - .../src/main/resources/fabric.mod.json | 1 - .../src/main/resources/fabric.mod.json | 1 - .../src/main/resources/fabric.mod.json | 1 - .../src/main/resources/fabric.mod.json | 1 - .../src/main/resources/fabric.mod.json | 1 - .../src/main/resources/fabric.mod.json | 1 - .../src/main/resources/fabric.mod.json | 1 - .../src/main/resources/fabric.mod.json | 1 - .../src/main/resources/fabric.mod.json | 1 - .../src/main/resources/fabric.mod.json | 1 - .../src/main/resources/fabric.mod.json | 1 - .../src/main/resources/fabric.mod.json | 1 - .../src/main/resources/fabric.mod.json | 1 - .../src/main/resources/fabric.mod.json | 1 - 17 files changed, 17 deletions(-) diff --git a/libraries/blockstates/blockstates-mc1.2-mc1.2.5/src/main/resources/fabric.mod.json b/libraries/blockstates/blockstates-mc1.2-mc1.2.5/src/main/resources/fabric.mod.json index c6b433f7e..08929f628 100644 --- a/libraries/blockstates/blockstates-mc1.2-mc1.2.5/src/main/resources/fabric.mod.json +++ b/libraries/blockstates/blockstates-mc1.2-mc1.2.5/src/main/resources/fabric.mod.json @@ -16,7 +16,6 @@ "osl-executors": "\u003e\u003d0.1.0", "osl-text-components": "\u003e\u003d0.1.0", "osl-networking": "\u003e\u003d0.12.0", - "osl-networking-impl": "\u003e\u003d0.2.0", "osl-registries": "\u003e\u003d0.2.0" }, "name": "OSL Block States", diff --git a/libraries/blockstates/blockstates-mc1.9.3-pre2-mc1.10.2/src/main/resources/fabric.mod.json b/libraries/blockstates/blockstates-mc1.9.3-pre2-mc1.10.2/src/main/resources/fabric.mod.json index ca00b13ae..8eae3564f 100644 --- a/libraries/blockstates/blockstates-mc1.9.3-pre2-mc1.10.2/src/main/resources/fabric.mod.json +++ b/libraries/blockstates/blockstates-mc1.9.3-pre2-mc1.10.2/src/main/resources/fabric.mod.json @@ -16,7 +16,6 @@ "osl-executors": "\u003e\u003d0.1.0", "osl-text-components": "\u003e\u003d0.1.0", "osl-networking": "\u003e\u003d0.12.0", - "osl-networking-impl": "\u003e\u003d0.2.0", "osl-registries": "\u003e\u003d0.2.0" }, "name": "OSL Block States", diff --git a/libraries/blockstates/blockstates-mc12w25a-mc12w38b/src/main/resources/fabric.mod.json b/libraries/blockstates/blockstates-mc12w25a-mc12w38b/src/main/resources/fabric.mod.json index c1c3975a0..a57b15d04 100644 --- a/libraries/blockstates/blockstates-mc12w25a-mc12w38b/src/main/resources/fabric.mod.json +++ b/libraries/blockstates/blockstates-mc12w25a-mc12w38b/src/main/resources/fabric.mod.json @@ -16,7 +16,6 @@ "osl-executors": "\u003e\u003d0.1.0", "osl-text-components": "\u003e\u003d0.1.0", "osl-networking": "\u003e\u003d0.12.0", - "osl-networking-impl": "\u003e\u003d0.2.0", "osl-registries": "\u003e\u003d0.2.0" }, "name": "OSL Block States", diff --git a/libraries/blockstates/blockstates-mc12w42a-mc1.4.7/src/main/resources/fabric.mod.json b/libraries/blockstates/blockstates-mc12w42a-mc1.4.7/src/main/resources/fabric.mod.json index 0416e908a..9ee4fd1d7 100644 --- a/libraries/blockstates/blockstates-mc12w42a-mc1.4.7/src/main/resources/fabric.mod.json +++ b/libraries/blockstates/blockstates-mc12w42a-mc1.4.7/src/main/resources/fabric.mod.json @@ -16,7 +16,6 @@ "osl-executors": "\u003e\u003d0.1.0", "osl-text-components": "\u003e\u003d0.1.0", "osl-networking": "\u003e\u003d0.12.0", - "osl-networking-impl": "\u003e\u003d0.2.0", "osl-registries": "\u003e\u003d0.2.0" }, "name": "OSL Block States", diff --git a/libraries/blockstates/blockstates-mc13w06a-mc1.6.4/src/main/resources/fabric.mod.json b/libraries/blockstates/blockstates-mc13w06a-mc1.6.4/src/main/resources/fabric.mod.json index 5826340e6..06437ff40 100644 --- a/libraries/blockstates/blockstates-mc13w06a-mc1.6.4/src/main/resources/fabric.mod.json +++ b/libraries/blockstates/blockstates-mc13w06a-mc1.6.4/src/main/resources/fabric.mod.json @@ -16,7 +16,6 @@ "osl-executors": "\u003e\u003d0.1.0", "osl-text-components": "\u003e\u003d0.1.0", "osl-networking": "\u003e\u003d0.12.0", - "osl-networking-impl": "\u003e\u003d0.2.0", "osl-registries": "\u003e\u003d0.2.0" }, "name": "OSL Block States", diff --git a/libraries/blockstates/blockstates-mc13w42a-mc1.7.10/src/main/resources/fabric.mod.json b/libraries/blockstates/blockstates-mc13w42a-mc1.7.10/src/main/resources/fabric.mod.json index 5b8400267..7a2f3a79b 100644 --- a/libraries/blockstates/blockstates-mc13w42a-mc1.7.10/src/main/resources/fabric.mod.json +++ b/libraries/blockstates/blockstates-mc13w42a-mc1.7.10/src/main/resources/fabric.mod.json @@ -16,7 +16,6 @@ "osl-executors": "\u003e\u003d0.1.0", "osl-text-components": "\u003e\u003d0.1.0", "osl-networking": "\u003e\u003d0.12.0", - "osl-networking-impl": "\u003e\u003d0.2.0", "osl-registries": "\u003e\u003d0.2.0" }, "name": "OSL Block States", diff --git a/libraries/blockstates/blockstates-mc14w32c-mc1.8.9/src/main/resources/fabric.mod.json b/libraries/blockstates/blockstates-mc14w32c-mc1.8.9/src/main/resources/fabric.mod.json index 76d402883..216726c3a 100644 --- a/libraries/blockstates/blockstates-mc14w32c-mc1.8.9/src/main/resources/fabric.mod.json +++ b/libraries/blockstates/blockstates-mc14w32c-mc1.8.9/src/main/resources/fabric.mod.json @@ -16,7 +16,6 @@ "osl-executors": "\u003e\u003d0.1.0", "osl-text-components": "\u003e\u003d0.1.0", "osl-networking": "\u003e\u003d0.12.0", - "osl-networking-impl": "\u003e\u003d0.2.0", "osl-registries": "\u003e\u003d0.2.0" }, "name": "OSL Block States", diff --git a/libraries/blockstates/blockstates-mc15w47a-mc1.9.3-pre1/src/main/resources/fabric.mod.json b/libraries/blockstates/blockstates-mc15w47a-mc1.9.3-pre1/src/main/resources/fabric.mod.json index 0c8bbdc1d..d41649115 100644 --- a/libraries/blockstates/blockstates-mc15w47a-mc1.9.3-pre1/src/main/resources/fabric.mod.json +++ b/libraries/blockstates/blockstates-mc15w47a-mc1.9.3-pre1/src/main/resources/fabric.mod.json @@ -16,7 +16,6 @@ "osl-executors": "\u003e\u003d0.1.0", "osl-text-components": "\u003e\u003d0.1.0", "osl-networking": "\u003e\u003d0.12.0", - "osl-networking-impl": "\u003e\u003d0.2.0", "osl-registries": "\u003e\u003d0.2.0" }, "name": "OSL Block States", diff --git a/libraries/blockstates/blockstates-mc16w39a-mc17w46a/src/main/resources/fabric.mod.json b/libraries/blockstates/blockstates-mc16w39a-mc17w46a/src/main/resources/fabric.mod.json index 91d31117a..91c5e6991 100644 --- a/libraries/blockstates/blockstates-mc16w39a-mc17w46a/src/main/resources/fabric.mod.json +++ b/libraries/blockstates/blockstates-mc16w39a-mc17w46a/src/main/resources/fabric.mod.json @@ -16,7 +16,6 @@ "osl-executors": "\u003e\u003d0.1.0", "osl-text-components": "\u003e\u003d0.1.0", "osl-networking": "\u003e\u003d0.12.0", - "osl-networking-impl": "\u003e\u003d0.2.0", "osl-registries": "\u003e\u003d0.2.0" }, "name": "OSL Block States", diff --git a/libraries/blockstates/blockstates-mc18w19a-mc1.13.2/src/main/resources/fabric.mod.json b/libraries/blockstates/blockstates-mc18w19a-mc1.13.2/src/main/resources/fabric.mod.json index cbb843306..1196abd2c 100644 --- a/libraries/blockstates/blockstates-mc18w19a-mc1.13.2/src/main/resources/fabric.mod.json +++ b/libraries/blockstates/blockstates-mc18w19a-mc1.13.2/src/main/resources/fabric.mod.json @@ -16,7 +16,6 @@ "osl-executors": "\u003e\u003d0.1.0", "osl-text-components": "\u003e\u003d0.1.0", "osl-networking": "\u003e\u003d0.12.0", - "osl-networking-impl": "\u003e\u003d0.2.0", "osl-registries": "\u003e\u003d0.2.0" }, "name": "OSL Block States", diff --git a/libraries/blockstates/blockstates-mc18w43a-mc1.14.4/src/main/resources/fabric.mod.json b/libraries/blockstates/blockstates-mc18w43a-mc1.14.4/src/main/resources/fabric.mod.json index d8791a822..9496d5146 100644 --- a/libraries/blockstates/blockstates-mc18w43a-mc1.14.4/src/main/resources/fabric.mod.json +++ b/libraries/blockstates/blockstates-mc18w43a-mc1.14.4/src/main/resources/fabric.mod.json @@ -16,7 +16,6 @@ "osl-executors": "\u003e\u003d0.1.0", "osl-text-components": "\u003e\u003d0.1.0", "osl-networking": "\u003e\u003d0.12.0", - "osl-networking-impl": "\u003e\u003d0.2.0", "osl-registries": "\u003e\u003d0.2.0" }, "name": "OSL Block States", diff --git a/libraries/blockstates/blockstates-mca1.0.1_01-mcb1.1_02/src/main/resources/fabric.mod.json b/libraries/blockstates/blockstates-mca1.0.1_01-mcb1.1_02/src/main/resources/fabric.mod.json index 2a241e9b5..d4482ef11 100644 --- a/libraries/blockstates/blockstates-mca1.0.1_01-mcb1.1_02/src/main/resources/fabric.mod.json +++ b/libraries/blockstates/blockstates-mca1.0.1_01-mcb1.1_02/src/main/resources/fabric.mod.json @@ -16,7 +16,6 @@ "osl-executors": "\u003e\u003d0.1.0", "osl-text-components": "\u003e\u003d0.1.0", "osl-networking": "\u003e\u003d0.12.0", - "osl-networking-impl": "\u003e\u003d0.2.0", "osl-registries": "\u003e\u003d0.2.0" }, "name": "OSL Block States", diff --git a/libraries/blockstates/blockstates-mcb1.2-mcb1.5_02/src/main/resources/fabric.mod.json b/libraries/blockstates/blockstates-mcb1.2-mcb1.5_02/src/main/resources/fabric.mod.json index fc04e72e8..1c2127a50 100644 --- a/libraries/blockstates/blockstates-mcb1.2-mcb1.5_02/src/main/resources/fabric.mod.json +++ b/libraries/blockstates/blockstates-mcb1.2-mcb1.5_02/src/main/resources/fabric.mod.json @@ -16,7 +16,6 @@ "osl-executors": "\u003e\u003d0.1.0", "osl-text-components": "\u003e\u003d0.1.0", "osl-networking": "\u003e\u003d0.12.0", - "osl-networking-impl": "\u003e\u003d0.2.0", "osl-registries": "\u003e\u003d0.2.0" }, "name": "OSL Block States", diff --git a/libraries/blockstates/blockstates-mcb1.6-trailer-mcb1.6.6/src/main/resources/fabric.mod.json b/libraries/blockstates/blockstates-mcb1.6-trailer-mcb1.6.6/src/main/resources/fabric.mod.json index 5e9a86890..42aaeeb55 100644 --- a/libraries/blockstates/blockstates-mcb1.6-trailer-mcb1.6.6/src/main/resources/fabric.mod.json +++ b/libraries/blockstates/blockstates-mcb1.6-trailer-mcb1.6.6/src/main/resources/fabric.mod.json @@ -16,7 +16,6 @@ "osl-executors": "\u003e\u003d0.1.0", "osl-text-components": "\u003e\u003d0.1.0", "osl-networking": "\u003e\u003d0.12.0", - "osl-networking-impl": "\u003e\u003d0.2.0", "osl-registries": "\u003e\u003d0.2.0" }, "name": "OSL Block States", diff --git a/libraries/blockstates/blockstates-mcb1.7-mcb1.7.3/src/main/resources/fabric.mod.json b/libraries/blockstates/blockstates-mcb1.7-mcb1.7.3/src/main/resources/fabric.mod.json index c46935560..9d8ab4893 100644 --- a/libraries/blockstates/blockstates-mcb1.7-mcb1.7.3/src/main/resources/fabric.mod.json +++ b/libraries/blockstates/blockstates-mcb1.7-mcb1.7.3/src/main/resources/fabric.mod.json @@ -16,7 +16,6 @@ "osl-executors": "\u003e\u003d0.1.0", "osl-text-components": "\u003e\u003d0.1.0", "osl-networking": "\u003e\u003d0.12.0", - "osl-networking-impl": "\u003e\u003d0.2.0", "osl-registries": "\u003e\u003d0.2.0" }, "name": "OSL Block States", diff --git a/libraries/blockstates/blockstates-mcb1.8-pre1-mcb1.9-pre3/src/main/resources/fabric.mod.json b/libraries/blockstates/blockstates-mcb1.8-pre1-mcb1.9-pre3/src/main/resources/fabric.mod.json index 5d8285bb8..978e29700 100644 --- a/libraries/blockstates/blockstates-mcb1.8-pre1-mcb1.9-pre3/src/main/resources/fabric.mod.json +++ b/libraries/blockstates/blockstates-mcb1.8-pre1-mcb1.9-pre3/src/main/resources/fabric.mod.json @@ -16,7 +16,6 @@ "osl-executors": "\u003e\u003d0.1.0", "osl-text-components": "\u003e\u003d0.1.0", "osl-networking": "\u003e\u003d0.12.0", - "osl-networking-impl": "\u003e\u003d0.2.0", "osl-registries": "\u003e\u003d0.2.0" }, "name": "OSL Block States", diff --git a/libraries/blockstates/blockstates-mcb1.9-pre4-mc12w03a/src/main/resources/fabric.mod.json b/libraries/blockstates/blockstates-mcb1.9-pre4-mc12w03a/src/main/resources/fabric.mod.json index 3eca9a93f..5102fc816 100644 --- a/libraries/blockstates/blockstates-mcb1.9-pre4-mc12w03a/src/main/resources/fabric.mod.json +++ b/libraries/blockstates/blockstates-mcb1.9-pre4-mc12w03a/src/main/resources/fabric.mod.json @@ -16,7 +16,6 @@ "osl-executors": "\u003e\u003d0.1.0", "osl-text-components": "\u003e\u003d0.1.0", "osl-networking": "\u003e\u003d0.12.0", - "osl-networking-impl": "\u003e\u003d0.2.0", "osl-registries": "\u003e\u003d0.2.0" }, "name": "OSL Block States", From 8dec6477d31ea66e33f1014dd786b2bcaf36ff26 Mon Sep 17 00:00:00 2001 From: Space Walker Date: Fri, 13 Nov 2026 19:02:39 +0100 Subject: [PATCH 08/12] [commands] drop networking-impl dependency --- .../src/main/resources/fabric.mod.json | 1 - .../src/main/resources/fabric.mod.json | 1 - 2 files changed, 2 deletions(-) diff --git a/libraries/commands/commands-mc14w28a-mc1.12.2/src/main/resources/fabric.mod.json b/libraries/commands/commands-mc14w28a-mc1.12.2/src/main/resources/fabric.mod.json index d5cf73b40..e6037221d 100644 --- a/libraries/commands/commands-mc14w28a-mc1.12.2/src/main/resources/fabric.mod.json +++ b/libraries/commands/commands-mc14w28a-mc1.12.2/src/main/resources/fabric.mod.json @@ -24,7 +24,6 @@ "osl-executors": "\u003e\u003d0.1.0", "osl-text-components": "\u003e\u003d0.2.0", "osl-networking": "\u003e\u003d0.12.0", - "osl-networking-impl": "\u003e\u003d0.2.0", "osl-registries": "\u003e\u003d0.4.0", "osl-blockstates": "\u003e\u003d0.1.0", "osl-blocks": "\u003e\u003d0.3.0", diff --git a/libraries/commands/commands-mc17w45a-mc1.14.4/src/main/resources/fabric.mod.json b/libraries/commands/commands-mc17w45a-mc1.14.4/src/main/resources/fabric.mod.json index 950369c19..5dbb8fadb 100644 --- a/libraries/commands/commands-mc17w45a-mc1.14.4/src/main/resources/fabric.mod.json +++ b/libraries/commands/commands-mc17w45a-mc1.14.4/src/main/resources/fabric.mod.json @@ -16,7 +16,6 @@ "osl-executors": "\u003e\u003d0.1.0", "osl-text-components": "\u003e\u003d0.2.0", "osl-networking": "\u003e\u003d0.12.0", - "osl-networking-impl": "\u003e\u003d0.2.0", "osl-registries": "\u003e\u003d0.4.0", "osl-blockstates": "\u003e\u003d0.1.0", "osl-blocks": "\u003e\u003d0.3.0", From 5d531fe05a3c6d672fd9470ca21836e2907b7bc3 Mon Sep 17 00:00:00 2001 From: Space Walker Date: Fri, 13 Nov 2026 19:02:56 +0100 Subject: [PATCH 09/12] [datagen] drop networking-impl dependency --- .../src/main/resources/fabric.mod.json | 1 - .../datagen-mc18w32a-mc1.13.2/src/main/resources/fabric.mod.json | 1 - .../datagen-mc18w43a-mc1.14.4/src/main/resources/fabric.mod.json | 1 - 3 files changed, 3 deletions(-) diff --git a/libraries/datagen/datagen-mc1.13-pre6-mc18w31a/src/main/resources/fabric.mod.json b/libraries/datagen/datagen-mc1.13-pre6-mc18w31a/src/main/resources/fabric.mod.json index 9a9d3a574..9810bf1f6 100644 --- a/libraries/datagen/datagen-mc1.13-pre6-mc18w31a/src/main/resources/fabric.mod.json +++ b/libraries/datagen/datagen-mc1.13-pre6-mc18w31a/src/main/resources/fabric.mod.json @@ -21,7 +21,6 @@ "osl-executors": "\u003e\u003d0.1.1", "osl-text-components": "\u003e\u003d0.1.0", "osl-networking": "\u003e\u003d0.12.0", - "osl-networking-impl": "\u003e\u003d0.2.0", "osl-registries": "\u003e\u003d0.4.0", "osl-crash-reports": "\u003e\u003d0.1.0", "osl-resource-loader": "\u003e\u003d0.8.0", diff --git a/libraries/datagen/datagen-mc18w32a-mc1.13.2/src/main/resources/fabric.mod.json b/libraries/datagen/datagen-mc18w32a-mc1.13.2/src/main/resources/fabric.mod.json index 8471cbcde..d38b5ca8b 100644 --- a/libraries/datagen/datagen-mc18w32a-mc1.13.2/src/main/resources/fabric.mod.json +++ b/libraries/datagen/datagen-mc18w32a-mc1.13.2/src/main/resources/fabric.mod.json @@ -21,7 +21,6 @@ "osl-executors": "\u003e\u003d0.1.1", "osl-text-components": "\u003e\u003d0.1.0", "osl-networking": "\u003e\u003d0.12.0", - "osl-networking-impl": "\u003e\u003d0.2.0", "osl-registries": "\u003e\u003d0.4.0", "osl-crash-reports": "\u003e\u003d0.1.0", "osl-resource-loader": "\u003e\u003d0.8.0", diff --git a/libraries/datagen/datagen-mc18w43a-mc1.14.4/src/main/resources/fabric.mod.json b/libraries/datagen/datagen-mc18w43a-mc1.14.4/src/main/resources/fabric.mod.json index 7bddb2820..969cd7c54 100644 --- a/libraries/datagen/datagen-mc18w43a-mc1.14.4/src/main/resources/fabric.mod.json +++ b/libraries/datagen/datagen-mc18w43a-mc1.14.4/src/main/resources/fabric.mod.json @@ -21,7 +21,6 @@ "osl-executors": "\u003e\u003d0.1.1", "osl-text-components": "\u003e\u003d0.1.0", "osl-networking": "\u003e\u003d0.12.0", - "osl-networking-impl": "\u003e\u003d0.2.0", "osl-registries": "\u003e\u003d0.4.0", "osl-crash-reports": "\u003e\u003d0.1.0", "osl-resource-loader": "\u003e\u003d0.8.0", From 9dc91870bbd0e49e70b6f1dd08e4b1cabb21531a Mon Sep 17 00:00:00 2001 From: Space Walker Date: Fri, 13 Nov 2026 19:03:21 +0100 Subject: [PATCH 10/12] [entities] drop networking-impl dependency --- .../src/main/resources/fabric.mod.json | 1 - .../src/main/resources/fabric.mod.json | 1 - .../src/main/resources/fabric.mod.json | 1 - .../src/main/resources/fabric.mod.json | 1 - .../src/main/resources/fabric.mod.json | 1 - .../src/main/resources/fabric.mod.json | 1 - .../src/main/resources/fabric.mod.json | 1 - 7 files changed, 7 deletions(-) diff --git a/libraries/entities/entities-mc1.8.2-pre5-mc1.10.2/src/main/resources/fabric.mod.json b/libraries/entities/entities-mc1.8.2-pre5-mc1.10.2/src/main/resources/fabric.mod.json index 52a6c7eb4..d32f238f4 100644 --- a/libraries/entities/entities-mc1.8.2-pre5-mc1.10.2/src/main/resources/fabric.mod.json +++ b/libraries/entities/entities-mc1.8.2-pre5-mc1.10.2/src/main/resources/fabric.mod.json @@ -21,7 +21,6 @@ "osl-executors": "\u003e\u003d0.1.0", "osl-text-components": "\u003e\u003d0.1.0", "osl-networking": "\u003e\u003d0.12.0", - "osl-networking-impl": "\u003e\u003d0.2.0", "osl-registries": "\u003e\u003d0.4.0" }, "name": "OSL Entities", diff --git a/libraries/entities/entities-mc12w01a-mc1.8.2-pre4/src/main/resources/fabric.mod.json b/libraries/entities/entities-mc12w01a-mc1.8.2-pre4/src/main/resources/fabric.mod.json index 9cd179918..1c2d126e6 100644 --- a/libraries/entities/entities-mc12w01a-mc1.8.2-pre4/src/main/resources/fabric.mod.json +++ b/libraries/entities/entities-mc12w01a-mc1.8.2-pre4/src/main/resources/fabric.mod.json @@ -21,7 +21,6 @@ "osl-executors": "\u003e\u003d0.1.0", "osl-text-components": "\u003e\u003d0.1.0", "osl-networking": "\u003e\u003d0.12.0", - "osl-networking-impl": "\u003e\u003d0.2.0", "osl-registries": "\u003e\u003d0.4.0" }, "name": "OSL Entities", diff --git a/libraries/entities/entities-mc16w32a-mc18w01a/src/main/resources/fabric.mod.json b/libraries/entities/entities-mc16w32a-mc18w01a/src/main/resources/fabric.mod.json index bbbaec7c8..602fc3842 100644 --- a/libraries/entities/entities-mc16w32a-mc18w01a/src/main/resources/fabric.mod.json +++ b/libraries/entities/entities-mc16w32a-mc18w01a/src/main/resources/fabric.mod.json @@ -21,7 +21,6 @@ "osl-executors": "\u003e\u003d0.1.0", "osl-text-components": "\u003e\u003d0.1.0", "osl-networking": "\u003e\u003d0.12.0", - "osl-networking-impl": "\u003e\u003d0.2.0", "osl-registries": "\u003e\u003d0.4.0" }, "name": "OSL Entities", diff --git a/libraries/entities/entities-mc18w19a-mc18w31a/src/main/resources/fabric.mod.json b/libraries/entities/entities-mc18w19a-mc18w31a/src/main/resources/fabric.mod.json index 79a407788..04d042854 100644 --- a/libraries/entities/entities-mc18w19a-mc18w31a/src/main/resources/fabric.mod.json +++ b/libraries/entities/entities-mc18w19a-mc18w31a/src/main/resources/fabric.mod.json @@ -20,7 +20,6 @@ "osl-executors": "\u003e\u003d0.1.0", "osl-text-components": "\u003e\u003d0.1.0", "osl-networking": "\u003e\u003d0.12.0", - "osl-networking-impl": "\u003e\u003d0.2.0", "osl-registries": "\u003e\u003d0.4.0" }, "name": "OSL Entities", diff --git a/libraries/entities/entities-mc18w32a-mc19w04b/src/main/resources/fabric.mod.json b/libraries/entities/entities-mc18w32a-mc19w04b/src/main/resources/fabric.mod.json index 02a2b1dd9..4fe50956d 100644 --- a/libraries/entities/entities-mc18w32a-mc19w04b/src/main/resources/fabric.mod.json +++ b/libraries/entities/entities-mc18w32a-mc19w04b/src/main/resources/fabric.mod.json @@ -20,7 +20,6 @@ "osl-executors": "\u003e\u003d0.1.0", "osl-text-components": "\u003e\u003d0.1.0", "osl-networking": "\u003e\u003d0.12.0", - "osl-networking-impl": "\u003e\u003d0.2.0", "osl-registries": "\u003e\u003d0.4.0" }, "name": "OSL Entities", diff --git a/libraries/entities/entities-mc19w08a-mc1.14.4/src/main/resources/fabric.mod.json b/libraries/entities/entities-mc19w08a-mc1.14.4/src/main/resources/fabric.mod.json index bdba93d17..ac0355381 100644 --- a/libraries/entities/entities-mc19w08a-mc1.14.4/src/main/resources/fabric.mod.json +++ b/libraries/entities/entities-mc19w08a-mc1.14.4/src/main/resources/fabric.mod.json @@ -20,7 +20,6 @@ "osl-executors": "\u003e\u003d0.1.0", "osl-text-components": "\u003e\u003d0.1.0", "osl-networking": "\u003e\u003d0.12.0", - "osl-networking-impl": "\u003e\u003d0.2.0", "osl-registries": "\u003e\u003d0.4.0" }, "name": "OSL Entities", diff --git a/libraries/entities/entities-mca1.0.1_01-mc11w48a/src/main/resources/fabric.mod.json b/libraries/entities/entities-mca1.0.1_01-mc11w48a/src/main/resources/fabric.mod.json index 533253962..33a2fea1b 100644 --- a/libraries/entities/entities-mca1.0.1_01-mc11w48a/src/main/resources/fabric.mod.json +++ b/libraries/entities/entities-mca1.0.1_01-mc11w48a/src/main/resources/fabric.mod.json @@ -21,7 +21,6 @@ "osl-executors": "\u003e\u003d0.1.0", "osl-text-components": "\u003e\u003d0.1.0", "osl-networking": "\u003e\u003d0.12.0", - "osl-networking-impl": "\u003e\u003d0.2.0", "osl-registries": "\u003e\u003d0.4.0" }, "name": "OSL Entities", From 9fac5f5166d42d8a980a16bd586d7d17c1c7f991 Mon Sep 17 00:00:00 2001 From: Space Walker Date: Fri, 13 Nov 2026 19:03:48 +0100 Subject: [PATCH 11/12] [items] drop networking-impl dependency --- .../items-mc13w36a-mc14w25b/src/main/resources/fabric.mod.json | 1 - .../items-mc14w26a-mc17w46a/src/main/resources/fabric.mod.json | 1 - .../items-mc17w47a-mc18w31a/src/main/resources/fabric.mod.json | 1 - .../items-mc18w32a-mc1.13.2/src/main/resources/fabric.mod.json | 1 - .../items-mc18w43a-mc1.14.4/src/main/resources/fabric.mod.json | 1 - .../items-mca1.0.1_01-mc1.6.4/src/main/resources/fabric.mod.json | 1 - 6 files changed, 6 deletions(-) diff --git a/libraries/items/items-mc13w36a-mc14w25b/src/main/resources/fabric.mod.json b/libraries/items/items-mc13w36a-mc14w25b/src/main/resources/fabric.mod.json index 826497dfd..4e94119b8 100644 --- a/libraries/items/items-mc13w36a-mc14w25b/src/main/resources/fabric.mod.json +++ b/libraries/items/items-mc13w36a-mc14w25b/src/main/resources/fabric.mod.json @@ -21,7 +21,6 @@ "osl-executors": "\u003e\u003d0.1.0", "osl-text-components": "\u003e\u003d0.1.0", "osl-networking": "\u003e\u003d0.12.0", - "osl-networking-impl": "\u003e\u003d0.2.0", "osl-registries": "\u003e\u003d0.4.0", "osl-blockstates": "\u003e\u003d0.1.0", "osl-blocks": "\u003e\u003d0.3.0" diff --git a/libraries/items/items-mc14w26a-mc17w46a/src/main/resources/fabric.mod.json b/libraries/items/items-mc14w26a-mc17w46a/src/main/resources/fabric.mod.json index 90ec4ac61..815b6fb16 100644 --- a/libraries/items/items-mc14w26a-mc17w46a/src/main/resources/fabric.mod.json +++ b/libraries/items/items-mc14w26a-mc17w46a/src/main/resources/fabric.mod.json @@ -21,7 +21,6 @@ "osl-executors": "\u003e\u003d0.1.0", "osl-text-components": "\u003e\u003d0.1.0", "osl-networking": "\u003e\u003d0.12.0", - "osl-networking-impl": "\u003e\u003d0.2.0", "osl-registries": "\u003e\u003d0.4.0", "osl-blockstates": "\u003e\u003d0.1.0", "osl-blocks": "\u003e\u003d0.3.0" diff --git a/libraries/items/items-mc17w47a-mc18w31a/src/main/resources/fabric.mod.json b/libraries/items/items-mc17w47a-mc18w31a/src/main/resources/fabric.mod.json index 18e95b44c..ec638ab87 100644 --- a/libraries/items/items-mc17w47a-mc18w31a/src/main/resources/fabric.mod.json +++ b/libraries/items/items-mc17w47a-mc18w31a/src/main/resources/fabric.mod.json @@ -20,7 +20,6 @@ "osl-executors": "\u003e\u003d0.1.0", "osl-text-components": "\u003e\u003d0.1.0", "osl-networking": "\u003e\u003d0.12.0", - "osl-networking-impl": "\u003e\u003d0.2.0", "osl-registries": "\u003e\u003d0.4.0", "osl-blockstates": "\u003e\u003d0.1.0", "osl-blocks": "\u003e\u003d0.3.0" diff --git a/libraries/items/items-mc18w32a-mc1.13.2/src/main/resources/fabric.mod.json b/libraries/items/items-mc18w32a-mc1.13.2/src/main/resources/fabric.mod.json index 09ae4399d..20ee8acc6 100644 --- a/libraries/items/items-mc18w32a-mc1.13.2/src/main/resources/fabric.mod.json +++ b/libraries/items/items-mc18w32a-mc1.13.2/src/main/resources/fabric.mod.json @@ -20,7 +20,6 @@ "osl-executors": "\u003e\u003d0.1.0", "osl-text-components": "\u003e\u003d0.1.0", "osl-networking": "\u003e\u003d0.12.0", - "osl-networking-impl": "\u003e\u003d0.2.0", "osl-registries": "\u003e\u003d0.4.0", "osl-blockstates": "\u003e\u003d0.1.0", "osl-blocks": "\u003e\u003d0.3.0" diff --git a/libraries/items/items-mc18w43a-mc1.14.4/src/main/resources/fabric.mod.json b/libraries/items/items-mc18w43a-mc1.14.4/src/main/resources/fabric.mod.json index 21308dcbc..15891c5bd 100644 --- a/libraries/items/items-mc18w43a-mc1.14.4/src/main/resources/fabric.mod.json +++ b/libraries/items/items-mc18w43a-mc1.14.4/src/main/resources/fabric.mod.json @@ -20,7 +20,6 @@ "osl-executors": "\u003e\u003d0.1.0", "osl-text-components": "\u003e\u003d0.1.0", "osl-networking": "\u003e\u003d0.12.0", - "osl-networking-impl": "\u003e\u003d0.2.0", "osl-registries": "\u003e\u003d0.4.0", "osl-blockstates": "\u003e\u003d0.1.0", "osl-blocks": "\u003e\u003d0.3.0" diff --git a/libraries/items/items-mca1.0.1_01-mc1.6.4/src/main/resources/fabric.mod.json b/libraries/items/items-mca1.0.1_01-mc1.6.4/src/main/resources/fabric.mod.json index e2a473725..ba1f58ad5 100644 --- a/libraries/items/items-mca1.0.1_01-mc1.6.4/src/main/resources/fabric.mod.json +++ b/libraries/items/items-mca1.0.1_01-mc1.6.4/src/main/resources/fabric.mod.json @@ -21,7 +21,6 @@ "osl-executors": "\u003e\u003d0.1.0", "osl-text-components": "\u003e\u003d0.1.0", "osl-networking": "\u003e\u003d0.12.0", - "osl-networking-impl": "\u003e\u003d0.2.0", "osl-registries": "\u003e\u003d0.4.0", "osl-blockstates": "\u003e\u003d0.1.0", "osl-blocks": "\u003e\u003d0.3.0" From b53f91451bd7933ef5dfe2c0b693dfdc6df610b1 Mon Sep 17 00:00:00 2001 From: Space Walker Date: Thu, 5 Nov 2026 18:37:27 +0100 Subject: [PATCH 12/12] [registries] drop networking-impl dependency --- libraries/registries/gradle.properties | 2 +- .../src/main/resources/fabric.mod.json | 3 +-- .../src/main/resources/fabric.mod.json | 3 +-- .../src/main/resources/fabric.mod.json | 3 +-- .../src/main/resources/fabric.mod.json | 3 +-- .../src/main/resources/fabric.mod.json | 3 +-- .../src/main/resources/fabric.mod.json | 3 +-- .../src/main/resources/fabric.mod.json | 3 +-- 8 files changed, 8 insertions(+), 15 deletions(-) diff --git a/libraries/registries/gradle.properties b/libraries/registries/gradle.properties index 0d15edaad..4561a81b4 100644 --- a/libraries/registries/gradle.properties +++ b/libraries/registries/gradle.properties @@ -4,4 +4,4 @@ library_description = Registries API and numerical ID synchronization. library_version = 0.4.0 entrypoint_client_init = net.ornithemc.osl.registries.impl.RegistriesEntrypoint -osl_dependencies = core:0.11.0,entrypoints:0.5.0,lifecycle-events:0.6.0,executors:0.1.0,networking:0.12.0,networking-impl:0.2.0 +osl_dependencies = core:0.11.0,entrypoints:0.5.0,lifecycle-events:0.6.0,executors:0.1.0,networking:0.12.0 diff --git a/libraries/registries/registries-mc12w18a-mc1.6.4/src/main/resources/fabric.mod.json b/libraries/registries/registries-mc12w18a-mc1.6.4/src/main/resources/fabric.mod.json index 42b8812dd..6526075ac 100644 --- a/libraries/registries/registries-mc12w18a-mc1.6.4/src/main/resources/fabric.mod.json +++ b/libraries/registries/registries-mc12w18a-mc1.6.4/src/main/resources/fabric.mod.json @@ -19,8 +19,7 @@ "osl-lifecycle-events": "\u003e\u003d0.6.0", "osl-executors": "\u003e\u003d0.1.0", "osl-text-components": "\u003e\u003d0.1.0", - "osl-networking": "\u003e\u003d0.12.0", - "osl-networking-impl": "\u003e\u003d0.2.0" + "osl-networking": "\u003e\u003d0.12.0" }, "name": "OSL Registries", "description": "Registries API and numerical ID synchronization.", diff --git a/libraries/registries/registries-mc13w36a-mc14w26c/src/main/resources/fabric.mod.json b/libraries/registries/registries-mc13w36a-mc14w26c/src/main/resources/fabric.mod.json index 2f7c8874a..0cb2ddfaf 100644 --- a/libraries/registries/registries-mc13w36a-mc14w26c/src/main/resources/fabric.mod.json +++ b/libraries/registries/registries-mc13w36a-mc14w26c/src/main/resources/fabric.mod.json @@ -20,8 +20,7 @@ "osl-lifecycle-events": "\u003e\u003d0.6.0", "osl-executors": "\u003e\u003d0.1.0", "osl-text-components": "\u003e\u003d0.1.0", - "osl-networking": "\u003e\u003d0.12.0", - "osl-networking-impl": "\u003e\u003d0.2.0" + "osl-networking": "\u003e\u003d0.12.0" }, "name": "OSL Registries", "description": "Registries API and numerical ID synchronization.", diff --git a/libraries/registries/registries-mc14w27a-mc17w46a/src/main/resources/fabric.mod.json b/libraries/registries/registries-mc14w27a-mc17w46a/src/main/resources/fabric.mod.json index 96495a3b7..4a7509c2f 100644 --- a/libraries/registries/registries-mc14w27a-mc17w46a/src/main/resources/fabric.mod.json +++ b/libraries/registries/registries-mc14w27a-mc17w46a/src/main/resources/fabric.mod.json @@ -20,8 +20,7 @@ "osl-lifecycle-events": "\u003e\u003d0.6.0", "osl-executors": "\u003e\u003d0.1.0", "osl-text-components": "\u003e\u003d0.1.0", - "osl-networking": "\u003e\u003d0.12.0", - "osl-networking-impl": "\u003e\u003d0.2.0" + "osl-networking": "\u003e\u003d0.12.0" }, "name": "OSL Registries", "description": "Registries API and numerical ID synchronization.", diff --git a/libraries/registries/registries-mc17w47a-mc18w31a/src/main/resources/fabric.mod.json b/libraries/registries/registries-mc17w47a-mc18w31a/src/main/resources/fabric.mod.json index 5ec1f90fc..9134ba332 100644 --- a/libraries/registries/registries-mc17w47a-mc18w31a/src/main/resources/fabric.mod.json +++ b/libraries/registries/registries-mc17w47a-mc18w31a/src/main/resources/fabric.mod.json @@ -20,8 +20,7 @@ "osl-lifecycle-events": "\u003e\u003d0.6.0", "osl-executors": "\u003e\u003d0.1.0", "osl-text-components": "\u003e\u003d0.1.0", - "osl-networking": "\u003e\u003d0.12.0", - "osl-networking-impl": "\u003e\u003d0.2.0" + "osl-networking": "\u003e\u003d0.12.0" }, "name": "OSL Registries", "description": "Registries API and numerical ID synchronization.", diff --git a/libraries/registries/registries-mc18w32a-mc1.13.2/src/main/resources/fabric.mod.json b/libraries/registries/registries-mc18w32a-mc1.13.2/src/main/resources/fabric.mod.json index be61e27e4..9f30ee488 100644 --- a/libraries/registries/registries-mc18w32a-mc1.13.2/src/main/resources/fabric.mod.json +++ b/libraries/registries/registries-mc18w32a-mc1.13.2/src/main/resources/fabric.mod.json @@ -20,8 +20,7 @@ "osl-lifecycle-events": "\u003e\u003d0.6.0", "osl-executors": "\u003e\u003d0.1.0", "osl-text-components": "\u003e\u003d0.1.0", - "osl-networking": "\u003e\u003d0.12.0", - "osl-networking-impl": "\u003e\u003d0.2.0" + "osl-networking": "\u003e\u003d0.12.0" }, "name": "OSL Registries", "description": "Registries API and numerical ID synchronization.", diff --git a/libraries/registries/registries-mc18w43a-mc1.14.4/src/main/resources/fabric.mod.json b/libraries/registries/registries-mc18w43a-mc1.14.4/src/main/resources/fabric.mod.json index 66326b42f..247e80987 100644 --- a/libraries/registries/registries-mc18w43a-mc1.14.4/src/main/resources/fabric.mod.json +++ b/libraries/registries/registries-mc18w43a-mc1.14.4/src/main/resources/fabric.mod.json @@ -20,8 +20,7 @@ "osl-lifecycle-events": "\u003e\u003d0.6.0", "osl-executors": "\u003e\u003d0.1.0", "osl-text-components": "\u003e\u003d0.1.0", - "osl-networking": "\u003e\u003d0.12.0", - "osl-networking-impl": "\u003e\u003d0.2.0" + "osl-networking": "\u003e\u003d0.12.0" }, "name": "OSL Registries", "description": "Registries API and numerical ID synchronization.", diff --git a/libraries/registries/registries-mca1.0.1_01-mc12w17a/src/main/resources/fabric.mod.json b/libraries/registries/registries-mca1.0.1_01-mc12w17a/src/main/resources/fabric.mod.json index b77fcc78f..0d39c0e4b 100644 --- a/libraries/registries/registries-mca1.0.1_01-mc12w17a/src/main/resources/fabric.mod.json +++ b/libraries/registries/registries-mca1.0.1_01-mc12w17a/src/main/resources/fabric.mod.json @@ -19,8 +19,7 @@ "osl-lifecycle-events": "\u003e\u003d0.6.0", "osl-executors": "\u003e\u003d0.1.0", "osl-text-components": "\u003e\u003d0.1.0", - "osl-networking": "\u003e\u003d0.12.0", - "osl-networking-impl": "\u003e\u003d0.2.0" + "osl-networking": "\u003e\u003d0.12.0" }, "name": "OSL Registries", "description": "Registries API and numerical ID synchronization.",