Skip to content

Commit 26d7c8b

Browse files
author
ChiyodaXiaoYi
committed
[1.1.2]统一配置文件键名格式,更新CrypticLib版本
1 parent 7fe8e18 commit 26d7c8b

File tree

8 files changed

+48
-225
lines changed

8 files changed

+48
-225
lines changed

README.md

Lines changed: 11 additions & 203 deletions
Original file line numberDiff line numberDiff line change
@@ -5,216 +5,32 @@
55

66
## 效果说明
77

8-
服主设置玩家的死亡消息、加入游戏和退出游戏消息,以及第一次进入服务器的消息,死亡消息支持颜色代码(无法为玩家名覆盖颜色代码,玩家名的显示和原版一致,这意味着用其他插件设置的具有颜色代码的玩家名能够正常显示)
8+
服主设置玩家的死亡消息、加入游戏和退出游戏消息,以及第一次进入服务器的消息,死亡消息支持颜色代码。
99

1010
## 效果展示
1111

1212
![a.png](a.png)
1313

1414
## 使用方法
1515

16-
在配置文件中修改对应死亡类型的消息即可,`%1$s`代表死者,如果有杀手则`%2$s`代表杀手,如果杀手手持命名的物品则`%3$s`代表该物品。
16+
在配置文件中修改对应死亡类型的消息即可,`%1$s`代表死者,如果有杀手则`%2$s`代表击杀者,如果杀手手持命名的物品则`%3$s`代表该物品。
1717

18-
如需重置某种类型的死亡消息,只需要把该键对应的值删除即可,双引号也要删。
18+
`first_join_msg`代表有玩家首次加入服务器向全服广播的消息
1919

20-
`helloMessage`代表有玩家首次加入服务器向全服广播的消息,`%1$s`代表该玩家。
20+
`join_msg`代表玩家进入服务器的消息
2121

22-
`joinMessage`代表玩家进入服务器的消息,其中`{}`代表该玩家。
23-
24-
`quitMessage`代表玩家退出服务器的消息,其中`{}`代表该玩家。
22+
`quit_msg`代表玩家退出服务器的消息
2523

2624
配置文件中设置的消息均支持颜色代码`&`,文末有具体的颜色代码使用方法。
2725

28-
如果不小心搞乱了,把config.yml删了,reload一下服务器他会重新生成一个。
26+
### 指令:
27+
`/deathmessagereload`也可以简写`/dmrl`,作用是重新加载配置文件
2928

30-
**指令:`/deathmessagereload`也可以简写`/dmrl`,作用是重新加载配置文件**
29+
权限节点`deathmessage.command.reload`
3130

32-
## 配置文件:
31+
`/deathmessagefilter`也可以简写`/dmf`,作用是开启/关闭死亡消息屏蔽,参数`on/off`
3332

34-
```yaml
35-
helloMessage:
36-
- "&b新人&c&l来了奥!"
37-
joinMessage:
38-
- "{}&b&l来了喵~"
39-
quitMessage:
40-
- "{}&b&l走了喵~"
41-
death_attack_anvil:
42-
- "%1$s被坠落的铁砧压扁了"
43-
death_attack_anvil_player:
44-
- "%1$s在与%2$s战斗时被坠落的铁砧压扁了"
45-
death_attack_arrow:
46-
- "%1$s被%2$s射杀"
47-
death_attack_arrow_item:
48-
- "%1$s被%2$s用%3$s射杀"
49-
death_attack_badRespawnPoint_message:
50-
- "%1$s被%2$s杀死了"
51-
bedRespawnPoint:
52-
- "[刻意的游戏设计]"
53-
death_attack_cactus:
54-
- "%1$s被戳死了"
55-
death_attack_cactus_player:
56-
- "%1$s在试图逃离%2$s时撞上了仙人掌"
57-
death_attack_cramming:
58-
- "%1$s因被过度挤压而死"
59-
death_attack_cramming_player:
60-
- "%1$s被%2$s挤扁了"
61-
death_attack_dragonBreath:
62-
- "%1$s被龙息烤熟了"
63-
death_attack_dragonBreath_player:
64-
- "%1$s被%2$s的龙息烤熟了"
65-
death_attack_drown:
66-
- "%1$s淹死了"
67-
death_attack_drown_player:
68-
- "%1$s在试图逃离%2$s时淹死了"
69-
death_attack_dryout:
70-
- "%1$s因脱水而死"
71-
death_attack_dryout_player:
72-
- "%1$s在试图逃离%2$s时因脱水而死"
73-
death_attack_even_more_magic:
74-
- "%1$s被不为人知的魔法杀死了"
75-
death_attack_explosion:
76-
- "%1$s爆炸了"
77-
death_attack_explosion_player:
78-
- "%1$s被%2$s炸死了"
79-
death_attack_explosion_player_item:
80-
- "%1$s被%2$s用%3$s炸死了"
81-
death_attack_fall:
82-
- "%1$s落地过猛"
83-
death_attack_fall_player:
84-
- "%1$s在试图逃离%2$s时落地过猛"
85-
death_attack_fallingBlock:
86-
- "%1$s被下落的方块压扁了"
87-
death_attack_fallingBlock_player:
88-
- "%1$s在与%2$s战斗时被下落的方块压扁了"
89-
death_attack_fallingStalactite:
90-
- "%1$s被坠落的钟乳石刺穿了"
91-
death_attack_fallingStalactite_player:
92-
- "%1$s在与%2$s战斗时被坠落的钟乳石刺穿了"
93-
death_attack_fireball:
94-
- "%1$s被%2$s用火球烧死了"
95-
death_attack_fireball_item:
96-
- "%1$s被%2$s用%3$s发射的火球烧死了"
97-
death_attack_fireworks:
98-
- "%1$s随着一声巨响消失了"
99-
death_attack_fireworks_item:
100-
- "%1$s随着%2$s用%3$s发射的烟花发出的巨响消失了"
101-
death_attack_fireworks_player:
102-
- "%1$s在与%2$s战斗时随着一声巨响中消失了"
103-
death_attack_flyIntoWall:
104-
- "%1$s感受到了动能"
105-
death_attack_flyIntoWall_player:
106-
- "%1$s在试图逃离%2$s时感受到了动能"
107-
death_attack_freeze:
108-
- "%1$s被冻死了"
109-
death_attack_freeze_player:
110-
- "%1$s被%2$s冻死了"
111-
death_attack_generic:
112-
- "%1$s死了"
113-
death_attack_generic_player:
114-
- "%1$s死于%2$s"
115-
death_attack_hotFloor:
116-
- "%1$s发现了地板是熔岩做的"
117-
death_attack_hotFloor_player:
118-
- "%1$s因%2$s而步入危险之地"
119-
death_attack_inFire:
120-
- "%1$s浴火焚身"
121-
death_attack_inFire_player:
122-
- "%1$s在与%2$s战斗时踏入了火中"
123-
death_attack_inWall:
124-
- "%1$s在墙里窒息而亡"
125-
death_attack_inWall_player:
126-
- "%1$s在与%2$s战斗时在墙里窒息而亡"
127-
death_attack_indirectMagic:
128-
- "%1$s被%2$s使用的魔法杀死了"
129-
death_attack_indirectMagic_item:
130-
- "%1$s被%2$s用%3$s杀死了"
131-
death_attack_lava:
132-
- "%1$s试图在熔岩里游泳"
133-
death_attack_lava_player:
134-
- "%1$s在逃离%2$s时试图在熔岩里游泳"
135-
death_attack_lightningBolt:
136-
- "%1$s被闪电击中"
137-
death_attack_lightningBolt_player:
138-
- "%1$s在与%2$s战斗时被闪电击中"
139-
death_attack_magic:
140-
- "%1$s被魔法杀死了"
141-
death_attack_magic_player:
142-
- "%1$s在试图逃离%2$s时被魔法杀死了"
143-
death_attack_mob:
144-
- "%1$s被%2$s杀死了"
145-
death_attack_mob_item:
146-
- "%1$s被%2$s用%3$s杀死了"
147-
death_attack_onFire:
148-
- "%1$s被烧死了"
149-
death_attack_onFire_player:
150-
- "%1$s在与%2$s战斗时被烤得酥脆"
151-
death_attack_outOfWorld:
152-
- "%1$s掉出了这个世界"
153-
death_attack_outOfWorld_player:
154-
- "%1$s与%2$s不共戴天"
155-
death_attack_player:
156-
- "%1$s被%2$s杀死了"
157-
death_attack_player_item:
158-
- "%1$s被%2$s用%3$s杀死了"
159-
death_attack_stalagmite:
160-
- "%1$s被石笋刺穿了"
161-
death_attack_stalagmite_player:
162-
- "%1$s在与%2$s战斗时被石笋刺穿了"
163-
death_attack_starve:
164-
- "%1$s饿死了"
165-
death_attack_starve_player:
166-
- "%1$s在与%2$s战斗时饿死了"
167-
death_attack_sting:
168-
- "%1$s被蛰死了"
169-
death_attack_sting_player:
170-
- "%1$s被%2$s蛰死了"
171-
death_attack_sweetBerryBush:
172-
- "%1$s被甜浆果丛刺死了"
173-
death_attack_sweetBerryBush_player:
174-
- "%1$s在试图逃离%2$s时被甜浆果丛刺死了"
175-
death_attack_thorns:
176-
- "%1$s在试图伤害%2$s时被杀"
177-
death_attack_thorns_item:
178-
- "%1$s在试图伤害%2$s时被%3$s杀死"
179-
death_attack_thrown:
180-
- "%1$s被%2$s给砸死了"
181-
death_attack_thrown_item:
182-
- "%1$s被%2$s用%3$s给砸死了"
183-
death_attack_trident:
184-
- "%1$s被%2$s刺穿了"
185-
death_attack_trident_item:
186-
- "%1$s被%2$s用%3$s刺穿了"
187-
death_attack_wither:
188-
- "%1$s凋零了"
189-
death_attack_wither_player:
190-
- "%1$s在与%2$s战斗时凋零了"
191-
death_attack_witherSkull:
192-
- "%1$s被%2$s发射的头颅射杀"
193-
death_fell_accident_generic:
194-
- "%1$s从高处摔了下来"
195-
death_fell_accident_ladder:
196-
- "%1$s从梯子上摔了下来"
197-
death_fell_accident_other_climbable:
198-
- "%1$s在攀爬时摔了下来"
199-
death_fell_accident_scaffolding:
200-
- "%1$s从脚手架上摔了下来"
201-
death_fell_accident_twisting_vines:
202-
- "%1$s从缠怨藤上摔了下来"
203-
death_fell_accident_vines:
204-
- "%1$s从藤蔓上摔了下来"
205-
death_fell_accident_weeping_vines:
206-
- "%1$s从垂泪藤上摔了下来"
207-
death_fell_assist:
208-
- "%1$s因为%2$s注定要摔死"
209-
death_fell_assist_item:
210-
- "%1$s因为%2$s使用了%3$s注定要摔死"
211-
death_fell_finish:
212-
- "%1$s摔伤得太重并被%2$s完结了生命"
213-
death_fell_finish_item:
214-
- "%1$s摔伤得太重并被%2$s用%3$s完结了生命"
215-
death_fell_killer:
216-
- "%1$s注定要摔死"
217-
```
33+
无权限节点
21834

21935
### 死亡类型——消息对照表
22036

@@ -308,12 +124,4 @@ death_fell_killer:
308124
"death.fell.finish.item": "%1$s摔伤得太重并被%2$s用%3$s完结了生命",
309125
"death.fell.killer": "%1$s注定要摔死"
310126
}
311-
```
312-
313-
### 颜色代码
314-
315-
![QQ截图20220615172616.png](https://pic.rmb.bdstatic.com/bjh/ad4369e66d63e4cd6a086a216c9b64fd.png)
316-
317-
![QQ截图20220615172632.png](https://pic.rmb.bdstatic.com/bjh/aae99485d99a90e96f3246a866a57850.png)
318-
319-
**注:具体使用时要用`&`代替上面的分节符`§`,这是为了方便输入。**
127+
```

build.gradle.kts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,11 @@ dependencies {
2525
compileOnly("org.spigotmc:spigot-api:1.19.4-R0.1-SNAPSHOT")
2626
compileOnly("net.luckperms:api:5.4")
2727
compileOnly("me.clip:placeholderapi:2.11.1")
28-
implementation("com.github.YufiriaMazenta:CrypticLib:1.0.1")
28+
implementation("com.github.YufiriaMazenta:CrypticLib:1.0.9")
2929
}
3030

3131
group = "com.github.yufiriamazenta"
32-
version = "1.1.1"
32+
version = "1.1.2"
3333
description = "DeathMessage"
3434
java.sourceCompatibility = JavaVersion.VERSION_17
3535
java.sourceCompatibility = JavaVersion.VERSION_17

src/main/java/com/github/yufiriamazenta/deathmsg/data/DataContainer.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,14 @@ public static boolean hasDeathCause(String deathCause) {
3333
}
3434

3535
public static String getMessage(String deathCause) {
36+
return getMessage(deathCause, deathCause);
37+
}
38+
39+
public static String getMessage(String deathCause, String def) {
3640
if (hasDeathCause(deathCause)) {
3741
List<String> list = deathMessageMap.get(deathCause);
42+
if (list == null || list.isEmpty())
43+
return def;
3844
return list.get(DeathMessage.random.nextInt(list.size()));
3945
}
4046
return null;

src/main/java/com/github/yufiriamazenta/deathmsg/listener/DeathHandler.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -230,7 +230,7 @@ private BaseComponent getKillerComponent(Player deadPlayer, String displayNameFo
230230
UUID lastEntityUuid = entityHurtPlayerMap.get(deadPlayer.getUniqueId());
231231
if (lastEntityUuid == null || Bukkit.getEntity(lastEntityUuid) == null) {
232232
//当不存在击杀实体时,说明玩家可能死于方块爆炸
233-
String bedRespawnPoint = DataContainer.getMessage("bedRespawnPoint");
233+
String bedRespawnPoint = DataContainer.getMessage("bed_respawn_point");
234234
BaseComponent bedRespawnDisplayCompound = new TextComponent();
235235
for (BaseComponent baseComponent : TextComponent.fromLegacyText(bedRespawnPoint)) {
236236
bedRespawnDisplayCompound.addExtra(baseComponent);

src/main/java/com/github/yufiriamazenta/deathmsg/listener/JoinQuitHandler.java

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
import com.github.yufiriamazenta.deathmsg.DeathMessage;
44
import com.github.yufiriamazenta.deathmsg.data.DataContainer;
55
import com.github.yufiriamazenta.deathmsg.util.LangUtil;
6+
import crypticlib.util.MsgUtil;
7+
import me.clip.placeholderapi.PlaceholderAPI;
68
import org.bukkit.Bukkit;
79
import org.bukkit.Material;
810
import org.bukkit.entity.Player;
@@ -20,18 +22,16 @@ public enum JoinQuitHandler implements Listener {
2022
@EventHandler
2123
public void welcomeNewPlayer(PlayerJoinEvent event) {
2224
Player player = event.getPlayer();
23-
String welcomeMessage = DataContainer.getMessage("helloMessage");
25+
String welcomeMessage = DataContainer.getMessage("first_join_msg");
2426
if (!player.hasPlayedBefore()) {
25-
welcomeMessage = welcomeMessage.replace("{}", player.getDisplayName());;
26-
welcomeMessage = LangUtil.color(welcomeMessage);
27+
welcomeMessage = LangUtil.color(LangUtil.placeholder(player, welcomeMessage));
2728
for (Player onlinePlayer : Bukkit.getOnlinePlayers()) {
2829
onlinePlayer.sendMessage(welcomeMessage);
2930
}
3031
}
31-
String joinMessageString = DataContainer.getMessage("joinMessage");
32-
if (joinMessageString != null && !joinMessageString.equals("")) {
33-
joinMessageString = joinMessageString.replace("{}", player.getDisplayName());
34-
joinMessageString = LangUtil.color(joinMessageString);
32+
String joinMessageString = DataContainer.getMessage("join_msg");
33+
if (joinMessageString != null && !joinMessageString.isEmpty()) {
34+
joinMessageString = LangUtil.color(LangUtil.placeholder(player, joinMessageString));
3535
event.setJoinMessage(null);
3636
for (Player onlinePlayer : Bukkit.getOnlinePlayers()) {
3737
onlinePlayer.sendMessage(joinMessageString);
@@ -42,10 +42,9 @@ public void welcomeNewPlayer(PlayerJoinEvent event) {
4242
@EventHandler
4343
public void changeQuitMessage(PlayerQuitEvent event) {
4444
Player player = event.getPlayer();
45-
String quitMessage = DataContainer.getMessage("quitMessage");
46-
if (quitMessage != null && !quitMessage.equals("")) {
47-
quitMessage = quitMessage.replace("{}", player.getDisplayName());
48-
quitMessage = LangUtil.color(quitMessage);
45+
String quitMessage = DataContainer.getMessage("quit_msg");
46+
if (quitMessage != null && !quitMessage.isEmpty()) {
47+
quitMessage = LangUtil.color(LangUtil.placeholder(player, quitMessage));
4948
event.setQuitMessage(quitMessage);
5049
}
5150
}

src/main/java/com/github/yufiriamazenta/deathmsg/util/LangUtil.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
11
package com.github.yufiriamazenta.deathmsg.util;
22

33
import com.github.yufiriamazenta.deathmsg.DeathMessage;
4+
import crypticlib.util.MsgUtil;
45
import net.md_5.bungee.api.ChatColor;
6+
import org.bukkit.Bukkit;
57
import org.bukkit.command.CommandSender;
8+
import org.bukkit.entity.Player;
69

710
import java.util.HashMap;
811
import java.util.Map;
@@ -43,4 +46,11 @@ public static void msg(CommandSender sender, String msgKey, Map<String, String>
4346
sender.sendMessage(color(message));
4447
}
4548

49+
public static String placeholder(Player player, String msg) {
50+
String replace = MsgUtil.placeholder(player, msg);
51+
if (replace.equals(msg))
52+
return msg.replace("%player_name%", player.getDisplayName());
53+
return replace;
54+
}
55+
4656
}

src/main/resources/config.yml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
helloMessage:
2-
- "&b新人&c&l来了奥!"
3-
joinMessage:
4-
- "{}&b&l来了喵~"
5-
quitMessage:
6-
- "{}&b&l走了喵~"
1+
first_join_msg:
2+
- "&b新人%player_name%&c&l来了奥!"
3+
join_msg:
4+
- "%player_name%&b&l来了喵~"
5+
quit_msg:
6+
- "%player_name%&b&l走了喵~"
77
death_attack_anvil:
88
- "%1$s被坠落的铁砧压扁了"
99
death_attack_anvil_player:
@@ -14,7 +14,7 @@ death_attack_arrow_item:
1414
- "%1$s被%2$s用%3$s射杀"
1515
death_attack_badRespawnPoint_message:
1616
- "%1$s被%2$s杀死了"
17-
bedRespawnPoint:
17+
bed_respawn_point:
1818
- "[刻意的游戏设计]"
1919
death_attack_cactus:
2020
- "%1$s被戳死了"

src/main/resources/plugin.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ commands:
1212
- "dmrl"
1313
usage: "§4/dmrl"
1414
description: "reload death message"
15-
permission: "op"
15+
permission: "deathmessage.command.reload"
1616
permission-message: "§4you are not op !"
1717
deathmessagefilter:
1818
aliases:

0 commit comments

Comments
 (0)