com.planet_ink.coffee_mud.Libraries
Class CMMap

java.lang.Object
  extended by com.planet_ink.coffee_mud.Libraries.StdLibrary
      extended by com.planet_ink.coffee_mud.Libraries.CMMap
All Implemented Interfaces:
CMObject, Tickable, CMLibrary, WorldMap, java.lang.Cloneable, java.lang.Comparable<CMObject>

public class CMMap
extends StdLibrary
implements WorldMap


Nested Class Summary
 class CMMap.AllAreasRoomEnumerator
           
 
Nested classes/interfaces inherited from interface com.planet_ink.coffee_mud.Libraries.interfaces.WorldMap
WorldMap.LocatedPair
 
Field Summary
protected static java.util.Comparator<Area> areaComparator
           
 CMNSortSVec<Area> areasList
           
 java.util.List<Auctioneer> auctionHouseList
           
 java.util.List<Banker> bankList
           
protected static char[] cmfsFilenameifyChars
           
 java.util.List<Deity> deitiesList
           
static MOB deityStandIn
           
 java.util.Map<java.lang.Integer,java.util.List<java.lang.ref.WeakReference<MsgListener>>> globalHandlers
           
 long lastVReset
           
 java.util.List<Librarian> libraryList
           
 double PI_ALMOST
           
 double PI_BY_2
           
 double PI_TIMES_2
           
 java.util.List<PostOffice> postOfficeList
           
 int QUADRANT_WIDTH
           
 CMMsg resetMsg
           
protected  java.util.Map<java.lang.String,java.lang.Object> SCRIPT_HOST_SEMAPHORES
           
 java.util.Map<java.lang.String,SLinkedList<WorldMap.LocatedPair>> scriptHostMap
           
 java.util.List<BoardableShip> shipList
           
 RTree<SpaceObject> space
           
static java.math.BigDecimal TWO
           
 double ZERO_ALMOST
           
 
Fields inherited from class com.planet_ink.coffee_mud.Libraries.StdLibrary
isDebugging, name, serviceClient, tickStatus
 
Fields inherited from interface com.planet_ink.coffee_mud.Libraries.interfaces.WorldMap
ROOM_EXPIRATION_MILLIS
 
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
 
Constructor Summary
CMMap()
           
 
Method Summary
 boolean activate()
          Activates the library.
 void addArea(Area newOne)
           
protected  void addAuctionHouse(Auctioneer newOne)
           
protected  void addBank(Banker newOne)
           
protected  void addDeity(Deity newOne)
           
 void addGlobalHandler(MsgListener E, int category)
           
protected  void addLibrary(Librarian newOne)
           
protected  void addMapStatFiles(java.util.List<CMFile.CMVFSFile> rootFiles, Room R, Environmental E, CMFile.CMVFSDir root)
           
 void addObjectToSpace(SpaceObject O, long[] coords)
           
protected  void addPostOffice(PostOffice newOne)
           
protected  void addScriptHost(Area area, Room room, PhysicalAgent host)
           
protected  void addShip(BoardableShip newOne)
           
protected  Room addWorldRoomsLiberally(java.util.List<Room> rooms, Area area)
           
protected  Room addWorldRoomsLiberally(java.util.List<Room> rooms, java.util.List<? extends Environmental> choicesV)
           
protected  Room addWorldRoomsLiberally(java.util.List<Room> rooms, Room room)
           
 Area areaLocation(CMObject E)
           
 java.util.Enumeration<Area> areas()
           
 java.util.Enumeration<Area> areasPlusShips()
           
 java.util.Enumeration<Auctioneer> auctionHouses()
           
 java.util.Iterator<java.lang.String> bankChains(Area AreaOrNull)
           
 java.util.Enumeration<Banker> banks()
           
protected  java.util.List<Item> checkInvCachedList(java.util.List<Item> list)
           
protected  java.util.List<MOB> checkMOBCachedList(java.util.List<MOB> list)
           
protected  java.util.List<Item> checkRoomItemCachedList(java.util.List<Item> list)
           
protected  void cleanScriptHosts(SLinkedList<WorldMap.LocatedPair> hosts, PhysicalAgent oneToDel, boolean fullCleaning)
           
protected  java.lang.String cmfsFilenameify(java.lang.String str)
           
 java.lang.String createNewExit(Room from, Room room, int direction)
           
 java.util.Enumeration<Deity> deities()
           
 MOB deity()
           
 void delArea(Area oneToDel)
           
protected  void delAuctionHouse(Auctioneer oneToDel)
           
protected  void delBank(Banker oneToDel)
           
protected  void delDeity(Deity oneToDel)
           
 void delGlobalHandler(MsgListener E, int category)
           
protected  void delLibrary(Librarian oneToDel)
           
 void delObjectInSpace(SpaceObject O)
           
protected  void delPostOffice(PostOffice oneToDel)
           
protected  void delScriptHost(Area area, PhysicalAgent oneToDel)
           
protected  void delShip(BoardableShip oneToDel)
           
 void destroyAreaObject(Area A)
           
 void destroyRoomObject(Room deadRoom)
           
 void emptyAreaAndDestroyRooms(Area area)
           
 void emptyRoom(Room room, Room toRoom, boolean clearPlayers)
           
protected  boolean enforceTimeLimit(long startTime, long maxMillis)
           
 boolean explored(Room R)
           
 Area findArea(java.lang.String calledThis)
           
 Room findAreaRoomLiberally(MOB mob, Area A, java.lang.String cmd, java.lang.String srchWhatAERIPMVK, int timePct)
           
 java.util.List<Room> findAreaRoomsLiberally(MOB mob, Area A, java.lang.String cmd, java.lang.String srchWhatAERIPMVK, int timePct)
           
 Area findAreaStartsWith(java.lang.String calledThis)
           
 Room findConnectingRoom(Room room)
           
 MOB findFirstInhabitant(java.util.Enumeration<Room> rooms, MOB mob, java.lang.String srchStr, int timePct)
           
 Item findFirstInventory(java.util.Enumeration<Room> rooms, MOB mob, java.lang.String srchStr, int timePct)
           
 Room findFirstRoom(java.util.Enumeration<Room> rooms, MOB mob, java.lang.String srchStr, boolean displayOnly, int timePct)
           
 Item findFirstRoomItem(java.util.Enumeration<Room> rooms, MOB mob, java.lang.String srchStr, boolean anyItems, int timePct)
           
 Environmental findFirstShopStock(java.util.Enumeration<Room> rooms, MOB mob, java.lang.String srchStr, int timePct)
           
 Environmental findFirstShopStocker(java.util.Enumeration<Room> rooms, MOB mob, java.lang.String srchStr, int timePct)
           
 java.util.List<MOB> findInhabitants(java.util.Enumeration<Room> rooms, MOB mob, java.lang.String srchStr, boolean returnFirst, int timePct)
           
 java.util.List<MOB> findInhabitants(java.util.Enumeration<Room> rooms, MOB mob, java.lang.String srchStr, int timePct)
           
 java.util.List<MOB> findInhabitantsFavorExact(java.util.Enumeration<Room> rooms, MOB mob, java.lang.String srchStr, boolean returnFirst, int timePct)
           
 java.util.List<Item> findInventory(java.util.Enumeration<Room> rooms, MOB mob, java.lang.String srchStr, boolean returnFirst, int timePct)
           
 java.util.List<Item> findInventory(java.util.Enumeration<Room> rooms, MOB mob, java.lang.String srchStr, int timePct)
           
 java.util.List<Item> findRoomItems(java.util.Enumeration<Room> rooms, MOB mob, java.lang.String srchStr, boolean anyItems, boolean returnFirst, int timePct)
           
 java.util.List<Item> findRoomItems(java.util.Enumeration<Room> rooms, MOB mob, java.lang.String srchStr, boolean anyItems, int timePct)
           
 java.util.List<Room> findRooms(java.util.Enumeration<Room> rooms, MOB mob, java.lang.String srchStr, boolean displayOnly, boolean returnFirst, int timePct)
           
 java.util.List<Room> findRooms(java.util.Enumeration<Room> rooms, MOB mob, java.lang.String srchStr, boolean displayOnly, int timePct)
           
protected  void findRoomsByDesc(MOB mob, java.util.Enumeration<Room> rooms, java.util.List<Room> foundRooms, java.lang.String srchStr, boolean returnFirst, long maxTime)
           
protected  void findRoomsByDisplay(MOB mob, java.util.Enumeration<Room> rooms, java.util.List<Room> foundRooms, java.lang.String srchStr, boolean returnFirst, long maxTime)
           
 BoardableShip findShip(java.lang.String s, boolean exactOnly)
           
 java.util.List<Environmental> findShopStock(java.util.Enumeration<Room> rooms, MOB mob, java.lang.String srchStr, boolean returnFirst, boolean returnStockers, int timePct)
           
 java.util.List<Environmental> findShopStock(java.util.Enumeration<Room> rooms, MOB mob, java.lang.String srchStr, int timePct)
           
 java.util.List<Environmental> findShopStockers(java.util.Enumeration<Room> rooms, MOB mob, java.lang.String srchStr, int timePct)
           
 SpaceObject findSpaceObject(java.lang.String s, boolean exactOnly)
           
 Room findWorldRoomLiberally(MOB mob, java.lang.String cmd, java.lang.String srchWhatAERIPMVK, int timePct, long maxMillis)
           
protected  java.util.List<Room> findWorldRoomsLiberally(MOB mob, java.lang.String cmd, java.lang.String srchWhatAERIPMVK, Area area, boolean returnFirst, int timePct, long maxMillis)
           
 java.util.List<Room> findWorldRoomsLiberally(MOB mob, java.lang.String cmd, java.lang.String srchWhatAERIPMVK, int timePct, long maxMillis)
           
protected  PairVector<MOB,java.lang.String> getAllPlayersHere(Area area, boolean includeLocalFollowers)
           
 double getAngleDelta(double[] fromAngle, double[] toAngle)
           
 Area getArea(java.lang.String calledThis)
           
 java.util.Map<java.lang.String,Area> getAreaFinder()
           
 Auctioneer getAuctionHouse(java.lang.String chain, java.lang.String areaNameOrBranch)
           
 Banker getBank(java.lang.String chain, java.lang.String areaNameOrBranch)
           
 Area getDefaultParentArea()
           
 Deity getDeity(java.lang.String calledThis)
           
 java.lang.String getDescriptiveExtendedRoomID(Room room)
           
 double[] getDirection(SpaceObject FROM, SpaceObject TO)
           
 TechComponent.ShipDir getDirectionFromDir(double[] facing, double roll, double[] direction)
           
 long getDistanceFrom(long[] coord1, long[] coord2)
           
 long getDistanceFrom(SpaceObject O1, SpaceObject O2)
           
 int getExitDir(Room from, Exit to)
           
 java.lang.String getExtendedRoomID(Room R)
           
 java.lang.String getExtendedTwinRoomIDs(Room R1, Room R2)
           
 double[] getFacingAngleDiff(double[] fromAngle, double[] toAngle)
           
 MOB getFactoryMOB(Room R)
           
 MOB getFactoryMOBInAnyRoom()
           
 Area getFirstArea()
           
protected  int getGlobalIndex(java.util.List<Environmental> list, java.lang.String name)
           
 long[] getInSectorCoords(long[] coordinates)
           
 java.util.Map<java.lang.String,java.util.List<Item>> getInvItemFinder()
           
 java.util.List<LocationRoom> getLandingPoints(SpaceObject ship, Environmental O)
           
 Librarian getLibrary(java.lang.String chain, java.lang.String areaNameOrBranch)
           
 long[] getLocation(long[] oldLocation, double[] direction, long distance)
           
 CMFile.CMVFSDir getMapRoot(CMFile.CMVFSDir root)
           
 double getMinDistanceFrom(SpaceObject FROM, long prevDistance, SpaceObject TO)
           
 java.util.Map<java.lang.String,java.util.List<MOB>> getMOBFinder()
           
 Area getModelArea(Area A)
           
 double[] getOppositeDir(double[] dir)
           
 java.lang.ThreadGroup getOwnedThreadGroup(CMObject E)
           
 PostOffice getPostOffice(java.lang.String chain, java.lang.String areaNameOrBranch)
           
 Area getRandomArea()
           
 Room getRandomRoom()
           
 long getRelativeSpeed(SpaceObject O1, SpaceObject O2)
           
 Room getRoom(java.util.Enumeration<Room> roomSet, java.lang.String calledThis)
           
 Room getRoom(Room room)
           
 Room getRoom(java.lang.String calledThis)
           
 int getRoomDir(Room from, Room to)
           
 java.util.Map<java.lang.String,java.util.List<Room>> getRoomFinder()
           
 java.util.Map<java.lang.String,java.util.List<Item>> getRoomItemFinder()
           
 Room getSafeRoomToMovePropertyTo(Room room, PrivateProperty I)
           
protected  java.lang.Object getScriptHostSemaphore(Area area)
           
 java.lang.String getSectorName(long[] coordinates)
           
 BoardableShip getShip(java.lang.String calledThis)
           
 SpaceObject getSpaceObject(CMObject o, boolean ignoreMobs)
           
 java.util.Enumeration<java.util.Map.Entry<SpaceObject,java.util.List<java.lang.ref.WeakReference<TrackingVector<SpaceObject>>>>> getSpaceObjectEntries()
           
 java.util.Enumeration<SpaceObject> getSpaceObjects()
           
 java.util.List<SpaceObject> getSpaceObjectsByCenterpointWithin(long[] centerCoordinates, long minDistance, long maxDistance)
           
 java.util.List<SpaceObject> getSpaceObjectsWithin(SpaceObject ofObj, long minDistance, long maxDistance)
           
 Area getStartArea(Environmental E)
           
 Room getStartRoom(Environmental E)
           
 java.util.Map<java.lang.String,java.util.List<Environmental>> getStockFinder()
           
 Area getTargetArea(Room from, Exit to)
           
 Room getTargetRoom(Room from, Exit to)
           
 boolean hasASky(Room room)
           
 java.lang.String ID()
          The CoffeeMud Java Class ID shared by all instances of this object.
protected  boolean isAQualifyingScriptHost(PhysicalAgent host)
           
protected  boolean isAScriptHost(Area area, PhysicalAgent host)
           
protected  boolean isAScriptHost(SLinkedList<WorldMap.LocatedPair> hosts, PhysicalAgent host)
           
 boolean isClearableRoom(Room R)
           
 boolean isHere(CMObject E2, Area here)
           
 boolean isHere(CMObject E2, Room here)
           
 boolean isObjectInSpace(SpaceObject O)
           
 java.util.Enumeration<Librarian> libraries()
           
 java.util.Iterator<java.lang.String> libraryChains(Area AreaOrNull)
           
 double moveSpaceObject(double[] curDirection, double curSpeed, double[] accelDirection, double newAcceleration)
           
 long[] moveSpaceObject(long[] coordinates, double[] direction, long speed)
           
 void moveSpaceObject(SpaceObject O)
           
 void moveSpaceObject(SpaceObject O, double[] accelDirection, double newAcceleration)
           
 void moveSpaceObject(SpaceObject O, long[] coords)
           
protected  void moveSpaceObject(SpaceObject O, long x, long y, long z)
           
 java.util.Enumeration<Area> mundaneAreas()
           
 int numAreas()
           
 int numAuctionHouses()
           
 int numBanks()
           
 int numDeities()
           
 int numLibraries()
           
 int numPostOffices()
           
 int numRooms()
           
 int numShips()
           
 int numSpaceObjects()
           
protected  void obliterateArea(Area A, boolean includeDB)
           
 void obliterateMapArea(Area A)
           
 void obliterateMapRoom(Room deadRoom)
           
protected  void obliterateRoom(Room deadRoom, boolean includeDB)
           
 java.util.Enumeration<PostOffice> postOffices()
           
 void registerWorldObjectDestroyed(Area area, Room room, CMObject o)
           
 void registerWorldObjectLoaded(Area area, Room room, CMObject o)
           
 void renamedArea(Area theA)
           
 void renameRooms(Area A, java.lang.String oldName, java.util.List<Room> allMyDamnRooms)
           
 void resetArea(Area area)
           
 void resetRoom(Room room)
           
 void resetRoom(Room room, boolean rebuildGrids)
           
protected  java.util.List<Room> returnResponse(java.util.List<Room> rooms, Room room)
           
 java.util.Enumeration<java.lang.String> roomIDs()
           
 Room roomLocation(Environmental E)
           
 void roomMaintSweep()
           
 java.util.Enumeration<Room> rooms()
           
 java.util.Enumeration<Room> roomsFilled()
           
 java.util.Enumeration<WorldMap.LocatedPair> scriptHosts(Area area)
           
 boolean sendGlobalMessage(MOB host, int category, CMMsg msg)
           
 java.util.Enumeration<Area> shipAreaEnumerator(Area inA)
           
 java.util.Enumeration<BoardableShip> ships()
           
 java.util.Enumeration<Room> shipsRoomEnumerator(Area inA)
           
 boolean shutdown()
          Shuts down the library.
 java.util.Enumeration<Area> spaceAreas()
           
 boolean tick(Tickable ticking, int tickID)
          this is the method which is called periodically by the threading engine.
 
Methods inherited from class com.planet_ink.coffee_mud.Libraries.StdLibrary
checkDatabase, compareTo, copyOf, getServiceClient, getTickStatus, initializeClass, L, name, newInstance, propertiesLoaded, setThreadStatus
 
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.Libraries.interfaces.CMLibrary
getServiceClient, L, propertiesLoaded
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.CMObject
copyOf, initializeClass, name, newInstance
 
Methods inherited from interface java.lang.Comparable
compareTo
 

Field Detail

TWO

public static final java.math.BigDecimal TWO

ZERO_ALMOST

public final double ZERO_ALMOST
See Also:
Constant Field Values

PI_ALMOST

public final double PI_ALMOST
See Also:
Constant Field Values

PI_TIMES_2

public final double PI_TIMES_2
See Also:
Constant Field Values

PI_BY_2

public final double PI_BY_2
See Also:
Constant Field Values

QUADRANT_WIDTH

public final int QUADRANT_WIDTH
See Also:
Constant Field Values

deityStandIn

public static MOB deityStandIn

lastVReset

public long lastVReset

areasList

public CMNSortSVec<Area> areasList

deitiesList

public java.util.List<Deity> deitiesList

shipList

public java.util.List<BoardableShip> shipList

postOfficeList

public java.util.List<PostOffice> postOfficeList

auctionHouseList

public java.util.List<Auctioneer> auctionHouseList

bankList

public java.util.List<Banker> bankList

libraryList

public java.util.List<Librarian> libraryList

space

public RTree<SpaceObject> space

SCRIPT_HOST_SEMAPHORES

protected java.util.Map<java.lang.String,java.lang.Object> SCRIPT_HOST_SEMAPHORES

areaComparator

protected static final java.util.Comparator<Area> areaComparator

globalHandlers

public java.util.Map<java.lang.Integer,java.util.List<java.lang.ref.WeakReference<MsgListener>>> globalHandlers

scriptHostMap

public java.util.Map<java.lang.String,SLinkedList<WorldMap.LocatedPair>> scriptHostMap

resetMsg

public CMMsg resetMsg

cmfsFilenameifyChars

protected static final char[] cmfsFilenameifyChars
Constructor Detail

CMMap

public CMMap()
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 StdLibrary
Returns:
the name of this class

getGlobalIndex

protected int getGlobalIndex(java.util.List<Environmental> list,
                             java.lang.String name)

renamedArea

public void renamedArea(Area theA)
Specified by:
renamedArea in interface WorldMap

numAreas

public int numAreas()
Specified by:
numAreas in interface WorldMap

addArea

public void addArea(Area newOne)
Specified by:
addArea in interface WorldMap

delArea

public void delArea(Area oneToDel)
Specified by:
delArea in interface WorldMap

getModelArea

public Area getModelArea(Area A)
Specified by:
getModelArea in interface WorldMap

getArea

public Area getArea(java.lang.String calledThis)
Specified by:
getArea in interface WorldMap

findAreaStartsWith

public Area findAreaStartsWith(java.lang.String calledThis)
Specified by:
findAreaStartsWith in interface WorldMap

findArea

public Area findArea(java.lang.String calledThis)
Specified by:
findArea in interface WorldMap

areas

public java.util.Enumeration<Area> areas()
Specified by:
areas in interface WorldMap

areasPlusShips

public java.util.Enumeration<Area> areasPlusShips()
Specified by:
areasPlusShips in interface WorldMap

mundaneAreas

public java.util.Enumeration<Area> mundaneAreas()
Specified by:
mundaneAreas in interface WorldMap

spaceAreas

public java.util.Enumeration<Area> spaceAreas()
Specified by:
spaceAreas in interface WorldMap

roomIDs

public java.util.Enumeration<java.lang.String> roomIDs()
Specified by:
roomIDs in interface WorldMap

getFirstArea

public Area getFirstArea()
Specified by:
getFirstArea in interface WorldMap

getDefaultParentArea

public Area getDefaultParentArea()
Specified by:
getDefaultParentArea in interface WorldMap

getRandomArea

public Area getRandomArea()
Specified by:
getRandomArea in interface WorldMap

addGlobalHandler

public void addGlobalHandler(MsgListener E,
                             int category)
Specified by:
addGlobalHandler in interface WorldMap

delGlobalHandler

public void delGlobalHandler(MsgListener E,
                             int category)
Specified by:
delGlobalHandler in interface WorldMap

deity

public MOB deity()
Specified by:
deity in interface WorldMap

getFactoryMOBInAnyRoom

public MOB getFactoryMOBInAnyRoom()
Specified by:
getFactoryMOBInAnyRoom in interface WorldMap

getFactoryMOB

public MOB getFactoryMOB(Room R)
Specified by:
getFactoryMOB in interface WorldMap

isObjectInSpace

public boolean isObjectInSpace(SpaceObject O)
Specified by:
isObjectInSpace in interface WorldMap

delObjectInSpace

public void delObjectInSpace(SpaceObject O)
Specified by:
delObjectInSpace in interface WorldMap

addObjectToSpace

public void addObjectToSpace(SpaceObject O,
                             long[] coords)
Specified by:
addObjectToSpace in interface WorldMap

getDistanceFrom

public long getDistanceFrom(long[] coord1,
                            long[] coord2)
Specified by:
getDistanceFrom in interface WorldMap

getDistanceFrom

public long getDistanceFrom(SpaceObject O1,
                            SpaceObject O2)
Specified by:
getDistanceFrom in interface WorldMap

getSectorName

public java.lang.String getSectorName(long[] coordinates)
Specified by:
getSectorName in interface WorldMap

getInSectorCoords

public long[] getInSectorCoords(long[] coordinates)
Specified by:
getInSectorCoords in interface WorldMap

moveSpaceObject

public void moveSpaceObject(SpaceObject O,
                            double[] accelDirection,
                            double newAcceleration)
Specified by:
moveSpaceObject in interface WorldMap

getAngleDelta

public double getAngleDelta(double[] fromAngle,
                            double[] toAngle)
Specified by:
getAngleDelta in interface WorldMap

getFacingAngleDiff

public double[] getFacingAngleDiff(double[] fromAngle,
                                   double[] toAngle)
Specified by:
getFacingAngleDiff in interface WorldMap

moveSpaceObject

public double moveSpaceObject(double[] curDirection,
                              double curSpeed,
                              double[] accelDirection,
                              double newAcceleration)
Specified by:
moveSpaceObject in interface WorldMap

getOppositeDir

public double[] getOppositeDir(double[] dir)
Specified by:
getOppositeDir in interface WorldMap

getDirectionFromDir

public TechComponent.ShipDir getDirectionFromDir(double[] facing,
                                                 double roll,
                                                 double[] direction)
Specified by:
getDirectionFromDir in interface WorldMap

getDirection

public double[] getDirection(SpaceObject FROM,
                             SpaceObject TO)
Specified by:
getDirection in interface WorldMap

moveSpaceObject

protected void moveSpaceObject(SpaceObject O,
                               long x,
                               long y,
                               long z)

moveSpaceObject

public void moveSpaceObject(SpaceObject O,
                            long[] coords)
Specified by:
moveSpaceObject in interface WorldMap

moveSpaceObject

public void moveSpaceObject(SpaceObject O)
Specified by:
moveSpaceObject in interface WorldMap

moveSpaceObject

public long[] moveSpaceObject(long[] coordinates,
                              double[] direction,
                              long speed)
Specified by:
moveSpaceObject in interface WorldMap

getLocation

public long[] getLocation(long[] oldLocation,
                          double[] direction,
                          long distance)
Specified by:
getLocation in interface WorldMap

getRelativeSpeed

public long getRelativeSpeed(SpaceObject O1,
                             SpaceObject O2)
Specified by:
getRelativeSpeed in interface WorldMap

findSpaceObject

public SpaceObject findSpaceObject(java.lang.String s,
                                   boolean exactOnly)
Specified by:
findSpaceObject in interface WorldMap

getSpaceObject

public SpaceObject getSpaceObject(CMObject o,
                                  boolean ignoreMobs)
Specified by:
getSpaceObject in interface WorldMap

getSpaceObjects

public java.util.Enumeration<SpaceObject> getSpaceObjects()
Specified by:
getSpaceObjects in interface WorldMap

getSpaceObjectEntries

public java.util.Enumeration<java.util.Map.Entry<SpaceObject,java.util.List<java.lang.ref.WeakReference<TrackingVector<SpaceObject>>>>> getSpaceObjectEntries()
Specified by:
getSpaceObjectEntries in interface WorldMap

getSpaceObjectsByCenterpointWithin

public java.util.List<SpaceObject> getSpaceObjectsByCenterpointWithin(long[] centerCoordinates,
                                                                      long minDistance,
                                                                      long maxDistance)
Specified by:
getSpaceObjectsByCenterpointWithin in interface WorldMap

getSpaceObjectsWithin

public java.util.List<SpaceObject> getSpaceObjectsWithin(SpaceObject ofObj,
                                                         long minDistance,
                                                         long maxDistance)
Specified by:
getSpaceObjectsWithin in interface WorldMap

getLandingPoints

public java.util.List<LocationRoom> getLandingPoints(SpaceObject ship,
                                                     Environmental O)
Specified by:
getLandingPoints in interface WorldMap

createNewExit

public java.lang.String createNewExit(Room from,
                                      Room room,
                                      int direction)
Specified by:
createNewExit in interface WorldMap

numRooms

public int numRooms()
Specified by:
numRooms in interface WorldMap

sendGlobalMessage

public boolean sendGlobalMessage(MOB host,
                                 int category,
                                 CMMsg msg)
Specified by:
sendGlobalMessage in interface WorldMap

getExtendedRoomID

public java.lang.String getExtendedRoomID(Room R)
Specified by:
getExtendedRoomID in interface WorldMap

getDescriptiveExtendedRoomID

public java.lang.String getDescriptiveExtendedRoomID(Room room)
Specified by:
getDescriptiveExtendedRoomID in interface WorldMap

getExtendedTwinRoomIDs

public java.lang.String getExtendedTwinRoomIDs(Room R1,
                                               Room R2)
Specified by:
getExtendedTwinRoomIDs in interface WorldMap

getRoom

public Room getRoom(java.util.Enumeration<Room> roomSet,
                    java.lang.String calledThis)
Specified by:
getRoom in interface WorldMap

findRooms

public java.util.List<Room> findRooms(java.util.Enumeration<Room> rooms,
                                      MOB mob,
                                      java.lang.String srchStr,
                                      boolean displayOnly,
                                      int timePct)
Specified by:
findRooms in interface WorldMap

findFirstRoom

public Room findFirstRoom(java.util.Enumeration<Room> rooms,
                          MOB mob,
                          java.lang.String srchStr,
                          boolean displayOnly,
                          int timePct)
Specified by:
findFirstRoom in interface WorldMap

findRooms

public java.util.List<Room> findRooms(java.util.Enumeration<Room> rooms,
                                      MOB mob,
                                      java.lang.String srchStr,
                                      boolean displayOnly,
                                      boolean returnFirst,
                                      int timePct)

findRoomsByDisplay

protected void findRoomsByDisplay(MOB mob,
                                  java.util.Enumeration<Room> rooms,
                                  java.util.List<Room> foundRooms,
                                  java.lang.String srchStr,
                                  boolean returnFirst,
                                  long maxTime)

findRoomsByDesc

protected void findRoomsByDesc(MOB mob,
                               java.util.Enumeration<Room> rooms,
                               java.util.List<Room> foundRooms,
                               java.lang.String srchStr,
                               boolean returnFirst,
                               long maxTime)

findInhabitants

public java.util.List<MOB> findInhabitants(java.util.Enumeration<Room> rooms,
                                           MOB mob,
                                           java.lang.String srchStr,
                                           int timePct)
Specified by:
findInhabitants in interface WorldMap

findFirstInhabitant

public MOB findFirstInhabitant(java.util.Enumeration<Room> rooms,
                               MOB mob,
                               java.lang.String srchStr,
                               int timePct)
Specified by:
findFirstInhabitant in interface WorldMap

findInhabitants

public java.util.List<MOB> findInhabitants(java.util.Enumeration<Room> rooms,
                                           MOB mob,
                                           java.lang.String srchStr,
                                           boolean returnFirst,
                                           int timePct)

findInhabitantsFavorExact

public java.util.List<MOB> findInhabitantsFavorExact(java.util.Enumeration<Room> rooms,
                                                     MOB mob,
                                                     java.lang.String srchStr,
                                                     boolean returnFirst,
                                                     int timePct)
Specified by:
findInhabitantsFavorExact in interface WorldMap

findInventory

public java.util.List<Item> findInventory(java.util.Enumeration<Room> rooms,
                                          MOB mob,
                                          java.lang.String srchStr,
                                          int timePct)
Specified by:
findInventory in interface WorldMap

findFirstInventory

public Item findFirstInventory(java.util.Enumeration<Room> rooms,
                               MOB mob,
                               java.lang.String srchStr,
                               int timePct)
Specified by:
findFirstInventory in interface WorldMap

findInventory

public java.util.List<Item> findInventory(java.util.Enumeration<Room> rooms,
                                          MOB mob,
                                          java.lang.String srchStr,
                                          boolean returnFirst,
                                          int timePct)

findShopStock

public java.util.List<Environmental> findShopStock(java.util.Enumeration<Room> rooms,
                                                   MOB mob,
                                                   java.lang.String srchStr,
                                                   int timePct)
Specified by:
findShopStock in interface WorldMap

findFirstShopStock

public Environmental findFirstShopStock(java.util.Enumeration<Room> rooms,
                                        MOB mob,
                                        java.lang.String srchStr,
                                        int timePct)
Specified by:
findFirstShopStock in interface WorldMap

findShopStockers

public java.util.List<Environmental> findShopStockers(java.util.Enumeration<Room> rooms,
                                                      MOB mob,
                                                      java.lang.String srchStr,
                                                      int timePct)
Specified by:
findShopStockers in interface WorldMap

findFirstShopStocker

public Environmental findFirstShopStocker(java.util.Enumeration<Room> rooms,
                                          MOB mob,
                                          java.lang.String srchStr,
                                          int timePct)
Specified by:
findFirstShopStocker in interface WorldMap

findShopStock

public java.util.List<Environmental> findShopStock(java.util.Enumeration<Room> rooms,
                                                   MOB mob,
                                                   java.lang.String srchStr,
                                                   boolean returnFirst,
                                                   boolean returnStockers,
                                                   int timePct)

findRoomItems

public java.util.List<Item> findRoomItems(java.util.Enumeration<Room> rooms,
                                          MOB mob,
                                          java.lang.String srchStr,
                                          boolean anyItems,
                                          int timePct)
Specified by:
findRoomItems in interface WorldMap

findFirstRoomItem

public Item findFirstRoomItem(java.util.Enumeration<Room> rooms,
                              MOB mob,
                              java.lang.String srchStr,
                              boolean anyItems,
                              int timePct)
Specified by:
findFirstRoomItem in interface WorldMap

findRoomItems

public java.util.List<Item> findRoomItems(java.util.Enumeration<Room> rooms,
                                          MOB mob,
                                          java.lang.String srchStr,
                                          boolean anyItems,
                                          boolean returnFirst,
                                          int timePct)

getRoom

public Room getRoom(Room room)
Specified by:
getRoom in interface WorldMap

getRoom

public Room getRoom(java.lang.String calledThis)
Specified by:
getRoom in interface WorldMap

rooms

public java.util.Enumeration<Room> rooms()
Specified by:
rooms in interface WorldMap

roomsFilled

public java.util.Enumeration<Room> roomsFilled()
Specified by:
roomsFilled in interface WorldMap

getRandomRoom

public Room getRandomRoom()
Specified by:
getRandomRoom in interface WorldMap

numDeities

public int numDeities()

addDeity

protected void addDeity(Deity newOne)

delDeity

protected void delDeity(Deity oneToDel)

getDeity

public Deity getDeity(java.lang.String calledThis)
Specified by:
getDeity in interface WorldMap

deities

public java.util.Enumeration<Deity> deities()
Specified by:
deities in interface WorldMap

numShips

public int numShips()
Specified by:
numShips in interface WorldMap

addShip

protected void addShip(BoardableShip newOne)

delShip

protected void delShip(BoardableShip oneToDel)

getShip

public BoardableShip getShip(java.lang.String calledThis)
Specified by:
getShip in interface WorldMap

findShip

public BoardableShip findShip(java.lang.String s,
                              boolean exactOnly)
Specified by:
findShip in interface WorldMap

ships

public java.util.Enumeration<BoardableShip> ships()
Specified by:
ships in interface WorldMap

shipsRoomEnumerator

public java.util.Enumeration<Room> shipsRoomEnumerator(Area inA)

shipAreaEnumerator

public java.util.Enumeration<Area> shipAreaEnumerator(Area inA)

numPostOffices

public int numPostOffices()

addPostOffice

protected void addPostOffice(PostOffice newOne)

delPostOffice

protected void delPostOffice(PostOffice oneToDel)

getPostOffice

public PostOffice getPostOffice(java.lang.String chain,
                                java.lang.String areaNameOrBranch)
Specified by:
getPostOffice in interface WorldMap

postOffices

public java.util.Enumeration<PostOffice> postOffices()
Specified by:
postOffices in interface WorldMap

auctionHouses

public java.util.Enumeration<Auctioneer> auctionHouses()
Specified by:
auctionHouses in interface WorldMap

numAuctionHouses

public int numAuctionHouses()

addAuctionHouse

protected void addAuctionHouse(Auctioneer newOne)

delAuctionHouse

protected void delAuctionHouse(Auctioneer oneToDel)

getAuctionHouse

public Auctioneer getAuctionHouse(java.lang.String chain,
                                  java.lang.String areaNameOrBranch)
Specified by:
getAuctionHouse in interface WorldMap

numBanks

public int numBanks()

addBank

protected void addBank(Banker newOne)

delBank

protected void delBank(Banker oneToDel)

getBank

public Banker getBank(java.lang.String chain,
                      java.lang.String areaNameOrBranch)
Specified by:
getBank in interface WorldMap

banks

public java.util.Enumeration<Banker> banks()
Specified by:
banks in interface WorldMap

bankChains

public java.util.Iterator<java.lang.String> bankChains(Area AreaOrNull)
Specified by:
bankChains in interface WorldMap

numLibraries

public int numLibraries()
Specified by:
numLibraries in interface WorldMap

addLibrary

protected void addLibrary(Librarian newOne)

delLibrary

protected void delLibrary(Librarian oneToDel)

getLibrary

public Librarian getLibrary(java.lang.String chain,
                            java.lang.String areaNameOrBranch)
Specified by:
getLibrary in interface WorldMap

libraries

public java.util.Enumeration<Librarian> libraries()
Specified by:
libraries in interface WorldMap

libraryChains

public java.util.Iterator<java.lang.String> libraryChains(Area AreaOrNull)
Specified by:
libraryChains in interface WorldMap

renameRooms

public void renameRooms(Area A,
                        java.lang.String oldName,
                        java.util.List<Room> allMyDamnRooms)
Specified by:
renameRooms in interface WorldMap

getRoomDir

public int getRoomDir(Room from,
                      Room to)
Specified by:
getRoomDir in interface WorldMap

getTargetArea

public Area getTargetArea(Room from,
                          Exit to)
Specified by:
getTargetArea in interface WorldMap

getTargetRoom

public Room getTargetRoom(Room from,
                          Exit to)
Specified by:
getTargetRoom in interface WorldMap

getExitDir

public int getExitDir(Room from,
                      Exit to)
Specified by:
getExitDir in interface WorldMap

findConnectingRoom

public Room findConnectingRoom(Room room)
Specified by:
findConnectingRoom in interface WorldMap

isClearableRoom

public boolean isClearableRoom(Room R)
Specified by:
isClearableRoom in interface WorldMap

explored

public boolean explored(Room R)
Specified by:
explored in interface WorldMap

obliterateMapRoom

public void obliterateMapRoom(Room deadRoom)
Specified by:
obliterateMapRoom in interface WorldMap

destroyRoomObject

public void destroyRoomObject(Room deadRoom)
Specified by:
destroyRoomObject in interface WorldMap

obliterateRoom

protected void obliterateRoom(Room deadRoom,
                              boolean includeDB)

emptyAreaAndDestroyRooms

public void emptyAreaAndDestroyRooms(Area area)
Specified by:
emptyAreaAndDestroyRooms in interface WorldMap

roomLocation

public Room roomLocation(Environmental E)
Specified by:
roomLocation in interface WorldMap

getStartArea

public Area getStartArea(Environmental E)
Specified by:
getStartArea in interface WorldMap

getStartRoom

public Room getStartRoom(Environmental E)
Specified by:
getStartRoom in interface WorldMap

getOwnedThreadGroup

public java.lang.ThreadGroup getOwnedThreadGroup(CMObject E)
Specified by:
getOwnedThreadGroup in interface WorldMap

areaLocation

public Area areaLocation(CMObject E)
Specified by:
areaLocation in interface WorldMap

getSafeRoomToMovePropertyTo

public Room getSafeRoomToMovePropertyTo(Room room,
                                        PrivateProperty I)
Specified by:
getSafeRoomToMovePropertyTo in interface WorldMap

emptyRoom

public void emptyRoom(Room room,
                      Room toRoom,
                      boolean clearPlayers)
Specified by:
emptyRoom in interface WorldMap

obliterateMapArea

public void obliterateMapArea(Area A)
Specified by:
obliterateMapArea in interface WorldMap

destroyAreaObject

public void destroyAreaObject(Area A)
Specified by:
destroyAreaObject in interface WorldMap

obliterateArea

protected void obliterateArea(Area A,
                              boolean includeDB)

resetRoom

public void resetRoom(Room room)
Specified by:
resetRoom in interface WorldMap

resetRoom

public void resetRoom(Room room,
                      boolean rebuildGrids)
Specified by:
resetRoom in interface WorldMap

findWorldRoomLiberally

public Room findWorldRoomLiberally(MOB mob,
                                   java.lang.String cmd,
                                   java.lang.String srchWhatAERIPMVK,
                                   int timePct,
                                   long maxMillis)
Specified by:
findWorldRoomLiberally in interface WorldMap

findWorldRoomsLiberally

public java.util.List<Room> findWorldRoomsLiberally(MOB mob,
                                                    java.lang.String cmd,
                                                    java.lang.String srchWhatAERIPMVK,
                                                    int timePct,
                                                    long maxMillis)
Specified by:
findWorldRoomsLiberally in interface WorldMap

findAreaRoomLiberally

public Room findAreaRoomLiberally(MOB mob,
                                  Area A,
                                  java.lang.String cmd,
                                  java.lang.String srchWhatAERIPMVK,
                                  int timePct)
Specified by:
findAreaRoomLiberally in interface WorldMap

findAreaRoomsLiberally

public java.util.List<Room> findAreaRoomsLiberally(MOB mob,
                                                   Area A,
                                                   java.lang.String cmd,
                                                   java.lang.String srchWhatAERIPMVK,
                                                   int timePct)
Specified by:
findAreaRoomsLiberally in interface WorldMap

addWorldRoomsLiberally

protected Room addWorldRoomsLiberally(java.util.List<Room> rooms,
                                      java.util.List<? extends Environmental> choicesV)

addWorldRoomsLiberally

protected Room addWorldRoomsLiberally(java.util.List<Room> rooms,
                                      Room room)

addWorldRoomsLiberally

protected Room addWorldRoomsLiberally(java.util.List<Room> rooms,
                                      Area area)

returnResponse

protected java.util.List<Room> returnResponse(java.util.List<Room> rooms,
                                              Room room)

enforceTimeLimit

protected boolean enforceTimeLimit(long startTime,
                                   long maxMillis)

checkMOBCachedList

protected java.util.List<MOB> checkMOBCachedList(java.util.List<MOB> list)

checkInvCachedList

protected java.util.List<Item> checkInvCachedList(java.util.List<Item> list)

checkRoomItemCachedList

protected java.util.List<Item> checkRoomItemCachedList(java.util.List<Item> list)

getMOBFinder

public java.util.Map<java.lang.String,java.util.List<MOB>> getMOBFinder()

getAreaFinder

public java.util.Map<java.lang.String,Area> getAreaFinder()

getRoomItemFinder

public java.util.Map<java.lang.String,java.util.List<Item>> getRoomItemFinder()

getInvItemFinder

public java.util.Map<java.lang.String,java.util.List<Item>> getInvItemFinder()

getStockFinder

public java.util.Map<java.lang.String,java.util.List<Environmental>> getStockFinder()

getRoomFinder

public java.util.Map<java.lang.String,java.util.List<Room>> getRoomFinder()

findWorldRoomsLiberally

protected java.util.List<Room> findWorldRoomsLiberally(MOB mob,
                                                       java.lang.String cmd,
                                                       java.lang.String srchWhatAERIPMVK,
                                                       Area area,
                                                       boolean returnFirst,
                                                       int timePct,
                                                       long maxMillis)

isHere

public boolean isHere(CMObject E2,
                      Room here)
Specified by:
isHere in interface WorldMap

isHere

public boolean isHere(CMObject E2,
                      Area here)
Specified by:
isHere in interface WorldMap

getAllPlayersHere

protected PairVector<MOB,java.lang.String> getAllPlayersHere(Area area,
                                                             boolean includeLocalFollowers)

resetArea

public void resetArea(Area area)
Specified by:
resetArea in interface WorldMap

hasASky

public boolean hasASky(Room room)
Specified by:
hasASky in interface WorldMap

registerWorldObjectDestroyed

public void registerWorldObjectDestroyed(Area area,
                                         Room room,
                                         CMObject o)
Specified by:
registerWorldObjectDestroyed in interface WorldMap

registerWorldObjectLoaded

public void registerWorldObjectLoaded(Area area,
                                      Room room,
                                      CMObject o)
Specified by:
registerWorldObjectLoaded in interface WorldMap

cleanScriptHosts

protected void cleanScriptHosts(SLinkedList<WorldMap.LocatedPair> hosts,
                                PhysicalAgent oneToDel,
                                boolean fullCleaning)

isAQualifyingScriptHost

protected boolean isAQualifyingScriptHost(PhysicalAgent host)

numSpaceObjects

public int numSpaceObjects()
Specified by:
numSpaceObjects in interface WorldMap

isAScriptHost

protected boolean isAScriptHost(Area area,
                                PhysicalAgent host)

isAScriptHost

protected boolean isAScriptHost(SLinkedList<WorldMap.LocatedPair> hosts,
                                PhysicalAgent host)

getScriptHostSemaphore

protected final java.lang.Object getScriptHostSemaphore(Area area)

addScriptHost

protected void addScriptHost(Area area,
                             Room room,
                             PhysicalAgent host)

delScriptHost

protected void delScriptHost(Area area,
                             PhysicalAgent oneToDel)

scriptHosts

public java.util.Enumeration<WorldMap.LocatedPair> scriptHosts(Area area)
Specified by:
scriptHosts in interface WorldMap

activate

public boolean activate()
Description copied from interface: CMLibrary
Activates the library. This is called after the mud is booted, but before connections are accepted.

Specified by:
activate in interface CMLibrary
Overrides:
activate in class StdLibrary
Returns:
true if activation was successful, false if you're screwed
See Also:
CMLibrary.shutdown()

tick

public boolean tick(Tickable ticking,
                    int tickID)
Description copied from interface: Tickable
this is the method which is called periodically by the threading engine. How often it is called depends on the parameters passed to the threadding engine when it is submitted for thread access. Typically the period is once per TIME_TICK period, but that is determined when the object is submitted to the thread engine.

Specified by:
tick in interface Tickable
Overrides:
tick in class StdLibrary
Parameters:
ticking - a reference to this Tickable object
tickID - the TICKID_ constant describing this periodic call, as defined in Tickable
Returns:
true always, unless this object no longer wishes to ever tick again, in which case false
See Also:
Tickable, ServiceEngine, TickableGroup

shutdown

public boolean shutdown()
Description copied from interface: CMLibrary
Shuts down the library. Called at system shutdown time obviously, but is sometimes called just to reset the library.

Specified by:
shutdown in interface CMLibrary
Overrides:
shutdown in class StdLibrary
Returns:
true if shutdown was successful, false if there's nothing you can do about it
See Also:
CMLibrary.activate()

roomMaintSweep

public void roomMaintSweep()

cmfsFilenameify

protected java.lang.String cmfsFilenameify(java.lang.String str)

addMapStatFiles

protected void addMapStatFiles(java.util.List<CMFile.CMVFSFile> rootFiles,
                               Room R,
                               Environmental E,
                               CMFile.CMVFSDir root)

getMapRoot

public CMFile.CMVFSDir getMapRoot(CMFile.CMVFSDir root)
Specified by:
getMapRoot in interface WorldMap

getMinDistanceFrom

public double getMinDistanceFrom(SpaceObject FROM,
                                 long prevDistance,
                                 SpaceObject TO)
Specified by:
getMinDistanceFrom in interface WorldMap