Skip to main content

Runecraft import

Runic can share a server with Runecraft, and it can read the magic a Runecraft server saved and rebuild it as Runic magic. The import reads Runecraft's save files directly, so Runecraft itself can stay uninstalled.

Running both plugins​

When both plugins are installed, a click on blocks that form a rune for each of them goes to one plugin first. runecraft.rune-priority in config.yml decides which:

ValueResult
runicThe default. Runic checks the click first. When it matches a Runic rune, Runic takes the click, and Runecraft does not also fire.
runecraftRunic waits for Runecraft. When Runecraft takes the click, Runic leaves it alone.

Set hooks.runecraft: false to switch this coordination off.

Importing in four steps​

The command needs runic.command.import, which defaults to operators, and it runs from the console as well as in game.

  1. Back up. Copy the server's world folders and plugins/Runic/storage/.

  2. Load the worlds. Start the server with every world that holds Runecraft magic. Magic in a world that is not loaded gets skipped when you apply.

  3. Dry run. Point the command at the Runecraft save and read the report. A dry run writes nothing.

    /runic import runecraft world
  4. Apply. When the report looks right, run the same command with --apply.

    /runic import runecraft world --apply

The path​

The path can lead to any of these:

  • Runecraft's magic.dat file itself
  • the world folder that holds magic.dat
  • a server folder that holds world/magic.dat

A relative path starts at the server folder, so world reaches the main world. Runic also reads magic_waypoints.dat and energy.dat when they sit beside magic.dat.

Type the path as it is, spaces included. Quotation marks around the whole path are optional, and Runic removes them. Every word after runecraft that is not an option becomes part of the path.

/runic import runecraft D:\Old Server\world --apply

If Runic cannot find magic.dat, it lists every place it looked.

Matching worlds​

Runecraft numbers its worlds and leaves a world.id file in each world folder. Runic pairs each number with the world's own uid.dat, looking in the folder above the save and in the save's folder.

Two options fix worlds that have moved or changed since:

OptionUse
--world <number>=<world>Sends Runecraft world number <number> to a world named here, or to a world UUID. Example: --world 2=world_the_end
--uuid <old>=<world>Sends magic recorded for an old world UUID to a world named here, or to a new UUID. Use it for a world that was deleted and generated again.

A name must belong to a loaded world, or to a folder in the server directory with a uid.dat. Each option can repeat, and --world=2=world_the_end works as well.

Reading the report​

The report starts with a summary of the save, then totals, then a line per kind of magic. A report might begin like this:

totals: imported=412 quarantined=9 skipped=3
waypoint: imported=120 quarantined=2 skipped=0
teleporter: imported=118 quarantined=1 skipped=0

Up to forty detail lines follow, one per row, each tagged with its outcome and a safety grade:

OutcomeMeaning
importedWritten to Runic, or written when you apply
quarantinedHeld back for you to rebuild by hand. The detail says why.
skippedLeft out, usually because its world could not be found or loaded
GradeMeaning
A_SAFERunic rebuilds this magic completely
B_LOSSYRunic rebuilds what the save records, and some details are lost
C_SKIPRunic has no way to rebuild this from the save

A row tagged (legacy ids) is written as well. Its signature holds a block from an old Minecraft release that Runic cannot name. Its imported partners still match it, and a newly built rune cannot.

What comes across​

Runecraft magicIn Runic
Waypoints and Teleporters, including wall TeleportersImported with their signatures
Teleporters inside a Faith islandBecome Faith Transfer Portals
WardsAether, Void, Tool, Teleport, Danger, and Flight Wards import as themselves, and the Target Ward becomes a True Name Ward. Disabled wards are skipped.
Automation Designators and the Damage, Pressure, Redstone, Sticky Redstone, and Block SensorsImported
InitiationImported for each player Runic can identify
Touch, Damage, and Portal Hexes, and the Whisper curseImported, graded lossy
Lock, Spleef, and Toggle blocksImported, graded lossy
Faith islandsThe centre and radius are imported
Faith Transfer PortalsImported when a matching Faith destination exists
Reality MastersImported. Reality Anchors are held back, since their emerald bounds and facing are missing from the save.
True Name pads, rune pads, wall and bridge masters, Freight Teleporters, and Runecraft energyHeld back for rebuilding by hand
Master and Personal TeleportersLeft out

Who owns imported magic​

Runecraft's save does not say who built each rune. Imported magic starts with no owner and logs as #runic. The first player to use a piece of it becomes its owner, with the same rights as if they had built it.