删除了Listener,在主类中设置了监听事件

This commit is contained in:
yuyu 2024-03-15 12:32:39 +08:00
parent 6d3ca15104
commit a928ba2b2c
2 changed files with 22 additions and 10 deletions

View File

@ -23,12 +23,12 @@ public final class PlayerRisk extends JavaPlugin implements Listener {
Map<String,Integer> playsOutTown = new Hashtable<>(); Map<String,Integer> playsOutTown = new Hashtable<>();
PlayerRiskManager playerRiskManager = null; PlayerRiskManager playerRiskManager = null;
// public PlayerRiskManager getPlayerRiskManager() { public PlayerRiskManager getPlayerRiskManager() {
// if (playerRiskManager == null) { if (playerRiskManager == null) {
// throw new NullPointerException("PlayerRisk plugin is not initialized."); throw new NullPointerException("PlayerRisk plugin is not initialized.");
// } }
// return playerRiskManager; return playerRiskManager;
// } }
public void load() { public void load() {
saveDefaultConfig(); saveDefaultConfig();

View File

@ -5,6 +5,8 @@ import com.sakurarealm.playerrisk.hook.PlaceHolderAPIHook;
import org.apache.commons.lang.NotImplementedException; import org.apache.commons.lang.NotImplementedException;
import org.bukkit.OfflinePlayer; import org.bukkit.OfflinePlayer;
import java.util.HashMap;
import java.util.Map;
import java.util.UUID; import java.util.UUID;
/** /**
@ -20,20 +22,28 @@ public class PlayerRiskManager {
public final PlayerRiskSettings settings; public final PlayerRiskSettings settings;
private final Map<String, Integer> playerRiskLevels;
// TODO: Add any data structures needed to manage player risk. // TODO: Add any data structures needed to manage player risk.
public PlayerRiskManager(PlayerRisk plugin, PlayerRiskSettings settings) { public PlayerRiskManager(PlayerRisk plugin, PlayerRiskSettings settings) {
this.plugin = plugin; this.plugin = plugin;
// Register the event listener. // Register the event listener.
// plugin.getServer().getPluginManager().registerEvents(new Listener(), plugin); // plugin.getServer().getPluginManager().registerEvents(new Listener(), plugin);
this.playerRiskLevels = new HashMap<>();
//注入settings
this.settings = settings; this.settings = settings;
new PlaceHolderAPIHook(this).register(); new PlaceHolderAPIHook(this).register();
} }
//给外部插件调用,用于返回总危险度刷怪
public int getPlayerRiskLevel(String playerName) { public int getPlayerRiskLevel(String playerName) {
// Get offline player by name. // Get offline player by name.
OfflinePlayer player = plugin.getServer().getOfflinePlayer(playerName); // OfflinePlayer player = plugin.getServer().getOfflinePlayer(playerName);
return getPlayerRiskLevel(player); Integer riskLevel = playerRiskLevels.get(playerName);
return riskLevel;
} }
public int getPlayerRiskLevel(UUID playerId) { public int getPlayerRiskLevel(UUID playerId) {
@ -54,8 +64,10 @@ public class PlayerRiskManager {
public void setPlayerRiskLevel(String playerName, int level) { public void setPlayerRiskLevel(String playerName, int level) {
// Get offline player by name. // Get offline player by name.
OfflinePlayer player = plugin.getServer().getOfflinePlayer(playerName); // OfflinePlayer player = plugin.getServer().getOfflinePlayer(playerName);
setPlayerRiskLevel(player, level); // setPlayerRiskLevel(player, level);
//修改map里面的value来修改危险度
playerRiskLevels.put(playerName,level);
} }
public void setPlayerRiskLevel(UUID playerId, int level) { public void setPlayerRiskLevel(UUID playerId, int level) {