
伤害免疫机制重做
一个重做伤害无敌机制的模组。
ReHurtTime 以轻量且原版友好的方式重做了 Minecraft 的伤害无敌机制。
默认情况下,大多数伤害来源会绕过标准无敌时间,使实体能够更一致地受到伤害。被绕过的伤害默认禁用击退,以保留原有的手感。
所有设置均可通过游戏内配置界面进行调整。
默认行为
- 玩家受无敌时间保护。
- 环境伤害(火焰、甜浆果丛等)被排除在外。
- 营火伤害不会绕过无敌时间。
- 仅当上一个伤害来源带有 minecraft:no_knockback 标签时才会施加击退。
重要:更新到新版本后,请重置模组配置(删除配置文件或在游戏内重置),以应用更新后的默认谓词。
高级配置
绕过无敌谓词(配置:bypassesInvulnerabilityPredicate)
getEntityType(entity) != 'minecraft:player'
&& !include(getSourceTags(source), 'neoforge:is_environment')
&& getSourceType(source) != 'minecraft:campfire'
施加击退谓词(配置:appliesKnockbackPredicate)
include(getSourceTags(getLastDamageSource(entity)), 'minecraft:no_knockback')
表达式 API
本模组使用 AviatorScript 进行高级自定义。 文档:AviatorScript Wiki
可用变量:
LivingEntity entity, DamageSource source
可用方法:
String getEntityType(Entity entity), Set<String> getEntityTags(Entity entity)
String getSourceType(DamageSource source), Set<String> getSourceTags(DamageSource source)
String getItemType(ItemStack stack), Set<String> getItemTags(ItemStack stack)
DamageSource getLastDamageSource(Entity entity), Entity getEntity(DamageSource source)
Entity getDirectEntity(DamageSource source), ItemStack getWeaponItem(DamageSource source)
日志记录(配置:logEnabled)
将 logEnabled 设为 true 可将详细的伤害信息输出到控制台,以便调试。你也可以返回一个 HashMap 来完全自定义日志格式。
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。