删除了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<>();
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();

View File

@ -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<String, Integer> 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) {