Remove CommonChatType.java

This commit is contained in:
Noel Németh 2022-06-20 03:44:56 +02:00
parent 908d39ea93
commit aa8b798715
11 changed files with 68 additions and 57 deletions

View File

@ -20,8 +20,8 @@ import net.minestom.server.instance.block.BlockManager;
import net.minestom.server.instance.block.rule.vanilla.RedstonePlacementRule;
import net.minestom.server.message.MessageSender;
import net.minestom.server.message.registry.ChatDecoration;
import net.minestom.server.message.registry.ChatType;
import net.minestom.server.message.registry.ChatTypeBuilder;
import net.minestom.server.message.registry.CommonChatType;
import net.minestom.server.ping.ResponseData;
import net.minestom.server.utils.identity.NamedAndIdentified;
import net.minestom.server.utils.time.TimeUnit;
@ -111,10 +111,10 @@ public class Main {
});
final ConfigurationManager conf = MinecraftServer.getConfigurationManager();
conf.PLAYER_CHAT_TYPE.set(ChatTypeBuilder.builder(CommonChatType.CHAT.key())
conf.PLAYER_CHAT_TYPE.set(ChatTypeBuilder.builder(ChatType.CHAT.key())
.chat(ChatDecoration.full("%s | %s> %s", Style.style(NamedTextColor.DARK_RED)))
.build());
conf.SYSTEM_CHAT_TYPE.set(ChatTypeBuilder.builder(CommonChatType.SYSTEM.key())
conf.SYSTEM_CHAT_TYPE.set(ChatTypeBuilder.builder(ChatType.SYSTEM.key())
.chat(ChatDecoration.content("SYSTEM: %s", Style.style(NamedTextColor.AQUA)
.font(Key.key("minecraft:uniform"))))
.build());

View File

@ -3,8 +3,8 @@ package net.minestom.server;
import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.format.NamedTextColor;
import net.minestom.server.message.registry.ChatDecoration;
import net.minestom.server.message.registry.ChatType;
import net.minestom.server.message.registry.ChatTypeBuilder;
import net.minestom.server.message.registry.CommonChatType;
import net.minestom.server.utils.FinalObject;
import org.jetbrains.annotations.ApiStatus;
import org.jglrxavpok.hephaistos.nbt.NBTCompound;
@ -24,8 +24,8 @@ public final class ConfigurationManager {
REQUIRE_VALID_PLAYER_PUBLIC_KEY.optionalSet(false);
MISSING_PLAYER_PUBLIC_KEY.optionalSet(Component.text("Missing public key!", NamedTextColor.RED));
INVALID_PLAYER_PUBLIC_KEY.optionalSet(Component.text("Invalid public key!", NamedTextColor.RED));
PLAYER_CHAT_TYPE.optionalSet(() -> ChatTypeBuilder.builder(CommonChatType.CHAT.key())
PLAYER_CHAT_TYPE.optionalSet(() -> ChatTypeBuilder.builder(ChatType.CHAT.key())
.chat(ChatDecoration.contentWithSender("chat.type.text")).build());
SYSTEM_CHAT_TYPE.optionalSet(() -> ChatTypeBuilder.builder(CommonChatType.SYSTEM.key()).chat().build());
SYSTEM_CHAT_TYPE.optionalSet(() -> ChatTypeBuilder.builder(ChatType.SYSTEM.key()).chat().build());
}
}

View File

@ -15,7 +15,7 @@ import net.minestom.server.adventure.AdventurePacketConvertor;
import net.minestom.server.entity.Player;
import net.minestom.server.message.MessageSender;
import net.minestom.server.message.Messenger;
import net.minestom.server.message.registry.CommonChatType;
import net.minestom.server.message.registry.ChatType;
import net.minestom.server.network.packet.server.ServerPacket;
import net.minestom.server.network.packet.server.play.ActionBarPacket;
import net.minestom.server.network.packet.server.play.ClearTitlesPacket;
@ -61,7 +61,7 @@ public interface PacketGroupingAudience extends ForwardingAudience {
@Override
default void sendMessage(@NotNull Identity source, @NotNull Component message, @NotNull MessageType type) {
if (type == MessageType.SYSTEM)
Messenger.sendSystemMessage(getPlayers(), message, CommonChatType.SYSTEM);
Messenger.sendSystemMessage(getPlayers(), message, ChatType.SYSTEM);
else
Messenger.sendUnsignedMessage(getPlayers(), new MessageSender(Component.text("UNKNOWN SENDER",
NamedTextColor.RED), null), message);

View File

@ -48,7 +48,7 @@ import net.minestom.server.listener.manager.PacketListenerManager;
import net.minestom.server.message.ChatPreference;
import net.minestom.server.message.MessageSender;
import net.minestom.server.message.Messenger;
import net.minestom.server.message.registry.CommonChatType;
import net.minestom.server.message.registry.ChatType;
import net.minestom.server.network.ConnectionManager;
import net.minestom.server.network.ConnectionState;
import net.minestom.server.network.PlayerProvider;
@ -667,7 +667,7 @@ public class Player extends LivingEntity implements CommandSender, Localizable,
@Override
public void sendMessage(@NotNull Identity source, @NotNull Component message, @NotNull MessageType type) {
if (type == MessageType.SYSTEM)
Messenger.sendSystemMessage(List.of(this), message, CommonChatType.SYSTEM);
Messenger.sendSystemMessage(List.of(this), message, ChatType.SYSTEM);
else
Messenger.sendUnsignedMessage(List.of(this), new MessageSender(Component.text("UNKNOWN SENDER",
NamedTextColor.RED), null), message);

View File

@ -7,7 +7,6 @@ import net.minestom.server.event.trait.CancellableEvent;
import net.minestom.server.event.trait.PlayerInstanceEvent;
import net.minestom.server.message.MessageSender;
import net.minestom.server.message.registry.ChatType;
import net.minestom.server.message.registry.CommonChatType;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@ -41,7 +40,7 @@ public class PlayerChatEvent implements PlayerInstanceEvent, CancellableEvent {
this.message = message;
this.signature = signature;
this.sender = sender;
this.chatType = CommonChatType.CHAT;
this.chatType = ChatType.CHAT;
}
public MessageSender getSender() {

View File

@ -5,7 +5,6 @@ import net.kyori.adventure.text.format.NamedTextColor;
import net.minestom.server.crypto.MessageSignature;
import net.minestom.server.entity.Player;
import net.minestom.server.message.registry.ChatType;
import net.minestom.server.message.registry.CommonChatType;
import net.minestom.server.network.packet.server.play.PlayerChatMessagePacket;
import net.minestom.server.network.packet.server.play.SystemChatPacket;
import net.minestom.server.utils.PacketUtils;
@ -37,7 +36,7 @@ public final class Messenger {
public static void sendSignedMessage(@NotNull Collection<Player> recipients, @NotNull MessageSender sender,
@NotNull Component message, @Nullable Component unsignedMessage,
@NotNull MessageSignature signature) {
sendSignedMessage(recipients, sender, message, unsignedMessage, signature, CommonChatType.CHAT);
sendSignedMessage(recipients, sender, message, unsignedMessage, signature, ChatType.CHAT);
}
public static void sendSignedMessage(@NotNull Collection<Player> recipients, @NotNull MessageSender sender,
@ -48,7 +47,7 @@ public final class Messenger {
public static void sendSignedMessage(@NotNull Collection<Player> recipients, @NotNull MessageSender sender,
@NotNull Component message, @NotNull MessageSignature signature) {
sendSignedMessage(recipients, sender, message, null, signature, CommonChatType.CHAT);
sendSignedMessage(recipients, sender, message, null, signature, ChatType.CHAT);
}
public static void sendUnsignedMessage(@NotNull Collection<Player> recipients, @NotNull MessageSender sender,
@ -58,7 +57,7 @@ public final class Messenger {
public static void sendUnsignedMessage(@NotNull Collection<Player> recipients, @NotNull MessageSender sender,
@NotNull Component message) {
sendUnsignedMessage(recipients, sender, message, CommonChatType.CHAT);
sendUnsignedMessage(recipients, sender, message, ChatType.CHAT);
}
public static void sendSystemMessage(@NotNull Collection<Player> recipients, @NotNull Component message, ChatType chatType) {
@ -69,7 +68,7 @@ public final class Messenger {
}
public static void sendSystemMessage(@NotNull Collection<Player> recipients, @NotNull Component message) {
sendSystemMessage(recipients, message, CommonChatType.SYSTEM);
sendSystemMessage(recipients, message, ChatType.SYSTEM);
}
/**
@ -102,7 +101,7 @@ public final class Messenger {
* @param player the player
*/
public static void sendRejectionMessage(@NotNull Player player) {
player.sendPacket(new SystemChatPacket(REJECTION_MESSAGE, CommonChatType.SYSTEM.id()));
player.sendPacket(new SystemChatPacket(REJECTION_MESSAGE, ChatType.SYSTEM.id()));
}
/**

View File

@ -84,8 +84,8 @@ public final class ChatRegistryManager {
@ApiStatus.Internal
public void initDefaults() {
final ConfigurationManager conf = MinecraftServer.getConfigurationManager();
CommonChatType.CHAT.setId(addChatType(conf.PLAYER_CHAT_TYPE.get()).id());
CommonChatType.SYSTEM.setId(addChatType(conf.SYSTEM_CHAT_TYPE.get()).id());
((MutableChatTypeImpl) ChatType.CHAT).setId(addChatType(conf.PLAYER_CHAT_TYPE.get()).id());
((MutableChatTypeImpl) ChatType.SYSTEM).setId(addChatType(conf.SYSTEM_CHAT_TYPE.get()).id());
// TODO Should we add all default types?
}

View File

@ -1,13 +1,14 @@
package net.minestom.server.message.registry;
import net.kyori.adventure.key.Key;
import net.minestom.server.registry.ProtocolObject;
public interface ChatType extends ProtocolObject {
ChatType CHAT = new MutableChatTypeImpl(Key.key("minecraft:chat"));
ChatType SYSTEM = new MutableChatTypeImpl(Key.key("minecraft:system"));
public interface ChatType {
static ChatType of(int id, Key key) {
return new ChatTypeImpl(id, key);
}
int id();
Key key();
record ChatTypeImpl(int id, Key key) implements ChatType {}
}

View File

@ -0,0 +1,12 @@
package net.minestom.server.message.registry;
import net.kyori.adventure.key.Key;
import net.minestom.server.utils.NamespaceID;
import org.jetbrains.annotations.NotNull;
record ChatTypeImpl(int id, Key key) implements ChatType {
@Override
public @NotNull NamespaceID namespace() {
return NamespaceID.from(key);
}
}

View File

@ -1,33 +0,0 @@
package net.minestom.server.message.registry;
import net.kyori.adventure.key.Key;
import net.minestom.server.utils.FinalObject;
import org.jetbrains.annotations.ApiStatus;
public enum CommonChatType implements ChatType {
CHAT(Key.key("minecraft:chat")),
SYSTEM(Key.key("minecraft:system"));
private final Key name;
private final FinalObject<Integer> id = new FinalObject<>();
CommonChatType(Key name) {
this.name = name;
}
@ApiStatus.Internal
public void setId(int id) {
this.id.set(id);
}
@Override
public int id() {
return this.id.get();
}
@Override
public Key key() {
return name;
}
}

View File

@ -0,0 +1,33 @@
package net.minestom.server.message.registry;
import net.kyori.adventure.key.Key;
import net.minestom.server.utils.NamespaceID;
import org.jetbrains.annotations.NotNull;
class MutableChatTypeImpl implements ChatType {
private final Key key;
private int id;
public MutableChatTypeImpl(Key key) {
this.key = key;
}
@Override
public @NotNull NamespaceID namespace() {
return NamespaceID.from(key);
}
@Override
public @NotNull Key key() {
return key;
}
@Override
public int id() {
return id;
}
public void setId(int id) {
this.id = id;
}
}