com.planet_ink.coffee_mud.Items.interfaces
Interface PackagedItems

All Superinterfaces:
Affectable, Behavable, java.lang.Cloneable, CMObject, java.lang.Comparable<CMObject>, Contingent, DBIdentifiable, Environmental, Item, Modifiable, MsgListener, Physical, PhysicalAgent, Readable, Rider, StatsAffecting, Tickable, Wearable
All Known Implementing Classes:
GenPackagedItems, GenPackagedStack, GenPackagedVariety

public interface PackagedItems
extends Item

An interface for a large number of Items packaged into a single Item object. There are methods unPackaging one or more, and so forth. It's similar to a container, but without some of the deep engine features at the expense of less CPU usage.


Nested Class Summary
 
Nested classes/interfaces inherited from interface com.planet_ink.coffee_mud.Items.interfaces.Wearable
Wearable.CODES
 
Field Summary
static int PACKAGE_FLAG_TO_ITEMS_PROGRAMMATICALLY
           
 
Fields inherited from interface com.planet_ink.coffee_mud.core.interfaces.Tickable
STATUS_AFFECT, STATUS_ALIVE, STATUS_BEHAVIOR, STATUS_CLASS, STATUS_DEAD, STATUS_END, STATUS_FIGHT, STATUS_MISC, STATUS_MISC2, STATUS_MISC3, STATUS_MISC4, STATUS_MISC5, STATUS_MISC6, STATUS_MISC7, STATUS_NOT, STATUS_OTHER, STATUS_RACE, STATUS_REBIRTH, STATUS_SCRIPT, STATUS_START, STATUS_WEATHER, TICKID_AREA, TICKID_BEAMWEAPON, TICKID_CLAN, TICKID_CLANITEM, TICKID_DEADBODY_DECAY, TICKID_ELECTRONICS, TICKID_EMAIL, TICKID_EXIT_BEHAVIOR, TICKID_EXIT_REOPEN, TICKID_ITEM_BEHAVIOR, TICKID_ITEM_BOUNCEBACK, TICKID_LIGHT_FLICKERS, TICKID_LIVEAUCTION, TICKID_LONGERMASK, TICKID_MISCELLANEOUS, TICKID_MOB, TICKID_PROPERTY_SPECIAL, TICKID_QUEST, TICKID_READYTOSTOP, TICKID_ROOM_BEHAVIOR, TICKID_ROOM_ITEM_REJUV, TICKID_SOLITARYMASK, TICKID_SPECIALCOMBAT, TICKID_SPECIALMANEUVER, TICKID_SPELL_AFFECT, TICKID_SUPPORT, TICKID_TIMEAUCTION, TICKID_TRAP_DESTRUCTION, TICKID_TRAP_RESET
 
Fields inherited from interface com.planet_ink.coffee_mud.Items.interfaces.Wearable
DEFAULT_WORN_CODES, DEFAULT_WORN_DEPENDENCYGRID, DEFAULT_WORN_DESCS, DEFAULT_WORN_ORDER, DEFAULT_WORN_USUAL_NAMES, DEFAULT_WORN_WEIGHT_POINTS, DEFAULT_WORN_WEIGHTS, FILTER_ANY, FILTER_MOBINVONLY, FILTER_ROOMONLY, FILTER_UNWORNONLY, FILTER_WORNONLY, HIGHEST_WORN_CODE, IN_INVENTORY, WORN_ABOUT_BODY, WORN_ARMS, WORN_BACK, WORN_EARS, WORN_EYES, WORN_FEET, WORN_FLOATING_NEARBY, WORN_HANDS, WORN_HEAD, WORN_HELD, WORN_LEFT_FINGER, WORN_LEFT_WRIST, WORN_LEGS, WORN_MOUTH, WORN_NECK, WORN_RIGHT_FINGER, WORN_RIGHT_WRIST, WORN_TORSO, WORN_WAIST, WORN_WIELD
 
Method Summary
 boolean areAllItemsTheSame()
          Returns whether this package contains identical items.
 int getPackageFlagsBitmap()
          Returns the flag bitmap describing how this item behaves.
 boolean isPackagable(java.util.List<Item> V)
          Returns whether the given list of items can be held by this package.
 int numberOfItemsInPackage()
          Returns the total number of items in the package.
 boolean packageMe(Item I, int number)
          Puts the given item into the package, and records the number of times it is repeated in the package.
 java.lang.String packageText()
          Returns the contents of the package as an XML doc.
 Item peekFirstItem()
          Returns the first item in the package, as a peek.
 void setNumberOfItemsInPackage(int number)
          For packages that hold only one type of item, this is a quick method to alter the number in the package.
 void setPackageFlagsBitmap(int bitmap)
          Sets the flag bitmap describing how this item behaves.
 void setPackageText(java.lang.String text)
          Sets the contents of the package from an XML doc.
 java.util.List<Item> unPackage(int number)
          Unpackages the top number of items in the package and returns them in an item list.
 
Methods inherited from interface com.planet_ink.coffee_mud.Items.interfaces.Item
baseGoldValue, container, material, numberOfItems, owner, rawSecretIdentity, recursiveWeight, removeFromOwnerContainer, secretIdentity, setBaseValue, setContainer, setMaterial, setOwner, setSecretIdentity, setUsesRemaining, stopTicking, subjectToWearAndTear, ultimateContainer, usesRemaining, value
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.Rider
riding, setRiding
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.Physical
description, displayText, name
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.Environmental
description, displayText, expirationDate, image, isGeneric, L, maxRange, minRange, miscTextFormat, Name, rawImage, sameAs, setDescription, setDisplayText, setExpirationDate, setImage, setMiscText, setName, text
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.Tickable
getTickStatus, name, tick
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.StatsAffecting
affectCharState, affectCharStats, affectPhyStats
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.MsgListener
executeMsg, okMessage
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.Contingent
amDestroyed, destroy, isSavable, setSavable
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.CMObject
copyOf, ID, initializeClass, newInstance
 
Methods inherited from interface java.lang.Comparable
compareTo
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.Modifiable
getSaveStatIndex, getStat, getStatCodes, isStat, setStat
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.Affectable
addEffect, addNonUninvokableEffect, basePhyStats, delAllEffects, delEffect, eachEffect, effects, fetchEffect, fetchEffect, numEffects, phyStats, recoverPhyStats, setBasePhyStats
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.Behavable
addBehavior, addScript, behaviors, delAllBehaviors, delAllScripts, delBehavior, delScript, eachBehavior, eachScript, fetchBehavior, fetchBehavior, fetchScript, numBehaviors, numScripts, scripts
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.DBIdentifiable
canSaveDatabaseID, databaseID, setDatabaseID
 
Methods inherited from interface com.planet_ink.coffee_mud.Items.interfaces.Wearable
amBeingWornProperly, amWearingAt, canWear, compareProperLocations, fitsOn, rawLogicalAnd, rawProperLocationBitmap, rawWornCode, setRawLogicalAnd, setRawProperLocationBitmap, setRawWornCode, unWear, wearAt, wearEvenIfImpossible, wearIfPossible, wearIfPossible, whereCantWear
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.Readable
isReadable, readableText, setReadable, setReadableText
 

Field Detail

PACKAGE_FLAG_TO_ITEMS_PROGRAMMATICALLY

static final int PACKAGE_FLAG_TO_ITEMS_PROGRAMMATICALLY
See Also:
Constant Field Values
Method Detail

packageMe

boolean packageMe(Item I,
                  int number)
Puts the given item into the package, and records the number of times it is repeated in the package.

Parameters:
I - the item to put in the package
number - the number of times the item repeats
Returns:
true if the packaging went well, false otherwise
See Also:
unPackage(int), isPackagable(List)

isPackagable

boolean isPackagable(java.util.List<Item> V)
Returns whether the given list of items can be held by this package. Some require all items to be identical while others are more flexible. This method should be called before trying to package anything.

Parameters:
V - the list of items to test
Returns:
true if the entire list can be packaged, and false otherwise

unPackage

java.util.List<Item> unPackage(int number)
Unpackages the top number of items in the package and returns them in an item list. If this results in 0 items in the package, the package is destroyed!

Parameters:
number - the number of items to unpackage
Returns:
the list of items unpackaged

numberOfItemsInPackage

int numberOfItemsInPackage()
Returns the total number of items in the package.

Returns:
the total number of items in the package.

peekFirstItem

Item peekFirstItem()
Returns the first item in the package, as a peek. It does not affect the contents of the package. The item should be destroyed after inspection.

Returns:
the first item in the package, or null

setNumberOfItemsInPackage

void setNumberOfItemsInPackage(int number)
For packages that hold only one type of item, this is a quick method to alter the number in the package. It is otherwise harmful.

Parameters:
number - the new number of items in the package

areAllItemsTheSame

boolean areAllItemsTheSame()
Returns whether this package contains identical items.

Returns:
true if this package contains identical items

packageText

java.lang.String packageText()
Returns the contents of the package as an XML doc.

Returns:
the contents of the package as an XML doc
See Also:
setPackageText(String)

setPackageText

void setPackageText(java.lang.String text)
Sets the contents of the package from an XML doc.

Parameters:
text - the contents of the package as an XML doc
See Also:
packageText()

getPackageFlagsBitmap

int getPackageFlagsBitmap()
Returns the flag bitmap describing how this item behaves.

Returns:
the flag bitmap describing how this item behaves.
See Also:
PACKAGE_FLAG_TO_ITEMS_PROGRAMMATICALLY, setPackageFlagsBitmap(int)

setPackageFlagsBitmap

void setPackageFlagsBitmap(int bitmap)
Sets the flag bitmap describing how this item behaves.

Parameters:
bitmap - the flag bitmap describing how this item behaves.
See Also:
PACKAGE_FLAG_TO_ITEMS_PROGRAMMATICALLY, getPackageFlagsBitmap()