Scaffold NeoForge port
Some checks failed
Build / build (push) Failing after 13s

This commit is contained in:
MrSphay
2026-05-04 12:09:37 +02:00
parent 0b99b2130a
commit dcd08a876e
559 changed files with 19697 additions and 0 deletions

View File

@@ -0,0 +1,130 @@
/*
* Decompiled with CFR 0.152.
*/
package com.vinlanx.explosionoverhaul;
import com.mojang.brigadier.CommandDispatcher;
import com.mojang.brigadier.arguments.ArgumentType;
import com.mojang.brigadier.arguments.FloatArgumentType;
import com.mojang.brigadier.arguments.IntegerArgumentType;
import com.mojang.brigadier.arguments.StringArgumentType;
import com.mojang.brigadier.builder.LiteralArgumentBuilder;
import com.mojang.brigadier.context.CommandContext;
import com.mojang.brigadier.suggestion.SuggestionsBuilder;
import com.vinlanx.explosionoverhaul.BlockIndexManager;
import com.vinlanx.explosionoverhaul.BlurTestPacket;
import com.vinlanx.explosionoverhaul.CameraShakeConcussionPacket;
import com.vinlanx.explosionoverhaul.ExplosionOverhaul;
import com.vinlanx.explosionoverhaul.LowPassTestPacket;
import com.vinlanx.explosionoverhaul.ModParticles;
import com.vinlanx.explosionoverhaul.OpenALTogglePacket;
import com.vinlanx.explosionoverhaul.PacketHandler;
import com.vinlanx.explosionoverhaul.SpawnCustomGlowPacket;
import java.util.Arrays;
import net.minecraft.commands.CommandSourceStack;
import net.minecraft.commands.Commands;
import net.minecraft.commands.SharedSuggestionProvider;
import net.minecraft.commands.arguments.coordinates.Vec3Argument;
import net.minecraft.core.particles.ParticleOptions;
import net.minecraft.core.particles.SimpleParticleType;
import net.minecraft.network.chat.Component;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.server.level.ServerPlayer;
import net.minecraft.util.RandomSource;
import net.minecraft.world.entity.Entity;
import net.minecraft.world.phys.Vec3;
import net.neoforged.neoforge.event.RegisterCommandsEvent;
import net.neoforged.bus.api.SubscribeEvent;
import net.neoforged.fml.common.Mod;
import net.neoforged.neoforge.network.PacketDistributor;
@Mod.EventBusSubscriber(modid="explosionoverhaul")
public class ModCommands {
@SubscribeEvent
public static void onCommandsRegister(RegisterCommandsEvent event) {
CommandDispatcher dispatcher = event.getDispatcher();
dispatcher.register((LiteralArgumentBuilder)((LiteralArgumentBuilder)Commands.m_82127_((String)"modparticle").requires(source -> source.m_6761_(2))).then(Commands.m_82129_((String)"pos", (ArgumentType)Vec3Argument.m_120841_()).then(Commands.m_82129_((String)"zone", (ArgumentType)IntegerArgumentType.integer((int)0, (int)1)).then(Commands.m_82129_((String)"power", (ArgumentType)FloatArgumentType.floatArg((float)1.0f)).then(Commands.m_82129_((String)"scale", (ArgumentType)FloatArgumentType.floatArg((float)0.1f)).then(Commands.m_82129_((String)"count", (ArgumentType)IntegerArgumentType.integer((int)1)).executes(ctx -> {
ServerLevel level = ((CommandSourceStack)ctx.getSource()).m_81372_();
Vec3 pos = Vec3Argument.m_120844_((CommandContext)ctx, (String)"pos");
int zone = IntegerArgumentType.getInteger((CommandContext)ctx, (String)"zone");
float power = FloatArgumentType.getFloat((CommandContext)ctx, (String)"power");
float scale = FloatArgumentType.getFloat((CommandContext)ctx, (String)"scale");
int count = IntegerArgumentType.getInteger((CommandContext)ctx, (String)"count");
PacketDistributor.TargetPoint targetPoint = new PacketDistributor.TargetPoint(pos.m_7096_(), pos.m_7098_(), pos.m_7094_(), 256.0, level.m_46472_());
for (int i = 0; i < count; ++i) {
Vec3 motion = new Vec3((level.m_213780_().m_188500_() - 0.5) * 0.5, (level.m_213780_().m_188500_() - 0.5) * 0.5, (level.m_213780_().m_188500_() - 0.5) * 0.5);
float centerY = (float)pos.f_82480_;
float maxRadius = Math.max(1.0f, power * 2.0f);
float heightPercent = 0.0f;
PacketHandler.INSTANCE.send(PacketDistributor.NEAR.with(() -> targetPoint), (Object)new SpawnCustomGlowPacket(pos, motion, zone, power, scale, centerY, maxRadius, heightPercent));
}
return 1;
})))))));
dispatcher.register((LiteralArgumentBuilder)((LiteralArgumentBuilder)Commands.m_82127_((String)"spawnspark").requires(source -> source.m_6761_(2))).executes(ctx -> {
ServerPlayer player = ((CommandSourceStack)ctx.getSource()).m_81375_();
ServerLevel level = player.m_284548_();
Vec3 pos = player.m_146892_().m_82549_(player.m_20154_().m_82490_(2.0));
RandomSource random = level.m_213780_();
for (int i = 0; i < 50; ++i) {
level.m_8767_((ParticleOptions)((SimpleParticleType)ModParticles.LINE_SPARK.get()), pos.m_7096_(), pos.m_7098_(), pos.m_7094_(), 1, (random.m_188500_() - 0.5) * 2.5, (random.m_188500_() - 0.5) * 2.5, (random.m_188500_() - 0.5) * 2.5, 1.0);
}
((CommandSourceStack)ctx.getSource()).m_288197_(() -> Component.m_237113_((String)"Spawned 50 juicy sparks!"), true);
return 1;
}));
dispatcher.register((LiteralArgumentBuilder)((LiteralArgumentBuilder)Commands.m_82127_((String)"rescanchunks").requires(source -> source.m_6761_(2))).executes(ctx -> {
try {
Entity patt5242$temp = ((CommandSourceStack)ctx.getSource()).m_81373_();
if (!(patt5242$temp instanceof ServerPlayer)) {
((CommandSourceStack)ctx.getSource()).m_81352_((Component)Component.m_237113_((String)"\u00a76[Explosion Overhaul] \u00a7cThis command can only be used by players"));
return 0;
}
ServerPlayer player = (ServerPlayer)patt5242$temp;
BlockIndexManager.showRescanPrompt(player);
((CommandSourceStack)ctx.getSource()).m_288197_(() -> Component.m_237113_((String)"\u00a76[Explosion Overhaul] \u00a7eShowing rescan prompt..."), false);
return 1;
}
catch (Exception e) {
((CommandSourceStack)ctx.getSource()).m_81352_((Component)Component.m_237113_((String)("\u00a76[Explosion Overhaul] \u00a7cFailed to show rescan prompt: " + e.getMessage())));
ExplosionOverhaul.LOGGER.error("Failed to execute rescanchunks command", (Throwable)e);
return 0;
}
}));
dispatcher.register((LiteralArgumentBuilder)((LiteralArgumentBuilder)Commands.m_82127_((String)"lowpasstest").requires(source -> source.m_6761_(2))).then(Commands.m_82129_((String)"duration", (ArgumentType)IntegerArgumentType.integer((int)1, (int)600)).executes(ctx -> {
ServerPlayer player = ((CommandSourceStack)ctx.getSource()).m_81375_();
int duration = IntegerArgumentType.getInteger((CommandContext)ctx, (String)"duration");
PacketHandler.INSTANCE.send(PacketDistributor.PLAYER.with(() -> player), (Object)new LowPassTestPacket(duration));
((CommandSourceStack)ctx.getSource()).m_288197_(() -> Component.m_237113_((String)("Started low-pass test for " + duration + "s")), false);
return 1;
})));
dispatcher.register((LiteralArgumentBuilder)((LiteralArgumentBuilder)Commands.m_82127_((String)"blurtesting").requires(source -> source.m_6761_(2))).then(Commands.m_82129_((String)"duration", (ArgumentType)IntegerArgumentType.integer((int)1, (int)600)).executes(ctx -> {
ServerPlayer player = ((CommandSourceStack)ctx.getSource()).m_81375_();
int duration = IntegerArgumentType.getInteger((CommandContext)ctx, (String)"duration");
PacketHandler.INSTANCE.send(PacketDistributor.PLAYER.with(() -> player), (Object)new BlurTestPacket(duration));
((CommandSourceStack)ctx.getSource()).m_288197_(() -> Component.m_237113_((String)("Started blur test for " + duration + "s")), false);
return 1;
})));
dispatcher.register((LiteralArgumentBuilder)((LiteralArgumentBuilder)Commands.m_82127_((String)"testcamerashake").requires(source -> source.m_6761_(2))).then(Commands.m_82129_((String)"duration", (ArgumentType)IntegerArgumentType.integer((int)1, (int)600)).then(Commands.m_82129_((String)"intensity", (ArgumentType)IntegerArgumentType.integer((int)1, (int)100)).executes(ctx -> {
ServerPlayer player = ((CommandSourceStack)ctx.getSource()).m_81375_();
int duration = IntegerArgumentType.getInteger((CommandContext)ctx, (String)"duration");
int intensityPercent = IntegerArgumentType.getInteger((CommandContext)ctx, (String)"intensity");
float intensity = (float)intensityPercent / 100.0f;
PacketHandler.INSTANCE.send(PacketDistributor.PLAYER.with(() -> player), (Object)new CameraShakeConcussionPacket(duration, intensity));
((CommandSourceStack)ctx.getSource()).m_288197_(() -> Component.m_237113_((String)("Started camera shake test for " + duration + "s at " + intensityPercent + "% intensity")), false);
return 1;
}))));
dispatcher.register((LiteralArgumentBuilder)((LiteralArgumentBuilder)Commands.m_82127_((String)"openaltest").requires(source -> source.m_6761_(2))).then(Commands.m_82129_((String)"target", (ArgumentType)StringArgumentType.word()).suggests((ctx, sb) -> SharedSuggestionProvider.m_82970_(Arrays.asList("deafness", "lowpass", "low_pass"), (SuggestionsBuilder)sb)).then(Commands.m_82129_((String)"state", (ArgumentType)StringArgumentType.word()).suggests((ctx, sb) -> SharedSuggestionProvider.m_82970_(Arrays.asList("on", "off", "enable", "disable", "true", "false"), (SuggestionsBuilder)sb)).executes(ctx -> {
boolean turnOn;
String target = StringArgumentType.getString((CommandContext)ctx, (String)"target").toLowerCase();
String state = StringArgumentType.getString((CommandContext)ctx, (String)"state").toLowerCase();
boolean bl = turnOn = state.equals("on") || state.equals("enable") || state.equals("true");
if (target.equals("deafness") || target.equals("lowpass") || target.equals("low_pass")) {
ServerPlayer player = ((CommandSourceStack)ctx.getSource()).m_81375_();
PacketHandler.INSTANCE.send(PacketDistributor.PLAYER.with(() -> player), (Object)new OpenALTogglePacket(target, turnOn));
((CommandSourceStack)ctx.getSource()).m_288197_(() -> Component.m_237113_((String)("Sent OpenAL toggle to player: " + target + " -> " + (turnOn ? "ON" : "OFF"))), false);
return 1;
}
((CommandSourceStack)ctx.getSource()).m_81352_((Component)Component.m_237113_((String)("Unknown target: " + target + ". Use 'Deafness' or 'LowPass'.")));
return 0;
}))));
}
}