Skip to content
mo_shark edited this page Dec 10, 2022 · 22 revisions

Welcome to the Grounded Origins wiki!

This wiki is dedicated to a more descriptive look at all the Origins added by the mod, with all key-binds & conditions related to the Origins.

Keep in mind that when a "scale" change is mentioned, the default Minecraft "scale" is 1.


Mod Compatibility

This Origins mod was created with compatibility in mind. The Deer's "Forest Native" ability, for example, uses biome temperatures to detect a forest biome.

Mod-pack authors can add to the tags I've created for further compatibility. You can easily do this using KubeJS or datapacks. Here's a list of tags and their description for you to add more items/blocks to if you're running more mods:

Item tags:

Block tags:


Creating a Datapack

It's rather simple to edit the data within this mod, or to even add to it, but that first requires the knowledge of how to create a datapack. If you want to edit powers, the origins themselves, or item/block tags, this guide should be able to get you started.

Workspace Set-up

I would highly recommend you use Visual Studio Code as your text editor/IDE. I would also recommend you install the Prettify JSON extension.

You'll want to start by creating creating a world in Minecraft and navigating to the datapacks folder: .minecraft/saves/New World/datapacks. Create a new folder within the datapacks folder and name it whatever you'd like, I'm naming mine test-pack.

General knowledge required

  • You can press F3 + H to see the item id of each item you hover over
  • A "power" is an Origins ability.
  • You can see everything that you can edit with a datapack here, or by opening the mods jar file using 7zip/winrar

1. Create the pack.mcmeta file

  • This file follows JSON formatting and rules
  • It holds information on your datapack that will be displayed in the datapack selection screen. It's required for your datapack to be read by the game.

Your pack.mcmeta file should look something like this:

{
    "pack": {
        "pack_format": 8,
        "description": "A demonstration datapack for the Grounded Origins Wiki"
    }
}
  • The pack_format field is used to determine the Minecraft version your datapack was created for. You can find the value the corresponding Minecraft version here, but generally, the value will be the 2nd value of the 2nd version number of Minecraft. For 1.18, pack_format will be 8.
  • The description field is used to describe your datapack. You must give it a string.

2. Create the pack.png file (optional)

  • This is the image that will be displayed for your datapack in the datapack selection screen.

3. Create the data folder

  • This folder will contain every addition or edit that you make

Congratulations! You've succesfully completed the set-up towards a datapack.

Editing Tags

Tags are a vanilla-Minecraft concept. They're quite easy to understand, so this is a great point to get you started on the various functionality within Grounded Origins. Tags are essentially a list of items that can be used by parts of the game. In this case, the mod uses tags as a list of items and blocks for several powers.

  1. Consider which tag you want to edit first. This is contains list of all tags this mod uses and has created, and the links to their source.
    • I want to edit add more to the foods that the Moth Origin can eat, because I have the Farmers Delight mod installed! I'd have to edit the grounded_origins:moth/fibrous_foods tag, which can be found in the source code here
  2. Check the file-path of where that tag is stored in the source. It's stored in data/grounded_origins/tags/items/moth/, so we're going to have to create every folder leading up to the tag's file, fibrous_foods.json
    • Keep in mind that tag names ignore the /tags/items or /tags/blocks/, those folders already assumed in-code and in-game.
  • Now that we've created the correct file-path, we should now create the fibrous_foods.json tag file. Lets backtrack just a bit though. This is what the grounded_origins:moth/fibrous_foods looks like by default, and theres a few things we should consider
{
    "replace": false,
    "values": [
        "grounded_origins:flower_stamens",
        "paper",
        "book",
        "string",
        "leather",
        "apple",
        "carrot",
        "beetroot",
        "beetroot_soup",
        "sweet_berries",
        "glow_berries",
        "dried_kelp"
    ]
}
  • replace is important here. It's asking if you want to replace everything in the tag and re-define it with new items or values. I wouldn't recommend setting it to true, as all we want to do is add onto the tag, not replace it.
  • values is an "array", or in simpler terms, a list, of all items within the tag. Since we're setting replace to false, we're adding new items into the list. We can ignore the items already in the list.
    • Notice that mod-added items need the Mod ID specified before the item, where as items added by Minecraft don't.
  1. Create a new file: fibrous_foods.json. It's important that it follows the exact same file-path and name as the original file. The file-path, again, was data/grounded_origins/tags/items/moth/.
  2. Open the file and create the replace field, then set it to false like you saw above.
  3. Create the values array and add to it. This is where you'll add the items into the tag. To add items, you'll need to add their Item ID, which you can find by pressing F3 + H in-game and hovering over the item. I've chosen the Cabbage and Cabbage Leaf items from the Farmers Delight mod, which have the farmersdelight:cabbage and farmersdelight:cabbage_leaf Item IDs respectfully.

This was my final result:

{
    "replace": false,
    "values": [
        "farmersdelight:cabbage",
        "farmersdelight:cabbage_leaf"
    ]
}
  1. Use the /reload command (this will make your game load and lag behind for at most 30-60 seconds)
  2. Check if your item now has the tag! You'll need Roughly Enough Items or (Just Enough Items if you're on Forge) to do this. Press F3 + H, and then hold the Shift key over the item you want to check. I was able to see the tag's ID under the Item ID as #grounded_origins:moth/fibrous_foods. The "#" just indicates that it's a tag.

If you had any problems with getting this to work:

  • Read your latest.log (found in .minecraft/logs/latest.log) for the error, if any
  • Ensure that you have the correct file-path
  • Check that your folders and file are named correctly
  • Ensure that the datapack is loaded properly

Removing Origins & Powers

As of 1.19, you can disable certain powers or origins in the origins_server.json config file found in your config folder. You'll find entries for every origin.

On earlier versions, you'll have to do this by datapack, but it's still relatively simple. This will be a guide to do exactly that.

Origins

The Origin definition files can be found in data/grounded_origins/origins/, or here.

I'll disable the Beach Crab Origin here. This is the default beach_crab.json file:

{
    "powers": [
        "grounded_origins:beach_crab/home",
        "grounded_origins:beach_crab/rave",
        "grounded_origins:beach_crab/krusty",
        "grounded_origins:beach_crab/legs_n_chelipeds",
        "grounded_origins:beach_crab/crawler",
        "grounded_origins:beach_crab/pincers",
        "grounded_origins:beach_crab/shell",
        "grounded_origins:beach_crab/crustacean_gills",
        "grounded_origins:beach_crab/kelpomaniac",
        "origins:aqua_affinity",
        "origins:no_shield"
    ],
    "icon": "grounded_origins:beach_crab_icon",
    "order": 0,
    "impact": 2
}

All we want to do is give it the following fields:

  • loading_priority, which when set to any number higher than 0, will allow the json file you've created to overwrite mod-added origins & powers.
  • unchoosable, which will make the origin unchoosable. It takes either true or false. It's false by default, and we're gonna be changing that.

Now I'll create the new beach_crab.json file in my datapack, following the directory mentioned above: test-pack/data/grounded_origins/origins/beach_crab.json, which will disable the Beach Crab origin. It file should look like this:

{
    "powers": [
        "grounded_origins:beach_crab/home",
        "grounded_origins:beach_crab/rave",
        "grounded_origins:beach_crab/krusty",
        "grounded_origins:beach_crab/legs_n_chelipeds",
        "grounded_origins:beach_crab/crawler",
        "grounded_origins:beach_crab/pincers",
        "grounded_origins:beach_crab/shell",
        "grounded_origins:beach_crab/crustacean_gills",
        "grounded_origins:beach_crab/kelpomaniac",
        "origins:aqua_affinity",
        "origins:no_shield"
    ],
    "icon": "grounded_origins:beach_crab_icon",
    "order": 0,
    "impact": 2,
    "unchoosable": true,
    "loading_priority": 1
}

Powers

Much like what was mentioned above, all we need to do is edit the origin definition itself. If I want to remove the "Rave" ability from the Beach Crab, all I have to do is remove it from beach_crab.json in /data/grounded_origins/origins/.

{
    "powers": [
        "grounded_origins:beach_crab/home",
        "grounded_origins:beach_crab/krusty",
        "grounded_origins:beach_crab/legs_n_chelipeds",
        "grounded_origins:beach_crab/crawler",
        "grounded_origins:beach_crab/pincers",
        "grounded_origins:beach_crab/shell",
        "grounded_origins:beach_crab/crustacean_gills",
        "grounded_origins:beach_crab/kelpomaniac",
        "origins:aqua_affinity",
        "origins:no_shield"
    ],
    "icon": "grounded_origins:beach_crab_icon",
    "order": 0,
    "impact": 2,
    "loading_priority": 1
}

Just ensure that loading_priority is set to 1 and you should be able to make any change as you desire to the original material.