[SPIGOT-7771] Material.getDefaultAttributes always returns an empty map since MC 1.20.6 Created: 16/Jun/24  Updated: 25/Dec/24  Resolved: 17/Jun/24

Status: Resolved
Project: Spigot
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Minor
Reporter: Tim van de Klundert Assignee: Unassigned
Resolution: Fixed Votes: 0
Labels: attribute, bug, spigot
Environment:

Windows 10

Java 21


Attachments: File attributes.jar    
Version: CraftBukkit version 4217-Spigot-146439e-68603b1 (MC: 1.21)
Guidelines Read: Yes

 Description   

The getDefaultAttributeModifiers method of the Material enum always returns an empty map on MC 1.21 (and on MC 1.20.6), but I would expect it to return a non-empty map for materials such as iron swords.

I created a dummy plug-in that has the following code in its onEnable method:

System.out.println("default attributes of iron sword are " + Material.IRON_SWORD.getDefaultAttributeModifiers(EquipmentSlot.HAND)); 

On MC 1.21 and MC 1.20.6, the plug-in prints:

default attributes of iron sword are {} 

which I believe is wrong. On MC 1.20.4, it prints this instead:

default attributes of iron sword are {GENERIC_ATTACK_DAMAGE=[AttributeModifier{uuid=cb3f55d3-645c-4f38-a497-9c13a33db5cf, name=Weapon modifier, operation=ADD_NUMBER, amount=5.0, slot=HAND}], GENERIC_ATTACK_SPEED=[AttributeModifier{uuid=fa233e1c-4180-4865-b01b-bcce9785aca3, name=Weapon modifier, operation=ADD_NUMBER, amount=-2.4000000953674316, slot=HAND}]} 

which I believe is the desired behavior. Running the plug-in (but compiled for Java 17) on MC 1.18.2 and 1.19.4 also gives this correct behavior.

 

Note 1: this bug happens on more materials than just iron swords. The iron sword is simply the example that I chose.

Note 2: I guess Major is the right priority because it breaks functionality, doesn't cause crashes, and has no work-around. The only work-around that I know relies on NMS and only works in MC 1.20.4 and earlier...


Generated at Sat Dec 13 20:46:55 UTC 2025 using Jira 10.3.13#10030013-sha1:56dd970ae30ebfeda3a697d25be1f6388b68a422.