nms-attribute-modifierlisted
Install: claude install-skill MrPippi/MJP-Claude-Skills
# NMS Attribute Modifier / NMS 屬性修改器
## 技能名稱 / Skill Name
`nms-attribute-modifier`
## 目的 / Purpose
透過 NMS `AttributeMap`、`AttributeInstance`、`AttributeModifier` 精確控制實體屬性,支援加法、倍乘、基底值修改,實現 RPG 裝備加成、Buff/Debuff 系統。
## NMS 版本需求 / NMS Version Requirements
- Paper 1.21 – 1.21.3
- Paperweight userdev 1.7.2+
- Mojang mappings(已由 Paper 1.20.5+ 原生支援)
## 觸發條件 / Triggers
- 「attribute modifier」「屬性修改」「AttributeMap」「動態屬性」「entity attribute」
- 「MAX_HEALTH」「ATTACK_DAMAGE」「MOVEMENT_SPEED」「屬性加成」
- 「Buff Debuff」「nms attribute」「attribute instance」
## 輸入參數 / Inputs
| 參數 | 範例 | 說明 |
|------|------|------|
| `package_name` | `com.example.rpg` | 產出類別所在 package |
| `class_name` | `AttributeUtil` | 工具類名稱 |
## 輸出產物 / Outputs
- `AttributeUtil.java` — 屬性讀寫工具
- `ModifierBuilder.java` — AttributeModifier 建立器
## Paperweight 建置設定 / Build Setup
參見 `Skills/paper-nms/PLATFORM.md`。關鍵依賴:
```groovy
dependencies {
paperweight.paperDevBundle('1.21.1-R0.1-SNAPSHOT')
}
```
## 代碼範本 / Code Template
### `AttributeUtil.java`
```java
package com.example.rpg;
import net.minecraft.core.Holder;
import net.minecraft.world.entity.ai.attributes.Attribute;
import net.minecraft.world.entity.ai.attributes.AttributeInstance;
import net.minecraft.world.entity.ai.attributes.AttributeModifier;
import net.minecraft.world.entity.ai.attributes.Attributes;
import org.bukkit.craftbukkit.v1_21_R1.entity.CraftLivingEntity;
import org.bukkit.entity.LivingEntity;
import java.util.Optional;
@SuppressWarnings("UnstableApiUs