Skip to content

Commit

Permalink
优化Player对象为UUID对象
Browse files Browse the repository at this point in the history
  • Loading branch information
MineSunshineone committed Jan 15, 2025
1 parent 411034d commit d854659
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 11 deletions.
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

<groupId>ict.minesunshineone</groupId>
<artifactId>LandmarkSystem</artifactId>
<version>1.5</version>
<version>1.6</version>

<properties>
<java.version>21</java.version>
Expand Down
21 changes: 11 additions & 10 deletions src/main/java/ict/minesunshineone/landmark/gui/LandmarkMenu.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,14 @@
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.UUID;

import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.NamespacedKey;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.HandlerList;
import org.bukkit.event.Listener;
import org.bukkit.event.inventory.InventoryClickEvent;
import org.bukkit.event.inventory.InventoryCloseEvent;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.InventoryHolder;
import org.bukkit.inventory.ItemStack;
Expand All @@ -31,14 +28,14 @@ public class LandmarkMenu implements InventoryHolder {

private static final String LANDMARK_KEY = "landmark_name";
private final LandmarkPlugin plugin;
private final Player player;
private final UUID playerId;
private Inventory inventory;
private final MiniMessage miniMessage = MiniMessage.miniMessage();
private final NamespacedKey landmarkKey;

public LandmarkMenu(LandmarkPlugin plugin, Player player) {
this.plugin = plugin;
this.player = player;
this.playerId = player.getUniqueId();
this.landmarkKey = new NamespacedKey(plugin, LANDMARK_KEY);
}

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

private void initializeItems() {
Expand Down Expand Up @@ -96,8 +93,8 @@ private void setupCurrentLocation() {
boolean isAtAnyLandmark = false;

for (Map.Entry<String, Landmark> entry : plugin.getLandmarkManager().getLandmarks().entrySet()) {
if (plugin.getLandmarkManager().isLandmarkUnlocked(player, entry.getKey())
&& plugin.getLandmarkManager().isPlayerNearLandmark(player, entry.getValue().getLocation())) {
if (plugin.getLandmarkManager().isLandmarkUnlocked(getPlayer(), entry.getKey())
&& plugin.getLandmarkManager().isPlayerNearLandmark(getPlayer(), entry.getValue().getLocation())) {
isAtAnyLandmark = true;
currentLandmark = entry.getValue();
break;
Expand All @@ -123,7 +120,7 @@ private void setupLandmarks() {

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

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

private Player getPlayer() {
return Bukkit.getPlayer(playerId);
}

}

0 comments on commit d854659

Please sign in to comment.