Back to mods
Effect Control project artwork

CurseForge · Minecraft mod

Effect Control

Highly customizable potion effect applier & remover.

Choose a version Pick your version below, then grab the matching file.

Quick answer

Which Effect Control release should I use?

Updated today
Latest stable file effectcontrol-1.21.1-1.1-neoforge.jar
Game version 1.21.1
Loader NeoForge

Effect Control effectcontrol-1.21.1-1.1-neoforge.jar targets 1.21.1 with NeoForge. The project page does not say whether this file belongs on the client, dedicated server, or both. All 1 required mods have matching files.

Where it goes

Is Effect Control required on the client, server, or both?

The project page does not say whether this file belongs on the client, dedicated server, or both.

Client Source doesn’t say
Dedicated server Source doesn’t say
Loader for this release NeoForge
Required install it here Optional supported, not mandatory Not supported do not install here Source doesn’t say do not assume

The source does not explicitly classify this release as client-only or server-only.

What else does Effect Control effectcontrol-1.21.1-1.1-neoforge.jar need?

effectcontrol-1.21.1-1.1-neoforge.jar. Change the file and its required mods may change too.

All 1 required mods have matching files

Install Architectury API first. We found matching files for this game-version and loader setup.

Architectury API Needed by Effect Control effectcontrol-1.21.1-1.1-neoforge.jar
required
Matching file found Matched file: [NeoForge 1.21] v13.0.11

We only count dependency files that match this setup. A file for another loader does not fill the gap.

Before you install it

Add Effect Control without breaking your instance.

Built for Effect Control effectcontrol-1.21.1-1.1-neoforge.jar. Pick another file and the loader, install side or required mods may change.

  1. 01

    Stick to this file

    Use effectcontrol-1.21.1-1.1-neoforge.jar. It targets 1.21.1 with NeoForge; another release may have different loader, side or dependency requirements.

  2. 02

    Bring the mods it needs

    Install Architectury API first. We found matching files for this game-version and loader setup.

  3. 03

    Put it on the correct side

    The project page does not say whether this file belongs on the client, dedicated server, or both.

  4. 04

    Pick the file you checked

    Use the “Get this file” button beside effectcontrol-1.21.1-1.1-neoforge.jar. It opens that exact file at the source.

About this project

What does Effect Control add?

Highly customizable potion effect applier & remover.

Effect Control is a compliment for In Control! that adds more control over potion effects.

Config

config/effectcontrol-common.toml

Each entry in effects is one rule: comma separated key=value pairs.

effects = [
    "effect=minecraft:strength, duration=30, trigger=kill, entity=minecraft:zombie",
    "effect=minecraft:regeneration, duration=20, trigger=consume, item=minecraft:golden_apple",
    "effect=minecraft:fire_resistance, duration=infinite, trigger=enter, dimension=minecraft:the_nether",
    "effect=minecraft:fire_resistance, trigger=leave, dimension=minecraft:the_nether, action=remove"
]

Effect Attributes

Key Meaning Default
trigger What makes the rule activate. respawn
effect Potion effect id. Required unless the rule only writes flags.
duration Seconds, or infinite. 30
level 1 is level I, 2 is level II. 1
action give or remove. give
ambient Softer beacon particles. false
particles Show the particles. true
icon Show the HUD icon. true
hidden Shorthand for particles=false, icon=false. false

Triggers

Activated by something the player does:

Trigger Activates when Useful filters
join Player logs in
first_join First login ever, once per player
respawn Player respawns after dying dimension
end_return Player leaves the End through the exit portal
any join, respawn or end_return
enter / leave Dimension entered / left dimension (required)
kill Player kills something entity, source
hurt Player damages something entity, source
hurt_by Player is damaged entity, source
use Player right-clicks an item in the air, e.g. an ender pearl or a bucket item
consume Player finishes eating or drinking item
shoot Player fires a bow item
release Player releases a held item, e.g. a trident item
pickup Player picks an item up item
container Player opens a container or their inventory
advancement Player earns an advancement advancement
craft / smelt Item crafted / smelted item
fish Player reels something in item
tame / breed Animal tamed / bred entity
trade Villager trade completed item
level_up Player gains XP levels
tool_broken Held item breaks item

Continuous player state, activated when entering or leaving it. They come in pairs, so you pair the give with the matching remove:

Trigger Becomes true when Needs
near / away Something is within radius radius and block or entity
looking / not_looking Player is looking at it block or entity, radius optional (default 5)
sneaking / not_sneaking Player is crouching
sprinting / not_sprinting Player is sprinting
on_fire / not_on_fire Player is burning
in_fluid / not_in_fluid Player is in a fluid fluid
riding / not_riding Player is on a mount entity optional
sleeping / not_sleeping Player is in a bed
underwater / not_underwater Player's head is submerged

Most triggers accept alternative spellings, so write whichever you prefer. damage or attack for hurt; takedamagefrom or damaged_by for hurt_by; eat or drink for consume; use_item or interact for use; inventory or open for container; achievement for advancement; always for any; every_join or login for join; every_respawn or death for respawn; end for end_return; enter_dimension for enter; leave_dimension or exit for leave; fire for shoot; when_near for near; not_near or leave_near for away; once for first_join; look or looking_at for looking; look_away for not_looking; sneak or crouching for sneaking; sprint for sprinting; burning for on_fire; mounted for riding; dismounted for not_riding; asleep for sleeping; awake for not_sleeping; submerged for underwater; in_liquid / not_in_liquid for in_fluid / not_in_fluid; levelup for level_up; item_broken for tool_broken.

Filter keys have aliases too: mob for entity, armor for wearing, damage_type for source, liquid for fluid, xp for xp_level, tag for nbt, has/without for requires/missing, and set_flag/clear_flag/flagged/unflagged for set/unset/if_set/if_unset.

Filters

Any of these narrow a rule. Repeat a key to accept more than one value; the rule needs one match from each key you used.

Key Matches Example
dimension Dimension the rule is about dimension=minecraft:the_nether
block Block id block=minecraft:diamond_ore
entity Entity type id entity=minecraft:creeper
item Item id item=minecraft:golden_apple
source Damage type, as vanilla names it source=lava
advancement Advancement id advancement=minecraft:story/mine_diamond
radius Blocks, 1 to 64 radius=8
x y z Coordinate, exact or a range y=50..100, y=..0, x=64..
time Day tick 0..24000, or a name time=night, time=0..6000
weather clear, rain or thunder weather=thunder
days In-world days elapsed days=100..
stat + count A player statistic and its value stat=killed:minecraft:zombie, count=100..
nbt Item NBT, matched as a subset nbt={Damage:0}
health Player health in points health=..6
xp_level Experience level xp_level=30..
light Light level where the player stands light=..7
biome Biome id biome=minecraft:desert
tag Scoreboard tag on the player tag=vip
gamemode survival creative adventure spectator gamemode=survival
difficulty peaceful easy normal hard difficulty=hard
wearing Item worn in an armor slot wearing=minecraft:diamond_helmet
fluid water or lava fluid=lava
chance Percent chance the rule fires, 1 to 100 chance=25
cooldown Seconds before the rule may fire again cooldown=60

Time names: day, night, noon, midnight, sunrise (or dawn), sunset (or dusk).

Stat types: mined, killed, killed_by, used, crafted, broken, picked_up, dropped, custom. count defaults to 1.., meaning at least once.

Everything from x downwards works on every trigger:

effects = [
    "effect=minecraft:poison, duration=10, trigger=pickup, item=minecraft:diamond, y=..0, time=night",
    "effect=minecraft:strength, duration=60, trigger=join, stat=killed:minecraft:zombie, count=100.."
]

Conditions

requires and missing gate a rule on effects the player already has. Both repeat, and all must pass. has and without are aliases.

effects = [
    "effect=minecraft:regeneration, duration=15, trigger=join, requires=minecraft:poison",
    "effect=minecraft:strength, duration=30, trigger=respawn, missing=minecraft:weakness"
]

Conditions read the player's state from before the rule set runs, so rules in one event cannot see each other's work. A rule blocked by a condition does not count against its limit.

Flags

Flags are permanent per-player marks, saved in the world. You can use them to make something like "once this happens, never again".

Key Does
set Set the flag when the rule fires
unset Clear the flag when the rule fires
if_set Only fire if the flag is set
if_unset Only fire if the flag is not set
effects = [
    "trigger=advancement, advancement=minecraft:end/kill_dragon, set=dragon_slain",
    "effect=minecraft:strength, duration=60, trigger=join, if_unset=dragon_slain",
    "trigger=consume, item=minecraft:milk_bucket, unset=dragon_slain"
]

Kill the dragon and the strength stops forever. Drink milk and it comes back. A rule that only writes flags needs no effect.

Curios

The wearing filter checks armour slots and, when Curios is installed, curio slots as well:

effects = [
    "effect=minecraft:speed, duration=30, trigger=consume, item=minecraft:bread, wearing=curios:ring"
]

Limits

limit stops a rule after that many grants per player, 0 never stops. id names the counter, defaulting to the effect, trigger and filters combined, so give two rules the same id when they should share a counter.

Timing

apply_delay_ticks (0 to 200) waits before applying. Use it if another mod clears effects when a player spawns.

scan_interval_ticks (1 to 200, default 20) is how often the continuous triggers re-check. Block scans for near sweep a sphere of radius.

Command

This clears saved limit counters and flags.

Command Clears
/effectcontrol reset Whoever ran it
/effectcontrol reset <targets> The players a selector picks out
/effectcontrol reset all Every stored player, online or not

Notes

Effects, blocks, items, entities and dimensions from other mods all work, just use their ids. A namespace-less id is assumed to be minecraft:. Entries that cannot be read are skipped and reported in the log, as is any id that is not installed.

FAQ

**Found a bug?**Submit a issue request on the Github issues page with:

  • A description of the problem.
  • Any relevant logs.
  • The version of Effect Control.
  • What loader you are using (ex: Forge 1.20.1, NeoForge 1.21.1)

Want to suggest a feature?

You can submit a feature request in the Github issues page or in the comments.

Project description from CurseForge.

Pick your setup

Effect Control by Minecraft version and loader

Choose the version and loader you play, then open the matching release.

2 available setups

Check the dependencies, then try the file in a copied instance before changing a world you care about.

Recent files

Effect Control versions and loaders

4 of 4 releases match

Looking for an older file? The official CurseForge project page is in Resources.