Waypoints

Waypoints

Mod and data pack

Brings waypoints to Vanilla Minecraft with a fully immersed survival experience.

Server Game MechanicsMagicManagementTransportationUtility

6,976 downloads
45 followers
Created10 months ago
Updated4 months ago

Follow Save
Host your Minecraft server on BisectHosting - get 25% off your first month with code MODRINTH.
Filter loader...
Filter versions...
Filter channels...

v1.0-Beta.5

by Fisch37 on Jan 30, 2024
Download

v1.0-Beta.5

by Fisch37 on Jan 30, 2024
Download

This release fixes one bug and one bug only!

Changelog

Bug Fixes

  • #2 Fix waypoint and teleport books not rendering correctly when first opened by non-op users
    • If you have been affected by this bug, you will unfortunately have to live with it as there is currently no way to re-resolve books. For Teleport Books, you can add a new waypoint to resolve the issue.

Technical Changes

  • Books are now being resolved immediately instead of lazily when first opening books. This should not change performance of the datapack though it should be noted that all calculation is done as the book is updated.
    • Also book generation now no longer has arcane O(-n) time complexity. Those were unsettling times...
  • The book data version is now 3. This means any users that have modified their book versions will have to generate the data anew.

Full Changelog: https://github.com/Fisch37/waypoints-vanilla/compare/v1.0-beta.4...v1.0-beta.5

1.0-Beta.4

by Fisch37 on Dec 20, 2023
Download

1.0-Beta.4

by Fisch37 on Dec 20, 2023
Download

This datapack now supports the versions 1.20.0 - 1.20.4 (inclusive). There are no implementation changes and no bug fixes. For more information see v1.0-beta.3.

Full Changelog: https://github.com/Fisch37/waypoints-vanilla/compare/v1.0-beta.3...v1.0-beta.4

1.0-Beta.3

by Fisch37 on Nov 30, 2023
Download

1.0-Beta.3

by Fisch37 on Nov 30, 2023
Download

There's a new update preparing for 1.21.x releases! This update features a number of improvements on the technical side, but most of these don't affect player experience at all.

DISCLAIMER This version is a beta version and as such bugs may still occur (even if the version has been bug-tested). Known breaking changes or bugs will be included in the changelog.

Changelog

  • When using 1.20.2, this datapack now supports custom dimensions.
    • Note that custom dimensions will be presented using their dimension id (e. g. deeperdarker:otherside) and not with a name.
  • Waypoints set on non-full blocks in negative Y coordinates will now be rounded up properly.

Technical Changes

  • The waypoint format now includes dimension ids at the path .dimension.id in waypoint components. This change only takes effect in 1.20.2.
    • Note that the old dimension indices format is still in place to preserve backwards-compatibility. This format is scheduled to be removed in 1.21.x versions.
  • Function macros have been widely implemented (everywhere where they don't break compatibility)
    • Teleportation now works using function macros which should decrease lag and fix potential compatibility issues with distance measurements (like the Subspace Bubble advancement)
    • XP/Level reduction now uses function macros.

Updating & Version Compatibility

This release is compatible with 1.20-1.20.2 (1.20.3 is not released as of writing this). The overlay system is also designed to allow backporting a world with this datapack installed. Swapping versions should not have any noticable effect on your experience.

If you want to update, just swap out the datapack/mod file!

Notes for Experts

If you are for some reason inclined to interact with this project's internal functions, I should note that functions may not be present depending on the used Minecraft version due to the nature of overlays. I do not know why you would ever want to do this.

Full Changelog: https://github.com/Fisch37/waypoints-vanilla/compare/v1.0-beta.2...v1.0-beta.3

1.0-Beta.2

by Fisch37 on Sep 25, 2023
Download

1.0-Beta.2

by Fisch37 on Sep 25, 2023
Download

After summer holidays (and then some) finally a new update has arrived. This is the second version of beta and crosses off two points from the roadmap. There are no breaking changes.

DISCLAIMER: Since this is a beta version, bugs may still occur and changes may be made. However, any breaking changes or additional updating steps are noted in the changelog.

Changelog

  • You can now add descriptions to your waypoints! When using a waypoint creator, simply open page 2 and write your description there. Then, after creating the waypoint the description should appear exactly where you'd expect it.

  • Admins can now configure a default cost for all newly created waypoints. This change won't apply the cost to new waypoints, so... sorry about that! Doing this is still a bit cumbersome and requires manually setting the scoreboard value using /scoreboard players set wps_default_cost f37_waypoints_RAM <CUSTOM COST> As before, players in creative will not lose any levels when teleporting.

  • Data updates are now performed automatically.

  • Teleporting now causes some nice particles to appear at your new position.

Technical Changes

  • The data version is now 2.
  • Waypoint descriptions are now interpreted as JSON components before being displayed.

Updating

Due to the new automatic data updater, updating is as simple as replacing the datapack file!

Notes for Experts

The methodology for editing the maximum book length has not changed at all, though the internal data has changed. Still, the process is the same as in Alpha.2

Full Changelog: https://github.com/Fisch37/waypoints-vanilla/compare/v1.0-beta...v1.0-beta.2

1.0-Beta

by Fisch37 on Jul 11, 2023
Download

1.0-Beta

by Fisch37 on Jul 11, 2023
Download

Finally in beta! The data pack is now functional, which means it can be used in survival. Future releases will add new features, but are unlikely to produce breaking changes incompatible with prior versions. Should anything of the sort be present in a new release, this will be obviously communicated in the changelog.

Changelog

Gameplay

  • You can now teleport using a relative teleport book.
  • Added a crafting recipe for relative teleport books. (1 Book and Quill & 8 Echo Shards on a Crafting Table)
  • Added a crafting recipe for waypoint creators. (1 Book and Quill & 1 Enderpearl on a Crafting Table)
  • Access to the goto_waypoint trigger has now been limited to holding an all waypoints teleport book. This effectively means general teleporting only works when using a special book unobtainable in survival.
    • (Note that you can disable this by setting the internal score free_teleport in the objective f37_waypoints_RAM to a non-zero value.)

Fixes

  • Relative teleport books no longer have a fixed trigger value of 1. This will not update old versions of the books, unless you add another waypoint to them.

Refactors

  • Checking for meeting level requirements has been exported to a seperate function check_levels.
  • Function get_waypoint has been generalised to exhaustively iterate over a distinct array.
  • Checking for an entity on a cartographer table has been exported to the is_on_cartography predicate.

Other changes

  • A new trigger goto_waypoint_rel has been added to work with the relative teleport book.
  • The book_generator.py script no longer generates the redundant item modifier file.

Updating

Should you have been using an older version of the datapack, use /function #fisch37:waypoints/book_modifiers after updating. If not, weirdness may occur.

Notes for the experts

As before, you can perform some copy-and-pasting to modify the maximum book length. Nothing has changed about the process since Alpha 2.

Full Changelog: https://github.com/Fisch37/waypoints-vanilla/compare/v1.0-alpha.2...v1.0-beta

1.0-Alpha.2

by Fisch37 on Jul 11, 2023
Download

THIS RELEASE IS IN ALPHA. THERE WILL BE BUGS!

Alpha 2 fixes a number of issues found since the first alpha release, refactors parts of the code, and also adds a new gameplay feature.

Changelog

Fixes

  • Fixed dimensions not storing properly, leading to all created waypoints being moved into the overworld.
  • Fixed book_generator.py crashing during result generation.
  • Fixed sounds being played at 0 0 0 instead of player position.
  • Fixed infinite recursion loop in level consumption, leading to command cancellation.
  • Fixed relative waypoint books not rendering properly.
  • Teleporting while in creative mode no longer uses levels.

Refactors

  • The page purger is now generalised instead of only working for All Waypoints Books.
  • Book Modifier resets has been exported into its own function.
  • Removed unused item modifiers.

Gameplay

  • Added Relative Waypoint Books. Relative Waypoint Books rely on their own internal waypoint storage and do not depend on the global waypoint storage. These are intended to be used rather than the All Waypoints Books which will become nearly unusable when adding too many waypoints.
  • Creating a new waypoint using a waypoint creator book now gives back a written book representing and storing the waypoint. New waypoints are still added to the global list.
  • Throwing a relative waypoint book onto a cartographer table with a waypoint will consume the waypoint and add it to the relative waypoint book.

Other changes

  • The pack version is now 15 and the pack now only supports 1.20.x. This was expected before, but is now official.
  • All books created by the datapack now have a custom tag depending on their use. Books created before this version could potentially be incompatible with future features.
    • All Waypoints Teleport Books have the tag AllWaypoints set to 1b
    • Relative Teleport Books have the tag RelativeWaypoints set to 1b
    • Waypoints have the tag IsWaypoint set to 1b

Known Issues

  • Teleporting using a Relative Teleport Book does not work. This feature is coming soon.

Updating

Updating from Alpha 1 should be as simple as running the command /function #fisch37:waypoints/book_modifiers. All waypoints should have preserved compatibility.

Using this version

This version is slightly more usable than Alpha 1, but an intuitive experience should not be expected. Creating waypoints works by signing books gotten by /function fisch37:waypoints/get_book as before.

Getting a All Waypoints Teleport Book is still complicated and involves throwing a functional written book onto the ground (Easily aquired using /give @s written_book{title:"",author:""}) and running /execute as @e[type=item,limit=1,sort=nearest] run function fisch37:waypoints/book_modifiers/on_floor_all. Updating All Waypoints Teleport Books using the previous commmand is still required.

For the brave, increasing the maximum page count of teleport books is still possible by editing the datapack yourself, but may lead to problems. Note that you do not have to copy the json file anymore as the corresponding item modifier has been removed from the datapack.

Full Changelog: https://github.com/Fisch37/waypoints-vanilla/compare/v1.0-alpha...v1.0-alpha.2

1.0-Alpha

by Fisch37 on Jul 11, 2023
Download

THIS RELEASE IS IN ALPHA. THERE WILL BE BUGS AND UI IS MINIMAL

First semi-usable release of the datapack. Right now, only basic ui is implemented, but the core features should be functioning as normal.

Setting a waypoint must be done by signing a Book And Quill with the waypoint name. A waypoint will then be created at your current location. Not all writable Books will create a waypoint. To get such a waypoint creator book you can call the function fisch37:waypoints/get_book.

Teleporting around is possible at minimum by using the trigger goto_waypoint and setting it to the index of the waypoint in the waypoints array (starting at 1). If you are looking for a more... usable experience teleporting, you can rely on the following steps:

  1. Get a valid written book. This can be done by using the following command: /give @s written_book{author:"",title:""} A book without author and title will not be accepted by Minecraft as valid. It cannot render.
  2. Throw the book on the ground and run /execute as @e[type=item,limit=1,sort=nearest] run function fisch37:waypoints/book_modifiers/on_floor_all.
  3. Profit

If you create a new waypoint you will have to update your teleport book. Simply repeat step 2 to do so.

The standard version of the datapack supports 128 pages of the teleport book. If you're feeling brave you can change these numbers using the book_generator.py script and copying some strings into some functions. Be careful.

External resources



Project members

Fisch37

Owner


Technical information

License
MIT
Project ID