A simple and intuitive 1.8-1.20 A* pathfinding API for Spigot & Paper plugins
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
<dependency>
<groupId>com.github.patheloper.pathetic</groupId>
<artifactId>pathetic-mapping</artifactId>
<version>VERSION</version>
</dependency>
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
dependencies {
implementation 'com.github.patheloper.pathetic:pathetic-mapping:VERSION'
}
public class PathExample extends JavaPlugin {
@Override
public void onEnable() {
PatheticMapper.initialize(this);
goFindSomePath(randomLocation(), randomLocation());
}
private void goFindSomePath(PathPosition start, PathPosition end) {
Pathfinder pathfinder = PatheticMapper.newPathfinder();
pathfinder.findPath(start, end).thenAccept(pathfinderResult ->
pathfinderResult.getPath().getPositions().forEach(location ->
player.sendBlockChange(location, Material.YELLOW_STAINED_GLASS.createBlockData())));
}
private PathPosition randomLocation() {
ThreadLocalRandom instance = ThreadLocalRandom.current();
return new PathPosition(instance.nextInt(0, 100), instance.nextInt(0, 100), instance.nextInt(0, 100));
}
}
Access the Javadocs here