CoffeeDarkpublic interface GalacticMap extends CMLibrary
idConverter| Modifier and Type | Method | Description |
|---|---|---|
double |
accelSpaceObject(double[] curDirection,
double curSpeed,
double[] accelDirection,
double newAcceleration) |
This method does not actually move anything, but returns a change in direction, and
a change in speed caused by an acceleration in a new direction.
|
void |
accelSpaceObject(SpaceObject O,
double[] accelDirection,
double newAcceleration) |
This method does not actually move anything, but given a space object, and an
acceleration direction and an acceleration speed, this will alter the space objects
direction and speed based on the new acceleration.
|
void |
addObjectToSpace(SpaceObject O) |
Adds the given SpaceObject to the galactic map cache.
|
void |
addObjectToSpace(SpaceObject O,
long[] coords) |
Adds the given SpaceObject to the galactic map cache
at the given coordinates.
|
void |
applyAngleDiff(double[] angle,
double[] delta) |
Given an angle and a simple delta, with positive and negative values,
this will add the delta to the angle and normalize the angle.
|
Pair<double[],java.lang.Long> |
calculateIntercept(SpaceObject chaserO,
SpaceObject runnerO,
long maxChaserSpeed,
int maxTicks) |
Returns the proper direction and speed to allow the given chaser to intercept the given runner.
|
boolean |
canMaybeIntercept(SpaceObject chaserO,
SpaceObject runnerO,
int maxTicks,
double maxSpeed) |
Returns whether the vectors described by the chaser and runners, their speeds, and the amount of time in
movement can even POSSIBLY intercept, because the two vectors overlap
|
void |
changeDirection(double[] dir,
double[] delta) |
Changes the given direction by the given delta variable.
|
void |
changeDirection(double[] dir,
double delta0,
double delta1) |
Changes the given direction by the given delta variables.
|
void |
delObjectInSpace(SpaceObject O) |
Removes a SpaceObject from the galactic map cache.
|
SpaceObject |
findSpaceObject(java.lang.String s,
boolean exactOnly) |
Given the name of an object in space, preferably a unique name, this will attempt to find and return it
using standard search methods.
|
ShipDirectional.ShipDir |
getAbsoluteDirectionalFromDir(double[] direction) |
Given a direction this will return a relative direction object describing
the directions absolute facing.
|
double |
getAngleDelta(double[] fromAngle,
double[] toAngle) |
Given two angles, this returns the difference between them as a single angle.
|
double[] |
getAngleDiff(double[] fromAngle,
double[] toAngle) |
Given two angles, this returns the difference between them in pitch and yaw.
|
ShipDirectional.ShipDir[] |
getCurrentBattleCoveredDirections(ShipDirectional comp) |
Given a ship war component, returns the directions in which it is
currently covering.
|
double[] |
getDirection(long[] fromCoords,
long[] toCoords) |
Given two galactic coordinates, this will return the direction in radians
from the first to the second.
|
double[] |
getDirection(SpaceObject fromObj,
SpaceObject toObj) |
Given two space objects, this will return the direction in radians
from the first to the second.
|
ShipDirectional.ShipDir |
getDirectionFromDir(double[] facing,
double roll,
double[] direction) |
Given a facing direction (NOT direction of travel), and a roll angle (belly/axis), and a
direction to some other object, this will return a relative direction object describing
the ships relationship to the other object.
|
long |
getDistanceFrom(long[] coord1,
long[] coord2) |
Given two galactic coordinates, this returns the actual
distance between the two.
|
long |
getDistanceFrom(SpaceObject O1,
SpaceObject O2) |
Given two space objects, this returns the actual
distance between the two.
|
double |
getGravityForce(SpaceObject S,
SpaceObject cO) |
If the two given objects are within an appropriate distance
from each other, this will return the correct amount of
acceleration g-force applied by the second object to the
first.
|
long[] |
getInSectorCoords(long[] coordinates) |
Given absolute space coordinates, from -Long.MAX to Long.MAX,
this will return the relative coordinates INSIDE the
sector, whose bounds are determined by lots of math.
|
java.util.List<LocationRoom> |
getLandingPoints(SpaceObject ship,
Environmental O) |
Given a space ship, and an object that can be reduced to an Area, this will
return a list of all valid LocationRoom objects, sorted by their present
distance from the ship, from each other, and whether its a space port.
|
long[] |
getLocation(long[] oldLocation,
double[] direction,
long distance) |
Given some galactic coordinates, a direction of travel, and a distance, this will
return the new coordinates.
|
double[] |
getMiddleAngle(double[] angle1,
double[] angle2) |
Given two angles, this returns the angle between them.
|
double |
getMinDistanceFrom(long[] prevPos,
long[] curPosition,
long[] objPos) |
Given a previous position and a current position, this will return the minimum
distance approached to the given object position.
|
double[] |
getOffsetAngle(double[] correctAngle,
double[] wrongAngle) |
Given a base 'correct' angle and another 'wrong' angle, this will return
the angle that it opposite to, but equal in distance.
|
double[] |
getOppositeDir(double[] dir) |
Given a direction, this will return its opposite
|
double[][] |
getPerpendicularAngles(double[] angle) |
Given an angle from origin, this will return the other
trivial angles that are 90 degrees from the given one.
|
long[][] |
getPerpendicularPoints(long[] origin,
double[] angle,
long distance) |
Given the origin point and an angle from the origin, this
will return the other points that are 90 degrees from the
given one, at the given distance.
|
long |
getRelativeSpeed(SpaceObject O1,
SpaceObject O2) |
Calculates the relative speed of two SpaceObjects to each other.
|
java.util.Map<java.lang.String,BoundedObject.BoundedCube> |
getSectorMap() |
Returns the name of all the sectors, and the cube
that covers its domain.
|
java.lang.String |
getSectorName(long[] coordinates) |
Given some absolute space coordinates, this will return
the name of the sector the coordinates are in.
|
SpaceObject |
getSpaceObject(CMObject o,
boolean ignoreMobs) |
Given a random object, this will return null, or the "nearest" space object,
by crawling up an item container tree, or however it needs to.
|
java.util.Enumeration<java.util.Map.Entry<SpaceObject,java.util.List<java.lang.ref.WeakReference<TrackingVector<SpaceObject>>>>> |
getSpaceObjectEntries() |
Returns an enumeration of all objects, along with a list of their tracking vectors?
I have no idea why anyone would want this, so I won't explain any more until someone
does try to use this.
|
java.util.Enumeration<SpaceObject> |
getSpaceObjects() |
Returns an enumeration of all object in the galactic space map.
|
java.util.List<SpaceObject> |
getSpaceObjectsByCenterpointWithin(long[] centerCoordinates,
long minDistance,
long maxDistance) |
Given a center galactic coordinates, and a minimum and maximum distance from that coordinate, this will
return all objects in the caches space map that is within the "donut" defined by those things.
|
java.util.List<SpaceObject> |
getSpaceObjectsInBound(BoundedObject.BoundedCube cube) |
Given a bounded cube, this will return all space objects within that cube,
and by within, i mean even just intersecting it.
|
java.util.List<SpaceObject> |
getSpaceObjectsWithin(SpaceObject ofObj,
long minDistance,
long maxDistance) |
Given a space object to use as a center point on the galactic map, this will
return all objects in the caches space map that is within the "donut" defined by those things.
|
boolean |
isObjectInSpace(SpaceObject O) |
Returns whether the given object is actually in
the galactic map cache at the moment -- it could
be landed somewhere.
|
long[] |
moveSpaceObject(long[] coordinates,
double[] direction,
long speed) |
Given a set of galactic coordinates, and a direction angle, and a speed, this will return
the new coordinates after applying all the inputs.
|
void |
moveSpaceObject(SpaceObject O) |
Given a SpaceObject that is moving, this will alter the given objects
coordinates based on its speed and direction.
|
void |
moveSpaceObject(SpaceObject O,
long[] coords) |
Given a SpaceObject and its coordinates, this will alter the given coordinates
based on the speed and direction of the given space object.
|
int |
numSpaceObjects() |
Returns the number of objects in the galactic map
cache.
|
java.util.List<long[]> |
plotCourse(long[] osrc,
long sradius,
long[] otarget,
long tradius,
int maxTicks) |
Plots a course from the source to the target, with a maximum number of steps/ticks.
|
boolean |
sendSpaceEmissionEvent(SpaceObject srcP,
Environmental tool,
int emissionType,
java.lang.String msgStr) |
Generates an sends a message representing an emission in space,
which might be picked up by various sensors.
|
boolean |
sendSpaceEmissionEvent(SpaceObject srcP,
Environmental tool,
long range,
int emissionType,
java.lang.String msgStr) |
Generates an sends a message representing an emission in space,
which might be picked up by various sensors.
|
java.util.Enumeration<Area> |
spaceAreas() |
Returns an enumeration of all Areas that are also
SpaceObjects, typically planets.
|
activate, getServiceClient, L, propertiesLoaded, shutdowncopyOf, ID, initializeClass, name, newInstancejava.util.Enumeration<Area> spaceAreas()
int numSpaceObjects()
java.util.Map<java.lang.String,BoundedObject.BoundedCube> getSectorMap()
boolean isObjectInSpace(SpaceObject O)
O - the space object to look fornumSpaceObjects(),
isObjectInSpace(SpaceObject),
delObjectInSpace(SpaceObject),
addObjectToSpace(SpaceObject, long[]),
addObjectToSpace(SpaceObject),
findSpaceObject(String, boolean)void delObjectInSpace(SpaceObject O)
O - the object to removenumSpaceObjects(),
isObjectInSpace(SpaceObject),
delObjectInSpace(SpaceObject),
addObjectToSpace(SpaceObject, long[]),
addObjectToSpace(SpaceObject),
findSpaceObject(String, boolean)void addObjectToSpace(SpaceObject O, long[] coords)
O - the SpaceObject to addcoords - the coordinates to add it atnumSpaceObjects(),
isObjectInSpace(SpaceObject),
delObjectInSpace(SpaceObject),
addObjectToSpace(SpaceObject, long[]),
addObjectToSpace(SpaceObject),
findSpaceObject(String, boolean)void addObjectToSpace(SpaceObject O)
O - the object to put in spacenumSpaceObjects(),
isObjectInSpace(SpaceObject),
delObjectInSpace(SpaceObject),
addObjectToSpace(SpaceObject, long[]),
addObjectToSpace(SpaceObject),
findSpaceObject(String, boolean)long getDistanceFrom(SpaceObject O1, SpaceObject O2)
O1 - the first space objectO2 - the second space objectgetDistanceFrom(long[], long[]),
getDistanceFrom(SpaceObject, SpaceObject),
getMinDistanceFrom(long[], long[], long[])long getDistanceFrom(long[] coord1,
long[] coord2)
coord1 - first galactic coordscoord2 - second galactic coordsgetDistanceFrom(long[], long[]),
getDistanceFrom(SpaceObject, SpaceObject),
getMinDistanceFrom(long[], long[], long[])double getMinDistanceFrom(long[] prevPos,
long[] curPosition,
long[] objPos)
prevPos - previous position on galactic chartcurPosition - current position on galactic chartobjPos - the object position curious about minimum distance togetDistanceFrom(long[], long[]),
getDistanceFrom(SpaceObject, SpaceObject),
getMinDistanceFrom(long[], long[], long[])double getAngleDelta(double[] fromAngle,
double[] toAngle)
fromAngle - the first angletoAngle - the second anglegetAngleDiff(double[], double[])double[] getMiddleAngle(double[] angle1,
double[] angle2)
angle1 - the first angleangle2 - the second angledouble[] getOffsetAngle(double[] correctAngle,
double[] wrongAngle)
correctAngle - the base anglewrongAngle - the wrong angledouble[] getAngleDiff(double[] fromAngle,
double[] toAngle)
fromAngle - the first angletoAngle - the second anglegetAngleDelta(double[], double[])void applyAngleDiff(double[] angle,
double[] delta)
angle - the angle to modifydelta - the deltadouble[] getDirection(SpaceObject fromObj, SpaceObject toObj)
fromObj - the first SpaceObjecttoObj - the second SpaceObjectgetDirection(long[], long[]),
getDirection(SpaceObject, SpaceObject),
getDirectionFromDir(double[], double, double[]),
getOppositeDir(double[])double[] getDirection(long[] fromCoords,
long[] toCoords)
fromCoords - the first coordinatestoCoords - the second coordinatesgetDirection(long[], long[]),
getDirection(SpaceObject, SpaceObject),
getDirectionFromDir(double[], double, double[]),
getOppositeDir(double[])ShipDirectional.ShipDir getDirectionFromDir(double[] facing, double roll, double[] direction)
facing - the direction of facingroll - the roll angledirection - the direction to the other objectShipDirectional.ShipDir,
getDirection(long[], long[]),
getDirection(SpaceObject, SpaceObject),
getDirectionFromDir(double[], double, double[]),
getOppositeDir(double[]),
getAbsoluteDirectionalFromDir(double[])ShipDirectional.ShipDir getAbsoluteDirectionalFromDir(double[] direction)
direction - the direction to the other objectShipDirectional.ShipDir,
getDirection(long[], long[]),
getDirection(SpaceObject, SpaceObject),
getDirectionFromDir(double[], double, double[]),
getOppositeDir(double[]),
getDirectionFromDir(double[], double, double[])double[] getOppositeDir(double[] dir)
dir - the directiongetDirection(long[], long[]),
getDirection(SpaceObject, SpaceObject),
getDirectionFromDir(double[], double, double[]),
getOppositeDir(double[])double[][] getPerpendicularAngles(double[] angle)
angle - the angle from originlong[][] getPerpendicularPoints(long[] origin,
double[] angle,
long distance)
origin - the origin pointsangle - the angle from origindistance - the distance from origin of the points to returngetPerpendicularAngles(double[])void changeDirection(double[] dir,
double delta0,
double delta1)
dir - the current direction to changedelta0 - the port/starboard deltadelta1 - the ventral/dorsel deltavoid changeDirection(double[] dir,
double[] delta)
dir - the current direction to changedelta - the delta to change it by, + or -long getRelativeSpeed(SpaceObject O1, SpaceObject O2)
O1 - the first Space ObjectO2 - the second Space Objectvoid accelSpaceObject(SpaceObject O, double[] accelDirection, double newAcceleration)
O - the space object to modifyaccelDirection - the acceleration directionnewAcceleration - the acceleration amountaccelSpaceObject(double[], double, double[], double)double accelSpaceObject(double[] curDirection,
double curSpeed,
double[] accelDirection,
double newAcceleration)
curDirection - the current direction, *AND* the new directioncurSpeed - the current speedaccelDirection - the direction of accelerationnewAcceleration - the amount of accelerationaccelSpaceObject(double[], double, double[], double)long[] getLocation(long[] oldLocation,
double[] direction,
long distance)
oldLocation - the previous locationdirection - the direction of traveldistance - the distance of travelmoveSpaceObject(SpaceObject),
moveSpaceObject(SpaceObject, long[]),
moveSpaceObject(long[], double[], long)void moveSpaceObject(SpaceObject O)
O - the SpaceObject to movemoveSpaceObject(SpaceObject, long[]),
moveSpaceObject(long[], double[], long),
getLocation(long[], double[], long)void moveSpaceObject(SpaceObject O, long[] coords)
O - the space object that is movingcoords - the coordinates to modify based on speed/dir of the objectmoveSpaceObject(SpaceObject),
moveSpaceObject(long[], double[], long),
getLocation(long[], double[], long)long[] moveSpaceObject(long[] coordinates,
double[] direction,
long speed)
coordinates - the galactic coordinatesdirection - the direction anglespeed - the speedmoveSpaceObject(SpaceObject),
moveSpaceObject(SpaceObject, long[]),
getLocation(long[], double[], long)Pair<double[],java.lang.Long> calculateIntercept(SpaceObject chaserO, SpaceObject runnerO, long maxChaserSpeed, int maxTicks)
chaserO - the chasing objectrunnerO - the running objectmaxChaserSpeed - the max chasing speedmaxTicks - the maximum number of movementscanMaybeIntercept(SpaceObject, SpaceObject, int, double)boolean canMaybeIntercept(SpaceObject chaserO, SpaceObject runnerO, int maxTicks, double maxSpeed)
chaserO - the chasing objectrunnerO - the running objectmaxTicks - the maximum number of movementsmaxSpeed - the max speed of the chasercalculateIntercept(SpaceObject, SpaceObject, long, int)java.util.Enumeration<SpaceObject> getSpaceObjects()
getSpaceObjectEntries(),
getSpaceObjectsWithin(SpaceObject, long, long),
getSpaceObjectsByCenterpointWithin(long[], long, long),
findSpaceObject(String, boolean),
getSpaceObject(CMObject, boolean)java.util.Enumeration<java.util.Map.Entry<SpaceObject,java.util.List<java.lang.ref.WeakReference<TrackingVector<SpaceObject>>>>> getSpaceObjectEntries()
getSpaceObjects(),
getSpaceObjectsWithin(SpaceObject, long, long),
getSpaceObjectsByCenterpointWithin(long[], long, long),
findSpaceObject(String, boolean),
getSpaceObject(CMObject, boolean),
getSpaceObjectsInBound(BoundedCube)java.util.List<SpaceObject> getSpaceObjectsWithin(SpaceObject ofObj, long minDistance, long maxDistance)
ofObj - the space object to use as a center pointminDistance - the minimum distance to returnmaxDistance - the maximum distance to returngetSpaceObjects(),
getSpaceObjectEntries(),
getSpaceObjectsByCenterpointWithin(long[], long, long),
findSpaceObject(String, boolean),
getSpaceObject(CMObject, boolean),
getSpaceObjectsInBound(BoundedCube)java.util.List<SpaceObject> getSpaceObjectsInBound(BoundedObject.BoundedCube cube)
cube - the cube to look withingetSpaceObjects(),
getSpaceObjectEntries(),
getSpaceObjectsByCenterpointWithin(long[], long, long),
findSpaceObject(String, boolean),
getSpaceObject(CMObject, boolean)java.util.List<SpaceObject> getSpaceObjectsByCenterpointWithin(long[] centerCoordinates, long minDistance, long maxDistance)
centerCoordinates - the full galactic coordinates of the center pointminDistance - the minimum distance to returnmaxDistance - the maximum distance to returngetSpaceObjects(),
getSpaceObjectEntries(),
getSpaceObjectsWithin(SpaceObject, long, long),
findSpaceObject(String, boolean),
getSpaceObject(CMObject, boolean),
getSpaceObjectsInBound(BoundedCube)SpaceObject getSpaceObject(CMObject o, boolean ignoreMobs)
o - the game object, of almost any sort (item, area, room, mob)ignoreMobs - true to return null on mobs, false otherwisegetSpaceObjects(),
getSpaceObjectEntries(),
getSpaceObjectsWithin(SpaceObject, long, long),
getSpaceObjectsByCenterpointWithin(long[], long, long),
findSpaceObject(String, boolean),
getSpaceObjectsInBound(BoundedCube)SpaceObject findSpaceObject(java.lang.String s, boolean exactOnly)
s - the search stringexactOnly - true to only match full terms, false for partial matchesgetSpaceObjects(),
getSpaceObjectEntries(),
getSpaceObjectsWithin(SpaceObject, long, long),
getSpaceObjectsByCenterpointWithin(long[], long, long),
getSpaceObject(CMObject, boolean),
getSpaceObjectsInBound(BoundedCube)java.lang.String getSectorName(long[] coordinates)
coordinates - the space coordinatesgetInSectorCoords(long[])long[] getInSectorCoords(long[] coordinates)
coordinates - the space coordinatesgetSectorName(long[])java.util.List<LocationRoom> getLandingPoints(SpaceObject ship, Environmental O)
ship - the ship looking for a landing spotO - an area, room, boardable, whateverdouble getGravityForce(SpaceObject S, SpaceObject cO)
S - the object being pulledcO - the object pullingShipDirectional.ShipDir[] getCurrentBattleCoveredDirections(ShipDirectional comp)
comp - the war componentboolean sendSpaceEmissionEvent(SpaceObject srcP, Environmental tool, int emissionType, java.lang.String msgStr)
srcP - the generator of the event/the centertool - the means by which the event was generatedemissionType - the CMMsg type of the eventmsgStr - a description of the sensory messageboolean sendSpaceEmissionEvent(SpaceObject srcP, Environmental tool, long range, int emissionType, java.lang.String msgStr)
srcP - the generator of the event/the centertool - the means by which the event was generatedrange - the range at which the emission can be detectedemissionType - the CMMsg type of the eventmsgStr - a description of the sensory messagejava.util.List<long[]> plotCourse(long[] osrc,
long sradius,
long[] otarget,
long tradius,
int maxTicks)
osrc - the source coordinatessradius - the source object radiusotarget - the target coordinatestradius - the target object radiusmaxTicks - maximum number of direction changes .. always send something gt 0