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