promotional bannermobile promotional banner
premium banner
A mod that reworks the damage invulnerable mechanic.

Description

ReHurtTime reworks Minecraft’s damage invulnerability mechanic in a lightweight and vanilla-friendly way.

By default, most damage sources bypass the standard invulnerability period, allowing entities to receive damage more consistently. Knockback is disabled by default for bypassed damage, preserving the original feel.

All settings can be adjusted in-game via the configuration screen.

Default Behavior

  • Players are protected by invulnerability time.
  • Environmental damage (fire, sweet berry bushes, etc.) is excluded.
  • Campfire damage does not bypass invulnerability.
  • Knockback is only applied when the last damage source has the minecraft:no_knockback tag.

Important: After updating to a new version, please reset the mod configuration (delete the config file or reset in-game) to apply the updated default predicates.

Advanced Configuration

Bypasses Invulnerability Predicate (Config: bypassesInvulnerabilityPredicate)

getEntityType(entity) != 'minecraft:player' 
&& !include(getSourceTags(source), 'neoforge:is_environment') 
&& getSourceType(source) != 'minecraft:campfire'

Applies Knockback Predicate (Config: appliesKnockbackPredicate)

include(getSourceTags(getLastDamageSource(entity)), 'minecraft:no_knockback')

Expression API

This mod uses AviatorScript for advanced customization. Documentation: AviatorScript Wiki

Available variables:

LivingEntity entity, DamageSource source

Available methods:

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)

Logging (Config: logEnabled)

Set logEnabled to true to output detailed damage information to the console for debugging. You can also return a HashMap to fully customize the log format.