53 lines
2.7 KiB
Diff
53 lines
2.7 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Helvetica Volubi <suisuroru@blue-millennium.fun>
|
|
Date: Thu, 24 Apr 2025 20:59:52 +0800
|
|
Subject: [PATCH] Command IllegalArgumentException crash fix
|
|
|
|
|
|
diff --git a/net/minecraft/server/commands/FillCommand.java b/net/minecraft/server/commands/FillCommand.java
|
|
index 89154adfc659afa188cd771e70087e3b1a9c98b9..e622f96e6e116bf491bbea39da099e02ceaee502 100644
|
|
--- a/net/minecraft/server/commands/FillCommand.java
|
|
+++ b/net/minecraft/server/commands/FillCommand.java
|
|
@@ -210,6 +210,10 @@ public class FillCommand {
|
|
// Folia start - region threading
|
|
} catch (CommandSyntaxException ex) {
|
|
sendMessage(source, ex);
|
|
+ // Luminol Start - Server crash fix
|
|
+ } catch (IllegalArgumentException ex) {
|
|
+ net.minecraft.server.commands.SetBlockCommand.processIAE(source, ex);
|
|
+ // Luminol End - Server crash fix
|
|
}
|
|
}); return 0; // Folia end - region threading
|
|
}
|
|
diff --git a/net/minecraft/server/commands/SetBlockCommand.java b/net/minecraft/server/commands/SetBlockCommand.java
|
|
index 05b824409546ba8bacf7efdaeac106af89ff0715..55911d49c7650b344b46b2cfa9c4ae840ae433c8 100644
|
|
--- a/net/minecraft/server/commands/SetBlockCommand.java
|
|
+++ b/net/minecraft/server/commands/SetBlockCommand.java
|
|
@@ -86,6 +86,15 @@ public class SetBlockCommand {
|
|
}
|
|
// Folia end - region threading
|
|
|
|
+ // Luminol Start - Server crash fix
|
|
+ public static void processIAE(CommandSourceStack src, IllegalArgumentException ex) {
|
|
+ Component hoverText = Component.translatable("command.failed")
|
|
+ .withStyle(style -> style.withHoverEvent(new net.minecraft.network.chat.HoverEvent(net.minecraft.network.chat.HoverEvent.Action.SHOW_TEXT, Component.literal(ex.getMessage()))));
|
|
+ src.sendFailure(hoverText);
|
|
+ com.mojang.logging.LogUtils.getLogger().error(ex.getMessage(), ex);
|
|
+ }
|
|
+ // Luminol end - Server crash fix
|
|
+
|
|
private static int setBlock(
|
|
CommandSourceStack source, BlockPos pos, BlockInput state, SetBlockCommand.Mode mode, @Nullable Predicate<BlockInWorld> predicate
|
|
) throws CommandSyntaxException {
|
|
@@ -119,6 +128,10 @@ public class SetBlockCommand {
|
|
// Folia start - region threading
|
|
} catch (CommandSyntaxException ex) {
|
|
sendMessage(source, ex);
|
|
+ // Luminol Start - Server crash fix
|
|
+ } catch (IllegalArgumentException ex) {
|
|
+ processIAE(source, ex);
|
|
+ // Luminol End - Server crash fix
|
|
}
|
|
});
|
|
return 1;
|