Folia icon indicating copy to clipboard operation
Folia copied to clipboard

Bukkit#broadcastMessage does not reach all players

Open ranminecraft opened this issue 9 months ago • 7 comments

Expected behavior

All online players should receive messages

Observed/Actual behavior

Some of player didnt receive broadcast message

Image

Steps/models to reproduce

Bukkit.broadcastMessage("test1 "); or Bukkit.broadcast(Component.text("test2 "));

Plugin and Datapack List

a broadcast test plugin

Folia version

1.21.7 latest version

Other

No response

ranminecraft avatar Jul 15 '25 00:07 ranminecraft

Same happen on 1.21.8

ranminecraft avatar Jul 28 '25 15:07 ranminecraft

What tick is this being run on? A region tick or the global tick? And if it's the region tick, are you(the player) in a different region or the same region?

Dueris avatar Jul 28 '25 16:07 Dueris

What tick is this being run on? A region tick or the global tick? And if it's the region tick, are you(the player) in a different region or the same region?

public boolean onCommand(@NotNull CommandSender sender,
                             @NotNull Command cmd,
                             @NotNull String label,
                             String @NotNull [] args) {
                Bukkit.broadcastMessage("test 1");
                Bukkit.getServer().getGlobalRegionScheduler().run(plugin, _ -> {
                    Bukkit.broadcastMessage("test 2");
                });
                Bukkit.getServer().getAsyncScheduler().runNow(plugin, _ -> {
                    Bukkit.broadcastMessage("test 3");
                });
Image

ranminecraft avatar Jul 29 '25 15:07 ranminecraft

Are you sure the player has https://jd.papermc.io/paper/1.21.8/org/bukkit/Server.html#BROADCAST_CHANNEL_USERS bukkit.broadcast.user permission, as referenced in broadcast's javadocs?

masmc05 avatar Jul 29 '25 15:07 masmc05

Are you sure the player has https://jd.papermc.io/paper/1.21.8/org/bukkit/Server.html#BROADCAST_CHANNEL_USERS bukkit.broadcast.user permission, as referenced in broadcast's javadocs?

Image
for (Player player : Bukkit.getOnlinePlayers()) {
     Bukkit.broadcastMessage(player.getName() + " " + player.hasPermission(BROADCAST_CHANNEL_USERS));
}

But player does receive broadcast message after make him operator With the same plugin on paper or purpur , anyone can receive it.

ranminecraft avatar Jul 30 '25 14:07 ranminecraft

Can you try Bukkit.getServer().sendMessage() if it would fit you as a temporary replacement until this will be fixed?

masmc05 avatar Jul 30 '25 15:07 masmc05

Bukkit.getServer().sendMessage() it work!

ranminecraft avatar Jul 31 '25 21:07 ranminecraft