Skip to content

Commit d854659

Browse files
优化Player对象为UUID对象
1 parent 411034d commit d854659

2 files changed

Lines changed: 12 additions & 11 deletions

File tree

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
<groupId>ict.minesunshineone</groupId>
88
<artifactId>LandmarkSystem</artifactId>
9-
<version>1.5</version>
9+
<version>1.6</version>
1010

1111
<properties>
1212
<java.version>21</java.version>

src/main/java/ict/minesunshineone/landmark/gui/LandmarkMenu.java

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,14 @@
44
import java.util.List;
55
import java.util.Map;
66
import java.util.Objects;
7+
import java.util.UUID;
78

89
import org.bukkit.Bukkit;
910
import org.bukkit.Location;
1011
import org.bukkit.Material;
1112
import org.bukkit.NamespacedKey;
1213
import org.bukkit.entity.Player;
13-
import org.bukkit.event.EventHandler;
14-
import org.bukkit.event.HandlerList;
15-
import org.bukkit.event.Listener;
1614
import org.bukkit.event.inventory.InventoryClickEvent;
17-
import org.bukkit.event.inventory.InventoryCloseEvent;
1815
import org.bukkit.inventory.Inventory;
1916
import org.bukkit.inventory.InventoryHolder;
2017
import org.bukkit.inventory.ItemStack;
@@ -31,14 +28,14 @@ public class LandmarkMenu implements InventoryHolder {
3128

3229
private static final String LANDMARK_KEY = "landmark_name";
3330
private final LandmarkPlugin plugin;
34-
private final Player player;
31+
private final UUID playerId;
3532
private Inventory inventory;
3633
private final MiniMessage miniMessage = MiniMessage.miniMessage();
3734
private final NamespacedKey landmarkKey;
3835

3936
public LandmarkMenu(LandmarkPlugin plugin, Player player) {
4037
this.plugin = plugin;
41-
this.player = player;
38+
this.playerId = player.getUniqueId();
4239
this.landmarkKey = new NamespacedKey(plugin, LANDMARK_KEY);
4340
}
4441

@@ -52,7 +49,7 @@ public void open() {
5249
int size = plugin.getConfigManager().getConfig().getInt("gui.size", 54);
5350
this.inventory = Bukkit.createInventory(this, size, title);
5451
initializeItems();
55-
player.openInventory(inventory);
52+
getPlayer().openInventory(inventory);
5653
}
5754

5855
private void initializeItems() {
@@ -96,8 +93,8 @@ private void setupCurrentLocation() {
9693
boolean isAtAnyLandmark = false;
9794

9895
for (Map.Entry<String, Landmark> entry : plugin.getLandmarkManager().getLandmarks().entrySet()) {
99-
if (plugin.getLandmarkManager().isLandmarkUnlocked(player, entry.getKey())
100-
&& plugin.getLandmarkManager().isPlayerNearLandmark(player, entry.getValue().getLocation())) {
96+
if (plugin.getLandmarkManager().isLandmarkUnlocked(getPlayer(), entry.getKey())
97+
&& plugin.getLandmarkManager().isPlayerNearLandmark(getPlayer(), entry.getValue().getLocation())) {
10198
isAtAnyLandmark = true;
10299
currentLandmark = entry.getValue();
103100
break;
@@ -123,7 +120,7 @@ private void setupLandmarks() {
123120

124121
// 计算实际槽位(row对应第2-4行)
125122
int slot = (row * 9) + col;
126-
boolean isUnlocked = plugin.getLandmarkManager().isLandmarkUnlocked(player, entry.getKey());
123+
boolean isUnlocked = plugin.getLandmarkManager().isLandmarkUnlocked(getPlayer(), entry.getKey());
127124
ItemStack item = createLandmarkItem(landmark, isUnlocked);
128125

129126
// 存储锚点名称到物品中
@@ -321,4 +318,8 @@ private void handleItemClick(ItemStack item, Player player) {
321318
}
322319
}
323320

321+
private Player getPlayer() {
322+
return Bukkit.getPlayer(playerId);
323+
}
324+
324325
}

0 commit comments

Comments
 (0)