物品组件 - NyaaCat/RPGItems-reloaded GitHub Wiki
配置文件中有一个叫做 components 的部分, 代表的就是原版的物品组件. 因为通过命令编辑太过复杂,所以请直接在文件中编辑.
注意: 要在服务器运行的时候编辑文件, 你需要在 config.yml 中将 fs_lock 设置为 false
有关物品组件的更多信息见此
components:
axolotl/variant: blue
banner_patterns:
- color: black
pattern: base
- color: yellow
pattern: creeper
base_color: "white"
blocks_attacks:
block_delay_seconds: 0
block_sound: "entity.player.death"
bypassed_by: "#is_explosion"
damage_reductions:
- base: 1
factor: 1
horizontal_blocking_angle: 30
type: "#is_fall"
- base: 0.5
factor: 1
horizontal_blocking_angle: 90
type:
- "on_fire"
- "in_fire"
disable_cooldown_scale: 10
disable_sound: "entity.player.death"
item_damage:
base: 10
factor: 10
threshold: 10
break_sound: "entity.player.death"
bundle_contents:
- "rpgitem-id-1"
consumable:
animation: eat
consume_seconds: 1.6
has_consume_particles: true
on_consume_effects:
- type: "apply_effects"
probability: 0.8
effects:
- id: "speed"
amplifier: 1
duration: 100
- type: "apply_effects"
probability: 1
effects:
- id: "strength"
amplifier: 10
duration: 100
- type: "clear_all_effects"
can_place_on:
- grass_block
- stone
can_break:
- stone
cat/collar: red
cat/sound_variant: classic
cat/variant: tabby
charged_projectiles:
- "rpgitem-id-1"
- "rpgitem-id-2"
chicken/sound_variant: classic
chicken/variant: temperate
container:
- "rpgitem-id-1"
container_loot:
loot_table: "minecraft:chests/simple_dungeon"
seed: 0
cow/sound_variant: classic
cow/variant: temperate
damage_resistance: "in_fire"
damage_type: "in_fire"
death_protection:
death_effects:
- type: "apply_effects"
probability: 0.7
effects:
- id: "speed"
amplifier: 1
duration: 300
- type: "apply_effects"
probability: 0.5
effects:
- id: "regeneration"
amplifier: 2
duration: 400
- type: "clear_all_effects"
- type: "play_sound"
sound: "entity.player.burp"
- type: "remove_effects"
effects:
- "speed"
- "strength"
- type: "teleport_randomly"
diameter: 20.0
dye: white
dyed_color: "255,255,255"
enchantable: 5
enchantment_glint_override: true
equippable:
slot: chest
allowed_entities:
- player
asset_id: "grass_block"
camera_overlay: "example:example"
damage_on_hurt: true
equip_sound: "entity.player.death"
swappable: true
can_be_sheared: true
shearing_sound: minecraft:item.shears.snip
firework_explosion:
type: star
colors:
- "255,0,0"
fade_colors:
- "0,0,255"
trail: true
flicker: false
fireworks:
flight_duration: 2
explosions:
- type: star
colors:
- "255,0,0"
food:
can_always_eat: true
nutrition: 10
saturation: 10
fox/variant: red
frog/variant: temperate
glider: true
horse/variant: white
instrument:
description: "<red>test"
sound_event:
sound_id: "entity.player.death"
range: 5
range: 4
use_duration: 0.01
jukebox_playable: minecraft:pigstep
kinetic_weapon:
delay_ticks: 0
forward_movement: 0.0
damage_multiplier: 1.0
sound: minecraft:item.spear.use
hit_sound: minecraft:item.spear.hit
contact_cooldown_ticks: 10
llama/variant: creamy
lodestone_tracker:
tracked: false
target:
dimension: world
pos:
- 0.0
- 0.0
- 0.0
intangible_projectile: true
map_color: "255,0,0"
map_decorations:
home:
type: target_point
x: 12.5
z: -4.0
rotation: 45
map_id: 0
max_damage: 500
max_stack_size: 1
minimum_attack_charge: 1.0
mooshroom/variant: red
note_block_sound: "minecraft:block.note_block.harp"
ominous_bottle_amplifier: 1
painting/variant: kebab
parrot/variant: red
piercing_weapon:
sound: minecraft:item.spear.use
hit_sound: minecraft:item.spear.hit
deals_knockback: true
dismounts: false
pig/sound_variant: classic
pig/variant: temperate
pot_decorations:
back: brick
left: skeleton_skull
right: creeper_head
front: brick
potion_contents:
custom_color: "255,255,255"
custom_name: harming
potion: awkward
custom_effects:
- id: instant_damage
amplifier: 1
duration: 100
ambient: false
show_particles: false
show_icon: false
- id: poison
amplifier: 1
duration: 100
ambient: false
show_particles: false
show_icon: false
potion_duration_scale: 10.5
profile: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYTRkODE2YTQ3NWIzZjMxM2I2MjBkNjViZjkzNTg5MzFiNDZhZjljOGY0ZTdjOWFlNjQ3MDg4ODBiZWE2YmUifX19"
provides_banner_patterns: "globe"
provides_trim_material: "gold"
rabbit/variant: brown
rarity: epic
recipes:
- "minecraft:diamond_sword"
repairable:
items:
- "short_grass"
- "stone"
repair_cost: 1
salmon/size: medium
sheep/color: white
shulker/color: purple
stored_enchantments:
sharpness: 5
smite: 5
sulfur_cube_content: "rpgitem-id"
suspicious_stew_effects:
- id: speed
duration: 200
swing_animation:
type: none
duration: 6
tool:
damage_per_block: 5
default_mining_speed: 5
rules:
- blocks: "minecraft:stone"
speed: 2.0
correct_for_drops: true
- blocks:
- "minecraft:dirt"
- "minecraft:gravel"
speed: 120
correct_for_drops: false
- blocks: "minecraft:diamond_ore"
speed: 3.0
correct_for_drops: true
tooltip_display:
hide_tooltip: true
hidden_components:
- trim
- rarity
tooltip_style: "example:example"
trim:
material: diamond
pattern: bolt
tropical_fish/base_color: white
tropical_fish/pattern: kob
tropical_fish/pattern_color: white
use_cooldown:
seconds: 5
cooldown_group: "example:example"
use_effects:
can_sprint: false
interact_vibrations: true
speed_multiplier: 0.2
use_remainder: "rpgitem-id"
villager/variant: plains
weapon:
disable_blocking_for_seconds: 10
item_damage_per_attack: 10
wolf/collar: red
wolf/sound_variant: classic
wolf/variant: pale
writable_book_content:
- "page 1"
- "page 2"
written_book_content:
title: "<gold>My Book"
author: "Steve"
generation: 0
pages:
- "<red>Page one"
zombie_nautilus/variant: temperate只有几个地方需要注意:
-
profile: 可以使用Base64码或者玩家名称。比如profile: "Steve"或者profile: "ey...." -
dyed_color: 用RGB颜色格式 -
damage_type: 填写伤害类型的 ID (minecraft:前缀可省略), 比如in_fire、explosion、lava等 -
max_damage和max_stack_size: 物品不能同时拥有max_damage和max_stack_size组件, 如果你设置了max_damage, 你就不能设置max_stack_size, 或者设置其值为1, 如果你设置了max_stack_size, 你就不能设置max_damage, 无论其值为何. -
banner_patterns、blocks_attacks.damage_reductions、consumable.on_consume_effects、death_protection.death_effects: 这四项都是列表,按写入顺序生效. -
on_consume_effects/death_effects里的apply_effects: 一条apply_effects里的probability是这一组effects共享的一个概率,不是每个效果单独的概率. 如果想让不同效果有不同触发概率, 就拆成多条apply_effects记录(可参考上面样例里 speed 和 strength 分开写的写法). -
blocks_attacks与damage_resistance里涉及伤害类型集合的字段(bypassed_by、damage_reductions[].type、damage_resistance): 可以填单个 ID、#标签(如#is_fall),或者纯 ID 列表;但标签和普通 ID 不能混用,这一点和原版一致.damage_type不在此列——它对应的是单个具体伤害类型,只能填一个普通 ID,不支持#标签. -
各种
*/variant、*/sound_variant、*/color、*/collar以及dye、painting/variant: 填的都是对应类型的 ID,不区分大小写。 部分是纯粹的固定枚举(dye、fox/variant、salmon/size、parrot/variant、tropical_fish/pattern、tropical_fish/base_color、tropical_fish/pattern_color、mooshroom/variant、rabbit/variant、horse/variant、llama/variant、axolotl/variant、wolf/collar、cat/collar、sheep/color、shulker/color),直接填 Bukkit 枚举名即可; 其余(villager/variant、wolf/variant、wolf/sound_variant、pig/variant、pig/sound_variant、cow/variant、cow/sound_variant、chicken/variant、chicken/sound_variant、frog/variant、painting/variant、zombie_nautilus/variant、cat/variant、cat/sound_variant)是数据包可扩展的注册表 ID(minecraft:前缀可省略)。 -
charged_projectiles(弩装填的弹药)、bundle_contents(收纳袋内容)、container(容器类物品内容,如潜影盒/箱子)、sulfur_cube_content: 和use_remainder一样,填的是 rpgitem 的 id,而不是原始物品数据;服务器会自动查找对应 RPGItem 并生成实际物品。前三项是列表,sulfur_cube_content只有单个物品。 -
written_book_content的pages支持 MiniMessage 富文本;writable_book_content(书与笔)的页面本身只支持纯文本(和原版一致,未定稿的书不支持富文本)。 -
map_decorations的子 key(样例里的home)是装饰点的自定义 id,可以随便起名。 -
删除组件: 有些组件在物品上默认存在, 比如盔甲上就有 equippable 组件, 如果你想删除这些组件,你可以像下面这样设置:
equippable: unset: true hide_tooltip: unset: true
该方法对所有组件都有效.
Creative Commons Attribution-ShareAlike license (CC BY-SA) version 4.0