aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/de/hysky/skyblocker/utils
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/de/hysky/skyblocker/utils')
-rw-r--r--src/main/java/de/hysky/skyblocker/utils/scheduler/MessageScheduler.java20
-rw-r--r--src/main/java/de/hysky/skyblocker/utils/scheduler/Scheduler.java2
2 files changed, 14 insertions, 8 deletions
diff --git a/src/main/java/de/hysky/skyblocker/utils/scheduler/MessageScheduler.java b/src/main/java/de/hysky/skyblocker/utils/scheduler/MessageScheduler.java
index a67d8da0..43194938 100644
--- a/src/main/java/de/hysky/skyblocker/utils/scheduler/MessageScheduler.java
+++ b/src/main/java/de/hysky/skyblocker/utils/scheduler/MessageScheduler.java
@@ -1,6 +1,8 @@
package de.hysky.skyblocker.utils.scheduler;
import net.minecraft.client.MinecraftClient;
+import net.minecraft.util.StringHelper;
+import org.apache.commons.lang3.StringUtils;
/**
* A scheduler for sending chat messages or commands. Use the instance in {@link #INSTANCE}. Do not instantiate this class.
@@ -34,13 +36,17 @@ public class MessageScheduler extends Scheduler {
}
private void sendMessage(String message) {
- if (MinecraftClient.getInstance().player != null) {
- if (message.startsWith("/")) {
- MinecraftClient.getInstance().player.networkHandler.sendCommand(message.substring(1));
- } else {
- MinecraftClient.getInstance().inGameHud.getChatHud().addToMessageHistory(message);
- MinecraftClient.getInstance().player.networkHandler.sendChatMessage(message);
- }
+ MinecraftClient client = MinecraftClient.getInstance();
+ if (client.player == null) {
+ Scheduler.LOGGER.error("[Skyblocker Message Scheduler] Tried to send a message while player is null: {}", message);
+ return;
+ }
+ message = StringHelper.truncateChat(StringUtils.normalizeSpace(message.trim()));
+ if (message.startsWith("/")) {
+ client.player.networkHandler.sendCommand(message.substring(1));
+ } else {
+ client.inGameHud.getChatHud().addToMessageHistory(message);
+ client.player.networkHandler.sendChatMessage(message);
}
}
diff --git a/src/main/java/de/hysky/skyblocker/utils/scheduler/Scheduler.java b/src/main/java/de/hysky/skyblocker/utils/scheduler/Scheduler.java
index 139ac05e..2f5375fe 100644
--- a/src/main/java/de/hysky/skyblocker/utils/scheduler/Scheduler.java
+++ b/src/main/java/de/hysky/skyblocker/utils/scheduler/Scheduler.java
@@ -20,7 +20,7 @@ import java.util.function.Supplier;
* A scheduler for running tasks at a later time. Tasks will be run synchronously on the main client thread. Use the instance stored in {@link #INSTANCE}. Do not instantiate this class.
*/
public class Scheduler {
- private static final Logger LOGGER = LoggerFactory.getLogger(Scheduler.class);
+ protected static final Logger LOGGER = LoggerFactory.getLogger(Scheduler.class);
public static final Scheduler INSTANCE = new Scheduler();
private int currentTick = 0;
private final AbstractInt2ObjectMap<List<ScheduledTask>> tasks = new Int2ObjectOpenHashMap<>();