Total Travelnet
Introduction
Bucket Game includes a ridiculously advanced travelnet mod. The mod is named Total Travelnet.
Total Travelnet is descended from Sokomine's Minetest "travelnet" mod v2.2 and v2.3 plus the Lord of the Test version of the "palantiri" mod and the "tpad" mod.
Total Travelnet requires Bucket Game.
Total Travelnet Settings
travelnet_sound = travelnet_sound_transporter -- Enables a sound that may be familiar
travelnet_theme = classic -- Old yellow phone booths travelnet_theme = poikilos -- Darker Poikilos version of classic travelnet_theme = oldcoder -- OldCoder TARDIS. This is the default. travelnet_theme = palantiri -- Discussed further down travelnet_theme = tardis -- Same as oldcoder
travelnet_enable_legacy_sort = true -- Enables legacy sort
travelnet_mapgen_radius = 200 travelnet_mapgen_above = 128 travelnet_mapgen_below = 128 -- Discussed in Appendix B
Total Travelnet Features
Multiple Types: Total Travelnet supports four types of travelnets: regular travelnets, elevators, palantiri, and travelpads.
Travelnet Themes: This mod can display legacy travelnets, Poikilos travelnets, or OldCoder travelnets. It can also make regular travelnets look and behave like palantiri.
No Punch Updates: If the Travelnet Repair ABM is enabled, there is no longer a need for players to left-punch on travelnets to update the target lists.
This feature works for all types of travelnets: regular travelnets, elevators, palantiri, and travelpads.
Sane Sort: This mod sorts "travelnet" target lists in alphabetical order. However, you can enable the old sort algorithm if you'd like to do so.
Mapgen Tour: This is a mapgen-related tool that is useful for advanced world hosts.
Configurable: The mod can now be configured using "conf"-file option settings.
Miscellaneous: Allows travelnet names to be reused if removed by worldedit, in most cases. Creates palantri (since doesn't need to know rotation) at destination if destination was removed.
Total Travelnet Palantiri
The word "palantiri" is singular or plural. A palantiri is an alternative travelnet that resembles an unobtrusive obsidian rock.
Palantiri and regular travelnets may be used at the same time in the same world. They share the same travelnet networks.
If a player teleports to a palantiri, he materializes on top of it. So, the vertical space set aside for a palantiri must be at least 3 nodes tall, counting the 1-node rock at the bottom.
See a related caution further down related to travelnet "theme" settings.
Total Travelnet Node Names
The node name for a regular travelnet is "travelnet:travelnet" (with the alias "travelnet" supported).
The node name for a palantiri is "travelnet:palantiri" (with the alias "palantiri" supported).
The node name for an elevator is "travelnet:elevator" (with the alias "elevator" supported).
The node name for a travelpad is "travelnet:pad" (with the alias "travelpad" supported).
Total Travelnet Themes
This mod allows you to select a travelnet theme using one of the following "world.conf" settings:
travelnet_theme = classic -- Old yellow phone booths travelnet_theme = poikilos -- Darker Poikilos version of classic travelnet_theme = oldcoder -- OldCoder TARDIS. This is the default. travelnet_theme = palantiri -- See notes below travelnet_theme = tardis -- Same as oldcoder
The "palantiri" theme makes regular travelnets look and act like Palantiri. However, it doesn't change the node names, so the change is fully reversible. To go back to regular travelnets, simply change the theme.
The theme setting doesn't affect elevators, travelpads, or actual palantiri; just regular travelnets.
Travelnets that were palantiri to begin with remain palantiri regardless of the theme setting.
Palantiri Theme Caution
Players materialize on top of palantiri. The vertical space required for a palantiri is therefore 3 nodes, counting the 1-node rock at the bottom.
However, regular travelnets are only 2 nodes tall. So, if there's a ceiling right over any of your standard travelnets -- which is common -- you shouldn't use the "palantiri" theme or players will materialize with their heads in the ceiling.
Note that it's all right to use actual palantiri regardless. You just shouldn't use the theme setting to change regular travelnets into Palantiri unless each of them has adequate vertical space.
Appendix A. Basic operation.
Travelnet recipe:
glass , steel_ingot , glass glass , mese , glass glass , steel_ingot , glass
Elevator recipe:
steel_ingot , glass , steel_ingot steel_ingot , empty , steel_ingot steel_ingot , glass , steel_ingot
Palantiri recipe:
obsidian , diamondblock , obsidian diamondblock , mese , diamondblock obsidian , diamondblock , obsidian
Place one of these.
Right-click on the back panel. Enter name of the station (e.g. "my house", "center of desert city") and name of the network (e.g. "Megaville", "my buildings"). Elevators have fewer fields. Press "Store".
Punch it to update the list of stations on that network. This isn't necessary if the Travelnet Repair ABM is enabled.
To teleport, right-click and press the appropriate target location button.
An unconfigured travelnet box can be configured by anyone. If it's misconfigured, press the "Remove" button and place it anew.
All stations that have the same network name and are owned by the same user connect to the same network.
Appendix B. Mapgen Tour tool.
This section, and the feature that it discusses, is/are for advanced world hosts.
The feature in question, Mapgen Tour, can be used for multiple purpos- es. We'll start with a world capture problem.
Suppose that you've done a Minetest world capture and that you haven't overlaid the captured mapblocks onto fully mapgenned territory. Instead, the mapblocks are floating in territory that remains to be mapgenned.
If you use "singlenode" mapgen at the core-engine level and no mapgen mods -- i.e., no mapgen at all -- this will work fine.
However, if you turn on mapgen, your captured mapblocks will be partly or completely destroyed.
The Mapgen Tour tool can be used to solve the problem.
It's in "travelnet", at least for now, for historical reasons and because the problem is often visible in captures that include travelnets.
You'll use a travelnet and notice that it's destroyed after you arrive at the destination. Or the area surrounding the destination will be damaged.
The solution is as follows:
B01) Shut down Final Minetest.
B02) Make an SQLite3 file that contains your capture. Call it "capture. sqlite". Copy "capture.sqlite" to "map.sqlite" in the world under construction. If you're working under Windows, be sure to make it a binary copy.
B03) Add the following settings to "world.conf":
travelnet_mapgen_radius = 200 travelnet_mapgen_above = 128 travelnet_mapgen_below = 128
These are mapgen distances relative to coordinates that we're about to come to. The units for these distances are nodes as opposed to mapblocks.
"travelnet_mapgen_radius" is a horizontal mapgen radius; i.e., a radius in the Minetest X-Z plane.
"travelnet_mapgen_above" is a vertical mapgen distance measured up from a given coordinate.
"travelnet_mapgen_below" is a vertical mapgen distance measured down from a given coordinate.
B04) Edit "restorenet.lua" and look for the following line:
-- table.insert (tp, pp("-889.8,23.5,829"))
B05) Add one line like that, without the "--" comment part, for each tra- velnet or regional center in the capture. The part between the double quotes should be the X,Y,Z coordinates of the travelnet or regional center.
Warning: Don't include any coordinates that are further out from 0,0,0 than 30,500 nodes in any direction. This will cause errors or lockups. Repair of regions that are close to the edge of the universe is a subject for another time.
You can have from 1 to 500 of these lines. Be warned that any number over 100 may involve significant processing time. 500 might take one or more hours.
Additionally, please note that, the larger the number of lines, the larger the resulting map file.
500 lines will probably mean an output file of 2GB or more.
B06) Restart Final Minetest.
B07) Execute the following command: /mapgentour
B08) You'll be teleported to each location in turn. There will be a delay of 5 to 10 seconds at each location. What's happening is that each of the locations is being mapgenned.
B09) Shut down Final Minetest.
B10) Overlay the mapblocks in "capture.sqlite" onto "map.sqlite". For this step, you may need OldCoder Minesplice.
You should now have a non-self destructing copy of the captured world.
Similar procedures can be used in other cases where mapgen of a set of specific areas is required.
This feature can also be used to provide a simple automated tour of a world. Important: In this use case, you should set the:
travelnet_mapgen_...
parameters to 16 each (or to any small positive integer).
Appendix C. Partial Change-Log.
C01) Total Travelnet adds palantiri and travelpads to regular travelnets and elevators.
C-2) Total Travelnet includes a useful tool named Mapgen Tour. This tool can be used to accomplish tasks related to mapgen of scattered areas. Details are discussed in Appendix B.
C03) Target lists are now sorted alphabetically. However, the legacy sort algorithm can be enabled by the following "conf"-file setting:
travelnet_enable_legacy_sort = true
C04) Most travelnet formspecs now include a "Remove" button.
C05) Merged a Poikilos "y-offset" change. This seems to fix a "travelnet" bug related to "fly".
C06) Replaced sound effect with a "transporter" sound. For now, we'll treat the license, taking the brief length of the sound into account, as Fair Use.
C07) Most features are now controllable by conf-file settings. To be doc- umented.
C08) Removed flash effect for now as it doesn't seem to work.
C09) Total Travelnet supports auto-rotate of players on both old and new servers.
C10) The arrival sound now starts earlier (timing is more realistic in some cases).
C11) A "safe write" routine is used if it's available but is *not* required.
C12) If the travelnet repair ABM is updated, players no longer need to left-click on travelnets to update target lists.
C13) Added aliases "elevator", "palantiri", "travelnet", and "travelpad" or the associated "travelnet" nodes.
(end of document)