aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/xmrvizzy
diff options
context:
space:
mode:
authorExternal Time <84183548+ExternalTime@users.noreply.github.com>2022-04-07 20:30:06 +0200
committerExternal Time <84183548+ExternalTime@users.noreply.github.com>2022-04-07 20:30:06 +0200
commit4ac927ca52d580f3db3f7908cbb45a520e89c55a (patch)
treec194c947de0a8d1a3889eabe5459ef981a106fd7 /src/main/java/me/xmrvizzy
parent481ea9be68c316ff362c64457f72968ec72120d5 (diff)
downloadSkyblocker-4ac927ca52d580f3db3f7908cbb45a520e89c55a.tar.gz
Skyblocker-4ac927ca52d580f3db3f7908cbb45a520e89c55a.tar.bz2
Skyblocker-4ac927ca52d580f3db3f7908cbb45a520e89c55a.zip
Replaced most assertions with proper error handling
Diffstat (limited to 'src/main/java/me/xmrvizzy')
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/mixin/ChatHudListenerMixin.java5
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonBlaze.java8
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/Reparty.java8
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/ThreeWeirdos.java8
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/Trivia.java6
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/Fetchur.java2
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/Puzzler.java4
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/utils/Scheduler.java14
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/utils/Utils.java4
9 files changed, 33 insertions, 26 deletions
diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/ChatHudListenerMixin.java b/src/main/java/me/xmrvizzy/skyblocker/mixin/ChatHudListenerMixin.java
index 2a9984b3..7e5411aa 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/mixin/ChatHudListenerMixin.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/mixin/ChatHudListenerMixin.java
@@ -33,9 +33,8 @@ public class ChatHudListenerMixin {
switch (result) {
case ACTION_BAR:
ClientPlayerEntity player = client.player;
- // Couldn't have received original message if client was null
- assert player != null;
- player.sendMessage(message, true);
+ if (player != null)
+ player.sendMessage(message, true);
case FILTER:
ci.cancel();
}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonBlaze.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonBlaze.java
index 1b87925c..4554372b 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonBlaze.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonBlaze.java
@@ -7,6 +7,7 @@ import me.xmrvizzy.skyblocker.utils.RenderUtils;
import net.fabricmc.fabric.api.client.rendering.v1.WorldRenderContext;
import net.fabricmc.fabric.api.client.rendering.v1.WorldRenderEvents;
import net.minecraft.client.MinecraftClient;
+import net.minecraft.client.world.ClientWorld;
import net.minecraft.entity.Entity;
import net.minecraft.util.math.Box;
import org.slf4j.Logger;
@@ -19,15 +20,14 @@ public class DungeonBlaze {
static boolean renderHooked = false;
public static void update() {
- if (!Utils.isInDungeons) return;
- MinecraftClient client = MinecraftClient.getInstance();
+ ClientWorld world = MinecraftClient.getInstance().world;
+ if (world == null || !Utils.isInDungeons) return;
if(!renderHooked){
WorldRenderEvents.END.register(DungeonBlaze::blazeRenderer);
renderHooked = true;
}
- assert client.world != null;
- Iterable<Entity> entities = client.world.getEntities();
+ Iterable<Entity> entities = world.getEntities();
int highestHealth = 0;
int lowestHealth = 99999999;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/Reparty.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/Reparty.java
index f5fd1151..c3da7c18 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/Reparty.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/Reparty.java
@@ -27,9 +27,8 @@ public class Reparty extends ChatPatternListener {
repartying = false;
ClientCommandManager.DISPATCHER.register(
ClientCommandManager.literal("rp").executes(context -> {
- if (!Utils.isOnSkyblock || repartying)
+ if (!Utils.isOnSkyblock || repartying || client.player == null)
return 0;
- assert client.player != null;
repartying = true;
client.player.sendChatMessage("/p list");
return 0;
@@ -63,7 +62,10 @@ public class Reparty extends ChatPatternListener {
private void reparty() {
ClientPlayerEntity playerEntity = client.player;
- assert playerEntity != null;
+ if (playerEntity == null) {
+ repartying = false;
+ return;
+ }
sendCommand(playerEntity, "/p disband", 1);
StringBuilder sb = new StringBuilder();
int invites = (players.length - 1) / 5 + 1;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/ThreeWeirdos.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/ThreeWeirdos.java
index 8f1f3711..da964f07 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/ThreeWeirdos.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/ThreeWeirdos.java
@@ -23,17 +23,13 @@ public class ThreeWeirdos extends ChatPatternListener {
@Override
public boolean onMatch(Text message, Matcher matcher) {
MinecraftClient client = MinecraftClient.getInstance();
- assert client.world != null;
- assert client.player != null;
+ if (client.player == null || client.world == null) return false;
client.world.getEntitiesByClass(
ArmorStandEntity.class,
client.player.getBoundingBox().expand(3),
entity -> {
Text customName = entity.getCustomName();
- if (customName != null && customName.getString().equals(matcher.group(1))) {
- return true;
- }
- return false;
+ return customName != null && customName.getString().equals(matcher.group(1));
}
).forEach(
entity -> entity.setCustomName(Text.of(Formatting.GREEN + matcher.group(1)))
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/Trivia.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/Trivia.java
index 51ff1c6a..673797d4 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/Trivia.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/Trivia.java
@@ -31,9 +31,9 @@ public class Trivia extends ChatPatternListener {
if (riddle != null) {
if (!solutions.contains(riddle)) {
ClientPlayerEntity player = MinecraftClient.getInstance().player;
- assert player != null;
- MinecraftClient.getInstance().player.sendMessage(new LiteralText(" " + Formatting.GOLD + matcher.group(2) + Formatting.RED + " " + riddle), false);
- return true;
+ if (player != null)
+ MinecraftClient.getInstance().player.sendMessage(new LiteralText(" " + Formatting.GOLD + matcher.group(2) + Formatting.RED + " " + riddle), false);
+ return player != null;
}
} else
updateSolutions(matcher.group(0));
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/Fetchur.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/Fetchur.java
index ce1dde11..ccd47c5a 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/Fetchur.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/Fetchur.java
@@ -26,7 +26,7 @@ public class Fetchur extends ChatPatternListener {
@Override
public boolean onMatch(Text message, Matcher matcher) {
MinecraftClient client = MinecraftClient.getInstance();
- assert client.player != null;
+ if (client.player == null) return false;
String riddle = matcher.group(1);
String answer = answers.getOrDefault(riddle, riddle);
client.player.sendMessage(Text.of("§e[NPC] Fetchur§f: " + answer), false);
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/Puzzler.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/Puzzler.java
index f61e007e..06395898 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/Puzzler.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/Puzzler.java
@@ -32,8 +32,8 @@ public class Puzzler extends ChatPatternListener {
else if (c == '▶') x--;
}
ClientWorld world = MinecraftClient.getInstance().world;
- assert world != null;
- world.setBlockStateWithoutNeighborUpdates(new BlockPos(x, 195, z), Blocks.CRIMSON_PLANKS.getDefaultState());
+ if (world != null)
+ world.setBlockStateWithoutNeighborUpdates(new BlockPos(x, 195, z), Blocks.CRIMSON_PLANKS.getDefaultState());
return false;
}
} \ No newline at end of file
diff --git a/src/main/java/me/xmrvizzy/skyblocker/utils/Scheduler.java b/src/main/java/me/xmrvizzy/skyblocker/utils/Scheduler.java
index 0fdf4892..16e5b023 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/utils/Scheduler.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/utils/Scheduler.java
@@ -1,8 +1,12 @@
package me.xmrvizzy.skyblocker.utils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
import java.util.PriorityQueue;
public class Scheduler {
+ private static final Logger LOGGER = LoggerFactory.getLogger(Scheduler.class);
private int currentTick;
private final PriorityQueue<ScheduledTask> tasks;
@@ -12,21 +16,25 @@ public class Scheduler {
}
public void schedule(Runnable task, int delay) {
- assert delay > 0;
+ if (delay < 0)
+ LOGGER.warn("Scheduled a task with negative delay");
ScheduledTask tmp = new ScheduledTask(currentTick + delay, task);
tasks.add(tmp);
}
public void scheduleCyclic(Runnable task, int period) {
- new CyclicTask(task, period).run();
+ if (period <= 0)
+ LOGGER.error("Attempted to schedule a cyclic task with period lower than 1");
+ else
+ new CyclicTask(task, period).run();
}
public void tick() {
currentTick += 1;
ScheduledTask task;
while ((task = tasks.peek()) != null && task.schedule <= currentTick) {
- task.run();
tasks.poll();
+ task.run();
}
}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/utils/Utils.java b/src/main/java/me/xmrvizzy/skyblocker/utils/Utils.java
index 66d04b50..5894c9df 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/utils/Utils.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/utils/Utils.java
@@ -3,6 +3,7 @@ package me.xmrvizzy.skyblocker.utils;
import me.xmrvizzy.skyblocker.skyblock.item.PriceInfoTooltip;
import net.fabricmc.fabric.api.client.item.v1.ItemTooltipCallback;
import net.minecraft.client.MinecraftClient;
+import net.minecraft.client.network.ClientPlayerEntity;
import net.minecraft.scoreboard.Scoreboard;
import net.minecraft.scoreboard.ScoreboardObjective;
import net.minecraft.scoreboard.ScoreboardPlayerScore;
@@ -102,7 +103,8 @@ public class Utils {
public static List<String> getSidebar() {
try {
- assert MinecraftClient.getInstance().player != null;
+ ClientPlayerEntity client = MinecraftClient.getInstance().player;
+ if (client == null) return Collections.emptyList();
Scoreboard scoreboard = MinecraftClient.getInstance().player.getScoreboard();
ScoreboardObjective objective = scoreboard.getObjectiveForSlot(1);
List<String> lines = new ArrayList<>();