feat: commands to do debug things
This commit is contained in:
parent
10cbb3bd83
commit
20e953f15f
1 changed files with 112 additions and 0 deletions
112
src/main/java/ftbsc/bscv/commands/Debug.java
Normal file
112
src/main/java/ftbsc/bscv/commands/Debug.java
Normal file
|
@ -0,0 +1,112 @@
|
||||||
|
package ftbsc.bscv.commands;
|
||||||
|
|
||||||
|
import com.google.auto.service.AutoService;
|
||||||
|
import com.mojang.brigadier.builder.LiteralArgumentBuilder;
|
||||||
|
|
||||||
|
import ftbsc.bscv.api.ILoadable;
|
||||||
|
import net.minecraft.client.AbstractOption;
|
||||||
|
import net.minecraft.client.gui.screen.GamemodeSelectionScreen;
|
||||||
|
import net.minecraft.command.CommandSource;
|
||||||
|
import net.minecraft.command.Commands;
|
||||||
|
import net.minecraft.util.math.MathHelper;
|
||||||
|
import net.minecraftforge.server.command.EnumArgument;
|
||||||
|
|
||||||
|
import static ftbsc.bscv.Boscovicino.log;
|
||||||
|
|
||||||
|
@AutoService(ILoadable.class)
|
||||||
|
public class Debug extends AbstractCommand {
|
||||||
|
|
||||||
|
private enum RenderDistanceAction {
|
||||||
|
INCREASE,
|
||||||
|
DECREASE
|
||||||
|
}
|
||||||
|
|
||||||
|
public LiteralArgumentBuilder<CommandSource> register(LiteralArgumentBuilder<CommandSource> builder) {
|
||||||
|
return builder
|
||||||
|
.then(
|
||||||
|
Commands.literal("reloadchunks")
|
||||||
|
.executes(ctx -> {
|
||||||
|
MC.levelRenderer.allChanged();
|
||||||
|
log("debug.reload_chunks.message");
|
||||||
|
return 0;
|
||||||
|
})
|
||||||
|
)
|
||||||
|
.then(
|
||||||
|
Commands.literal("hitboxes")
|
||||||
|
.executes(ctx -> {
|
||||||
|
boolean flag = !MC.getEntityRenderDispatcher().shouldRenderHitBoxes();
|
||||||
|
MC.getEntityRenderDispatcher().setRenderHitBoxes(flag);
|
||||||
|
log(flag ? "debug.show_hitboxes.on" : "debug.show_hitboxes.off");
|
||||||
|
return 0;
|
||||||
|
})
|
||||||
|
)
|
||||||
|
.then(
|
||||||
|
Commands.literal("clearmessages")
|
||||||
|
.executes(ctx -> {
|
||||||
|
if (MC.gui != null) {
|
||||||
|
MC.gui.getChat().clearMessages(false);
|
||||||
|
log("debug.clear_messages");
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
return 1;
|
||||||
|
})
|
||||||
|
)
|
||||||
|
.then(
|
||||||
|
Commands.literal("renderdistance")
|
||||||
|
.then(
|
||||||
|
Commands.argument("action", EnumArgument.enumArgument(RenderDistanceAction.class))
|
||||||
|
.executes(ctx -> {
|
||||||
|
RenderDistanceAction action = ctx.getArgument("action", RenderDistanceAction.class);
|
||||||
|
double new_distance = MathHelper.clamp(
|
||||||
|
(double)(MC.options.renderDistance + (action == RenderDistanceAction.INCREASE ? +1 : -1)),
|
||||||
|
AbstractOption.RENDER_DISTANCE.getMinValue(), AbstractOption.RENDER_DISTANCE.getMaxValue()
|
||||||
|
);
|
||||||
|
AbstractOption.RENDER_DISTANCE.set(MC.options, new_distance);
|
||||||
|
log("debug.cycle_renderdistance.message");
|
||||||
|
return 0;
|
||||||
|
})
|
||||||
|
)
|
||||||
|
.executes(ctx -> {
|
||||||
|
log("[!] no action specified");
|
||||||
|
return 1;
|
||||||
|
})
|
||||||
|
)
|
||||||
|
.then(
|
||||||
|
Commands.literal("boundaries")
|
||||||
|
.executes(ctx -> {
|
||||||
|
boolean flag1 = MC.debugRenderer.switchRenderChunkborder();
|
||||||
|
log(flag1 ? "debug.chunk_boundaries.on" : "debug.chunk_boundaries.off");
|
||||||
|
return 0;
|
||||||
|
})
|
||||||
|
)
|
||||||
|
.then(
|
||||||
|
Commands.literal("tooltips")
|
||||||
|
.executes(ctx -> {
|
||||||
|
MC.options.advancedItemTooltips = !MC.options.advancedItemTooltips;
|
||||||
|
MC.options.save();
|
||||||
|
log(MC.options.advancedItemTooltips ? "debug.advanced_tooltips.on" : "debug.advanced_tooltips.off");
|
||||||
|
return 0;
|
||||||
|
})
|
||||||
|
)
|
||||||
|
.then(
|
||||||
|
Commands.literal("reloadresources")
|
||||||
|
.executes(ctx -> {
|
||||||
|
MC.reloadResourcePacks();
|
||||||
|
log("debug.reload_resourcepacks.message");
|
||||||
|
return 0;
|
||||||
|
})
|
||||||
|
)
|
||||||
|
.then(
|
||||||
|
Commands.literal("gamemode")
|
||||||
|
.executes(ctx -> {
|
||||||
|
MC.setScreen(new GamemodeSelectionScreen());
|
||||||
|
return 0;
|
||||||
|
})
|
||||||
|
)
|
||||||
|
.executes(ctx -> {
|
||||||
|
log("[!] no debug action requested");
|
||||||
|
return 1;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in a new issue