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

public class HousePortal extends Portal
A portal that can be used with a matching HouseKey. The requirements are saved with the portal.
  • Field Details

    • 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

    • HousePortal

      public HousePortal(String doorId)
      Create a HousePortal.
      Parameters:
      doorId - the door identifier
    • HousePortal

      public HousePortal(RPObject object)
      Create a HousePortal from an RPObject. Used when restoring from the database.
      Parameters:
      object - the corresponding RPObject
  • Method Details

    • generateRPClass

      public static void generateRPClass()
    • setOwner

      public void setOwner(String owner)
      Sets the owner of this portal.
      Parameters:
      owner - name of the owner.
    • setDestination

      public void setDestination(String zone, Object id)
      Description copied from class: Portal
      Set the destination portal zone and reference. The reference should match the same type/value as that passed to setReference() in the corresponding portal.
      Overrides:
      setDestination in class Portal
      Parameters:
      zone - The target zone.
      id - A reference tag.
    • setIdentifier

      public void setIdentifier(Object id)
      Description copied from class: Portal
      Set the portal reference to identify this specific portal with-in a zone. This value is opaque and requires a working equals(), but typically uses a String or Integer.
      Overrides:
      setIdentifier in class Portal
      Parameters:
      id - A reference tag.
    • describe

      public String describe()
      Description copied from class: Entity
      Describes the entity (if a players looks at it).
      Overrides:
      describe in class Entity
      Returns:
      description from the players point of view
    • 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.
    • getDoorId

      public String getDoorId()
      Get the identification string of this portal.
      Returns:
      the identification string
    • getPortalNumber

      public int getPortalNumber()
      Get the house number of this portal.
      Returns:
      the house number, or 0 if house number not found
    • getOwner

      public String getOwner()
      Get the name of the owner.
      Returns:
      owner
    • getLockNumber

      public int getLockNumber()
      Get the number of the lock.
      Returns:
      number of the lock
    • changeLock

      public void changeLock()
      Increase the lock number by one.
    • getExpireTime

      public long getExpireTime()
      Get the expiration time of the portal.
      Returns:
      time in milliseconds
    • setExpireTime

      public void setExpireTime(long time)
      Set the expiration time of the portal.
      Parameters:
      time - time in milliseconds
    • setAssociatedZones

      public void setAssociatedZones(String zones)
      Sets other zones that should hear knocking on door.
      Parameters:
      zones - Comma-separated string of zone names.
    • getAssociatedZones

      public String getAssociatedZones()
      Gets other zones that should hear knocking on door.
    • getAssociatedZonesList

      public List<String> getAssociatedZonesList()
      Gets other zones that should hear knocking on door.
    • 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.
    • rejected

      protected void rejected(RPEntity user)
      Called when the user is rejected. This sends a rejection message to the user if set.
      Parameters:
      user - The rejected user.
    • 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.