diff --git a/src/main/java/de/srendi/advancedperipherals/common/addons/computercraft/peripheral/ChatBoxPeripheral.java b/src/main/java/de/srendi/advancedperipherals/common/addons/computercraft/peripheral/ChatBoxPeripheral.java index ee9f20d6b..562e18ce9 100644 --- a/src/main/java/de/srendi/advancedperipherals/common/addons/computercraft/peripheral/ChatBoxPeripheral.java +++ b/src/main/java/de/srendi/advancedperipherals/common/addons/computercraft/peripheral/ChatBoxPeripheral.java @@ -113,7 +113,11 @@ public final MethodResult sendFormattedMessage(@NotNull IArguments arguments) th if (checkBrackets(arguments.optString(2))) return MethodResult.of(null, "incorrect bracket string (e.g. [], {}, <>, ...)"); - MutableComponent preparedMessage = appendPrefix(arguments.optString(1, APConfig.PERIPHERALS_CONFIG.defaultChatBoxPrefix.get()), arguments.optString(2, "[]"), arguments.optString(3, "")).append(component); + MutableComponent preparedMessage = appendPrefix( + arguments.optString(1, APConfig.PERIPHERALS_CONFIG.defaultChatBoxPrefix.get()), + arguments.optString(2, "[]"), + arguments.optString(3, "").replaceAll("&", "\u00a7") + ).append(component); for (ServerPlayer player : ServerLifecycleHooks.getCurrentServer().getPlayerList().getPlayers()) { if (!APConfig.PERIPHERALS_CONFIG.chatBoxMultiDimensional.get() && player.getLevel().dimension() != dimension) continue; @@ -135,7 +139,11 @@ public final MethodResult sendMessage(@NotNull IArguments arguments) throws LuaE if (checkBrackets(arguments.optString(2))) return MethodResult.of(null, "incorrect bracket string (e.g. [], {}, <>, ...)"); - MutableComponent preparedMessage = appendPrefix(arguments.optString(1, APConfig.PERIPHERALS_CONFIG.defaultChatBoxPrefix.get()), arguments.optString(2, "[]"), arguments.optString(3, "")).append(message); + MutableComponent preparedMessage = appendPrefix( + arguments.optString(1, APConfig.PERIPHERALS_CONFIG.defaultChatBoxPrefix.get()), + arguments.optString(2, "[]"), + arguments.optString(3, "").replaceAll("&", "\u00a7") + ).append(message); for (ServerPlayer player : ServerLifecycleHooks.getCurrentServer().getPlayerList().getPlayers()) { if (!APConfig.PERIPHERALS_CONFIG.chatBoxMultiDimensional.get() && player.getLevel().dimension() != dimension) continue; @@ -152,7 +160,7 @@ public final MethodResult sendFormattedMessageToPlayer(@NotNull IArguments argum String message = arguments.getString(0); String playerName = arguments.getString(1); int maxRange = APConfig.PERIPHERALS_CONFIG.chatBoxMaxRange.get(); - int range = arguments.optInt(4, maxRange); + int range = arguments.optInt(5, maxRange); range = maxRange == -1 ? range : Math.min(range, APConfig.PERIPHERALS_CONFIG.chatBoxMaxRange.get()); ResourceKey dimension = getLevel().dimension(); ServerPlayer player = getPlayer(playerName); @@ -166,7 +174,11 @@ public final MethodResult sendFormattedMessageToPlayer(@NotNull IArguments argum if (checkBrackets(arguments.optString(3))) return MethodResult.of(null, "incorrect bracket string (e.g. [], {}, <>, ...)"); - MutableComponent preparedMessage = appendPrefix(arguments.optString(2, APConfig.PERIPHERALS_CONFIG.defaultChatBoxPrefix.get()), arguments.optString(3, "[]"), arguments.optString(4, "")).append(component); + MutableComponent preparedMessage = appendPrefix( + arguments.optString(2, APConfig.PERIPHERALS_CONFIG.defaultChatBoxPrefix.get()), + arguments.optString(3, "[]"), + arguments.optString(4, "").replaceAll("&", "\u00a7") + ).append(component); if (!APConfig.PERIPHERALS_CONFIG.chatBoxMultiDimensional.get() && player.getLevel().dimension() != dimension) return MethodResult.of(false, "NOT_SAME_DIMENSION"); @@ -182,7 +194,7 @@ public final MethodResult sendMessageToPlayer(@NotNull IArguments arguments) thr String message = arguments.getString(0); String playerName = arguments.getString(1); int maxRange = APConfig.PERIPHERALS_CONFIG.chatBoxMaxRange.get(); - int range = arguments.optInt(4, maxRange); + int range = arguments.optInt(5, maxRange); range = maxRange == -1 ? range : Math.min(range, APConfig.PERIPHERALS_CONFIG.chatBoxMaxRange.get()); ResourceKey dimension = getLevel().dimension(); ServerPlayer player = getPlayer(playerName); @@ -192,7 +204,11 @@ public final MethodResult sendMessageToPlayer(@NotNull IArguments arguments) thr if (checkBrackets(arguments.optString(3))) return MethodResult.of(null, "incorrect bracket string (e.g. [], {}, <>, ...)"); - MutableComponent preparedMessage = appendPrefix(arguments.optString(2, APConfig.PERIPHERALS_CONFIG.defaultChatBoxPrefix.get()), arguments.optString(3, "[]"), arguments.optString(4, "")).append(message); + MutableComponent preparedMessage = appendPrefix( + arguments.optString(2, APConfig.PERIPHERALS_CONFIG.defaultChatBoxPrefix.get()), + arguments.optString(3, "[]"), + arguments.optString(4, "").replaceAll("&", "\u00a7") + ).append(message); if (!APConfig.PERIPHERALS_CONFIG.chatBoxMultiDimensional.get() && player.getLevel().dimension() != dimension) return MethodResult.of(false, "NOT_SAME_DIMENSION");