public class TriggerReactor extends TriggerReactorCore
Modifier and Type | Field and Description |
---|---|
protected static String |
ID |
CACHED_THREAD_POOL, PERMISSION, sharedVars
Constructor and Description |
---|
TriggerReactor() |
Modifier and Type | Method and Description |
---|---|
protected void |
addItemLore(IItemStack iS,
String lore) |
void |
callEvent(IEvent event)
Call event so that it can be heard by listeners
|
<T> Future<T> |
callSyncMethod(Callable<T> call)
Run Callable on the server thread.
|
Object |
createEmptyPlayerEvent(ICommandSender sender) |
Interpreter.ProcessInterrupter |
createInterrupter(Object e,
Interpreter interpreter,
Map<UUID,Long> cooldowns)
Create ProcessInterrupter that will be used for the most of the Triggers.
|
Interpreter.ProcessInterrupter |
createInterrupterForInv(Object e,
Interpreter interpreter,
Map<UUID,Long> cooldowns,
Map<IInventory,InventoryTrigger> inventoryMap)
Create ProcessInterrupter that will be used for the most of the Triggers.
|
Object |
createPlayerCommandEvent(ICommandSender sender,
String label,
String[] args) |
void |
disablePlugin()
Disable this plugin.
|
IPlayer |
extractPlayerFromContext(Object e)
try to extract player from context 'e'.
|
AbstractAreaTriggerManager |
getAreaManager() |
String |
getAuthor()
get Author of plugin
|
AbstractLocationBasedTriggerManager<AbstractLocationBasedTriggerManager.ClickTrigger> |
getClickManager() |
AbstractCommandTriggerManager |
getCmdManager() |
Object |
getConfig(String key)
Get the saved value associated with 'key' in config.yml.
|
<T> T |
getConfig(String key,
T def)
Get the saved value associated with 'key' in config.yml.
|
ICommandSender |
getConsoleSender()
get sender instance of the console
|
AbstractCustomTriggerManager |
getCustomManager() |
Map<String,Object> |
getCustomVarsForTrigger(Object e)
extract useful custom variables manually from 'context'
|
File |
getDataFolder()
Get folder where the plugin files will be saved.
|
AbstractExecutorManager |
getExecutorManager() |
AbstractInventoryEditManager |
getInvEditManager() |
AbstractInventoryTriggerManager |
getInvManager() |
AbstractPlayerLocationManager |
getLocationManager() |
Logger |
getLogger()
get Logger.
|
<T> T |
getMain()
Get the main class instance.
|
AbstractNamedTriggerManager |
getNamedTriggerManager() |
AbstractPermissionManager |
getPermissionManager() |
AbstractPlaceholderManager |
getPlaceholderManager() |
IPlayer |
getPlayer(String string) |
String |
getPluginDescription()
get Plugin's description.
|
AbstractRepeatingTriggerManager |
getRepeatManager() |
AbstractScriptEditManager |
getScriptEditManager() |
AbstractAreaSelectionManager |
getSelectionManager() |
SelfReference |
getSelfReference() |
Lag |
getTpsHelper() |
String |
getVersion()
get Plugin's version as String
|
AbstractLocationBasedTriggerManager<AbstractLocationBasedTriggerManager.WalkTrigger> |
getWalkManager() |
static SpongeWrapper |
getWrapper() |
boolean |
isConfigSet(String key)
Check if the 'key' is set in the config.yml.
|
boolean |
isEnabled()
Check if this plugin is enabled.
|
boolean |
isServerThread()
Check if the current Thread is the Server
|
void |
onConstruct(org.spongepowered.api.event.game.state.GameInitializationEvent event) |
void |
onDisable(org.spongepowered.api.event.game.state.GameStoppingServerEvent e) |
void |
onEnable(org.spongepowered.api.event.game.state.GameStartedServerEvent e) |
void |
onInitialize(org.spongepowered.api.event.game.state.GameAboutToStartServerEvent e) |
void |
onLoadComplete(org.spongepowered.api.event.game.state.GameAboutToStartServerEvent e) |
void |
onReload(org.spongepowered.api.event.game.GameReloadEvent event) |
void |
onTabComplete(org.spongepowered.api.event.command.TabCompleteEvent.Command e) |
void |
registerEvents(Manager manager)
Register events for Managers.
|
void |
reloadConfig()
Save all configs from config.yml.
|
protected boolean |
removeLore(IItemStack iS,
int index) |
void |
runTask(Runnable runnable)
Run task on the server thread.
|
void |
saveAsynchronously(Manager manager)
Call saveAll() on separated thread.
|
void |
saveConfig()
Save all configs to config.yml.
|
protected void |
sendCommandDesc(ICommandSender sender,
String command,
String desc)
Send command description.
|
protected void |
sendDetails(ICommandSender sender,
String detail)
Send detail under the command.
|
void |
setConfig(String key,
Object value)
Save the 'value' to the associated 'key' in config.yml.
|
protected void |
setItemTitle(IItemStack iS,
String title) |
protected boolean |
setLore(IItemStack iS,
int index,
String lore) |
protected void |
showGlowStones(ICommandSender sender,
Set<Map.Entry<SimpleLocation,Trigger>> set)
Show glowstones to indicate the walk/click triggers in the chunk.
|
getInstance, getPluginConfigManager, getSharedVars, getVariableManager, handleException, handleException, isDebugging, onCommand, onCoreDisable, onCoreEnable, onTabComplete, submitAsync, submitSync
protected static final String ID
public static SpongeWrapper getWrapper()
public void onConstruct(org.spongepowered.api.event.game.state.GameInitializationEvent event)
public Lag getTpsHelper()
public void onLoadComplete(org.spongepowered.api.event.game.state.GameAboutToStartServerEvent e)
public void onInitialize(org.spongepowered.api.event.game.state.GameAboutToStartServerEvent e)
public void onEnable(org.spongepowered.api.event.game.state.GameStartedServerEvent e)
public void onDisable(org.spongepowered.api.event.game.state.GameStoppingServerEvent e)
public void onReload(org.spongepowered.api.event.game.GameReloadEvent event)
public void onTabComplete(org.spongepowered.api.event.command.TabCompleteEvent.Command e)
public SelfReference getSelfReference()
getSelfReference
in class TriggerReactorCore
public AbstractExecutorManager getExecutorManager()
getExecutorManager
in class TriggerReactorCore
public AbstractPlaceholderManager getPlaceholderManager()
getPlaceholderManager
in class TriggerReactorCore
public AbstractScriptEditManager getScriptEditManager()
getScriptEditManager
in class TriggerReactorCore
public AbstractPlayerLocationManager getLocationManager()
getLocationManager
in class TriggerReactorCore
public AbstractPermissionManager getPermissionManager()
getPermissionManager
in class TriggerReactorCore
public AbstractAreaSelectionManager getSelectionManager()
getSelectionManager
in class TriggerReactorCore
public AbstractInventoryEditManager getInvEditManager()
getInvEditManager
in class TriggerReactorCore
public AbstractLocationBasedTriggerManager<AbstractLocationBasedTriggerManager.ClickTrigger> getClickManager()
getClickManager
in class TriggerReactorCore
public AbstractLocationBasedTriggerManager<AbstractLocationBasedTriggerManager.WalkTrigger> getWalkManager()
getWalkManager
in class TriggerReactorCore
public AbstractCommandTriggerManager getCmdManager()
getCmdManager
in class TriggerReactorCore
public AbstractInventoryTriggerManager getInvManager()
getInvManager
in class TriggerReactorCore
public AbstractAreaTriggerManager getAreaManager()
getAreaManager
in class TriggerReactorCore
public AbstractCustomTriggerManager getCustomManager()
getCustomManager
in class TriggerReactorCore
public AbstractRepeatingTriggerManager getRepeatManager()
getRepeatManager
in class TriggerReactorCore
public AbstractNamedTriggerManager getNamedTriggerManager()
getNamedTriggerManager
in class TriggerReactorCore
protected boolean removeLore(IItemStack iS, int index)
removeLore
in class TriggerReactorCore
protected boolean setLore(IItemStack iS, int index, String lore)
setLore
in class TriggerReactorCore
protected void addItemLore(IItemStack iS, String lore)
addItemLore
in class TriggerReactorCore
protected void setItemTitle(IItemStack iS, String title)
setItemTitle
in class TriggerReactorCore
public IPlayer getPlayer(String string)
getPlayer
in class TriggerReactorCore
public Object createEmptyPlayerEvent(ICommandSender sender)
createEmptyPlayerEvent
in class TriggerReactorCore
public Object createPlayerCommandEvent(ICommandSender sender, String label, String[] args)
createPlayerCommandEvent
in class TriggerReactorCore
protected void sendCommandDesc(ICommandSender sender, String command, String desc)
TriggerReactorCore
sendCommandDesc
in class TriggerReactorCore
sender
- sender to show descriptioncommand
- the command to explaindesc
- descriptionprotected void sendDetails(ICommandSender sender, String detail)
TriggerReactorCore
TriggerReactorCore.sendCommandDesc(ICommandSender, String, String)
to add more information or example about the command.sendDetails
in class TriggerReactorCore
sender
- sender to show descriptiondetail
- detail to showpublic String getPluginDescription()
TriggerReactorCore
getPluginDescription
in class TriggerReactorCore
public String getVersion()
TriggerReactorCore
getVersion
in class TriggerReactorCore
public String getAuthor()
TriggerReactorCore
getAuthor
in class TriggerReactorCore
protected void showGlowStones(ICommandSender sender, Set<Map.Entry<SimpleLocation,Trigger>> set)
TriggerReactorCore
showGlowStones
in class TriggerReactorCore
sender
- sender to show the glow stonesset
- the set contains location of block and its associated trigger.public void registerEvents(Manager manager)
TriggerReactorCore
registerEvents
in class TriggerReactorCore
manager
- the object instance of Managerpublic File getDataFolder()
TriggerReactorCore
getDataFolder
in class TriggerReactorCore
public Logger getLogger()
TriggerReactorCore
getLogger
in class TriggerReactorCore
public boolean isEnabled()
TriggerReactorCore
isEnabled
in class TriggerReactorCore
public void disablePlugin()
TriggerReactorCore
disablePlugin
in class TriggerReactorCore
public <T> T getMain()
TriggerReactorCore
getMain
in class TriggerReactorCore
public boolean isConfigSet(String key)
TriggerReactorCore
isConfigSet
in class TriggerReactorCore
key
- the keypublic void setConfig(String key, Object value)
TriggerReactorCore
TriggerReactorCore.saveConfig()
setConfig
in class TriggerReactorCore
key
- the keyvalue
- the value to set.public Object getConfig(String key)
TriggerReactorCore
getConfig
in class TriggerReactorCore
key
- the keypublic <T> T getConfig(String key, T def)
TriggerReactorCore
getConfig
in class TriggerReactorCore
key
- the keydef
- the default value to return if the 'key' is not setpublic void saveConfig()
TriggerReactorCore
saveConfig
in class TriggerReactorCore
public void reloadConfig()
TriggerReactorCore
reloadConfig
in class TriggerReactorCore
public void runTask(Runnable runnable)
TriggerReactorCore
runTask
in class TriggerReactorCore
runnable
- the Runnable to runpublic void saveAsynchronously(Manager manager)
TriggerReactorCore
saveAsynchronously
in class TriggerReactorCore
public Interpreter.ProcessInterrupter createInterrupter(Object e, Interpreter interpreter, Map<UUID,Long> cooldowns)
TriggerReactorCore
createInterrupter
in class TriggerReactorCore
e
- the contextinterpreter
- the interpretercooldowns
- list of current cooldowns.public Interpreter.ProcessInterrupter createInterrupterForInv(Object e, Interpreter interpreter, Map<UUID,Long> cooldowns, Map<IInventory,InventoryTrigger> inventoryMap)
TriggerReactorCore
createInterrupterForInv
in class TriggerReactorCore
e
- the contextinterpreter
- the interpretercooldowns
- list of current cooldowns.inventoryMap
- the inventory map that contains all the information about open inventories. As child class that implements
IIventory should override hashCode() and equals() methods, you can assume that each IInventory instance represents one trigger
that is running with the InventoryTrigger mapped. So it is ideal to get inventory object from the 'e' context and see if the Inventory
object exists in the 'inventoryMap.' For the properly working InventoryTriggerManager, closing the inventory should delete the IInventory
from the 'inventoryMap,' so you can safely assume that closed inventory will not exists in the 'inventoryMap.'public IPlayer extractPlayerFromContext(Object e)
TriggerReactorCore
extractPlayerFromContext
in class TriggerReactorCore
e
- Event for Bukkit APIpublic <T> Future<T> callSyncMethod(Callable<T> call)
TriggerReactorCore
callSyncMethod
in class TriggerReactorCore
call
- the callablepublic void callEvent(IEvent event)
TriggerReactorCore
callEvent
in class TriggerReactorCore
public boolean isServerThread()
TriggerReactorCore
isServerThread
in class TriggerReactorCore
public Map<String,Object> getCustomVarsForTrigger(Object e)
TriggerReactorCore
getCustomVarsForTrigger
in class TriggerReactorCore
public ICommandSender getConsoleSender()
TriggerReactorCore
getConsoleSender
in class TriggerReactorCore