Description
A basic mod that loads and pastes schematics in Hytale.
Info
- Supports schematics created with WorldEdit on Minecraft 1.8 and Sponge V3 schematics. (.schem and .schematic)
- Has default material mappings for many blocks that have obvious Minecraft -> Hytale equivalents.
- Supports modded minecraft blocks and overridable custom material mappings
- Supports ignoring or pasting air blocks
- Pastes blocks in batches of 100k every 500ms, I've been able to paste a 38 million block schematic with 16 gigs of ram.
- Supports stairs / slabs / chest rotations and bottom / top info. Should support other rotations like signs, doors, etc.
Current Issues:
- Water / Lava aren't created as real liquids, they are liquid 'blocks' that don't flow.
- Not all minecraft blocks are mapped to Hytale blocks by default. Feel free to add pull requests with any sensible default mappings.
- Schematic parsing is quite inefficient. It may take quite awhile for larger schematics to load (38 million block schematic took around 5 minutes).
Setup
Place this jar file in your server folder -> mods. After restarting the server once, folders and files will be created. Then add schematics to mods -> cc.invic_schematic-loader -> schematics Restart server after adding new schematics. Make sure to be opped, then use the below commands. /op self will op you on your own server.
Commands
/schem list- Lists all schematics/schem load <name>- Loads a specific schematic/schem paste- paste recently loaded schematic relative to the player's location
Material Conversions
When a schematic is loaded, any materials that d not have mappings or that will be skipped are logged to the console once per material.
Legacy .schematics map from id:data to namespace:itemname. from there modern minecraft maps from namespace:itemname to a Hytale block string. Modern .schems directly map from namespace:itemname to Hytale block strings.
Under mods -> cc.invic_schematic-loader -> you can find hytale_overrides.txt and legacy_overrides.txt.
Here is a list of all current Hytale block strings: https://github.com/Invictable/HytaleSchematicLoader/blob/main/string%20list.txt
- You can specify override mappings for both legacy -> modern minecraft and modern minecraft -> hytale block string entries.
- This overrides the in code mappings, or lets you map modded minecraft items or currently unmapped items. If a mapping fails, stone will be placed and a warning will be logged to the console.
- If a minecraft block maps to 'skip' it wont be processed, similar to worldedits -a argument if used with air. By default, air will be skipped in this way.
- If you want air to replace blocks, override minecraft:air=Empty. Empty is Hytale's air block. Warning: This will cause large schematics to take significantly more time to paste.
Legacy schematics use data for both rotations and color info. ex. stained clay data is for color, but chest data is for rotation. when overriding legacy materials that have rotation information, only enter the block id. This makes the parser treat the data as a rotation.
Restart the server after editing configs.


