aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/bloodasp/galacticgreg/command/ProfilingCommand.java
diff options
context:
space:
mode:
authorRaven Szewczyk <git@eigenraven.me>2024-05-24 19:50:35 +0100
committerRaven Szewczyk <git@eigenraven.me>2024-05-24 19:50:35 +0100
commit6d1b2216464d4dad449ac6fcfec476832224a55e (patch)
tree526a0c15f7056313c80e6c0386e025e9b3f61781 /src/main/java/bloodasp/galacticgreg/command/ProfilingCommand.java
parentb5d35f40afa606ed1b07061dad82e0521a59c186 (diff)
downloadGT5-Unofficial-6d1b2216464d4dad449ac6fcfec476832224a55e.tar.gz
GT5-Unofficial-6d1b2216464d4dad449ac6fcfec476832224a55e.tar.bz2
GT5-Unofficial-6d1b2216464d4dad449ac6fcfec476832224a55e.zip
Merge addon sources
Diffstat (limited to 'src/main/java/bloodasp/galacticgreg/command/ProfilingCommand.java')
-rw-r--r--src/main/java/bloodasp/galacticgreg/command/ProfilingCommand.java99
1 files changed, 99 insertions, 0 deletions
diff --git a/src/main/java/bloodasp/galacticgreg/command/ProfilingCommand.java b/src/main/java/bloodasp/galacticgreg/command/ProfilingCommand.java
new file mode 100644
index 0000000000..be43da5a4c
--- /dev/null
+++ b/src/main/java/bloodasp/galacticgreg/command/ProfilingCommand.java
@@ -0,0 +1,99 @@
+package bloodasp.galacticgreg.command;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import net.minecraft.command.ICommand;
+import net.minecraft.command.ICommandSender;
+import net.minecraft.entity.player.EntityPlayerMP;
+import net.minecraft.server.MinecraftServer;
+import net.minecraft.util.ChatComponentText;
+
+import bloodasp.galacticgreg.GalacticGreg;
+import bloodasp.galacticgreg.api.ModContainer;
+import bloodasp.galacticgreg.api.ModDimensionDef;
+import bloodasp.galacticgreg.registry.GalacticGregRegistry;
+import cpw.mods.fml.common.FMLCommonHandler;
+import cpw.mods.fml.relauncher.Side;
+
+/**
+ * Ingame command to get the average oregen time(s) for the active dimensions Doesn't need to be changed when adding new
+ * planets/mods
+ *
+ */
+public class ProfilingCommand implements ICommand {
+
+ private List<String> aliases;
+
+ public ProfilingCommand() {
+ this.aliases = new ArrayList<>();
+ this.aliases.add("ggregprofiler");
+ }
+
+ @Override
+ public String getCommandName() {
+ return "ggregprofiler";
+ }
+
+ @Override
+ public String getCommandUsage(ICommandSender pCommandSender) {
+ return "ggregprofiler";
+ }
+
+ @Override
+ public List<String> getCommandAliases() {
+ return this.aliases;
+ }
+
+ @Override
+ public void processCommand(ICommandSender pCommandSender, String[] pArgs) {
+ pCommandSender.addChatMessage(new ChatComponentText("Average OreGen times:"));
+
+ for (ModContainer mc : GalacticGregRegistry.getModContainers()) {
+ String tModName = mc.getModName();
+ for (ModDimensionDef mdd : mc.getDimensionList()) {
+ long tTime = GalacticGreg.Profiler.GetAverageTime(mdd);
+ String tInfo;
+ if (tTime == -1) tInfo = "N/A";
+ else tInfo = String.format("%d ms", tTime);
+ pCommandSender.addChatMessage(
+ new ChatComponentText(
+ String.format("%s (%s): %s", mdd.getDimIdentifier(), mdd.getDimensionName(), tInfo)));
+ }
+ }
+ }
+
+ @Override
+ public boolean canCommandSenderUseCommand(ICommandSender pCommandSender) {
+ if (FMLCommonHandler.instance()
+ .getEffectiveSide() == Side.SERVER
+ && !FMLCommonHandler.instance()
+ .getMinecraftServerInstance()
+ .isDedicatedServer())
+ return true;
+
+ if (pCommandSender instanceof EntityPlayerMP) {
+ EntityPlayerMP tEP = (EntityPlayerMP) pCommandSender;
+ return MinecraftServer.getServer()
+ .getConfigurationManager()
+ .func_152596_g(tEP.getGameProfile());
+ }
+ return false;
+ }
+
+ @Override
+ public int compareTo(Object o) {
+ return 0;
+ }
+
+ @SuppressWarnings("rawtypes")
+ @Override
+ public List addTabCompletionOptions(ICommandSender p_71516_1_, String[] p_71516_2_) {
+ return null;
+ }
+
+ @Override
+ public boolean isUsernameIndex(String[] p_82358_1_, int p_82358_2_) {
+ return false;
+ }
+}