From dac207f91eb5aed71f7a2541aeffddd518b217e1 Mon Sep 17 00:00:00 2001 From: Da_nuo Date: Mon, 20 Jan 2025 16:17:06 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A6=96=E6=AC=A1=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitattributes | 2 + .idea/compiler.xml | 13 + .idea/encodings.xml | 7 + .idea/jarRepositories.xml | 25 ++ .idea/misc.xml | 14 + .idea/modules.xml | 8 + .idea/uiDesigner.xml | 124 ++++++++ .idea/vcs.xml | 6 + .idea/workspace.xml | 283 ++++++++++++++++++ pom.xml | 31 ++ src/main/java/org/start/command/command.java | 94 ++++++ .../java/org/start/command/commandTab.java | 32 ++ src/main/java/org/start/data/TeamManager.java | 58 ++++ .../java/org/start/data/worldSpawnItem.java | 89 ++++++ .../start/player/bossbar/boss_bar_runs.java | 36 +++ .../java/org/start/player/bossbar/data.java | 33 ++ .../java/org/start/player/bossbar/manger.java | 74 +++++ .../start/player/cuan_song/chuan_song.java | 45 +++ .../org/start/player/main/model/def_path.java | 45 +++ .../start/player/main/model/redAtEvent.java | 13 + .../start/player/main/model/shi_fo_at.java | 43 +++ src/main/java/org/start/player/main/run_.java | 83 +++++ .../java/org/start/player/pCase/pIdName.java | 7 + .../java/org/start/player/pCase/run_.java | 9 + src/main/java/org/start/print.java | 45 +++ src/main/java/org/start/run.java | 71 +++++ src/main/resources/config.yml | 44 +++ src/main/resources/plugin.yml | 14 + target/classes/config.yml | 44 +++ .../classes/org/start/command/command.class | Bin 0 -> 3546 bytes .../org/start/command/commandTab.class | Bin 0 -> 1443 bytes .../classes/org/start/data/TeamManager.class | Bin 0 -> 1893 bytes .../org/start/data/worldSpawnItem.class | Bin 0 -> 3330 bytes .../start/player/bossbar/boss_bar_runs.class | Bin 0 -> 1563 bytes .../org/start/player/bossbar/data.class | Bin 0 -> 971 bytes .../org/start/player/bossbar/manger.class | Bin 0 -> 2802 bytes .../start/player/cuan_song/chuan_song.class | Bin 0 -> 1177 bytes .../org/start/player/main/def_path.class | Bin 0 -> 1805 bytes .../classes/org/start/player/main/demo.class | Bin 0 -> 281 bytes .../org/start/player/main/redAtEvent.class | Bin 0 -> 450 bytes .../org/start/player/main/run_$1.class | Bin 0 -> 1774 bytes .../classes/org/start/player/main/run_.class | Bin 0 -> 1640 bytes .../classes/org/start/player/main/say$1.class | Bin 0 -> 931 bytes .../classes/org/start/player/main/say.class | Bin 0 -> 819 bytes .../org/start/player/main/shi_fo_at.class | Bin 0 -> 1712 bytes target/classes/org/start/print.class | Bin 0 -> 2241 bytes target/classes/org/start/run.class | Bin 0 -> 1530 bytes target/classes/plugin.yml | 14 + target/maven-archiver/pom.properties | 3 + .../compile/default-compile/createdFiles.lst | 17 ++ .../compile/default-compile/inputFiles.lst | 16 + .../default-testCompile/createdFiles.lst | 0 .../default-testCompile/inputFiles.lst | 0 53 files changed, 1442 insertions(+) create mode 100644 .gitattributes create mode 100644 .idea/compiler.xml create mode 100644 .idea/encodings.xml create mode 100644 .idea/jarRepositories.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/uiDesigner.xml create mode 100644 .idea/vcs.xml create mode 100644 .idea/workspace.xml create mode 100644 pom.xml create mode 100644 src/main/java/org/start/command/command.java create mode 100644 src/main/java/org/start/command/commandTab.java create mode 100644 src/main/java/org/start/data/TeamManager.java create mode 100644 src/main/java/org/start/data/worldSpawnItem.java create mode 100644 src/main/java/org/start/player/bossbar/boss_bar_runs.java create mode 100644 src/main/java/org/start/player/bossbar/data.java create mode 100644 src/main/java/org/start/player/bossbar/manger.java create mode 100644 src/main/java/org/start/player/cuan_song/chuan_song.java create mode 100644 src/main/java/org/start/player/main/model/def_path.java create mode 100644 src/main/java/org/start/player/main/model/redAtEvent.java create mode 100644 src/main/java/org/start/player/main/model/shi_fo_at.java create mode 100644 src/main/java/org/start/player/main/run_.java create mode 100644 src/main/java/org/start/player/pCase/pIdName.java create mode 100644 src/main/java/org/start/player/pCase/run_.java create mode 100644 src/main/java/org/start/print.java create mode 100644 src/main/java/org/start/run.java create mode 100644 src/main/resources/config.yml create mode 100644 src/main/resources/plugin.yml create mode 100644 target/classes/config.yml create mode 100644 target/classes/org/start/command/command.class create mode 100644 target/classes/org/start/command/commandTab.class create mode 100644 target/classes/org/start/data/TeamManager.class create mode 100644 target/classes/org/start/data/worldSpawnItem.class create mode 100644 target/classes/org/start/player/bossbar/boss_bar_runs.class create mode 100644 target/classes/org/start/player/bossbar/data.class create mode 100644 target/classes/org/start/player/bossbar/manger.class create mode 100644 target/classes/org/start/player/cuan_song/chuan_song.class create mode 100644 target/classes/org/start/player/main/def_path.class create mode 100644 target/classes/org/start/player/main/demo.class create mode 100644 target/classes/org/start/player/main/redAtEvent.class create mode 100644 target/classes/org/start/player/main/run_$1.class create mode 100644 target/classes/org/start/player/main/run_.class create mode 100644 target/classes/org/start/player/main/say$1.class create mode 100644 target/classes/org/start/player/main/say.class create mode 100644 target/classes/org/start/player/main/shi_fo_at.class create mode 100644 target/classes/org/start/print.class create mode 100644 target/classes/org/start/run.class create mode 100644 target/classes/plugin.yml create mode 100644 target/maven-archiver/pom.properties create mode 100644 target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst create mode 100644 target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst create mode 100644 target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst create mode 100644 target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..dfe0770 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,2 @@ +# Auto detect text files and perform LF normalization +* text=auto diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 0000000..d9e3477 --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/encodings.xml b/.idea/encodings.xml new file mode 100644 index 0000000..aa00ffa --- /dev/null +++ b/.idea/encodings.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml new file mode 100644 index 0000000..f44ba7b --- /dev/null +++ b/.idea/jarRepositories.xml @@ -0,0 +1,25 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..82dbec8 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,14 @@ + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..3007dae --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/uiDesigner.xml b/.idea/uiDesigner.xml new file mode 100644 index 0000000..2b63946 --- /dev/null +++ b/.idea/uiDesigner.xml @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/workspace.xml b/.idea/workspace.xml new file mode 100644 index 0000000..d5d5d71 --- /dev/null +++ b/.idea/workspace.xml @@ -0,0 +1,283 @@ + + + + + + + + + + + + + + + + + + + + + + { + "customColor": "", + "associatedIndex": 8 +} + + + + + + + + + + + + + + + + + + + C:\Users\Administrator\AppData\Roaming\Subversion + + + + + 1733023429534 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..467a62a --- /dev/null +++ b/pom.xml @@ -0,0 +1,31 @@ + + + 4.0.0 + + org.example + untitled + 1.0-SNAPSHOT + + + spigot-repo + https://hub.spigotmc.org/nexus/content/repositories/snapshots/ + + + + + + org.spigotmc + spigot-api + 1.20.1-R0.1-SNAPSHOT + provided + + + + 17 + 17 + UTF-8 + + + \ No newline at end of file diff --git a/src/main/java/org/start/command/command.java b/src/main/java/org/start/command/command.java new file mode 100644 index 0000000..7e68621 --- /dev/null +++ b/src/main/java/org/start/command/command.java @@ -0,0 +1,94 @@ +package org.start.command; + +import org.bukkit.ChatColor; +import org.bukkit.command.Command; +import org.bukkit.command.CommandExecutor; +import org.bukkit.command.CommandSender; +import org.bukkit.entity.Player; + +import org.start.data.TeamManager; +import org.start.player.cuan_song.chuan_song; +import org.start.print; +import org.start.player.bossbar.boss_bar_runs; + +public class command implements CommandExecutor { + + + @Override + public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { + + Player player = (Player) sender; + ChatColor r = ChatColor.RED; + ChatColor g = ChatColor.GREEN; + ChatColor y = ChatColor.YELLOW; + ChatColor b = ChatColor.BLUE; + + if (args.length == 0){ + print.player_p(player,"&命令不正确,请使用 /war help 了解更多"); + return false; + } + + //处理 help 命令 + if (args[0].equalsIgnoreCase("help")){ + player.sendMessage(" "); + print.player_p(player, "&e=======&b[ &a守塔模式 (内部插件) &b]&e======="); + player.sendMessage("用法:/war join red 加入进攻方"); + player.sendMessage(" /war join blue 加入防守方"); + player.sendMessage(" /war stop 离开守塔模式"); + return true; + } + + //处理 join事件 + if (args[0].equalsIgnoreCase("join")) { + if (args.length < 2){ + print.player_p(player,"你需要指定一个想要加入的队伍&a red:进攻方 blue:防守方"); + return true; + } + + String joinType = args[1].toLowerCase(); + if (joinType.equals("red")){ + if (TeamManager.isPlayerInTeam(player.getName())){ + print.player_p(player, "&e警告&f你已加入"+ TeamManager.getPlayer(player.getName())+",请勿重复加入"); + return true; + }else { + chuan_song.toRed(player); + TeamManager.setPlayer(player.getName(), "red"); //将玩家传入存储类 + boss_bar_runs.onPlayerJoinTeam(player,"red"); //为玩家添加进度条 + print.player_p(player,"你已加入进攻方"); + print.boardChat("玩家"+ player.getName()+"加入进攻方"); + return true; + } + } + if (joinType.equals("blue")){ + if (TeamManager.isPlayerInTeam(player.getName())) { + print.player_p(player, "&e警告&f你已加入" + TeamManager.getPlayer(player.getName()) + ",请勿重复加入"); + return true; + }else { + chuan_song.toBlue(player); + TeamManager.setPlayer(player.getName(), "blue"); + boss_bar_runs.onPlayerJoinTeam(player,"blue"); + print.player_p(player,"你已加入防守方"); + print.boardChat("玩家"+ player.getName()+"加入进攻方"); + return true; + } + + }else { + print.player_p(player,"无效队伍,请重试"); + return true; + } + } + + //处理 stop 命令 + if (args[0].equalsIgnoreCase("stop")){ + print.player_p(player,"你已离开守塔模式"); + chuan_song.toStop(player); + boss_bar_runs.onPlayerLeaveTeam(player); //移除玩家的进度条 + print.boardChat("玩家"+ player.getName()+"离开守塔模式"); + TeamManager.removePlayer(player.getName()); //将玩家移出存储类 + return true; + } + + print.player_p(player,"无效命令,请重试"); + return false; + } +} diff --git a/src/main/java/org/start/command/commandTab.java b/src/main/java/org/start/command/commandTab.java new file mode 100644 index 0000000..dc12e59 --- /dev/null +++ b/src/main/java/org/start/command/commandTab.java @@ -0,0 +1,32 @@ +package org.start.command; + +import org.bukkit.command.Command; +import org.bukkit.command.CommandSender; +import org.bukkit.command.TabCompleter; + +import java.util.ArrayList; +import java.util.List; + +public class commandTab implements TabCompleter { + + @Override + public List onTabComplete(CommandSender sender, Command command, String label, String[] args) { + List completions = new ArrayList<>(); + + // 玩家输入第一个参数时(如 "/war "),自动补全 "join", "stop", "help" + if (args.length == 1) { + if ("join".startsWith(args[0])) completions.add("join"); + if ("stop".startsWith(args[0])) completions.add("stop"); + if ("help".startsWith(args[0])) completions.add("help"); + } + + // 玩家输入 "war join" 后(即第二个参数),自动补全队伍名称,如 "red" 和 "blue" + if (args.length == 2 && args[0].equalsIgnoreCase("join")) { + if ("red".startsWith(args[1])) completions.add("red"); + if ("blue".startsWith(args[1])) completions.add("blue"); + } + + return completions; + } +} + diff --git a/src/main/java/org/start/data/TeamManager.java b/src/main/java/org/start/data/TeamManager.java new file mode 100644 index 0000000..838797b --- /dev/null +++ b/src/main/java/org/start/data/TeamManager.java @@ -0,0 +1,58 @@ +package org.start.data; + +import org.start.print; + +import java.util.HashMap; +import java.util.Map; + +public class TeamManager { + + // 存储玩家名称与队伍的关系 + private static Map playerTeamMap = new HashMap<>(); + + /** + * 设置玩家的队伍类型 + * + * @param playerName 玩家名称 + * @param teamType 队伍类型 + */ + public static void setPlayer(String playerName, String teamType) { + playerTeamMap.put(playerName, teamType); + print.command_p("i", "玩家"+ playerName + "加入" + teamType); + } + + /** + * 获取玩家当前的队伍类型 + * + * @param playerName 玩家名称 + * @return 队伍类型,如果玩家不在任何队伍中则返回 null + */ + public static String getPlayer(String playerName) { + return playerTeamMap.get(playerName); + } + + /** + * 检查玩家是否已经加入了队伍 + * + * @param playerName 玩家名称 + * @return 如果玩家已经加入了队伍,返回 true,否则返回 false + */ + public static boolean isPlayerInTeam(String playerName) { + return playerTeamMap.containsKey(playerName); + } + + /** + * 移除玩家的队伍类型 + * + * @param playerName 玩家名称 + */ + public static boolean removePlayer(String playerName) { + if (playerTeamMap.containsKey(playerName)) { + playerTeamMap.remove(playerName); + print.command_p("i" ,"玩家 " + playerName + " 已退出队伍"); + return true; + } else { + return false; + } + } +} diff --git a/src/main/java/org/start/data/worldSpawnItem.java b/src/main/java/org/start/data/worldSpawnItem.java new file mode 100644 index 0000000..406b279 --- /dev/null +++ b/src/main/java/org/start/data/worldSpawnItem.java @@ -0,0 +1,89 @@ +package org.start.data; + +import org.bukkit.Location; +import org.bukkit.World; +import org.bukkit.plugin.java.JavaPlugin; +import org.start.print; +import org.start.run; + + +public class worldSpawnItem { + + /* + // 静态插件实例 + private static JavaPlugin plugin; + + // 静态方法初始化插件实例 + public static void initialize(JavaPlugin plugin) { + worldSpawnItem.plugin = plugin; + plugin.getLogger().info("出生点获取类初始化已完成"); + } + */ + static World world; + static double redPath_x; + static double redPath_y; + static double redPath_z; + + static double bluePath_x; + static double bluePath_y; + static double bluePath_z; + + static double stopPath_x; + static double stopPath_y; + static double stopPath_z; + + public worldSpawnItem(run plugin){ + // 获取世界名 + String world_ = plugin.getConfig().getString("world"); + world = plugin.getServer().getWorld(world_); + + if (world == null){ + print.command_p("e", "未找到可用的世界名,已设为默认(world)"); + world = plugin.getServer().getWorld("world"); + }else { + print.command_p("i","加载世界名:" + world.getName()); + } + + //获取各队伍位置 + try { + redPath_x = plugin.getConfig().getDouble("red_path.x"); + redPath_y = plugin.getConfig().getDouble("red_path.y"); + redPath_z = plugin.getConfig().getDouble("red_path.z"); + print.command_p("i", "获取到的进攻方的数据为 "+redPath_x + " " +redPath_y+ " " +redPath_z); + }catch (Exception e){ + print.command_p("e", "无法获取进攻方队伍数据,请检查配置文件 ( " + e + " ) "); + } + try { + bluePath_x = plugin.getConfig().getDouble("blue_path.x"); + bluePath_y = plugin.getConfig().getDouble("blue_path.y"); + bluePath_z = plugin.getConfig().getDouble("blue_path.z"); + print.command_p("i", "获取到的防守方数据为 "+ bluePath_x +" " + bluePath_y + " " + bluePath_z); + }catch (Exception e){ + print.command_p("e", "无法获取防守方队伍数据,请检查配置文件 ( " + e + " ) "); + } + try { + stopPath_x = plugin.getConfig().getDouble("stop_path.x"); + stopPath_y = plugin.getConfig().getDouble("stop_path.y"); + stopPath_z = plugin.getConfig().getDouble("stop_path.z"); + print.command_p("i", "获取到的停止队列的数据为 " + stopPath_x + " " + stopPath_y + " " + stopPath_z); + }catch (Exception e){ + print.command_p("e", "无法获取停止队伍数据,请检查配置文件 ( " + e + " )"); + } + + } + public static World getWorld(){ + return world; + } + + public static Location getRed(){ + return new Location(world, redPath_x, redPath_y, redPath_z); + } + + public static Location getBlue(){ + return new Location(world, bluePath_x, bluePath_y, bluePath_z); + } + + public static Location getStop(){ + return new Location(world, stopPath_x, stopPath_y, stopPath_z); + } +} diff --git a/src/main/java/org/start/player/bossbar/boss_bar_runs.java b/src/main/java/org/start/player/bossbar/boss_bar_runs.java new file mode 100644 index 0000000..9a90737 --- /dev/null +++ b/src/main/java/org/start/player/bossbar/boss_bar_runs.java @@ -0,0 +1,36 @@ +package org.start.player.bossbar; + +import org.bukkit.entity.Player; +import org.bukkit.plugin.java.JavaPlugin; + +public class boss_bar_runs { + private static JavaPlugin plugin; + public boss_bar_runs(JavaPlugin plugin) { + boss_bar_runs.plugin = plugin; + plugin.getLogger().info("进度条 类初始化已完成"); + } + + private static manger progressManager; + private static data teamProgressData; + + public static void main_runs_() { + // 初始化进度条管理器和队伍进度数据 + progressManager = new manger(plugin); + teamProgressData = new data(progressManager); + } + + // 玩家加入队伍时,创建并显示进度条 + public static void onPlayerJoinTeam(Player player, String team) { + progressManager.addPlayerProgress(player, team); // 为玩家添加进度条 + } + + // 玩家退出队伍时,移除进度条 + public static void onPlayerLeaveTeam(Player player) { + progressManager.removePlayerProgress(player); // 移除玩家进度条 + } + + // 玩家进攻进度变化时,更新红队进度条 + public static void onRedTeamProgressChanged(double newProgress) { + teamProgressData.setRedTeamProgress(newProgress); // 更新红队进攻进度 + } +} diff --git a/src/main/java/org/start/player/bossbar/data.java b/src/main/java/org/start/player/bossbar/data.java new file mode 100644 index 0000000..17d2062 --- /dev/null +++ b/src/main/java/org/start/player/bossbar/data.java @@ -0,0 +1,33 @@ +package org.start.player.bossbar; + +public class data { + + private double redTeamProgress = 0.0; // 红队的进攻进度 + private double blueTeamProgress = 1.0; // 蓝队的失守进度,初始为 100% + + private manger progressManager; + + public data(manger progressManager) { + this.progressManager = progressManager; + } + + // 设置红队的进攻进度 + public void setRedTeamProgress(double progress) { + redTeamProgress = progress / 100.0; // 转换为 0.0 - 1.0 + blueTeamProgress = 1.0 - redTeamProgress; // 蓝队失守进度是红队进度的反向 + + // 更新进度条 + progressManager.updateProgress("red", redTeamProgress); // 更新红队进度条 + progressManager.updateProgress("blue", blueTeamProgress); // 更新蓝队进度条 + } + + // 获取红队进攻进度 + public double getRedTeamProgress() { + return redTeamProgress; + } + + // 获取蓝队失守进度 + public double getBlueTeamProgress() { + return blueTeamProgress; + } +} diff --git a/src/main/java/org/start/player/bossbar/manger.java b/src/main/java/org/start/player/bossbar/manger.java new file mode 100644 index 0000000..2cdea03 --- /dev/null +++ b/src/main/java/org/start/player/bossbar/manger.java @@ -0,0 +1,74 @@ +package org.start.player.bossbar; + +import org.bukkit.boss.BarStyle; +import org.bukkit.boss.BarColor; +import org.bukkit.boss.BossBar; +import org.bukkit.entity.Player; +import org.bukkit.plugin.java.JavaPlugin; + +import java.util.HashMap; +import java.util.Map; + +public class manger { + + private JavaPlugin plugin; // 插件实例 + private Map playerBossBars = new HashMap<>(); // 存储玩家的进度条 + + public manger(JavaPlugin plugin) { + this.plugin = plugin; + } + + // 为玩家创建进度条,并将其加入对应队伍的进度条 + public void addPlayerProgress(Player player, String team) { + // 如果玩家已经有进度条,先移除 + removePlayerProgress(player); + + // 创建进度条 + BossBar bossBar = plugin.getServer().createBossBar("", BarColor.RED, BarStyle.SOLID); + + // 根据队伍设置进度条标题 + if (team.equals("red")) { + bossBar.setTitle("Red Team Progress"); + } else if (team.equals("blue")) { + bossBar.setTitle("Blue Team Progress"); + } + + // 设置初始进度为 0 + bossBar.setProgress(0.0); + + // 显示进度条 + bossBar.addPlayer(player); + + // 存储玩家的进度条 + playerBossBars.put(player.getName(), bossBar); + } + + // 移除玩家的进度条 + public void removePlayerProgress(Player player) { + BossBar bossBar = playerBossBars.get(player.getName()); + if (bossBar != null) { + bossBar.removePlayer(player); + playerBossBars.remove(player.getName()); + } + } + + // 更新所有玩家的进度条 + public void updateProgress(String team, double progress) { + // 遍历所有玩家,并更新其队伍对应的进度条 + for (Player player : plugin.getServer().getOnlinePlayers()) { + if (team.equals("red")) { + // 红队的进度条 + BossBar bossBar = playerBossBars.get(player.getName()); + if (bossBar != null) { + bossBar.setProgress(progress); + } + } else if (team.equals("blue")) { + // 蓝队的进度条 + BossBar bossBar = playerBossBars.get(player.getName()); + if (bossBar != null) { + bossBar.setProgress(1.0 - progress); // 蓝队失守进度 + } + } + } + } +} diff --git a/src/main/java/org/start/player/cuan_song/chuan_song.java b/src/main/java/org/start/player/cuan_song/chuan_song.java new file mode 100644 index 0000000..3ce79aa --- /dev/null +++ b/src/main/java/org/start/player/cuan_song/chuan_song.java @@ -0,0 +1,45 @@ +package org.start.player.cuan_song; + +import org.bukkit.*; +import org.bukkit.entity.*; +import org.start.run; +import org.start.data.worldSpawnItem; + +public class chuan_song { + + private static run plugin; + public chuan_song(run plugin){this.plugin = plugin;} + + //定义传送点位置 + private static Location redLocation; + private static Location blueLocation; + private static Location stopLocation; + + //初始化 + public static void initLocation (){ + redLocation = worldSpawnItem.getRed(); + blueLocation = worldSpawnItem.getBlue(); + stopLocation = worldSpawnItem.getStop(); + } + + //红队 + public static void toRed(Player player){ + if (redLocation != null){ + player.teleport(redLocation); + } + } + + //蓝队 + public static void toBlue(Player player){ + if (blueLocation != null){ + player.teleport(blueLocation); + } + } + + //退出传送 + public static void toStop(Player player){ + if (stopLocation != null){ + player.teleport(stopLocation); + } + } +} diff --git a/src/main/java/org/start/player/main/model/def_path.java b/src/main/java/org/start/player/main/model/def_path.java new file mode 100644 index 0000000..c208721 --- /dev/null +++ b/src/main/java/org/start/player/main/model/def_path.java @@ -0,0 +1,45 @@ +package org.start.player.main.model; + +import org.bukkit.Location; +import org.bukkit.World; +import org.bukkit.configuration.file.FileConfiguration; +import org.bukkit.plugin.java.JavaPlugin; +import org.start.data.worldSpawnItem; + +public class def_path { + private static JavaPlugin plugin; + public static void def_path_(JavaPlugin plugin){def_path.plugin = plugin;plugin.getLogger().info("def_path 类初始化操作已完成");} + + + private static Location captureStart; // 占领区域的起始坐标 + private static Location captureEnd; // 占领区域的终止坐标 + + public void initPath(){ + FileConfiguration config = plugin.getConfig(); + World world; + + // 获取区域的起始点和终止点坐标 + double startX = config.getDouble("capture_area.start.x"); + double startY = config.getDouble("capture_area.start.y"); + double startZ = config.getDouble("capture_area.start.z"); + + double endX = config.getDouble("capture_area.end.x"); + double endY = config.getDouble("capture_area.end.y"); + double endZ = config.getDouble("capture_area.end.z"); + + + world = worldSpawnItem.getWorld(); + // 假设玩家所在世界是默认世界 + captureStart = new Location(world, startX, startY, startZ); + captureEnd = new Location(world, endX, endY, endZ); + } + // 获取起始坐标 + public static Location getCaptureStart() { + return captureStart; + } + + // 获取终止坐标 + public static Location getCaptureEnd() { + return captureEnd; + } +} diff --git a/src/main/java/org/start/player/main/model/redAtEvent.java b/src/main/java/org/start/player/main/model/redAtEvent.java new file mode 100644 index 0000000..2f16afc --- /dev/null +++ b/src/main/java/org/start/player/main/model/redAtEvent.java @@ -0,0 +1,13 @@ +package org.start.player.main.model; + +public class redAtEvent { + static boolean b1; + + public void first() {b1 = false;} //初始化,防止为空 + + public static void setB1(boolean b){b1 = b;} + + public static boolean isAt(){ + return b1; + } +} diff --git a/src/main/java/org/start/player/main/model/shi_fo_at.java b/src/main/java/org/start/player/main/model/shi_fo_at.java new file mode 100644 index 0000000..3e76625 --- /dev/null +++ b/src/main/java/org/start/player/main/model/shi_fo_at.java @@ -0,0 +1,43 @@ +package org.start.player.main.model; + +import org.bukkit.Location; +import org.bukkit.entity.Player; +import org.start.data.TeamManager; + +public class shi_fo_at { + static Location start = def_path.getCaptureStart(); + static Location end = def_path.getCaptureEnd(); + + + // 判断玩家是否在占领区域内 + public static boolean isPlayerInRegion(Player player) { + + Location playerLocation = player.getLocation(); + + double minX = Math.min(start.getX(), end.getX()); + double maxX = Math.max(start.getX(), end.getX()); + + double minY = Math.min(start.getY(), end.getY()); + double maxY = Math.max(start.getY(), end.getY()); + + double minZ = Math.min(start.getZ(), end.getZ()); + double maxZ = Math.max(start.getZ(), end.getZ()); + + double playerX = playerLocation.getX(); + double playerY = playerLocation.getY(); + double playerZ = playerLocation.getZ(); + + // 判断玩家是否在区域内 + boolean b = (playerX >= minX && playerX <= maxX) && + (playerY >= minY && playerY <= maxY) && + (playerZ >= minZ && playerZ <= maxZ); + + + String teamName = TeamManager.getPlayer(player.getName()); + boolean r = "red".equalsIgnoreCase(teamName); + if (b && r){ + return true; + } + return false; + } +} diff --git a/src/main/java/org/start/player/main/run_.java b/src/main/java/org/start/player/main/run_.java new file mode 100644 index 0000000..65c4b3a --- /dev/null +++ b/src/main/java/org/start/player/main/run_.java @@ -0,0 +1,83 @@ +package org.start.player.main; + +// ----------- > > > 本类是插件核心调度类 < < < ------------ + +// 统管bossbar模块,用于控制玩家 +// 管玩家区域事件,监听玩家是否位于某一区域 + +import org.bukkit.entity.Player; +import org.bukkit.plugin.java.JavaPlugin; +import org.bukkit.scheduler.BukkitRunnable; +import org.start.player.bossbar.boss_bar_runs; +import org.start.player.main.model.redAtEvent; +import org.start.player.main.model.shi_fo_at; +import org.start.print; + + +public class run_{ + + private JavaPlugin plugin; // 插件实例,用于访问服务器的API + private double redTeamProgress = 0; // 红队的进攻进度(0-100),初始为0 + private boolean gameEnded = false; // 游戏是否已经结束的标志 + private static boolean b; //用于判断是否有玩家在目标位置 + + public run_(JavaPlugin plugin) { + this.plugin = plugin; + plugin.getLogger().info("run_ 类初始化已完成"); + _start(); // 启动任务 + } + + // 开始定时检查红队进攻进度的任务 + public void _start() { + print.command_p( "i","计时任务正在运行"); + new shi_fo_at(); // 初始化判断类 + new redAtEvent().first(); //初始化,防止出错 + + // 每1秒钟检查一次红队玩家是否在目标区域 + new BukkitRunnable() { + + @Override + public void run() { + + // 如果游戏已经结束,停止定时任务 + if (gameEnded) { + cancel(); // 停止任务 + return; + } + int redTeamPlayersInArea = 0; + // 遍历所有在线玩家,检查红队玩家是否在目标区域 + for (Player player : plugin.getServer().getOnlinePlayers()) { + if (shi_fo_at.isPlayerInRegion(player)) { + b = true; + } + } + + if (b){ + b = false; + redAtEvent.setB1(true); + redTeamPlayersInArea++; // 如果红队玩家在区域内,计数器加1 + boss_bar_runs.onRedTeamProgressChanged(redTeamProgress); + }else { + redAtEvent.setB1(false); + } + + + // 如果有红队玩家在目标区域,增加进度 + if (redTeamPlayersInArea > 0) { + redTeamProgress = Math.min(redTeamProgress + 0.5, 100); // 红队进度加1,最大为100 + // 如果红队进度达到100,游戏结束 + if (redTeamProgress == 100) { + gameOver(); + } + } + } + }.runTaskTimer(plugin, 0L, 10L); // 0L 延迟,20L 间隔,表示每1秒执行一次 + } + + // 游戏结束,触发游戏结束相关操作 + private void gameOver() { + gameEnded = true; // 标记游戏已结束 + plugin.getServer().broadcastMessage("游戏结束!红队胜利!"); // 广播游戏结束消息 + } +} + diff --git a/src/main/java/org/start/player/pCase/pIdName.java b/src/main/java/org/start/player/pCase/pIdName.java new file mode 100644 index 0000000..3945c68 --- /dev/null +++ b/src/main/java/org/start/player/pCase/pIdName.java @@ -0,0 +1,7 @@ +package org.start.player.pCase; + + +// 控制玩家头顶的名字状态 +public class pIdName { + +} diff --git a/src/main/java/org/start/player/pCase/run_.java b/src/main/java/org/start/player/pCase/run_.java new file mode 100644 index 0000000..f30499d --- /dev/null +++ b/src/main/java/org/start/player/pCase/run_.java @@ -0,0 +1,9 @@ +package org.start.player.pCase; + +// 主类,用于控制: +// 玩家头顶的名字系统 +// 玩家抗性系统 +// 玩家血量系统 +// 玩家盔甲颜色系统 +public class run_ { +} diff --git a/src/main/java/org/start/print.java b/src/main/java/org/start/print.java new file mode 100644 index 0000000..68c780c --- /dev/null +++ b/src/main/java/org/start/print.java @@ -0,0 +1,45 @@ +package org.start; + +import org.bukkit.Bukkit; +import org.bukkit.ChatColor; +import org.bukkit.entity.Player; +import org.bukkit.plugin.java.JavaPlugin; + +public class print { + private static JavaPlugin plugin; + public print(JavaPlugin plugin){print.plugin = plugin;plugin.getLogger().info("print 类初始化操作已完成");} + + public static void command_p(String type, String msg) { + if (type.equals("w")) { + plugin.getLogger().info("\033[33m[Waring] \033[0m" + msg); + } else if (type.equals("i")) { + plugin.getLogger().info("\033[34m[Info] \033[0m" + msg); + } else if (type.equals("e")) { + plugin.getLogger().info("\033[31m[Error] \033[0m" + msg); + } else { + plugin.getLogger().info("\033[33m[Waring] \033[0m" + "意外的输出调用" + type + "(信息内容:" + msg + ")"); + } + } + + public static void player_p(Player player, String msg){ + /** + * 负责玩家的消息发送 + * + * @param player 玩家对象 + * @param msg 使用&作为转义符, 字体类型:l加粗 n下划线 o斜体 m删除线 r重置效果 + */ + String msg_ = ChatColor.translateAlternateColorCodes('&', msg); //转义 + player.sendMessage(msg_); + + } + + public static void boardChat(String msg){ + /** + * 负责广播消息 + * + * @param msg 使用&作为转义符, 字体类型:l加粗 n下划线 o斜体 m删除线 r重置效果 + */ + String msg_ = ChatColor.translateAlternateColorCodes('&', "&e[server] &f"+msg); //转义 + Bukkit.broadcastMessage(msg_); + } +} diff --git a/src/main/java/org/start/run.java b/src/main/java/org/start/run.java new file mode 100644 index 0000000..c558356 --- /dev/null +++ b/src/main/java/org/start/run.java @@ -0,0 +1,71 @@ +/* +* +* 本项目已于 2025.1.20 存档,目前停止开发 +* +* ===================================================================== +* +* 当前进度 +* player -> main -> event -> say 待修复 +* tip: 目前存在异常输出的问题 +* +* +* player -> main -> pCase 当前开发进度 +* +* ====================================================================== +* +*如果你认为项目能帮到你,并且你可以继续完成剩余的开发工作 +*亦或者你想看到项目的最终成品,想要 Da_nuo & BRanulf_Lode 继续完成开发,我们会考虑 +* +* +* 感谢! +*/ + + +/* +本项目进入静默开发阶段 >︿< + */ +package org.start; + +import org.bukkit.event.Listener; +import org.bukkit.plugin.java.JavaPlugin; + +import org.start.command.commandTab; +import org.start.command.command; +import org.start.player.cuan_song.chuan_song; +import org.start.data.worldSpawnItem; +import org.start.player.main.model.def_path; +import org.start.player.bossbar.boss_bar_runs; +import org.start.player.main.run_; + + +public class run extends JavaPlugin implements Listener { + + @Override + public void onEnable() { + saveDefaultConfig(); //加载默认配置 + + // 截至目前,加入队伍后出现报错,可能是管理进度条的类出现问题。 + + //开始初始化 这几句都是爷,必须最先初始化 + new print(this); // <------- 初始化信息输出类,位于当前文件 + new worldSpawnItem(this); // <------- 初始化传送点获取类,位于data + def_path.def_path_(this); // <------- 初始化玩家占领点获取类,位于player -> main + new def_path().initPath(); // <------- 初始化占领点位置 + new boss_bar_runs(this); // <------- 初始化进度条类,位于player -> main + boss_bar_runs.main_runs_(); // <------- 实例化进度条辅助类 + new run_(this); // <------- 初始化核心调度类 + + + new chuan_song(this).initLocation(); //初始化玩家传送点 (这个this真的给我整红温了) + + + // 开始注册监听器 + getCommand("war").setExecutor(new command()); //注册命令执行器 + getCommand("war").setTabCompleter(new commandTab()); //注册命令补全器 + + //getServer().getPluginManager().registerEvents(new set_spawn(this), this); //注册玩家加入队伍后管理传送的监听器 (重生后移动) + + getLogger().info("\033[92m" + "守塔模式 插件加载成功!" + "\033[0m"); + getLogger().info("\033[92m" + "作者:Da_nuo & BRanulf_Lode" + "\033[0m"); + } +} \ No newline at end of file diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml new file mode 100644 index 0000000..f439750 --- /dev/null +++ b/src/main/resources/config.yml @@ -0,0 +1,44 @@ +#========================================================== +# +# -------->>> 守塔模式 - 内部插件,请勿外传 <<<--------- +# +# +# 作者:Da_nuo & BRanulf_Lode +# +#=========================================================== + +#世界名 +world: world + +#指定进攻方玩家的重生位置 +red_path: + x: 0 + y: 50 + z: 0 + +#指定防守方的位置 +blue_path: + x: 20 + y: 50 + z: 0 + +#指定玩家离开时的位置 +stop_path: + x: 0 + y: 50 + z: 20 + +#指定检测区域,当这个区域出现进攻方玩家时,即判断有人开始攻占。 +capture_area: + start: + x: 100 + y: 65 + z: 100 + end: + x: 110 + y: 70 + z: 110 + + + + diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml new file mode 100644 index 0000000..15416ad --- /dev/null +++ b/src/main/resources/plugin.yml @@ -0,0 +1,14 @@ +name: keep_mode +main: org.start.run +version: 1.0.0 +description: 可以为服务器提供一个守塔模式,用于守塔玩法。 +api-version: 1.20 +commands: + war: + description: 打招呼的命令 + permission: war.player + +permissions: + war.player: + description: 供玩家进行队伍选择 + default: true diff --git a/target/classes/config.yml b/target/classes/config.yml new file mode 100644 index 0000000..f439750 --- /dev/null +++ b/target/classes/config.yml @@ -0,0 +1,44 @@ +#========================================================== +# +# -------->>> 守塔模式 - 内部插件,请勿外传 <<<--------- +# +# +# 作者:Da_nuo & BRanulf_Lode +# +#=========================================================== + +#世界名 +world: world + +#指定进攻方玩家的重生位置 +red_path: + x: 0 + y: 50 + z: 0 + +#指定防守方的位置 +blue_path: + x: 20 + y: 50 + z: 0 + +#指定玩家离开时的位置 +stop_path: + x: 0 + y: 50 + z: 20 + +#指定检测区域,当这个区域出现进攻方玩家时,即判断有人开始攻占。 +capture_area: + start: + x: 100 + y: 65 + z: 100 + end: + x: 110 + y: 70 + z: 110 + + + + diff --git a/target/classes/org/start/command/command.class b/target/classes/org/start/command/command.class new file mode 100644 index 0000000000000000000000000000000000000000..6129d39d188e75483d96838018ff3bc687e1949d GIT binary patch literal 3546 zcmb7H?N=1n8UJ0_Wrk%Ux)H;wu^Xc+sL2|QFIl2SDZX{V1P~gHC9})8tSmE|nOO|2 zZM4Rh8i_Tw$1}!3D>^VLC($mu~{R4VV&+Y+@PC1y6)mU(M14BTE$JwmN19UcWC zkU94-{oq=9useI}>d2M8Z->u}-oBT9_-Lf(hCg^n*8OctBI!>Lof!S%YWC9I%(Y$* z7GR-(rzI@H_ZUh!Cc~6w z=?_HqPiTvHfnf=GF?;8H$a3UCEw1`?rPZG~eK~Xd^U+6_vON#7AKn+ShGDUvK9g#Z zL`re=#xC^JnwH*L2Cio78K#!>k6eF{89tJWNyK{cAYV(wOAO)k!^>kI9~r%VG<)V` zrmr_WcqBdeRrc5&lGr##dfy$p@M(IuJ0Np(p$S}mKS%NHaPI^H9+N5wFJmJ)(A2`( zAw{uRUU<$P+bggWeIC?<3E7(*amqRiZZ zmkRzh3H5yXQyp@p|YOP^U#tsRq@SrrNIBMTx{6DI!WCqh!k5>z|gtUNF4IN#THm7_Y73h$ic;oV`TE zDH(YhaWAz?NN^Vwnc7woiBPARoJceg#2w|?k1l7=pR$wF=B2Td-J`e9i=aTec>aqZ zx+%9&%`64JW~YQh&YBH0f%~IN!jHLV&iEd~irlI2O?rvgX(v1IQwcxgsV3=4ht{ds zt`Ko#0+h{~xu696oWVEg->BBnA*-!Hrxoxn6*(Vv4uSFUYFn@7Z6%sAIn}$WwN|2} z(r{c=>QWsMMQ@ZN36gljT2xLn$$Ff>J3^P)7N>YEuxQq1;c?4OTSWoURA(8615@&C zT-Otq24r=U5TF7TmJ!JuBU|zC|AG4eTh`7MP!LaZ# z>az7d8e8caFbUMnXp-wXIP zga5lDYC{+Bsl!bZ=bk)Y_GxeMZ`BwM~vvV$mKhue+*7eM}(}4rIG{fv7%e?o9ia&F$ z+a@0ox9B=F^8S~Zz5zCkk3`(2N_56%vI2Q{r>fGym5>cXF$DAzY0q$AKEDXK%dqJ2 zs+3!{6Y&g=5}hy{qceoJbXTP3ae50<%cylPzX$fUHGG1ed>EL8lk}8q1)Rb!=#Akt z-lHc?E?h*$N=S5O#qS}6-2EsH74@SuB=o}@68ljWD)za)>4oHTd&>tgzwoBdRk+&g zAHd>^SVh8$`&eE8>O4=Q)T|nRUp?M=(dxMDiR-M1eNshuL)DE<-uy)1RM?$YofFO6skp^w@;OsG*xt9hT75 zVJY6En{EWlp<)G6bW1&q=jaq#Mfvao&S5n^A=~|U5qGf;_pu&-#0LBsFX68U;qRzI znk@bUoAEEa!b-7)&7teoJcWP@obo5fM7?;S0>rnh(a+OEGQ2`$d z_(Z_70xk;>1TJ*`fej1(jkPouTp9c)#0|9a6`Eau&v4a>L?Nyb!mq67P3zf*-_nSO Mq+jC>eh1(G0D+Y;&;S4c literal 0 HcmV?d00001 diff --git a/target/classes/org/start/command/commandTab.class b/target/classes/org/start/command/commandTab.class new file mode 100644 index 0000000000000000000000000000000000000000..eaa018fb3c008fc2a8aff6e69fc928f20e5878d0 GIT binary patch literal 1443 zcmc&!+fEZv6kUhTFzrxoQ;HNp1QA+GxKC5nvTENi1W;s?+Vo2l*8yb=fnaC*&EZcnGd3?8Q`GF1%i6jOXlx^2?bPQrh z!*CiS80|<~2|UYbFz9~3y};kJf-Qz@zI;-+?NKbe8bAhP8nS7O;|#;lNm*Hu2=RLT zRBW3x#U_y>Dt_R$k~mAJEn&ALsp&M%MU2FoklX&_hU0o-o%ov@Xt66iKP43i>_ZPgXVS!;rdQ`)m9V<9CnPgjcn=M-e!lP{KZe1`8mn}y; z4VzWrk=-W5D7!UoZ*b3&_ZU=yEz4&(SMF80$S~+Sf0SVe^HIbpCPYJ$t_Y_tykZZJ zV)qDMcSD6X6b)Zafq3-$QErC09@*pi3|g!rDci%H(yBJE3R`N_^=Xiz+-s0VnZGb( z7@!hTddqdlXQZ3)c&F^Utz+ruPx-EO*DgurD*>2?etiB*+u^^c~vEL!?&KoN}b>%f)O{4C$(z+Wo}6QfF9-B$B6VxK4e`(=u*Q=km0In^Yx*54eTf kB8lTuyM|fK;JUBtip1ocTMjQ2zIyInq){VSdJwZ8Isd88yTdL(V!d1!eAJ6y}Id3 z?n!ftOKz?U-dyDluM3YM*RuJp@IqOOVXzW_x20v9tGrdpB9B20Lk3QxK26Jzx!<6w>oAcdTB=sv;j--shO0;WVj)(`6G>VuF$|R5Eixah zSdLh0H#e!(_@+&gLdC6ddxLwHx<|qR*|4b6=PTV3^|mZwW_%%U2W`ushyA<8n*nBb zGNPy$(vtdpeYZv5GgPMo!@T8(#}!94e-F&da-EOz~3`neUM+_B3ebhgV>Gx^s2%^kwyJ|^M zN@JBF|IgPybbkDWb-w(r^ZEBIjav*Op=_LuclI7Xy??*+#s1R=-~RpkSH$p&;|Q;8 zbKe)fhL0GgjDJFiWHscVWss7Nle-q z?Wbn@Rln?SFhAMD%RfU? ojMDQ&YgnNyc`DN_fp_s9?Rh#akwzt0*KnI;I^91+6(8f=e={7-od5s; literal 0 HcmV?d00001 diff --git a/target/classes/org/start/data/worldSpawnItem.class b/target/classes/org/start/data/worldSpawnItem.class new file mode 100644 index 0000000000000000000000000000000000000000..c23c11be58f9db03f4d5dcaf7d47509d37480b4b GIT binary patch literal 3330 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 literal 0 HcmV?d00001 diff --git a/target/classes/org/start/player/bossbar/data.class b/target/classes/org/start/player/bossbar/data.class new file mode 100644 index 0000000000000000000000000000000000000000..43f1f5e1ee78cc28c7c979b6376d34bf3cfd5462 GIT binary patch literal 971 zcmah{-EI;=7(K&3xcn3lwOWz3TG(3l0Z?OKVB#_J^Wg(4>K;=SylFmfVJm;-@p+=EF z=7~S^qh|uic4wGJ4*4t!7H+^2*bB7hgpt&dGoQ%MN;_^4hOX4kSVmHytkw8T$>}>C zcv^*_faseRB@1PPueg(i`oF*&?pUazM(})vdM#(tQ(B-kxRP&5$x8P!&p+^9968*g zV$v6I2fJC^wQvu60?lhW2$U9cidSpNjrL&e%4wwinb+%ghB-6^Qsx2zhwW>Xb%v~d z8H`z79{4l$W-)b@K9lZ*JJmrjl9Qp-zR6dcspz9m$C_8SHYWFo4psDi)96&28U=EH zO=Ow3rHqf-7pU>*#l}+z6i$PM9;sKpk(f7RU1J1VbT>hdlZ^ZZTqVqN#xq}za|(k0 z=>cPl*?C+E)a~yOc4>*MU0$MSA1_h)8l(0Z8$`P=lLv@KtwPCVvxE&|=8H-Fd`77k!VedNC-^2-3 zt@*qE_`7IRnc?riUhzA0L6ARfXufcffVoyC-rSAb7zhhiZ3K?Df{UBr=2r0InBwFQ Dd}F@) literal 0 HcmV?d00001 diff --git a/target/classes/org/start/player/bossbar/manger.class b/target/classes/org/start/player/bossbar/manger.class new file mode 100644 index 0000000000000000000000000000000000000000..402c75cab610a73b6f76376d5ffa822b461b1b2e GIT binary patch literal 2802 zcmai0TUQfT7~Lm<3?#!X0)ke>S|tgWDAv{z#R_=ABA`L6+KZDg4I?3mlL-~=y|$&b zt$p{XFBVgp8DAp2ZVEIz_EDNgHM1ztGFe3? zYCc3-gb`EXYBVxkQ+NxbYiXXxx6I+4VJ_!W_0^2uXb2_VKLWtv_f7br}z`ms|`5La4+ifJ+r#D)KjUS5KiEA1t(REVr(xZ;Z}Bt7>{YpAS;hOf#U$r!b8T{56`1j)k;!RR$z=YH zIr`dRaD2M2-ehiUCAVQl*c?>e)7D!|*617=jpgTgT+1X?oGLA)baPfq$qElo=F?hs zPBRVp?i%Z?1%oQ@wZZ@6J|Kg(_42LOc)W&HP3u9S0>X-V`C;&)~mL-h%dumn#HT?DcKbab1r)e11U7CHQUsj@VO(*e_77 zJVoPU1Y>=V(fXskKS3{~31llkU4-;$@_KUf!K#3>>7qhX^{vQx9VhM{JHg4)i+5xXW=H ze{x7>KATws#2N<4jFi5?J%^a+C9Xo`RagHqSUF`F0>gFPb!FrQ9$-nXN`h=>hU@#> zd_-g@-SxK2l~{%Y-GOHabq6ALIv(O+pPQ-PExnt%11*t^lYNiHRvEXGJWp0M} z1M>_-*L7O8GbnSp iif{3qt5XN+*RV}NVNKr4Grs5Of6h+=-_y~D`~Lu&?Y=Mo literal 0 HcmV?d00001 diff --git a/target/classes/org/start/player/cuan_song/chuan_song.class b/target/classes/org/start/player/cuan_song/chuan_song.class new file mode 100644 index 0000000000000000000000000000000000000000..5a349e422f23ab66c77d100e7f2b3cdfd0d5fd27 GIT binary patch literal 1177 zcmaKqTTfa+5Xb)u2m(hz6tyVUORa#`)B7d#lC(*aCiarjXwsKvfejuxoEtL6pN@R<7#!0rh&h zG*)H#vp}xz>NlHPS3VSoz4DuiyXtuAU3gko!6#XF=_bcA+(Q{Sd>&lJ^s&}0SH_b0zQF)~rql%`@e?g#dxtgnS0y8x&8|}BUGf)@TK6jsntbOjR zK&s}4K|{TExT4JHKkf4;#RhdgLZ3K>6n{qArFibf((H_-v5=htX-ApX3Y}h%<-By| z2Snv)w}-?xI!3TdYn+_q!XB-Q{V?3ZKArfMpAksHHgODlWa5GO3(WL*UFxB5fnpEq z3>5~NBaOfUCFKdQh#Zy(avOKZ&yWLph@YMNj`=^BsgU`Jtq6`75jBWevcL)1AHIhg0 F_&-Wb>Y4xm literal 0 HcmV?d00001 diff --git a/target/classes/org/start/player/main/def_path.class b/target/classes/org/start/player/main/def_path.class new file mode 100644 index 0000000000000000000000000000000000000000..f6db20099747bd01eebccd70ea19e945057a1c06 GIT binary patch literal 1805 zcmb7EU2_vv7=BKhbd${{#pRIq`|C+7HCRE8&GP1YA{e>rn619VIke^EF1aw z1?Cga3l@IlBp@OgiGtdCz&y`}w@@Ie)$Q{Z9a=ab3j# z1{Fj!L@^|=>z4VAX*5lzVO(0dWz~Fvp;_Cp{W*cbY_1wd3~>djh6FT$G1qGtcYM?H zjrFE^-|~z#({_xywYt1+`ZsC3-fT5&M_{rnRaaWKZ`)E=f<_Q)fdLnTb5TVK!wPn3 zcni9~#D7`{#2c1hb{h@L6By0r%7M$4Z#Ru5QJZCix5XIt2psMvHvZ3(XYGfN+dqHX ze)Qw>AHMthkDuCG8|_~nJ%9MUihUSSkk;@v_6wwUaw!n8omE$0Z#E1YuvYOsMlI&5 zvY1f~2Qe0AIqy2Fc0=Gev+OCX7Qijf^ljHMR_&%`oZ}K|cVH$zF0iL&uKO*|S~fk) zECi$%?x}bOlL`)Nco!J~<9~V%Q!BZxm8P{rA*C3y{e$0+VXFVlgBXqq=-U#uoO$E5z z%O@H>l?H0Z;H<;sBJ*yYd=Hmx$GX^BTd};$X3zm$+BU1EXUlU3jQBV0I|AcDjIjEC zkBzCvyYsy)kl9wo4lgcOC28_`FNUu*oJN6Tz4g4&hzdl5Zm^BLwjq7|2ZFq>3W!qo zu+-gLBO#m)UP?h&3WCGz=6pEw9hyhBH}xga0?Ajp0mEv=ZFx0IJ|$juX(`CJj0v`7 zfWO}$RQZc>r^==VlD(pgg5_X{>pV{erI6^<7Q_>722kQEuYowua@9fwoWo}U_BqZI zk;W&fE%j1UPoYe0BB}4*#NOAvBznB0I!OsEyiDN*;|$ZwjSVQ9I8e^(hc+>>kk^k; zoQmf4oRmsl&r2E4>+eaK$m@ob$=`77!ZVy$I+{yI)5;c3J;iKrPRG-UbTR#bR8_baTbr?|aHNHTZmCsP;0xpt; z6xT~wB<=gC^(A*vdY!{p+$r=ujS6>hMkwGicL^dH`dLJhXcbpFjE)9;0+9{O{>qr5 XryCh+UhSuO=5@_H?UragfNTE(1jD-> literal 0 HcmV?d00001 diff --git a/target/classes/org/start/player/main/demo.class b/target/classes/org/start/player/main/demo.class new file mode 100644 index 0000000000000000000000000000000000000000..6e1b0913b5095e5bc52f9067f2a0af479c3acea5 GIT binary patch literal 281 zcmZ`!Jx>Bb5PfqWoE#{`(%9H31^WX~8xyJv78?4wV}ncXZppHc__M4?DEtBZD8nqF zbtZW;?@jV%=JmIG!f?eqRyDUv^v-4_Q^S5@YVbiLGZY&{rvkOfa6sFa)ZBuIZ$z?6dZDA{}=j=@27cuc)W<$6y z{O(lRK;c literal 0 HcmV?d00001 diff --git a/target/classes/org/start/player/main/redAtEvent.class b/target/classes/org/start/player/main/redAtEvent.class new file mode 100644 index 0000000000000000000000000000000000000000..d40d884d0885c89e31990f192282253a253b90f0 GIT binary patch literal 450 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 literal 0 HcmV?d00001 diff --git a/target/classes/org/start/player/main/shi_fo_at.class b/target/classes/org/start/player/main/shi_fo_at.class new file mode 100644 index 0000000000000000000000000000000000000000..fe1aa26ea969bd6f5894a7d1c792bb5f64125d8f GIT binary patch literal 1712 zcmaJ?U2hvj6g}gwbv7HvICkQcwjqI}>lC_thPqBmY1~2}NkbDtlLBFEZ=Fr-by%-a zDkOdZ;uR{?XI?6#ey9W<=xfCb5<>h0en#QU+G%1nV9PUi?wq;z&Y3gg-yZ++D}b{o z=?EdLAz~nkm_Tw-gsc!e(xz7jg7x&<*s$5Xd&Xs#R)j zZ8^SWyT0S!uoi3bhV2RTR&9T-QI@{ba0Q0U+}r`|-bA4X3G{178h8dNff0pi`qJ~Q z?I4a-myT;SH=OnBjdjUtqQR^{=Fo6D(#U8SG%$p$z`!9X1tP5MYOtN6N`J(_vnqGk zb}KrL;kbqo1J7YpAhFNJy!1DSsXN?E)GQWrMTLFdzzYf(uFD;jd&0m8l~|=%RgRp2 z$vwxKBJV{5FX5DcM#O@w+X87)v!7?l_Z+uc(D5=}(eSE)*YLW)k$qk&(wEkyYqqOtEOs=7vurui=b=0;ao;zg-Aj_UA2GYtB~PhG);nCM(Vy zmSj!GIlQIeyn(lsG>-3=eDEkM_VxAcfXjZCJtMdMmS-=i6IbhJ3>4MkzWuq2ZiRf# zG%8HoKj*miLaSb~y=7Ud(UVe2s;x-RQR9v?;%_)jfzd!B|D&b?cjq+Q)XlnA>}nv@ zW9C6=b*Z|LTjPCbZ-z}#K*J;1nM~@9;miZPIW?F`--MnSyoqS!cK9}T77p0BfF$iCG!i(30hq`j zk3lk##Wf70Mru7A#SY(;ulV-d$2cBh0+0Bd{6X}ed_@$K-|$e#7UnR|Uc>KLU_?Hz zL|?`txi|46KA;t0{9Cv}E5gYq-kq zB4gjj7*?^yr|coKT*Jq#{1LIA&^JgtI3NB8chIXLt|1-X`vB*~W4?_VPE)8@e0-wzlKHoI|mgTtd^ zRUGT+Or4H)^uZZt>Ql9KhFYxn?%&Zs-})aop1n!S0zu{Ba`&8bzweyyoO|=v-z%#C zUPjJ~DpV_|@nIKg8Jgz#0*`21&qOXJ=S9k9s6DOfsy)b1-P1c&2M_8LczvjckHK%4 znTTa`(~jg#Rd=HES|OwA42R>6FImWDRdPyWM1o%+hH?2F^`a4e1x-FQBfxOzKTj~! zWrQ6!G8thq?Crz6u0d1!7bf+(&Z7U zybEB5vF@FsX>lr~3ldj#F;>VWg*nNS8d(ByBgM5TZmQ0A*;r%GsU%0Uyfd!*6s3Vr z8Mz$S(=&NTuI*}Vw@7+>F)zvFJiGfw_c&)|7#b#Qp308$d^rVAUMlF&M0(tJcay-; z%5-$=OY*nxe3CRF;u)$aX>c>`3<-mG!YG(2F|0b$c;#*FcT%RN3>k)P(fH&?g*|7a zEq^WE^5Sh=R*-Op_Z^z*jp|f=!N`h8sa2&*Gt5)AVJ#x* zdo&H?IFUz~-;2TKqC{9*0GpNpS-T)ch%@q?RW`pkn_hQ@A@u!OlF2)TQfG5AJwU6?VATb8gC zs0>H8XG1&(fU^_E@zp+IPhtFP>8DdB_&=virUa;%m)c2S)`1Le_(4)_s7 z6Hd}^-x55!uIR2=RoFpl>`O@#0oE;Ro;o_yu*;xBdgfnYA6aN)Rt+&Y5%0cdj#k{qx74 z0IuQ-6FulP5V3Fo2N}jazij7&d-oh=SKXlONc&5^&h48-7DJig;1x$Y>K%sOL^5k4 zibDoW3x~CTpZ2dQ?kn35B*Q?BuZww6;(@E?JXvze2KpHKyJl72k;;UHex1TmhRHOt=RwC)g!LGb^W) zFV3mZvb0-E()LRmc#~nMn_CBRZ*}CWB)?n7dlY0o_F)}2LuQefZoZdsgmN211ViYf vAL=-UiH^`uF-k9Z3^Vj`%;F3dFp0aEg1|H+&S8VJ-5NJ{Yy6zhda(L0!C9O_ literal 0 HcmV?d00001 diff --git a/target/classes/plugin.yml b/target/classes/plugin.yml new file mode 100644 index 0000000..15416ad --- /dev/null +++ b/target/classes/plugin.yml @@ -0,0 +1,14 @@ +name: keep_mode +main: org.start.run +version: 1.0.0 +description: 可以为服务器提供一个守塔模式,用于守塔玩法。 +api-version: 1.20 +commands: + war: + description: 打招呼的命令 + permission: war.player + +permissions: + war.player: + description: 供玩家进行队伍选择 + default: true diff --git a/target/maven-archiver/pom.properties b/target/maven-archiver/pom.properties new file mode 100644 index 0000000..510e1a6 --- /dev/null +++ b/target/maven-archiver/pom.properties @@ -0,0 +1,3 @@ +artifactId=untitled +groupId=org.example +version=1.0-SNAPSHOT diff --git a/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst new file mode 100644 index 0000000..09427ba --- /dev/null +++ b/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst @@ -0,0 +1,17 @@ +org\start\player\bossbar\manger.class +org\start\run.class +org\start\player\bossbar\boss_bar_runs.class +org\start\player\main\def_path.class +org\start\player\main\demo.class +org\start\player\main\redAtEvent.class +org\start\player\main\run_.class +org\start\player\cuan_song\chuan_song.class +org\start\player\main\say$1.class +org\start\player\main\say.class +org\start\command\commandTab.class +org\start\print.class +org\start\player\bossbar\data.class +org\start\data\TeamManager.class +org\start\player\main\run_$1.class +org\start\player\main\shi_fo_at.class +org\start\command\command.class diff --git a/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst new file mode 100644 index 0000000..b98c961 --- /dev/null +++ b/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst @@ -0,0 +1,16 @@ +D:\project\java\mc_spring_1.20\守塔模式\src\main\java\org\start\player\bossbar\boss_bar_runs.java +D:\project\java\mc_spring_1.20\守塔模式\src\main\java\org\start\player\main\run_.java +D:\project\java\mc_spring_1.20\守塔模式\src\main\java\org\start\player\cuan_song\chuan_song.java +D:\project\java\mc_spring_1.20\守塔模式\src\main\java\org\start\player\main\demo.java +D:\project\java\mc_spring_1.20\守塔模式\src\main\java\org\start\data\TeamManager.java +D:\project\java\mc_spring_1.20\守塔模式\src\main\java\org\start\data\worldSpawnItem.java +D:\project\java\mc_spring_1.20\守塔模式\src\main\java\org\start\player\bossbar\data.java +D:\project\java\mc_spring_1.20\守塔模式\src\main\java\org\start\command\command.java +D:\project\java\mc_spring_1.20\守塔模式\src\main\java\org\start\player\main\redAtEvent.java +D:\project\java\mc_spring_1.20\守塔模式\src\main\java\org\start\print.java +D:\project\java\mc_spring_1.20\守塔模式\src\main\java\org\start\player\bossbar\manger.java +D:\project\java\mc_spring_1.20\守塔模式\src\main\java\org\start\player\main\def_path.java +D:\project\java\mc_spring_1.20\守塔模式\src\main\java\org\start\player\main\say.java +D:\project\java\mc_spring_1.20\守塔模式\src\main\java\org\start\run.java +D:\project\java\mc_spring_1.20\守塔模式\src\main\java\org\start\command\commandTab.java +D:\project\java\mc_spring_1.20\守塔模式\src\main\java\org\start\player\main\shi_fo_at.java diff --git a/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst b/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst new file mode 100644 index 0000000..e69de29 diff --git a/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst b/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst new file mode 100644 index 0000000..e69de29