<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.dragonminez.com/index.php?action=history&amp;feed=atom&amp;title=Weapon_Attributes%2Fen</id>
	<title>Weapon Attributes/en - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.dragonminez.com/index.php?action=history&amp;feed=atom&amp;title=Weapon_Attributes%2Fen"/>
	<link rel="alternate" type="text/html" href="https://wiki.dragonminez.com/index.php?title=Weapon_Attributes/en&amp;action=history"/>
	<updated>2026-10-26T23:00:59Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.11</generator>
	<entry>
		<id>https://wiki.dragonminez.com/index.php?title=Weapon_Attributes/en&amp;diff=4426&amp;oldid=prev</id>
		<title>FuzzyBot: Updating to match new version of source page</title>
		<link rel="alternate" type="text/html" href="https://wiki.dragonminez.com/index.php?title=Weapon_Attributes/en&amp;diff=4426&amp;oldid=prev"/>
		<updated>2026-10-13T05:22:41Z</updated>

		<summary type="html">&lt;p&gt;Updating to match new version of source page&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Weapon Attributes&amp;#039;&amp;#039;&amp;#039; is a datapack system that tells the DragonMineZ combat engine how a specific item behaves in combat: attack range, animation, hitbox shape, damage multipliers, conditional attack variants (dual-wielding, sneaking, mounted and so on) and critical stats. Third-party weapon mods hook into this system to get proper DragonMineZ combat behavior.&lt;br /&gt;
&lt;br /&gt;
Loader: &amp;lt;code&amp;gt;WeaponRegistry.loadAttributes(resourceManager)&amp;lt;/code&amp;gt;, in &amp;lt;code&amp;gt;src/main/java/com/dragonminez/common/combat/logic/weapon/WeaponRegistry.java&amp;lt;/code&amp;gt;. It reloads with the vanilla datapack reload (&amp;lt;code&amp;gt;/reload&amp;lt;/code&amp;gt; or a restart), &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; with &amp;lt;code&amp;gt;/dmzreload&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== File location and item mapping ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
data/&amp;lt;namespace&amp;gt;/weapon_attributes/&amp;lt;item_path&amp;gt;.json&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The namespace and path become the target item id: &amp;lt;code&amp;gt;data/dragonminez/weapon_attributes/axe.json&amp;lt;/code&amp;gt; applies to &amp;lt;code&amp;gt;dragonminez:axe&amp;lt;/code&amp;gt;. A third-party mod defines its own weapons under its own namespace, for example &amp;lt;code&amp;gt;data/mymod/weapon_attributes/great_axe.json&amp;lt;/code&amp;gt; for &amp;lt;code&amp;gt;mymod:great_axe&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{{Note|title=Better Combat datapacks|text=Any &amp;lt;code&amp;gt;bettercombat:&amp;lt;/code&amp;gt; namespace found in these JSON files is rewritten to &amp;lt;code&amp;gt;dragonminez:&amp;lt;/code&amp;gt; at load time, so weapon attribute datapacks written for the Better Combat mod mostly work as they are.}}&lt;br /&gt;
&lt;br /&gt;
== Top-level schema ==&lt;br /&gt;
A file holds an &amp;lt;code&amp;gt;attributes&amp;lt;/code&amp;gt; object:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;attributes&amp;quot;: { ... }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or, to inherit another item&amp;#039;s attributes and only override specific fields, it names a &amp;lt;code&amp;gt;parent&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;parent&amp;quot;: &amp;quot;dragonminez:sword&amp;quot;,&lt;br /&gt;
  &amp;quot;attributes&amp;quot;: {&lt;br /&gt;
    &amp;quot;crit_chance&amp;quot;: 0.10,&lt;br /&gt;
    &amp;quot;crit_damage&amp;quot;: 0.15&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;parent&amp;lt;/code&amp;gt; chains can go several levels deep (a parent can have its own parent). Cycles are detected: a weapon whose parent chain loops back on itself fails to resolve and is skipped (logged as an error), so double-check your &amp;lt;code&amp;gt;parent&amp;lt;/code&amp;gt; references.&lt;br /&gt;
&lt;br /&gt;
== Attributes fields ==&lt;br /&gt;
{{Config|Combat Config|fallbackCompatibility}}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Field !! Type !! What it does&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;attack_range&amp;lt;/code&amp;gt; || Number || Reach in blocks (the Minecraft default &amp;lt;code&amp;gt;3.0&amp;lt;/code&amp;gt; if left out).&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;pose&amp;lt;/code&amp;gt; || String || GeckoLib animation pose for the main-hand weapon.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;off_hand_pose&amp;lt;/code&amp;gt; || String || GeckoLib animation pose for the off-hand weapon.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;two_handed&amp;lt;/code&amp;gt; || Boolean || If &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;, the off hand can&amp;#039;t be used while the weapon is wielded.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt; || String || Free-form category tag. It is used for two things: matching &amp;lt;code&amp;gt;DUAL_WIELDING_SAME_CATEGORY&amp;lt;/code&amp;gt; conditions between the main hand and the off hand, &amp;#039;&amp;#039;&amp;#039;and&amp;#039;&amp;#039;&amp;#039; as the target category for the &amp;lt;code&amp;gt;fallbackCompatibility&amp;lt;/code&amp;gt; regex system in [[Special:MyLanguage/Combat Config|Combat Config]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;crit_chance&amp;lt;/code&amp;gt; || Number || Innate critical chance (&amp;lt;code&amp;gt;0.0&amp;lt;/code&amp;gt;–&amp;lt;code&amp;gt;1.0&amp;lt;/code&amp;gt;), applied as an attribute modifier.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;crit_damage&amp;lt;/code&amp;gt; || Number || Innate critical damage multiplier, applied as an attribute modifier.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;attacks&amp;lt;/code&amp;gt; || Array || &amp;#039;&amp;#039;&amp;#039;Required.&amp;#039;&amp;#039;&amp;#039; One or more attack variants (see below).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Attack entries ==&lt;br /&gt;
Each entry of &amp;lt;code&amp;gt;attacks&amp;lt;/code&amp;gt; describes one swing variant. DragonMineZ checks the &amp;lt;code&amp;gt;conditions&amp;lt;/code&amp;gt; from top to bottom and uses the first attack whose conditions all pass.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Field !! Type !! What it does&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;conditions&amp;lt;/code&amp;gt; || List of condition strings || All of them must be true for this variant to fire. Leave it out for an unconditional attack.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;hitbox&amp;lt;/code&amp;gt; || String || &amp;lt;code&amp;gt;FORWARD_BOX&amp;lt;/code&amp;gt; (a box extending forward, closest to vanilla), &amp;lt;code&amp;gt;VERTICAL_PLANE&amp;lt;/code&amp;gt; (a vertical sweeping slash) or &amp;lt;code&amp;gt;HORIZONTAL_PLANE&amp;lt;/code&amp;gt; (a wide horizontal sweep).&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;damage_multiplier&amp;lt;/code&amp;gt; || Number || Multiplier on the weapon&amp;#039;s base damage (default &amp;lt;code&amp;gt;1.0&amp;lt;/code&amp;gt;).&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;angle&amp;lt;/code&amp;gt; || Number || Swing arc in degrees.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;upswing&amp;lt;/code&amp;gt; || Number || Cooldown multiplier: &amp;lt;code&amp;gt;cooldownTicks = (1 / (4 - attackSpeed)) * 20 * upswing&amp;lt;/code&amp;gt;. Lower means a faster follow-up. It also sets the swing&amp;#039;s &amp;#039;&amp;#039;&amp;#039;windup&amp;#039;&amp;#039;&amp;#039; (the delay before the hit lands): animation ticks × &amp;lt;code&amp;gt;upswing&amp;lt;/code&amp;gt; × 0.95, clamped to 3–7 ticks.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;animation&amp;lt;/code&amp;gt; || String || GeckoLib animation name. It is checked against &amp;lt;code&amp;gt;animations/*.json&amp;lt;/code&amp;gt;; if there is no exact match, DragonMineZ picks the closest name (Levenshtein distance) after stripping known prefixes (&amp;lt;code&amp;gt;dragonminez:&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;bettercombat:&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;combat.&amp;lt;/code&amp;gt;).&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;swing_sound&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;impact_sound&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;{ &amp;quot;id&amp;quot;, &amp;quot;volume&amp;quot;*, &amp;quot;pitch&amp;quot;*, &amp;quot;randomness&amp;quot;* }&amp;lt;/code&amp;gt; || Sound played on swing or impact. &amp;lt;code&amp;gt;volume&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;pitch&amp;lt;/code&amp;gt; default to &amp;lt;code&amp;gt;1.0&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;randomness&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;0.1&amp;lt;/code&amp;gt;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Attack conditions ===&lt;br /&gt;
This is the complete list of conditions:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Condition !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;NOT_DUAL_WIELDING&amp;lt;/code&amp;gt; || The off hand is empty (air).&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;DUAL_WIELDING_ANY&amp;lt;/code&amp;gt; || Both hands hold something.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;DUAL_WIELDING_SAME&amp;lt;/code&amp;gt; || Both hands hold the exact same item id.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;DUAL_WIELDING_SAME_CATEGORY&amp;lt;/code&amp;gt; || Both hands hold items that share the same &amp;lt;code&amp;gt;category&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;NO_OFFHAND_ITEM&amp;lt;/code&amp;gt; || The off hand is empty.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;OFF_HAND_SHIELD&amp;lt;/code&amp;gt; || The off hand holds a shield.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;MAIN_HAND_ONLY&amp;lt;/code&amp;gt; || The attack only applies to the main-hand weapon.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;OFF_HAND_ONLY&amp;lt;/code&amp;gt; || The attack only applies to the off-hand weapon.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;MOUNTED&amp;lt;/code&amp;gt; || The player is riding an entity.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;NOT_MOUNTED&amp;lt;/code&amp;gt; || The player is not riding.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;SNEAKING&amp;lt;/code&amp;gt; || The player is crouching.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;NOT_SNEAKING&amp;lt;/code&amp;gt; || The player is standing.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Full example ==&lt;br /&gt;
A dagger with several attacks and a dual-wield variant:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;attributes&amp;quot;: {&lt;br /&gt;
    &amp;quot;attack_range&amp;quot;: 2,&lt;br /&gt;
    &amp;quot;two_handed&amp;quot;: false,&lt;br /&gt;
    &amp;quot;category&amp;quot;: &amp;quot;dagger&amp;quot;,&lt;br /&gt;
    &amp;quot;attacks&amp;quot;: [&lt;br /&gt;
      {&lt;br /&gt;
        &amp;quot;hitbox&amp;quot;: &amp;quot;HORIZONTAL_PLANE&amp;quot;,&lt;br /&gt;
        &amp;quot;damage_multiplier&amp;quot;: 0.8,&lt;br /&gt;
        &amp;quot;angle&amp;quot;: 150,&lt;br /&gt;
        &amp;quot;upswing&amp;quot;: 0.5,&lt;br /&gt;
        &amp;quot;animation&amp;quot;: &amp;quot;combat.one_handed_slash_horizontal_right_1&amp;quot;,&lt;br /&gt;
        &amp;quot;swing_sound&amp;quot;: { &amp;quot;id&amp;quot;: &amp;quot;dragonminez:dagger_slash&amp;quot; }&lt;br /&gt;
      },&lt;br /&gt;
      {&lt;br /&gt;
        &amp;quot;hitbox&amp;quot;: &amp;quot;HORIZONTAL_PLANE&amp;quot;,&lt;br /&gt;
        &amp;quot;damage_multiplier&amp;quot;: 0.8,&lt;br /&gt;
        &amp;quot;angle&amp;quot;: 150,&lt;br /&gt;
        &amp;quot;upswing&amp;quot;: 0.5,&lt;br /&gt;
        &amp;quot;animation&amp;quot;: &amp;quot;combat.one_handed_slash_horizontal_right_2&amp;quot;,&lt;br /&gt;
        &amp;quot;swing_sound&amp;quot;: { &amp;quot;id&amp;quot;: &amp;quot;dragonminez:dagger_slash&amp;quot; }&lt;br /&gt;
      },&lt;br /&gt;
      {&lt;br /&gt;
        &amp;quot;conditions&amp;quot;: [&amp;quot;DUAL_WIELDING_SAME_CATEGORY&amp;quot;, &amp;quot;MAIN_HAND_ONLY&amp;quot;],&lt;br /&gt;
        &amp;quot;hitbox&amp;quot;: &amp;quot;FORWARD_BOX&amp;quot;,&lt;br /&gt;
        &amp;quot;damage_multiplier&amp;quot;: 1.4,&lt;br /&gt;
        &amp;quot;angle&amp;quot;: 150,&lt;br /&gt;
        &amp;quot;upswing&amp;quot;: 0.5,&lt;br /&gt;
        &amp;quot;animation&amp;quot;: &amp;quot;combat.dual_handed_stab&amp;quot;,&lt;br /&gt;
        &amp;quot;swing_sound&amp;quot;: { &amp;quot;id&amp;quot;: &amp;quot;dragonminez:dagger_slash&amp;quot; }&lt;br /&gt;
      }&lt;br /&gt;
    ]&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An inheritance example (&amp;lt;code&amp;gt;brave_sword.json&amp;lt;/code&amp;gt;, overriding only the critical stats):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;parent&amp;quot;: &amp;quot;dragonminez:sword&amp;quot;,&lt;br /&gt;
  &amp;quot;attributes&amp;quot;: {&lt;br /&gt;
    &amp;quot;crit_chance&amp;quot;: 0.10,&lt;br /&gt;
    &amp;quot;crit_damage&amp;quot;: 0.15&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Shipped attribute files ==&lt;br /&gt;
{{See also|Special Weapons}}&lt;br /&gt;
DragonMineZ ships these entries under &amp;lt;code&amp;gt;data/dragonminez/weapon_attributes/&amp;lt;/code&amp;gt;, so you can use them as a &amp;lt;code&amp;gt;parent&amp;lt;/code&amp;gt; or as a &amp;lt;code&amp;gt;weaponCombo&amp;lt;/code&amp;gt; or fallback target:&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Base movesets:&amp;#039;&amp;#039;&amp;#039; &amp;lt;code&amp;gt;anchor&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;axe&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;battlestaff&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;claw&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;claymore&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cutlass&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;dagger&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;double_axe&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;fist&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;giant&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;glaive&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;halberd&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;hammer&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;katana&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;lance&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;mace&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;pickaxe&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;rapier&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;scythe&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;sickle&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;soul_knife&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;spear&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;staff&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;sword&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;trident&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;twin_blade&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;wand&amp;lt;/code&amp;gt;.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Signature weapons:&amp;#039;&amp;#039;&amp;#039; &amp;lt;code&amp;gt;brave_sword&amp;lt;/code&amp;gt; ([[Special:MyLanguage/Brave Sword|Brave Sword]], parent &amp;lt;code&amp;gt;sword&amp;lt;/code&amp;gt;), &amp;lt;code&amp;gt;yajirobe_katana&amp;lt;/code&amp;gt; ([[Special:MyLanguage/Yajirobe&amp;#039;s Katana|Yajirobe&amp;#039;s Katana]], parent &amp;lt;code&amp;gt;katana&amp;lt;/code&amp;gt;), &amp;lt;code&amp;gt;z_sword&amp;lt;/code&amp;gt; ([[Special:MyLanguage/Z Sword|Z Sword]], parent &amp;lt;code&amp;gt;claymore&amp;lt;/code&amp;gt;) and &amp;lt;code&amp;gt;power_pole&amp;lt;/code&amp;gt; ([[Special:MyLanguage/Power Pole|Power Pole]], parent &amp;lt;code&amp;gt;staff&amp;lt;/code&amp;gt;, with its own three-hit combo).&lt;br /&gt;
&lt;br /&gt;
DragonMineZ items without an entry of their own (for example the [[Special:MyLanguage/Dimension Sword|Dimension Sword]] and the Tamagami weapons: [[Special:MyLanguage/Tamagami Sword|Tamagami Sword]], [[Special:MyLanguage/Tamagami Trident|Tamagami Trident]] and [[Special:MyLanguage/Tamagami Hammer|Tamagami Hammer]]) get their moveset from the &amp;lt;code&amp;gt;fallbackCompatibility&amp;lt;/code&amp;gt; regexes in [[Special:MyLanguage/Combat Config|Combat Config]], just like third-party weapons.&lt;br /&gt;
&lt;br /&gt;
== For third-party weapon mods ==&lt;br /&gt;
If your mod adds weapons and you don&amp;#039;t ship a Weapon Attributes entry for them, DragonMineZ falls back to matching the item id of every item with an attack-damage modifier against the &amp;lt;code&amp;gt;fallbackCompatibility&amp;lt;/code&amp;gt; list in [[Special:MyLanguage/Combat Config|Combat Config]] (for example, an item id containing &amp;lt;code&amp;gt;axe&amp;lt;/code&amp;gt; is treated like &amp;lt;code&amp;gt;dragonminez:axe&amp;lt;/code&amp;gt;). This gives a reasonable default, but a real datapack entry that matches your weapon&amp;#039;s actual moveset and animations is always more accurate, and it always takes priority over the fallback guess.&lt;br /&gt;
&lt;br /&gt;
== Reload and validate ==&lt;br /&gt;
# Add or edit files under &amp;lt;code&amp;gt;data/&amp;lt;namespace&amp;gt;/weapon_attributes/&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Validate the JSON syntax (see [[Special:MyLanguage/How to JSON|How to JSON]]).&lt;br /&gt;
# Run the vanilla &amp;lt;code&amp;gt;/reload&amp;lt;/code&amp;gt;, or restart. This is a plain datapack reload listener, not part of &amp;lt;code&amp;gt;/dmzreload&amp;lt;/code&amp;gt; (see [[Special:MyLanguage/Reloading and Updating Changes|Reloading and Updating Changes]]).&lt;br /&gt;
# Test the weapon in game: range, animation, hitbox shape and any conditional variants (dual-wielding, sneaking, mounted).&lt;br /&gt;
&lt;br /&gt;
{{Navbox Modding}}&lt;/div&gt;</summary>
		<author><name>FuzzyBot</name></author>
	</entry>
</feed>