跳到正文

Elementelum

作者:vred_

Unique and visually stunning elemental weapons.

收藏

截图

介绍

中文介绍正在准备中,下面暂时显示原文。

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
#

Will be applied when hitting the yellow part in the forging minigame.

Will be applied when hitting the red part in the forging minigame.

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…normal set value ‘[…]’
data modify storage elementelum:augment text…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.
</details>

<details>
<summary>Configurable values for weapons</summary>

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//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:

If you want to reset the values, just

/function elementelum:<weapon_id>/config/reset

(It will be /function elementelum:anchor/config/reset)

常见问题

Elementelum 支持哪些 Minecraft 版本?

Elementelum 支持 Minecraft Java 版 1.21–1.21.1,共 2 个版本,可用的加载器:Fabric / Forge / NeoForge / Quilt。下载时注意选择和你游戏版本一致的文件。

Elementelum 怎么安装?

先用 PCL2 或 HMCL 启动器安装对应版本的 Fabric / Forge / NeoForge / Quilt,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。运行环境:客户端 / 服务端。

评论

登录后评论和评分

vred_ 的其他作品

查看全部 →