Files
PlayerRisk/PlayerRiskManager.java
玉玉第一名 02bdcfb89d Add files via upload
进出城镇和死亡事件监听移到了主类中,在主类进行危险度操作但是没有区分生物群系
2024-03-14 21:12:52 +08:00

78 lines
2.7 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package com.sakurarealm.playerrisk.api;
import com.sakurarealm.playerrisk.PlayerRisk;
import com.sakurarealm.playerrisk.hook.PlaceHolderAPIHook;
import org.apache.commons.lang.NotImplementedException;
import org.bukkit.OfflinePlayer;
import java.util.UUID;
/**
* 危机度区间为0~level_max级每次离开安全区城镇重置危险等级每待n秒会使危机等级变量提升1点
* 但开始计算时玩家在的每一个每种生物群系最多使危机等级提升10 (如上限level_max是50的话, 玩家至少进入5个不同的生物群系才能达到上限)
* 玩家每次死亡重生或回到安全区,会重置当前危机等级。
* 所有变量见config.yml
* <a href="https://drawrealm.feishu.cn/wiki/ZqTQwSQNyiZUIWkHCRgcuAcYn3f?chunked=false">...</a>
*/
public class PlayerRiskManager {
private final PlayerRisk plugin;
public final PlayerRiskSettings settings;
// 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);
//注入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);
}
public int getPlayerRiskLevel(UUID playerId) {
// Get offline player by UUID.
OfflinePlayer player = plugin.getServer().getOfflinePlayer(playerId);
return getPlayerRiskLevel(player);
}
/**
* TODO: 获取玩家的危险度等级
*
* @param player 玩家
* @return 危险度等级
*/
public int getPlayerRiskLevel(OfflinePlayer player) {
throw new NotImplementedException("Not implemented yet.");
}
public void setPlayerRiskLevel(String playerName, int level) {
// Get offline player by name.
OfflinePlayer player = plugin.getServer().getOfflinePlayer(playerName);
setPlayerRiskLevel(player, level);
}
public void setPlayerRiskLevel(UUID playerId, int level) {
// Get offline player by UUID.
OfflinePlayer player = plugin.getServer().getOfflinePlayer(playerId);
setPlayerRiskLevel(player, level);
}
/**
* TODO: 设置玩家的危险度等级
*/
public void setPlayerRiskLevel(OfflinePlayer player, int level) {
throw new NotImplementedException("Not implemented yet.");
}
// TODO Add any other methods needed to manage player risk.
}