Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package gregtech.common.command.benchmark;

import gregtech.api.util.function.Task;

public interface BenchmarkTask extends Task {

void abort();
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
package gregtech.common.command.benchmark;

import net.minecraft.command.ICommandSender;
import net.minecraftforge.server.command.CommandTreeBase;

import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;

public class CommandBenchmark extends CommandTreeBase {

static @Nullable BenchmarkTask ACTIVE_BENCHMARK = null;

public CommandBenchmark() {
addSubcommand(new CommandBenchmarkLookup());
addSubcommand(new CommandBenchmarkAbort());
}

@Override
public int getRequiredPermissionLevel() {
return 3;
}

@Override
public @NotNull String getName() {
return "benchmark";
}

@Override
public @NotNull String getUsage(@NotNull ICommandSender sender) {
return "gregtech.command.benchmark.usage";
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
package gregtech.common.command.benchmark;

import net.minecraft.command.CommandBase;
import net.minecraft.command.CommandException;
import net.minecraft.command.ICommandSender;
import net.minecraft.server.MinecraftServer;

import org.jetbrains.annotations.NotNull;

public class CommandBenchmarkAbort extends CommandBase {

@Override
public @NotNull String getName() {
return "abort";
}

@Override
public @NotNull String getUsage(@NotNull ICommandSender sender) {
return "gregtech.command.benchmark.abort.usage";
}

@Override
public void execute(@NotNull MinecraftServer server, @NotNull ICommandSender sender,
String @NotNull [] args) throws CommandException {
if (CommandBenchmark.ACTIVE_BENCHMARK != null) {
CommandBenchmark.ACTIVE_BENCHMARK.abort();
CommandBenchmark.ACTIVE_BENCHMARK = null;
throw new CommandException("Currently running benchmark successfully aborted.");
} else {
throw new CommandException("No benchmark is currently running!");
}
}
}
Loading
Loading