Class LevelCheckingPortal

All Implemented Interfaces:
UseListener, Killer, Cloneable, Iterable<String>, Serializable

public class LevelCheckingPortal extends Portal
A portal which allows only certain levels of player to use it.
Author:
hendrik
  • Field Details

    • DEFAULT_MAX

      public static final int DEFAULT_MAX
      The default maximum level.
      See Also:
      Constant Field Values
    • DEFAULT_MIN

      public static final int DEFAULT_MIN
      The default minimum level.
      See Also:
      Constant Field Values
    • instantAction

      protected boolean instantAction
      Immediate execution of action when player says password.
    • listeningRadius

      protected int listeningRadius
      Radius at which portal will "listen" for speaking players.
    • passwordAcceptedMessage

      protected String passwordAcceptedMessage
      Optional message to give when correct password used.
    • passwordRejectedMessage

      protected String passwordRejectedMessage
      Optional message to give when incorrect password used.
    • portalID

      protected int portalID
      ID for the portal
    • portalIDCounter

      protected static int portalIDCounter
    • rejectedMessage

      protected String rejectedMessage
      The message to give when rejected.
    • requiredPassword

      protected String requiredPassword
      Optional password to use portal.
    • rejectedAction

      protected ChatAction rejectedAction
      Optional action to take when access is rejected.
    • forceStop

      protected boolean forceStop
      Override continuous movement setting.
  • Constructor Details

    • LevelCheckingPortal

      public LevelCheckingPortal(int minLevel, int maxLevel)
      Creates a level checking portal.
      Parameters:
      minLevel - The minimum level allowed to pass.
      maxLevel - The maximum level allowed to pass.
    • LevelCheckingPortal

      public LevelCheckingPortal(int minLevel, int maxLevel, String rejectMessage)
      Creates a level checking portal.
      Parameters:
      minLevel - The minimum level allowed to pass.
      maxLevel - The maximum level allowed to pass.
      rejectMessage - The custom rejection message.
  • Method Details

    • isAllowed

      protected boolean isAllowed(RPEntity user)
      Determine if this portal can be used.
      Parameters:
      user - The user to be checked.
      Returns:
      true if the user can use the portal.
    • rejected

      protected void rejected(RPEntity user)
      Called when the user is rejected. This sends a rejection message to the user.
      Parameters:
      user - The rejected user.
    • getPasswordAcceptedMessage

      public String getPasswordAcceptedMessage()
      Returns:
      Message when password is accepted.
    • getPasswordRejectedMessage

      public String getPasswordRejectedMessage()
      Returns:
      Messager when password is rejected.
    • getListeningRadius

      public int getListeningRadius()
      Returns:
      Radius at which portal detects player speech.
    • getRejectedMessage

      public String getRejectedMessage()
      Gets the message to send when player is denied access to portal.
      Returns:
      Rejected message
    • getRequiredPassword

      public String getRequiredPassword()
      Gets the password required to use the portal.
      Returns:
      Required password
    • hasInstanceAction

      public boolean hasInstanceAction()
      Checks if the portal executes an action immediately after password is said.
      Returns:
      instantAction
    • playerIsPortalUnlocked

      public boolean playerIsPortalUnlocked(Player player, Portal portal)
    • logic

      public void logic()
      Overrides:
      logic in class Portal
    • onUsed

      public boolean onUsed(RPEntity user)
      Use the portal, if allowed.
      Specified by:
      onUsed in interface UseListener
      Overrides:
      onUsed in class Portal
      Parameters:
      user - that wants to pass.
      Returns:
      true if passed , false otherwise.
    • sendMessage

      protected void sendMessage(RPEntity user, String text)
      Wrapper to send a message to a user, without getting lost.
      Parameters:
      user - The user to send to.
      text - The message to send.
    • setInstantAction

      public void setInstantAction(boolean instant)
      Parameters:
      instant - Use portal automatically.
    • setPasswordAcceptedMessage

      public void setPasswordAcceptedMessage(String message)
      Set the password accepted message.
      Parameters:
      message - Optional message to be given when correct password used.
    • setPasswordRejectedMessage

      public void setPasswordRejectedMessage(String message)
      Set the password rejected message.
      Parameters:
      message - Optional message to be given when incorrect password used.
    • setListeningRadius

      public void setListeningRadius(int radius)
      Sets the radius at which the portal will "hear" speaking players.
      Parameters:
      radius - Distance at wich portal listens for players speaking.
    • setRejectedMessage

      public void setRejectedMessage(String message)
      Set the rejection message.
      Parameters:
      message - The message to give when rejected.
    • setRequiredPassword

      public void setRequiredPassword(String password)
      Parameters:
      password -
    • setRejectedAction

      public void setRejectedAction(ChatAction rejectedAction)
      Initiates an action to take on rejection.
      Parameters:
      rejectedAction - ChatAction to execute.
    • setForceStop

      public void setForceStop(boolean forceStop)
      Sets flag to override continuous movement & force entity to stop.
      Parameters:
      forceStop - If true, entity is forced to stop movement.