Update kick / join messages

This commit is contained in:
Sotr
2018-06-13 20:53:11 +08:00
parent 3938713380
commit bc2a639c52
6 changed files with 1594 additions and 12 deletions

View File

@@ -48,6 +48,8 @@ public abstract class Akari {
return Thread.currentThread().equals(MinecraftServer.getServer().primaryThread);
}
public static final String EMPTY_STRING = "";
/*
* The unsafe
*/

View File

@@ -226,21 +226,51 @@ public class AkarinGlobalConfig {
public static String messageKick;
private static void messageKick() {
messageKick = getString("messages.kick-player", "Kicked by an operator.");
messageKick = getString("messages.disconnect.kick-player", "Kicked by an operator.");
}
public static String messageBan;
private static void messageBan() {
messageBan = getString("messages.ban-player-name", "You are banned from this server.");
messageBan = getString("messages.disconnect.ban-player-name", "You are banned from this server!");
}
public static String messageBanReason;
private static void messageBanReason() {
messageBanReason = getString("messages.disconnect.ban-player-name-reason", "Reason: ");
}
public static String messageBanExpires;
private static void messageBanExpires() {
messageBanExpires = getString("messages.disconnect.ban-player-name-expires", "Your ban will be removed on ");
}
public static String messageBanIp;
private static void messageBanIp() {
messageBanIp = getString("messages.ban-player-ip", "You have been IP banned.");
messageBanIp = getString("messages.disconnect.ban-player-ip", "Your IP address is banned from this server!");
}
public static String kickKeepAlive;
private static void kickKeepAlive() {
kickKeepAlive = getString("messages.kick-player-timeout-keep-alive", "Timed out");
public static String messageDupLogin;
private static void messageDupLogin() {
messageDupLogin = getString("messages.disconnect.kick-player-duplicate-login", "You logged in from another location");
}
public static String messageJoin;
private static void messageJoin() {
messageJoin = getString("messages.connect.player-join-server", "§e%s joined the game");
}
public static String messageJoinRenamed;
private static void messageJoinRenamed() {
messageJoinRenamed = getString("messages.connect.renamed-player-join-server", "§e%s (formerly known as %s) joined the game");
}
public static String messageKickKeepAlive;
private static void messagekickKeepAlive() {
messageKickKeepAlive = getString("messages.disconnect.kick-player-timeout-keep-alive", "Timed out");
}
public static String messagePlayerQuit;
private static void messagePlayerQuit() {
messagePlayerQuit = getString("messages.disconnect.player-quit-server", "§e%s left the game");
}
}

View File

@@ -7,6 +7,7 @@ import org.spongepowered.asm.mixin.Overwrite;
import com.mojang.authlib.GameProfile;
import io.akarin.api.Akari;
import io.akarin.server.core.AkarinGlobalConfig;
import net.minecraft.server.CommandAbstract;
import net.minecraft.server.CommandBan;
@@ -28,17 +29,19 @@ public class MixinCommandBan {
if (profile == null) {
throw new CommandException("commands.ban.failed", new Object[] {args[0]});
} else {
// Akarin start - use string
boolean hasReason = true; // Akarin
String message = null;
if (args.length >= 2) {
// Akarin start - use string
message = "";
for (int i = 2; i < args.length; i++) {
message = message + args[i];
}
// Akarin end
} else {
message = AkarinGlobalConfig.messageBan; // Akarin - modify message
hasReason = false; // Akarin
message = Akari.EMPTY_STRING; // Akarin - modify message
}
// Akarin end
GameProfileBanEntry entry = new GameProfileBanEntry(profile, (Date) null, sender.getName(), (Date) null, message);
@@ -46,7 +49,7 @@ public class MixinCommandBan {
EntityPlayer entityplayer = server.getPlayerList().getPlayer(args[0]);
if (entityplayer != null) {
entityplayer.playerConnection.disconnect(message);
entityplayer.playerConnection.disconnect(hasReason ? message : AkarinGlobalConfig.messageBan);
}
CommandAbstract.a(sender, (ICommand) this, "commands.ban.success", args[0]); // PAIL: notifyCommandListener

View File

@@ -6,6 +6,8 @@ import javax.annotation.Nullable;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Overwrite;
import io.akarin.api.Akari;
import io.akarin.server.core.AkarinGlobalConfig;
import net.minecraft.server.CommandAbstract;
import net.minecraft.server.CommandBanIp;
@@ -19,7 +21,13 @@ import net.minecraft.server.MinecraftServer;
public class MixinCommandBanIp {
@Overwrite // PAIL: banIp
protected void a(MinecraftServer server, ICommandListener sender, String args, @Nullable String banReason) {
if (banReason == null) banReason = AkarinGlobalConfig.messageBanIp; // Akarin - modify message
// Akarin start - modify message
boolean hasReason = true;
if (banReason == null) {
banReason = Akari.EMPTY_STRING;
hasReason = false;
}
// Akarin end
IpBanEntry ipbanentry = new IpBanEntry(args, (Date) null, sender.getName(), (Date) null, banReason);
server.getPlayerList().getIPBans().add(ipbanentry);
@@ -29,7 +37,7 @@ public class MixinCommandBanIp {
for (int i = 0; i < banPlayerNames.length; i++) {
EntityPlayer each = withIpPlayers.get(i);
banPlayerNames[i] = each.getName();
each.playerConnection.disconnect(banReason);
each.playerConnection.disconnect(hasReason ? banReason : AkarinGlobalConfig.messageBanIp); // Akarin
}
if (withIpPlayers.isEmpty()) {

File diff suppressed because it is too large Load Diff