Compatibility
Minecraft: Java Edition
Platforms
Tags
Creators
Details
ZaKoStrengthen (Equipment Enhancement Plugin)
A Paper 1.21.10 plugin: Enhance equipment via a custom GUI, adding extra attribute bonuses to weapons/armor/shields. Supports 3-tier failure penalties, protection scrolls, mineral/mystery potions to boost success rate, and chest/fishing item acquisition.
I. Gameplay Overview
| Phase | Description |
|---|---|
| Obtain Enhancement Core | Chest loot (5%) or admin /sh core |
| Open Enhancement Interface | Right-click while holding Enhancement Core to open 45-slot GUI |
| Insert Materials | Enhancement Template in left slot, equipment to enhance in right slot |
| Execute Enhancement | Click green concrete to execute; success/failure based on level probability |
| Failure Penalty | Levels 1-10: no penalty / Levels 11-20: level down / Levels 21+: destroy (protection scroll auto-activates) |
| Boost Success Rate | Consume Mineral Potion (crafting table) or Mystery Potion for stacking bonuses |
II. Core Mechanics
1. Enhancement Stages & Failure Penalties
| Stage | Level Range | Failure Penalty | Protection |
|---|---|---|---|
| Safe Zone | 1 ~ 10 | None | Not needed |
| Level Down Zone | 11 ~ 20 | Enhancement level -1 | Level Protection Scroll (auto-consumed from inventory) |
| Destroy Zone | 21 ~ 100 | Equipment destroyed | Destroy Protection Scroll (auto-consumed from inventory) |
- Each enhancement consumes 1 Enhancement Template.
- Success rate is read from
level-success-rateconfig, using the largest configured value <= current level. - Mineral Potion and Mystery Potion bonuses are directly added as percentages to the base success rate (stackable).
2. Attribute Bonus System (Stacking)
Enhancement appends additional Minecraft attribute modifiers to equipment, without overwriting original attributes (vanilla default attributes + existing custom attributes + enhancement attributes merged together).
Each equipment type can have multiple attributes configured, each with an independent base-value (per-level bonus) and slot (active slot).
Final Bonus Formula: Bonus = base-value × Enhancement Level
Example: Diamond Sword enhanced to +20, config generic.attack_damage base-value=0.5:
Bonus = 0.5 × 20 = +10 Attack Damage
3. Enhancement GUI Layout (45 Slots)
Row 0: [Gray Glass] [Gray Glass] [Gray Glass] [Gray Glass] [Gray Glass] [Gray Glass] [Gray Glass] [Gray Glass] [Gray Glass]
Row 1: [Gray Glass] [Template Label] [Template Slot] [Gray Glass] [Gray Glass] [Equipment Label] [Equipment Slot] [Gray Glass] [Gray Glass]
Row 2: [Gray Glass] [Gray Glass] [Gray Glass] [Gray Glass] [Gray Glass] [Gray Glass] [Gray Glass] [Gray Glass] [Gray Glass]
Row 3: [Gray Glass] [Gray Glass] [Confirm] [Gray Glass] [Status Indicator] [Gray Glass] [Cancel/Close] [Gray Glass] [Gray Glass]
Row 4: [Gray Glass] [Gray Glass] [Gray Glass] [Gray Glass] [Gray Glass] [Gray Glass] [Gray Glass] [Gray Glass] [Gray Glass]
- Clicking non-interactive slots will be cancelled. Player inventory (>=45 slots) is unrestricted and items can be freely taken.
4. Potion System
Mineral Potions (Crafting Table):
| Potion | Material | Bonus |
|---|---|---|
| Iron Ore Potion | Raw Iron + Awkward Potion + Gunpowder | +3% |
| Gold Ore Potion | Raw Gold + Awkward Potion + Gunpowder | +5% |
| Copper Ore Potion | Raw Copper + Awkward Potion + Gunpowder | +2% |
| Diamond Potion | Diamond + Awkward Potion + Gunpowder | +15% |
| Netherite Potion | Netherite Ingot + Awkward Potion + Gunpowder | +20% |
| Emerald Potion | Emerald + Awkward Potion + Gunpowder | +10% |
| Lapis Potion | Lapis Lazuli + Awkward Potion + Gunpowder | +3% |
| Redstone Potion | Redstone + Awkward Potion + Gunpowder | +2% |
| Coal Potion | Coal + Awkward Potion + Gunpowder | +1% |
| Amethyst Potion | Amethyst Shard + Awkward Potion + Gunpowder | +6% |
Crafting Layout (3x3 Crafting Table):
[Empty] [Mineral] [Empty]
[Empty] [Awkward Potion] [Empty]
[Empty] [Gunpowder] [Empty]
Mystery Potion: +25%, stackable with Mineral Potions, cannot stack with itself.
5. Chest Loot
When opening normal chests/trapped chests/barrels/shulker boxes, items are automatically inserted based on probability:
| Item | Probability |
|---|---|
| Enhancement Core | 5% |
| Level Protection Scroll | 4% |
| Destroy Protection Scroll | 3% |
Each chest block is evaluated only once; all items are independently evaluated (a single chest can yield multiple items).
6. Fishing Acquisition
Fishing has an 8% chance to replace the caught item with an Enhancement Template.
III. Items
| Item | Acquisition | Purpose |
|---|---|---|
| Enhancement Core | Chest (5%) / /sh core |
Right-click while holding to open enhancement interface |
| Enhancement Template | Fishing (8%) / /sh template |
Enhancement consumable, 1 consumed per enhancement |
| Level Protection Scroll | Chest (4%) / /sh scroll level |
Auto-consumed on failure at levels 11-20, prevents level down |
| Destroy Protection Scroll | Chest (3%) / /sh scroll destroy |
Auto-consumed on failure at levels 21+, prevents destruction |
| Mystery Potion | /sh potion |
Drinking grants +25% success rate for 30 seconds |
| Mineral Potion | Crafting Table (see table above) | Drinking grants corresponding mineral success rate bonus for 30 seconds |
IV. Commands
| Command | Permission | Description |
|---|---|---|
/sh core |
zakostrengthen.give | Give Enhancement Core |
/sh template |
zakostrengthen.give | Give Enhancement Template |
/sh scroll level [amount] |
zakostrengthen.give | Give Level Protection Scroll |
/sh scroll destroy [amount] |
zakostrengthen.give | Give Destroy Protection Scroll |
/sh potion |
zakostrengthen.give | Give Mystery Potion |
/sh give <player> <core|template|level scroll|destroy scroll|potion> [amount] |
zakostrengthen.give | Give item to specified player |
/sh setlevel <level> |
zakostrengthen.admin | Set enhancement level of held equipment |
/sh info |
zakostrengthen.admin | View enhancement info of held equipment |
/sh reload |
zakostrengthen.admin | Reload configuration file |
/strengthenreload |
zakostrengthen.admin | Reload configuration file (alias) |
V. Configuration File Parameters (config.yml)
Message Text
messages:
prefix: "&8[&6Strengthen System&8] &r"
success: "&aEnhancement successful! Current level: &e%level%"
fail-safe: "&cEnhancement failed, but your equipment was not affected."
fail-level-down: "&cEnhancement failed! Equipment level dropped to &e%level%"
fail-destroy: "&cEnhancement failed! Equipment has been destroyed!"
protect-level: "&eLevel Protection Scroll activated, equipment level preserved."
protect-destroy: "&eDestroy Protection Scroll activated, equipment preserved. Scroll consumed."
potion-active: "&aMystery Potion effect activated, success rate +%bonus%%"
invalid-slot: "&cThis equipment cannot be enhanced!"
max-level: "&cThis equipment has reached the maximum enhancement level!"
give-received: "&aYou received %item%"
set-level-success: "&aSet %item% enhancement level to &e%level%"
reload-success: "&aConfiguration reloaded!"
no-permission: "&cYou do not have permission to perform this action."
Placeholders: %level% = Enhancement Level / %item% = Item Name / %bonus% = Bonus Percentage
Success Rate & Stages
level-success-rate:
1: 100.0 # Level 1 success rate 100%
10: 91.0 # Level 10 success rate 91%
20: 70.0 # Level 20 success rate 70%
25: 55.0 # Level 25 success rate 55%
50: 11.0 # Level 50 success rate 11%
100: 0.3 # Level 100 success rate 0.3%
# Format: level: percentage, uses largest configured value <= current level
max-level: 100
stages:
stage1-max: 10 # Levels 1-10: no failure penalty
stage2-max: 20 # Levels 11-20: failure causes level down
stage3-max: 100 # Levels 21+: failure causes destruction
Enhanceable Equipment Types
Three config sections (equipment-types / intensify-attributes / slot-config) must use identical type names. Default provides 3 types, extendable as needed.
Default Type Names:
| Type Name | Purpose | Default Slot | Example Items |
|---|---|---|---|
weapon |
Weapons | HAND |
Sword, Axe, Hoe, Bow, Crossbow, Trident, Mace |
armor |
Armor | ANY |
Helmet, Chestplate, Leggings, Boots, Elytra |
shield |
Shields | OFF_HAND |
Shield |
Custom Type Example (e.g., distinguishing bows from melee weapons):
equipment-types:
weapon:
- "minecraft:netherite_sword"
- "minecraft:diamond_sword"
bow:
- "minecraft:bow"
- "minecraft:crossbow"
tool:
- "minecraft:netherite_pickaxe"
- "minecraft:diamond_pickaxe"
intensify-attributes:
weapon:
- attribute: "generic.attack_damage"
base-value: 0.5
slot: "HAND"
bow:
- attribute: "generic.attack_damage"
base-value: 0.3
slot: "HAND"
tool:
- attribute: "generic.mining_efficiency"
base-value: 0.5
slot: "HAND"
slot-config:
weapon: "HAND"
bow: "HAND"
tool: "HAND"
The type names across all three sections must be identical, otherwise that type's attribute bonuses and slot config will not take effect.
Custom Attribute Bonuses (Core Config)
intensify-attributes:
weapon:
- attribute: "generic.attack_damage" # Attribute ID
base-value: 0.5 # Per-level bonus value
slot: "HAND" # Active slot
- attribute: "generic.attack_speed"
base-value: 0.1
slot: "HAND"
armor:
- attribute: "generic.armor"
base-value: 0.3
slot: "ANY" # Applies to helmet/chestplate/leggings/boots
- attribute: "generic.armor_toughness"
base-value: 0.15
slot: "ANY"
shield:
- attribute: "generic.max_health"
base-value: 0.2
slot: "OFF_HAND"
- attribute: "player.reach"
base-value: 0.05
slot: "OFF_HAND"
Field Descriptions:
| Field | Description |
|---|---|
attribute |
Minecraft Attribute ID (see table below) |
base-value |
Value added per enhancement level (Final Bonus = base-value × level) |
slot |
Which equipment slot this attribute applies to (see table below, optional; falls back to slot-config if omitted) |
Common Attribute IDs:
| Attribute ID | Description | Applicable Types |
|---|---|---|
generic.attack_damage |
Attack Damage | weapon |
generic.attack_speed |
Attack Speed | weapon |
generic.attack_knockback |
Attack Knockback | weapon |
generic.armor |
Armor | armor |
generic.armor_toughness |
Armor Toughness | armor |
generic.max_health |
Max Health | shield/armor |
generic.max_absorption |
Max Absorption Health | armor |
generic.knockback_resistance |
Knockback Resistance | armor |
generic.explosion_knockback_resistance |
Explosion Knockback Resistance | armor |
generic.movement_speed |
Movement Speed | armor |
generic.movement_efficiency |
Movement Efficiency | armor |
generic.flying_speed |
Flying Speed | armor |
generic.follow_range |
Follow Range | weapon |
generic.luck |
Luck | armor |
generic.scale |
Entity Scale | armor |
generic.step_height |
Step Height | armor |
generic.fall_damage_multiplier |
Fall Damage Multiplier | armor |
generic.safe_fall_distance |
Safe Fall Distance | armor |
generic.burning_time |
Burning Time Multiplier | armor |
generic.camera_distance |
Camera Distance | armor |
generic.block_break_speed |
Block Break Speed | weapon |
generic.block_interaction_range |
Block Interaction Range | weapon |
generic.entity_interaction_range |
Entity Interaction Range | weapon/shield |
generic.mining_efficiency |
Mining Efficiency | weapon |
generic.sneaking_speed |
Sneaking Speed | armor |
generic.submerged_mining_speed |
Submerged Mining Speed | weapon |
generic.sweeping_damage_ratio |
Sweeping Damage Ratio | weapon |
generic.spawn_reinforcements |
Spawn Reinforcements Chance | armor |
generic.oxygen_bonus |
Oxygen Bonus | armor |
generic.water_movement_efficiency |
Water Movement Efficiency | armor |
generic.tempt_range |
Tempt Range | armor |
generic.jump_strength |
Jump Strength | weapon |
generic.waypoint_transmit_range |
Waypoint Transmit Range | armor |
generic.waypoint_receive_range |
Waypoint Receive Range | armor |
player.reach |
Reach (= entity_interaction_range) | weapon/shield |
Slot Options:
| Slot | Description |
|---|---|
HAND |
Main Hand |
OFF_HAND |
Off Hand |
HEAD |
Helmet |
CHEST |
Chestplate |
LEGS |
Leggings |
FEET |
Boots |
ANY |
All Equipment Slots (helmet/chestplate/leggings/boots/main hand/off hand) |
When the
slotfield is omitted in attribute config, it automatically falls back to the default slot inslot-configfor that type. For armor types, setslot: "ANY"to make bonuses apply across all armor pieces.
Potions & Loot
mineral-potion-bonus:
iron: 3.0 # Success rate bonus for each mineral potion
diamond: 15.0
netherite: 20.0
# ...
mineral-potion:
duration: 30 # Mineral potion duration in seconds
mystery-potion:
bonus-rate: 25.0 # Mystery potion bonus
template-drop:
fishing-chance: 0.08 # Chance to obtain Enhancement Template from fishing
chest-loot:
enabled: true
strengthen-core: 0.05
level-protect-scroll: 0.04
destroy-protect-scroll: 0.03
Custom Item Appearance
custom-items:
strengthen-core:
material: "nether_star" # Item material
name: "&6Enhancement Core" # Display name (supports & color codes)
lore: # Item description
- "&7Right-click to open enhancement interface"
custom-model-data: 10000 # Custom model data (for resource pack)
# ...other items follow the same format
Item identification relies on internal PDC tags; material/name/lore can be freely modified without affecting functionality.
Mineral Potion Crafting Recipes
mineral-potion-recipes:
iron:
mineral: "RAW_IRON" # Crafting material (material ID)
name: "&7Iron Ore Potion"
lore:
- "&7Drink to gain"
- "&7enhancement success rate &a+3%"
bonus-rate: 3.0 # Must match mineral-potion-bonus
custom-model-data: 10010
# ...other minerals follow the same format
config.ymlis only auto-generated on plugin first run. After modification, use/sh reloadfor hot-reload; if the server already has an older config version, manually add new parameters or delete the file to regenerate.
VI. Technical Notes (Admin Reference)
- Supports Paper 1.21.10 only (API 1.21), Java 21.
- Attribute merging implemented via NMS: reads
DataComponents.ATTRIBUTE_MODIFIERS(MC 1.21.10 stores default attribute values in this component), merges vanilla default attributes + player custom attributes + enhancement attributes, then writes back toItemMeta. - Enhancement modifiers use deterministic NamespacedKeys (
zakostrengthen:strengthen_<attribute>_<slot>), ensuring no identification loss during NMS round-trips. - All custom items identified via PDC (
PersistentDataContainer) tags, not dependent on item name or lore comparison. - Potion effects use PDC tags to prevent same-type stacking; effects auto-remove upon expiration.
- Chest loot uses TileState PDC tags to prevent duplicate evaluation; each chest block triggers only once.
ZaKoStrengthen (装备强化插件)
一款 Paper 1.21.10 插件:通过自定义 GUI 界面强化装备,为武器/盔甲/盾牌添加额外属性加成。支持 3 阶段失败惩罚、保护卷轴、矿物药水/神秘药水提升成功率,以及宝箱/钓鱼获取道具。
一、玩法总览
| 阶段 | 说明 |
|---|---|
| 获取强化核心 | 宝箱战利品(5%)或管理员 /sh core 发放 |
| 打开强化界面 | 手持强化核心右键打开 45 格 GUI |
| 放入材料 | 左侧放强化模板,右侧放要强化的装备 |
| 执行强化 | 点击绿色混凝土执行,根据等级按概率成功/失败 |
| 失败惩罚 | 1-10 级无惩罚 / 11-20 级掉级 / 21 级+销毁(保护卷自动生效) |
| 提升成功率 | 饮用矿物药水(工作台合成)或神秘药水叠加加成 |
二、核心机制说明
1. 强化阶段与失败惩罚
| 阶段 | 等级范围 | 失败惩罚 | 保护方式 |
|---|---|---|---|
| 安全区 | 1 ~ 10 | 无 | 不需要 |
| 掉级区 | 11 ~ 20 | 强化等级 -1 | 掉级保护卷(背包中自动消耗) |
| 销毁区 | 21 ~ 100 | 装备直接销毁 | 强化保护卷(背包中自动消耗) |
- 每次强化消耗 1 个强化模板。
- 成功率从
level-success-rate配置读取,取 <= 当前等级的最大已配置值。 - 矿物药水和神秘药水的加成在基础成功率上直接加百分比(可叠加)。
2. 属性加成系统(叠加式)
强化为装备追加额外的 Minecraft 属性修饰符,不会覆盖装备原有属性(原版默认属性 + 已有自定义属性 + 强化属性三层合并)。
每个装备类型可配置多个属性,每个属性有独立的 base-value(每级加成)和 slot(生效槽位)。
最终加成公式:加成值 = base-value × 强化等级
示例:钻石剑强化到 +20,配置 generic.attack_damage base-value=0.5:
加成 = 0.5 × 20 = +10 攻击伤害
3. 强化 GUI 布局(45 格)
第0行: [灰玻璃] [灰玻璃] [灰玻璃] [灰玻璃] [灰玻璃] [灰玻璃] [灰玻璃] [灰玻璃] [灰玻璃]
第1行: [灰玻璃] [强化模板标签] [模板槽位] [灰玻璃] [灰玻璃] [装备标签] [装备槽位] [灰玻璃] [灰玻璃]
第2行: [灰玻璃] [灰玻璃] [灰玻璃] [灰玻璃] [灰玻璃] [灰玻璃] [灰玻璃] [灰玻璃] [灰玻璃]
第3行: [灰玻璃] [灰玻璃] [确认执行] [灰玻璃] [状态指示] [灰玻璃] [取消关闭] [灰玻璃] [灰玻璃]
第4行: [灰玻璃] [灰玻璃] [灰玻璃] [灰玻璃] [灰玻璃] [灰玻璃] [灰玻璃] [灰玻璃] [灰玻璃]
- 点击非交互槽位会被取消,玩家背包(>=45 格)不受限制,可自由拿取物品。
4. 药水系统
矿物药水(工作台合成):
| 药水 | 材料 | 加成 |
|---|---|---|
| 铁矿药水 | 粗铁 + 粗制药水 + 火药 | +3% |
| 金矿药水 | 粗金 + 粗制药水 + 火药 | +5% |
| 铜矿药水 | 粗铜 + 粗制药水 + 火药 | +2% |
| 钻石药水 | 钻石 + 粗制药水 + 火药 | +15% |
| 下界合金药水 | 下界合金锭 + 粗制药水 + 火药 | +20% |
| 绿宝石药水 | 绿宝石 + 粗制药水 + 火药 | +10% |
| 青金石药水 | 青金石 + 粗制药水 + 火药 | +3% |
| 红石药水 | 红石 + 粗制药水 + 火药 | +2% |
| 煤炭药水 | 煤炭 + 粗制药水 + 火药 | +1% |
| 紫水晶药水 | 紫水晶碎片 + 粗制药水 + 火药 | +6% |
合成摆放(工作台 3x3):
[空] [矿物] [空]
[空] [粗制药水] [空]
[空] [火药] [空]
神秘药水:+25%,可与矿物药水叠加,不可与自身叠加。
5. 宝箱战利品
打开普通箱子/陷阱箱/木桶/潜影盒时,按概率自动放入物品:
| 物品 | 概率 |
|---|---|
| 强化核心 | 5% |
| 掉级保护卷 | 4% |
| 强化保护卷 | 3% |
每个箱子方块只判定一次,所有物品独立判定(一个箱子可同时开出多个)。
6. 钓鱼获取
钓鱼时有 8% 概率将钓到的物品替换为强化模板。
三、物品道具
| 物品 | 获取方式 | 用途 |
|---|---|---|
| 强化核心 | 宝箱 (5%) / /sh core |
手持右键打开强化界面 |
| 强化模板 | 钓鱼 (8%) / /sh template |
强化消耗品,每次强化消耗 1 个 |
| 掉级保护卷 | 宝箱 (4%) / /sh scroll level |
11-20 级失败时自动消耗,保护不掉级 |
| 强化保护卷 | 宝箱 (3%) / /sh scroll destroy |
21 级+失败时自动消耗,保护不销毁 |
| 神秘药水 | /sh potion |
饮用后成功率 +25%,持续 30 秒 |
| 矿物药水 | 工作台合成(见上表) | 饮用后对应矿物的成功率加成,持续 30 秒 |
四、命令
| 命令 | 权限 | 说明 |
|---|---|---|
/sh core |
zakostrengthen.give | 获得强化核心 |
/sh template |
zakostrengthen.give | 获得强化模板 |
/sh scroll level [数量] |
zakostrengthen.give | 获得掉级保护卷 |
/sh scroll destroy [数量] |
zakostrengthen.give | 获得强化保护卷 |
/sh potion |
zakostrengthen.give | 获得神秘药水 |
/sh give <玩家> <核心|模板|掉级卷|销毁卷|药水> [数量] |
zakostrengthen.give | 给予指定玩家物品 |
/sh setlevel <等级> |
zakostrengthen.admin | 设置手持装备的强化等级 |
/sh info |
zakostrengthen.admin | 查看手持装备的强化信息 |
/sh reload |
zakostrengthen.admin | 重载配置文件 |
/strengthenreload |
zakostrengthen.admin | 重载配置文件(别名) |
五、配置文件参数(config.yml)
消息文本
messages:
prefix: "&8[&6强化系统&8] &r" # 消息前缀
success: "&a强化成功!当前强化等级: &e%level%"
fail-safe: "&c强化失败,但你的装备没有受到任何影响。"
fail-level-down: "&c强化失败!装备强化等级下降至 &e%level%"
fail-destroy: "&c强化失败!装备已被销毁!"
protect-level: "&e掉级保护卷生效,装备未掉级。"
protect-destroy: "&e强化保护卷生效,装备未被销毁,保护卷已消耗。"
potion-active: "&a神秘药水效果已激活,成功率 +%bonus%%"
invalid-slot: "&c该装备无法进行强化!"
max-level: "&c该装备已达到最大强化等级!"
give-received: "&a你获得了 %item%"
set-level-success: "&a已将 %item% 强化等级设置为 &e%level%"
reload-success: "&a配置已重载!"
no-permission: "&c你没有权限执行此操作。"
占位符:%level% = 强化等级 / %item% = 物品名 / %bonus% = 加成百分比
成功率与阶段
level-success-rate:
1: 100.0 # 1级成功率 100%
10: 91.0 # 10级成功率 91%
20: 70.0 # 20级成功率 70%
25: 55.0 # 25级成功率 55%
50: 11.0 # 50级成功率 11%
100: 0.3 # 100级成功率 0.3%
# 格式: 等级: 百分比,取 <= 当前等级的最大已配置值
max-level: 100
stages:
stage1-max: 10 # 1-10级 失败无惩罚
stage2-max: 20 # 11-20级 失败掉级
stage3-max: 100 # 21级+ 失败销毁
可强化装备类型
三个配置节(equipment-types / intensify-attributes / slot-config)必须使用相同的类型名。默认提供 3 种类型,可自行扩展。
默认类型名:
| 类型名 | 用途 | 默认槽位 | 示例物品 |
|---|---|---|---|
weapon |
武器 | HAND |
剑、斧、锄、弓、弩、三叉戟、锤 |
armor |
护甲 | ANY |
头盔、胸甲、护腿、靴子、鞘翅 |
shield |
盾牌 | OFF_HAND |
盾牌 |
自定义类型示例(如需区分弓和近战武器):
equipment-types:
weapon:
- "minecraft:netherite_sword"
- "minecraft:diamond_sword"
bow:
- "minecraft:bow"
- "minecraft:crossbow"
tool:
- "minecraft:netherite_pickaxe"
- "minecraft:diamond_pickaxe"
intensify-attributes:
weapon:
- attribute: "generic.attack_damage"
base-value: 0.5
slot: "HAND"
bow:
- attribute: "generic.attack_damage"
base-value: 0.3
slot: "HAND"
tool:
- attribute: "generic.mining_efficiency"
base-value: 0.5
slot: "HAND"
slot-config:
weapon: "HAND"
bow: "HAND"
tool: "HAND"
三个节的类型名必须完全一致,否则该类型的属性加成和槽位配置不会生效。
自定义属性加成(核心配置)
intensify-attributes:
weapon:
- attribute: "generic.attack_damage" # 属性ID
base-value: 0.5 # 每级加成值
slot: "HAND" # 生效槽位
- attribute: "generic.attack_speed"
base-value: 0.1
slot: "HAND"
armor:
- attribute: "generic.armor"
base-value: 0.3
slot: "ANY" # 头盔/胸甲/护腿/靴子都生效
- attribute: "generic.armor_toughness"
base-value: 0.15
slot: "ANY"
shield:
- attribute: "generic.max_health"
base-value: 0.2
slot: "OFF_HAND"
- attribute: "player.reach"
base-value: 0.05
slot: "OFF_HAND"
字段说明:
| 字段 | 含义 |
|---|---|
attribute |
Minecraft 属性 ID(见下表) |
base-value |
每强化 1 级增加的数值(最终加成 = base-value × 等级) |
slot |
该属性在哪个装备槽生效(见下表,可选,省略时回退到 slot-config) |
常用属性 ID:
| 属性 ID | 说明 | 适用类型 |
|---|---|---|
generic.attack_damage |
攻击伤害 | weapon |
generic.attack_speed |
攻击速度 | weapon |
generic.attack_knockback |
攻击击退 | weapon |
generic.armor |
护甲值 | armor |
generic.armor_toughness |
盔甲韧性 | armor |
generic.max_health |
最大生命值 | shield/armor |
generic.max_absorption |
最大吸收生命 | armor |
generic.knockback_resistance |
击退抗性 | armor |
generic.explosion_knockback_resistance |
爆炸击退抗性 | armor |
generic.movement_speed |
移动速度 | armor |
generic.movement_efficiency |
移动效率 | armor |
generic.flying_speed |
飞行速度 | armor |
generic.follow_range |
追踪距离 | weapon |
generic.luck |
幸运值 | armor |
generic.scale |
实体缩放 | armor |
generic.step_height |
跨台阶高度 | armor |
generic.fall_damage_multiplier |
摔落伤害倍率 | armor |
generic.safe_fall_distance |
安全摔落距离 | armor |
generic.burning_time |
燃烧时间倍率 | armor |
generic.camera_distance |
相机距离 | armor |
generic.block_break_speed |
方块破坏速度 | weapon |
generic.block_interaction_range |
方块交互距离 | weapon |
generic.entity_interaction_range |
实体交互距离 | weapon/shield |
generic.mining_efficiency |
挖掘效率 | weapon |
generic.sneaking_speed |
潜行速度 | armor |
generic.submerged_mining_speed |
水下挖掘速度 | weapon |
generic.sweeping_damage_ratio |
横扫伤害比例 | weapon |
generic.spawn_reinforcements |
刷新增援概率 | armor |
generic.oxygen_bonus |
氧气加成 | armor |
generic.water_movement_efficiency |
水中移动效率 | armor |
generic.tempt_range |
诱惑距离 | armor |
generic.jump_strength |
跳跃强度 | weapon |
generic.waypoint_transmit_range |
路标传输距离 | armor |
generic.waypoint_receive_range |
路标接收距离 | armor |
player.reach |
触达距离(= entity_interaction_range) | weapon/shield |
槽位可选值:
| 槽位 | 说明 |
|---|---|
HAND |
主手 |
OFF_HAND |
副手 |
HEAD |
头盔 |
CHEST |
胸甲 |
LEGS |
护腿 |
FEET |
靴子 |
ANY |
所有装备槽位(头盔/胸甲/护腿/靴子/主手/副手都生效) |
属性配置中省略
slot字段时,自动回退到slot-config中该类型的默认槽位。盔甲类建议设为slot: "ANY"使加成覆盖所有护甲部位。
药水与战利品
mineral-potion-bonus:
iron: 3.0 # 各矿物药水的成功率加成
diamond: 15.0
netherite: 20.0
# ...
mineral-potion:
duration: 30 # 矿物药水持续秒数
mystery-potion:
bonus-rate: 25.0 # 神秘药水加成
template-drop:
fishing-chance: 0.08 # 钓鱼获得强化模板概率
chest-loot:
enabled: true
strengthen-core: 0.05
level-protect-scroll: 0.04
destroy-protect-scroll: 0.03
自定义物品外观
custom-items:
strengthen-core:
material: "nether_star" # 物品材质
name: "&6强化核心" # 显示名称(支持 & 颜色)
lore: # 物品描述
- "&7右键打开强化界面"
custom-model-data: 10000 # 自定义模型数据(配合资源包)
# ...其他物品同理
物品识别靠内部 PDC 标记,material/name/lore 可自由修改不影响功能。
矿物药水合成配方
mineral-potion-recipes:
iron:
mineral: "RAW_IRON" # 合成材料(材质ID)
name: "&7铁矿药水"
lore:
- "&7饮用后30秒内"
- "&7强化成功率 &a+3%"
bonus-rate: 3.0 # 需与 mineral-potion-bonus 一致
custom-model-data: 10010
# ...其他矿物同理
config.yml仅在插件首次运行时自动生成。修改后用/sh reload热重载;若服务端已存在旧版配置,需手动添加新参数或删除该文件重新生成。
六、技术说明(管理员参考)
- 仅支持 Paper 1.21.10(API 1.21),Java 21。
- 属性合并通过 NMS 实现:读取
DataComponents.ATTRIBUTE_MODIFIERS(MC 1.21.10 属性默认值存储在该组件中),合并原版默认属性 + 玩家自定义属性 + 强化属性,再写回ItemMeta。 - 强化修饰符使用确定性 NamespacedKey(
zakostrengthen:strengthen_<属性>_<槽位>),确保 NMS 往返不丢失识别。 - 所有自定义物品通过 PDC(
PersistentDataContainer)标记识别,不依赖物品名称或 lore 比对。 - 药水效果通过 PDC 标记防止同类叠加,过期自动移除。
- 宝箱战利品通过 TileState PDC 标记防止重复判定,每个箱子方块只触发一次。


