Compatibility
Minecraft: Java Edition
Platforms
Supported environments
Tags
Creators
Details
Welcome to ForgeCraft! Have you ever complain about having too little modification on the items? Or just play a lot of survival minecraft and want to modify the game without using any mods? Well, this datapack suits you! This datapack features a Reforge System where you can alter your Weapons, Armor, Tools and Utilities in a different way! As of right now, there are 54 Unique Reforges for you to discover and use. They all support multiplayer so you don't have to worry about it working inproperly. However, if you found any bugs and problems with the datapack, let me know by commenting here!
This datapack does have a resourcepack, which is currently in stage 2: All Armor reforge items. Now it is required for the datapack to work properly. To download the resourcepack, here's the link:
🗺️⬇️Resourcepack download link:
[https://www.curseforge.com/minecraft/texture-packs/forgecraft-support-resource-pack](https://www.curseforge.com/minecraft/texture-packs/forgecraft-support-resource-pack)

**- Available Forge Options (Some reforges can apply to multiple types):**
- 6 [Any] Reforges
- 22 [Armor] Reforges
- 18 [Melee] Reforges
- 13 [Tool] Reforges
- 14 [Ranged] Reforges
Not Going to provide the details here, go find it yourself!
(Mobs are optional feature, disabled on default)

- Try not to cheat through the reforge items (I know, some of them are hard to get)
- Please do not put the reforge anvil outside of 1 block height, it may have unintentional behaviour!
- Please read the README from the source file for some extra details
- If you wished to remove mob modification, you can type:
/function gamerules/ismobmodification/false - If you updated this datapack to newer versions, please type:
/function reforge/unlock_all_reforges To view the recipes for new reforges.
- (Minecraft 1.21.6 or newer!) To change the settings for this datapack, type the command:
/function forgecraft_lpmc2:settings to start the menu!

- Craft the Reforge Anvil from the crafting table (Required in V1.57.2 or older ONLY. Recipe is on the Recipe Book) and place it like a block. But be warned, it can destroy blocks
- To put the item to the slot, right click to place and left click to get it back
- To forge the item, click on the symbol 🛠. It will only work if the items are correct and you have enough xp levels
- To get the reforge anvil back, just simply destory the anvil with proper tools, remaining items in the slot will return as a dropped item.
- Skeletons will not always be holding a bow, they can now hold a sword or a axe with enchantments (They are deadly...)
- You can get a special reforge from a wandering trader with a low percentage
- Since that the enderman can be ranged, I would not recommend to build the usual enderman farm as the endermite may die from projectile.
- Recommend to have a unbreakable shield as some mobs can quickly destroy your normal shield like a paper
- Some items will have limitation, please read the forge item carefully. (At least bow can work like a charm in left hand due to 'weapon' data is inside the arrow data)
- The advancement will provide guide on spawning the conditional mobs. Getting advancement will also reward with a bit of xp.
- (For V1.62.2 or newer only!) To modify the maximum count for enhancement books applied, you can type the following command:
/function gamerules:enhancementmaxcount/set {count:10}
Where "count" is the maximum count to apply - Getting Forging Xp
Just start forging the items, and you will receive xp!

Requirement:
- The item is vanilla reforged by the Vanilla Item Converter


- Max Health
- Armor
- Armor Toughness
- Attack Damage
- Attack Speed
- Attack Knockback
- Block Interaction Range
- Entity Interaction Range
- Burning Time (Reduce)
- Safe Fall Distance
- Gravity (Reduce)
- Knockback Resistance
- Jump Strength
- Block Break Speed
- Scale (Both Reduce & Increase)
- Movement Speed
- Oxygen Bonus
To apply the boost, just do it the same way as forging the item



Plugins
Starting from V1.8.3, you can now add custom reforges to the ForgeCraft world!
Requirements
- Use
function forgecraft_lpmc2:plugins/register {...}to register the plugin. Example can be seen below. - Registration must be appended in datapack load, otherwise the reforge won't register at all.
- Must use V1.8.3 or later
- Don't change the slug, or else there might be duplicates
- Be aware of repeated id from other plugins. Make sure yours are unique.
- Must follow the format below, or the data won't get registered.
Storage Location, in case you are wondering
forgecraft:plugin custom
Format
{
slug: string (UNIQUE)
name: string
reforges:
{
id: integer (Required, UNIQUE, don't get repeated with any other, including outside)
name: string (Required)
description: string (Required, Tooltip Reforge's description)
info: string (Debug Menu Info)
req_xp: integer (Required, XP level needed to apply)
req_lvl: integer (Required, Forging Level needed to apply, 0 means no requirement)
types: {id:integer}[] (id is ranged from 1 - 9, which are:
1 - Melee
2 - Ranged
3 - Armor - Helmet
4 - Armor - Chestplate
5 - Armor - Leggings
6 - Armor - Boots
7 - Tool
8 - Utility (Item that has durability)
9 - Other )
attributes: {
type: string (For example, 'minecraft:attack_damage')
operation: 'add_value' | 'add_multiplied_total' | 'add_multiplied_base'
slot: string|'auto' (auto means based on item type)
amount: double
percentage: integer
(Add percentage value based on current Item's value, if available. amount is the fallback. For example, 100 -> +100%)
}[]
tags: object (For example, {is_electric: 1b})
rarity: 'common' | 'uncommon' | 'rare' | 'epic' (Required)
texture: string
custom_function: string
(Function that apply to the entity -> minecraft:item.
Example: 'example:electric/apply')
}[]
}
Example
function forgecraft_lpmc2:plugins/register {\
slug: 'example-plugin',\
reforges:[\
{\
id: 1000,\
name: 'Electrocuting',\
description: 'Attack Entity causing electrocution',\
info: 'Electrify Entity into oblivion',\
req_xp: 20,\
req_lvl: 5,\
types: [{id:1},{id:2}],\
attributes: [\
{\
type: 'minecraft:attack_damage',\
operation: 'add_value',\
slot: 'auto',\
amount: 1.5,\
percentage: 50\
},\
{\
type: 'minecraft:attack_speed',\
operation: 'add_multiplied_total',\
slot: 'auto',\
amount: -0.6\
},\
{\
type: 'minecraft:armor',\
operation: 'add_value',\
slot: 'offhand',\
amount: 2\
},\
{\
type: 'minecraft:armor_toughness',\
operation: 'add_multiplied_total',\
slot: 'auto',\
amount: 1.0,\
}\
],\
tags: {is_electric: 1b},\
rarity: 'common',\
texture: 'electric',\
custom_function: 'example:electric/apply'\
},\
{\
id: 1001,\
name: 'Example Reforge',\
description: 'The very example of reforge',\
info: 'DEMO',\
req_xp: 0,\
req_lvl: 0,\
types: [{id:1},{id:2},{id:3},{id:4},{id:5},{id:6},{id:7},{id:8}],\
attributes: [\
{\
type: 'minecraft:attack_damage',\
operation: 'add_value',\
slot: 'auto',\
amount: 20,\
percentage: 200\
},\
],\
rarity: 'rare'\
}\
]\
}
This datapack is compatible with any other datapacks, for example, MineTreasure item's ability can work properly.
If you want to change how your custom item works in this datapack, you can add the following custom component data to the item:
minecraft:custom_data.itemname - Type: String. An item name, for example, "Aspect of the Jerry"
minecraft:custom_data.reforgeid - Type: Integer. Set the value to 0, if you want it to be reforged, and prevents the name from overriding.
minecraft:custom_data.typename - Type: String. The id of the item, for example, "minecraft:iron_sword"
minecraft:custom_data.typeid - Type: Integer. The type of the item. Important for determining what reforge can it gets. Here's the list of typeid:
1 -> Melee
2 -> Ranged
3 -> Armor - Helmet
4 -> Armor - Chestplate
5 -> Armor - Leggings
6 -> Armor - Boots
7 -> Tool
8 -> Utilities
9 -> Other
minecraft:custom_data.itemtype - Type: String. Optional, the item type name of the item. For example, "Melee"
minecraft:custom_data.global_id - Type: Integer. The id for the item. If you have multiple item, they should not have the same id.


