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

Update AbstractCNPlayer.java

This commit is contained in:
XiaoMoMi
2025-04-04 16:17:08 +08:00
parent 29de340676
commit 01463d554c

View File

@@ -33,6 +33,8 @@ import net.momirealms.customnameplates.api.storage.data.PlayerData;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
import java.lang.ref.Reference;
import java.lang.ref.WeakReference;
import java.util.*; import java.util.*;
import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.CopyOnWriteArraySet; import java.util.concurrent.CopyOnWriteArraySet;
@@ -54,7 +56,7 @@ public abstract class AbstractCNPlayer implements CNPlayer {
/** /**
* Platform player instance * Platform player instance
*/ */
protected Object player; protected Reference<Object> player;
private volatile boolean isLoaded = false; private volatile boolean isLoaded = false;
private volatile boolean tempPreviewing = false; private volatile boolean tempPreviewing = false;
@@ -239,7 +241,7 @@ public abstract class AbstractCNPlayer implements CNPlayer {
* @param player player * @param player player
*/ */
public void setPlayer(Object player) { public void setPlayer(Object player) {
this.player = player; this.player = new WeakReference<>(player);
} }
@Override @Override
@@ -254,7 +256,7 @@ public abstract class AbstractCNPlayer implements CNPlayer {
@Override @Override
public Object player() { public Object player() {
return player; return player.get();
} }
/** /**