1
0
Fork 0
mirror of https://github.com/PaperMC/Paper.git synced 2025-02-03 21:37:28 +01:00

Configurable Messages

By: md_5 <git@md-5.net>
This commit is contained in:
CraftBukkit/Spigot 2013-06-21 19:21:58 +10:00
parent cabf908e4c
commit 55148a3f2c
4 changed files with 42 additions and 7 deletions
paper-server
patches/sources/net/minecraft/server
src/main/java/org
bukkit/craftbukkit
spigotmc

View file

@ -26,7 +26,7 @@
switch (packet.intention()) {
case LOGIN:
this.beginLogin(packet, false);
@@ -59,6 +69,40 @@
@@ -59,13 +69,47 @@
private void beginLogin(ClientIntentionPacket packet, boolean transfer) {
this.connection.setupOutboundProtocol(LoginProtocols.CLIENTBOUND);
@ -67,3 +67,13 @@
if (packet.protocolVersion() != SharedConstants.getCurrentVersion().getProtocolVersion()) {
MutableComponent ichatmutablecomponent;
- if (packet.protocolVersion() < 754) {
- ichatmutablecomponent = Component.translatable("multiplayer.disconnect.outdated_client", SharedConstants.getCurrentVersion().getName());
+ if (packet.protocolVersion() < SharedConstants.getCurrentVersion().getProtocolVersion()) { // Spigot - SPIGOT-7546: Handle version check correctly for outdated client message
+ ichatmutablecomponent = Component.literal( java.text.MessageFormat.format( org.spigotmc.SpigotConfig.outdatedClientMessage.replaceAll("'", "''"), SharedConstants.getCurrentVersion().getName() ) ); // Spigot
} else {
- ichatmutablecomponent = Component.translatable("multiplayer.disconnect.incompatible", SharedConstants.getCurrentVersion().getName());
+ ichatmutablecomponent = Component.literal( java.text.MessageFormat.format( org.spigotmc.SpigotConfig.outdatedServerMessage.replaceAll("'", "''"), SharedConstants.getCurrentVersion().getName() ) ); // Spigot
}
this.connection.send(new ClientboundLoginDisconnectPacket(ichatmutablecomponent));

View file

@ -450,7 +450,7 @@
+ event.disallow(PlayerLoginEvent.Result.KICK_BANNED, CraftChatMessage.fromComponent(ichatmutablecomponent));
+ } else if (!this.isWhiteListed(gameprofile)) {
+ ichatmutablecomponent = Component.translatable("multiplayer.disconnect.not_whitelisted");
+ event.disallow(PlayerLoginEvent.Result.KICK_WHITELIST, CraftChatMessage.fromComponent(ichatmutablecomponent));
+ event.disallow(PlayerLoginEvent.Result.KICK_WHITELIST, org.spigotmc.SpigotConfig.whitelistMessage); // Spigot
+ } else if (this.ipBans.isBanned(socketaddress)) {
+ IpBanListEntry ipbanentry = this.ipBans.get(socketaddress);
@ -467,7 +467,7 @@
+ } else {
+ // return this.players.size() >= this.maxPlayers && !this.canBypassPlayerLimit(gameprofile) ? IChatBaseComponent.translatable("multiplayer.disconnect.server_full") : null;
+ if (this.players.size() >= this.maxPlayers && !this.canBypassPlayerLimit(gameprofile)) {
+ event.disallow(PlayerLoginEvent.Result.KICK_FULL, "The server is full");
+ event.disallow(PlayerLoginEvent.Result.KICK_FULL, org.spigotmc.SpigotConfig.serverFullMessage); // Spigot
+ }
}
+

View file

@ -904,11 +904,11 @@ public final class CraftServer implements Server {
return true;
}
if (sender instanceof Player) {
sender.sendMessage("Unknown command. Type \"/help\" for help.");
} else {
sender.sendMessage("Unknown command. Type \"help\" for help.");
// Spigot start
if (!org.spigotmc.SpigotConfig.unknownCommandMessage.isEmpty()) {
sender.sendMessage(org.spigotmc.SpigotConfig.unknownCommandMessage);
}
// Spigot end
return false;
}

View file

@ -12,6 +12,7 @@ import java.util.Map;
import java.util.logging.Level;
import net.minecraft.server.MinecraftServer;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.configuration.InvalidConfigurationException;
import org.bukkit.configuration.file.YamlConfiguration;
@ -175,4 +176,28 @@ public class SpigotConfig
SpigotConfig.tabComplete = SpigotConfig.getInt( "commands.tab-complete", 0 );
SpigotConfig.sendNamespaced = SpigotConfig.getBoolean( "commands.send-namespaced", true );
}
public static String whitelistMessage;
public static String unknownCommandMessage;
public static String serverFullMessage;
public static String outdatedClientMessage = "Outdated client! Please use {0}";
public static String outdatedServerMessage = "Outdated server! I\'m still on {0}";
private static String transform(String s)
{
return ChatColor.translateAlternateColorCodes( '&', s ).replaceAll( "\\\\n", "\n" );
}
private static void messages()
{
if (SpigotConfig.version < 8)
{
SpigotConfig.set( "messages.outdated-client", SpigotConfig.outdatedClientMessage );
SpigotConfig.set( "messages.outdated-server", SpigotConfig.outdatedServerMessage );
}
SpigotConfig.whitelistMessage = SpigotConfig.transform( SpigotConfig.getString( "messages.whitelist", "You are not whitelisted on this server!" ) );
SpigotConfig.unknownCommandMessage = SpigotConfig.transform( SpigotConfig.getString( "messages.unknown-command", "Unknown command. Type \"/help\" for help." ) );
SpigotConfig.serverFullMessage = SpigotConfig.transform( SpigotConfig.getString( "messages.server-full", "The server is full!" ) );
SpigotConfig.outdatedClientMessage = SpigotConfig.transform( SpigotConfig.getString( "messages.outdated-client", SpigotConfig.outdatedClientMessage ) );
SpigotConfig.outdatedServerMessage = SpigotConfig.transform( SpigotConfig.getString( "messages.outdated-server", SpigotConfig.outdatedServerMessage ) );
}
}