diff --git a/api/src/main/java/net/md_5/bungee/api/event/LoginEvent.java b/api/src/main/java/net/md_5/bungee/api/event/LoginEvent.java index d2651f82..fa507753 100644 --- a/api/src/main/java/net/md_5/bungee/api/event/LoginEvent.java +++ b/api/src/main/java/net/md_5/bungee/api/event/LoginEvent.java @@ -1,9 +1,13 @@ package net.md_5.bungee.api.event; +import lombok.AccessLevel; import lombok.Data; import lombok.EqualsAndHashCode; +import lombok.Setter; import lombok.ToString; import net.md_5.bungee.api.Callback; +import net.md_5.bungee.api.chat.BaseComponent; +import net.md_5.bungee.api.chat.TextComponent; import net.md_5.bungee.api.connection.PendingConnection; import net.md_5.bungee.api.plugin.Cancellable; @@ -23,7 +27,8 @@ public class LoginEvent extends AsyncEvent implements Cancellable /** * Message to use when kicking if this event is canceled. */ - private String cancelReason; + @Setter(AccessLevel.NONE) + private BaseComponent[] cancelReasonComponents; /** * Connection attempting to login. */ @@ -34,4 +39,31 @@ public class LoginEvent extends AsyncEvent implements Cancellable super( done ); this.connection = connection; } + + /** + * @return reason to be displayed + * @deprecated Use component methods instead. + */ + @Deprecated + public String getCancelReason() + { + return BaseComponent.toLegacyText( getCancelReasonComponents() ); + } + + /** + * @param cancelReason reason to be displayed + * @deprecated Use + * {@link #setCancelReason(net.md_5.bungee.api.chat.BaseComponent...)} + * instead. + */ + @Deprecated + public void setCancelReason(String cancelReason) + { + setCancelReason( TextComponent.fromLegacyText( cancelReason ) ); + } + + public void setCancelReason(BaseComponent... cancelReason) + { + this.cancelReasonComponents = cancelReason; + } } diff --git a/api/src/main/java/net/md_5/bungee/api/event/PreLoginEvent.java b/api/src/main/java/net/md_5/bungee/api/event/PreLoginEvent.java index 2b08ce7a..87040d30 100644 --- a/api/src/main/java/net/md_5/bungee/api/event/PreLoginEvent.java +++ b/api/src/main/java/net/md_5/bungee/api/event/PreLoginEvent.java @@ -1,9 +1,13 @@ package net.md_5.bungee.api.event; +import lombok.AccessLevel; import lombok.Data; import lombok.EqualsAndHashCode; +import lombok.Setter; import lombok.ToString; import net.md_5.bungee.api.Callback; +import net.md_5.bungee.api.chat.BaseComponent; +import net.md_5.bungee.api.chat.TextComponent; import net.md_5.bungee.api.connection.PendingConnection; import net.md_5.bungee.api.plugin.Cancellable; @@ -28,7 +32,8 @@ public class PreLoginEvent extends AsyncEvent implements Cancella /** * Message to use when kicking if this event is canceled. */ - private String cancelReason; + @Setter(AccessLevel.NONE) + private BaseComponent[] cancelReasonComponents; /** * Connection attempting to login. */ @@ -39,4 +44,31 @@ public class PreLoginEvent extends AsyncEvent implements Cancella super( done ); this.connection = connection; } + + /** + * @return reason to be displayed + * @deprecated Use component methods instead. + */ + @Deprecated + public String getCancelReason() + { + return BaseComponent.toLegacyText( getCancelReasonComponents() ); + } + + /** + * @param cancelReason reason to be displayed + * @deprecated Use + * {@link #setCancelReason(net.md_5.bungee.api.chat.BaseComponent...)} + * instead. + */ + @Deprecated + public void setCancelReason(String cancelReason) + { + setCancelReason( TextComponent.fromLegacyText( cancelReason ) ); + } + + public void setCancelReason(BaseComponent... cancelReason) + { + this.cancelReasonComponents = cancelReason; + } } diff --git a/proxy/src/main/java/net/md_5/bungee/connection/InitialHandler.java b/proxy/src/main/java/net/md_5/bungee/connection/InitialHandler.java index bdcbdb7a..d87b03c0 100644 --- a/proxy/src/main/java/net/md_5/bungee/connection/InitialHandler.java +++ b/proxy/src/main/java/net/md_5/bungee/connection/InitialHandler.java @@ -360,7 +360,7 @@ public class InitialHandler extends PacketHandler implements PendingConnection { if ( result.isCancelled() ) { - disconnect( result.getCancelReason() ); + disconnect( result.getCancelReasonComponents() ); return; } if ( ch.isClosed() ) @@ -479,7 +479,7 @@ public class InitialHandler extends PacketHandler implements PendingConnection { if ( result.isCancelled() ) { - disconnect( result.getCancelReason() ); + disconnect( result.getCancelReasonComponents() ); return; } if ( ch.isClosed() )