Package com.massivecraft.factions.zcore

## Class MCommand<T extends MPlugin>

- java.lang.Object
- - com.massivecraft.factions.zcore.MCommand<T>

-     public abstract class MCommand<T extends MPlugin>
      extends java.lang.Object

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `java.util.List<java.lang.String>` | `aliases` |
    `boolean` | `allowNoSlashAccess` |
    `java.util.List<java.lang.String>` | `args` |
    `java.util.List<MCommand<?>>` | `commandChain` |
    `boolean` | `errorOnToManyArgs` |
    `java.util.List<java.lang.String>` | `helpLong` |
    `org.bukkit.entity.Player` | `me` |
    `java.util.LinkedHashMap<java.lang.String,​java.lang.String>` | `optionalArgs` |
    `T` | `p` |
    `java.lang.String` | `permission` |
    `java.util.List<java.lang.String>` | `requiredArgs` |
    `org.bukkit.command.CommandSender` | `sender` |
    `boolean` | `senderIsConsole` |
    `boolean` | `senderMustBePlayer` |
    `boolean` | `senderMustHaveFaction` |
    `java.util.List<MCommand<?>>` | `subCommands` |
    `CommandVisibility` | `visibility` |

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `MCommand​(T p)` |

  - ### Method Summary

    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `addSubCommand​(MCommand<?> subCommand)` |
    `org.bukkit.entity.Player` | `argAsBestPlayerMatch​(int idx)` |
    `org.bukkit.entity.Player` | `argAsBestPlayerMatch​(int idx, org.bukkit.entity.Player def)` |
    `org.bukkit.entity.Player` | `argAsBestPlayerMatch​(int idx, org.bukkit.entity.Player def, boolean msg)` |
    `java.lang.Boolean` | `argAsBool​(int idx)` |
    `java.lang.Boolean` | `argAsBool​(int idx, boolean def)` |
    `java.lang.Double` | `argAsDouble​(int idx)` |
    `java.lang.Double` | `argAsDouble​(int idx, java.lang.Double def)` |
    `java.lang.Integer` | `argAsInt​(int idx)` |
    `java.lang.Integer` | `argAsInt​(int idx, java.lang.Integer def)` |
    `org.bukkit.entity.Player` | `argAsPlayer​(int idx)` |
    `org.bukkit.entity.Player` | `argAsPlayer​(int idx, org.bukkit.entity.Player def)` |
    `org.bukkit.entity.Player` | `argAsPlayer​(int idx, org.bukkit.entity.Player def, boolean msg)` |
    `java.lang.String` | `argAsString​(int idx)` |
    `java.lang.String` | `argAsString​(int idx, java.lang.String def)` |
    `boolean` | `argIsSet​(int idx)` |
    `void` | `execute​(org.bukkit.command.CommandSender sender, java.util.List<java.lang.String> args)` |
    `void` | `execute​(org.bukkit.command.CommandSender sender, java.util.List<java.lang.String> args, java.util.List<MCommand<?>> commandChain)` |
    `java.lang.String` | `getHelpShort()` |
    `java.util.List<java.lang.String>` | `getToolTips​(Faction faction)` |
    `java.util.List<java.lang.String>` | `getToolTips​(FPlayer player)` |
    `abstract TL` | `getUsageTranslation()` |
    `java.lang.String` | `getUseageTemplate()` |
    `java.lang.String` | `getUseageTemplate​(boolean addShortHelp)` |
    `java.lang.String` | `getUseageTemplate​(java.util.List<MCommand<?>> commandChain, boolean addShortHelp)` |
    `boolean` | `isEnabled()` |
    `void` | `msg​(TL translation, java.lang.Object... args)` |
    `void` | `msg​(java.lang.String str, java.lang.Object... args)` |
    `abstract void` | `perform()` |
    `java.lang.String` | `replaceFactionTags​(java.lang.String s, Faction faction)` |
    `java.lang.String` | `replaceFPlayerTags​(java.lang.String s, FPlayer player)` |
    `void` | `sendFancyMessage​(java.util.List<mkremins.fanciful.FancyMessage> messages)` |
    `void` | `sendFancyMessage​(mkremins.fanciful.FancyMessage message)` |
    `void` | `sendMessage​(java.lang.String msg)` |
    `void` | `sendMessage​(java.util.List<java.lang.String> msgs)` |
    `void` | `setCommandSender​(org.bukkit.command.CommandSender sender)` |
    `void` | `setHelpShort​(java.lang.String val)` |
    `org.bukkit.entity.Player` | `strAsBestPlayerMatch​(java.lang.String name, org.bukkit.entity.Player def, boolean msg)` |
    `java.lang.Boolean` | `strAsBool​(java.lang.String str)` |
    `java.lang.Double` | `strAsDouble​(java.lang.String str, java.lang.Double def)` |
    `java.lang.Integer` | `strAsInt​(java.lang.String str, java.lang.Integer def)` |
    `org.bukkit.entity.Player` | `strAsPlayer​(java.lang.String name, org.bukkit.entity.Player def, boolean msg)` |
    `boolean` | `validArgs​(java.util.List<java.lang.String> args)` |
    `boolean` | `validArgs​(java.util.List<java.lang.String> args, org.bukkit.command.CommandSender sender)` |
    `boolean` | `validCall​(org.bukkit.command.CommandSender sender, java.util.List<java.lang.String> args)` | In this method we validate that all prerequisites to perform this command has been met.
    `boolean` | `validSenderPermissions​(org.bukkit.command.CommandSender sender, boolean informSenderIfNot)` |
    `boolean` | `validSenderType​(org.bukkit.command.CommandSender sender, boolean informSenderIfNot)` |

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### p

          public T extends MPlugin p

    - #### subCommands

          public java.util.List<MCommand<?>> subCommands

    - #### aliases

          public java.util.List<java.lang.String> aliases

    - #### allowNoSlashAccess

          public boolean allowNoSlashAccess

    - #### requiredArgs

          public java.util.List<java.lang.String> requiredArgs

    - #### optionalArgs

          public java.util.LinkedHashMap<java.lang.String,​java.lang.String> optionalArgs

    - #### errorOnToManyArgs

          public boolean errorOnToManyArgs

    - #### helpLong

          public java.util.List<java.lang.String> helpLong

    - #### visibility

          public CommandVisibility visibility

    - #### senderMustBePlayer

          public boolean senderMustBePlayer

    - #### senderMustHaveFaction

          public boolean senderMustHaveFaction

    - #### permission

          public java.lang.String permission

    - #### sender

          public org.bukkit.command.CommandSender sender

    - #### me

          public org.bukkit.entity.Player me

    - #### senderIsConsole

          public boolean senderIsConsole

    - #### args

          public java.util.List<java.lang.String> args

    - #### commandChain

          public java.util.List<MCommand<?>> commandChain

  - ### Constructor Detail

    - #### MCommand

          public MCommand​(T p)

  - ### Method Detail

    - #### addSubCommand

          public void addSubCommand​(MCommand<?> subCommand)

    - #### getHelpShort

          public java.lang.String getHelpShort()

    - #### setHelpShort

          public void setHelpShort​(java.lang.String val)

    - #### getUsageTranslation

          public abstract TL getUsageTranslation()

    - #### setCommandSender

          public void setCommandSender​(org.bukkit.command.CommandSender sender)

    - #### execute

          public void execute​(org.bukkit.command.CommandSender sender,
                              java.util.List<java.lang.String> args,
                              java.util.List<MCommand<?>> commandChain)

    - #### execute

          public void execute​(org.bukkit.command.CommandSender sender,
                              java.util.List<java.lang.String> args)

    - #### perform

          public abstract void perform()

    - #### validCall

          public boolean validCall​(org.bukkit.command.CommandSender sender,
                                   java.util.List<java.lang.String> args)

      In this method we validate that all prerequisites to perform this command has been met.
      Parameters:
        `sender` - of the command
        `args` - of the command
      Returns:
        true if valid, false if not.

    - #### isEnabled

          public boolean isEnabled()

    - #### validSenderType

          public boolean validSenderType​(org.bukkit.command.CommandSender sender,
                                         boolean informSenderIfNot)

    - #### validSenderPermissions

          public boolean validSenderPermissions​(org.bukkit.command.CommandSender sender,
                                                boolean informSenderIfNot)

    - #### validArgs

          public boolean validArgs​(java.util.List<java.lang.String> args,
                                   org.bukkit.command.CommandSender sender)

    - #### validArgs

          public boolean validArgs​(java.util.List<java.lang.String> args)

    - #### getUseageTemplate

          public java.lang.String getUseageTemplate​(java.util.List<MCommand<?>> commandChain,
                                                    boolean addShortHelp)

    - #### getUseageTemplate

          public java.lang.String getUseageTemplate​(boolean addShortHelp)

    - #### getUseageTemplate

          public java.lang.String getUseageTemplate()

    - #### msg

          public void msg​(java.lang.String str,
                          java.lang.Object... args)

    - #### msg

          public void msg​(TL translation,
                          java.lang.Object... args)

    - #### sendMessage

          public void sendMessage​(java.lang.String msg)

    - #### sendMessage

          public void sendMessage​(java.util.List<java.lang.String> msgs)

    - #### sendFancyMessage

          public void sendFancyMessage​(mkremins.fanciful.FancyMessage message)

    - #### sendFancyMessage

          public void sendFancyMessage​(java.util.List<mkremins.fanciful.FancyMessage> messages)

    - #### getToolTips

          public java.util.List<java.lang.String> getToolTips​(FPlayer player)

    - #### getToolTips

          public java.util.List<java.lang.String> getToolTips​(Faction faction)

    - #### replaceFPlayerTags

          public java.lang.String replaceFPlayerTags​(java.lang.String s,
                                                     FPlayer player)

    - #### replaceFactionTags

          public java.lang.String replaceFactionTags​(java.lang.String s,
                                                     Faction faction)

    - #### argIsSet

          public boolean argIsSet​(int idx)

    - #### argAsString

          public java.lang.String argAsString​(int idx,
                                              java.lang.String def)

    - #### argAsString

          public java.lang.String argAsString​(int idx)

    - #### strAsInt

          public java.lang.Integer strAsInt​(java.lang.String str,
                                            java.lang.Integer def)

    - #### argAsInt

          public java.lang.Integer argAsInt​(int idx,
                                            java.lang.Integer def)

    - #### argAsInt

          public java.lang.Integer argAsInt​(int idx)

    - #### strAsDouble

          public java.lang.Double strAsDouble​(java.lang.String str,
                                              java.lang.Double def)

    - #### argAsDouble

          public java.lang.Double argAsDouble​(int idx,
                                              java.lang.Double def)

    - #### argAsDouble

          public java.lang.Double argAsDouble​(int idx)

    - #### strAsBool

          public java.lang.Boolean strAsBool​(java.lang.String str)

    - #### argAsBool

          public java.lang.Boolean argAsBool​(int idx,
                                             boolean def)

    - #### argAsBool

          public java.lang.Boolean argAsBool​(int idx)

    - #### strAsPlayer

          public org.bukkit.entity.Player strAsPlayer​(java.lang.String name,
                                                      org.bukkit.entity.Player def,
                                                      boolean msg)

    - #### argAsPlayer

          public org.bukkit.entity.Player argAsPlayer​(int idx,
                                                      org.bukkit.entity.Player def,
                                                      boolean msg)

    - #### argAsPlayer

          public org.bukkit.entity.Player argAsPlayer​(int idx,
                                                      org.bukkit.entity.Player def)

    - #### argAsPlayer

          public org.bukkit.entity.Player argAsPlayer​(int idx)

    - #### strAsBestPlayerMatch

          public org.bukkit.entity.Player strAsBestPlayerMatch​(java.lang.String name,
                                                               org.bukkit.entity.Player def,
                                                               boolean msg)

    - #### argAsBestPlayerMatch

          public org.bukkit.entity.Player argAsBestPlayerMatch​(int idx,
                                                               org.bukkit.entity.Player def,
                                                               boolean msg)

    - #### argAsBestPlayerMatch

          public org.bukkit.entity.Player argAsBestPlayerMatch​(int idx,
                                                               org.bukkit.entity.Player def)

    - #### argAsBestPlayerMatch

          public org.bukkit.entity.Player argAsBestPlayerMatch​(int idx)