|
1 | 1 | package com.hzzz.points.listeners;
|
2 | 2 |
|
3 |
| -import com.hzzz.points.Points; |
4 | 3 | import com.hzzz.points.listeners.base_listener.HowieUtilsListener;
|
5 | 4 | import net.kyori.adventure.text.Component;
|
6 | 5 | import net.kyori.adventure.text.format.NamedTextColor;
|
7 |
| -import org.bukkit.Bukkit; |
8 | 6 | import org.bukkit.entity.Player;
|
9 | 7 | import org.bukkit.event.EventHandler;
|
10 | 8 | import org.bukkit.event.entity.PlayerDeathEvent;
|
11 | 9 |
|
12 |
| -import java.util.concurrent.ExecutionException; |
13 |
| -import java.util.concurrent.Future; |
| 10 | +import java.sql.SQLException; |
14 | 11 |
|
15 | 12 | import static com.hzzz.points.data_manager.operations_utils.DeathLog.insertDeathLog;
|
16 | 13 | import static com.hzzz.points.data_manager.operations_utils.DeathMessageConfig.isEnableDeathMessage;
|
@@ -61,26 +58,25 @@ public void onPlayerDeath(PlayerDeathEvent e) {
|
61 | 58 | if (!checkPermissionOneConfigNode(player, "death.message.listener", "points.listener.death.message")) {
|
62 | 59 | return;
|
63 | 60 | }
|
64 |
| - |
65 |
| - if (config.getBoolean("death.message.enable", false)) { // 出现错误默认不发送死亡消息 |
66 |
| - Future<Boolean> future = Bukkit.getScheduler().callSyncMethod(Points.getInstance(), () -> isEnableDeathMessage(player)); |
| 61 | + runTaskAsynchronously(() -> { |
| 62 | + // isEnableDeathMessage insertDeathLog需要异步 |
67 | 63 | try {
|
68 |
| - if (future.get()) { |
| 64 | + if (config.getBoolean("death.message.enable", false) && isEnableDeathMessage(player)) { // 出现错误默认不发送死亡消息 |
69 | 65 | // 生成并发送消息给执行者
|
70 | 66 | player.sendMessage(buildPlayerCoordinatesMessage("death.message", player, " X-> ", NamedTextColor.RED));
|
71 | 67 | }
|
72 |
| - } catch (InterruptedException | ExecutionException ex) { |
| 68 | + } catch (SQLException ex) { |
73 | 69 | ex.printStackTrace();
|
74 | 70 | }
|
75 |
| - } |
76 | 71 |
|
77 |
| - // 记录死亡日志 |
78 |
| - if (config.getBoolean("death.log.enable", false)) { |
79 |
| - Component deathMessage = e.deathMessage(); |
80 |
| - if (deathMessage == null) { // 被手动设置deathMessage才可能为null吧 |
81 |
| - return; |
| 72 | + // 记录死亡日志 |
| 73 | + if (config.getBoolean("death.log.enable", false)) { |
| 74 | + Component deathMessage = e.deathMessage(); |
| 75 | + if (deathMessage == null) { // 被手动设置deathMessage才可能为null吧 |
| 76 | + return; |
| 77 | + } |
| 78 | + insertDeathLog(player, deathMessage.toString(), config.getInt("death.log.record-limit", 5)); |
82 | 79 | }
|
83 |
| - runTaskAsynchronously(() -> insertDeathLog(player, deathMessage.toString(), config.getInt("death.log.record-limit", 5))); |
84 |
| - } |
| 80 | + }); |
85 | 81 | }
|
86 | 82 | }
|
0 commit comments