Description

GeoDynamic Attributes changes how player attributes work by linking them to the world around you. Attributes like attack damage, movement speed, and various spell powers (if you have Iron's Spellbooks) adjust based on what biome or dimension you’re in.
For example, you gain knockback resistance while in the Nether, increased movement speed in plains biomes, holy spell power in the Aether dimension, and eldritch spell power when in the Deep Dark biome or the Deeper Darkers' Otherside dimension. These are just a few examples of the dynamic effects this mod provides.
This system is driven entirely by JSON datapacks, making it easy for modpack creators to add or customize attribute entries based on any biome, dimension, or biome tag. It supports both vanilla Minecraft locations and modded content.

Features & Customization Guide:
Features ----------->
- Apply attribute bonuses/penalties based on player current biome or dimension.
- Uses completely datapack-driven JSON system, that lets you add or change attributes without coding.
- Works with vanilla Minecraft and modded biomes/dimensions.
- Supports multiple attribute modification operations.
- Supports conditional loading to prevent conflicts and allow mod compatibility.
- Pre-built simple/starter integration with mods like Iron's Spellbooks, T.O Magic 'n Extras, Deeper Darker, The Aether, Twilight Forest, Alex's Caves, The Bumblezone, Cataclysm Spellbooks and I'll still add more in the future.
Modpack/Modders Maker: How to Add Your Own Attribute Entries ----------->
1. File Location
Put your JSON files in your datapack under:
data/geodynamic_attributes/geodynamic_attributes/your_file.json2. Filename Convention
Name each JSON file with this pattern (basically any name works, but this format looks cleaner imo):
{biome_or_dimension_name}_{attribute_name}.json
Example: the_nether_knockback_resistance.json or allium_shrubland_nature_spell_power.json
3. JSON File Structure
Each JSON file contains exactly one attribute entry. Here is an example JSON:
{ "biome": "biomeswevegone:allium_shrubland", "attribute": "irons_spellbooks:nature_spell_power", "uuid": "865f1f64-412e-49d3-9199-10f9b0289749", "value": 0.1, "operation": "MULTIPLY_BASE", "required_mod": ["biomeswevegone", "irons_spellbooks"]}
4. Field Descriptions
| Field | Type | Description |
|---|---|---|
biome |
string | The biome ID where the attribute applies. Use vanilla or modded biome IDs. Biome tags (prefixed with #) supported. Names marked with "#" counts are tags |
dimension |
string | (Alternative to biome) The dimension ID where the attribute applies. Use only one of biome or dimension. |
attribute |
string | The attribute ID to modify (e.g., minecraft:generic.attack_damage or irons_spellbooks:nature_spell_power). You can go in-game and use /attribute command to grab IDs. |
uuid |
string (UUID) | Unique ID for the attribute modifier to avoid conflicts. Generate a new UUID for each entry. |
value |
double | The amount to apply (e.g., 0.1 = 10% bonus if using multiply). |
operation |
string | One of: ADD, MULTIPLY_BASE, MULTIPLY_TOTAL. Defines how the value is applied to the attribute. |
required_mod |
array[string] | List of mod IDs required for this entry to be active. If all mods are not present then the system will simply skip this json file. |
5. Extra Things
- Use either
biomeordimension, but not both in the same file. - Biome tags allow you to apply one entry to multiple related biomes (e.g.,
#forge:is_cold). - Always generate a new UUID when creating entries to prevent modifier conflicts.

License: All Rights Reserved (ARR)
The total project is protected by All Right Reserved (ARR). I reserve all rights to this mod, except where content belongs to third-party creators or contributors. See the list below for details on permissions, restrictions, and acknowledgments.
You Can:
- Use this mod in any modpack you're playing or creating.
- Make resourcepacks for this mod.
- Develop datapacks for this mod.
- Showcase the mod in videos or streams.
You Cannot:
- Use or redistribute ANY assets or code of this mod.
- Modify the base code and re-upload it elsewhere or on curseforge.
- Port the mod to newer or previous version and then re-destribute.
Why your project is Closed Source and How can we get access to it?
In the past, I had some unfortunate experiences with my college projects (personal matters) that left me with trust issues. Let’s just say I’ve developed a sort of trauma, and it’s hard for me to trust people easily. Since I’m fairly new to this community, I feel the need to be cautious. That’s why my projects are currently closed-source. However, if I stay in the modding scene long enough and build more trust, I might consider making them open-source in the future.
For now, if you’re a known modder or someone I personally know and you’d like access to my projects for personal use or to help me directly, feel free to reach out. You can contact me on Discord or CurseForge, and I’ll gladly provide collaboration access to my GitHub repositories.
Credits:
- The base globe icon in the logo is from https://pngtree.com/ under their free usable assets.

Will you make compatibility with [X] mod?
- Adding compats for this mod is extremely easy and you can do it by yourself too. Just follow this mod page where it provides the guide for adding new attribute entries. As for the default mod, I'll probably add occassional compats with other mods if I feel like.
Port this mod to [X] version?
- Ports will happen if a version is popular and if I have time
If you're thinking of starting your own Minecraft server, consider using the Bisect Hosting link above. You'll get 25% off your first month, and by using this link, you'll also be supporting the development of this mod.
We also have a wiki for the mod in our Discord! Join our Discord by clicking on the link or image below. If you encounter any issues with any of my mods, you can report them directly there. Feel free to share suggestions for other mod integrations and content ideas. Thanks for downloading the mod!




