fix: fix bot save command

This commit is contained in:
Helvetica Volubi
2025-10-20 00:02:21 +08:00
parent 93c0258c7e
commit 4cc49c6d99
2 changed files with 20 additions and 5 deletions
@@ -56,9 +56,7 @@ public class RemoveCommand extends BotSubcommand {
private static boolean removeBot(@NotNull ServerBot bot, @Nullable CommandSender sender, boolean taskQueue) { private static boolean removeBot(@NotNull ServerBot bot, @Nullable CommandSender sender, boolean taskQueue) {
if (taskQueue) { if (taskQueue) {
bot.getBukkitEntity().taskScheduler.schedule((LivingEntity nmsEntity) -> { bot.getBukkitEntity().taskScheduler.schedule((LivingEntity nmsEntity) -> removeBotOrigin(bot, sender), null, 1L);
removeBotOrigin(bot, sender);
}, null, 1L);
} else { } else {
return removeBotOrigin(bot, sender); return removeBotOrigin(bot, sender);
} }
@@ -21,6 +21,7 @@ import com.mojang.brigadier.exceptions.CommandSyntaxException;
import fun.bm.lophine.config.modules.function.FakeplayerConfig; import fun.bm.lophine.config.modules.function.FakeplayerConfig;
import net.kyori.adventure.text.format.NamedTextColor; import net.kyori.adventure.text.format.NamedTextColor;
import net.minecraft.commands.CommandSourceStack; import net.minecraft.commands.CommandSourceStack;
import net.minecraft.world.entity.LivingEntity;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.leavesmc.leaves.bot.BotList; import org.leavesmc.leaves.bot.BotList;
@@ -55,8 +56,24 @@ public class SaveCommand extends BotSubcommand {
@Override @Override
protected boolean execute(@NotNull CommandContext context) throws CommandSyntaxException { protected boolean execute(@NotNull CommandContext context) throws CommandSyntaxException {
ServerBot bot = context.getCustomArgument(BotArgument.class); save(context.getCustomArgument(BotArgument.class), context.getSender());
CommandSender sender = context.getSender(); return true;
}
private boolean save(ServerBot bot, CommandSender sender) {
return save(bot, sender, true);
}
private boolean save(ServerBot bot, CommandSender sender, boolean taskQueue) {
if (taskQueue) {
bot.getBukkitEntity().taskScheduler.schedule((LivingEntity nmsEntity) -> saveOrigin(bot, sender), null, 1L);
} else {
saveOrigin(bot, sender);
}
return true;
}
private boolean saveOrigin(ServerBot bot, CommandSender sender) {
BotList botList = BotList.INSTANCE; BotList botList = BotList.INSTANCE;
boolean success = botList.removeBot(bot, BotRemoveEvent.RemoveReason.COMMAND, sender, true); boolean success = botList.removeBot(bot, BotRemoveEvent.RemoveReason.COMMAND, sender, true);