Files
netease-modsdk-wiki/docs/wiki/documentation/projectiles.md
2025-03-20 11:52:46 +08:00

20 KiB
Raw Blame History

title, mentions
title mentions
投射物
SirLich
stirante
retr0cube
SmokeyStack
Luthorius
ThomasOrs

投射物

概述

本文档旨在记录minecraft:projectile实体行为组件中可使用的所有字段。

:::warning 免责声明:该组件的文档主要基于游戏中存在的投射物或通过逆向工程获得。 最后测试版本为 1.18.2 :::

字段名称 类型 默认值 描述
anchor 整数
angle_offset 小数 0 决定投射物被抛射时的角度
catch_fire 布尔值 false 若为true被击中的实体将被点燃
crit_particle_on_hurt 布尔值 false 若为true投射物在造成暴击时会产生特殊粒子效果
destroy_on_hurt 布尔值 false 若为true投射物在击中时会被销毁
filter 字符串 此处定义的实体类型不会被投射物伤害
fire_affected_by_griefing 布尔值 false 若为true投射物的引燃效果受游戏规则"mobGriefing"影响
gravity 小数 0.05 投射物抛射时应用的引力值。数值越大下坠越快
hit_ground_sound 字符串 投射物击中地面时播放的音效
hit_sound 字符串 投射物击中实体时播放的音效
homing 布尔值 false 若为true投射物会自动追踪最近目标。在1.18.2版本中不可用
inertia 小数 0.99 投射物在空气中飞行时每帧保留的速度比例
is_dangerous 布尔值 false 若为true投射物将被视为对玩家具有威胁性
knockback 布尔值 true 若为true投射物会击退被击中的实体
lightning 布尔值 false 若为true被击中的实体将遭受雷击
liquid_inertia 小数 0.6 投射物在水中飞行时每帧保留的速度比例
multiple_targets 布尔值 true 若为true投射物在飞行过程中可以击中多个实体
offset 三维向量 [a,b,c] [0, 0.5, 0] 投射物生成时相对于实体锚点的偏移量
on_fire_time 小数 5 被击中实体持续燃烧的时间(秒)
on_hit 对象 投射物击中时的行为。详见下方说明
particle 字符串 iconcrack 碰撞时使用的粒子效果
potion_effect 整数 -1 定义箭矢击中实体时施加的药水效果
power 小数 1.3 决定投射物的初速度
reflect_on_hurt 布尔值 false 若为true投射物被击中时会反弹
semi_random_diff_damage 布尔值 false 若为true伤害值将基于基础伤害和速度进行随机计算
shoot_sound 字符串 投射物发射时播放的音效
shoot_target 布尔值 true 若为true投射物将朝向发射者的目标方向射出
should_bounce 布尔值 false 若为true投射物击中时会反弹
splash_potion 布尔值 false 若为true投射物将被视为喷溅药水
splash_range 小数 4 '溅射'效果的半径(方块)
stop_on_hurt 布尔值
uncertainty_base 小数 0 基础精准度。实际精准度计算公式为uncertaintyBase - difficultyLevel * uncertaintyMultiplier
uncertainty_multiplier 小数 0 难度对精准度的影响系数。实际精准度计算公式为uncertaintyBase - difficultyLevel * uncertaintyMultiplier
hit_water 布尔值 false 若为true液态方块将被视为固体。需要启用"教育版"功能

on_hit

该对象包含投射物击中目标时可执行的所有行为。

arrow_effect

具体作用未知

teleport_owner

将发射者传送到击中位置。

catch_fire

具体作用未知 点燃目标

ignite

具体作用未知 点燃目标

remove_on_hit

击中目标后移除投射物。

douse_fire

具体作用未知

impact_damage

造成碰撞伤害。

字段名称 类型 描述
damage 整数/整数数组 [min, max] 对实体造成的伤害值
semi_random_diff_damage 布尔值
max_critical_damage 小数
min_critical_damage 小数
power_multiplier 小数
channeling 布尔值
set_last_hurt_requires_damage 布尔值
destroy_on_hit_requires_damage 布尔值
filter 字符串 受影响的实体类型。此过滤器较为基础,只能通过标识符进行匹配
destroy_on_hit 布尔值
knockback 布尔值
catch_fire 布尔值 控制是否点燃目标

definition_event

触发击中事件。

字段名称 类型 描述
affect_projectile 布尔值 为投射物实体触发事件
affect_shooter 布尔值 为发射者实体触发事件
affect_target 布尔值 为被击中实体触发事件
affect_splash_area 布尔值 为区域内所有实体触发事件
splash_area 小数 实体作用范围半径
event_trigger 对象 要触发的事件。结构如下:
字段名称 类型 描述
event 字符串 要触发的事件名称
target 字符串 事件目标
filters 对象 触发事件所需的过滤条件

stick_in_ground

将投射物插入地面。

字段名称 类型 描述
shake_time 小数

spawn_aoe_cloud

生成药水效果的区域云。

字段名称 类型 描述
radius 小数 云效果半径
radius_on_use 小数
potion 整数 滞留药水ID
particle 字符串 区域云的原版粒子效果。仅接受原版粒子。dragonbreath允许使用瓶子收集龙息
duration 整数 云效果持续时间(秒)
color 整数数组 [r, g, b] 粒子颜色
affect_owner 布尔值 药水效果是否影响发射者(对玩家无效)
reapplication_delay 整数 药水效果重复施加的时间间隔(刻)

药水ID

药水名称 普通 延长版 强化版II级
水瓶 0
平凡药水 1 2
浓稠药水 3
粗制药水 4
夜视药水 5 6
隐身药水 7 8
跳跃药水 9 10 11
抗火药水 12 13
迅捷药水 14 15 16
迟缓药水 17 18
水肺药水 19 20
治疗药水 21 22
伤害药水 23 24
剧毒药水 25 26 27
再生药水 28 29 30
力量药水 31 32 33
虚弱药水 34 35
衰变药水 36
神龟药水 37 38 39
缓降药水 40 41
迟缓IV药水 42
跳跃提升IV药水 43+

spawn_chance

击中时生成实体。

字段名称 类型 描述
first_spawn_percent_chance 小数
second_spawn_percent_chance 小数
first_spawn_count 整数
second_spawn_count 整数
spawn_definition 字符串 要生成的实体ID
spawn_baby 布尔值 生成的实体是否为幼体

particle_on_hit

击中时生成粒子效果。

字段名称 类型 描述
particle_type 字符串 使用的原版粒子效果
num_particles 整数 粒子数量
on_entity_hit 布尔值 是否在击中实体时生成粒子
on_other_hit 布尔值 是否在其他碰撞时生成粒子

mob_effect

对目标施加生物状态效果。

字段名称 类型 描述
effect 字符串 效果类型
duration 整数 效果持续时间
durationeasy 整数 简单难度下的持续时间
durationnormal 整数 普通难度下的持续时间
durationhard 整数 困难难度下的持续时间
amplifier 整数 效果等级
ambient 布尔值
visible 布尔值

grant_xp

尽管名称如此,该行为实际上是生成指定数量的经验球。

字段名称 类型 描述
minXP 整数 给予的最小经验值
maxXP 整数 给予的最大经验值
xp 整数 固定经验值。设置后将覆盖min和max值

freeze_on_hit

具体作用未知

需要启用教育版功能 冻结命中点周围的水。

字段名称 类型 描述
shape 字符串 "sphere" 或 "cube"
snap_to_block 布尔值
size 整数 冻结效果的范围大小

hurt_owner

具体作用未知。当前版本可能导致游戏崩溃(可能参数错误)

字段名称 类型 描述
owner_damage 整数
knockback 布尔值
ignite 布尔值

thrown_potion_effect

具体作用未知。当前版本可能导致游戏崩溃(可能仅适用于投掷药水)

补充说明

在创建自定义投射物(如箭矢变体或全新物品)时,建议定义运行时标识符来确保预期行为。未正确设置可能导致异常表现,包括显示错误、击退方向异常,甚至出现可用徒手摧毁的箭矢等问题。