HomeJavaDatapacksElementelum
Elementelum
DatapacksJava

Elementelum

by vred_ · on Modrinth

Which build do you need?

This mod ships a separate file for every mod loader and every version of the game. Pick both, then download — the wrong build installs fine and then does nothing in the game.

Mod loader

Minecraft version

⬇ Download for 1.21–1.21.1 · Data pack⬇ Download for 1.21–1.21.1 · Fabric⬇ Download for 1.21–1.21.1 · Forge⬇ Download for 1.21–1.21.1 · NeoForge⬇ Download for 1.21–1.21.1 · Quilt
I don't know my version or loader
Open the Minecraft launcher and look at the profile you play on — it names both, like fabric-loader-1.21.4. The version also shows in the bottom-right corner of the game's main menu.
No loader in the profile name? Then it's plain Minecraft, and these mods won't run — you need Fabric or NeoForge installed first.

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:

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:

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:

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)

Quick facts

Install steps are the general flow for this file type — see the MC Java Mods guides for the full walkthrough.

Verified by MCModsHub

These come from our own check of the pack file, not from the source page.

Explore more