杂项
Scarpet
于 Minecraft 1.16.4+ 中可用
函数
register_block(pos)
注册一个可以被 scarpet 追踪事件的方块位置。它将会被添加至一个全局的追踪器中(你可以使用 is_registered()
来查询)
位于追踪器所追踪的方块将会在事件发生时触发 scarpet 事件 __on_microtiming_event
。该事件独立于微时序记录器的开关触发
若该方块位置在之前并不位于列表中,返回 true
;若该方块位置曾位于列表中,返回 false
unregister_block(pos)
从追踪的方块位置列表中移除给定的方块位置
若该方块位置在之前曾位于列表中,返回 true
;若该方块位置并不存在于列表中,返回 false
registered_blocks()
返回被 scarpet 追踪事件的方块位置列表
is_registered(pos)
判断该位置是否位于追踪事件的列表中,返回 true
或 false
事件
__on_microtiming_event(type, pos, dimension)
该事件在被追踪的方块位置发生任何可被微时序记录器记录的事件时触发
type
表示着时间的类型,可为:
'detected_block_update'
'block_state_changed'
'executed_block_event'
'executed_tile_tick'
'emitted_block_update'
'emitted_block_update_redstone_dust'
'scheduled_block_event'
'scheduled_tile_tick'
规则 微时序 需要被设置为 true 来使这些事件能被触发
其他
Carpet 相关规则修改
- 使 carpet 规则
tntRandomRange
能在不开启optimizedTNT
规则或存在 lithium mod 时正常工作 - 增强规则
creativeNoClip
,在以下动作中忽略处于 creativeNoClip 状态下的玩家- 发射器放置方块
- 经验球追踪玩家
- 拌线、压力板检测实体
- 方块变化导致的实体移动,如踩坏耕地
- 计算实体的碰撞箱。用途例子:实体(尤其是矿车和船)移动时跟其他实体的碰撞、船的放置等
- (< mc1.16) 末地折跃门传送实体