- All Known Subinterfaces:
LocalEffectScript,MessagingScript,SpeakingScript
- All Known Implementing Classes:
BaseScript,CommandScript,FieldScript,ItemScript,MoeNotFound,NpcScript,PortalScript,QuestScript,ReactorScript
public interface MoeScript
-
Method Summary
Modifier and Type Method Description voidaddAfterRunEvent(ScriptEvent event)Called internally after the work method.voidaddBeforeRunEvent(ScriptEvent event)Called internally before the work method.voidaddEndEvent(ScriptEvent event)Called inend()voidaddNoPermissionEvent(ScriptEvent event)Called instart()if script failshasPermission()voidaddStartEvent(ScriptEvent event)Called instart()voidend()End the script, calling all events attached.voidescape()Called ifresume(Number, Number, Object)'sactionmatches the escape event, typically -1.StringgetExpected()Optional<FieldObject<?>>getFieldObject()Optional<FieldSetObject<?>>getFieldSetObject()Optional<InventorySlotObject<?>>getInventorySlotObject()Optional<NpcObject<?>>getNpcObject()Optional<PortalObject<?>>getPortalObject()Optional<QuestObject<?>>getQuestObject()Optional<ReactorObject<?>>getReactorObject()Optional<ServerObject<?>>getServerObject()default intgetSpeakerTemplateId()Mainly used for packets.Optional<UserObject<?>>getUserObject()default booleanhasPermission()A check if this script has permission to run.booleanisDone()booleanisNextActionSet()booleanisNextResponseSet()booleanisPaused()Is the script waiting for a response forresume(Number, Number, Object)Stringname()voidreset()Resets the script back to a default state.default voidresetAndStart()voidresume(Number type, Number action, Object response)Resumes the scriptsvoidsetEscapeEvent(ScriptEvent event)Called inresume(Number, Number, Object)if a user issues an escape actionvoidsetExpected(String expected)Scripts can have multiple names and aliases, since it is unsure which script you're aiming at, you need to set the expected value here, for clarity.voidsetFieldObject(FieldObject<?> object)voidsetFieldSetObject(FieldSetObject<?> object)voidsetInventorySlotObject(InventorySlotObject<?> itemSlot)voidsetNpcObject(NpcObject<?> object)voidsetPortalObject(PortalObject<?> object)voidsetQuestObject(QuestObject<?> object)voidsetReactorObject(ReactorObject<?> object)voidsetScriptAction(ScriptAction action)voidsetScriptResponse(ScriptResponse response)voidsetServerObject(ServerObject<?> object)voidsetUserObject(UserObject<?> object)voidstart()Start the script, calling all events attached.
-
Method Details
-
name
String name() -
setExpected
Scripts can have multiple names and aliases, since it is unsure which script you're aiming at, you need to set the expected value here, for clarity. -
getExpected
String getExpected() -
isDone
boolean isDone() -
isPaused
boolean isPaused()Is the script waiting for a response forresume(Number, Number, Object) -
isNextResponseSet
boolean isNextResponseSet() -
isNextActionSet
boolean isNextActionSet() -
hasPermission
default boolean hasPermission()A check if this script has permission to run. This can be overridden to check if a user is valid for this script, or field, or whatever. This is called beforestart()- Returns:
- - true if script can run
-
start
void start()Start the script, calling all events attached. -
end
void end()End the script, calling all events attached. -
resume
Resumes the scripts- Parameters:
type- -ScriptMessageTypeaction- - The action for thetyperesponse- - The object to respond with
-
escape
void escape()Called ifresume(Number, Number, Object)'sactionmatches the escape event, typically -1. If escape event is null, thenend()is called. -
reset
void reset()Resets the script back to a default state. -
resetAndStart
default void resetAndStart() -
setScriptAction
-
setScriptResponse
-
addStartEvent
Called instart() -
addEndEvent
Called inend() -
addAfterRunEvent
Called internally after the work method. -
addBeforeRunEvent
Called internally before the work method. -
addNoPermissionEvent
Called instart()if script failshasPermission() -
setEscapeEvent
Called inresume(Number, Number, Object)if a user issues an escape action -
setInventorySlotObject
-
setServerObject
-
setFieldObject
-
setFieldSetObject
-
setNpcObject
-
setPortalObject
-
setQuestObject
-
setReactorObject
-
setUserObject
-
getInventorySlotObject
Optional<InventorySlotObject<?>> getInventorySlotObject() -
getServerObject
Optional<ServerObject<?>> getServerObject() -
getFieldObject
Optional<FieldObject<?>> getFieldObject() -
getFieldSetObject
Optional<FieldSetObject<?>> getFieldSetObject() -
getNpcObject
-
getPortalObject
Optional<PortalObject<?>> getPortalObject() -
getQuestObject
Optional<QuestObject<?>> getQuestObject() -
getReactorObject
Optional<ReactorObject<?>> getReactorObject() -
getUserObject
Optional<UserObject<?>> getUserObject() -
getSpeakerTemplateId
default int getSpeakerTemplateId()Mainly used for packets. Maybe scripts will use this in say prompts or messages. If a script is going to speak, it needs a template id. Not all will speak, but this is useful for reasons. Can be overridden on a per-script basis.- Returns:
- the NpcObject's template id or 2007, which is the id for maple administrator (I hope)
-