JSON and color codes for disconnect message
This commit is contained in:
parent
e690ead1eb
commit
529d7e7636
|
|
@ -3,6 +3,9 @@ package org.adde0109.ambassador;
|
|||
import com.electronwill.nightconfig.core.conversion.InvalidValueException;
|
||||
import com.electronwill.nightconfig.core.file.CommentedFileConfig;
|
||||
import com.google.gson.annotations.Expose;
|
||||
import net.kyori.adventure.text.serializer.gson.GsonComponentSerializer;
|
||||
import net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer;
|
||||
import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
|
||||
|
||||
import java.net.URL;
|
||||
import java.nio.file.Path;
|
||||
|
|
@ -18,6 +21,8 @@ public class AmbassadorConfig {
|
|||
@Expose
|
||||
private int serverSwitchCancellationTime = 120;
|
||||
|
||||
private net.kyori.adventure.text.@MonotonicNonNull Component messageAsAsComponent;
|
||||
|
||||
private AmbassadorConfig(int resetTimeout, String kickResetMessage, int serverSwitchCancellationTime) {
|
||||
this.resetTimeout = resetTimeout;
|
||||
this.disconnectResetMessage = kickResetMessage;
|
||||
|
|
@ -63,8 +68,15 @@ public class AmbassadorConfig {
|
|||
return resetTimeout;
|
||||
}
|
||||
|
||||
public String getDisconnectResetMessage() {
|
||||
return disconnectResetMessage;
|
||||
public net.kyori.adventure.text.Component getDisconnectResetMessage() {
|
||||
if (messageAsAsComponent == null) {
|
||||
if (disconnectResetMessage.startsWith("{")) {
|
||||
messageAsAsComponent = GsonComponentSerializer.gson().deserialize(disconnectResetMessage);
|
||||
} else {
|
||||
messageAsAsComponent = LegacyComponentSerializer.legacyAmpersand().deserialize(disconnectResetMessage);
|
||||
}
|
||||
}
|
||||
return messageAsAsComponent;
|
||||
}
|
||||
|
||||
public int getServerSwitchCancellationTime() {
|
||||
|
|
|
|||
|
|
@ -11,7 +11,6 @@ import com.velocitypowered.proxy.protocol.StateRegistry;
|
|||
import com.velocitypowered.proxy.protocol.packet.LoginPluginResponse;
|
||||
import com.velocitypowered.proxy.protocol.packet.PluginMessage;
|
||||
import io.netty.buffer.Unpooled;
|
||||
import net.kyori.adventure.text.Component;
|
||||
import org.adde0109.ambassador.Ambassador;
|
||||
import org.adde0109.ambassador.velocity.client.FML2CRPMResetCompleteDecoder;
|
||||
import org.adde0109.ambassador.velocity.client.OutboundForgeHandshakeHolder;
|
||||
|
|
@ -74,7 +73,7 @@ public enum VelocityForgeClientConnectionPhase implements ClientConnectionPhase
|
|||
Ambassador.getTemporaryForced().put(player.getUsername(), player.getConnectionInFlight().getServer(),
|
||||
Ambassador.getInstance().config.getServerSwitchCancellationTime(), TimeUnit.SECONDS);
|
||||
//Disconnect - Reset Timeout
|
||||
player.disconnect(Component.text(Ambassador.getInstance().config.getDisconnectResetMessage()));
|
||||
player.disconnect(Ambassador.getInstance().config.getDisconnectResetMessage());
|
||||
}, Ambassador.getInstance().config.getResetTimeout(), TimeUnit.MILLISECONDS);
|
||||
}
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ config-version = "1.0"
|
|||
# How long to wait for the client to reset before disconnecting (In milliseconds)
|
||||
reset-timeout = 1000
|
||||
# Message displayed to the player when disconnected from proxy during server switch.
|
||||
disconnect-reset-message = "Please reconnect"
|
||||
# How long the player has to reconnect before canceling the server switch. (In seconds)
|
||||
# Legacy color codes and JSON are accepted.
|
||||
disconnect-reset-message = "&6Please reconnect"
|
||||
# How much time the player has to reconnect before canceling the server switch. (In seconds)
|
||||
server-switch-cancellation-time = 120
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user