
伤害免疫机制重做
一个重新设计伤害无敌机制的模组。
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 来完全自定义日志格式。
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。