diff --git a/src/main/java/com/sakurarealm/playerrisk/PlayerRisk.java b/src/main/java/com/sakurarealm/playerrisk/PlayerRisk.java index e11d1fe..21727d0 100644 --- a/src/main/java/com/sakurarealm/playerrisk/PlayerRisk.java +++ b/src/main/java/com/sakurarealm/playerrisk/PlayerRisk.java @@ -23,12 +23,12 @@ public final class PlayerRisk extends JavaPlugin implements Listener { Map playsOutTown = new Hashtable<>(); PlayerRiskManager playerRiskManager = null; -// public PlayerRiskManager getPlayerRiskManager() { -// if (playerRiskManager == null) { -// throw new NullPointerException("PlayerRisk plugin is not initialized."); -// } -// return playerRiskManager; -// } + public PlayerRiskManager getPlayerRiskManager() { + if (playerRiskManager == null) { + throw new NullPointerException("PlayerRisk plugin is not initialized."); + } + return playerRiskManager; + } public void load() { saveDefaultConfig(); diff --git a/src/main/java/com/sakurarealm/playerrisk/api/PlayerRiskManager.java b/src/main/java/com/sakurarealm/playerrisk/api/PlayerRiskManager.java index 43aeb70..c9d03c9 100644 --- a/src/main/java/com/sakurarealm/playerrisk/api/PlayerRiskManager.java +++ b/src/main/java/com/sakurarealm/playerrisk/api/PlayerRiskManager.java @@ -5,6 +5,8 @@ import com.sakurarealm.playerrisk.hook.PlaceHolderAPIHook; import org.apache.commons.lang.NotImplementedException; import org.bukkit.OfflinePlayer; +import java.util.HashMap; +import java.util.Map; import java.util.UUID; /** @@ -20,20 +22,28 @@ public class PlayerRiskManager { public final PlayerRiskSettings settings; + private final Map playerRiskLevels; + // TODO: Add any data structures needed to manage player risk. public PlayerRiskManager(PlayerRisk plugin, PlayerRiskSettings settings) { this.plugin = plugin; // Register the event listener. // plugin.getServer().getPluginManager().registerEvents(new Listener(), plugin); + + this.playerRiskLevels = new HashMap<>(); + + //注入settings this.settings = settings; new PlaceHolderAPIHook(this).register(); } + //给外部插件调用,用于返回总危险度刷怪 public int getPlayerRiskLevel(String playerName) { // Get offline player by name. - OfflinePlayer player = plugin.getServer().getOfflinePlayer(playerName); - return getPlayerRiskLevel(player); +// OfflinePlayer player = plugin.getServer().getOfflinePlayer(playerName); + Integer riskLevel = playerRiskLevels.get(playerName); + return riskLevel; } public int getPlayerRiskLevel(UUID playerId) { @@ -54,8 +64,10 @@ public class PlayerRiskManager { public void setPlayerRiskLevel(String playerName, int level) { // Get offline player by name. - OfflinePlayer player = plugin.getServer().getOfflinePlayer(playerName); - setPlayerRiskLevel(player, level); +// OfflinePlayer player = plugin.getServer().getOfflinePlayer(playerName); +// setPlayerRiskLevel(player, level); + //修改map里面的value来修改危险度 + playerRiskLevels.put(playerName,level); } public void setPlayerRiskLevel(UUID playerId, int level) {