9
0
mirror of https://github.com/Xiao-MoMi/Custom-Nameplates.git synced 2025-12-19 15:09:23 +00:00

make player not weak reference

This commit is contained in:
XiaoMoMi
2025-04-23 04:49:35 +08:00
parent c25e222187
commit f1adb436d0
8 changed files with 48 additions and 40 deletions

View File

@@ -44,7 +44,7 @@ import java.util.concurrent.locks.ReentrantReadWriteLock;
/**
* Player instance adapted by CustomNameplates
*/
public abstract class AbstractCNPlayer implements CNPlayer {
public abstract class AbstractCNPlayer<P> implements CNPlayer {
/**
* The CustomNameplates plugin
*/
@@ -56,7 +56,10 @@ public abstract class AbstractCNPlayer implements CNPlayer {
/**
* Platform player instance
*/
protected Reference<Object> player;
protected P player;
protected UUID uuid;
protected int entityId;
protected String name;
private volatile boolean isLoaded = false;
private volatile boolean tempPreviewing = false;
@@ -240,8 +243,8 @@ public abstract class AbstractCNPlayer implements CNPlayer {
*
* @param player player
*/
public void setPlayer(Object player) {
this.player = new WeakReference<>(player);
public void setPlayer(P player) {
this.player = player;
}
@Override
@@ -256,7 +259,7 @@ public abstract class AbstractCNPlayer implements CNPlayer {
@Override
public Object player() {
return player.get();
return player;
}
/**
@@ -665,4 +668,19 @@ public abstract class AbstractCNPlayer implements CNPlayer {
public int hashCode() {
return entityID();
}
@Override
public String name() {
return this.name;
}
@Override
public UUID uuid() {
return this.uuid;
}
@Override
public int entityID() {
return this.entityId;
}
}