From a928ba2b2cfc6eeaf7b0fefdf97db8b6da15ead7 Mon Sep 17 00:00:00 2001 From: yuyu <124714592@qq.com> Date: Fri, 15 Mar 2024 12:32:39 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=A0=E9=99=A4=E4=BA=86Listener,=E5=9C=A8?= =?UTF-8?q?=E4=B8=BB=E7=B1=BB=E4=B8=AD=E8=AE=BE=E7=BD=AE=E4=BA=86=E7=9B=91?= =?UTF-8?q?=E5=90=AC=E4=BA=8B=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sakurarealm/playerrisk/PlayerRisk.java | 12 +++++------ .../playerrisk/api/PlayerRiskManager.java | 20 +++++++++++++++---- 2 files changed, 22 insertions(+), 10 deletions(-) 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) {