Compatibility
Minecraft: Java Edition
26.3
26.2
26.1.x
1.21.x
Platforms
Tags
Creators
Details
Quickstart
- Place the jar in
plugins/(Paper) ormods/(Sponge). - Start the server.
- Try it:
/stone location set home # save the current position
/nav home # navigate back to it
Cobblestone runs an A* search over the live world and renders the route as a particle trail.
For admins
- Core: Personal and global saved locations, death locations, players, worlds, and learned nether and End portal links.
- Towny: Towns, outposts, and plots as destinations;
/town spawnand/nation spawnas route steps; build protection. - EssentialsX: Homes and spawn as destinations;
/homeand/spawnas route steps. - Citizens, BetonQuest, BeautyQuests, Quests, Typewriter: NPCs and quest objectives as destinations, with optional automatic trips.
Integrations are distributed as separate plugins.
Player permissions default to allow; admin permissions default to op.
| Node | Default | Grants |
|---|---|---|
cobblestone.navigate |
everyone | /navigate, /cobblestone trips, /cobblestone cancel |
cobblestone.location |
everyone | personal locations |
cobblestone.navigator |
everyone | non-default navigators |
cobblestone.admin.* |
op | reload, portals, loglevel, -global locations |
Each destination also has a node derived from its address:
/lp group default permission set cobblestone.navigate.towny.town.riverwood.* false
For players
/nav home # saved location
/nav death # death location
/nav player Steve # player
/nav town riverwood home # Towny town
/nav npc Blacksmith # Citizens NPC
/stone location set home # save the current position
/stone location set spawn -global
/stone location unset home
/stone location list
/stone trips # list active trips
/stone cancel all # cancel all trips
Flags: -no-<mode>, -no-world <world>, -no-dimension <dimension>, -live, -no-live,
-navigator <id>.
For developers
repositories { mavenCentral() }
dependencies {
// Paper
compileOnly("org.cobblestonemc:paper-plugin-api:0.1.0")
// Sponge
// compileOnly("org.cobblestonemc:sponge-12-plugin-api:0.1.0")
}
Register destinations under your plugin's name:
CobblestonePaperApi.registrar().registerDestinations(this, player ->
DestinationTree.builder()
.leaf("market", () -> Destination.at(marketLocation(), "Market"))
.build());
Start a trip:
CobblestonePaperApi.tripService()
.navigate(player, objective, NavigatorSettings.defaults(), "Lost Lantern");
Add transitions and restrict breaking:
CobblestoneCoreApi.registrar().register(this, new SearchModificationService() {
@Override
public CompletableFuture<List<Transition>> computeTransitions(Player player) {
return CompletableFuture.completedFuture(
List.of(Transition.command(player, market, 3.0, "/warp market")));
}
@Override
public BreakChecker computeBreakChecker(Player player) {
return (p, location, block) ->
CompletableFuture.completedFuture(claims.mayBreak(p, location));
}
});
Custom navigators and direct searches are also supported. See
project/examples/paper-warps for a complete example.


