diff options
Diffstat (limited to 'mod')
3 files changed, 29 insertions, 8 deletions
diff --git a/mod/src/main/java/moe/ymc/acron/mixin/PlayerManagerMixin.java b/mod/src/main/java/moe/ymc/acron/mixin/PlayerManagerMixin.java new file mode 100644 index 0000000..2137a52 --- /dev/null +++ b/mod/src/main/java/moe/ymc/acron/mixin/PlayerManagerMixin.java @@ -0,0 +1,27 @@ +package moe.ymc.acron.mixin; + +import moe.ymc.acron.s2c.Entity; +import moe.ymc.acron.s2c.EventQueue; +import moe.ymc.acron.s2c.event.EventPlayerJoined; +import net.minecraft.network.ClientConnection; +import net.minecraft.server.PlayerManager; +import net.minecraft.server.network.ServerPlayerEntity; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; +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; + +@Mixin(PlayerManager.class) +public class PlayerManagerMixin { + private static final Logger AC_LOGGER = LogManager.getLogger(); + + @Inject(at = @At("RETURN"), + method = "onPlayerConnect") + public void onPlayerConnect(ClientConnection connection, ServerPlayerEntity player, CallbackInfo ci) { + AC_LOGGER.debug("onPlayerConnect: {}", + player.getUuid()); + EventQueue.enqueue(new EventPlayerJoined(new Entity(player))); + } +} diff --git a/mod/src/main/java/moe/ymc/acron/mixin/ServerLoginNetworkHandlerMixin.java b/mod/src/main/java/moe/ymc/acron/mixin/ServerLoginNetworkHandlerMixin.java index 94a48b5..6dcad44 100644 --- a/mod/src/main/java/moe/ymc/acron/mixin/ServerLoginNetworkHandlerMixin.java +++ b/mod/src/main/java/moe/ymc/acron/mixin/ServerLoginNetworkHandlerMixin.java @@ -37,11 +37,4 @@ public class ServerLoginNetworkHandlerMixin { new Entity(profile), reason.getString())); } - - @Inject(at = @At("RETURN"), method = "addToServer") - private void addToServer(ServerPlayerEntity entity, CallbackInfo ci) { - AC_LOGGER.debug("addToServer: {}", - entity.getUuid()); - EventQueue.enqueue(new EventPlayerJoined(new Entity(entity))); - } } diff --git a/mod/src/main/resources/acron.mixins.json b/mod/src/main/resources/acron.mixins.json index 5d0911f..924d09c 100644 --- a/mod/src/main/resources/acron.mixins.json +++ b/mod/src/main/resources/acron.mixins.json @@ -11,7 +11,8 @@ "ServerLoginNetworkHandlerMixin", "ServerNetworkIoMixin", "ServerPlayerEntityMixin", - "ServerPlayNetworkHandlerMixin" + "ServerPlayNetworkHandlerMixin", + "PlayerManagerMixin" ], "client": [ ], |