Skip to content
This repository has been archived by the owner on Feb 4, 2023. It is now read-only.

Commit

Permalink
🗑️ sendSuccess 不再广播信息
Browse files Browse the repository at this point in the history
  • Loading branch information
WithLithum committed Sep 12, 2022
1 parent 59d4cd9 commit 08a943a
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
import org.bukkit.Bukkit;
import org.bukkit.command.CommandSender;
import org.bukkit.command.ConsoleCommandSender;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.jetbrains.annotations.NotNull;
Expand Down Expand Up @@ -104,6 +105,14 @@ public void onChatMessage(AsyncChatEvent event) {
event.setCancelled(true);
}

/**
* Broadcasts a success message.
*
* @param source The source.
* @param component The component.
* @deprecated Because of unfixable issue of sending a message. You can still use it but no more support will be provided for it.
*/
@Deprecated(since = "0.1.1", forRemoval = false)
public void broadcastSuccess(CommandSender source, Component component) {
// 合成消息(chat.type.admin)
var msg = Component.translatable("chat.type.admin")
Expand All @@ -115,6 +124,11 @@ public void broadcastSuccess(CommandSender source, Component component) {
// 如果启用,遍历所有人
for (var player :
Bukkit.getServer().getOnlinePlayers()) {
if (source instanceof Player ply && ply.equals(player)) {
// 如果是玩家且是命令执行者,跳过玩家
continue;
}

// 有权限且不是命令的执行者
if (!source.equals(player) && player.hasPermission("stackpun.commands.generic.broadcast")) {
// 发送消息
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,15 @@

import io.github.nexuskrop.stackpun.StackPun;
import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.format.NamedTextColor;
import net.kyori.adventure.text.format.TextDecoration;
import net.kyori.adventure.text.logger.slf4j.ComponentLogger;
import net.kyori.adventure.text.minimessage.MiniMessage;
import net.kyori.adventure.text.minimessage.tag.resolver.Placeholder;
import x.nexuskrop.stackpun.util.Worlds;

import org.bukkit.GameRule;
import org.bukkit.command.CommandSender;
import org.jetbrains.annotations.NotNull;
import x.nexuskrop.stackpun.util.Worlds;

public final class CommandSenders {
private CommandSenders() {
Expand All @@ -35,7 +37,11 @@ public static void sendSuccess(CommandSender target, @NotNull String id) {
public static void sendSuccess(CommandSender target, @NotNull Component component) {
if (Worlds.overworld().isGameRule(SEND_COMMAND_FEEDBACK)) {
target.sendMessage(component);
StackPun.api().chatManager().broadcastSuccess(target, component);

var msg = Component.translatable("chat.type.admin")
.args(target.name(), component).color(NamedTextColor.GRAY)
.decorate(TextDecoration.ITALIC);
ComponentLogger.logger().info(msg);
}
}

Expand All @@ -45,7 +51,10 @@ public static void sendSuccess(CommandSender target, @NotNull String id, @NotNul
Placeholder.component("value", value));

target.sendMessage(msg);
StackPun.api().chatManager().broadcastSuccess(target, msg);
var trg = Component.translatable("chat.type.admin")
.args(target.name(), msg).color(NamedTextColor.GRAY)
.decorate(TextDecoration.ITALIC);
ComponentLogger.logger().info(trg);
}
}
}

0 comments on commit 08a943a

Please sign in to comment.