Class PlexCommand

java.lang.Object
org.bukkit.command.Command
dev.plex.command.PlexCommand
All Implemented Interfaces:
org.bukkit.command.PluginIdentifiableCommand
Direct Known Subclasses:
AdminCMD, AdminworldCMD, AdventureCMD, BanCMD, CommandSpyCMD, CreativeCMD, DeopAllCMD, DeopCMD, FlatlandsCMD, FreezeCMD, ListCMD, LocalSpawnCMD, MasterbuilderworldCMD, NameHistoryCMD, OpAllCMD, OpCMD, PlexCMD, PunishmentsCMD, RankCMD, SpectatorCMD, SurvivalCMD, UnbanCMD, UnfreezeCMD, WorldCMD

public abstract class PlexCommand extends org.bukkit.command.Command implements org.bukkit.command.PluginIdentifiableCommand
Superclass for all commands
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private final RequiredCommandSource
    Required command source fetched from the permissions
    private final Rank
    Minimum required rank fetched from the permissions
    private final CommandParameters
    The parameters for the command
    private final CommandPermissions
    The permissions for the command
    protected static Plex
    Returns the instance of the plugin

    Fields inherited from class org.bukkit.command.Command

    description, timings, usageMessage
  • Constructor Summary

    Constructors
    Constructor
    Description
    Creates an instance of the command
  • Method Summary

    Modifier and Type
    Method
    Description
    protected boolean
    checkRank(org.bukkit.command.CommandSender sender, Rank rank, String permission)
    Checks whether a sender has enough permissions or is high enough a rank
    protected boolean
    checkRank(org.bukkit.entity.Player player, Rank rank, String permission)
    Checks whether a player has enough permissions or is high enough a rank
    protected net.kyori.adventure.text.Component
    Converts a string to a legacy kyori component
    protected abstract net.kyori.adventure.text.Component
    execute(@NotNull org.bukkit.command.CommandSender sender, @Nullable org.bukkit.entity.Player playerSender, @NotNull String[] args)
    Executes the command
     
    org.bukkit.command.CommandMap
     
    protected org.bukkit.entity.Player
     
    protected org.bukkit.World
     
    protected PlexPlayer
     
    protected PlexPlayer
     
    protected PlexPlayer
    getPlexPlayer(@NotNull org.bukkit.entity.Player player)
    Gets a PlexPlayer from Player object
    @NotNull Plex
    The plugin
    protected UUID
    getUUID(org.bukkit.command.CommandSender sender)
    Gets the UUID of the sender
    protected boolean
    isAdmin(PlexPlayer plexPlayer)
    Checks if a player is an admin
    protected boolean
    Checks if a username is an admin
    protected boolean
    isAdmin(org.bukkit.command.CommandSender sender)
    Checks if a sender is an admin
    protected boolean
    isConsole(org.bukkit.command.CommandSender sender)
    Checks whether a sender is console
    protected boolean
    isSeniorAdmin(org.bukkit.command.CommandSender sender)
    Checks if a sender is a senior admin
    private boolean
    matches(String label)
    Checks if the string given is a command string
    protected void
    send(net.kyori.adventure.audience.Audience audience, String s)
    Sends a message to an audience
    protected void
    send(net.kyori.adventure.audience.Audience audience, net.kyori.adventure.text.Component component)
    Sends a message to an audience
    protected net.kyori.adventure.text.Component
    tl(String s, Object... objects)
    Converts a message entry from the "messages.yml" to a component
    protected net.kyori.adventure.text.Component
    Converts usage to a component

    Methods inherited from class org.bukkit.command.Command

    broadcastCommandMessage, broadcastCommandMessage, getAliases, getDescription, getLabel, getName, getPermission, getPermissionMessage, getTimingName, getUsage, isRegistered, permissionMessage, permissionMessage, register, setAliases, setDescription, setLabel, setName, setPermission, setPermissionMessage, setUsage, tabComplete, tabComplete, testPermission, testPermissionSilent, toString, unregister

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Field Details

    • plugin

      protected static Plex plugin
      Returns the instance of the plugin
    • params

      private final CommandParameters params
      The parameters for the command
    • perms

      private final CommandPermissions perms
      The permissions for the command
    • level

      private final Rank level
      Minimum required rank fetched from the permissions
    • commandSource

      private final RequiredCommandSource commandSource
      Required command source fetched from the permissions
  • Constructor Details

    • PlexCommand

      public PlexCommand()
      Creates an instance of the command
  • Method Details

    • execute

      protected abstract net.kyori.adventure.text.Component execute(@NotNull @NotNull org.bukkit.command.CommandSender sender, @Nullable @Nullable org.bukkit.entity.Player playerSender, @NotNull @NotNull String[] args)
      Executes the command
      Parameters:
      sender - The sender of the command
      playerSender - The player who executed the command (null if command source is console or if command source is any but console executed)
      args - A Kyori Component to send to the sender (can be null)
      Returns:
    • matches

      private boolean matches(String label)
      Checks if the string given is a command string
      Parameters:
      label - The string to check
      Returns:
      true if the string is a command name or alias
    • getPlexPlayer

      protected PlexPlayer getPlexPlayer(@NotNull @NotNull org.bukkit.entity.Player player)
      Gets a PlexPlayer from Player object
      Parameters:
      player - The player object
      Returns:
      PlexPlayer Object
      See Also:
    • send

      protected void send(net.kyori.adventure.audience.Audience audience, String s)
      Sends a message to an audience
      Parameters:
      audience - The audience to send the message to
      s - The message to send
    • send

      protected void send(net.kyori.adventure.audience.Audience audience, net.kyori.adventure.text.Component component)
      Sends a message to an audience
      Parameters:
      audience - The audience to send the message to
      component - The component to send
    • checkRank

      protected boolean checkRank(org.bukkit.command.CommandSender sender, Rank rank, String permission)
      Checks whether a sender has enough permissions or is high enough a rank
      Parameters:
      sender - A command sender
      rank - The rank to check (if the server is using ranks)
      permission - The permission to check (if the server is using permissions)
      Returns:
      true if the sender has enough permissions
      See Also:
    • checkRank

      protected boolean checkRank(org.bukkit.entity.Player player, Rank rank, String permission)
      Checks whether a player has enough permissions or is high enough a rank
      Parameters:
      player - The player object
      rank - The rank to check (if the server is using ranks)
      permission - The permission to check (if the server is using permissions)
      Returns:
      true if the sender has enough permissions
      See Also:
    • isAdmin

      protected boolean isAdmin(PlexPlayer plexPlayer)
      Checks if a player is an admin
      Parameters:
      plexPlayer - The PlexPlayer object
      Returns:
      true if the player is an admin
      See Also:
    • isAdmin

      protected boolean isAdmin(org.bukkit.command.CommandSender sender)
      Checks if a sender is an admin
      Parameters:
      sender - A command sender
      Returns:
      true if the sender is an admin or if console
    • isAdmin

      protected boolean isAdmin(String name)
      Checks if a username is an admin
      Parameters:
      name - The username
      Returns:
      true if the username is an admin
    • isSeniorAdmin

      protected boolean isSeniorAdmin(org.bukkit.command.CommandSender sender)
      Checks if a sender is a senior admin
      Parameters:
      sender - A command sender
      Returns:
      true if the sender is a senior admin or if console
    • getUUID

      protected UUID getUUID(org.bukkit.command.CommandSender sender)
      Gets the UUID of the sender
      Parameters:
      sender - A command sender
      Returns:
      A unique ID or null if the sender is console
      See Also:
    • getPlugin

      @NotNull public @NotNull Plex getPlugin()
      The plugin
      Specified by:
      getPlugin in interface org.bukkit.command.PluginIdentifiableCommand
      Returns:
      The instance of the plugin
      See Also:
    • isConsole

      protected boolean isConsole(org.bukkit.command.CommandSender sender)
      Checks whether a sender is console
      Parameters:
      sender - A command sender
      Returns:
      true if the sender is console
    • tl

      protected net.kyori.adventure.text.Component tl(String s, Object... objects)
      Converts a message entry from the "messages.yml" to a component
      Parameters:
      s - The message entry
      objects - Any objects to replace in order
      Returns:
      A kyori component
    • usage

      protected net.kyori.adventure.text.Component usage(String s)
      Converts usage to a component
      Parameters:
      s - The usage to convert
      Returns:
      A kyori component stating the usage
    • getNonNullPlayer

      protected org.bukkit.entity.Player getNonNullPlayer(String name)
    • getOnlinePlexPlayer

      protected PlexPlayer getOnlinePlexPlayer(String name)
    • getOfflinePlexPlayer

      protected PlexPlayer getOfflinePlexPlayer(UUID uuid)
    • getNonNullWorld

      protected org.bukkit.World getNonNullWorld(String name)
    • componentFromString

      protected net.kyori.adventure.text.Component componentFromString(String s)
      Converts a string to a legacy kyori component
      Parameters:
      s - The string to convert
      Returns:
      A kyori component
    • getLevel

      public Rank getLevel()
    • getMap

      public org.bukkit.command.CommandMap getMap()