Waypoint Editor

Waypoint Editor

/ Setroute

Each residence serviced by a local post office has what is called a route defining how the postman reaches the residence. Postal has a special purpose editor used to create routes called the waypoint editor. To use this editor to create a new route, or edit an existing route use the command ‘/setroute <po_name> <address_name>’ Alternatively, you may enter /setroute without parameters to have Postal automatically select the address you are closest to. You must be within 10 blocks of the address.

When entering the editor you will be taken to the last waypoint on the route. If this is a new route, you will be starting at the local post office. Assuming you are creating a new route, you will be left clicking waypoints on the ground for the postman to use to get to the residence at defined address. Your final waypoint should be in front of the mailbox at the residence.

Compass

Your quickbar will be cleared, and a compass will be placed prominently in the middle slot. It will be locked onto the address you are designing the route for as a navigational aid. The compass orientation and quickbar will be restored when exiting the route editor.

Editor Commands

While in the route editor you will not be allowed to invoke any commands except route editing commands, and they are optional because an entire route may be done using mouse navigation alone.

Commands:

  • / NEW (Alias: /N) Is used to create a new route from scratch. It is often used on an existing route to redo the route entirely without having to erase any existing waypoints. You are teleported directly to the post office to start your new route.
  • / UNDO (Alias: /U) Erases the last waypoint on a route and advances you to the new, last waypoint. A convenient alternative to ‘/undo’ is to right click on the last waypoint. It will be erased without moving the player. The waypoints are easy to see because they are highlighted with redstone .
  • / MOVE (Alias: /M) Relocate a waypoint, mid route. There are no sequence requirements.
  • / INSERT (Alias: /I) Inserts a waypoint, mid route. Two adjacent points are automatically found. A new waypoint is sequentially inserted in between them.
  • / REMOVE (Alias: /R) Removes a waypoint, mid route. Route waypoints are re-ordered, maintaining original sequence.
  • / FIRST (Alias: /F) Positions you on the first waypoint.
  • / MID (Alias: /D) Positions you on a point near the middle of the route.
  • / LAST (Alias: /L) Positions you on the last waypoint.
  • / POS <sequence number> (Alias: /P) Positions you on waypoint entered as a parameter.
  • / EXIT (Alias: /E) Exits the route editor. Double (left) clicking the last waypoint accomplishes the same thing.
  • / (forward slash) Waypoint inquiry. Use to determine sequence number of existing waypoints by clicking on them.

Route Status

Right clicking is also used to get a distance reading relative to your last waypoint. Right clicking will only erase the last waypoint if the right click is on or near the last waypoint. If this click is not near the last waypoint, you will receive the distance reading. This is handy for long runs where you want some idea about how far away your last waypoint is. You probably shouldn’t exceed 50 or so. The editor filters redundant clicks on the same block. Left click the same block as many times as you want, it will only record once. Blocks don't break, even in creative mode, and door navigation is allowed.

If you are running on a version of Bukkit new enough to contain the ScoreBoard api, you will also have a HUD type display giving you distance and waypoint statistics as you design the route.

Speed Control

Speaking of waypoint distance; the space between waypoints is your speed control. The closer they are spaced, the slower the npc moves. The reciprocal is also true. The npcs move progressively faster as waypoint spacing increases. This generally works well in practice because waypoints are usually spaced closely when the route is complicated with doors, hallways, etc… You want the npc to slow down here. As a contrast, open fields, highways naturally have more distance between waypoints, and this is generally where more speed is desired. More points than necessary may always be used to slow the npc down. The spacing scale goes from block distances of 1 to 12. 1 is the slowest, 12 and over is flat out running. The speed is also averaged to keep the npc moving smoothly. The actual speed will be the average of the last waypoint distance and the current one.

Dynamic

The route management Postal does is intended to be as flexible as possible in an effort to provide a system that allows for changes in the environment and automatically compensate for them. Routes may be defined with precise waypoint locations, but as used by Postal, waypoints are dynamically checked to make sure they still make sense. They are re-located if needed. If the terrain changes on a route, this automatic compensation might eliminate the need for route fixing or re-editing. Mail storage chests are automatically detected at both ends. Postal will search to find the right chest if it is not at the route end. The distance it will search is defined in the config file. The default is 5 blocks. A lower number might be better in dense neighborhoods.

Door Navigation

Doors and gates do not need to be specifically identified in any way. The postman always looks for these between waypoints. When found, the postman will open the door and politely close it behind him. If they are double doors, they are both opened and closed. The only important detail for doors is that there is a waypoint a block or two before it, and a block or two after. If it is a situation where the postman is going through multiple doors, it is important that there is at least one waypoint in between the door, waypoint pairs. The rule of thumb is 3 points between doors. Line the door waypoint pairs on the same axis, and keep them close to the door, outside of the door frame.

Door Navigation Illustrated

Route Finish

Simply double (left) click the final waypoint to finish the route and exit the route editor. This last waypoint should be directly in front of the mail box. Postal isn't fussy about precision here, but this is a good practice and helps prevent addresses from becoming cross linked in dense neighborhoods.

/ Showroute

Existing routes may be viewed outside the waypoint editor using the ‘/showroute’ command. This command will light up the specified route for about a minute or so, and then clear itself. The full syntax is: ‘/showroute <po_name> <address_name>’. Entering /showroute without parameters will light up the route belonging to the address you are closest to.