From 4b5b697883b417aa392469def2014accc5a82527 Mon Sep 17 00:00:00 2001 From: Hedzer Kuijlman Date: Sat, 12 Apr 2025 16:19:36 +0200 Subject: [PATCH] Added color to Chat Calc answer & made optional to add an equals sign --- .../survivalfabric/mixin/PlayerManagerMixin.java | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/main/java/wtf/hak/survivalfabric/mixin/PlayerManagerMixin.java b/src/main/java/wtf/hak/survivalfabric/mixin/PlayerManagerMixin.java index a1b54ff..3239912 100644 --- a/src/main/java/wtf/hak/survivalfabric/mixin/PlayerManagerMixin.java +++ b/src/main/java/wtf/hak/survivalfabric/mixin/PlayerManagerMixin.java @@ -51,10 +51,14 @@ public abstract class PlayerManagerMixin { private void onBroadcast(SignedMessage message, ServerPlayerEntity sender, MessageType.Parameters parameters, CallbackInfo ci) { if (sender != null && ConfigManager.getConfig().chatMessageEnabled) { String rawMessage = message.getContent().getString().trim(); - if (sender != null && ConfigManager.getConfig().chatCalcEnabled && rawMessage.endsWith("=")) { - String expression = rawMessage.substring(0, rawMessage.length() - 1).trim(); + if (sender != null && ConfigManager.getConfig().chatCalcEnabled) { + String expression = rawMessage.endsWith("=") ? rawMessage.substring(0, rawMessage.length() - 1).trim() : rawMessage; try { String result = String.valueOf(evaluateExpression(expression)); + String old = rawMessage; + rawMessage += "§6"; + if (rawMessage.contains(" ")) rawMessage += " "; + if (!old.trim().endsWith("=")) rawMessage += "="; if (rawMessage.contains(" ")) rawMessage += " "; rawMessage += (result.endsWith(".0")) ? result.substring(0, result.length() - 2) : result; } catch (Exception e) { @@ -65,10 +69,13 @@ public abstract class PlayerManagerMixin { ci.cancel(); } else if (sender != null && ConfigManager.getConfig().chatCalcEnabled) { String rawMessage = message.getContent().getString().trim(); - if (rawMessage.endsWith("=")) { - String expression = rawMessage.substring(0, rawMessage.length() - 1).trim(); + String expression = rawMessage.endsWith("=") ? rawMessage.substring(0, rawMessage.length() - 1).trim() : rawMessage; try { String result = String.valueOf(evaluateExpression(expression)); + String old = rawMessage; + rawMessage += "§6"; + if (rawMessage.contains(" ")) rawMessage += " "; + if (!old.trim().endsWith("=")) rawMessage += "="; if (rawMessage.contains(" ")) rawMessage += " "; rawMessage += (result.endsWith(".0")) ? result.substring(0, result.length() - 2) : result; Text formattedMessage = Text.literal("<" + sender.getName().getString() + "> " + rawMessage); @@ -76,7 +83,6 @@ public abstract class PlayerManagerMixin { ci.cancel(); } catch (Exception e) { } - } } }