com.planet_ink.coffee_mud.Items.CompTech
Class StdElecCompContainer

java.lang.Object
  extended by com.planet_ink.coffee_mud.Items.Basic.StdItem
      extended by com.planet_ink.coffee_mud.Items.Basic.StdContainer
          extended by com.planet_ink.coffee_mud.Items.BasicTech.StdElecContainer
              extended by com.planet_ink.coffee_mud.Items.CompTech.StdElecCompContainer
All Implemented Interfaces:
Affectable, Behavable, CloseableLockable, CMObject, Contingent, DBIdentifiable, Environmental, Modifiable, MsgListener, Physical, PhysicalAgent, Readable, Rider, StatsAffecting, Tickable, Container, Electronics, Item, TechComponent, Technical, Wearable, java.lang.Cloneable, java.lang.Comparable<CMObject>
Direct Known Subclasses:
StdCompFuelConsumer, StdCompPanel

public class StdElecCompContainer
extends StdElecContainer
implements TechComponent


Nested Class Summary
 
Nested classes/interfaces inherited from interface com.planet_ink.coffee_mud.Items.interfaces.TechComponent
TechComponent.ShipDir
 
Nested classes/interfaces inherited from interface com.planet_ink.coffee_mud.Items.interfaces.Technical
Technical.TechCommand, Technical.TechType
 
Nested classes/interfaces inherited from interface com.planet_ink.coffee_mud.Items.interfaces.Wearable
Wearable.CODES
 
Field Summary
protected  java.lang.String circuitKey
           
protected  float installedFactor
           
protected  float maxRechargePer
           
 
Fields inherited from class com.planet_ink.coffee_mud.Items.BasicTech.StdElecContainer
activated, cachedManufact, manufacturer, power, powerCapacity
 
Fields inherited from class com.planet_ink.coffee_mud.Items.Basic.StdContainer
capacity, containType, defaultsClosed, defaultsLocked, hasALid, hasALock, isLocked, isOpen, openDelayTicks
 
Fields inherited from class com.planet_ink.coffee_mud.Items.Basic.StdItem
affectPhyStats, affects, baseGoldValue, basePhyStats, behaviors, cachedImageName, CODES, databaseID, description, destroyed, displayText, dispossessionTime, material, me, miscText, myContainer, myUses, myWornCode, name, owner, phyStats, properWornBitmap, rawImageName, riding, scripts, secretIdentity, tickCtr, tickStatus, wornLogicalAnd, xtraValues
 
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
 
Fields inherited from interface com.planet_ink.coffee_mud.Items.interfaces.Container
CONTAIN_ANYTHING, CONTAIN_BODIES, CONTAIN_CAGED, CONTAIN_CLOTHES, CONTAIN_COINS, CONTAIN_DAGGERS, CONTAIN_DESCS, CONTAIN_DRINKABLES, CONTAIN_EATABLES, CONTAIN_FOOTWEAR, CONTAIN_KEYS, CONTAIN_LIQUID, CONTAIN_ONEHANDWEAPONS, CONTAIN_OTHERWEAPONS, CONTAIN_RAWMATERIALS, CONTAIN_READABLES, CONTAIN_SCROLLS, CONTAIN_SMOKEABLES, CONTAIN_SSCOMPONENTS, CONTAIN_SWORDS
 
Constructor Summary
StdElecCompContainer()
           
 
Method Summary
 void destroy()
          Utterly and permanently destroy this object, not only removing it from the map, but causing this object to be collected as garbage by Java.
 void executeMsg(Environmental host, CMMsg msg)
          The general message event handler for the object.
protected  double getComputedEfficiency()
           
 float getInstalledFactor()
          The installed factor is how well the equipment was installed.
 float getRechargeRate()
          Gets the amount of the capacity of this component that can gain power every time a power current is received.
 java.lang.String ID()
          The CoffeeMud Java Class ID shared by all instances of this object.
static boolean isAllWiringHot(Electronics E)
           
 boolean isInstalled()
          Returns whether this item is installed properly, which is according to internal rules of each component type.
protected static boolean isThisPanelActivated(ElecPanel E)
           
 boolean okMessage(Environmental host, CMMsg msg)
          The general message event previewer for the object.
 int powerNeeds()
          Returns the immediate power needs of this electrical item.
protected static boolean reportError(Electronics me, Software controlI, MOB mob, java.lang.String literalMessage, java.lang.String controlMessage)
           
 boolean sameAs(Environmental E)
          Whether this object instance is functionally identical to the object passed in.
 void setInstalledFactor(float pct)
          The installed factor is how well the equipment was installed.
 void setOwner(ItemPossessor newOwner)
          Sets the Room or MOB representing where this item is located.
 void setRechargeRate(float pctCapPer)
          Sets the amount of the capacity of this component that can gain power every time a power current is received.
 boolean subjectToWearAndTear()
          Whether the usesRemaining() number above is used to determine the percentage health of the item.
 
Methods inherited from class com.planet_ink.coffee_mud.Items.BasicTech.StdElecContainer
activate, activated, getFinalManufacturer, getManufacturerName, getTechType, powerCapacity, powerRemaining, setManufacturerName, setPowerCapacity, setPowerRemaining, setTechLevel, techLevel
 
Methods inherited from class com.planet_ink.coffee_mud.Items.Basic.StdContainer
canContain, capacity, containTypes, defaultsClosed, defaultsLocked, emptyPlease, getContents, getDeepContents, hasADoor, hasALock, hasContent, isInside, isLocked, isOpen, keyName, numberOfItems, openDelayTicks, recursiveWeight, setCapacity, setContainTypes, setDoorsNLocks, setKeyName, setMiscText, setOpenDelayTicks, tick
 
Methods inherited from class com.planet_ink.coffee_mud.Items.Basic.StdItem
abilityImbuesMagic, addBehavior, addEffect, addNonUninvokableEffect, addScript, affectCharState, affectCharStats, affectPhyStats, alreadyWornMsg, amBeingWornProperly, amDestroyed, amWearingAt, baseGoldValue, basePhyStats, behaviors, canSaveDatabaseID, canWear, canWearComplete, cloneFix, compareProperLocations, compareTo, container, copyOf, databaseID, delAllBehaviors, delAllEffects, delAllScripts, delBehavior, delEffect, delScript, description, description, displayText, displayText, eachBehavior, eachEffect, eachScript, effects, expirationDate, fetchBehavior, fetchBehavior, fetchEffect, fetchEffect, fetchScript, fitsOn, getCodeNum, getSaveStatIndex, getStat, getStatCodes, getTickStatus, I, image, initializeClass, isGeneric, isReadable, isSavable, isStat, L, material, maxRange, minRange, miscTextFormat, name, Name, name, newInstance, numBehaviors, numEffects, numScripts, owner, phyStats, rawImage, rawLogicalAnd, rawProperLocationBitmap, rawSecretIdentity, rawWornCode, readableText, recoverPhyStats, removeFromOwnerContainer, riding, scripts, secretIdentity, setBasePhyStats, setBaseValue, setContainer, setDatabaseID, setDescription, setDisplayText, setExpirationDate, setImage, setMaterial, setName, setRawLogicalAnd, setRawProperLocationBitmap, setRawWornCode, setReadable, setReadableText, setRiding, setSavable, setSecretIdentity, setStat, setUsesRemaining, stopTicking, tackOns, text, ultimateContainer, unWear, usesRemaining, value, wearAt, wearEvenIfImpossible, wearIfPossible, wearIfPossible, whereCantWear
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.planet_ink.coffee_mud.Items.interfaces.Electronics
activate, activated, getFinalManufacturer, getManufacturerName, powerCapacity, powerRemaining, setManufacturerName, setPowerCapacity, setPowerRemaining
 
Methods inherited from interface com.planet_ink.coffee_mud.Items.interfaces.Technical
getTechType, setTechLevel, techLevel
 
Methods inherited from interface com.planet_ink.coffee_mud.Items.interfaces.Item
baseGoldValue, container, material, numberOfItems, owner, rawSecretIdentity, recursiveWeight, removeFromOwnerContainer, secretIdentity, setBaseValue, setContainer, setMaterial, setSecretIdentity, setUsesRemaining, stopTicking, 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.CMObject
copyOf, initializeClass, newInstance
 
Methods inherited from interface java.lang.Comparable
compareTo
 
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

maxRechargePer

protected float maxRechargePer

installedFactor

protected float installedFactor

circuitKey

protected volatile java.lang.String circuitKey
Constructor Detail

StdElecCompContainer

public StdElecCompContainer()
Method Detail

ID

public java.lang.String ID()
Description copied from interface: CMObject
The CoffeeMud Java Class ID shared by all instances of this object. Unlike the Java Class name, this method does not include package information. However, it must return a String value unique to its class category in the ClassLoader. Class categories include Libraries, Common, Areas, Abilities, Behaviors, CharClasses, Commands, Exits Locales, MOBS, Races, WebMacros, Basic Items, Armor, Weapons, ClanItems, Tech. The name is typically identical to the class name.

Specified by:
ID in interface CMObject
Overrides:
ID in class StdElecContainer
Returns:
the name of this class

getInstalledFactor

public float getInstalledFactor()
Description copied from interface: TechComponent
The installed factor is how well the equipment was installed. 0-1.0

Specified by:
getInstalledFactor in interface TechComponent
Returns:
installed factor is how well the equipment was installed. 0-1.0
See Also:
TechComponent.setInstalledFactor(float)

setInstalledFactor

public void setInstalledFactor(float pct)
Description copied from interface: TechComponent
The installed factor is how well the equipment was installed. 0-1.0

Specified by:
setInstalledFactor in interface TechComponent
Parameters:
pct - installed factor is how well the equipment was installed. 0-1.0
See Also:
TechComponent.getInstalledFactor()

subjectToWearAndTear

public boolean subjectToWearAndTear()
Description copied from interface: Item
Whether the usesRemaining() number above is used to determine the percentage health of the item. If this method returns false, then health or condition is irrelevant to this Item. If true is returned, then usesRemaining is a number from 100 to 0, where 100 means perfect condition, and 0 means imminent disintegration.

Specified by:
subjectToWearAndTear in interface Item
Overrides:
subjectToWearAndTear in class StdItem
Returns:
whether this item has a valid condition

sameAs

public boolean sameAs(Environmental E)
Description copied from interface: Environmental
Whether this object instance is functionally identical to the object passed in. Works by repeatedly calling getStat on both objects and comparing the values.

Specified by:
sameAs in interface Environmental
Overrides:
sameAs in class StdItem
Parameters:
E - the object to compare this one to
Returns:
whether this object is the same as the one passed in
See Also:
Modifiable.getStatCodes(), Modifiable.getStat(String)

setRechargeRate

public void setRechargeRate(float pctCapPer)
Description copied from interface: TechComponent
Sets the amount of the capacity of this component that can gain power every time a power current is received.

Specified by:
setRechargeRate in interface TechComponent
Parameters:
pctCapPer - the amount of capacity per tick
See Also:
TechComponent.getRechargeRate()

getRechargeRate

public float getRechargeRate()
Description copied from interface: TechComponent
Gets the amount of the capacity of this component that can gain power every time a power current is received.

Specified by:
getRechargeRate in interface TechComponent
Returns:
amtPer the amount of capacity per tick
See Also:
TechComponent.setRechargeRate(float)

powerNeeds

public int powerNeeds()
Description copied from interface: Electronics
Returns the immediate power needs of this electrical item. Typically powerCapacity - powerAvailable

Specified by:
powerNeeds in interface Electronics
Overrides:
powerNeeds in class StdElecContainer
Returns:
the amount of power this item can still absorb
See Also:
Electronics.powerRemaining(), Electronics.powerCapacity()

destroy

public void destroy()
Description copied from interface: Contingent
Utterly and permanently destroy this object, not only removing it from the map, but causing this object to be collected as garbage by Java. Containers, rooms. and mobs who have their destroy() method called will also call the destroy() methods on all items and other objects listed as content, recursively.

Specified by:
destroy in interface Contingent
Overrides:
destroy in class StdItem

setOwner

public void setOwner(ItemPossessor newOwner)
Description copied from interface: Item
Sets the Room or MOB representing where this item is located. Containers are handled by another pointer, container(), so those two methods be used together to determine where a given item is. This method is called by the addItem method on mobs and the addItem interface on Rooms. Alone, this method is insufficient to properly determine an items location, so one of the two above should be called instead.

Specified by:
setOwner in interface Item
Overrides:
setOwner in class StdItem
Parameters:
newOwner - the mob or room where the item is located
See Also:
ItemCollection.addItem(Item)

getComputedEfficiency

protected double getComputedEfficiency()
Overrides:
getComputedEfficiency in class StdElecContainer

reportError

protected static boolean reportError(Electronics me,
                                     Software controlI,
                                     MOB mob,
                                     java.lang.String literalMessage,
                                     java.lang.String controlMessage)

isThisPanelActivated

protected static final boolean isThisPanelActivated(ElecPanel E)

isAllWiringHot

public static final boolean isAllWiringHot(Electronics E)

isInstalled

public boolean isInstalled()
Description copied from interface: TechComponent
Returns whether this item is installed properly, which is according to internal rules of each component type.

Specified by:
isInstalled in interface TechComponent
Returns:
true if its installed, false if its just there.

okMessage

public boolean okMessage(Environmental host,
                         CMMsg msg)
Description copied from interface: MsgListener
The general message event previewer for the object. Messages passed herein are in a pending state, and may be safely modified or rejected without fear that they might be in the middle of being executed. Messages passed herein may not necessarily be FOR or FROM this object, but will almost always represent events which want to happen in the same rom. This method should always always return true UNLESS this message needs to be canceled, in which case it is necessary to tell the mob initiating the event (CMMsg.source()) why it is being cancelled. Every game event goes through these methods.

Specified by:
okMessage in interface MsgListener
Overrides:
okMessage in class StdContainer
Parameters:
host - either the initiator of the event, or the host of this object
msg - the CMMsg that wants to be executed
Returns:
whether this message is allowed to execute
See Also:
CMMsg, CMMsg.source()

executeMsg

public void executeMsg(Environmental host,
                       CMMsg msg)
Description copied from interface: MsgListener
The general message event handler for the object. Messages passed herein may not necessarily be FOR this object, or from it, but will almost always represent events happening in the same room. The messages have already been through an approval process, so this method is called only to affect the final execution of the meaning of the message. Every game event goes through these methods.

Specified by:
executeMsg in interface MsgListener
Overrides:
executeMsg in class StdContainer
Parameters:
host - either the initiator of the event, or the host of this object
msg - the CMMsg that needs to be executed
See Also:
CMMsg