mirror of
https://github.com/Minestom/Minestom.git
synced 2025-03-02 11:21:15 +01:00
Avoid NPEs when obtaining chat message type from player
This commit is contained in:
parent
a9d2f4e8ca
commit
2404f19fe2
@ -2641,7 +2641,9 @@ public class Player extends LivingEntity implements CommandSender, Localizable,
|
|||||||
* Gets the player chat mode.
|
* Gets the player chat mode.
|
||||||
*
|
*
|
||||||
* @return the player chat mode
|
* @return the player chat mode
|
||||||
|
* @deprecated Use {@link #getChatMessageType()}
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
public ChatMode getChatMode() {
|
public ChatMode getChatMode() {
|
||||||
return ChatMode.values()[chatMessageType.ordinal()];
|
return ChatMode.values()[chatMessageType.ordinal()];
|
||||||
}
|
}
|
||||||
@ -2651,7 +2653,7 @@ public class Player extends LivingEntity implements CommandSender, Localizable,
|
|||||||
*
|
*
|
||||||
* @return the messages
|
* @return the messages
|
||||||
*/
|
*/
|
||||||
public @NotNull ChatMessageType getChatMessageType() {
|
public @Nullable ChatMessageType getChatMessageType() {
|
||||||
return chatMessageType;
|
return chatMessageType;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -10,6 +10,7 @@ import org.jetbrains.annotations.NotNull;
|
|||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
|
import java.util.Objects;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
@ -34,7 +35,7 @@ public class Messenger {
|
|||||||
* @return if the message was sent
|
* @return if the message was sent
|
||||||
*/
|
*/
|
||||||
public static boolean sendMessage(@NotNull Player player, @NotNull Component message, @NotNull ChatPosition position, @Nullable UUID uuid) {
|
public static boolean sendMessage(@NotNull Player player, @NotNull Component message, @NotNull ChatPosition position, @Nullable UUID uuid) {
|
||||||
if (player.getSettings().getChatMessageType().accepts(position)) {
|
if (getChatMessageType(player).accepts(position)) {
|
||||||
player.getPlayerConnection().sendPacket(new ChatMessagePacket(message, position, uuid));
|
player.getPlayerConnection().sendPacket(new ChatMessagePacket(message, position, uuid));
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -56,7 +57,7 @@ public class Messenger {
|
|||||||
final Set<Player> sentTo = new HashSet<>();
|
final Set<Player> sentTo = new HashSet<>();
|
||||||
|
|
||||||
for (Player player : players) {
|
for (Player player : players) {
|
||||||
if (player.getSettings().getChatMessageType().accepts(position)) {
|
if (getChatMessageType(player).accepts(position)) {
|
||||||
sentTo.add(player);
|
sentTo.add(player);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -72,7 +73,7 @@ public class Messenger {
|
|||||||
* @return if the server should receive messages from them
|
* @return if the server should receive messages from them
|
||||||
*/
|
*/
|
||||||
public static boolean canReceiveMessage(@NotNull Player player) {
|
public static boolean canReceiveMessage(@NotNull Player player) {
|
||||||
return player.getSettings().getChatMessageType() == ChatMessageType.FULL;
|
return getChatMessageType(player) == ChatMessageType.FULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -97,7 +98,7 @@ public class Messenger {
|
|||||||
* @return if the server should receive commands from them
|
* @return if the server should receive commands from them
|
||||||
*/
|
*/
|
||||||
public static boolean canReceiveCommand(@NotNull Player player) {
|
public static boolean canReceiveCommand(@NotNull Player player) {
|
||||||
return player.getSettings().getChatMessageType() != ChatMessageType.NONE;
|
return getChatMessageType(player) != ChatMessageType.NONE;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -121,6 +122,16 @@ public class Messenger {
|
|||||||
* @param player the player
|
* @param player the player
|
||||||
*/
|
*/
|
||||||
public static void sendRejectionMessage(@NotNull Player player) {
|
public static void sendRejectionMessage(@NotNull Player player) {
|
||||||
player.getPlayerConnection().sendPacket(CANNOT_SEND_PACKET);
|
player.getPlayerConnection().sendPacket(CANNOT_SEND_PACKET, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the chat message type for a player, returning {@link ChatMessageType#FULL} if not set.
|
||||||
|
*
|
||||||
|
* @param player the player
|
||||||
|
* @return the chat message type
|
||||||
|
*/
|
||||||
|
private static @NotNull ChatMessageType getChatMessageType(@NotNull Player player) {
|
||||||
|
return Objects.requireNonNullElse(player.getSettings().getChatMessageType(), ChatMessageType.FULL);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -95,7 +95,7 @@ public abstract class PlayerConnection {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Serializes the packet and send it to the client, skipping the translation phase.
|
* Serializes the packet and send it to the client, optionally skipping the translation phase.
|
||||||
* <p>
|
* <p>
|
||||||
* Also responsible for executing {@link ConnectionManager#onPacketSend(ServerPacketConsumer)} consumers.
|
* Also responsible for executing {@link ConnectionManager#onPacketSend(ServerPacketConsumer)} consumers.
|
||||||
*
|
*
|
||||||
|
Loading…
Reference in New Issue
Block a user