Class Door
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
- All Implemented Interfaces:
TurnListener
,UseListener
,Killer
,Cloneable
,Iterable<String>
,Serializable
- Direct Known Subclasses:
LockedDoor
,OnePlayerRoomDoor
A door is a special kind of portal which can be open or closed.
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 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
-
Method Summary
Modifier and TypeMethodDescriptionprotected void
close()
Closes the door.describe()
Describes the entity (if a players looks at it).static void
int
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 abstract boolean
Determine if this portal can be used.protected boolean
isOpen()
Is the door open?void
logic()
void
onTurnReached(int currentTurn)
This method is called when the turn number is reached.boolean
Teleport (if the door is now open).void
onUsedBackwards(RPEntity user, boolean hadPath)
If this portal is the destination of another portal used.void
open()
Opens the door.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)
void
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
-
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
-
Door
Creates a new door.- Parameters:
clazz
- The class. Responsible for how this door looks like.
-
Door
Creates a new door.- Parameters:
clazz
- The class. Responsible for how this door looks like.rejectMessage
- The message to given when rejected.
-
-
Method Details
-
generateRPClass
public static void generateRPClass() -
update
public void update() -
open
public void open()Opens the door. -
close
protected void close()Closes the door. -
isOpen
protected boolean isOpen()Is the door open?- Returns:
- true, if opened; false otherwise
-
onUsed
Teleport (if the door is now open).- Specified by:
onUsed
in interfaceUseListener
- Parameters:
user
- that wants to pass.- Returns:
- true if passed , false otherwise.
-
onUsedBackwards
Description copied from class:Portal
If this portal is the destination of another portal used.- Overrides:
onUsedBackwards
in classPortal
- Parameters:
user
- the player who used the other portal teleporting to ushadPath
- determines if entity was using mouse click to use portal
-
describe
Description copied from class:Entity
Describes the entity (if a players looks at it). -
onTurnReached
public void onTurnReached(int currentTurn)Description copied from interface:TurnListener
This method is called when the turn number is reached.- Specified by:
onTurnReached
in interfaceTurnListener
- Parameters:
currentTurn
- current turn number
-
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
-
isAllowed
Determine if this portal can be used.- Parameters:
user
- The user to be checked.- Returns:
true
if the user can use the portal.
-
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.
-