Melee Weapons and Property Routing 1.21.1 - Herbertofury/Advent-of-Ascension GitHub Wiki
Melee weapons: separate tier inputs from property-helper routing
Open the item browser · Repair preparation · Vulcanes and Rage

Scope: 68 released melee registrations in Minecraft 1.21.1 / AoA 3.7.16.1: 34 swords, 29 Greatblade-family items including Pluton Scythe, and five mauls. Their tier definitions, registration factories and straight-line property-helper calls are traced separately. The resulting panel is a source reference, not a measured combat benchmark.
Together with the other weapon-family panels, every one of the 411 registrations in the inspected released AoAWeapons class has a reference panel. This is a bounded registration census, not proof of every runtime item, addon weapon or gameplay mechanic.
Choose and inspect a weapon
- Open a weapon below to see its source-model preview and exact-version recipe/drop links.
- Expand Melee properties · tier inputs and actual helper routing.
- Compare durability and enchantability, then inspect the damage and speed fields as separate inputs.
- Check the normal tier repair ingredient. Follow an archive-declared repair member when present; active tags can differ in a modpack.
- Read any routing warning before treating the displayed tier number as a final character stat.
- In the actual target build, compare the equipped main-hand attributes, cooldown behavior and an ordinary hit before testing special effects.
What the fields mean
- Tier damage input: the number supplied to AoA’s tier builder.
- Stored tier damage bonus: the released builder stores the damage input minus one. This is a separate intermediate value.
- Extra damage argument: the value eventually passed into the selected attribute-building helper after its overload chain.
- Attack-speed argument: a modifier argument, not seconds or measured attacks per second. Negative and positive values are preserved as released.
- Durability and enchantability inputs: tier defaults, not a promise about every enchanted or modified stack.
The sword path also delegates to a Minecraft/NeoForge attribute overload. The guide does not silently substitute the unpatched vanilla client implementation for that loader-specific path. Player base attributes, modifiers, cooldown strength, criticals, target defenses and subclass effects are outside these simple input columns.
Why tool-tier speed needs special care
Some melee registrations reuse a tool tier. Its stored speed may describe a tool property rather than the intended combat modifier. Emberstone, Jade and Limonite swords explicitly supply a sword-speed override. Skeletal Sword explicitly supplies an extra damage argument of 1 and a speed argument of -2.
The inspected Rock-Pick Sword and Troll-Basher Axe factories instead forward their stored tool-tier speed 9.5 into the selected melee property helper. That positive input is retained, not “corrected” by assumption. Verify intended design and actual equipped attributes before changing it.
Registered property inputs
Sword family
| Weapon | Tier damage input | Extra damage argument | Speed argument | Durability | Enchantability |
|---|---|---|---|---|---|
| Baron Sword | 12 | 0 | -2.4 | 1975 | 15 |
| Bloodfury | 13 | 0 | -2.2 | 1990 | 11 |
| Bloodstone Sword | 15 | 0 | -2.4 | 1990 | 11 |
| Candlefire Sword | 18 | 0 | -2.4 | 2985 | 15 |
| Caramel Carver | 16.5 | 0 | -2.4 | 2400 | 15 |
| Coralstorm Sword | 9 | 0 | -2.4 | 1800 | 15 |
| Creepified Sword | 14.5 | 0 | -2.4 | 2090 | 15 |
| Crystallite Sword | 15 | 0 | -2.3 | 2310 | 12 |
| Emberstone Sword | 12 | 0 | -2.4 | 2050 | 12 |
| Explochron Sword | 16 | 0 | -2.4 | 2360 | 15 |
| Faunamancer's Blade | 4 | 0 | -0.8 | 280 | 20 |
| Fireborne Sword | 13 | 0 | -2.4 | 1995 | 15 |
| Guardian's Sword | 16 | 0 | -2.4 | 2420 | 15 |
| Harvester Sword | 18.5 | 0 | -2.4 | 2550 | 15 |
| Holy Sword | 1 | 0 | 0.8 | 2500 | 18 |
| Illusion Sword | 15.5 | 0 | -2.4 | 2300 | 15 |
| Jade Sword | 7.5 | 0 | -2.4 | 950 | 12 |
| Legbone Sword | 12.5 | 0 | -2.4 | 2020 | 15 |
| Light's Way | 8.5 | 0 | -0.8 | 2900 | 12 |
| Limonite Sword | 6.5 | 0 | -2.4 | 176 | 3 |
| Nethengeic Sword | 15 | 0 | -2.4 | 2120 | 15 |
| Primal Sword | 14 | 0 | -2.4 | 2060 | 15 |
| Rock-Pick Sword | 13 | 0 | 9.5 | 2100 | 15 |
| Rockbasher Sword | 17 | 0 | -2.4 | 2430 | 15 |
| Rosidian Sword | 16.5 | 0 | -2.4 | 2430 | 15 |
| Runic Sword | 18.5 | 0 | -2.4 | 2690 | 15 |
| Shadow Sword | 18 | 0 | -2.4 | 2585 | 15 |
| Shroomus Sword | 16 | 0 | -2.4 | 2295 | 15 |
| Skeletal Sword | 10 | 1 | -2 | 1900 | 12 |
| Supremacy Sword | 15.5 | 0 | -2.4 | 2270 | 15 |
| Sweet Sword | 16 | 0 | -2.4 | 2360 | 15 |
| Troll-Basher Axe | 13 | 0 | 9.5 | 1800 | 15 |
| Ultraflame | 16 | 0 | -2.4 | 2350 | 15 |
| Void Sword | 11.5 | 0 | -2.4 | 1750 | 11 |
Greatblade family
| Weapon | Tier damage input | Extra damage argument | Speed argument | Durability | Enchantability |
|---|---|---|---|---|---|
| Baron Greatblade | 20.5 | 0 | -3.24 | 1200 | 13 |
| Bloodlurker | 22 | 0 | -3.24 | 1350 | 13 |
| Candy Blade | 24 | 0 | -3.24 | 1450 | 13 |
| Coral Greatblade | 25.5 | 0 | -3.24 | 1800 | 13 |
| Cotton Crusher | 25 | 0 | -3.24 | 1600 | 13 |
| Creepoid Greataxe | 20 | 0 | -3.24 | 1080 | 13 |
| Crystal Greatblade | 23 | 0 | -3.24 | 1480 | 13 |
| Erebon Scythe | 20 | 0 | -3 | 1750 | 13 |
| God's Greatblade | 30.5 | 0 | -3.24 | 2000 | 13 |
| Goofy Greatblade | 23 | 0 | -3.24 | 1300 | 13 |
| Haunted Greatblade | 27 | 0 | -3.24 | 1875 | 13 |
| Knight's Guard | 27.5 | 0 | -3.24 | 2050 | 13 |
| Lelyetian Ranseur | 19.5 | 0 | -3.24 | 1100 | 13 |
| Lunar Greatblade | 13.5 | 0 | -3.24 | 1850 | 13 |
| Luxon Scythe | 18.5 | 0 | -2.8 | 1750 | 13 |
| Lyonic Bardiche | 20 | 0 | -3.1 | 1420 | 13 |
| Millennium Greatblade | 14.25 | 0 | -3.24 | 2050 | 13 |
| Noxious Partizan | 24 | 0 | -3.24 | 1580 | 13 |
| Pluton Scythe | 20 | 0 | -3 | 1750 | 13 |
| Primordial Glaive | 26.5 | 0 | -3.24 | 1900 | 13 |
| Rosidian Greatblade | 23.5 | 0 | -3.24 | 1470 | 13 |
| Royal Greatblade | 20 | 0 | -3.24 | 1130 | 13 |
| Runic Greatblade | 25.5 | 0 | -3.24 | 1800 | 13 |
| Selyan Scythe | 20 | 0 | -3 | 1750 | 13 |
| Shroomic Bardiche | 22.5 | 0 | -3.24 | 1300 | 13 |
| Shyre Sword | 27 | 0 | -3.24 | 2000 | 13 |
| Subterranean Greatblade | 22.5 | 0 | -3.24 | 1160 | 13 |
| Tidal Greatblade | 25 | 0 | -3.24 | 1750 | 13 |
| Underworld Glaive | 19.5 | 0 | -3.24 | 1050 | 13 |
Maul family
| Weapon | Tier damage input | Extra damage argument | Speed argument | Durability | Enchantability |
|---|---|---|---|---|---|
| Coralstone Maul | 26.5 | -3.46667 | 0 | 1600 | 8 |
| Crystal Maul | 23.5 | -3.46667 | 0 | 1400 | 8 |
| Electron Maul | 25 | -3.46667 | 0 | 1500 | 8 |
| Horizon Maul | 23 | -3.46667 | 0 | 1300 | 8 |
| Vulcammer Maul | 28 | -3.46667 | 0 | 1750 | 8 |
Eight normal repair-tag references
Sixty selected tiers supply an empty normal repair ingredient. That does not mean every repair mechanism is impossible: custom recipes, the Mending Table, enchantments or integrations need their own checks.
| Weapon | Released tag reference | Member declared by this archive |
|---|---|---|
| Baron Sword | #c:ingots/baronyte |
aoa3:baronyte_ingot |
| Bloodstone Sword | #c:gems/bloodstone |
aoa3:bloodstone |
| Crystallite Sword | #c:gems/crystallite |
aoa3:crystallite |
| Emberstone Sword | #c:ingots/emberstone |
aoa3:emberstone_ingot |
| Jade Sword | #c:gems/jade |
aoa3:jade |
| Light's Way | #c:ingots/shyrestone |
aoa3:shyrestone_ingot |
| Limonite Sword | #c:ingots/limonite |
aoa3:limonite_ingot |
| Skeletal Sword | #c:ingots/skeletal |
aoa3:skeletal_ingot |
Tag membership is not frozen by this table. The evidence records the released tag initializer, namespace helper and resource JSON; active datapacks can extend or replace those definitions.
Maintainer regression target: Maul overload argument order
All five selected Maul factories call the two-argument baseProperties(tier, knockback) overload. The released forwarding chain supplies nominal Maul speed approximately -3.46667 and a zero damage-modifier input, then a later overload forwards argument positions into createAttributes differently. The resulting selected call receives extra damage argument approximately -3.46667 and speed argument 0, with the registered knockback and reach input 0.5 retained.
This is a concrete static call trace, not an in-game reproduction or an applied fix. Test each maul’s equipped damage/speed/knockback/reach, attack cadence and shield behavior in the exact target build. If correcting the overload chain, keep its signature and argument meaning consistent throughout and preserve unrelated special effects. Do not replace the values with intended-looking numbers in documentation before the code and tests establish them.
Maintainer regression target: Pluton Scythe’s helper overload
The selected registration requests the one-argument PlutonScythe.baseProperties(tier) signature. Method resolution finds the inherited AoAGreatblade implementation, whose own forwarding calls remain in the Greatblade helper chain. The separate two-argument Pluton Scythe helper that adds a Luck modifier is not reached by this inspected factory path.
Do not claim the two-argument helper’s Luck addition merely because that method exists. Confirm the intended default attributes and test the registered item, its special melee effect and any modified-stack path. Other systems may supply Luck independently; this finding does not claim a player can never have it.
Acceptance checklist
- Check all 68 exact registered IDs, family classification and relevant repair tags.
- Compare tier inputs, property-helper arguments and actual main-hand attributes separately.
- Test tool-tier reuse and explicit speed overrides without normalizing away positive values.
- Test Maul overload routing, special knockback behavior and reach.
- Test Pluton Scythe’s registered default construction separately from directly calling its alternate helper.
- Test normal repairs, custom repairs, enchantments, damage state, multiplayer and modified components.
Released registration/property traces, helper method bytes and repair-tag resources · Source-model illustration provenance.
Archive: AoA3-1.21.1-3.7.16.1.jar. The restricted expression reader does not execute Java or resolve a live registry. Existing 420-field extraction remained byte-identical after adding the symbolic primitive-load support needed for these helpers. AoA models and mechanics are credited to Tslat and contributors. No private Enderloom runtime fix is claimed.