Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ on:
- '[0-9]+.[0-9]+.[0-9]+'
- '[0-9]+.[0-9]+.[0-9]+-beta[0-9]+'
pull_request:
branches: [master]
workflow_dispatch:

jobs:
Expand Down
7 changes: 4 additions & 3 deletions src/main/java/cn/stevei5mc/NewTipsVariables/Main.java
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,8 @@ public void onLoad() {

public void onEnable() {
//判断需要的前置插件是否存在
if (this.getServer().getPluginManager().getPlugin("Tips") != null) {
try{
Class.forName("tip.utils.variables.BaseVariable");
//存在则加载该插件
this.getServer().getCommandMap().register("", new NewTipsVariablesCommand());//注册命令
this.tipsVariables();//加载变量部分
Expand All @@ -54,10 +55,10 @@ public void onEnable() {
Plugin pl = getServer().getPluginManager().getPlugin("UnicodeVariables");
if (pl != null) {
Server.getInstance().getPluginManager().disablePlugin(pl);
getLogger().info("§c插件UnicodeVariables的功能已合并到本插件,插件UnicodeVariables不再接受维护,你可以将其删除掉来使用本插件的相关功能");
getLogger().info("§c插件UnicodeVariables的功能已合并到本插件,插件UnicodeVariables不再接受维护,你可以将其删除掉来使用本插件的相关功能");
}
},20);
} else {
}catch (Exception ignore) {
//不存在作为卸载该插件
this.getLogger().warning("§c未检测到前置插件§aTips§c,请安装§aTips§c再试!!!");
this.getLogger().warning("§b下载地址: §ehttps://motci.cn/job/GameCore/ 或 https://ci.lanink.cn/job/GameCore/");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,10 @@
import cn.stevei5mc.NewTipsVariables.command.sub.CheckStateCommand;
import cn.stevei5mc.NewTipsVariables.command.sub.ReloadCommand;

/**
* @author lt_name
*/
public class NewTipsVariablesCommand extends BaseCommand {

public NewTipsVariablesCommand() {
super("NewTipsVariables", "NewTipsVariables 命令");
super("newtipsvariables", "NewTipsVariables 命令");
this.setPermission("newtipsariables.admin");
this.addSubCommand(new ReloadCommand("reload"));
this.addSubCommand(new CheckStateCommand("checkstatus"));
Expand All @@ -19,9 +16,9 @@ public NewTipsVariablesCommand() {

@Override
public void sendHelp(CommandSender sender) {
String cmdname = "§a/newtipsariables ";
sender.sendMessage("§b=== NewTipsVariables ===");
sender.sendMessage(cmdname+"reload §e重载配置文件");
sender.sendMessage(cmdname+"checkstatus §e检查插件的状态");
String cmdName = "§a/" + getName();
sender.sendMessage("§bNewTipsVariables 命令帮助");
sender.sendMessage(cmdName + "reload §e重载配置文件");
sender.sendMessage(cmdName +" checkstatus §e检查插件的状态");
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import cn.nukkit.command.CommandSender;
import cn.nukkit.command.data.CommandParameter;
import cn.stevei5mc.NewTipsVariables.command.BaseSubCommand;
import cn.stevei5mc.NewTipsVariables.utils.PluginsListEnum;
import cn.stevei5mc.NewTipsVariables.utils.PluginsState;

public class CheckStateCommand extends BaseSubCommand {
Expand All @@ -23,16 +24,13 @@ public String[] getAliases() {

@Override
public boolean execute(CommandSender sender, String label, String[] args) {
PluginsState ps = PluginsState.getInstance();
sender.sendMessage("Plugins loading status");
sender.sendMessage("playerPoints = " + ps.playerPoints);
sender.sendMessage("EconomyAPI = " + ps.economyAPI);
sender.sendMessage("OreArea = " + ps.oreArea);
sender.sendMessage("RSTask = " + ps.rSTask);
sender.sendMessage("HealthAPI = " + ps.healthAPI);
sender.sendMessage("LevelAwakenSystem = " + ps.levelAwakenSystem);
sender.sendMessage("RSWeapon = " + ps.rSWeapon);
sender.sendMessage("LuckPerms = " + ps.luckPerms);
sender.sendMessage("§bNewTipsVariables 支持插件的状态列表:");
for (PluginsListEnum plugin : PluginsListEnum.values()) {
String name = plugin.getName();
boolean state = PluginsState.getPluginState(name);
String color = state ? "§a" : "§c";
sender.sendMessage("§3" + name + "§7=" + color + state);
}
return true;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ public static String getServerTps() {
String serverTpslowColor = Main.getInstance().getConfigInServer().getString("TPS.low_color");//low值
int serverTpsMediumValue = Main.getInstance().getConfigInServer().getInt("TPS.medium_value");//medium值
String serverTpsMediumColor = Main.getInstance().getConfigInServer().getString("TPS.medium_color");
int serverTpsHgihValue = Main.getInstance().getConfigInServer().getInt("TPS.high_value");//hgih值
int serverTpsHgihValue = Main.getInstance().getConfigInServer().getInt("TPS.high_value");//high值
String serverTpsHgihColor = Main.getInstance().getConfigInServer().getString("TPS.high_color");
String serverTps;
float tpsValue = Server.getInstance().getTicksPerSecond();
Expand Down Expand Up @@ -60,16 +60,16 @@ private static String getWorldName(String worldName) {
* @return 玩家的延迟
*/
public static String getPlayerPing(Player player) {
String playerPingLowColor = Main.getInstance().getConfigInPlayer().getString("ping.low_color");//low值
String playerPingLowColor = Main.getInstance().getConfigInPlayer().getString("ping.low_color");// low color
int playerPingMediumValue = Main.getInstance().getConfigInPlayer().getInt("ping.medium_value");//medium值
String playerPingMediumColor = Main.getInstance().getConfigInPlayer().getString("ping.medium_color");
int playerPingHgihValue = Main.getInstance().getConfigInPlayer().getInt("ping.high_value");//hgih值
String playerPingHgihColor = Main.getInstance().getConfigInPlayer().getString("ping.high_color");
int playerPingHighValue = Main.getInstance().getConfigInPlayer().getInt("ping.high_value");//high值
String playerPingHighColor = Main.getInstance().getConfigInPlayer().getString("ping.high_color");
String playerMS;
int pingValue = player.getPing();
//low=0
if (pingValue >= playerPingHgihValue) {
playerMS = playerPingHgihColor + pingValue;
if (pingValue >= playerPingHighValue) {
playerMS = playerPingHighColor + pingValue;
}else if (pingValue >= playerPingMediumValue) {
playerMS = playerPingMediumColor + pingValue;
}else {
Expand All @@ -92,7 +92,7 @@ public static String getPlayerHealth(Player player) {
double healthValue;
String healthValue2;
String healthMaxValue;
if (PluginsState.getInstance().healthAPI) {
if (PluginsState.getPluginState(PluginsListEnum.HEALTH_API.getName())) {
PlayerHealth health = PlayerHealth.getPlayerHealth(player);
healthValue = health.getHealth();
healthValue2 = String.valueOf(healthValue);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,17 +1,12 @@
package cn.stevei5mc.NewTipsVariables.utils;

import cn.nukkit.Server;
import cn.stevei5mc.NewTipsVariables.Main;
import cn.stevei5mc.NewTipsVariables.variables.EconomyApiVariable;
import cn.stevei5mc.NewTipsVariables.variables.LuckPermsVar;
import cn.stevei5mc.NewTipsVariables.variables.SmallasWaterPlugins;
import net.luckperms.api.LuckPerms;
import net.luckperms.api.LuckPermsProvider;
import tip.utils.Api;

import java.util.Arrays;
import java.util.List;

public class LoadVariables{
private static LuckPerms luckperms;
public static LuckPerms getLP() {
Expand All @@ -20,22 +15,13 @@ public static LuckPerms getLP() {

//需要加载的变量的插件
public static void pluginVariables() {
PluginsState ps = PluginsState.getInstance();
boolean debug = Main.debug;
List<String> pluginList = Arrays.asList("playerPoints","EconomyAPI","OreArea","RSTask","HealthAPI","LevelAwakenSystem","RSWeapon","LuckPerms");
for(String plugin: pluginList){
if (Server.getInstance().getPluginManager().getPlugin(plugin) != null) {
ps.setPluginState(plugin);
if (debug) {Main.getInstance().getLogger().info(Main.debugPrefix+"§a找到插件§e【§b"+plugin+"§e】§a相关变量已加载");}
} else if (debug) {
Main.getInstance().getLogger().info(Main.debugPrefix+"§a无法找到插件§e【§b"+plugin+"§e】§a相相关变量加载失败,请安装相关插件再试");
}
}
PluginsState.initPluginStates();

Api.registerVariables("SmallasWaterPlugins", SmallasWaterPlugins.class);
if (ps.economyAPI) {
if (PluginsState.getPluginState(PluginsListEnum.ECONOMY_API.getName())) {
Api.registerVariables("EconomyApiVariable", EconomyApiVariable.class);
}
if (ps.luckPerms) {
if (PluginsState.getPluginState(PluginsListEnum.LUCK_PERMS.getName())) {
luckperms = LuckPermsProvider.get();
Api.registerVariables("LuckPermsVar", LuckPermsVar.class);
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
package cn.stevei5mc.NewTipsVariables.utils;

public enum PluginsListEnum {

PLAYER_POINTS("playerPoints", "net.player.PlayerPoint"),
ECONOMY_API("EconomyAPI", "me.onebone.economyapi.EconomyAPI"),
ORE_AREA("OreArea", "ore.area.AreaMainClass"),
RS_TASK("RSTask", "com.task.RsTask"),
HEALTH_API("HealthAPI", "healthapi.HealthMainClass"),
LEVEL_AWAKEN_SYSTEM("LevelAwakenSystem", "AwakenSystem.AwakenSystem"),
RS_WEAPON("RSWeapon", "weapon.RsWeapon"),
LUCK_PERMS("LuckPerms", "net.luckperms.api.LuckPermsProvider");

private final String name;
private final String mainClass;

PluginsListEnum(String name, String mainClass) {
this.name = name;
this.mainClass = mainClass;
}

public String getName() {
return name;
}

public String getMainClass() {
return mainClass;
}
}
78 changes: 33 additions & 45 deletions src/main/java/cn/stevei5mc/NewTipsVariables/utils/PluginsState.java
Original file line number Diff line number Diff line change
@@ -1,56 +1,44 @@
package cn.stevei5mc.NewTipsVariables.utils;

import cn.stevei5mc.NewTipsVariables.Main;
import lombok.Getter;

import java.util.HashMap;

public class PluginsState {

private static PluginsState instance;

@Getter
private static HashMap<String, Boolean> pluginsState;
private static final Main main = Main.getInstance();


public static void initPluginStates() {
pluginsState = new HashMap<>();
for (PluginsListEnum plugin: PluginsListEnum.values()) {
checkPluginState(plugin);
}
}

public static PluginsState getInstance() {
if (instance == null) {
instance = new PluginsState();
public static void checkPluginState(PluginsListEnum plugin) {
try{
Class.forName(plugin.getMainClass());
setPluginsState(plugin.getName(), true);
main.getLogger().info(Main.debugPrefix + "§a找到插件§e【§b" + plugin.getName() + "§e】§a相关变量已加载");
}catch (Exception ignore) {
setPluginsState(plugin.getName(), false);
main.getLogger().info(Main.debugPrefix + "§c无法找到插件§e【§b" + plugin.getName() + "§e】§c相关变量加载失败,请安装相关插件再试");
}
return instance;
}

// 插件的状态
public boolean playerPoints = false;
public boolean economyAPI = false;
public boolean oreArea = false;
public boolean rSTask = false;
public boolean healthAPI = false;
public boolean levelAwakenSystem = false;
public boolean rSWeapon = false;
public boolean luckPerms = false;

public void setPluginState(String pluginName) {
switch (pluginName) {
case "playerPoints":
playerPoints = true;
break;
case "EconomyAPI":
economyAPI = true;
break;
case "OreArea":
oreArea = true;
break;
case "RSTask":
rSTask = true;
break;
case "HealthAPI":
healthAPI = true;
break;
case "LevelAwakenSystem":
levelAwakenSystem = true;
break;
case "RSWeapon":
rSWeapon = true;
break;
case "LuckPerms":
luckPerms = true;
break;
default:
// 对于其他插件,不做任何操作,因为没有必要
break;
public static boolean getPluginState(String pluginName) {
return pluginsState.getOrDefault(pluginName, false);
}

private static void setPluginsState(String pluginName, boolean state) {
if(pluginsState.containsKey(pluginName)) {
pluginsState.replace(pluginName, state);
}else {
pluginsState.put(pluginName, state);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,11 @@ public BaseVariables(Player player) {
}

public void strReplace() {
text();
unicode();
server();
if (player != null && player.isOnline()) {
text();
player();
server();
unicode();
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
import AwakenSystem.utils.nbtItems;
import cn.nukkit.Player;
import cn.nukkit.item.Item;
import cn.stevei5mc.NewTipsVariables.utils.PluginsListEnum;
import cn.stevei5mc.NewTipsVariables.utils.PluginsState;
import com.task.utils.tasks.PlayerFile;
import com.task.utils.tasks.taskitems.PlayerTask;
Expand All @@ -30,23 +31,22 @@ public SmallasWaterPlugins(Player player) {

public void strReplace() {
if (player != null && player.isOnline()) {
PluginsState ps = PluginsState.getInstance();
if (ps.playerPoints) {
if (PluginsState.getPluginState(PluginsListEnum.PLAYER_POINTS.getName())) {
playerPoint();
}
if (ps.rSTask) {
if (PluginsState.getPluginState(PluginsListEnum.RS_TASK.getName())) {
RsTask();
}
if (ps.oreArea) {
if (PluginsState.getPluginState(PluginsListEnum.ORE_AREA.getName())) {
OreArea();
}
if (ps.healthAPI) {
if (PluginsState.getPluginState(PluginsListEnum.HEALTH_API.getName())) {
HealthAPI();
}
if (ps.rSWeapon) {
if (PluginsState.getPluginState(PluginsListEnum.RS_WEAPON.getName())) {
RSWeapon();
}
if (ps.levelAwakenSystem) {
if (PluginsState.getPluginState(PluginsListEnum.LEVEL_AWAKEN_SYSTEM.getName())) {
LevelAwakenSystem();
}
}
Expand Down