Waypoints
Use the links above to navigate amongst the modules of waypoints
Waypoints
A Minecraft Plugin
Source code available at Sessional's GitHub Repository
Overview
Waypoints is a Minecraft mod to aid in the rapid traversing of large spread out worlds. It is designed to run easily with a large assortments of other plugins in the fact that each local command runs under the same command, for example ‘/waypoints go’ to execute a go command. This will prevent most and hopefully all command interferences with a wide array of plugins.
History
Development of waypoints started a little while after I began to play Minecraft. I found I had a tendency to wander far away from every other player, including my friends. While this was awesome at first, it eventually became tedious to meet up and share items with other people. The server I played on had access to a teleport command, but this command was long with requiring both names. I have nothing against the command, aside from the fact that 12 character names are annoying to type correctly often. I began building in my own little place and found that while it was great, for people to come visit me and see what I had built was a chore. This was mirrored in me visiting them to see what they had. Thus, waypoints was thought out.
Waypoints had to be designed to work with the “Permissions” mod, but to test it on my local environment it had to work with no permissions because I didn’t quite understand how to modify them. Simply, the plugin just confused me. I had to save it in a format that would be easy to fix because I didn’t quite know what bugs I was going to run into and there was a large chance I might have to hand fix the save files. Writing the code for the config file was largely clumped out of the tutorial on the wiki, and it worked, so why change it.
Philosophy
Waypoints is developed to meet players desires to make certain aspects of Minecraft that some may find undesirable such as trekking to and from friends houses in large, spread out, worlds less time consuming. As a mod developer and an avid gamer, I understand that what I want isn’t always what most people want and as such, suggestions are welcome, certain ones may not be added quickly, and I do apologize, but it becomes difficult to modify not well thought out code. As I write code I find myself rewriting it a lot because of poor planning. This comes largely from being self taught and impatient. Fixing and working around bugs is important to make sure that the user experience isn’t a nightmare which certainly may happen with updates. Testing is not always easy on a local server by a single user.Player Commands
Player commands all begin with “/waypoints” or “/wps” to avoid conflicts with other plugins and because of this it can get tedious, but I feel the gain is more important than the possible negative interaction with commands.
Go
Supported in 2.0
Parameters in <> are required.Parameters in [] are optional.
A parameter split with a | is an alias, either one can be used (but only one at a time)
Commands
/wps go <name>Permissions
/waypoints go <name>
waypoints.goExamples
/wps go home
Teleports the player to the waypoint called home
Return
Supported in 2.0
Parameters in <> are required.
Parameters in [] are optional.
A parameter split with a | is an alias, either one can be used (but only one at a time)
Commands
/wps returnPermissions
/waypoints return
waypoints.returnExamples
/wps return
Teleports the player to location before the last go command
Create
Supported in 2.0
Parameters in <> are required.
Parameters in [] are optional.
A parameter split with a | is an alias, either one can be used (but only one at a time)
Commands
/wps <add|create> <name> [world] [x] [y] [z]Permissions
/waypoints <add|create> <name> [world] [x] [y] [z]
Any of the following permissions will allow the use of this commandExamples
waypoints.add
waypoints.create
/wps add home
Creates a waypoint called home at current location
/wps create home homeWorld 0 0 0
Creates a waypoint called home at x:0 y:0 z:0
Delete
Supported in 2.0
Parameters in <> are required.
Parameters in [] are optional.
A parameter split with a | is an alias, either one can be used (but only one at a time)
Commands
/wps <delete|remove> <name>Permissions
/waypoints <delete|remove> <name>
Any of the following permissions will allow the use of this commandExamples
waypoints.delete
waypoints.remove
/wps delete home
Deletes the waypoint called home
/wps remove home
Deletes the waypoint called home
List
Supported in 2.0
Parameters in <> are required.Parameters in [] are optional.
A parameter split with a | is an alias, either one can be used (but only one at a time)
Commands
/wps list [world <world name> |page <#>]Permissions
/waypoints list [world <world name> |page <#>]
waypoints.listExamples
/wps list
Lists all waypoints that exist
/wps list world homeworld
Lists all waypoints that exist on the world homeworld
/wps list page 2
Lists waypoints in a page format starting on page two
Update
Supported in 2.4
Parameters in <> are required.Parameters in [] are optional.
A parameter split with a | is an alias, either one can be used (but only one at a time)
Commands
/wps <update|set> <waypointName> <cost>Permissions
/wps <update|set> <waypointName> <worldName> <x> <y> <z>
/wps <update|set> <waypointName> <worldName> <x> <y> <z> <cost>
waypoints.setExamples
waypoints.update
/wps set home 2
Sets the cost of teleporting home to be 2 levels by default
Console Commands
Create
Supported in 2.1
Waypoints^^1^^ create(add)^^2^^ <waypoint name>^^3^^ <world> <x> <y> <z>
Usage: waypoints create aaa
Notes: Will create a waypoint at the given location. Waypoints are saved upon creation of a new one.
Delete
Supported in 2.1
waypoints delete(remove) < waypoint name>
Usage: waypoints delete aaa
Notes: Deletes the waypoint aaa from the list of waypoints. Waypoints is saved immediately upon deletion.
List
Supported in 2.1
waypoints list [page] [#]
waypoints list [world] [world name]
Usage: waypoints list
waypoints list page 1
waypoints list world world
Notes: Will list the waypoints you specified. If you use page it will list waypoints (9*page number - 1) through (9*page number).if you use world it will list all waypoints on the given world.
This mod was great and it worked without any issues up until the most recent vanilla update (1.21). I know this mod is dead af but I figured there was no harm in asking for it to be updated anyway.
thats cool and all, but how to i change permissions
i use it in mystic mesa how do i get it to teleport me
@xcoudGaming
Hey Xcoud, With the Waypoints Personal I'm working on now this will be a possibility. Just trying to work out some wrinkles on how I want to store these.
@Sessional
Hello Sessional!
I would like to suggest you to add a permisson node for each waypoint I make?
Example: PlayerA has the permission to warp to waypoint named "A". While PlayerB has NO PERMISSIOn to warp to waypoint "A".
If you don't get what I mean, try to send me a pm. Thanks for reading!
@Pontiac76
I don't know if you are still watching this Pontiac, but if you are - I have begun working on a MySQL implementation that will support personalized Waypoints - if you have experience with databases I would love to pick your brains for a bit on organization.
@Sessional
hi Sessional
sorry, forgot to check back..
by cost per user i mean that when user A uses a waypoint from x to z he has to pay 10xp levels, but when user B uses the same waypoint, he has to pay 30 levels.
so everyone can tp easy from there homes to a central place and back for free or lowcost, but if they want to go to someone elses home, they have to pay a bigger amount than the home owner.
the same basicly for groups instead of singel players.
so anyone not beeing in the listed group has to pay x, but players in the group pay z.
so instead line 3 just shows the travel cost, it shows the costs for player A /group A
and line 4 shows the cost for player B / group B
hope this explains better what i thought of
@thief001
Sorry, trying to figure out what you are asking here.
Right now there is already the ability to make waypoints cost levels to teleport.
Do the signs not support this? I thought they were added in on the signs.
Also, for the 4th line, how would you be setting a player's group?
Hi Sessional,
me again...
i wonder if it would be possible to add costs per user..
somekind like on 3 line the cost per port normaly,
and on the 4 line a special user/group and the costs for them.
the idea behind this comes from our setup:
having a central place, that works as a trade/marketplace, and the signs there to port to each ones home.
but i dont want ppl to just use the waypoints to visit each other all the time without work for it, so it would be cool, if everyone could go from his/her home to the central place for free, aswell back, but if he wants to go to someone else, its not for free.
also maybe adding groups, for bulletproffing. becasue maybe some ppl build somethin big thogeter..
@Pontiac76
Well that's embarassing... Didn't even think about that. As for the MySQL, I do like the idea, and it shouldn't be overly hard to implement it and keep the flat file and allow the user to switch between the two.
I'm currently working on a diablo3 addiction and will get around to these in the near future.
I found a bug.
You're using colons as a delimeter in the waypoints.wps file. However, the user is free to use colons to name their waypoints. When the server is restarted, any entries that come AFTER that name gets tossed out and lost. I actually get a java exception "Array Index Out Of Bounds".
Might I suggest one of two things?
- Use a SQL back end that will permit any character in a name. This might also help with my previous suggestion of private versus public waypoints. I don't know JAVA, but I know SQL and can easily give you statements that'll get you going.
- Sanitize user inputs by replacing non-alphanumeric characters to an underscore or a non-colon-character, or don't allow the user to submit an entry if a colon is in the name.
@Pontiac76
I will certainly look into ways of doing this.
Currently you can't simply overwrite someone elses waypoint without deleting it first, but I can see the appeal of having isolated waypoints per player.
I'll see to it once I get some time.
Can you put in the option to allow players set their OWN locations, instead of them being global? Perhaps write out the config with the file name being the UUID of the user, then read from that file. If the way point doesn't exist, read it from the global file called "waypoints.wps".
Thing is, I'm running a server which myself, my kids, and a couple of co-workers play on, and the generic "/wps create home" is BOUND to come up and overwrite other peoples entries.
If you were to have a /wpg command for global, and wps for player, it'd be enough.
Hi there, love this mod, just an idea for something to be implemented if you're open to suggestions would it be possible to put a visual waypoint in, so that when looking around a shape (square, circle whatever) appears above the block that is the waypoint with maybe a distance underneath? so that it is easy enough to walk to this waypoints instead?
Graphical modifications like that are done client side if I'm understanding correctly.
There is the ability to add a waypoint with signs that will put a marker at the location of the waypoint.
Destination:
<waypoint name>
I need to update that one to support costs, but it should create a waypoint with 0 level cost at the moment, that you can set some other way. I believe that is the best I can do. If you have another mod that does something like that I can check it out and figure out how they do it.
hi,
sounds good to me :)
nothing else to add so far.
@thief001
I think I'm going to apply costing to the root mod and make it possible to toggle in the config file. I will also allow the signs to avoid the costing set in the base plugin so that each sign can be set to apply a different cost.
Let me know if there's anything special about this way that you had in mind.
hi,
thanks for the reminder ;)
yep, exactly like that :)
i'm gladly take a testers role.
@thief001
I like that.
You want that one to be hooked into the signs module? The format something similar to:
Waypoint:
Home
2
Would teleport you to Home and cost 2 levels?
hi, any chance you could to add costs?
i use waypoints as a quick way from place to place, but as we grow out our train-system, i would like to "force" the players to use the train, but i still dont want to completly remove the option of teleporting, as for far of bases... an configurable amount of xp (preferably costs can put directly on the waypoint sign (different prices per port)) would be great, at least for my use ;)