Class LockedDoor
java.lang.Object
marauroa.common.game.Attributes
marauroa.common.game.SlotOwner
marauroa.common.game.RPObject
games.stendhal.server.entity.Entity
games.stendhal.server.entity.mapstuff.portal.Portal
games.stendhal.server.entity.mapstuff.portal.Door
games.stendhal.server.entity.mapstuff.portal.LockedDoor
- All Implemented Interfaces:
TurnListener
,UseListener
,Killer
,Cloneable
,Iterable<String>
,Serializable
- Direct Known Subclasses:
KeyDestroyingDoor
A locked door is a special kind of portal which requires a key to pass it. If
the player carries the key with him, he can use the door just like a normal
portal; it will automatically open and close.
By using the requiredAmount parameter, it can need more than one item for a
key
Note that you can link a door with a portal; that way, people only require
the key when walking in one direction and can walk in the other direction
without any key.
-
Nested Class Summary
Nested classes/interfaces inherited from class marauroa.common.game.RPObject
RPObject.ID
-
Field Summary
Modifier and TypeFieldDescriptionprotected boolean
Override continuous movement setting.protected boolean
Immediate execution of action when player says password.protected int
Radius at which portal will "listen" for speaking players.protected String
Optional message to give when correct password used.protected String
Optional message to give when incorrect password used.protected int
ID for the portalprotected static int
protected ChatAction
Optional action to take when access is rejected.protected String
The message to give when rejected.protected int
protected String
Optional password to use portal.Fields inherited from class games.stendhal.server.entity.mapstuff.portal.Portal
ATTR_FACE, ATTR_HIDDEN, ATTR_OFFSET, ATTR_USE
Fields inherited from class marauroa.common.game.RPObject
INVALID_ID
-
Constructor Summary
ConstructorDescriptionLockedDoor(String key, String clazz)
Creates a new Locked door which need 1 key item.LockedDoor(String key, String clazz, int requiredAmount)
Creates a new Locked door. -
Method Summary
Modifier and TypeMethodDescriptionint
Gets the message to send when player is denied access to portal.Gets the password required to use the portal.boolean
Checks if the portal executes an action immediately after password is said.protected boolean
Determine if this portal can be used.void
logic()
boolean
playerIsPortalUnlocked(Player player, Portal portal)
protected void
Called when the user is rejected.protected void
sendMessage(RPEntity user, String text)
Wrapper to send a message to a user, without getting lost.void
setForceStop(boolean forceStop)
Sets flag to override continuous movement & force entity to stop.void
setInstantAction(boolean instant)
void
setListeningRadius(int radius)
Sets the radius at which the portal will "hear" speaking players.void
setPasswordAcceptedMessage(String message)
Set the password accepted message.void
setPasswordRejectedMessage(String message)
Set the password rejected message.void
setRejectedAction(ChatAction rejectedAction)
Initiates an action to take on rejection.void
setRejectedMessage(String message)
Set the rejection message.void
setRequiredPassword(String password)
Methods inherited from class games.stendhal.server.entity.mapstuff.portal.Door
close, describe, generateRPClass, isOpen, onTurnReached, onUsed, onUsedBackwards, open, update
Methods inherited from class games.stendhal.server.entity.mapstuff.portal.Portal
getDestinationReference, getDestinationZone, getFaceDirection, getIdentifier, getOffset, hasFaceDirection, hasOffset, isHidden, loaded, onPushedOntoFrom, setDestination, setFaceDirection, setFaceDirection, setHidden, setIdentifier, setIgnoreNoDestination, toString, usePortal
Methods inherited from class games.stendhal.server.entity.Entity
getAdjacentNodes, getArea, getArea, getCursor, getDescription, getDescriptionName, getEntitySlot, getHeight, getName, getOrigin, getResistance, getResistance, getTitle, getWidth, getX, getY, getZone, hasDescription, isInSight, isObstacle, nextTo, nextTo, notifyWorldAboutChanges, onAdded, onMoved, onRemoved, setCursor, setDescription, setEntityClass, setEntitySubclass, setMenu, setPosition, setResistance, setSize, setVisibility, slotIterator, slots, squaredDistance, squaredDistance, stopped
Methods inherited from class marauroa.common.game.RPObject
addEvent, addLink, addLink, addMap, addSlot, addSlot, applyDifferences, clearEvents, clearVisible, clone, containsKey, equals, events, eventsIterator, fill, get, getBaseContainer, getBoolean, getContainer, getContainerBaseOwner, getContainerOwner, getContainerSlot, getDifferences, getDouble, getFromSlots, getID, getInt, getLink, getLinkedObject, getMap, getSlot, has, hashCode, hasLink, hasMap, hasSlot, hide, isContained, isEmpty, isStorable, maps, put, put, put, put, readObject, remove, removeLink, removeMap, removeSlot, resetAddedAndDeleted, resetAddedAndDeletedMaps, resetAddedAndDeletedRPLink, resetAddedAndDeletedRPSlot, setAddedMaps, setAddedRPSlot, setContainer, setDeletedMaps, setDeletedRPSlot, setID, size, slots, slotsIterator, store, unhide, unstore, writeObject, writeObject, writeToJson
Methods inherited from class marauroa.common.game.SlotOwner
deserializeRPSlots, fill, serializeRPSlots
Methods inherited from class marauroa.common.game.Attributes
add, applyDifferences, get, getBool, getDouble, getInt, getList, getLong, getRPClass, has, instanceOf, iterator, put, put, put, put, put, readFromMap, remove, resetAddedAndDeletedAttributes, setAddedAttributes, setDeletedAttributes, setRPClass, setRPClass, toAttributeString
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
Field Details
-
requiredAmount
protected int requiredAmount -
instantAction
protected boolean instantActionImmediate execution of action when player says password. -
listeningRadius
protected int listeningRadiusRadius at which portal will "listen" for speaking players. -
passwordAcceptedMessage
Optional message to give when correct password used. -
passwordRejectedMessage
Optional message to give when incorrect password used. -
portalID
protected int portalIDID for the portal -
portalIDCounter
protected static int portalIDCounter -
rejectedMessage
The message to give when rejected. -
requiredPassword
Optional password to use portal. -
rejectedAction
Optional action to take when access is rejected. -
forceStop
protected boolean forceStopOverride continuous movement setting.
-
-
Constructor Details
-
LockedDoor
Creates a new Locked door which need 1 key item.- Parameters:
key
- The name of the item that is required to use the doorclazz
- The class. Responsible for how this door looks like.
-
LockedDoor
Creates a new Locked door.- Parameters:
key
- The name of the item that is required to use the doorclazz
- The class. Responsible for how this door looks like.requiredAmount
- The number of key items that are needed
-
-
Method Details
-
isAllowed
Determine if this portal can be used.- Parameters:
user
- The user to be checked.- Returns:
true
if the user can use the portal.
-
getPasswordAcceptedMessage
- Returns:
- Message when password is accepted.
-
getPasswordRejectedMessage
- Returns:
- Messager when password is rejected.
-
getListeningRadius
public int getListeningRadius()- Returns:
- Radius at which portal detects player speech.
-
getRejectedMessage
Gets the message to send when player is denied access to portal.- Returns:
- Rejected message
-
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
-
logic
public void logic() -
rejected
Called when the user is rejected. This sends a rejection message to the user if set.- Parameters:
user
- The rejected user.
-
sendMessage
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
Set the password accepted message.- Parameters:
message
- Optional message to be given when correct password used.
-
setPasswordRejectedMessage
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
Set the rejection message.- Parameters:
message
- The message to give when rejected.
-
setRequiredPassword
- Parameters:
password
-
-
setRejectedAction
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
- Iftrue
, entity is forced to stop movement.
-