Add signature to chat event

This commit is contained in:
Noel Németh 2022-06-10 21:33:43 +02:00
parent 11ba78aa81
commit 4ee6985969
2 changed files with 13 additions and 2 deletions

View File

@ -1,6 +1,7 @@
package net.minestom.server.event.player;
import net.kyori.adventure.text.Component;
import net.minestom.server.crypto.MessageSignature;
import net.minestom.server.entity.Player;
import net.minestom.server.event.trait.CancellableEvent;
import net.minestom.server.event.trait.PlayerInstanceEvent;
@ -25,14 +26,16 @@ public class PlayerChatEvent implements PlayerInstanceEvent, CancellableEvent {
private Function<PlayerChatEvent, Component> chatFormat;
private boolean cancelled;
private MessageSignature signature;
public PlayerChatEvent(@NotNull Player player, @NotNull Collection<Player> recipients,
@NotNull Supplier<Component> defaultChatFormat,
@NotNull String message) {
@NotNull String message, @NotNull MessageSignature signature) {
this.player = player;
this.recipients = new ArrayList<>(recipients);
this.defaultChatFormat = defaultChatFormat;
this.message = message;
this.signature = signature;
}
/**
@ -102,4 +105,12 @@ public class PlayerChatEvent implements PlayerInstanceEvent, CancellableEvent {
public @NotNull Player getPlayer() {
return player;
}
public MessageSignature getSignature() {
return signature;
}
public void setSignature(@NotNull MessageSignature signature) {
this.signature = signature;
}
}

View File

@ -39,7 +39,7 @@ public class ChatMessageListener {
}
final Collection<Player> players = CONNECTION_MANAGER.getOnlinePlayers();
PlayerChatEvent playerChatEvent = new PlayerChatEvent(player, players, () -> buildDefaultChatMessage(player, message), message);
PlayerChatEvent playerChatEvent = new PlayerChatEvent(player, players, () -> buildDefaultChatMessage(player, message), message, packet.signature());
// Call the event
EventDispatcher.callCancellable(playerChatEvent, () -> {