mirror of
https://e.coding.net/circlecloud/Yum.git
synced 2024-11-22 14:28:46 +00:00
feat: 修复部分BUG 添加从BukkitDev获取插件功能
Signed-off-by: 502647092 <admin@yumc.pw>
This commit is contained in:
parent
e954b10e82
commit
340718446b
4
pom.xml
4
pom.xml
@ -3,7 +3,7 @@
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>pw.yumc</groupId>
|
||||
<artifactId>Yum</artifactId>
|
||||
<version>2.6.3</version>
|
||||
<version>2.6.4</version>
|
||||
<name>Yum</name>
|
||||
<description>Minecraft 服务器插件管理系统</description>
|
||||
<build>
|
||||
@ -60,7 +60,7 @@
|
||||
<properties>
|
||||
<update.description>&a全新 2.X 版本 更多守护与优化</update.description>
|
||||
<update.changes>
|
||||
&e预告 &6- &e下个版本将加入从&bBukkitDev&e下载和更新...;
|
||||
&b2.6.4 &6- &e添加从&bBukkitDev&e下载和更新...;
|
||||
&b2.6.3 &6- &a注入操作延时执行 防止部分任务未注册 添加手动注入...;
|
||||
&b2.6.2 &6- &d能耗监控添加忽略列表 &3详见monitor.yml...;
|
||||
&b2.6.1 &6- &c优化能耗监控 命令别名修改为mi(防止与ESS冲突)...;
|
||||
|
@ -20,10 +20,14 @@ import cn.citycraft.PluginHelper.commands.HandlerCommand;
|
||||
import cn.citycraft.PluginHelper.commands.HandlerCommands;
|
||||
import cn.citycraft.PluginHelper.commands.InvokeCommandEvent;
|
||||
import cn.citycraft.PluginHelper.commands.InvokeSubCommand;
|
||||
import cn.citycraft.PluginHelper.jsonresult.JsonHandle;
|
||||
import cn.citycraft.PluginHelper.utils.IOUtil;
|
||||
import cn.citycraft.PluginHelper.utils.StrKit;
|
||||
import pw.yumc.Yum.Yum;
|
||||
import pw.yumc.Yum.api.YumAPI;
|
||||
import pw.yumc.Yum.managers.ConfigManager;
|
||||
import pw.yumc.Yum.models.BukkitDev;
|
||||
import pw.yumc.Yum.models.BukkitDev.Projects;
|
||||
import pw.yumc.Yum.models.RepoSerialization.Repositories;
|
||||
|
||||
/**
|
||||
@ -33,6 +37,10 @@ import pw.yumc.Yum.models.RepoSerialization.Repositories;
|
||||
* @author 喵♂呜
|
||||
*/
|
||||
public class YumCommand implements HandlerCommands, Listener {
|
||||
private final String prefix = "§6[§bYum §a插件管理§6] ";
|
||||
private final String not_found_from_bukkit = prefix + "§c未在BukkitDev搜索到 %s 的相关插件!";
|
||||
private final String bukkitlistprefix = " §6插件名称 §d发布类型";
|
||||
private final String bukkitlist = "§6- §b&s §d%s";
|
||||
Yum main;
|
||||
|
||||
public YumCommand(final Yum yum) {
|
||||
@ -262,6 +270,21 @@ public class YumCommand implements HandlerCommands, Listener {
|
||||
});
|
||||
}
|
||||
|
||||
@HandlerCommand(name = "search", aliases = "s", minimumArguments = 1, description = "从BukkitDev搜索插件", possibleArguments = "插件名称")
|
||||
public void search(final InvokeCommandEvent e) {
|
||||
final String pname = e.getArgs()[0];
|
||||
final CommandSender sender = e.getSender();
|
||||
final BukkitDev bd = JsonHandle.fromJson(IOUtil.getData(String.format(BukkitDev.SEARCH, pname)), BukkitDev.class);
|
||||
if (bd.projects.isEmpty()) {
|
||||
sender.sendMessage(String.format(not_found_from_bukkit, pname));
|
||||
return;
|
||||
}
|
||||
sender.sendMessage(bukkitlistprefix);
|
||||
for (final Projects p : bd.projects) {
|
||||
sender.sendMessage(String.format(bukkitlist, p.name, p.stage));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 发生实体消息
|
||||
*
|
||||
|
@ -37,7 +37,6 @@ public class PluginNetworkListener implements Listener {
|
||||
if (urlinfo.startsWith("socket")) {
|
||||
return;
|
||||
}
|
||||
NetCommand.addNetCount(plugin.getName());
|
||||
if (ConfigManager.i().getNetworkWhiteURL().contains(e.getUrl().getHost())) {
|
||||
return;
|
||||
}
|
||||
@ -47,6 +46,7 @@ public class PluginNetworkListener implements Listener {
|
||||
return;
|
||||
}
|
||||
if (plugin != null) {
|
||||
NetCommand.addNetCount(plugin.getName());
|
||||
if (ConfigManager.i().getNetworkBlackList().contains(plugin.getName())) {
|
||||
breakNetwork(e);
|
||||
return;
|
||||
|
@ -4,6 +4,29 @@ import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
public class BukkitDev implements Serializable {
|
||||
public String name;
|
||||
public List<PluginInfo> pil;
|
||||
public volatile static String HOST = "https://api.curseforge.com";
|
||||
public volatile static String MODULE = "/servermods";
|
||||
public volatile static String SEARCH = HOST + MODULE + "/projects?search=%s";
|
||||
public volatile static String PLUGIN = HOST + MODULE + "/files?projectIds=%s";
|
||||
|
||||
public List<Projects> projects;
|
||||
public List<Files> files;
|
||||
|
||||
public static class Files {
|
||||
public int projectId;
|
||||
public String name;
|
||||
public String fileUrl;
|
||||
public String fileName;
|
||||
public String downloadUrl;
|
||||
public String gameVersion;
|
||||
public String md5;
|
||||
public String releaseType;
|
||||
}
|
||||
|
||||
public static class Projects {
|
||||
public int id;
|
||||
public String name;
|
||||
public String slug;
|
||||
public String stage;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user