Denizen API: Difference between revisions
Aufdemrand (talk | contribs) |
Aufdemrand (talk | contribs) |
||
Line 11: | Line 11: | ||
ScriptCommands hold data about the situation surrounding the event that activates your command. Which type of script activates your Command, the ScriptCommand can have a multitude of information available. | ScriptCommands hold data about the situation surrounding the event that activates your command. Which type of script activates your Command, the ScriptCommand can have a multitude of information available. | ||
* <code>.sendingQueue()</code> returns a <code>QueueType</code> of either <code>QueueType.TRIGGER</code>, < | * <code>.sendingQueue()</code> returns a <code>QueueType</code> of either <code>QueueType.TRIGGER</code>, <code>QueueType.TASK</code>, or <code>QueueType.ACTIVITY</code> | ||
*: This contains the type of queue that sent the command. If the command was issues from a TASK script, for example, this would contain <code>QueueType.TASK</code> | *: This contains the type of queue that sent the command. If the command was issues from a TASK script, for example, this would contain <code>QueueType.TASK</code> | ||
</code> | * <code>.getScript()</code> contains a <code>String</code> name of the script. | ||
* <code>.getStep()</code> contains an <code>Integer</code> of the step of the script. | |||
*: Note that if this was a <code>TASK</code> script, for example, this would be null. | |||
* <code>.getTriggerType()</code> contains a <code>TriggerType</code> of the script. | |||
*: This will be either <code>TriggerType.ATTACK</code>, <code>TriggerType.CLICK</code>, <code>TriggerType.CHAT</code>, <code>TriggerType.PROXIMITY</code>, <code>TriggerType.TASK</code>, or <code>TriggerType.LOCATION</code>. More types are likely to be implemented. |
Revision as of 20:44, 5 July 2012
In Denizen, the Script Command system is extensible by design. It's very easy to make your own commands (and soon Requirements) extend the built-in features. On top of that, Denizen has some features available that may be of use to Plugin Developers.
Building your own Commands
The ScriptCommand Object
When Denizen reads scripts, each line is turned into a SciptCommand object that contains the command, the arguments, and various other data and objects, as described below. Your command is an extension of this base Command class, and each time your command is called in for execution, it's this class that is executed and handled a ScriptCommand. How the Command uses the ScriptCommand information is of course, up to you.
What a ScriptCommand holds
ScriptCommands hold data about the situation surrounding the event that activates your command. Which type of script activates your Command, the ScriptCommand can have a multitude of information available.
.sendingQueue()
returns aQueueType
of eitherQueueType.TRIGGER
,QueueType.TASK
, orQueueType.ACTIVITY
- This contains the type of queue that sent the command. If the command was issues from a TASK script, for example, this would contain
QueueType.TASK
- This contains the type of queue that sent the command. If the command was issues from a TASK script, for example, this would contain
.getScript()
contains aString
name of the script.
.getStep()
contains anInteger
of the step of the script.- Note that if this was a
TASK
script, for example, this would be null.
- Note that if this was a
.getTriggerType()
contains aTriggerType
of the script.- This will be either
TriggerType.ATTACK
,TriggerType.CLICK
,TriggerType.CHAT
,TriggerType.PROXIMITY
,TriggerType.TASK
, orTriggerType.LOCATION
. More types are likely to be implemented.
- This will be either