Description
Ember Ward
Turn every campfire into a working sanctuary.
Ember Ward is a script-based Bedrock add-on that gives campfires real defensive and supportive behavior. When a player or villager stands near a lit campfire, the campfire wakes up: it heals living allies, banishes hostile mobs by teleporting them away, and sets nearby threats on fire. Soul campfires push the same mechanics further, with longer reach, faster healing, and added damage. Stop carrying campfires as decoration. Use them as a tactical tool.
This is a fresh Bedrock implementation. Nothing is ported, no assets reused. The scripts are written against the official Minecraft Script API (@minecraft/server 1.16.0).
What It Does
When a campfire is lit and a player or villager is within the activation zone, the campfire becomes active. Active campfires apply layered effects to nearby entities:
- Inner ring (teleport zone): hostile mobs that enter are teleported out radially, slightly elevated, with random angular jitter to avoid stacking. If the teleport destination falls inside another active ring, the mob is teleported again in a new random direction, up to 6 iterations per event, until it lands outside every active ring.
- Outer ring (burn zone): hostile mobs that stay in this band are set on fire continuously while present. Soul campfires also apply +1 HP/second of direct damage on top of the fire, bypassing fire-immune mob resistances.
- Heal zone: players, villagers, and passive mobs inside this zone receive direct health regeneration applied through the entity's health component. Healing stops the instant the entity leaves the zone — there is no lingering effect.
Campfires that are extinguished or that have no nearby player/villager remain dormant and consume no processing.
Mechanics Tables
Regular Campfire (minecraft:campfire)
| Mechanic | Value |
|---|---|
| Burn radius | 20 blocks |
| Teleport radius (inner) | 12 blocks |
| Heal radius | 16 blocks |
| HUD perception band | 16 → 22 blocks |
| Heal rate | 0.5 HP/second |
| Extra damage | None |
Soul Campfire (minecraft:soul_campfire)
| Mechanic | Value |
|---|---|
| Burn radius | 24 blocks |
| Teleport radius (inner) | 18 blocks |
| Heal radius | 20 blocks |
| HUD perception band | 20 → 26 blocks |
| Heal rate | 1.0 HP/second (×2) |
| Extra damage | +1 HP/second direct (×2 total damage with fire) |
Hostile Mob Coverage
Ember Ward detects hostile entities through two layers, which means rare hostiles that other simple addons miss are still covered:
Family-based detection (covers most vanilla and modded hostiles): monster, undead, illager, pillager, ravager, hoglin, piglin, zoglin, warden, vex, ghast, blaze, slime, shulker, phantom, wither, ender_dragon.
Explicit typeId override (safety list for mobs that don't expose the expected families in Bedrock): Warden, Ravager, Piglin Brute, Hoglin, Zoglin, Vex, Shulker, Phantom, Ghast, Blaze, Silverfish, Endermite, Guardian, Elder Guardian, Wither, Ender Dragon, Slime, Magma Cube, Creeper, Spider, Cave Spider.
Fire-immune handling: Wardens, Blazes, Ghasts, Magma Cubes, Wither variants, Zombified Piglins, Striders, and the Ender Dragon receive the soul campfire's extra damage through a non-fire damage cause so resistances do not absorb it.
A simple typeId cache means the per-tick cost stays flat regardless of mob variety on screen.
HUD
On-screen messages use the game's native font and color codes. No icons, no persistent banners.
- Entering the heal radius: a transient green message appears in the action bar.
- Leaving past the heal radius + 6 blocks: a transient red message appears.
- Walking the border of the heal radius does not spam messages thanks to hysteresis between the heal radius and the perception band.
Messages are fully localized.
Languages
The pack ships with translations for:
- English (en_US)
- Spanish — Latin America (es_MX)
- Spanish — Spain (es_ES)
- Portuguese — Brazil (pt_BR)
Translation keys are provided through the included resource pack. Clients automatically receive messages in their game language. Clients running other languages fall back to English. New languages can be added by dropping a <code>.lang file into the resource pack and listing the code in languages.json.
Performance Design
- Inactive campfires (no player or villager within heal radius + 6) are skipped entirely each tick.
- Hostility classification is cached per type ID, so each species is evaluated once.
- The main loop runs at 2 Hz; the damage loop at 1 Hz. Per-entity work is constant.
- Discovery of existing campfires is reactive (on hostile spawn) and passive (around players every 10 seconds), so worlds with already-placed campfires do not require placing them again.
Comfortable upper bound: around 50 simultaneously active campfires per dimension.
Requirements
- Minecraft Bedrock Edition 1.21.50 or later
- "Beta APIs" experiment enabled on the world (Tested in Survival mode without Beta APIs and works just fine, but choose at your own discretion).
- Achievements are disabled on worlds that use beta APIs — this is a vanilla limitation, not specific to this pack
- API target:
@minecraft/server1.16.0
Installation
Ember Ward is distributed as a single .mcaddon file containing both a Behavior Pack and a Resource Pack. Both must be active for the localized messages to display correctly.
- Download the
.mcaddonfile. - Open it on your device — Minecraft will import both packs automatically.
- On the world you want to use it on:
- Open Behavior Packs, activate Ember Ward.
- Open Resource Packs, activate Ember Ward.
- In the world's Experiments menu, enable Beta APIs.
- Launch the world. The console will print
[Ember Ward vX.X] loadedon first load.
If on-screen messages display as raw keys like ember_ward.entering, the resource pack is not active. Re-check step 3.
Customization
All tuning lives at the top of scripts/main.js inside the CAMPFIRES and GLOBAL objects. Edit numbers, save, reload the world.
Common adjustments documented in the in-file comments:
- Change heal rate per campfire type
- Change ring radii
- Add custom hostile mob type IDs
- Adjust teleport step distance, jitter, or iteration cap
- Change which entities count as "guardians" (the entities that wake a campfire)
- Change action bar text by editing the
.langfiles in the resource pack
Known Limitations
Transparency matters more than a polished sales pitch, so:
- Persistence is not stored between sessions. Active campfires are rediscovered when players move near them after a server restart.
- Campfires in unloaded chunks do not act.
- Mobs that are already on fire from an external source (a flame arrow, for instance) may have their fire duration shortened to 1 second while inside the burn ring. This is a side effect of the refresh-decay model used to make effects stop instantly when the mob leaves the radius.
- Action bar messages use the game's native fade timing, so the "leaving" message appears briefly even if you re-enter quickly. This is intentional.
What Ember Ward Is Not
- It does not change campfire crafting, recipes, or visuals.
- It does not add new items, blocks, or recipes.
- It does not prevent hostile spawning at the engine level — Bedrock does not expose a real pre-spawn cancel hook. Instead, hostiles that spawn inside a campfire's protected area are immediately set on fire or teleported out, which is effectively equivalent for gameplay.
- It does not require, conflict with, or interact with any specific other add-on by default. Custom modded hostiles may need their type IDs added to the hostile override list.
Compatibility
Tested against Bedrock 1.21.50 through current builds. Works on:
- Single-player worlds
- Local LAN worlds
- Dedicated Bedrock servers running script API (BDS)
- Realms (subject to whether Realms supports beta APIs in your version)
Multiplayer-safe: each player gets independent HUD state.
Feedback and Bug Reports
If you spot a bug, find a hostile mob that is not being handled, or have a suggestion (custom radii, additional languages, etc.), please leave a comment on the CurseForge project page so it can be tracked.
When reporting, please include:
- Bedrock version
- Whether you have other add-ons active
- The type ID of the mob involved if relevant
- A short description of what you expected versus what happened
Credits and Inspiration
Ember Ward draws inspiration from two well-known Java Edition mods that explored similar ideas in their own way: "No Hostiles Around Campfire" and "Healing Campfires" by Serilium.
Both are great examples of single-feature mods that change how a player thinks about a vanilla block. Ember Ward is not a port of either project — Bedrock and Java are different engines with entirely different APIs — and shares no code, assets, or content with them. The original authors' work simply showed that campfires could mean more than warmth and food. Credit where credit is due.
License
You are free to use this add-on in your worlds, servers, and content creation (videos, streams, etc.). Redistribution, re-uploads to other platforms, or modified forks require attribution to the original project page on CurseForge.






