From 14c68eb5ba16774f581d95a39e64a7b303954ffc Mon Sep 17 00:00:00 2001 From: Arslaan Pathan Date: Sat, 26 Sep 2026 17:05:36 +1200 Subject: migration to 26.2 - run migrateMappings with old loom then bring it back to new --- .../arslaansmagichax/commands/CrashCommand.java | 49 ++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 src/main/java/com/arslaancodes/arslaansmagichax/commands/CrashCommand.java (limited to 'src/main/java/com/arslaancodes/arslaansmagichax/commands/CrashCommand.java') diff --git a/src/main/java/com/arslaancodes/arslaansmagichax/commands/CrashCommand.java b/src/main/java/com/arslaancodes/arslaansmagichax/commands/CrashCommand.java new file mode 100644 index 0000000..09be43c --- /dev/null +++ b/src/main/java/com/arslaancodes/arslaansmagichax/commands/CrashCommand.java @@ -0,0 +1,49 @@ +package com.arslaancodes.arslaansmagichax.commands; + +import com.mojang.brigadier.CommandDispatcher; +import com.mojang.brigadier.arguments.IntegerArgumentType; +import com.mojang.brigadier.arguments.StringArgumentType; +import com.mojang.brigadier.context.CommandContext; +import com.mojang.brigadier.exceptions.CommandSyntaxException; +import net.fabricmc.fabric.api.client.command.v2.ClientCommandManager; +import net.fabricmc.fabric.api.client.command.v2.FabricClientCommandSource; +import net.minecraft.client.Minecraft; +import net.minecraft.commands.CommandBuildContext; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.sounds.SoundEvent; + +public class CrashCommand { + public static void register(CommandDispatcher dispatcher, CommandBuildContext access) { + dispatcher.register(ClientCommandManager.literal("surprise") + .executes(CrashCommand::run) + ); + } + + private static int run(CommandContext ctx) { + Minecraft client = Minecraft.getInstance(); + + client.execute(() -> { + client.player.playSound( + SoundEvent.createVariableRangeEvent(ResourceLocation.parse("minecraft:entity.evoker.prepare_wololo")), + 1.0f, // volume + 1.0f // pitch + ); + }); + + new Thread(() -> { + try { Thread.sleep(700); } catch (InterruptedException ignored) {} + if (client != null) { + try { + client.player = null; + client.cameraEntity = null; + client.screen = null; + client.hitResult = null; + client.crosshairPickEntity = null; + } catch (Throwable ignored) {} + } + Runtime.getRuntime().halt(1); + }, "surprise-halt-thread").start(); + + return 1; + } +} -- cgit v1.2.3