
Elementelum
Unique and visually stunning elemental weapons.
Screenshots

About this Mod
Elementelum, name born from the combination of "Element" and "Weapon"...
Of course, this project is mostly about Elemental Weapons, but there's much more.
If you want a great overview of the added content, check out the youtube review:
vred's DP Lib IS REQUIRED!!
https://modrinth.com/datapack/vreds-dp-lib
This project adds:
- new and exciting weapons that have different tiers (pale -> stoichite -> elemental). Each tier has more abilities than the previous one;
- built-in Iron's Spells and Spellbooks compat, where each ability will now use mana.
- forging system;
- datadriven augment system;
- fully configurable stats for weapons and augments.
Technical side
Useful commands
/function elementelum:get_materials
To get all materials and augments!
/function elementelum:get_weapons
To get every weapon!
How to add custom augments
In order to make a custom augment you need:
- 3 item modifiers;
- item with specific custom data;
- 1 or 2 functions;
- 1 enchant (if you want).
Item modfiers
# data/<namespace>/item_modifier/augments/<augment>/normal.json
Will be applied when hitting the yellow part in the forging minigame.
# data/<namespace>/item_modifier/augments/<augment>/perfect.json
Will be applied when hitting the red part in the forging minigame.
# data/<namespace>/item_modifier/augments/<augment>/remove.json
Will be applied when augment is removed.
<namespace> and <augment> are defined into the item itself.
here's an example:
give @s raw_cod[custom_data={vred_lib:{augment:fish,namespace:example, item_type:augment}}]
# data/example/item_modifier/augments/fish/normal.json
# data/example/item_modifier/augments/fish/perfect.json
# data/example/item_modifier/augments/fish/remove.json
Functions
A function is needed to add custom text when the augment is put in the Esoteric Anvil. To add something similar to the text of other augments, it's better to look at the orignal code.
The function needs to be in the #elementelum:augment/desc function tag.
data modify storage elementelum:augment text.<namespace>.<augment>.normal set value '[...]'
data modify storage elementelum:augment text.<namespace>.<augment>.perfect set value '[...]'
If you want to use the same behavior to change the level based on quantity of augment in your inventory, just use function elementelum:augments/calc/base {namespace:<namespace>,augment:<augment>}
However, it will require a custom enchantment with the id "<namespace>:<augment>".
<namespace> and <augment> are the same from the item as before.
Configurable values for weapons
If you want to configure some of the abilites of the weapons, such as:
- cooldown
- damage
- duration.
You need to check the item itself and use /scoreboard to modify the values.
For example, we want to edit the base damage of Thalassurge.
We need to know the internal item id (which may not always be the same as the display name)
First of all, we take a copy of said item and hold it in our main hand.
Then we run this command:
data get entity @s SelectedItem.components.minecraft:custom_data.vred_lib
After that, try to find the value of "weapon_id" in the command result. In this case it's anchor (yes, I still haven't changed it 💔).
Unzip the datapack and find this function:
data/elementelum/function/<weapon_id>/config/base.mcfunction
(it will be data/elementelum/function/anchor/config/base.mcfunction)
In that function will be all the values of the config, you can tinker around with them using /scoreboard to modify them.
We wanted to edit the base damage of Thalassurge, now we know we can do it using this command:scoreboard players set $anchor.atk.dmg elementelum.config 5
If you want to reset the values, just
/function elementelum:<weapon_id>/config/reset
(It will be /function elementelum:anchor/config/reset)
Available Versions
How to Install Elementelum on Your Server
Order Server
Order a Minecraft Java server with at least 3 GB RAM (4 GB recommended).
Set datapack Loader
In the panel under "Egg", select the datapack loader and matching Minecraft version (1.21.1).
Install Mod
Open the mod browser in the dashboard and search for "Elementelum". Click "Install" – done! Alternatively, upload the .jar via SFTP to the /mods folder.
Compatibility
Mod Loaders
Minecraft Versions
1.21.1, 1.21
Server-side
✓ RequiredRecommended RAM
4 GB(min. 3 GB)Frequently Asked Questions
Elementelum server crashes on startup – what to do?
Most common cause: wrong datapack version or insufficient RAM. Check the server log (latest.log) for "OutOfMemoryError" or "Mixin" errors. With Mado Hosting: ensure at least 3 GB RAM is allocated and the loader matches the mod version (1.21.1). You can switch loaders with one click in the panel.
Is Elementelum compatible with datapack and fabric and forge and neoforge and quilt?
Elementelum officially supports datapack, fabric, forge, neoforge, quilt for Minecraft 1.21.1, 1.21. Note: Forge and Fabric mods are NOT cross-compatible – pick one loader and stick with it. The Mado dashboard automatically detects incompatible loader combinations.
Server lagging with Elementelum – how to optimize performance?
Recommended RAM: 4 GB (per 8 players). Use /spark profiler to check if Elementelum consumes the most tick time. Common fixes: reduce server view-distance to 8-10, install "performant" or "starlight" as supplementary mods on Forge. With Mado Hosting, your server runs on NVMe SSDs with dedicated CPU cores for minimal latency.
Similar Mods
Rent Modded Server
Install Elementelum with just one click on your server.