日常更新

This commit is contained in:
Da_nuo 2025-01-23 11:55:09 +08:00
parent dac207f91e
commit 1473eff517
24 changed files with 320 additions and 42 deletions

63
.idea/workspace.xml generated
View File

@ -5,7 +5,30 @@
</component>
<component name="ChangeListManager">
<list default="true" id="d798c0ae-2062-4ea5-bf30-aaf8022a4a74" name="更改" comment="首次提交">
<change afterPath="$PROJECT_DIR$/src/main/java/org/start/getConfig.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/main/java/org/start/player/pCase/p_IdName.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/main/java/org/start/player/pCase/p_heath.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/main/java/org/start/player/pCase/p_kang_xing.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/main/java/org/start/player/pCase/p_kui_jia.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/org/start/command/command.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/org/start/command/command.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/org/start/player/pCase/pIdName.java" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/org/start/player/pCase/run_.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/org/start/player/pCase/run_.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/org/start/print.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/org/start/print.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/org/start/run.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/org/start/run.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/resources/config.yml" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/config.yml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/org/start/command/command.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/org/start/command/command.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/org/start/player/main/def_path.class" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/org/start/player/main/demo.class" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/org/start/player/main/redAtEvent.class" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/org/start/player/main/run_$1.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/org/start/player/main/run_$1.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/org/start/player/main/run_.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/org/start/player/main/run_.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/org/start/player/main/say$1.class" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/org/start/player/main/say.class" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/org/start/player/main/shi_fo_at.class" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/org/start/run.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/org/start/run.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst" beforeDir="false" afterPath="$PROJECT_DIR$/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst" beforeDir="false" afterPath="$PROJECT_DIR$/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst" afterDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
@ -46,22 +69,22 @@
<component name="ProjectViewState">
<option name="showLibraryContents" value="true" />
</component>
<component name="PropertiesComponent"><![CDATA[{
"keyToString": {
"Maven.untitled [clean].executor": "Run",
"Maven.untitled [install].executor": "Run",
"Maven.untitled [package].executor": "Run",
"Maven.untitled [verify].executor": "Run",
"RunOnceActivity.ShowReadmeOnStart": "true",
"kotlin-language-version-configured": "true",
"last_opened_file_path": "D:/project/java/mc_spring_1.20/守塔模式/src/main/java/org/start/player/main",
"project.structure.last.edited": "模块",
"project.structure.proportion": "0.0",
"project.structure.side.proportion": "0.0",
"run.code.analysis.last.selected.profile": "pProject Default",
"settings.editor.selected.configurable": "inlay.hints"
<component name="PropertiesComponent">{
&quot;keyToString&quot;: {
&quot;Maven.untitled [clean].executor&quot;: &quot;Run&quot;,
&quot;Maven.untitled [install].executor&quot;: &quot;Run&quot;,
&quot;Maven.untitled [package].executor&quot;: &quot;Run&quot;,
&quot;Maven.untitled [verify].executor&quot;: &quot;Run&quot;,
&quot;RunOnceActivity.ShowReadmeOnStart&quot;: &quot;true&quot;,
&quot;kotlin-language-version-configured&quot;: &quot;true&quot;,
&quot;last_opened_file_path&quot;: &quot;C:/Users/Administrator/Desktop/demo&quot;,
&quot;project.structure.last.edited&quot;: &quot;模块&quot;,
&quot;project.structure.proportion&quot;: &quot;0.0&quot;,
&quot;project.structure.side.proportion&quot;: &quot;0.0&quot;,
&quot;run.code.analysis.last.selected.profile&quot;: &quot;pProject Default&quot;,
&quot;settings.editor.selected.configurable&quot;: &quot;preferences.pluginManager&quot;
}
}]]></component>
}</component>
<component name="RecentsManager">
<key name="CopyFile.RECENT_KEYS">
<recent name="D:\project\java\mc_spring_1.20\守塔模式\src\main\java\org\start\player\main" />
@ -219,7 +242,15 @@
<option name="project" value="LOCAL" />
<updated>1737360402600</updated>
</task>
<option name="localTasksCounter" value="18" />
<task id="LOCAL-00018" summary="首次提交">
<option name="closed" value="true" />
<created>1737361026740</created>
<option name="number" value="00018" />
<option name="presentableId" value="LOCAL-00018" />
<option name="project" value="LOCAL" />
<updated>1737361026740</updated>
</task>
<option name="localTasksCounter" value="19" />
<servers />
</component>
<component name="Vcs.Log.Tabs.Properties">

View File

@ -8,6 +8,7 @@ import org.bukkit.entity.Player;
import org.start.data.TeamManager;
import org.start.player.cuan_song.chuan_song;
import org.start.player.pCase.run_;
import org.start.print;
import org.start.player.bossbar.boss_bar_runs;
@ -56,6 +57,7 @@ public class command implements CommandExecutor {
boss_bar_runs.onPlayerJoinTeam(player,"red"); //为玩家添加进度条
print.player_p(player,"你已加入进攻方");
print.boardChat("玩家"+ player.getName()+"加入进攻方");
run_.joinRed(player);
return true;
}
}
@ -69,6 +71,7 @@ public class command implements CommandExecutor {
boss_bar_runs.onPlayerJoinTeam(player,"blue");
print.player_p(player,"你已加入防守方");
print.boardChat("玩家"+ player.getName()+"加入进攻方");
run_.joinBlue(player);
return true;
}
@ -85,6 +88,7 @@ public class command implements CommandExecutor {
boss_bar_runs.onPlayerLeaveTeam(player); //移除玩家的进度条
print.boardChat("玩家"+ player.getName()+"离开守塔模式");
TeamManager.removePlayer(player.getName()); //将玩家移出存储类
run_.stop(player);
return true;
}

View File

@ -0,0 +1,40 @@
package org.start;
import org.bukkit.ChatColor;
import org.bukkit.plugin.java.JavaPlugin;
public class getConfig {
private static JavaPlugin plugin;
public getConfig(JavaPlugin plugin){getConfig.plugin = plugin;plugin.getLogger().info("getConfig 类初始化操作已完成");}
public static double getDouble(String path, double def){
// 0.0 等于sb 或者本身需求就是 0.0所以直接返回 0.0
if (def == 0.0){
print.command_p(print.PrintEnum.E, "The target path " + ChatColor.YELLOW + path + " is empty or 0.0, and the default value is 0.0. In general, this is not a normal result");
return def;
}
double d = plugin.getConfig().getDouble(path);
if (d == 0.0){d = def;}
return d;
}
public static String getString(String path, String def) throws Exception {
String s = plugin.getConfig().getString(path);
if (s == null & def == null){
print.command_p(print.PrintEnum.E, "The target path " + ChatColor.YELLOW + path + " is empty, and the default value is empty. In general, this is not a normal result");
return null;
}
if (s == null){
return def;
}
return s;
}
}

View File

@ -1,7 +0,0 @@
package org.start.player.pCase;
// 控制玩家头顶的名字状态
public class pIdName {
}

View File

@ -0,0 +1,26 @@
package org.start.player.pCase;
import org.bukkit.ChatColor;
import org.bukkit.entity.Player;
// 控制玩家头顶的名字状态
public class p_IdName {
public static void setRed(Player player){
String red = ChatColor.RED+"[红队] " + player.getName();
player.setCustomName(red);
player.setCustomNameVisible(true);
}
public static void setBlue(Player player){
String blue = ChatColor.BLUE + "[蓝队] " + player.getName();
player.setCustomName(blue);
player.setCustomNameVisible(true);
}
public static void setStop(Player player){
player.setCustomName(player.getName());
player.setCustomNameVisible(true);
}
}

View File

@ -0,0 +1,43 @@
package org.start.player.pCase;
import org.bukkit.entity.Player;
import org.start.getConfig;
import org.start.print;
public class p_heath {
private static double heath;
public static void init(){
heath = getConfig.getDouble("heath", 40);
}
public static void setHeath(Player player){
double currentHealth = player.getHealth();
// 确保不会报 error
if (heath < 0){
heath = 0;
}
// 如果新的最大血量小于当前血量则调整玩家当前血量为最大血量
if (currentHealth > heath) {
player.setHealth(heath);
}
player.setMaxHealth(heath);
try {
player.setHealth(heath);
}catch (Exception e){
print.command_p("e",""+e);
}
}
public static void stop(Player player){
double h = 20.0;
player.setHealth(h);
}
}

View File

@ -0,0 +1,38 @@
package org.start.player.pCase;
import org.bukkit.entity.Player;
import org.bukkit.potion.PotionEffect;
import org.bukkit.potion.PotionEffectType;
import org.start.getConfig;
import org.start.print;
import org.start.print.PrintEnum;
public class p_kang_xing {
private static int duration; // 设定持续时间
private static int amplifier; //设置效果等级
private static double heath = 60.0;
public static void init(){
double amplifier_ = getConfig.getDouble("amplifier", 5);
amplifier = (int) amplifier_;
double duration_ = getConfig.getDouble("duration", 7200);
duration = (int) duration_;
if (duration == 5 & amplifier == 7200){
print.command_p(PrintEnum.W,"警告已传入的抗性持续时间参数为默认值57200.");
} else {
print.command_p(PrintEnum.I,"已加载抗性,持续时间的值分别为 "+ amplifier + " " + duration);
}
}
public static void setKangXing(Player player){
PotionEffect damageResistance = new PotionEffect(PotionEffectType.DAMAGE_RESISTANCE, duration, amplifier);
player.addPotionEffect(damageResistance);
}
public static void moveAll(Player player){
player.removePotionEffect(PotionEffectType.DAMAGE_RESISTANCE);
}
}

View File

@ -0,0 +1,49 @@
package org.start.player.pCase;
import org.bukkit.Color;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.LeatherArmorMeta;
// 考虑到游戏开始时仍有玩家可能佩戴盔甲因此游戏开始时移除盔甲
public class p_kui_jia {
public static void setBlue(Player player){
// 清空玩家的所有盔甲栏头盔胸甲裤子靴子
ItemStack[] emptyArmor = new ItemStack[4];
player.getInventory().setArmorContents(emptyArmor);
player.getInventory().setChestplate(createDyeableArmor(Material.LEATHER_CHESTPLATE, Color.BLUE));
player.getInventory().setLeggings(createDyeableArmor(Material.LEATHER_LEGGINGS, Color.BLUE));
}
public static void setRed(Player player){
// 同上
ItemStack[] emptyArmor = new ItemStack[4];
player.getInventory().setArmorContents(emptyArmor);
player.getInventory().setChestplate(createDyeableArmor(Material.LEATHER_CHESTPLATE, Color.RED));
player.getInventory().setLeggings(createDyeableArmor(Material.LEATHER_LEGGINGS, Color.RED));
}
public static void setStop(Player player){
// 清空玩家的所有盔甲栏头盔胸甲裤子靴子
ItemStack[] emptyArmor = new ItemStack[4];
player.getInventory().setArmorContents(emptyArmor);
}
// 创建染色的皮革盔甲
private static ItemStack createDyeableArmor(Material material, Color color) {
ItemStack armor = new ItemStack(material);
LeatherArmorMeta meta = (LeatherArmorMeta) armor.getItemMeta();
if (meta != null) {
meta.setColor(color); // 设置颜色
armor.setItemMeta(meta); // 应用更改
}
return armor;
}
}

View File

@ -1,9 +1,37 @@
package org.start.player.pCase;
import org.bukkit.entity.Player;
// 主类用于控制
// 玩家头顶的名字系统
// 玩家抗性系统
// 玩家血量系统
// 玩家盔甲颜色系统
// 玩家头顶的名字系统 -> ok
// 玩家抗性系统 -> no
// 玩家血量系统 -> no
// 玩家盔甲颜色系统 -> ok
public class run_ {
public static void init(){
p_heath.init();
}
public static void joinRed(Player player){
p_IdName.setRed(player);
p_kui_jia.setRed(player);
p_kang_xing.setKangXing(player);
p_heath.setHeath(player);
}
public static void joinBlue(Player player){
p_IdName.setBlue(player);
p_kui_jia.setBlue(player);
p_kang_xing.setKangXing(player);
p_heath.setHeath(player);
}
public static void stop(Player player){
p_IdName.setStop(player);
p_kui_jia.setStop(player);
p_kang_xing.moveAll(player);
p_heath.stop(player);
}
}

View File

@ -9,12 +9,20 @@ 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")) {
public enum PrintEnum {
I("i"),
W("w"),
E("e");
private final String value;
PrintEnum(String value) {this.value = value;}
}
public static void command_p(PrintEnum type, String msg) {
if (type == PrintEnum.W) {
plugin.getLogger().info("\033[33m[Waring] \033[0m" + msg);
} else if (type.equals("i")) {
} else if (type == PrintEnum.I) {
plugin.getLogger().info("\033[34m[Info] \033[0m" + msg);
} else if (type.equals("e")) {
} else if (type == PrintEnum.E) {
plugin.getLogger().info("\033[31m[Error] \033[0m" + msg);
} else {
plugin.getLogger().info("\033[33m[Waring] \033[0m" + "意外的输出调用" + type + "(信息内容:" + msg + "");
@ -43,3 +51,5 @@ public class print {
Bukkit.broadcastMessage(msg_);
}
}

View File

@ -48,6 +48,7 @@ public class run extends JavaPlugin implements Listener {
//开始初始化 这几句都是爷必须最先初始化
new print(this); // <------- 初始化信息输出类位于当前文件
new getConfig(this); // <------- 初始化配置获取类
new worldSpawnItem(this); // <------- 初始化传送点获取类位于data
def_path.def_path_(this); // <------- 初始化玩家占领点获取类位于player -> main
new def_path().initPath(); // <------- 初始化占领点位置

View File

@ -40,5 +40,15 @@ capture_area:
z: 110
# 指定玩家获得的抗性提升等级,时间
amplifier: 7
duration: 10000
# 指定玩家进入该模式时,修改玩家血量为多少
heath: 60

Binary file not shown.

View File

@ -1,17 +1,19 @@
org\start\player\pCase\p_heath.class
org\start\player\bossbar\manger.class
org\start\run.class
org\start\player\main\model\shi_fo_at.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\model\redAtEvent.class
org\start\player\pCase\p_kui_jia.class
org\start\player\main\run_.class
org\start\player\pCase\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\player\pCase\p_kang_xing.class
org\start\print.class
org\start\player\pCase\p_IdName.class
org\start\player\bossbar\data.class
org\start\player\main\model\def_path.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

View File

@ -1,16 +1,19 @@
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\model\shi_fo_at.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\pCase\p_kang_xing.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\player\main\model\redAtEvent.java
D:\project\java\mc_spring_1.20\守塔模式\src\main\java\org\start\player\pCase\p_kui_jia.java
D:\project\java\mc_spring_1.20\守塔模式\src\main\java\org\start\player\main\model\def_path.java
D:\project\java\mc_spring_1.20\守塔模式\src\main\java\org\start\player\pCase\p_heath.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\player\pCase\run_.java
D:\project\java\mc_spring_1.20\守塔模式\src\main\java\org\start\player\pCase\p_IdName.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