From d907002af0a5c032deb25437f7c73e3e94686f65 Mon Sep 17 00:00:00 2001 From: MC_XiaoHei Date: Sat, 27 Sep 2025 23:55:13 +0800 Subject: [PATCH] Do not throw when bot nbt is illegal (#746) * fix: do not throw when bot nbt illegal * fix: fix logic and format * refactor: better format * refactor: better format * refactor: better format * refactor: better format * refactor: better format --- .../leaves/bot/agent/actions/ServerBotAction.java | 10 +++++----- .../leaves/bot/agent/actions/ServerFishAction.java | 4 ++-- .../leaves/bot/agent/actions/ServerUseBotAction.java | 4 ++-- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/leaves-server/src/main/java/org/leavesmc/leaves/bot/agent/actions/ServerBotAction.java b/leaves-server/src/main/java/org/leavesmc/leaves/bot/agent/actions/ServerBotAction.java index f92f25d7..6d499951 100644 --- a/leaves-server/src/main/java/org/leavesmc/leaves/bot/agent/actions/ServerBotAction.java +++ b/leaves-server/src/main/java/org/leavesmc/leaves/bot/agent/actions/ServerBotAction.java @@ -133,12 +133,12 @@ public abstract class ServerBotAction> { public void load(@NotNull CompoundTag nbt) { this.uuid = nbt.read("actionUUID", UUIDUtil.CODEC).orElse(UUID.randomUUID()); - this.initialTickDelay = nbt.getInt("initialTickDelay").orElse(0); - this.initialTickInterval = nbt.getInt("initialTickInterval").orElse(0); - this.initialNumber = nbt.getInt("initialNumber").orElse(0); + this.initialTickDelay = nbt.getIntOr("initialTickDelay", 0); + this.initialTickInterval = nbt.getIntOr("initialTickInterval", 0); + this.initialNumber = nbt.getIntOr("initialNumber", 0); - this.tickToNext = nbt.getInt("tickToNext").orElse(0); - this.numberRemaining = nbt.getInt("numberRemaining").orElse(0); + this.tickToNext = nbt.getIntOr("tickToNext", 0); + this.numberRemaining = nbt.getIntOr("numberRemaining", 0); } public void stop(@NotNull ServerBot bot, BotActionStopEvent.Reason reason) { diff --git a/leaves-server/src/main/java/org/leavesmc/leaves/bot/agent/actions/ServerFishAction.java b/leaves-server/src/main/java/org/leavesmc/leaves/bot/agent/actions/ServerFishAction.java index 015c8777..08789314 100644 --- a/leaves-server/src/main/java/org/leavesmc/leaves/bot/agent/actions/ServerFishAction.java +++ b/leaves-server/src/main/java/org/leavesmc/leaves/bot/agent/actions/ServerFishAction.java @@ -38,8 +38,8 @@ public class ServerFishAction extends ServerTimerBotAction { @Override public void load(@NotNull CompoundTag nbt) { super.load(nbt); - this.initialFishInterval = nbt.getInt("initialFishInterval").orElseThrow(); - this.tickToNextFish = nbt.getInt("tickToNextFish").orElseThrow(); + this.initialFishInterval = nbt.getIntOr("initialFishInterval", this.initialFishInterval); + this.tickToNextFish = nbt.getIntOr("tickToNextFish", this.tickToNextFish); } @Override diff --git a/leaves-server/src/main/java/org/leavesmc/leaves/bot/agent/actions/ServerUseBotAction.java b/leaves-server/src/main/java/org/leavesmc/leaves/bot/agent/actions/ServerUseBotAction.java index 48c7a29d..b270c585 100644 --- a/leaves-server/src/main/java/org/leavesmc/leaves/bot/agent/actions/ServerUseBotAction.java +++ b/leaves-server/src/main/java/org/leavesmc/leaves/bot/agent/actions/ServerUseBotAction.java @@ -105,9 +105,9 @@ public abstract class ServerUseBotAction> extend @Override public void load(@NotNull CompoundTag nbt) { super.load(nbt); - this.useTickTimeout = nbt.getInt("useTick").orElseThrow(); + this.useTickTimeout = nbt.getIntOr("useTick", this.useTickTimeout); this.alreadyUsedTick = nbt.getInt("alreadyUsedTick").orElseGet( - () -> this.useTickTimeout - nbt.getInt("tickToRelease").orElseThrow() + () -> nbt.getInt("tickToRelease").map(tickToRelease -> this.useTickTimeout - tickToRelease).orElse(this.alreadyUsedTick) ); }