Skip navigation links
A B C D E F G H I K L M N O P R S T V W X Y 

A

AbstractCellDataAdapter<M extends DofusMap,C extends MapCell> - Class in fr.arakne.utils.maps
Base implementation of MapCell by adapting a CellData
AbstractCellDataAdapter(M, CellData, int) - Constructor for class fr.arakne.utils.maps.AbstractCellDataAdapter
 
accessible() - Method in class fr.arakne.utils.maps.sight.CellSight
 
active() - Method in interface fr.arakne.utils.maps.serializer.CellData
Check if the cell is active or not
active() - Method in interface fr.arakne.utils.maps.serializer.CellLayerData
Check if the layer is active (i.e. has an object)
add(PathStep<C>) - Method in class fr.arakne.utils.maps.path.Path
 
addAll(Collection<? extends PathStep<C>>) - Method in class fr.arakne.utils.maps.path.Path
 
addFirstCell(boolean) - Method in class fr.arakne.utils.maps.path.Pathfinder
Does the first cell (source) should be added to the path ?

B

BattlefieldCell<C extends BattlefieldCell> - Interface in fr.arakne.utils.maps
Base type for a battlefield cell
BattlefieldSight<C extends BattlefieldCell> - Class in fr.arakne.utils.maps.sight
Utility class for compute line of sights Note: The used algorithm is not exactly same as the client's one, some differences can occurs Algorithm : - Get coordinates of the two cells - "draw" a line between the cells : - Compute the vector between those cells - Creates the function : Y = ySlope * X + yAtZero with - For each X between the cells compute the related Y using the function - Increments Y cell by cell to reach the computed Y - Check the cell line of sight value - If the sight is blocked, return false
BattlefieldSight(DofusMap<C>) - Constructor for class fr.arakne.utils.maps.sight.BattlefieldSight
 
between(C, C) - Method in class fr.arakne.utils.maps.sight.BattlefieldSight
Check the line of sight between those two cells This is equivalent to sight.from(source).isFree(target) Usage: {@code final BattlefieldSight sight = new BattlefieldSight<>(map); if (!
between(CoordinateCell<C>, CoordinateCell<C>) - Method in class fr.arakne.utils.maps.sight.BattlefieldSight
Check the line of sight between those two cells This is equivalent to sight.from(source).isFree(target) Usage: {@code final BattlefieldSight sight = new BattlefieldSight<>(map); final CoordinateCell from = new CoordinateCell<>(fighter.cell()); final CoordinateCell to = new CoordinateCell<>(target.cell()); if (!
blocked() - Method in class fr.arakne.utils.maps.sight.CellSight
 
byChar(char) - Static method in enum fr.arakne.utils.maps.constant.Direction
Get the direction by its char value
byValue(int) - Static method in enum fr.arakne.utils.maps.constant.CellMovement
Get a cell movement by its integer value

C

cell() - Method in class fr.arakne.utils.maps.CoordinateCell
Get the related map cell
cell() - Method in class fr.arakne.utils.maps.path.PathStep
 
CellData - Interface in fr.arakne.utils.maps.serializer
Data for a single map cell
CellLayerData - Interface in fr.arakne.utils.maps.serializer
Data for a single cell layer
CellMovement - Enum in fr.arakne.utils.maps.constant
Available movement values for a cell.
CellSight<C extends BattlefieldCell> - Class in fr.arakne.utils.maps.sight
Handle the line of sight from a given cell
CellSight(BattlefieldSight<C>, CoordinateCell<C>) - Constructor for class fr.arakne.utils.maps.sight.CellSight
 
CellSight(CoordinateCell<C>) - Constructor for class fr.arakne.utils.maps.sight.CellSight
 
cellWeightFunction(Function<C, Integer>) - Method in class fr.arakne.utils.maps.path.Pathfinder
Define the function for compute the cell cost This function can add penalty on some cells.
clear() - Method in class fr.arakne.utils.maps.path.Path
 
contains(Object) - Method in class fr.arakne.utils.maps.path.Path
 
containsAll(Collection<?>) - Method in class fr.arakne.utils.maps.path.Path
 
coordinate() - Method in interface fr.arakne.utils.maps.MapCell
Get the coordinate of the current cell This is equivalent to new CoordinateCell<>(cell) Note: this method will always recreate a new CoordinateCell instance // Compute distance between two cells int distance = current.coordinate().distance(target.coordinate()); You can optimise CoordinateCell creation by storing them into the cell instance, optionally wrapped into a WeakReference : {@code class MyCell extends MapCell { // ...
CoordinateCell<C extends MapCell> - Class in fr.arakne.utils.maps
Map cell with coordinates https://github.com/Emudofus/Dofus/blob/1.29/ank/battlefield/utils/Pathfinding.as#L191
CoordinateCell(C) - Constructor for class fr.arakne.utils.maps.CoordinateCell
CoordinateCell constructor.

D

data - Variable in class fr.arakne.utils.maps.AbstractCellDataAdapter
 
decode(String, C) - Method in class fr.arakne.utils.maps.path.Decoder
Decode compressed path
decode(String) - Method in class fr.arakne.utils.maps.path.Decoder
Decode compressed path without a start cell
Decoder<C extends MapCell> - Class in fr.arakne.utils.maps.path
Decode map data like paths or directions
Decoder(DofusMap<C>) - Constructor for class fr.arakne.utils.maps.path.Decoder
 
DefaultMapDataSerializer - Class in fr.arakne.utils.maps.serializer
Default implementation of the map data serializer, handling the plain (i.e. not crypted) map data format https://github.com/Emudofus/Dofus/blob/1.29/ank/battlefield/utils/Compressor.as#L54
DefaultMapDataSerializer() - Constructor for class fr.arakne.utils.maps.serializer.DefaultMapDataSerializer
 
deserialize(String) - Method in class fr.arakne.utils.maps.serializer.DefaultMapDataSerializer
 
deserialize(String) - Method in class fr.arakne.utils.maps.serializer.EncryptedMapDataSerializer
 
deserialize(String) - Method in interface fr.arakne.utils.maps.serializer.MapDataSerializer
Parse serialized map data to cells
dimensions() - Method in interface fr.arakne.utils.maps.DofusMap
Get the map dimensions
Direction - Enum in fr.arakne.utils.maps.constant
List of available directions
direction() - Method in class fr.arakne.utils.maps.path.PathStep
 
directions(Direction[]) - Method in class fr.arakne.utils.maps.path.Pathfinder
Define the available movements directions Note : Adding all directions will permit to move in diagonal, But the pathfinder is not optimal, because the distance is not computed using pythagoras distance By default, the direction are the restricted directions
directionTo(CoordinateCell<C>) - Method in class fr.arakne.utils.maps.CoordinateCell
Compute the direction to the target cell https://github.com/Emudofus/Dofus/blob/1.29/ank/battlefield/utils/Pathfinding.as#L204
directionTo(C) - Method in class fr.arakne.utils.maps.CoordinateCell
Compute the direction to the target cell https://github.com/Emudofus/Dofus/blob/1.29/ank/battlefield/utils/Pathfinding.as#L204
disableCache() - Method in class fr.arakne.utils.maps.serializer.DefaultMapDataSerializer
Disable cell data cache
distance(CoordinateCell<C>) - Method in class fr.arakne.utils.maps.CoordinateCell
Get the cell distance Note: Do not compute a pythagorean distance, but "square" distance.
distance(C) - Method in class fr.arakne.utils.maps.CoordinateCell
Get the cell distance Note: Do not compute a pythagorean distance, but "square" distance.
DofusMap<C extends MapCell> - Interface in fr.arakne.utils.maps
Base dofus map type

E

enableCache() - Method in class fr.arakne.utils.maps.serializer.DefaultMapDataSerializer
Enable the cell data cache Once enable, deserialize two same cell data will return the same cell instance
encode(Path<C>) - Method in class fr.arakne.utils.maps.path.Decoder
Encode the computed path, without the start cell To decode this path, the start cell must be provided on the decode method This method should be used by the client to send a path to the server String encoded = encoder.encode(myPath); Path decoded = encoder.decode(encoded, startCell);
encode() - Method in class fr.arakne.utils.maps.path.Path
Encode the path to string
encodeWithStartCell(Path<C>) - Method in class fr.arakne.utils.maps.path.Decoder
Encode the computed path, including the start cell To decode this path, the start cell should not be provided on the decode method This method should be used by server to send a path to the client String encoded = encoder.encodeWithStartCell(myPath); Path decoded = encoder.decode(encoded);
encodeWithStartCell() - Method in class fr.arakne.utils.maps.path.Path
Encode the path to string, including the start cell
EncryptedMapDataSerializer - Class in fr.arakne.utils.maps.serializer
Implementation of the map serializer for encrypted map data Encrypted maps are maps with file name ending with X.swf (ex: 10340_0706131721X.swf) and require a key sent by the server with the GDM packet MapDataSerializer serializer = new EncryptedMapDataSerializer(Key.parse(gdm.key())); CellData[] cells = serializer.deserialize(encryptedMapData); https://github.com/Emudofus/Dofus/blob/1.29/dofus/managers/MapsServersManager.as#L137
EncryptedMapDataSerializer(Key) - Constructor for class fr.arakne.utils.maps.serializer.EncryptedMapDataSerializer
 
EncryptedMapDataSerializer(Key, MapDataSerializer) - Constructor for class fr.arakne.utils.maps.serializer.EncryptedMapDataSerializer
 
equals(Object) - Method in class fr.arakne.utils.maps.AbstractCellDataAdapter
 
equals(Object) - Method in class fr.arakne.utils.maps.CoordinateCell
 
exploredCellLimit(int) - Method in class fr.arakne.utils.maps.path.Pathfinder
Define the maximum number of cells to explore before fail A lower limit will fail faster, but do not permit complex path The limit cannot be higher than walkable cells number

F

findPath(C, C) - Method in class fr.arakne.utils.maps.path.Pathfinder
Find the shortest path between source and target cells
first() - Method in class fr.arakne.utils.maps.path.Path
Get the first step of the path
FIRST_CHAR - Static variable in enum fr.arakne.utils.maps.constant.Direction
 
flip() - Method in interface fr.arakne.utils.maps.serializer.CellLayerData
Does the sprite has been flipped ?
forEach(BiConsumer<C, Boolean>) - Method in class fr.arakne.utils.maps.sight.CellSight
Iterate over all map cells, and check for each cells is the line of sight is free final CellSight<FightCell> sight = fighter.cell().sight(); final CoordinateCell<FightCell> to = new CoordinateCell<>(target.cell()); sight.forEach((cell, free) -> { if (free) { performActionOnAccessibleCell(cell); } });
fr.arakne.utils.maps - package fr.arakne.utils.maps
 
fr.arakne.utils.maps.constant - package fr.arakne.utils.maps.constant
 
fr.arakne.utils.maps.path - package fr.arakne.utils.maps.path
 
fr.arakne.utils.maps.serializer - package fr.arakne.utils.maps.serializer
 
fr.arakne.utils.maps.sight - package fr.arakne.utils.maps.sight
 
from(CoordinateCell<C>) - Method in class fr.arakne.utils.maps.sight.BattlefieldSight
Get the line of sight of a cell Usage: final BattlefieldSight<FightCell> sight = new BattlefieldSight<>(map); final CoordinateCell<FightCell> current = new CoordinateCell<>(fighter.cell()); sight.from(current).to(target.cell()).forEachRemaining(cell -> { // Iterator on line of sight });
from(C) - Method in class fr.arakne.utils.maps.sight.BattlefieldSight
Get the line of sight of a cell Usage: final BattlefieldSight<FightCell> sight = new BattlefieldSight<>(map); sight.from(fighter.cell()).to(target.cell()).forEachRemaining(cell -> { // Iterator on line of sight });

G

get(int) - Method in interface fr.arakne.utils.maps.DofusMap
Get a cell by its id
get(int) - Method in class fr.arakne.utils.maps.path.Path
Get one step
ground() - Method in interface fr.arakne.utils.maps.serializer.CellData
Get the ground layer
GroundCellData - Interface in fr.arakne.utils.maps.serializer
Data for the ground layer of a cell
GroundData - Interface in fr.arakne.utils.maps.serializer
Contains the data of the ground object

H

hashCode() - Method in class fr.arakne.utils.maps.AbstractCellDataAdapter
 
hashCode() - Method in class fr.arakne.utils.maps.CoordinateCell
 

I

id() - Method in class fr.arakne.utils.maps.AbstractCellDataAdapter
 
id() - Method in class fr.arakne.utils.maps.CoordinateCell
Get the cell id
id() - Method in interface fr.arakne.utils.maps.MapCell
Get the cell id
interactive() - Method in interface fr.arakne.utils.maps.serializer.InteractiveObjectData
Does the object is interactive ?
InteractiveObjectData - Interface in fr.arakne.utils.maps.serializer
Cell layer data for the interactive object, or "object2"
is(int, int) - Method in class fr.arakne.utils.maps.CoordinateCell
Check if the cell is at the given coordinates
isEmpty() - Method in class fr.arakne.utils.maps.path.Path
 
isFree(CoordinateCell<C>) - Method in class fr.arakne.utils.maps.sight.CellSight
Check if the line of sight is free towards the target Usage: {@code final CellSight sight = fighter.cell().sight(); if (!
isFree(C) - Method in class fr.arakne.utils.maps.sight.CellSight
Check if the line of sight is free towards the target Usage: {@code final CellSight sight = fighter.cell().sight(); if (!
iterator() - Method in class fr.arakne.utils.maps.path.Path
 

K

keepWhile(Predicate<PathStep<C>>) - Method in class fr.arakne.utils.maps.path.Path
Keep the path steps while the condition is valid The path will be stop when an invalid step is found

L

last() - Method in class fr.arakne.utils.maps.path.Path
Get the last step
LAST_CHAR - Static variable in enum fr.arakne.utils.maps.constant.Direction
 
layer1() - Method in interface fr.arakne.utils.maps.serializer.CellData
Get the first layer object
layer2() - Method in interface fr.arakne.utils.maps.serializer.CellData
Get the second layer object Can contains an interactive object
level() - Method in interface fr.arakne.utils.maps.serializer.GroundCellData
Get the ground elevation level
lineOfSight() - Method in interface fr.arakne.utils.maps.serializer.CellData
Check if the cell do not block the line of sight

M

map() - Method in class fr.arakne.utils.maps.AbstractCellDataAdapter
 
map() - Method in interface fr.arakne.utils.maps.MapCell
Get the container map
MapCell<C extends MapCell> - Interface in fr.arakne.utils.maps
Base type for a dofus map cell Usage : // Note: the template parameter should be the used domain interface or class interface MyMapCell extends MapCell<MapCell> { public void myCustomOperation(); }
MapDataSerializer - Interface in fr.arakne.utils.maps.serializer
Handle serialization for map data
movement() - Method in interface fr.arakne.utils.maps.serializer.CellData
Get the permitted movement type The value is an int in range [0 - 7]

N

nextCellByDirection(C, Direction) - Method in class fr.arakne.utils.maps.path.Decoder
Get the immediately next cell if we move by the given direction If the next cell is out of the map, an empty optional is returned
nextCellIncrement(int) - Method in enum fr.arakne.utils.maps.constant.Direction
Get the increment to apply to cell id for get the next cell on the direction Ex: MapCell current = map.get(123); MapCell east = map.get(Direction.EAST.nextCellIncrement(map.dimensions().width()) + current.id());
number() - Method in interface fr.arakne.utils.maps.serializer.CellLayerData
The object number on the cell

O

opposite() - Method in enum fr.arakne.utils.maps.constant.Direction
Get the opposite direction
orthogonal() - Method in enum fr.arakne.utils.maps.constant.Direction
Get the orthogonal direction

P

Path<C extends MapCell> - Class in fr.arakne.utils.maps.path
Path for dofus map
Path(Decoder<C>, List<PathStep<C>>) - Constructor for class fr.arakne.utils.maps.path.Path
 
Path(Decoder<C>) - Constructor for class fr.arakne.utils.maps.path.Path
Create an empty path
PathException - Exception in fr.arakne.utils.maps.path
Base exception for path
PathException(String) - Constructor for exception fr.arakne.utils.maps.path.PathException
 
pathfinder() - Method in class fr.arakne.utils.maps.path.Decoder
Get the pathfinder related to this decoder
Pathfinder<C extends MapCell> - Class in fr.arakne.utils.maps.path
Find the shortest path between two cells decoder .pathfinder() .targetDistance(2) .directions(Direction.values()) .findPath(fighter.cell(), target) ;
Pathfinder(Decoder<C>) - Constructor for class fr.arakne.utils.maps.path.Pathfinder
 
PathStep<C extends MapCell> - Class in fr.arakne.utils.maps.path
Step for a path
PathStep(C, Direction) - Constructor for class fr.arakne.utils.maps.path.PathStep
 

R

remove(Object) - Method in class fr.arakne.utils.maps.path.Path
 
removeAll(Collection<?>) - Method in class fr.arakne.utils.maps.path.Path
 
restricted() - Method in enum fr.arakne.utils.maps.constant.Direction
Does the direction is restricted A restricted direction can be used in fight, or by monsters's sprites Restricted direction do not allow diagonal
restrictedDirections() - Static method in enum fr.arakne.utils.maps.constant.Direction
Get the restricted directions (i.e. can be used on fight) Note: a new array is always returned
retainAll(Collection<?>) - Method in class fr.arakne.utils.maps.path.Path
 
rotation() - Method in interface fr.arakne.utils.maps.serializer.CellLayerData
The rotation value of the sprite
rotation() - Method in interface fr.arakne.utils.maps.serializer.InteractiveObjectData
Rotation is not supported by the layerObject2

S

serialize(CellData[]) - Method in class fr.arakne.utils.maps.serializer.DefaultMapDataSerializer
 
serialize(CellData[]) - Method in class fr.arakne.utils.maps.serializer.EncryptedMapDataSerializer
 
serialize(CellData[]) - Method in interface fr.arakne.utils.maps.serializer.MapDataSerializer
Serialize the cells to a string The result value must be compatible with deserialize() So, the code `serializer.serialize(serializer.deserialize(mapData)).equals(mapData)` must always return true
sight() - Method in interface fr.arakne.utils.maps.BattlefieldCell
Get the current cell sight This method is equivalent to new CellSight<>(cell) Note: each call of this method will recreate a new CellSight instance {@code // Check if the "target" cell is accessible from the current cell if (!
sightBlocking() - Method in interface fr.arakne.utils.maps.BattlefieldCell
Check if the cell block line of sight
size() - Method in interface fr.arakne.utils.maps.DofusMap
Get the map size (the number of cells)
size() - Method in class fr.arakne.utils.maps.path.Path
 
slope() - Method in interface fr.arakne.utils.maps.serializer.GroundCellData
Get the ground slope
start() - Method in class fr.arakne.utils.maps.path.Path
Get the start cell

T

target() - Method in class fr.arakne.utils.maps.path.Path
Get the last cell
targetDistance(int) - Method in class fr.arakne.utils.maps.path.Pathfinder
Define the minimal target distance to consider the path as reached A distance of 0 means that the end of the path must be the target cell A distance of 1 means that the end of the path must be an adjacent cell of the target By default the value is 0 (the end must be the target)
to(C) - Method in class fr.arakne.utils.maps.sight.CellSight
Iterator of cells between current one and the target Note: the current cell is excluded from the iterator, but not the target.
to(CoordinateCell<C>) - Method in class fr.arakne.utils.maps.sight.CellSight
Iterator of cells between current one and the target Note: the current cell is excluded from the iterator, but not the target.
toArray() - Method in class fr.arakne.utils.maps.path.Path
 
toArray(T[]) - Method in class fr.arakne.utils.maps.path.Path
 
toChar() - Method in enum fr.arakne.utils.maps.constant.Direction
Get the char value of the direction
toString() - Method in class fr.arakne.utils.maps.path.PathStep
 
truncate(int) - Method in class fr.arakne.utils.maps.path.Path
Truncate the path, to the new size

V

valueOf(String) - Static method in enum fr.arakne.utils.maps.constant.CellMovement
Returns the enum constant of this type with the specified name.
valueOf(String) - Static method in enum fr.arakne.utils.maps.constant.Direction
Returns the enum constant of this type with the specified name.
values() - Static method in enum fr.arakne.utils.maps.constant.CellMovement
Returns an array containing the constants of this enum type, in the order they are declared.
values() - Static method in enum fr.arakne.utils.maps.constant.Direction
Returns an array containing the constants of this enum type, in the order they are declared.

W

walkable() - Method in class fr.arakne.utils.maps.AbstractCellDataAdapter
 
walkable() - Method in enum fr.arakne.utils.maps.constant.CellMovement
Check if the current movement is for a walkable cell
walkable() - Method in interface fr.arakne.utils.maps.MapCell
Check if the cell is walkable
walkablePredicate(Predicate<C>) - Method in class fr.arakne.utils.maps.path.Pathfinder
Define the predicate for check if the cell is walkable By default the predicate will call MapCell.walkable()
withKey(Key) - Method in class fr.arakne.utils.maps.serializer.DefaultMapDataSerializer
Get a MapDataSerializer for encrypted map with the given key Use the current serializer as inner serializer (and also use the current cache)
withKey(String) - Method in class fr.arakne.utils.maps.serializer.DefaultMapDataSerializer
Get a MapDataSerializer for encrypted map with the given key This is equivalent to `serializer.withKey(Key.parse(key));` CellData[] cells = serializer.withKey(gdm.key()).deserialize(mapData);

X

x() - Method in class fr.arakne.utils.maps.CoordinateCell
 

Y

y() - Method in class fr.arakne.utils.maps.CoordinateCell
 
A B C D E F G H I K L M N O P R S T V W X Y 
Skip navigation links

Copyright © 2022. All rights reserved.