Overview
Entity effects are temporary or permanent modifiers applied to entities at runtime. They drive a wide range of systems: visual tints and screen overlays on damage, food buffs that boost max health, damage-over-time from burns and poison, crowd-control effects like root and stun, and cosmetic particle trails on weapon abilities. Each effect file defines its duration, overlap rules, stat modifications, and visual/audio feedback.
File Location
Assets/Server/Entity/Effects/
Subdirectories group effects by category:
Assets/Server/Entity/Effects/
BlockPlacement/ (block place success/fail feedback)
Damage/ (hit flash effects)
Deployables/ (totem heal/slow auras)
Drop/ (item rarity glow effects)
Boost/ (max-stat increases from food)
Buff/ (instant heals and timed buffs)
GameMode/ (creative mode visual)
Immunity/ (dodge invulnerability, fire/env immunity)
Mana/ (mana regen and drain effects)
Movement/ (dodge directional effects)
Npc/ (NPC death, heal, return-home)
Portals/ (teleport visual)
Projectiles/ (arrow, bomb, rubble sub-effects)
Stamina/ (stamina broken, error, regen delay)
Status/ (burn, freeze, poison, root, slow, stun)
Weapons/ (weapon signature and ability effects)
Schema
Top-level fields
Field Type Required Default Description DurationnumberYes — Length of the effect in seconds. 0 or 0.0 means the effect fires once instantly. InfinitebooleanNo falseIf true, the effect persists indefinitely until explicitly removed. Overrides Duration. OverlapBehavior"Overwrite" | "Extend"No — How to handle re-application while already active. Overwrite replaces the timer; Extend adds to remaining duration. RemovalBehaviorstringNo — How the effect is removed. Known value: "Duration" (removed when timer expires). DebuffbooleanNo falseIf true, the effect is classified as a debuff and can be cleansed by antidote-type interactions. InvulnerablebooleanNo falseIf true, the entity cannot take damage while the effect is active. StatusEffectIconstringNo — Path to the UI icon displayed in the status effect bar. DeathMessageKeystringNo — Localisation key for the death message when this effect kills an entity. ApplicationEffectsApplicationEffectsNo — Visual, audio, and movement modifications applied while the effect is active. StatModifiersobjectNo — Map of stat ID to flat value added per tick (e.g. {"Health": 2}). ValueTypestringNo — How StatModifiers values are interpreted. Known value: "Percent". RawStatModifiersobjectNo — Map of stat ID to an array of raw modifier objects for advanced stat manipulation. DamageCalculatorDamageCalculatorNo — Periodic damage applied while the effect is active. DamageCalculatorCooldownnumberNo — Seconds between each damage tick from the DamageCalculator. DamageEffectsobjectNo — Sound events triggered on each damage tick. ModelOverrideModelOverrideNo — Replaces the entity’s visual model for the effect duration (e.g. root vines).
ApplicationEffects
Field Type Required Default Description EntityTopTintstringNo — Hex colour applied to the upper portion of the entity model. EntityBottomTintstringNo — Hex colour applied to the lower portion of the entity model. ScreenEffectstringNo — Path to a screen overlay texture (e.g. "ScreenEffects/Fire.png"). HorizontalSpeedMultipliernumberNo — Multiplier applied to horizontal movement speed. 0.5 = 50% speed. KnockbackMultipliernumberNo — Multiplier for incoming knockback. 0 = immune to knockback. ModelVFXIdstringNo — ID of a model-level VFX to attach to the entity. ParticlesParticleRef[]No — List of particle systems to spawn on the entity. MovementEffectsobjectNo — Movement overrides. Contains DisableAll: true to fully immobilise the entity. WorldSoundEventIdstringNo — Sound event audible to all nearby players. LocalSoundEventIdstringNo — Sound event audible only to the affected player.
ParticleRef
Field Type Required Default Description SystemIdstringYes — Particle system ID to spawn. TargetEntityPartstringNo — Entity part to attach the particle to (e.g. "Entity"). TargetNodeNamestringNo — Bone or node name for attachment (e.g. "Hip"). PositionOffsetVector3No — Local offset from the attachment point. ColorstringNo — Hex colour override for the particle system.
RawStatModifier
Field Type Required Default Description AmountnumberYes — Modifier value. Interpretation depends on CalculationType. CalculationType"Additive" | "Multiplicative"Yes — Additive adds a flat value to the target; Multiplicative scales the target by the amount.TargetstringYes — Which aspect of the stat to modify. Known value: "Max" (modifies the stat’s maximum).
DamageCalculator
Field Type Required Default Description BaseDamageobjectYes — Map of damage type ID to damage value (e.g. {"Fire": 5}).
ModelOverride
Field Type Required Default Description ModelstringYes — Path to the replacement .blockymodel file. TexturestringYes — Path to the replacement texture. AnimationSetsobjectNo — Map of animation state name to animation definitions (e.g. Spawn, Despawn).
Examples
Burn status effect (Assets/Server/Entity/Effects/Status/Burn.json):
"EntityBottomTint" : " #100600 " ,
"EntityTopTint" : " #cf2302 " ,
"ScreenEffect" : " ScreenEffects/Fire.png " ,
"WorldSoundEventId" : " SFX_Effect_Burn_World " ,
"LocalSoundEventId" : " SFX_Effect_Burn_Local " ,
"Particles" : [{ "SystemId" : " Effect_Fire " }],
"DamageCalculatorCooldown" : 1 ,
"BaseDamage" : { "Fire" : 5 }
"WorldSoundEventId" : " SFX_Effect_Burn_World " ,
"PlayerSoundEventId" : " SFX_Effect_Burn_Local "
"OverlapBehavior" : " Overwrite " ,
"StatusEffectIcon" : " UI/StatusEffects/Burn.png " ,
"DeathMessageKey" : " server.general.deathCause.burn "
Food buff with max-health boost (Assets/Server/Entity/Effects/Food/Boost/Food_Health_Boost_Large.json):
"CalculationType" : " Additive " ,
"OverlapBehavior" : " Overwrite " ,
"StatusEffectIcon" : " UI/StatusEffects/AddHealth/Large.png "
Dagger dash invulnerability (Assets/Server/Entity/Effects/Weapons/Dagger_Dash.json):
"SystemId" : " Daggers_Dash_Straight " ,
"TargetEntityPart" : " Entity " ,
"PositionOffset" : { "Y" : 1.0 },
"ModelVFXId" : " Dagger_Dash "
"OverlapBehavior" : " Extend " ,
Related Pages