Skip to content

Commit

Permalink
Mixin to PlayerManager#onConnect instead of using ServerPlayConnectio…
Browse files Browse the repository at this point in the history
…nEvents.JOIN

Should fix displaynames being inaccurate on player join?

Signed-off-by: unilock <[email protected]>
  • Loading branch information
unilock committed May 29, 2024
1 parent 17523f7 commit 3e34fb3
Show file tree
Hide file tree
Showing 4 changed files with 25 additions and 5 deletions.
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ yarn_mappings=1.20.4+build.3
loader_version=0.15.11

# Mod Properties
mod_version=2.3.0
mod_version=2.3.1
maven_group=cc.unilock.nilcord
archives_base_name=nilcord

Expand Down
6 changes: 3 additions & 3 deletions src/main/java/cc/unilock/nilcord/NilcordPremain.java
Original file line number Diff line number Diff line change
Expand Up @@ -39,9 +39,9 @@ public void onInitialize() {
ServerMessageEvents.CHAT_MESSAGE.register((message, sender, params) -> {
listener.playerChatMessage(sender, message.getContent());
});
ServerPlayConnectionEvents.JOIN.register((handler, sender, server) -> {
listener.playerJoin(handler.getPlayer());
});
// ServerPlayConnectionEvents.JOIN.register((handler, sender, server) -> {
// listener.playerJoin(handler.getPlayer());
// });
ServerPlayConnectionEvents.DISCONNECT.register((handler, server) -> {
listener.playerLeave(handler.getPlayer());
});
Expand Down
19 changes: 19 additions & 0 deletions src/main/java/cc/unilock/nilcord/mixin/PlayerManagerMixin.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
package cc.unilock.nilcord.mixin;

import cc.unilock.nilcord.NilcordPremain;
import net.minecraft.network.ClientConnection;
import net.minecraft.server.PlayerManager;
import net.minecraft.server.network.ConnectedClientData;
import net.minecraft.server.network.ServerPlayerEntity;
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 {
@Inject(method = "onPlayerConnect", at = @At("TAIL"))
private void onPlayerConnect(ClientConnection connection, ServerPlayerEntity player, ConnectedClientData clientData, CallbackInfo ci) {
NilcordPremain.listener.playerJoin(player);
}
}
3 changes: 2 additions & 1 deletion src/main/resources/nilcord.mixins.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@
"package": "cc.unilock.nilcord.mixin",
"compatibilityLevel": "JAVA_17",
"mixins": [
"PlayerAdvancementTrackerMixin"
"PlayerAdvancementTrackerMixin",
"PlayerManagerMixin"
],
"injectors": {
"defaultRequire": 1
Expand Down

0 comments on commit 3e34fb3

Please sign in to comment.