2012-11-05 20:29:04 +01:00
package mekanism.common ;
2012-10-03 21:12:17 +02:00
import java.util.Arrays ;
import java.util.List ;
2013-03-11 18:49:01 +01:00
import mekanism.api.EnumColor ;
2013-08-27 00:57:08 +02:00
import mekanism.common.util.MekanismUtils ;
2014-11-10 22:53:29 +01:00
2012-12-20 22:53:39 +01:00
import net.minecraft.command.CommandBase ;
import net.minecraft.command.ICommandSender ;
2013-04-13 16:33:37 +02:00
import net.minecraft.entity.player.EntityPlayer ;
2013-07-29 22:38:10 +02:00
import net.minecraft.server.MinecraftServer ;
2014-06-02 23:57:40 +02:00
import net.minecraft.util.ChatComponentText ;
2012-10-03 21:12:17 +02:00
2012-11-05 20:29:04 +01:00
public class CommandMekanism extends CommandBase
2012-10-03 21:12:17 +02:00
{
2012-11-06 16:44:14 +01:00
@Override
2013-07-29 22:38:10 +02:00
public boolean canCommandSenderUseCommand ( ICommandSender sender )
{
return MinecraftServer . getServer ( ) . isSinglePlayer ( ) | | super . canCommandSenderUseCommand ( sender ) ;
}
2014-03-08 02:00:25 +01:00
2013-07-29 22:38:10 +02:00
@Override
2014-03-08 02:00:25 +01:00
public String getCommandName ( )
{
return " mk " ;
}
2012-11-06 16:44:14 +01:00
@Override
2014-03-08 02:00:25 +01:00
public String getCommandUsage ( ICommandSender sender )
{
return " /mk <parameters> " ;
}
2012-11-06 16:44:14 +01:00
@Override
2012-10-03 21:12:17 +02:00
public List getCommandAliases ( )
{
2013-02-14 19:26:13 +01:00
return Arrays . asList ( new String [ ] { " mekanism " , " mek " } ) ;
2012-10-03 21:12:17 +02:00
}
2014-03-08 02:00:25 +01:00
2012-11-06 16:44:14 +01:00
@Override
2014-03-08 02:00:25 +01:00
public void processCommand ( ICommandSender sender , String [ ] params )
{
if ( params . length < 1 )
{
2014-04-20 22:15:44 +02:00
sender . addChatMessage ( new ChatComponentText ( EnumColor . GREY + " ------------- " + EnumColor . DARK_BLUE + " [Mekanism] " + EnumColor . GREY + " ------------- " ) ) ;
sender . addChatMessage ( new ChatComponentText ( EnumColor . GREY + " *Version: " + EnumColor . DARK_GREY + Mekanism . versionNumber ) ) ;
sender . addChatMessage ( new ChatComponentText ( EnumColor . GREY + " *Latest Version: " + EnumColor . DARK_GREY + Mekanism . latestVersionNumber ) ) ;
sender . addChatMessage ( new ChatComponentText ( EnumColor . GREY + " *Developed on Mac OS X 10.8 Mountain Lion " ) ) ;
sender . addChatMessage ( new ChatComponentText ( EnumColor . GREY + " *Code, textures, and ideas by aidancbrady " ) ) ;
sender . addChatMessage ( new ChatComponentText ( EnumColor . GREY + " *Recent News: " + EnumColor . INDIGO + Mekanism . recentNews ) ) ;
sender . addChatMessage ( new ChatComponentText ( EnumColor . GREY + " ------------- " + EnumColor . DARK_BLUE + " [=======] " + EnumColor . GREY + " ------------- " ) ) ;
2014-03-08 02:00:25 +01:00
}
else if ( params . length = = 1 )
{
if ( params [ 0 ] . equalsIgnoreCase ( " help " ) )
{
2014-04-20 22:15:44 +02:00
sender . addChatMessage ( new ChatComponentText ( EnumColor . GREY + " ------------- " + EnumColor . DARK_BLUE + " [Mekanism] " + EnumColor . GREY + " ------------- " ) ) ;
sender . addChatMessage ( new ChatComponentText ( EnumColor . INDIGO + " /mk " + EnumColor . GREY + " -- displays the main page. " ) ) ;
sender . addChatMessage ( new ChatComponentText ( EnumColor . INDIGO + " /mk help " + EnumColor . GREY + " -- displays this guide. " ) ) ;
sender . addChatMessage ( new ChatComponentText ( EnumColor . INDIGO + " /mk version " + EnumColor . GREY + " -- displays the version number. " ) ) ;
sender . addChatMessage ( new ChatComponentText ( EnumColor . INDIGO + " /mk latest " + EnumColor . GREY + " -- displays the latest version number. " ) ) ;
sender . addChatMessage ( new ChatComponentText ( EnumColor . INDIGO + " /mk news " + EnumColor . GREY + " -- displays most recent recent news. " ) ) ;
sender . addChatMessage ( new ChatComponentText ( EnumColor . INDIGO + " /mk debug " + EnumColor . GREY + " -- toggles Mekanism's debug mode. " ) ) ;
sender . addChatMessage ( new ChatComponentText ( EnumColor . GREY + " ------------- " + EnumColor . DARK_BLUE + " [=======] " + EnumColor . GREY + " ------------- " ) ) ;
2014-03-08 02:00:25 +01:00
}
else if ( params [ 0 ] . equalsIgnoreCase ( " version " ) )
{
if ( ! MekanismUtils . checkForUpdates ( ( EntityPlayer ) sender ) )
{
if ( Mekanism . updateNotifications | | Mekanism . latestVersionNumber = = null | | Mekanism . recentNews = = null | | Mekanism . latestVersionNumber . equals ( " null " ) )
{
2014-04-20 22:15:44 +02:00
sender . addChatMessage ( new ChatComponentText ( EnumColor . DARK_BLUE + " [Mekanism] " + EnumColor . GREY + " Minecraft is in offline mode, could not check for updates. " ) ) ;
2014-03-08 02:00:25 +01:00
}
else {
2014-04-20 22:15:44 +02:00
sender . addChatMessage ( new ChatComponentText ( EnumColor . DARK_BLUE + " [Mekanism] " + EnumColor . GREY + " Your client is up to date. " ) ) ;
2014-03-08 02:00:25 +01:00
}
}
}
else if ( params [ 0 ] . equalsIgnoreCase ( " news " ) )
{
2014-04-20 22:15:44 +02:00
sender . addChatMessage ( new ChatComponentText ( EnumColor . DARK_BLUE + " [Mekanism] " + EnumColor . GREY + " Most recent news: " + EnumColor . INDIGO + Mekanism . recentNews ) ) ;
2014-03-08 02:00:25 +01:00
}
else if ( params [ 0 ] . equalsIgnoreCase ( " latest " ) )
{
2014-04-20 22:15:44 +02:00
sender . addChatMessage ( new ChatComponentText ( EnumColor . DARK_BLUE + " [Mekanism] " + EnumColor . GREY + " The latest version for this mod is " + EnumColor . DARK_GREY + Mekanism . latestVersionNumber + EnumColor . GREY + " . " ) ) ;
2014-03-08 02:00:25 +01:00
}
else if ( params [ 0 ] . equalsIgnoreCase ( " debug " ) )
{
Mekanism . debug = ! Mekanism . debug ;
2014-04-20 22:15:44 +02:00
sender . addChatMessage ( new ChatComponentText ( EnumColor . DARK_BLUE + " [Mekanism] " + EnumColor . GREY + " Debug mode set to " + EnumColor . DARK_GREY + Mekanism . debug ) ) ;
2014-03-08 02:00:25 +01:00
}
else {
2014-04-20 22:15:44 +02:00
sender . addChatMessage ( new ChatComponentText ( EnumColor . DARK_BLUE + " [Mekanism] " + EnumColor . GREY + " Unknown command. Type ' " + EnumColor . INDIGO + " /mk help " + EnumColor . GREY + " ' for help. " ) ) ;
2014-03-08 02:00:25 +01:00
}
}
}
2014-01-04 19:16:24 +01:00
@Override
public int compareTo ( Object obj )
{
return 0 ;
}
2012-10-03 21:12:17 +02:00
}