Shulker Archives

Guides



Guides

Before getting into any of the Guides, we expect you to have these Mods: NBT Editor, IBE Editor, FZMM

Each guide will mention which mod to use for any given step, but all three of these will be regularly used.

We also recommend having the other mods listed on the Resources page, as they are useful in later guides e.g: WNT for Mapart Ripping


NBT

Guides for NBT

Introduction

There are many aspects to NBT, from the most basic Names and Lore, to the most advanced and complicated of attributes. While the below guides are not intended to delve into the more complicated depths of NBT, they will hopefully show you all you need to get started with NBT editing.


Names & Lore

The most basic aspect of NBT Editing: altering Names and Lore of an item.

There are a number of ways to accomplish changing the name of an item; A simple anvil will do it, albeit in a fairly crude manner, but we'll be using IBE Editor, as it's full fleshed and fairly easy to understand.

To begin, hold the item you wish to edit, and open the Item Editor (default keybind is I).

There will then be a list of menus on the left; Choose the one called "Display".

Enter whatever you wish to into the text box labeled "Custom Name".

Click on the "Done" button to save it.

That's it! Your item now has a custom name.

Now let's add some lore to it. Open the Item Editor and Navigate to the Display menu again, then click on the "+" button below the Custom Name.

This will add a Lore text box; You can have unlimited lore boxes, each one being a new line of lore on the item.

Enter whatever you wish into the text box, and save it.

To view the lore you've added, hover over the item in your inventory; Whatever you added should be shown there!


An important note:

If you use a plugin on a server (such as Itemizer) to do your Name/Lore, you may bloat an items size unnecessarily. Why is this a bad thing? Many servers limit item size, and will wipe an item from your inventory if it's too big, and while extra tags in your name/lore might seem like a small thing, it begins to add up, especially in kits.

TL;DR:

Avoid making your items with plugin commands. Stick with editors such as IBE or NBT Editor


Colors & Gradients

Now we'll make things more interesting- and more beautiful!

Return to the editor, highlight the name and choose one of the options in the menu floating above; If you're unsure what each is, hover over different buttons for a tooltip describing what they do.

To remove a style, click the button that added it; to remove a color, either choose a different color, or choose "Reset Color".

If you make a big mistake, you can use the orange reset button to the right of the text box to reset things to how they were when you opened the editor.

Now for something a bit more complicated: Gradients.

For this part, we'll be making use of FZMM, of which the default keybind is Z.

Open the FZMM Menu, and choose "Text Format".

In the Text Format menu, first enter the text you wish in the "Message" box.

Now, the gradient; While FZMM offers many fun options for coloring text, we'll be making use of the "Gradient" tab. Click on the Gradient button to get started.

Add and alter colors as you wish; There's no limit to how many colors you can use, but it's best to keep it fairly simple.

A preview of how it will look is shown in the top left under "Text Format". When you are satisfied with your gradient, choose an option from the buttons at the bottom to add it to your item.

Any option you choose will make a copy of your item with that option applied, so don't be afraid to try them out; Your original item will be left intact.

That's it! You have successfully added a gradient to your item.

Want extra practice? Try out FZMM's other Text Format options, like Rainbow and Interleaved.


Mapart

Guides on Mapart

Creating

Epsilon Bot

The first way to create mapart works in both single and multiplayer, and is called Epsilon Bot.

To get started download or clone the repository, and open it inside of something like VisualStudio Code or Intellij IDEA.

Navigate to EpsilonBot/src/main/resources/default-config.yml and edit the information as follows:

  • Modify host: to the IP of the server you wish to connect to; Use localhost for a local world
  • Modify port: to the port of the server you wish to connect to; Typically this is the default 25565 and does not need to be edited.
  • Set Username: to the email for your Microsoft account
  • Set Password: to the password for your Microsoft account
  • Modify mapartX: and mapartZ: to different coordinates, if the world or server you play on restricts world size. To do so, find the northwest block of a chunk via F3, and use those coordinates.
  • Modify commandPrefix: to a custom prefix for you. If you aren't using this bot on TotalFreedom, you don't really need to do this, but it's still a good idea.
  • Modify warpName: to something unique. This the name the bot will use to attempt to set a /warp when the map is finished.
  • Add a new entry to trusted: with your UUID. Your UUID can be found by searching your username on a site like NameMC.
  • Once these changes are made, run Main.java.

    The bot (or rather, the MC Account you chose) will connect to the world or server. To get started using it, use `mapart <link-to-a-img/image.png> [1 2] [--NO_DITHER --USE_TRANSPARENCY], modifying the prefix to yours. The numbers indicate the width and height in maps, e.g 2 1 is 2 wide 1 high. The Dither and Transparency arguments are of course optional, but --NO_DITHER is highly recommended unless you preprocess the image.

    Each mapart takes roughly 22 minutes for the Bot to build. It will send a message in chat when it is finished.


    .nbt Mapart Files

    Another way to create mapart, is to use an external program or site like MapartCraft to generate and process an image into mapart, and then use the provided .nbt file as a schematic to build it in-game.

    To get started, head to MapartCraft and upload an image. Set the block selection to everything, and customize it as needed.

    It is recommended you set "Dithering" to "None", as well as select which version you will be making it in, as the block selection will obviously vary between versions. Fiddle with the cropping mode and map size until you're comfortable with the result.

    Click the "Download NBT" button. This .nbt file is different to those we use in the archives; Rather than drag-and-dropping into Minecraft, it must be placed somewhere in your Minecraft directory. The exact location will depend on the Mod you use, but I recommend Litematica, the directory for which is chosen by you; A folder inside of /.minecraft/ simply labeled "Schematics" works well.

    Use your chosen mod or service to paste in your mapart (making sure you align it to chunk borders!), then use make a map from it.


    .dat Mapart Files

    Similar to .nbt Mapart Files, .dat Mapart Files can be made on MapartCraft.

    Follow the steps for .nbt Mapart Files as shown above, but change "Mode" from "Schematic (NBT)" to "Datafile (map.dat)", then choose the files with "Download mapdat". If the mapart is larger than 1x1, it is recommended to use the "Download mapdat.zip" option.

    Cut the .dat files from your download folder, and paste them inside of /.minecraft/saves/YourWorldName/data/. If there are already map.dat files in there, you will need to change the numbers in the names of the ones you are adding before pasting them in (e.g: map_0.dat should become map_101755.dat

    Join your world, and create a mapart. Then, using NBT Editor or IBE Editor, modify the "map" tag to be the ID in the name of the .dat file.

    You now have mapart, and without the large cumbersome build!


    Saving

    If you found a really cool mapart on a server and want to save it, the easiest way is to find the build used for it, and make a copy.

    There really isn't much of a guide to write here; Find the build and save a copy either with WorldEdit if the server allows you to download its schematics, or Litematica if not.

    For some tips and tricks, check Saving Builds - WorldEdit/Schematics


    Ripping

    Unfortunately, sometimes mapart builds can not be found (or in the case of generated .dat files, don't even exist!).

    This brings us to the final mapart guide: Ripping.

    To rip mapart, you will need the mod WNT, in addition to an NBT Editing mod.

    First, get a copy of the mapart(s) you wish to rip, and place it in your inventory.

    Find a nice, out of the way spot where there are few if any entities, and NO other maps be they in players inventories or in item frames.

    Leave the world or server, and rejoin; This is to clear WNT's cache of entities, including maparts, so only the one(s) you wish to download are shown.

    Now, go to WNTs Blackbox Menu (if it isn't open by default, run /blackbox. Select the "Maps" tab. It should only show the maps in your inventory, identifiable by ID.

    To download them, click on "WNT" -> "Dump" -> "Maps" -> "Dump all map data in memory to disk" or "Dump specific map in memory to disk".

    This will dump the maps .dat files to /.minecraft/wnt/dumps/. To get the map in a local world, follow the instructions in Mapart Creating for adding .dat mapart files to your world.

    Before proceeding with the following steps, you must rename the .dat files using the map_# scheme, replacing # with an incrementing number.

    To extract actual images from these .dat files, download map-to-img.jar from GitHub.

    Now open Command Prompt, cd to the directory that map-to-img.jar is located in, and run the following command: java -jar map-to-img.jar /path/to/the/.dat/files/.

    There will now be a folder called "out" in the directory the .dat files are in, containing the extracted images.


    Saving Builds

    Guides on saving Builds

    WorldEdit/Schematics

    One of the simplest ways of saving builds is with WorldEdit or Litematica schematics.

    The instructions differ based on method, but it is recommended to use WorldEdit if you have access to download the generated .schematic files; Otherwise, use Litematica.

    Below are some general pointers to help you out:

  • Always set the first position at the top, and second position at the bottom. This ensures when you load and paste it elsewhere, you don't accidentally sink it into the ground!
  • Take note of the cardinal/extracardinal directions either through F3 or a Map mod like Xaero's Minimap, and be consistent with what direction your build will be pasted in. If you set Position 1 to the North-East and Position 2 + Copy in the South-West, the build will always paste in to the North-East.
  • Use a mod such as BlockMeter to measure builds, and make sure you're copying the full build, as well as not copying excess air.
  • When using WorldEdit, add the -a flag to your //paste command; By ignoring air blocks, the time it takes to paste in can be drastically reduced!

  • Chunk Ripper

    The Chunk Ripper is an effective, but rather extreme method of saving builds. It will copy and save the block contents of entire chunks locally, and then paste them into a local world.

    This method completely ignores NBT data, such as the contents of Shulkers, Chests, Barrels, Signs, Item Frames, Armorstands, etc. so only use it when you don't care about saving any NBT.

    This method also only works on 1.19-1.19.2 and older; The author archived the project, and a replacement has not come forward yet.

    To get started, get the ChunkCopy mod for Fabric.

    Head to the chunks you want to copy, note the coordinates down, enable the F3 Chunk viewer with F3 + G, and then run the following command: /chunkcopy copy <saveName> <distance>.

    Use the chunk viewer you enabled to count chunks; Snake back and forth over the area, running the command above every 8 chunks.

    Once you've ripped the area you wish, create a new world using the Void template, and run the following command: /chunkcopy paste <saveName> <distance>.

    The chunks will be pasted in at the exact same coordinates they were ripped from, so you will need to teleport to those coordinates you noted down earlier.

    Congrats, you've now ripped chunks from one world to another!


    Misc

    Guides that don't fit elsewhere, but are still useful

    Custom Skin Loader

    Custom Skin Loader is a great way to view old HD Heads which don't work post-1.16; However, by default it is infuriatingly slow at loading any textures at all.

    My personal theory as to why, is that it cycles through a long list of sources one source at a time, until it gets the texture. I also suspect it does this inefficiently, further bloating the load time. If anyone cares to prove/disprove this, have a look at CSL's source code and open an issue on the Archives GitHub repo with your findings.

    Now for the guide on speeding it up :D

    This is a relatively simple process; All you'll need is File Explorer, and Notepad.

  • Open .minecraft/CustomSkinLoader/CustomSkinLoader.json in Notepad
  • Modify the "loadlist" entry, so that it looks like the following:
  •                     
      "loadlist": [
        {
          "name": "Mojang",
          "type": "MojangAPI",
          "apiRoot": "https://api.mojang.com/",
          "sessionRoot": "https://sessionserver.mojang.com/"
        },
        {
          "name": "LocalSkin",
          "type": "Legacy",
          "checkPNG": false,
          "skin": "LocalSkin/skins/{USERNAME}.png",
          "model": "auto",
          "cape": "LocalSkin/capes/{USERNAME}.png",
          "elytra": "LocalSkin/elytras/{USERNAME}.png"
        }
      ],
                    
  • Do note that doing this removes the functionality of loading skins from the sites CSL advertises, instead reducing it to simply the full (unblocked) Mojang API, and local storage.


    We're all out of guides :(

    If you have a suggestion of a guide we should include here (or maybe you've even written a whole guide yourself?), feel free to open an Issue on our GitHub, and we'll see about adding it!

    Important Information

    (Click anywhere to close this overlay)



    Info:

    ⭐'s indicate kits recommended by Archivists.

    Kits in the 'Unnamed Kits' page have no official name. As such, we have given them Archivist Assigned Names (AANs). Similarly, the files are suffixed with _[AAN] to help distinguish them from Named Kits. Should we ever find a named copy of a kit there (or the Author of the kit properly name it) we will move it to the main Kits page.

    In the Item category, if an entry has "pre-X.Y.Z!" in its description, it is an item that only works in Minecraft versions prior to that. Some items have entries for pre- and post-versions, depending on how popular the item is/how complicated upgrading it is.




    Notices:

    Minecraft 1.20.0 broke Signs, and 1.20.2 will break Potions. If a Sign/Potion from a Kit does not work, please check the NBT as it likely uses the old format. We will NOT be upgrading kits to fix these issues, nor will we be marking kits that contain them. Thank you for your understanding.




    Disclaimers:

    Kadalyst is in no way responsible for how any entries were obtained, who downloads them, and how they are used. YOU are responsible for protecting the privacy of your items and the security of your server. Any and all complaints made pertaining to the privacy or use-case of an entry will be ignored. Basically: fuck you, you disingenuous dense shoe-fucker :D




    Credits:

  • Kadalyst - Archives Creator, Main Dev, Owner
  • Parsa__ - Encouraged Archives Creation, hunted new kits
  • _Win9x_ - Provided >50% of all entries, hunted down more
  • AbdulFmMicrosoft - Designed early iterations of Archives Map
  • iceyou - Alerted Archives to issues with SNBT, major help with Archives Map



  • Hotkeys:

    There are a number of hotkeys set up to make navigating the site easier.

    K Jumps to the 'Kits' table
    I Jumps to the 'Items' table
    B Jumps to the 'Books' table
    U Jumps to the 'Unnamed Kits' table
    Moves one page back in the table
    Moves one page forward in the table
    D Jumps to the newest entries in a table
    SHIFT + D Resets table to default sorting/arrangement (does not reset Tags)
    Z Opens this overlay