diff options
author | Raven Szewczyk <git@eigenraven.me> | 2024-05-24 19:50:35 +0100 |
---|---|---|
committer | Raven Szewczyk <git@eigenraven.me> | 2024-05-24 19:50:35 +0100 |
commit | 6d1b2216464d4dad449ac6fcfec476832224a55e (patch) | |
tree | 526a0c15f7056313c80e6c0386e025e9b3f61781 /src/main/java/bloodasp/galacticgreg/command/ProfilingCommand.java | |
parent | b5d35f40afa606ed1b07061dad82e0521a59c186 (diff) | |
download | GT5-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.java | 99 |
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; + } +} |