Merge pull request #23 from GrizzlT/feature/chat-option

Added chat disabling option
This commit is contained in:
LOOHP 2021-08-25 21:31:29 +08:00 committed by GitHub
commit 013662db0c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 20 additions and 7 deletions

View File

@ -38,6 +38,7 @@ public class ServerProperties {
private Location worldSpawn; private Location worldSpawn;
private boolean reducedDebugInfo; private boolean reducedDebugInfo;
private boolean allowFlight; private boolean allowFlight;
private boolean allowChat;
private String motdJson; private String motdJson;
private String versionString; private String versionString;
private int protocol; private int protocol;
@ -93,6 +94,7 @@ public class ServerProperties {
worldSpawn = new Location(world, x, y, z, yaw, pitch); worldSpawn = new Location(world, x, y, z, yaw, pitch);
reducedDebugInfo = Boolean.parseBoolean(prop.getProperty("reduced-debug-info")); reducedDebugInfo = Boolean.parseBoolean(prop.getProperty("reduced-debug-info"));
allowFlight = Boolean.parseBoolean(prop.getProperty("allow-flight")); allowFlight = Boolean.parseBoolean(prop.getProperty("allow-flight"));
allowChat = Boolean.parseBoolean(prop.getProperty("allow-chat"));
motdJson = prop.getProperty("motd"); motdJson = prop.getProperty("motd");
versionString = prop.getProperty("version"); versionString = prop.getProperty("version");
bungeecord = Boolean.parseBoolean(prop.getProperty("bungeecord")); bungeecord = Boolean.parseBoolean(prop.getProperty("bungeecord"));
@ -213,6 +215,10 @@ public class ServerProperties {
return allowFlight; return allowFlight;
} }
public boolean isAllowChat() {
return this.allowChat;
}
public String getMotdJson() { public String getMotdJson() {
return motdJson; return motdJson;
} }

View File

@ -247,13 +247,15 @@ public class Player extends LivingEntity implements CommandSender {
} }
public void chat(String message) { public void chat(String message) {
String format = "<%name%> %message%"; if (Limbo.getInstance().getServerProperties().isAllowChat()) {
PlayerChatEvent event = (PlayerChatEvent) Limbo.getInstance().getEventsManager().callEvent(new PlayerChatEvent(this, format, message, false)); String format = "<%name%> %message%";
if (!event.isCancelled()) { PlayerChatEvent event = (PlayerChatEvent) Limbo.getInstance().getEventsManager().callEvent(new PlayerChatEvent(this, format, message, false));
String chat = event.getFormat().replace("%name%", username).replace("%message%", event.getMessage()); if (!event.isCancelled() && this.hasPermission("limboserver.chat")) {
Limbo.getInstance().getConsole().sendMessage(chat); String chat = event.getFormat().replace("%name%", username).replace("%message%", event.getMessage());
for (Player each : Limbo.getInstance().getPlayers()) { Limbo.getInstance().getConsole().sendMessage(chat);
each.sendMessage(chat, uuid); for (Player each : Limbo.getInstance().getPlayers()) {
each.sendMessage(chat, uuid);
}
} }
} }
} }

View File

@ -6,6 +6,7 @@ groups:
- limboserver.gamemode - limboserver.gamemode
default: default:
- limboserver.spawn - limboserver.spawn
- limboserver.chat
players: players:
LOOHP: LOOHP:

View File

@ -31,6 +31,10 @@ level-dimension=minecraft:overworld
#Whether Flying is allowed #Whether Flying is allowed
allow-flight=false allow-flight=false
#Whether chat messages are allowed
#Setting this property to false should give more performance but will render the "limboserver.chat" permission powerless
allow-chat=true
#GameMode, survival, creative, adventure, spectator #GameMode, survival, creative, adventure, spectator
default-gamemode=creative default-gamemode=creative