From 2c777ea3ad555a64d1d23204e94fc64630be407e Mon Sep 17 00:00:00 2001 From: gnembon Date: Tue, 26 May 2020 14:44:06 -0300 Subject: [PATCH] fix client crash when accessing messenger --- .../carpet/mixins/ClientPlayerEntity_clientCommandMixin.java | 3 ++- src/main/java/carpet/settings/SettingsManager.java | 4 ++-- src/main/java/carpet/utils/Messenger.java | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/main/java/carpet/mixins/ClientPlayerEntity_clientCommandMixin.java b/src/main/java/carpet/mixins/ClientPlayerEntity_clientCommandMixin.java index 622de0c3..a0347524 100644 --- a/src/main/java/carpet/mixins/ClientPlayerEntity_clientCommandMixin.java +++ b/src/main/java/carpet/mixins/ClientPlayerEntity_clientCommandMixin.java @@ -13,7 +13,8 @@ public class ClientPlayerEntity_clientCommandMixin @Inject(method = "sendChatMessage", at = @At("HEAD")) private void inspectMessage(String string, CallbackInfo ci) { + ClientPlayerEntity playerSource = (ClientPlayerEntity)(Object) this; if (CarpetServer.minecraft_server == null) - CarpetServer.settingsManager.inspectClientsideCommand(string); + CarpetServer.settingsManager.inspectClientsideCommand(playerSource.getCommandSource(), string); } } diff --git a/src/main/java/carpet/settings/SettingsManager.java b/src/main/java/carpet/settings/SettingsManager.java index 3b27d3c2..93aac4df 100644 --- a/src/main/java/carpet/settings/SettingsManager.java +++ b/src/main/java/carpet/settings/SettingsManager.java @@ -570,7 +570,7 @@ public class SettingsManager return 1; } - public void inspectClientsideCommand(String string) + public void inspectClientsideCommand(ServerCommandSource source, String string) { if (string.startsWith("/carpet ")) { @@ -581,7 +581,7 @@ public class SettingsManager String strOption = res[2]; if (rules.containsKey(setting) && rules.get(setting).isClient) { - rules.get(setting).set(null, strOption); + rules.get(setting).set(source, strOption); } } diff --git a/src/main/java/carpet/utils/Messenger.java b/src/main/java/carpet/utils/Messenger.java index 953028f8..78e7fddc 100644 --- a/src/main/java/carpet/utils/Messenger.java +++ b/src/main/java/carpet/utils/Messenger.java @@ -231,7 +231,7 @@ public class Messenger //message source public static void m(ServerCommandSource source, Object ... fields) { - source.sendFeedback(Messenger.c(fields),source.getMinecraftServer().getWorld(DimensionType.OVERWORLD) != null); + source.sendFeedback(Messenger.c(fields),source.getMinecraftServer() != null && source.getMinecraftServer().getWorld(DimensionType.OVERWORLD) != null); } public static void m(PlayerEntity player, Object ... fields) {