From d345c4213c54c9f5d013a1840a3ac77b6f122f2e Mon Sep 17 00:00:00 2001 From: CuteStar <78346594+MX233@users.noreply.github.com> Date: Mon, 23 Aug 2021 16:33:06 +0800 Subject: [PATCH] Delete src/tax/cute/mcpingplugin directory --- src/tax/cute/mcpingplugin/BETypeset.java | 64 ----- src/tax/cute/mcpingplugin/Config.java | 271 ------------------ src/tax/cute/mcpingplugin/JETypeset.java | 98 ------- src/tax/cute/mcpingplugin/MCBEPingThread.java | 45 --- src/tax/cute/mcpingplugin/MCJEPingThread.java | 152 ---------- src/tax/cute/mcpingplugin/OtherMcPing.java | 68 ----- src/tax/cute/mcpingplugin/Plugin.java | 106 ------- src/tax/cute/mcpingplugin/SendBindServer.java | 47 --- src/tax/cute/mcpingplugin/Util/Srv.java | 39 --- src/tax/cute/mcpingplugin/Util/Util.java | 74 ----- .../mcpingplugin/commands/BindServer.java | 216 -------------- .../cute/mcpingplugin/commands/Enable.java | 58 ---- src/tax/cute/mcpingplugin/commands/Help.java | 34 --- .../cute/mcpingplugin/commands/MCPing.java | 102 ------- .../mcpingplugin/commands/OtherMcPingSet.java | 48 ---- src/tax/cute/mcpingplugin/commands/Owner.java | 126 -------- .../cute/mcpingplugin/commands/Reload.java | 55 ---- .../cute/mcpingplugin/friend/GetOwner.java | 39 --- 18 files changed, 1642 deletions(-) delete mode 100644 src/tax/cute/mcpingplugin/BETypeset.java delete mode 100644 src/tax/cute/mcpingplugin/Config.java delete mode 100644 src/tax/cute/mcpingplugin/JETypeset.java delete mode 100644 src/tax/cute/mcpingplugin/MCBEPingThread.java delete mode 100644 src/tax/cute/mcpingplugin/MCJEPingThread.java delete mode 100644 src/tax/cute/mcpingplugin/OtherMcPing.java delete mode 100644 src/tax/cute/mcpingplugin/Plugin.java delete mode 100644 src/tax/cute/mcpingplugin/SendBindServer.java delete mode 100644 src/tax/cute/mcpingplugin/Util/Srv.java delete mode 100644 src/tax/cute/mcpingplugin/Util/Util.java delete mode 100644 src/tax/cute/mcpingplugin/commands/BindServer.java delete mode 100644 src/tax/cute/mcpingplugin/commands/Enable.java delete mode 100644 src/tax/cute/mcpingplugin/commands/Help.java delete mode 100644 src/tax/cute/mcpingplugin/commands/MCPing.java delete mode 100644 src/tax/cute/mcpingplugin/commands/OtherMcPingSet.java delete mode 100644 src/tax/cute/mcpingplugin/commands/Owner.java delete mode 100644 src/tax/cute/mcpingplugin/commands/Reload.java delete mode 100644 src/tax/cute/mcpingplugin/friend/GetOwner.java diff --git a/src/tax/cute/mcpingplugin/BETypeset.java b/src/tax/cute/mcpingplugin/BETypeset.java deleted file mode 100644 index 270ca37..0000000 --- a/src/tax/cute/mcpingplugin/BETypeset.java +++ /dev/null @@ -1,64 +0,0 @@ -package tax.cute.mcpingplugin; - -import tax.cute.minecraftserverpingbe.MCBePing; - -import java.io.File; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.OutputStream; - -public class BETypeset { - private String motdText; - - public BETypeset(String motdText) { - this.motdText = motdText; - } - - public static BETypeset getTypeset(String host,int port,String typesetText) throws IOException{ - final String description = "%description"; - final String default_mode = "%default_mode"; - final String version = "%version"; - final String protocol_num = "%protocol_num"; - final String type = "%type"; - final String online_players = "%online_players"; - final String max_players = "%max_players"; - final String delay = "%delay"; - final String world_name = "%world_name"; - - MCBePing motd = MCBePing.getMotd(host, port,2000); - - String motdText = typesetText - .replace(description,String.valueOf(motd.getDescription())) - .replace(default_mode,String.valueOf(motd.getDefault_mode())) - .replace(version,String.valueOf(motd.getVersion())) - .replace(world_name,String.valueOf(motd.getWorld_name())) - .replace(protocol_num,String.valueOf(motd.getProtocol_num())) - .replace(type,motd.getType()) - .replace(online_players,String.valueOf(motd.getOnline_players())) - .replace(max_players,String.valueOf(motd.getMax_players())) - .replace(delay,String.valueOf(motd.getDelay())); - return new BETypeset(motdText); - } - - public String getMotdText() { - return this.motdText; - } - - public static void createTypesetFile(String path) throws IOException{ - File file = new File(path); - if(file.exists()) return; - String text = - "[ 描述 ] %description" + - "\n[ 版本 ] %version(%protocol_num)" + - "\n[ 人数 ] %online_players/%max_players" + - "\n[ 延迟 ] %delayms" + - "\n[ 类型 ] %type" + - "\n[ 默认模式 ] %default_mode" + - "\n[ 世界名称 ] %world_name" - ; - OutputStream out = new FileOutputStream(path); - out.write(text.getBytes()); - out.flush(); - out.close(); - } -} \ No newline at end of file diff --git a/src/tax/cute/mcpingplugin/Config.java b/src/tax/cute/mcpingplugin/Config.java deleted file mode 100644 index 49652bc..0000000 --- a/src/tax/cute/mcpingplugin/Config.java +++ /dev/null @@ -1,271 +0,0 @@ -package tax.cute.mcpingplugin; - -import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONArray; -import com.alibaba.fastjson.JSONObject; -import tax.cute.mcpingplugin.Util.Util; - -import java.io.*; - -public class Config { - private static final String name = "[MCPing]"; - - private String path; - private JSONArray owner; - private JSONArray bindServerList; - private String enable; - private String mcPingCmd; - - public Config( - String path, - JSONArray owner, - JSONArray bindServerList, - String enable, - String mcPingCmd - ) { - this.path = path; - this.owner = owner; - this.bindServerList = bindServerList; - this.enable = enable; - this.mcPingCmd = mcPingCmd; - } - - public static Config getConfig(String path) throws IOException { - File file = new File(path); - //Create a configuration file when it is judged that the configuration file does not exist - if (!file.exists()) if (!createConfig(path)) System.err.println(name + "Create config failure"); - - //initialization - JSONArray owner = new JSONArray(); - String enable = "false"; - String mcPingCmd = null; - JSONArray bindServer = new JSONArray(); - - //Read config file text - String jsonStr = Util.readText(path); - JSONObject json = JSONObject.parseObject(jsonStr); - - //Determine whether the configuration file is json - if (json == null) { - createConfig(path); - jsonStr = Util.readText(path); - json = JSONObject.parseObject(jsonStr); - } - - JSONObject config = new JSONObject(); - - //Determine whether it is json, if not, it will be reset - if (json.containsKey("Config")) { - if (json.get("Config") instanceof JSONObject) { - config = json.getJSONObject("Config"); - } - } - - if (config.containsKey("Enable")) { - if (config.get("Enable") instanceof String) { - if (Util.isBoolean(config.getString("Enable"))) { - enable = config.getString("Enable"); - } else { - System.err.println(name + "\"Config\\Enable\"Unexpected type"); - } - } else { - System.err.println(name + "\"Config\\Enable\"Unexpected type"); - } - } else { - System.err.println(name + "\"Config\\Enable\"Missing"); - } - - if (config.containsKey("CMD")) { - if (config.get("CMD") instanceof String) { - mcPingCmd = config.getString("CMD"); - } else { - System.err.println(name + "\"Config\\CMD\"Unexpected type"); - } - } else { - System.err.println(name + "\"Config\\CMD\"Missing"); - } - - if (json.containsKey("Owner")) { - if (json.get("Owner") instanceof JSONArray) { - owner = json.getJSONArray("Owner"); - } else { - System.err.println(name + "\"Owner\"Unexpected type"); - } - } else { - System.err.println(name + "\"Owner\"Missing"); - } - - if (json.containsKey("BindServer")) { - if (json.get("BindServer") instanceof JSONArray) { - bindServer = json.getJSONArray("BindServer"); - } else { - System.err.println(name + "\"BindServer\"Unexpected type"); - } - } else { - System.err.println(name + "\"BindServer\"Missing"); - } - - return new Config(path, owner, bindServer, enable, mcPingCmd); - } - - public static boolean createConfig(String path) { - try { - JSONObject json = new JSONObject(); - - JSONArray bindServer = new JSONArray(); - - JSONArray owner = new JSONArray(); - - JSONObject config = new JSONObject(); - config.put("Enable", "true"); - config.put("CMD", "/mcmotd"); - - json.put("Owner", owner); - json.put("BindServer", bindServer); - json.put("Config", config); - - String jsonStr = JSON.toJSONString(json); - - OutputStream out = new FileOutputStream(path); - out.write(jsonStr.getBytes()); - out.flush(); - out.close(); - } catch (IOException e) { - File file = new File(path); - file.delete(); - return false; - } - return true; - } - - public void writeConfig() throws IOException { - JSONObject json = new JSONObject(); - JSONObject config = new JSONObject(); - config.put("Enable", this.enable); - config.put("CMD", this.mcPingCmd); - - json.put("Owner", this.owner); - json.put("Config", config); - json.put("BindServer", this.bindServerList); - - String jsonStr = JSON.toJSONString(json); - - OutputStream out = new FileOutputStream(path); - out.write(jsonStr.getBytes()); - out.flush(); - out.close(); - } - - public boolean isEnable() { - return Boolean.parseBoolean(this.enable); - } - - public String getPath() { - return this.path; - } - - public String getMcPingCmd() { - return this.mcPingCmd; - } - - public JSONArray getOwner() { - return this.owner; - } - - public boolean isOwner(long qqNum) { - return this.owner.contains(String.valueOf(qqNum)); - } - - public JSONArray getBindServerList() { - return this.bindServerList; - } - - public void setEnable(boolean args) throws IOException { - this.enable = String.valueOf(args); - writeConfig(); - } - - public void setMcPingCmd(String args) throws IOException { - this.mcPingCmd = args; - writeConfig(); - } - - public boolean addOwner(long qqNum) throws IOException { - if (isOwner(qqNum)) return false; - this.owner.add(String.valueOf(qqNum)); - writeConfig(); - return true; - } - - public boolean removeOwner(long qqNum) throws IOException { - if (!isOwner(qqNum)) return false; - this.owner.remove(String.valueOf(qqNum)); - writeConfig(); - return true; - } - - public JSONObject getServer(long groupNum) { - for (int i = 0; i < this.bindServerList.size(); i++) { - if (this.bindServerList.get(i) instanceof JSONObject) { - JSONObject server = this.bindServerList.getJSONObject(i); - if (server.containsKey("GroupNum")) { - if (server.get("GroupNum") instanceof String) { - if (Util.isNum(server.getString("GroupNum"))) { - if (server.getString("GroupNum").equals(String.valueOf(groupNum))) { - return this.bindServerList.getJSONObject(i); - } - } - } - } - } - } - return null; - } - - public int getServerIndex(long groupNum) { - for (int i = 0; i < this.bindServerList.size(); i++) { - if (this.bindServerList.get(i) instanceof JSONObject) { - JSONObject server = this.bindServerList.getJSONObject(i); - if (server.containsKey("GroupNum")) { - if (server.get("GroupNum") instanceof String) { - if (Util.isNum(server.getString("GroupNum"))) { - if (server.getString("GroupNum").equals(String.valueOf(groupNum))) { - return i; - } - } - } - } - } - } - return -1; - } - - public boolean addBindServer(long groupNum, String cmd, String host) throws IOException { - if (getServer(groupNum) != null) { - return false; - } - - JSONObject server = new JSONObject(); - server.put("GroupNum", String.valueOf(groupNum)); - server.put("CMD", cmd); - server.put("Host", host); - this.bindServerList.add(server); - writeConfig(); - return true; - } - - public boolean removeBindServer(long groupNum) throws IOException { - int index = getServerIndex(groupNum); - if (index == -1) return false; - this.bindServerList.remove(index); - writeConfig(); - return true; - } - - public int removeAllBindServer() throws IOException{ - int count = this.bindServerList.size(); - this.bindServerList.clear(); - writeConfig(); - return count; - } -} \ No newline at end of file diff --git a/src/tax/cute/mcpingplugin/JETypeset.java b/src/tax/cute/mcpingplugin/JETypeset.java deleted file mode 100644 index ddf77cc..0000000 --- a/src/tax/cute/mcpingplugin/JETypeset.java +++ /dev/null @@ -1,98 +0,0 @@ -package tax.cute.mcpingplugin; - -import tax.cute.mcpingplugin.Util.Util; -import tax.cute.minecraftserverping.MCPing; - -import java.io.File; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.OutputStream; -import java.util.Base64; -import java.util.List; - -public class JETypeset { - private String motdText; - private byte[] favicon_bytes; - private List modList; - - public JETypeset(String motdText,byte[] favicon_bytes, List modList) { - this.motdText = motdText; - this.favicon_bytes = favicon_bytes; - this.modList = modList; - } - - public static JETypeset getTypeset(String host, int port, String typesetText) throws IOException{ - final String favicon = "%favicon"; - final String description = "%description"; - final String version_name = "%version_name"; - final String version_protocol = "%version_protocol"; - final String online_players = "%online_players"; - final String max_players = "%max_players"; - final String delay = "%delay"; - final String mod_count = "%mod_count"; - final String type = "%type"; - final String mod_list = "%mod_list"; - - MCPing motd = MCPing.getMotd(host, port,2500); - - boolean sendFavicon = typesetText.contains(favicon); - List modList = null; - if (typesetText.contains(mod_list) || motd.getModList().size() > 0) { - modList = motd.getModList(); - } - byte[] favicon_bytes = null; - try { - if (sendFavicon) { - if (motd.getFavicon().equals("null")) - favicon_bytes = Base64.getDecoder().decode(Util.MC_SERVER_DEFAULT_FAVICON_BASE64); - else { - favicon_bytes = Base64.getDecoder().decode(motd.getFavicon().replace("\n","")); - } - } - } catch (Exception e) { - favicon_bytes = Base64.getDecoder().decode(Util.MC_SERVER_DEFAULT_FAVICON_BASE64); - } - - String motdText = typesetText - .replace(description, motd.getDescription()) - .replace(version_name, motd.getVersion_name()) - .replace(version_protocol, motd.getVersion_protocol()) - .replace(online_players, String.valueOf(motd.getOnline_players())) - .replace(max_players, String.valueOf(motd.getMax_players())) - .replace(delay, String.valueOf(motd.getDelay())) - .replace(mod_count, String.valueOf(motd.getMod_count())) - .replace(type, motd.getType()) - .replace(mod_list, "") - .replace(favicon, ""); - return new JETypeset(motdText,favicon_bytes,modList); - } - - public String getMotdText() { - return this.motdText; - } - - public byte[] getFavicon_bytes() { - return this.favicon_bytes; - } - - public List getModList() { - return this.modList; - } - - public static void createTypesetFile(String path) throws IOException { - File file = new File(path); - if (file.exists()) return; - String text = - "\n%favicon" + - "\n[ 描述 ] %description" + - "\n[ 版本 ] %version_name(%version_protocol)" + - "\n[ 人数 ] %online_players/%max_players" + - "\n[ 延迟 ] %delayms" + - "\n[ 类型 ] %type" + - "\n[ Mod数量 ] %mod_count"; - OutputStream out = new FileOutputStream(path); - out.write(text.getBytes()); - out.flush(); - out.close(); - } -} diff --git a/src/tax/cute/mcpingplugin/MCBEPingThread.java b/src/tax/cute/mcpingplugin/MCBEPingThread.java deleted file mode 100644 index e871cc4..0000000 --- a/src/tax/cute/mcpingplugin/MCBEPingThread.java +++ /dev/null @@ -1,45 +0,0 @@ -package tax.cute.mcpingplugin; - -import net.mamoe.mirai.contact.Friend; -import net.mamoe.mirai.contact.Group; - -import java.io.IOException; - -public class MCBEPingThread extends Thread { - Plugin plugin; - String host; - int port; - Object object; - public int status = -1; - - public MCBEPingThread(Plugin plugin, String host, int port, Object object) { - this.host = host; - this.port = port; - this.object = object; - this.plugin = plugin; - } - - @Override - public void run() { - ping(); - } - - public void ping() { - if(port == -1) port = 19132; - BETypeset typeset; - try { - typeset = BETypeset.getTypeset(host,port,plugin.BETypesetText); - } catch (IOException e) { - status = 0; - return; - } - if (object instanceof Group) { - Group group = (Group) object; - group.sendMessage(typeset.getMotdText()); - } else if (object instanceof Friend) { - Friend friend = (Friend)object; - friend.sendMessage(typeset.getMotdText()); - } - status = 1; - } -} \ No newline at end of file diff --git a/src/tax/cute/mcpingplugin/MCJEPingThread.java b/src/tax/cute/mcpingplugin/MCJEPingThread.java deleted file mode 100644 index 0e0af18..0000000 --- a/src/tax/cute/mcpingplugin/MCJEPingThread.java +++ /dev/null @@ -1,152 +0,0 @@ -package tax.cute.mcpingplugin; - -import net.mamoe.mirai.contact.Friend; -import net.mamoe.mirai.contact.Group; -import net.mamoe.mirai.message.data.ForwardMessageBuilder; -import net.mamoe.mirai.message.data.Image; -import net.mamoe.mirai.message.data.PlainText; -import net.mamoe.mirai.utils.ExternalResource; -import tax.cute.mcpingplugin.Util.Srv; -import tax.cute.mcpingplugin.Util.Util; - -import java.io.IOException; -import java.util.List; - -public class MCJEPingThread extends Thread { - Plugin plugin; - String host; - int port; - Object sendObject; - public int status = -1; - - public MCJEPingThread(Plugin plugin, String host, int port, Object sendObject) { - this.host = host; - this.port = port; - this.sendObject = sendObject; - this.plugin = plugin; - } - - @Override - public void run() { - ping(); - } - - public void ping() { - if (port == -1) port = 25565; - - if (sendObject instanceof Group) { - Group group = (Group) sendObject; - Srv srv = Srv.getSrv(host,Util.MC_SRV); - if (srv != null) { - host = srv.getSrvHost(); - port = srv.getSrvPort(); - group.sendMessage("检测到存在Srv记录 已自动跳转到\n>>\n" + host + ":" + port); - } - JETypeset typeset; - try { - //获取信息并排版 - typeset = JETypeset.getTypeset(host, port, plugin.JETypesetText); - } catch (IOException e) { - this.status = 0; - return; - } - - //是否发送图标(如果要求发送的话) - if (typeset.getFavicon_bytes() != null) { - Image image = group.uploadImage(ExternalResource.create(typeset.getFavicon_bytes())); - group.sendMessage(image.plus(typeset.getMotdText())); - } else { - group.sendMessage(typeset.getMotdText()); - } - - //发送ModList(如果要求发送的话) - //不存在直接结束 - if (typeset.getModList() == null) return; - if (typeset.getModList().size() < 1) return; - //构建合并转发聊天记录 - ForwardMessageBuilder builder = new ForwardMessageBuilder(group); - List modList = typeset.getModList(); - int count = 0; - for (int i = 0; i < modList.size(); i++) { - count++; - builder.add(group.getBot().getId(), "Mod" + (i + 1), new PlainText(modList.get(i))); - //等于100才发送,超过100发不了 - if (count == 100) { - count = 0; - group.sendMessage(builder.build()); - builder = new ForwardMessageBuilder(group); - } - if (count > 100) { - group.sendMessage("程序遇到量子异常,程序无法定位此异常,请联系外星人"); - return; - } - //大于500停止发送,防止刷屏 - if (i > 500) { - group.sendMessage("Mod数量大于500,出于安全策略,无法查看更多(什么量子服会装500个Mod?)"); - return; - } - } - //即使小于100,最后也会发送 - if (count > 0) group.sendMessage(builder.build()); - status = 1; - } - - if (sendObject instanceof Friend) { - Friend friend = (Friend) sendObject; - Srv srv = Srv.getSrv(host, Util.MC_SRV); - if (srv != null) { - host = srv.getSrvHost(); - port = srv.getSrvPort(); - friend.sendMessage("检测到存在Srv记录 已自动跳转到\n>>\n" + host + ":" + port); - } - - JETypeset typeset; - try { - //获取信息并排版 - typeset = JETypeset.getTypeset(host, port, plugin.JETypesetText); - } catch (IOException e) { - this.status = 0; - return; - } - - //是否发送图标(如果要求发送的话) - if (typeset.getFavicon_bytes() != null) { - Image image = friend.uploadImage(ExternalResource.create(typeset.getFavicon_bytes())); - friend.sendMessage(image.plus(typeset.getMotdText())); - } else { - friend.sendMessage(typeset.getMotdText()); - } - - //发送ModList(如果要求发送的话) - //不存在直接结束 - if (typeset.getModList() == null) return; - if (typeset.getModList().size() < 1) return; - //构建合并转发聊天记录 - ForwardMessageBuilder builder = new ForwardMessageBuilder(friend); - List modList = typeset.getModList(); - int count = 0; - for (int i = 0; i < modList.size(); i++) { - count++; - builder.add(friend.getBot().getId(), "Mod" + (i + 1), new PlainText(modList.get(i))); - //等于100才发送,超过100发不了 - if (count == 100) { - count = 0; - friend.sendMessage(builder.build()); - builder = new ForwardMessageBuilder(friend); - } - if (count > 100) { - friend.sendMessage("程序遇到量子异常,程序无法定位此异常,请联系外星人"); - return; - } - //大于500停止发送,防止刷屏 - if (i > 500) { - friend.sendMessage("Mod数量大于500,出于安全策略,无法查看更多(什么量子服会装500个Mod?)"); - return; - } - } - //即使小于100,最后也会发送 - if (count > 0) friend.sendMessage(builder.build()); - status = 1; - } - } -} \ No newline at end of file diff --git a/src/tax/cute/mcpingplugin/OtherMcPing.java b/src/tax/cute/mcpingplugin/OtherMcPing.java deleted file mode 100644 index ba4ec41..0000000 --- a/src/tax/cute/mcpingplugin/OtherMcPing.java +++ /dev/null @@ -1,68 +0,0 @@ -package tax.cute.mcpingplugin; - -import net.mamoe.mirai.contact.Friend; -import net.mamoe.mirai.contact.Group; -import net.mamoe.mirai.event.EventHandler; -import net.mamoe.mirai.event.ListeningStatus; -import net.mamoe.mirai.event.SimpleListenerHost; -import net.mamoe.mirai.event.events.FriendMessageEvent; -import net.mamoe.mirai.event.events.GroupMessageEvent; -import tax.cute.mcpingplugin.commands.MCPing; -import tax.cute.minecraftserverping.Punycode; - -public class OtherMcPing extends SimpleListenerHost { - Plugin plugin; - public OtherMcPing(Plugin plugin) { - this.plugin = plugin; - } - - @EventHandler - public ListeningStatus onGroup(GroupMessageEvent event) { - if(!plugin.config.isEnable()) return ListeningStatus.LISTENING; - Group group = event.getGroup(); - String msg = event.getMessage().contentToString(); - String cmd = plugin.config.getMcPingCmd(); - if(!msg.toLowerCase().startsWith(cmd)) return ListeningStatus.LISTENING; - String host = msg.split(" ")[1]; - - String ip; - int port; - if (host.contains(":")) { - ip = host.split(":")[0]; - port = Integer.parseInt(host.split(":")[1]); - } else { - ip = host; - port = -1; - } - - //涓枃鍩熷悕杞爜 - ip = Punycode.encodeURL(ip); - MCPing.sendMCPing(plugin,group,ip,port); - return ListeningStatus.LISTENING; - } - - @EventHandler - public ListeningStatus onFriend(FriendMessageEvent event) { - if(!plugin.config.isEnable()) return ListeningStatus.LISTENING; - Friend friend = event.getFriend(); - String msg = event.getMessage().contentToString(); - String cmd = plugin.config.getMcPingCmd(); - if(!msg.toLowerCase().startsWith(cmd)) return ListeningStatus.LISTENING; - String host = msg.split(" ")[1]; - - String ip; - int port; - if (host.contains(":")) { - ip = host.split(":")[0]; - port = Integer.parseInt(host.split(":")[1]); - } else { - ip = host; - port = -1; - } - - //涓枃鍩熷悕杞爜 - ip = Punycode.encodeURL(ip); - MCPing.sendMCPing(plugin,friend,ip,port); - return ListeningStatus.LISTENING; - } -} \ No newline at end of file diff --git a/src/tax/cute/mcpingplugin/Plugin.java b/src/tax/cute/mcpingplugin/Plugin.java deleted file mode 100644 index 46a4778..0000000 --- a/src/tax/cute/mcpingplugin/Plugin.java +++ /dev/null @@ -1,106 +0,0 @@ -package tax.cute.mcpingplugin; - -import net.mamoe.mirai.console.extension.PluginComponentStorage; -import net.mamoe.mirai.console.plugin.jvm.JavaPlugin; -import net.mamoe.mirai.console.plugin.jvm.JvmPluginDescriptionBuilder; -import net.mamoe.mirai.event.GlobalEventChannel; -import tax.cute.mcpingplugin.Util.Util; -import tax.cute.mcpingplugin.commands.*; -import tax.cute.mcpingplugin.friend.GetOwner; -import top.mrxiaom.miraiutils.CommandListener; - -import java.io.IOException; - -public class Plugin extends JavaPlugin{ - public Config config; - public Plugin plugin; - public String name = "[MCPing]"; - public String JETypesetText; - public String BETypesetText; - public String McPingCmd; - - public final String configFilePath = "data\\MCPing\\Config.json"; - public final String JETypesetFilePath = "data\\MCPing\\typeset.txt"; - public final String BETypesetFilePath = "data\\MCPing\\Betypeset.txt"; - - CommandListener cmd; - BindServer bindServer; - Enable enable; - MCPing mcPing; - Help help; - OtherMcPingSet otherMcPingSet; - Owner owner; - Reload reload; - GetOwner getOwner; - - SendBindServer sendBindServer; - OtherMcPing otherMcPing; - - public Plugin() { - super(new JvmPluginDescriptionBuilder( - "tax.cute.mcpingplugins", // id - "2.0.0" // version - ) - .name("MCPing") - .author("CuteStar") - // .info("...") - .build() - ); - } - @Override - public void onLoad(PluginComponentStorage pcs) { - this.getLogger().info("ConfigPath: " + this.getDataFolder().getAbsoluteFile().getPath()); - plugin = this; - try { - JETypeset.createTypesetFile(this.JETypesetFilePath); - BETypeset.createTypesetFile(this.BETypesetFilePath); - Util.createPin(); - this.config = Config.getConfig(this.configFilePath); - this.JETypesetText = Util.readText(this.JETypesetFilePath,"GBK"); - this.BETypesetText = Util.readText(this.BETypesetFilePath,"GBK"); - this.McPingCmd = config.getMcPingCmd(); - } catch (IOException e) { - e.printStackTrace(); - } - } - - private void register() { - this.bindServer = new BindServer(this); - this.enable = new Enable(this); - this.mcPing = new MCPing(this); - this.help = new Help(this); - this.otherMcPingSet = new OtherMcPingSet(this); - this.owner = new Owner(this); - this.reload = new Reload(this); - - this.getOwner = new GetOwner(this); - - cmd = new CommandListener("/"); - cmd.registerCommand(bindServer); - cmd.registerCommand(enable); - cmd.registerCommand(mcPing); - cmd.registerCommand(help); - cmd.registerCommand(otherMcPingSet); - cmd.registerCommand(owner); - cmd.registerCommand(reload); - - cmd.registerCommand(getOwner); - } - - @Override - public void onEnable() { - register(); - sendBindServer = new SendBindServer(this); - otherMcPing = new OtherMcPing(this); - - GlobalEventChannel.INSTANCE.registerListenerHost(cmd); - GlobalEventChannel.INSTANCE.registerListenerHost(sendBindServer); - GlobalEventChannel.INSTANCE.registerListenerHost(otherMcPing); - this.getLogger().info(name + "github URL: https://github.com/MX233/Mirai-MCPingPlugin"); - } - - @Override - public void onDisable() { - this.getLogger().info(name + "Disable"); - } -} \ No newline at end of file diff --git a/src/tax/cute/mcpingplugin/SendBindServer.java b/src/tax/cute/mcpingplugin/SendBindServer.java deleted file mode 100644 index 7c22420..0000000 --- a/src/tax/cute/mcpingplugin/SendBindServer.java +++ /dev/null @@ -1,47 +0,0 @@ -package tax.cute.mcpingplugin; - -import com.alibaba.fastjson.JSONObject; -import net.mamoe.mirai.contact.Group; -import net.mamoe.mirai.event.EventHandler; -import net.mamoe.mirai.event.ListeningStatus; -import net.mamoe.mirai.event.SimpleListenerHost; -import net.mamoe.mirai.event.events.GroupMessageEvent; -import tax.cute.mcpingplugin.commands.MCPing; -import tax.cute.minecraftserverping.Punycode; - -public class SendBindServer extends SimpleListenerHost { - Plugin plugin; - public SendBindServer(Plugin plugin) { - this.plugin = plugin; - } - - @EventHandler - private ListeningStatus awa(GroupMessageEvent event) { - if(!plugin.config.isEnable()) return ListeningStatus.LISTENING; - long groupNum = event.getGroup().getId(); - JSONObject json = this.plugin.config.getServer(groupNum); - if (json != null) { - String msg = event.getMessage().contentToString(); - Group group = event.getGroup(); - String cmd = json.getString("CMD"); - if (msg.equalsIgnoreCase(cmd)) { - String host = json.getString("Host"); - - String ip; - int port; - if (host.contains(":")) { - ip = host.split(":")[0]; - port = Integer.parseInt(host.split(":")[1]); - } else { - ip = host; - port = -1; - } - - //涓枃鍩熷悕杞爜 - ip = Punycode.encodeURL(ip); - MCPing.sendMCPing(plugin,group,ip,port); - } - } - return ListeningStatus.LISTENING; - } -} diff --git a/src/tax/cute/mcpingplugin/Util/Srv.java b/src/tax/cute/mcpingplugin/Util/Srv.java deleted file mode 100644 index d051f87..0000000 --- a/src/tax/cute/mcpingplugin/Util/Srv.java +++ /dev/null @@ -1,39 +0,0 @@ -package tax.cute.mcpingplugin.Util; - -import javax.naming.directory.Attribute; -import javax.naming.directory.InitialDirContext; -import java.util.Hashtable; - -public class Srv{ - private String srvHost; - private int srvPort; - public Srv(String srvHost,int srvPort) { - this.srvHost = srvHost; - this.srvPort = srvPort; - } - - public static Srv getSrv(String host, String srvName) { - Hashtable hashtable = new Hashtable(); - hashtable.put("java.naming.factory.initial", "com.sun.jndi.dns.DnsContextFactory"); - hashtable.put("java.naming.provider.url", "dns:"); - try { - Attribute qwq = (new InitialDirContext(hashtable)).getAttributes(srvName + host, new String[]{"SRV"}).get("srv"); - if (qwq != null) { - String[] re = qwq.get().toString().split(" ", 4); - String srvHost = re[3].substring(0, re[3].length() - 1); - int srvPort = Integer.parseInt(re[2]); - return new Srv(srvHost,srvPort); - } - } catch (Exception ignored) { - } - return null; - } - - public String getSrvHost() { - return srvHost; - } - - public int getSrvPort() { - return srvPort; - } -} \ No newline at end of file diff --git a/src/tax/cute/mcpingplugin/Util/Util.java b/src/tax/cute/mcpingplugin/Util/Util.java deleted file mode 100644 index 53d7846..0000000 --- a/src/tax/cute/mcpingplugin/Util/Util.java +++ /dev/null @@ -1,74 +0,0 @@ -package tax.cute.mcpingplugin.Util; - -import java.io.*; -import java.net.InetSocketAddress; -import java.net.Socket; -import java.util.concurrent.ThreadLocalRandom; - -public class Util { - public final static String MC_SRV = "_Minecraft._tcp."; - public final static String MC_SERVER_DEFAULT_FAVICON_BASE64 = "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"; - public final static String MENU = " [ MCPing ] " + - "\n可获取MC(JE|BE)服务器的Motd" + - "\n使用方法:/mcping <域名/IP>" + - "\n支持Srv和中文域名" + - "\n完整功能请见项目的README" - ; - - public static String combineArgs(String s, int start) { - String[] args = s.split(" "); - String str = ""; - for (; start < args.length; start++) { - str += args[start]; - } - return str; - } - - public static boolean isNum(String data) { - try { - Long.parseLong(data); - return true; - } catch (NumberFormatException e) { - return false; - } - } - - public static boolean isBoolean(String data) { - return data.toLowerCase().equals("true") || data.toLowerCase().equals("false"); - } - - public static String readText(String path) throws IOException { - return readText(path, "UTF-8"); - } - - public static String readText(String path, String charsets) throws IOException { - InputStream in = new FileInputStream(path); - String text = new String(in.readAllBytes()); - in.close(); - return text; - } - - public static int random(int Max, int Min) { - return ThreadLocalRandom.current().nextInt(Min, Max); - } - - public static void createPin() { - String path = "data\\MCPing\\Pin.txt"; - File file = new File(path); - if(file.exists()) return; - try { - StringBuilder sb = new StringBuilder(); - int count = random(10,5); - for (int i = 0;i < count;i++) { - sb.append(random(9,0)); - } - String pin = sb.toString(); - OutputStream out = new FileOutputStream(path); - out.write(pin.getBytes()); - out.flush(); - out.close(); - } catch (IOException e) { - e.printStackTrace(); - } - } -} diff --git a/src/tax/cute/mcpingplugin/commands/BindServer.java b/src/tax/cute/mcpingplugin/commands/BindServer.java deleted file mode 100644 index cb3de89..0000000 --- a/src/tax/cute/mcpingplugin/commands/BindServer.java +++ /dev/null @@ -1,216 +0,0 @@ -package tax.cute.mcpingplugin.commands; - -import com.alibaba.fastjson.JSONArray; -import com.alibaba.fastjson.JSONObject; -import net.mamoe.mirai.contact.Friend; -import net.mamoe.mirai.contact.Group; -import net.mamoe.mirai.message.data.ForwardMessageBuilder; -import net.mamoe.mirai.message.data.PlainText; -import net.mamoe.mirai.message.data.SingleMessage; -import tax.cute.mcpingplugin.Plugin; -import tax.cute.mcpingplugin.Util.Util; -import top.mrxiaom.miraiutils.CommandModel; -import top.mrxiaom.miraiutils.CommandSender; -import top.mrxiaom.miraiutils.CommandSenderFriend; -import top.mrxiaom.miraiutils.CommandSenderGroup; - -import java.io.IOException; - -public class BindServer extends CommandModel { - Plugin plugin; - - public BindServer(Plugin plugin) { - super("bindServer"); - this.plugin = plugin; - } - - @Override - public void onCommand(CommandSender sender, SingleMessage[] args) { - if (!plugin.config.isEnable()) return; - if (args[0].contentToString().equalsIgnoreCase("/bindServer")) return; - if (!plugin.config.isOwner(sender.getSenderID())) return; - - if (sender instanceof CommandSenderGroup) { - CommandSenderGroup senderGroup = (CommandSenderGroup) sender; - Group group = senderGroup.getGroup(); - try { - if (args[0].contentToString().equalsIgnoreCase("/bingServer")) return; - if (args[0].contentToString().equalsIgnoreCase("add")) addBind(args, group); - if (args[0].contentToString().equalsIgnoreCase("remove")) removeBind(args, group); - if (args[0].contentToString().equalsIgnoreCase("list")) getBind(group); - } catch (IOException e) { - group.sendMessage("读写配置文件时出现了异常\n" + e); - } - } - - if (sender instanceof CommandSenderFriend) { - CommandSenderFriend senderFriend = (CommandSenderFriend) sender; - Friend friend = senderFriend.getFriend(); - try { - if (args[0].contentToString().equalsIgnoreCase("/bingServer")) return; - if (args[0].contentToString().equalsIgnoreCase("add")) addBind(args, friend); - if (args[0].contentToString().equalsIgnoreCase("remove")) removeBind(args, friend); - if (args[0].contentToString().equalsIgnoreCase("list")) getBind(friend); - } catch (IOException e) { - friend.sendMessage("读写配置文件时出现了异常\n" + e); - } - } - } - - private void addBind(SingleMessage[] args, Object sendObject) throws IOException { - if (sendObject instanceof Group) { - Group group = (Group) sendObject; - if (args.length != 4) { - group.sendMessage("参数输入有误"); - return; - } - long num = 0; - if (args[1].contentToString().equalsIgnoreCase("this")) - num = group.getId(); - else if (Util.isNum(args[1].contentToString())) - num = Long.parseLong(args[1].contentToString()); - else - group.sendMessage("意外的数据类型(需要整数)"); - - String cmd = args[2].contentToString(); - String host = args[3].contentToString(); - if (this.plugin.config.addBindServer(num, cmd, host)) - group.sendMessage("绑定成功 可在该群发送 " + cmd + " 获取" + host + "的信息"); - else group.sendMessage("绑定失败 此群已绑定"); - } else if (sendObject instanceof Friend) { - Friend friend = (Friend) sendObject; - if (args.length != 4) { - friend.sendMessage("参数输入有误"); - return; - } - long num; - if (Util.isNum(args[1].contentToString())) - num = Long.parseLong(args[1].contentToString()); - else { - friend.sendMessage("意外的数据类型(需要整数)"); - return; - } - - String cmd = args[2].contentToString(); - String host = args[3].contentToString(); - if (this.plugin.config.addBindServer(num, cmd, host)) - friend.sendMessage("绑定成功 可在该群发送 " + cmd + " 获取" + host + "的信息"); - else friend.sendMessage("绑定失败 此群已绑定"); - } - } - - private void removeBind(SingleMessage[] args, Object sendObject) throws IOException { - if (sendObject instanceof Group) { - Group group = (Group) sendObject; - if (args.length != 2) { - group.sendMessage("参数输入错误"); - return; - } - long num = -1; - if (args[1].contentToString().equalsIgnoreCase("all")) { - int removeCount = plugin.config.removeAllBindServer(); - group.sendMessage("已清空绑定数据(" + removeCount + "个)"); - } else { - if (args[1].contentToString().equalsIgnoreCase("this")) - num = group.getId(); - else if (Util.isNum(args[1].contentToString())) - num = Long.parseLong(args[1].contentToString()); - else - group.sendMessage("意外的数据类型(需要整数)"); - - if (num != -1) { - if (plugin.config.removeBindServer(num)) - group.sendMessage(num + "不再绑定服务器"); - else - group.sendMessage(num + "没有绑定服务器,无法解绑"); - } - } - } else if (sendObject instanceof Friend) { - Friend friend = (Friend)sendObject; - if (args.length != 2) { - friend.sendMessage("参数输入错误"); - return; - } - long num = -1; - if (args[1].contentToString().equalsIgnoreCase("all")) { - int removeCount = plugin.config.removeAllBindServer(); - friend.sendMessage("已清空绑定数据(" + removeCount + "个)"); - } else { - if (Util.isNum(args[1].contentToString())) - num = Long.parseLong(args[1].contentToString()); - else - friend.sendMessage("意外的数据类型(需要整数)"); - - if (num != -1) { - if (plugin.config.removeBindServer(num)) - friend.sendMessage(num + "不再绑定服务器"); - else - friend.sendMessage(num + "没有绑定服务器,无法解绑"); - } - } - } - } - - private void getBind(Object sendObject) { - JSONArray array = plugin.config.getBindServerList(); - if(sendObject instanceof Group) { - Group group = (Group)sendObject; - if (array.size() == 0) { - group.sendMessage("没有数据"); - return; - } - ForwardMessageBuilder builder = new ForwardMessageBuilder(group); - int count = 0; - for (int i = 0; i < array.size(); i++) { - count++; - JSONObject json = array.getJSONObject(i); - builder.add(group.getBot().getId(), "Server" + (i + 1), new PlainText( - "Group:" + json.get("GroupNum") + - "\nCmd:" + json.get("CMD") + - "\nHost:" + json.get("Host") - )); - //清零count 发送合并转发 清空ForwardMessageBuilder - if (count == 100) { - count = 0; - group.sendMessage(builder.build()); - builder = new ForwardMessageBuilder(group); - } - if (count > 100) { - group.sendMessage("程序遇到量子异常,程序无法定位此异常,请联系外星人"); - return; - } - } - //即使没上百,最后也会发送 - if (count > 0) group.sendMessage(builder.build()); - }else if(sendObject instanceof Friend) { - Friend friend = (Friend)sendObject; - if (array.size() == 0) { - friend.sendMessage("没有数据"); - return; - } - ForwardMessageBuilder builder = new ForwardMessageBuilder(friend); - int count = 0; - for (int i = 0; i < array.size(); i++) { - count++; - JSONObject json = array.getJSONObject(i); - builder.add(friend.getBot().getId(), "Server" + (i + 1), new PlainText( - "Group:" + json.get("GroupNum") + - "\nCmd:" + json.get("CMD") + - "\nHost:" + json.get("Host") - )); - //清零count 发送合并转发 清空ForwardMessageBuilder - if (count == 100) { - count = 0; - friend.sendMessage(builder.build()); - builder = new ForwardMessageBuilder(friend); - } - if (count > 100) { - friend.sendMessage("程序遇到量子异常,程序无法定位此异常,请联系外星人"); - return; - } - } - //即使没上百,最后也会发送 - if (count > 0) friend.sendMessage(builder.build()); - } - } -} diff --git a/src/tax/cute/mcpingplugin/commands/Enable.java b/src/tax/cute/mcpingplugin/commands/Enable.java deleted file mode 100644 index 3e7df9a..0000000 --- a/src/tax/cute/mcpingplugin/commands/Enable.java +++ /dev/null @@ -1,58 +0,0 @@ -package tax.cute.mcpingplugin.commands; - -import net.mamoe.mirai.contact.Friend; -import net.mamoe.mirai.contact.Group; -import net.mamoe.mirai.message.data.SingleMessage; -import tax.cute.mcpingplugin.Plugin; -import tax.cute.mcpingplugin.Util.Util; -import top.mrxiaom.miraiutils.CommandModel; -import top.mrxiaom.miraiutils.CommandSender; -import top.mrxiaom.miraiutils.CommandSenderFriend; -import top.mrxiaom.miraiutils.CommandSenderGroup; - -import java.io.IOException; - -public class Enable extends CommandModel { - Plugin plugin; - public Enable(Plugin plugin) { - super("enable"); - this.plugin = plugin; - } - - @Override - public void onCommand(CommandSender sender, SingleMessage[] args) { - if(args.length != 1) return; - if(!plugin.config.isOwner(sender.getSenderID())) return; - if (sender instanceof CommandSenderGroup) { - CommandSenderGroup senderGroup = (CommandSenderGroup)sender; - Group group = senderGroup.getGroup(); - - try { - if (Util.isBoolean(args[0].contentToString())) { - this.plugin.config.setEnable(Boolean.parseBoolean(args[0].contentToString())); - group.sendMessage("已将enable设置为" + args[0]); - } else { - group.sendMessage("意外的数据类型(需要boolean)"); - } - } catch (IOException e) { - group.sendMessage("读写配置时遇到了异常" + e); - } - } - - if (sender instanceof CommandSenderFriend) { - CommandSenderFriend senderFriend = (CommandSenderFriend)sender; - Friend friend = senderFriend.getFriend(); - - try { - if (Util.isBoolean(args[0].contentToString())) { - this.plugin.config.setEnable(Boolean.parseBoolean(args[0].contentToString())); - friend.sendMessage("已将enable设置为" + args[0]); - } else { - friend.sendMessage("意外的数据类型(需要boolean)"); - } - } catch (IOException e) { - friend.sendMessage("读写配置时遇到了异常" + e); - } - } - } -} diff --git a/src/tax/cute/mcpingplugin/commands/Help.java b/src/tax/cute/mcpingplugin/commands/Help.java deleted file mode 100644 index 82c9cbd..0000000 --- a/src/tax/cute/mcpingplugin/commands/Help.java +++ /dev/null @@ -1,34 +0,0 @@ -package tax.cute.mcpingplugin.commands; - -import net.mamoe.mirai.contact.Friend; -import net.mamoe.mirai.contact.Group; -import net.mamoe.mirai.message.data.SingleMessage; -import tax.cute.mcpingplugin.Plugin; -import tax.cute.mcpingplugin.Util.Util; -import top.mrxiaom.miraiutils.CommandModel; -import top.mrxiaom.miraiutils.CommandSender; -import top.mrxiaom.miraiutils.CommandSenderFriend; -import top.mrxiaom.miraiutils.CommandSenderGroup; - -public class Help extends CommandModel { - Plugin plugin; - public Help(Plugin plugin) { - super("help"); - this.plugin = plugin; - } - - @Override - public void onCommand(CommandSender sender, SingleMessage[] args) { - if(!plugin.config.isEnable()) return; - if (sender instanceof CommandSenderGroup) { - CommandSenderGroup senderGroup = (CommandSenderGroup) sender; - Group group = senderGroup.getGroup(); - group.sendMessage(Util.MENU); - } - if (sender instanceof CommandSenderFriend) { - CommandSenderFriend senderFriend = (CommandSenderFriend)sender; - Friend friend = senderFriend.getFriend(); - friend.sendMessage(Util.MENU); - } - } -} \ No newline at end of file diff --git a/src/tax/cute/mcpingplugin/commands/MCPing.java b/src/tax/cute/mcpingplugin/commands/MCPing.java deleted file mode 100644 index 68b0966..0000000 --- a/src/tax/cute/mcpingplugin/commands/MCPing.java +++ /dev/null @@ -1,102 +0,0 @@ -package tax.cute.mcpingplugin.commands; - -import net.mamoe.mirai.contact.Friend; -import net.mamoe.mirai.contact.Group; -import net.mamoe.mirai.message.data.SingleMessage; -import tax.cute.mcpingplugin.*; -import tax.cute.mcpingplugin.Util.Util; -import tax.cute.minecraftserverping.Punycode; -import top.mrxiaom.miraiutils.CommandModel; -import top.mrxiaom.miraiutils.CommandSender; -import top.mrxiaom.miraiutils.CommandSenderFriend; -import top.mrxiaom.miraiutils.CommandSenderGroup; - -import java.util.Timer; -import java.util.TimerTask; - -public class MCPing extends CommandModel { - Plugin plugin; - - public MCPing(Plugin plugin) { - super("mcping"); - this.plugin = plugin; - } - - @Override - public void onCommand(CommandSender sender, SingleMessage[] args) { - if (!plugin.config.isEnable()) return; - if (args.length != 1) return; - String host = args[0].contentToString(); - - String ip; - int port; - if (host.contains(":")) { - ip = host.split(":")[0]; - port = Integer.parseInt(host.split(":")[1]); - } else { - ip = host; - port = -1; - } - - //中文域名转码 - ip = Punycode.encodeURL(ip); - - if (sender instanceof CommandSenderGroup) { - CommandSenderGroup senderGroup = (CommandSenderGroup) sender; - Group group = senderGroup.getGroup(); - if (args[0].contentToString().equalsIgnoreCase("/mcping")) { - group.sendMessage(Util.MENU); - return; - } - - sendMCPing(plugin, group, ip, port); - } - - if (sender instanceof CommandSenderFriend) { - CommandSenderFriend senderFriend = (CommandSenderFriend) sender; - Friend friend = senderFriend.getFriend(); - if (args[0].contentToString().equalsIgnoreCase("/mcping")) { - friend.sendMessage(Util.MENU); - return; - } - - sendMCPing(plugin, friend, ip, port); - } - } - - public static void sendMCPing(Plugin plugin, Object sendObject, String ip, int port) { - if (sendObject instanceof Group) { - Group group = (Group) sendObject; - MCJEPingThread je = new MCJEPingThread(plugin, ip, port, group); - MCBEPingThread be = new MCBEPingThread(plugin, ip, port, group); - - je.start(); - be.start(); - - Timer timer = new Timer(); - timer.schedule(new TimerTask() { - @Override - public void run() { - if (be.status == 0 && je.status == 0) - group.sendMessage("查询失败 请检测服务器是否开启"); - } - }, 3000); - } else if (sendObject instanceof Friend) { - Friend friend = (Friend) sendObject; - MCJEPingThread je = new MCJEPingThread(plugin, ip, port, friend); - MCBEPingThread be = new MCBEPingThread(plugin, ip, port, friend); - - je.start(); - be.start(); - - Timer timer = new Timer(); - timer.schedule(new TimerTask() { - @Override - public void run() { - if (be.status == 0 && je.status == 0) - friend.sendMessage("查询失败 请检测服务器是否开启"); - } - }, 3000); - } - } -} \ No newline at end of file diff --git a/src/tax/cute/mcpingplugin/commands/OtherMcPingSet.java b/src/tax/cute/mcpingplugin/commands/OtherMcPingSet.java deleted file mode 100644 index f01e4f7..0000000 --- a/src/tax/cute/mcpingplugin/commands/OtherMcPingSet.java +++ /dev/null @@ -1,48 +0,0 @@ -package tax.cute.mcpingplugin.commands; - -import net.mamoe.mirai.contact.Friend; -import net.mamoe.mirai.contact.Group; -import net.mamoe.mirai.message.data.SingleMessage; -import tax.cute.mcpingplugin.Plugin; -import top.mrxiaom.miraiutils.CommandModel; -import top.mrxiaom.miraiutils.CommandSender; -import top.mrxiaom.miraiutils.CommandSenderFriend; -import top.mrxiaom.miraiutils.CommandSenderGroup; - -import java.io.IOException; - -public class OtherMcPingSet extends CommandModel { - Plugin plugin; - public OtherMcPingSet(Plugin plugin) { - super("mcPingCmd"); - this.plugin = plugin; - } - - @Override - public void onCommand(CommandSender sender, SingleMessage[] args) { - if(!plugin.config.isOwner(sender.getSenderID())) return; - if(args.length != 2) return; - if(!args[0].contentToString().equalsIgnoreCase("set")) return; - if (sender instanceof CommandSenderGroup) { - CommandSenderGroup senderGroup = (CommandSenderGroup)sender; - Group group = senderGroup.getGroup(); - String cmd = args[1].contentToString(); - try { - plugin.config.setMcPingCmd(cmd); - group.sendMessage("已更改命令为" + cmd); - } catch (IOException e) { - group.sendMessage("读写配置时出现异常" + e); - } - }else if (sender instanceof CommandSenderFriend) { - CommandSenderFriend senderFriend = (CommandSenderFriend)sender; - Friend friend = senderFriend.getFriend(); - String cmd = args[1].contentToString(); - try { - plugin.config.setMcPingCmd(cmd); - friend.sendMessage("已更改命令为" + cmd); - } catch (IOException e) { - friend.sendMessage("读写配置时出现异常" + e); - } - } - } -} diff --git a/src/tax/cute/mcpingplugin/commands/Owner.java b/src/tax/cute/mcpingplugin/commands/Owner.java deleted file mode 100644 index 86ff71f..0000000 --- a/src/tax/cute/mcpingplugin/commands/Owner.java +++ /dev/null @@ -1,126 +0,0 @@ -package tax.cute.mcpingplugin.commands; - -import net.mamoe.mirai.contact.Friend; -import net.mamoe.mirai.contact.Group; -import net.mamoe.mirai.message.data.SingleMessage; -import tax.cute.mcpingplugin.Plugin; -import tax.cute.mcpingplugin.Util.Util; -import top.mrxiaom.miraiutils.CommandModel; -import top.mrxiaom.miraiutils.CommandSender; -import top.mrxiaom.miraiutils.CommandSenderFriend; -import top.mrxiaom.miraiutils.CommandSenderGroup; - -import java.io.IOException; - -public class Owner extends CommandModel { - Plugin plugin; - - public Owner(Plugin plugin) { - super("lp"); - this.plugin = plugin; - } - - @Override - public void onCommand(CommandSender sender, SingleMessage[] args) { - if(!plugin.config.isEnable()) return; - if (args[0].contentToString().equalsIgnoreCase("/lp")) return; - if (!plugin.config.isOwner(sender.getSenderID())) return; - if (sender instanceof CommandSenderGroup) { - CommandSenderGroup senderGroup = (CommandSenderGroup) sender; - Group group = senderGroup.getGroup(); - if (args.length == 1) { - if (args[0].contentToString().equalsIgnoreCase("list")) - sendList(group); - } - if (args.length == 2) { - if (Util.isNum(args[1].contentToString())) { - long num = Long.parseLong(args[1].contentToString()); - try { - if (args[0].contentToString().equalsIgnoreCase("add")) - add(group, num); - - if (args[0].contentToString().equalsIgnoreCase("remove")) - remove(group, num); - - } catch (IOException e) { - group.sendMessage("读写配置时出现了异常\n" + e); - } - } - } - }else - if (sender instanceof CommandSenderFriend) { - CommandSenderFriend senderFriend = (CommandSenderFriend)sender; - Friend friend = senderFriend.getFriend(); - if (args.length == 1) { - if (args[0].contentToString().equalsIgnoreCase("list")) - sendList(friend); - } - if (args.length == 2) { - if (Util.isNum(args[1].contentToString())) { - long num = Long.parseLong(args[1].contentToString()); - try { - if (args[0].contentToString().equalsIgnoreCase("add")) - add(friend,num); - - if (args[0].contentToString().equalsIgnoreCase("remove")) - remove(friend, num); - - } catch (IOException e) { - friend.sendMessage("读写配置时出现了异常\n" + e); - } - } - } - } - - } - - private void add(Object sendObject, long qqNum) throws IOException { - if (sendObject instanceof Group) { - Group group = (Group) sendObject; - if (plugin.config.addOwner(qqNum)) - group.sendMessage("已添加" + qqNum + "为主人"); - else - group.sendMessage(qqNum + "已是主人,无需重复添加"); - } else if (sendObject instanceof Friend) { - Friend friend = (Friend)sendObject; - if (plugin.config.addOwner(qqNum)) - friend.sendMessage("已添加" + qqNum + "为主人"); - else - friend.sendMessage(qqNum + "已是主人,无需重复添加"); - } - } - - private void remove(Object sendObject, long qqNum) throws IOException { - if (sendObject instanceof Group) { - Group group = (Group) sendObject; - if (plugin.config.removeOwner(qqNum)) - group.sendMessage(qqNum + "不再是主人了"); - else - group.sendMessage(qqNum + "不是主人 无法移除"); - } else if (sendObject instanceof Friend) { - Friend friend = (Friend)sendObject; - if (plugin.config.removeOwner(qqNum)) - friend.sendMessage(qqNum + "不再是主人了"); - else - friend.sendMessage(qqNum + "不是主人 无法移除"); - } - } - - private void sendList(Object sendObject) { - if (sendObject instanceof Group) { - Group group = (Group) sendObject; - StringBuilder sb = new StringBuilder(); - for (int i = 0; i < plugin.config.getOwner().size(); i++) { - sb.append(plugin.config.getOwner().getString(i)).append("\n"); - } - group.sendMessage("主人:\n" + sb); - } else if (sendObject instanceof Friend) { - Friend friend = (Friend)sendObject; - StringBuilder sb = new StringBuilder(); - for (int i = 0; i < plugin.config.getOwner().size(); i++) { - sb.append(plugin.config.getOwner().getString(i)).append("\n"); - } - friend.sendMessage("主人:\n" + sb); - } - } -} \ No newline at end of file diff --git a/src/tax/cute/mcpingplugin/commands/Reload.java b/src/tax/cute/mcpingplugin/commands/Reload.java deleted file mode 100644 index 86f12f2..0000000 --- a/src/tax/cute/mcpingplugin/commands/Reload.java +++ /dev/null @@ -1,55 +0,0 @@ -package tax.cute.mcpingplugin.commands; - -import net.mamoe.mirai.contact.Friend; -import net.mamoe.mirai.contact.Group; -import net.mamoe.mirai.message.data.SingleMessage; -import tax.cute.mcpingplugin.BETypeset; -import tax.cute.mcpingplugin.Config; -import tax.cute.mcpingplugin.JETypeset; -import tax.cute.mcpingplugin.Plugin; -import tax.cute.mcpingplugin.Util.Util; -import top.mrxiaom.miraiutils.CommandModel; -import top.mrxiaom.miraiutils.CommandSender; -import top.mrxiaom.miraiutils.CommandSenderFriend; -import top.mrxiaom.miraiutils.CommandSenderGroup; - -import java.io.IOException; - -public class Reload extends CommandModel { - Plugin plugin; - public Reload(Plugin plugin) { - super("reload"); - this.plugin = plugin; - } - @Override - public void onCommand(CommandSender sender, SingleMessage[] args) { - if(!plugin.config.isEnable()) return; - if(!plugin.config.isOwner(sender.getSenderID())) return; - if (sender instanceof CommandSenderGroup) { - CommandSenderGroup senderGroup = (CommandSenderGroup)sender; - Group group = senderGroup.getGroup(); - try { - plugin.config = Config.getConfig(plugin.config.getPath()); - BETypeset.createTypesetFile(plugin.BETypesetFilePath); - JETypeset.createTypesetFile(plugin.JETypesetFilePath); - plugin.JETypesetText = Util.readText(plugin.JETypesetFilePath,"GBK"); - plugin.BETypesetText = Util.readText(plugin.BETypesetFilePath,"GBK"); - group.sendMessage("已完成重载"); - } catch (IOException e) { - group.sendMessage("重新加载配置文件时出现了异常\n" + e); - } - }else if (sender instanceof CommandSenderFriend) { - CommandSenderFriend senderFriend = (CommandSenderFriend)sender; - Friend friend = senderFriend.getFriend(); - - try { - plugin.config = Config.getConfig(plugin.config.getPath()); - plugin.JETypesetText = Util.readText(plugin.JETypesetFilePath,"GBK"); - plugin.BETypesetText = Util.readText(plugin.BETypesetFilePath,"GBK"); - friend.sendMessage("已完成重载"); - } catch (IOException e) { - friend.sendMessage("重新加载配置文件时出现了异常\n" + e); - } - } - } -} diff --git a/src/tax/cute/mcpingplugin/friend/GetOwner.java b/src/tax/cute/mcpingplugin/friend/GetOwner.java deleted file mode 100644 index f92de6a..0000000 --- a/src/tax/cute/mcpingplugin/friend/GetOwner.java +++ /dev/null @@ -1,39 +0,0 @@ -package tax.cute.mcpingplugin.friend; - -import net.mamoe.mirai.contact.Friend; -import net.mamoe.mirai.message.data.SingleMessage; -import tax.cute.mcpingplugin.Plugin; -import top.mrxiaom.miraiutils.CommandModel; -import top.mrxiaom.miraiutils.CommandSender; -import top.mrxiaom.miraiutils.CommandSenderFriend; - -import java.io.FileInputStream; -import java.io.IOException; -import java.io.InputStream; - -public class GetOwner extends CommandModel { - Plugin plugin; - public GetOwner(Plugin plugin) { - super("getOwner"); - this.plugin = plugin; - } - - @Override - public void onCommand(CommandSender sender, SingleMessage[] args) { - if (sender instanceof CommandSenderFriend) { - CommandSenderFriend senderFriend = (CommandSenderFriend)sender; - Friend friend = senderFriend.getFriend(); - if(plugin.config.getOwner().size() > 0) return; - try { - InputStream in = new FileInputStream("data\\MCPing\\Pin.txt"); - String pin = new String(in.readAllBytes()); - in.close(); - if (!args[0].contentToString().equals(pin)) return; - plugin.config.addOwner(friend.getId()); - } catch (IOException e) { - e.printStackTrace(); - } - friend.sendMessage("你已成为主人"); - } - } -}