public abstract class InventoryPlugin extends EnginePlugin implements MessageCallback
EnginePlugin.DeleteHook, EnginePlugin.DeleteSubObjHook, EnginePlugin.GenerateSubObjectHook, EnginePlugin.GetPropertyMessage, EnginePlugin.GetPropertyNamesMessage, EnginePlugin.LoadHook, EnginePlugin.LoadSubObjHook, EnginePlugin.PluginActivateHook, EnginePlugin.PluginStateMessage, EnginePlugin.SaveHook, EnginePlugin.SaveSubObjHook, EnginePlugin.SetPropertyMessage, EnginePlugin.SubObjData, EnginePlugin.TransferFilter, EnginePlugin.TransferObjectMessage, EnginePlugin.UnloadHook, EnginePlugin.UnloadSubObjHook
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
INVENTORY_PLUGIN_NAME |
static java.lang.String |
INVENTORY_PROP_BACKREF_KEY |
static java.lang.String |
INVENTORY_PROP_BAG_KEY |
protected java.util.concurrent.locks.Lock |
lock |
protected static Logger |
log |
deleteSubObjectSubscription, dumpAllThreadSubscription, dumpAllThreadSubscriptionLock, loadSubObjectSubscription, MSG_TYPE_DUMP_ALL_THREAD_STACKS, MSG_TYPE_GET_PROPERTY, MSG_TYPE_GET_PROPERTY_NAMES, MSG_TYPE_PLUGIN_STATE, MSG_TYPE_SET_PROPERTY, MSG_TYPE_SET_PROPERTY_NONBLOCK, MSG_TYPE_TRANSFER_OBJECT, pluginStateSubscription, propertySubscription, saveSubObjectSubscription, selectionFilter, selectionSubscription, setSubObjectPersistenceSubscription, subObjectSubscription, unloadSubObjectSubscription
NO_FLAGS, RESPONSE_EXPECTED
Constructor and Description |
---|
InventoryPlugin() |
Modifier and Type | Method and Description |
---|---|
protected abstract boolean |
activateObject(OID objOid,
OID activatorOid,
OID targetOid) |
protected abstract boolean |
addItem(OID mobOid,
OID containerOid,
OID itemOid) |
protected abstract boolean |
containsItem(OID ownerOid,
OID itemOid)
returns whether or not the mob contains the given item
|
protected abstract EnginePlugin.SubObjData |
createInvSubObj(OID masterOid,
Template template)
creates an inventory for the mob
returns the bag, or null on failure
|
protected abstract EnginePlugin.SubObjData |
createItemSubObj(OID mobOid,
Template template)
creates an inventory item sub object
returns the oid, or null on failure
|
protected abstract void |
deleteInventory(Entity e)
Clean up when deleting an inventory sub object
|
protected void |
deleteInventory(OID oid)
Clean up when deleting an inventory item
|
protected abstract void |
deleteItem(Entity e)
Clean up when deleting an inventory item
|
protected void |
deleteItem(OID oid)
Clean up when deleting an inventory item
|
protected boolean |
destroyItem(OID containerOid,
OID itemOid) |
abstract boolean |
equipItem(AOObject item,
OID activateOid,
boolean replace) |
protected abstract OID |
findItem(OID mobOid,
int template) |
protected abstract java.util.ArrayList<OID> |
findItems(OID mobOid,
java.util.ArrayList<java.lang.Integer> templateList) |
java.util.concurrent.locks.Lock |
getLock() |
protected abstract void |
loadInventory(Entity e)
performs setup required after loading an inventory sub object
|
protected abstract void |
loadItem(Entity e)
performs setup required after loading an inventory item
|
protected abstract boolean |
lootAll(OID looterOid,
OID mobOid)
used to loot objects from a mob, or some other top level container object, such
as a chest
|
void |
onActivate()
for developers extending the EnginePlugin object, it may
be easier to use the onActivate() method which gets
called when the plugin is being activated by the Engine.
|
protected void |
registerHooks() |
protected abstract OID |
removeItem(OID mobOid,
int template,
boolean removeFromPlayer) |
protected abstract OID |
removeItem(OID mobOid,
OID itemOid,
boolean removeFromPlayer) |
protected abstract boolean |
removeItemFromBag(OID rootBagOid,
OID itemOid)
removes item from the bag
|
protected abstract java.util.ArrayList<OID> |
removeItems(OID MobOid,
java.util.ArrayList<java.lang.Integer> templateList,
boolean removeFromPlayer) |
protected abstract void |
saveInventory(Entity e,
Namespace namespace)
performs work required after saving an inventory sub object
|
protected abstract void |
saveItem(Entity e,
Namespace namespace)
performs work required after saving an inventory item
|
protected abstract void |
sendInvUpdate(OID mobOid)
sends an inventory update message to the client
|
protected abstract void |
unloadInventory(Entity e)
Clean up when unloading an inventory sub object
|
protected abstract void |
unloadItem(Entity e)
Clean up when unloading an inventory item
|
abstract void |
updateObject(OID mobOid,
OID target)
creates inventory if necessary or loads from database
|
activate, createMBeanInstance, createSubscription, getHookManager, getMessageHandler, getName, getObjectLockManager, getObjectProperties, getObjectProperties, getObjectProperty, getObjectPropertyNames, getPercentCPULoad, getPluginAvailable, getPluginInfo, getPluginNamespaces, getPluginState, getPluginStatus, getPluginType, getPropertyImpl, getPropertyNamesImpl, getStatusMap, handleMessage, handleMessageImpl, logDepsOutstanding, processKeysAndValues, registerActivateHook, registerDeleteHook, registerLoadHook, registerPluginNamespace, registerPluginNamespaces, registerPluginNamespaces, registerPluginNamespaces, registerSaveHook, registerTransferHook, registerUnloadHook, sendSubObjectResponse, sendSubObjectResponse, sendSubObjectResponse, setMessageHandler, setName, setObjectProperties, setObjectProperties, setObjectProperties, setObjectPropertiesNoResponse, setObjectPropertiesNoResponse, setObjectPropertiesNoResponse, setObjectProperty, setObjectPropertyNoResponse, setPercentCPULoad, setPluginAvailable, setPluginInfo, setPluginType, setPropertyImpl, transferObject
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
handleMessage
public static java.lang.String INVENTORY_PLUGIN_NAME
protected static final Logger log
protected java.util.concurrent.locks.Lock lock
public static final java.lang.String INVENTORY_PROP_BAG_KEY
public static final java.lang.String INVENTORY_PROP_BACKREF_KEY
public void onActivate()
EnginePlugin
onActivate
in class EnginePlugin
protected void registerHooks()
public abstract void updateObject(OID mobOid, OID target)
protected abstract boolean activateObject(OID objOid, OID activatorOid, OID targetOid)
protected abstract EnginePlugin.SubObjData createInvSubObj(OID masterOid, Template template)
protected abstract EnginePlugin.SubObjData createItemSubObj(OID mobOid, Template template)
protected abstract void loadInventory(Entity e)
protected abstract void loadItem(Entity e)
protected abstract void unloadInventory(Entity e)
protected abstract void unloadItem(Entity e)
protected abstract void deleteInventory(Entity e)
protected void deleteInventory(OID oid)
protected abstract void deleteItem(Entity e)
protected void deleteItem(OID oid)
protected abstract void saveInventory(Entity e, Namespace namespace)
protected abstract void saveItem(Entity e, Namespace namespace)
protected abstract void sendInvUpdate(OID mobOid)
protected abstract boolean removeItemFromBag(OID rootBagOid, OID itemOid)
protected abstract boolean lootAll(OID looterOid, OID mobOid)
looterOid
- player/mob that is lootingmobOid
- where you are looting fromprotected abstract boolean containsItem(OID ownerOid, OID itemOid)
ownerOid
- the player/mob to check againstitemOid
- the item you are checking againstprotected abstract java.util.ArrayList<OID> findItems(OID mobOid, java.util.ArrayList<java.lang.Integer> templateList)
protected abstract java.util.ArrayList<OID> removeItems(OID MobOid, java.util.ArrayList<java.lang.Integer> templateList, boolean removeFromPlayer)
public java.util.concurrent.locks.Lock getLock()