> ## Documentation Index
> Fetch the complete documentation index at: https://entities.lodemc.net/llms.txt
> Use this file to discover all available pages before exploring further.

# Conditions

> Yes/no tests that gate skills, lines, targets and spawns: the language and every condition.

A condition is a yes/no question about an entity or a place: *is it night*, *is the player holding a bow*, *are there fewer than five minions left*. The same conditions work everywhere a question can be asked:

| Where | Written as | Asks about |
| :- | :- | :- |
| A skill's gate | `conditions:` on the skill | the caster |
| A skill's target filter | `target-conditions:` | each target |
| A skill's trigger filter | `trigger-conditions:` | the trigger entity |
| One line | `?isNight`, `?~isPlayer` (see [Line Options](https://entities.lodemc.net/line-options.md#inline-conditions)) | the caster, or the trigger with `~` |
| A branch | `if{cond=…;then=…}`, `while{cond=…}` (see [Flow Control](https://entities.lodemc.net/flow-control.md)) | the line's first target |
| A targeter | `@playersInRadius{r=10;conditions=[ - sneaking ]}` | each candidate |
| A spawn rule | `cond:` (see [Natural Spawns](https://entities.lodemc.net/natural-spawns.md)) | the candidate spot |
| A dialog | `conditions:` on a node or choice (see [Dialog Conditions](https://entities.lodemc.net/dialog-conditions.md)) | the talking player |

The entity being asked about is the **subject**. Place questions (`isBiome`, `lightLevel`) ask about the subject's position, or about the spot itself when there is no entity, as in a spawn rule.

## Writing one

A condition is a name, optionally with options in braces: `isNight`, `health{h=<50}`, `mobsInRadius{r=24;a=1to5;types=crypt_minion}`. Names are case-insensitive and every MythicMobs name and alias is understood.

**Ranges** take MythicMobs' shapes: `>5`, `>=2`, `<10`, `<=3`, `1to10`, an exact `4`, and percentages where they make sense: `healthpercent{p=<50%}`.

### Combining them

In `cond=` and `cond:`, conditions combine like code:

```yaml theme={null}
- if{cond=isNight && var.phase >= 2;then=night_ambush}
- if{cond=!(moving) || health <= 20;then=rest}
```

* `&&` (and) binds tighter than `||` (or). `!` negates, `(…)` groups.
* Comparisons: `>=` `<=` `>` `<` `==` `!=`, between numbers, [variables](https://entities.lodemc.net/variables.md) (`var.x`, `target.var.x`, `global.var.x`, `world.var.x`, `skill.var.x`), and the keywords `random` (a fresh 0–1 roll), `health` and `maxhealth` (the caster's), `time` (world ticks since creation), plus the place numbers `light`, `blocklight`, `skylight`, `y`, `daytime`, `moonphase` and `spawndistance`.
* Two numbers compare as numbers; anything else compares as case-insensitive text with `==` and `!=` only. An unset variable counts as `0` or empty.
* A lone value with no comparison is true when it is set and not zero: `if{cond=var.enraged;then=…}`.

> [!WARNING]
>
> Quote a condition that starts with `!`. YAML reads a leading `!` as a tag: `- "!raining"`.

### Lists

A `conditions:` list must **all** pass. MythicMobs' list syntax works as written, with an action after each entry saying what to do with the answer:

```yaml theme={null}
penguin_step:
  conditions:
  - moving true
  - mobsInRadius{types=penguin;r=8} false
  effects:
  - sound{s=entity.polar_bear.step} @self
```

| Action | Meaning |
| :- | :- |
| `true` | Must pass. The default when no action is written. |
| `false` | Must fail. |
| `cast <skill>` | Runs that skill when it passes, and carries on. |
| `castinstead <skill>` | Runs that skill **instead** when it passes. |
| `orElseCast <skill>` | Runs that skill instead when it fails. |
| `power <n>` | Multiplies the skill's power when it passes. |
| `cancel` | Stops the skill when it passes. |

### Gating a skill

A skill written as a section takes a gate, checked against the caster before anything runs:

```yaml theme={null}
check_minions:
  conditions:
  - "mobsInRadius{types=crypt_minion;a=1to20;r=24}"
  conditions-else: no_minions_left   # MythicMobs' orElseCast
  effects:
  - actionbar{m=&7The minions are up} @playersRadius[24]
```

* The gate applies however the skill is called: `skill`, an `if` or `loop` body, `repeat`, an aura, the addon API.
* `conditions-else` names a skill to run instead. Chains are followed up to 8 deep, so two skills naming each other can't loop forever.
* A gate that doesn't parse is reported by `/le debug` and **dropped**, so the skill still runs. A silently disabled ability is harder to trace than one that fires when it shouldn't.

## Every condition

All MythicMobs conditions plus a few of LodeEntities' own (`moving`, `isBiome`, `isWorldType`, `isSpawnable` and the other place checks). Where the example shows an option, that is the main one; the MythicMobs aliases for it work too.

## Time and weather

| Condition | Example | True when |
| :- | :- | :- |
| `dawn` | `dawn` | It is dawn (22000–1999). |
| `dusk` | `dusk` | It is dusk (14000–17999). |
| `isday` <sub>also `day`</sub> | `isDay` | It is day (2000–9999). |
| `isnight` <sub>also `night`</sub> | `isNight` | It is night (14000–21999). |
| `istime` <sub>also `timeofday`</sub> | `isTime{night}` | The time of day is one of `dawn`, `day`, `dusk`, `night`. |
| `isweather` <sub>also `weather`</sub> | `isWeather{rain}` | The weather is `clear`, `rain` or `thunder`. |
| `lunarPhase` <sub>also `moonphase`</sub> | `lunarPhase{p=0}` | The moon phase (0–7) is in a range. |
| `raining` <sub>also `israining`</sub> | `raining` | It is raining. |
| `stormy` <sub>also `isstormy`</sub> | `stormy` | There is a thunderstorm. |
| `sunny` <sub>also `issunny`</sub> | `sunny` | It is not raining. |
| `thundering` <sub>also `isthundering`</sub> | `thundering` | There is a thunderstorm. |
| `worldtime` | `worldtime{t=13000to23000}` | The world time is in a range. |

## Place

| Condition | Example | True when |
| :- | :- | :- |
| `altitude` <sub>also `heightfromsurface`</sub> | `altitude{h=>5}` | Blocks above the ground is in a range. |
| `biometype` <sub>also `biomecategory`</sub> | `biometype{t=ocean}` | The biome is of one of these categories. |
| `blockType` <sub>also `inblock`, `insideblock`</sub> | `blockType{t=lava}` | The block at the subject's position is one of these. |
| `blockTypeInRadius` | `blockTypeInRadius{t=chest;r=5;a=>0}` | How many blocks of these types are within `r`. |
| `cuboid` <sub>also `incuboid`</sub> | `cuboid{a=0,60,0;b=20,80,20}` | The subject is inside a box between two corners. |
| `dimension` <sub>also `environment`</sub> | `dimension{d=nether}` | The world is a `normal`, `nether` or `the_end` dimension. |
| `distanceFromLocation` | `distanceFromLocation{location=0,64,0;d=<50}` | Distance from a location is in a range. |
| `distanceFromPin` | `distanceFromPin{pin=altar;d=<10}` | Distance from a pin is in a range. |
| `distanceFromSpawn` | `distanceFromSpawn{d=>1000}` | Distance from world spawn is in a range. |
| `distanceFromTrackedLocation` <sub>also `distanceFromTL`</sub> | `distanceFromTrackedLocation{d=>20}` | Distance from the caster's tracked location is in a range. |
| `enderdragonalive` <sub>also `isdragonalive`, `dragonalive`</sub> | `enderdragonalive` | An ender dragon is alive in the world. |
| `height` | `height{h=40to80}` | The Y coordinate is in a range. |
| `heightAbove` | `heightAbove{h=100}` | The Y coordinate is above a value. |
| `heightBelow` | `heightBelow{h=0}` | The Y coordinate is below a value. |
| `inClaim` | `inClaim` | Inside a land claim. Needs GriefPrevention. |
| `inPinRegion` | `inPinRegion{p1=a;p2=b}` | Inside the box between two pins. |
| `inside` | `inside` | There is a block above the subject. |
| `isbiome` <sub>also `biome`</sub> | `isBiome{desert, badlands}` | The biome is one of these. A bare name matches any namespace; `mygen:frozen_wastes` matches one. |
| `isblock` <sub>also `block`</sub> | `isBlock{water}` | The block at the spot is one of these. |
| `isblockbelow` <sub>also `blockbelow`, `ison`, `onblock`</sub> | `isBlockBelow{sand}` | The block underneath is one of these. |
| `isflat` <sub>also `flatworld`</sub> | `isFlat` | The world is superflat. |
| `isground` <sub>also `onground`</sub> | `isGround` | The block below is solid. |
| `ismoist` <sub>also `moist`</sub> | `ismoist` | The farmland at the spot is wet. |
| `isspawnable` <sub>also `spawnable`</sub> | `isSpawnable` | Two passable blocks: room for something to stand. |
| `isworld` <sub>also `world`</sub> | `isWorld{world_nether}` | The world is one of these. |
| `isworldtype` <sub>also `worldtype`</sub> | `isWorldType{flat, amplified}` | The world was generated as `normal`, `flat`, `large_biomes` or `amplified`. Biome checks can't tell you this: superflat plains look like plains. |
| `lightLevel` | `lightLevel{l=<8}` | Total light level at the spot is in a range. |
| `lightLevelfromblocks` <sub>also `blocklightlevel`</sub> | `lightLevelFromBlocks{l=>10}` | Light from blocks alone is in a range. |
| `localdifficulty` | `localdifficulty{d=>2}` | The regional difficulty is in a range. |
| `moisturelevel` <sub>also `moistness`, `moistureness`</sub> | `moisturelevel{l=7}` | The farmland moisture is in a range. |
| `nearClaim` <sub>also `nearClaims`</sub> | `nearClaim{r=16}` | A land claim is within `r`. Needs GriefPrevention. |
| `notInRegion` | `notInRegion{r=spawn}` | Not inside a WorldGuard region. Needs WorldGuard. |
| `originDistanceFromPin` | `originDistanceFromPin{pin=altar;d=<10}` | The skill origin's distance from a pin is in a range. |
| `originLocation` | `originLocation{l=0,64,0}` | The skill's origin is at a location. |
| `outside` | `outside` | Open sky above the subject. |
| `region` <sub>also `inregion`</sub> | `region{r=spawn}` | Inside a WorldGuard region. Needs WorldGuard. |
| `structure` | `structure{s=village_plains}` | Inside one of these structures. |

## The subject

| Condition | Example | True when |
| :- | :- | :- |
| `children` | `children{a=<3}` | How many mobs it has summoned is in a range. |
| `color` <sub>also `clr`</sub> | `color{c=red}` | Its colour (sheep, shulker, …) matches. |
| `enderdragonPhase` <sub>also `edragonPhase`</sub> | `enderdragonPhase{p=circling}` | An ender dragon's phase is one of these. |
| `entityType` <sub>also `mobtype`</sub> | `entityType{t=zombie,crypt_warden}` | Its vanilla type, or its LodeEntities id, is one of these. |
| `faction` | `faction{f=undead}` | Its faction matches. |
| `gamemode` <sub>also `gm`</sub> | `gamemode{m=survival}` | A player's game mode is one of these. |
| `globalscore` <sub>also `scoreglobal`</sub> | `globalscore{o=wave;v=3}` | A server-wide score is in a range. |
| `hasOwner` | `hasOwner` | It has an owner. |
| `hasParent` | `hasParent` | It has a parent. |
| `hasTag` <sub>also `hasScoreboardTag`</sub> | `hasTag{t=marked}` | It has a scoreboard tag. |
| `incombat` | `incombat` | It is in combat. |
| `isInSurvivalMode` <sub>also `inSurvivalMode`</sub> | `isInSurvivalMode` | A player is in survival. |
| `isliving` | `isLiving` | It is a living entity. |
| `ismonster` | `isMonster` | It is a hostile mob. |
| `isMythicMob` <sub>also `isMM`</sub> | `isMythicMob` | It is a LodeEntities mob. |
| `isParentAlive` <sub>also `parentAlive`</sub> | `isParentAlive` | Its parent is still alive. |
| `isplayer` | `isPlayer` | It is a player. |
| `lastSignal` | `lastSignal{s=ready}` | The last signal it received matches. |
| `level` | `level{l=>5}` | Its level is in a range. |
| `mythicMobType` <sub>also `mmType`</sub> | `mythicMobType{t=crypt_warden}` | It is one of these LodeEntities mobs. |
| `name` <sub>also `castername`</sub> | `name{n=Bob}` | Its name matches. |
| `ownerIsOnline` | `ownerIsOnline` | Its player owner is online. |
| `playerKills` | `playerKills{k=>0}` | How many players it has killed is in a range. |
| `score` | `score{o=kills;v=>10}` | Its scoreboard score is in a range. |
| `size` <sub>also `mobSize`</sub> | `size{s=>2}` | Its size (slimes, phantoms) is in a range. |
| `spawnReason` | `spawnReason{r=natural}` | Why it spawned is one of these. |
| `stance` | `stance{s=enraged}` | Its stance (set with `setstance`) matches. |
| `templateType` <sub>also `template`, `instanceOf`</sub> | `templateType{t=crypt_warden}` | It is one of these LodeEntities mobs. |

## State

| Condition | Example | True when |
| :- | :- | :- |
| `blocking` <sub>also `isblocking`</sub> | `blocking` | It is blocking with a shield. |
| `burning` <sub>also `isburning`, `isonfire`</sub> | `burning` | It is on fire. |
| `charged` <sub>also `isCharged`, `creeperCharged`</sub> | `charged` | A creeper is charged. |
| `crouching` <sub>also `iscrouching`</sub> | `crouching` | It is sneaking. |
| `directionalvelocity` <sub>also `dvelocity`</sub> | `directionalvelocity{f=>0.2}` | Its velocity relative to its facing (`x` side, `y` up, `z` forward) is in a range. |
| `enchantingExperience` <sub>also `enchantingExp`, `enchantExperience`, `enchantExp`</sub> | `enchantingExperience{a=>100}` | A player's experience points are in a range. |
| `enchantingLevel` | `enchantingLevel{l=>30}` | A player's experience level is in a range. |
| `fallSpeed` <sub>also `fallingspeed`</sub> | `fallSpeed{s=>0.8}` | How fast it is falling is in a range. |
| `foodlevel` <sub>also `hunger`, `food`, `hungerlevel`</sub> | `foodlevel{a=<6}` | A player's hunger is in a range. |
| `foodSaturation` <sub>also `hungerSaturation`</sub> | `foodSaturation{a=0}` | A player's saturation is in a range. |
| `gliding` <sub>also `isgliding`</sub> | `gliding` | It is gliding with an elytra. |
| `grounded` | `grounded` | It is standing on solid ground. |
| `hasAI` | `hasAI` | Its AI is on. |
| `hasAura` <sub>also `hasbuff`, `hasdebuff`</sub> | `hasAura{name=shield}` | It has an aura with that name. |
| `hasAuraStacks` <sub>also `hasbuffstacks`, `hasdebuffstacks`, `aurastacks`, `buffstacks`, `debuffstacks`</sub> | `hasAuraStacks{name=bleed;s=>3}` | It has that many stacks of an aura. |
| `hasAuraType` <sub>also `hasbufftype`, `hasdebufftype`</sub> | `hasAuraType{t=debuff}` | It has an aura of that group. |
| `hasgravity` <sub>also `gravity`</sub> | `hasgravity` | Gravity applies to it. |
| `haspassenger` | `haspassenger` | Something is riding it. |
| `hasPotionEffect` <sub>also `hasPotion`</sub> | `hasPotionEffect{t=poison}` | It has a potion effect, optionally at a `level` or `duration` range. |
| `health` <sub>also `hp`</sub> | `health{h=<50}` | Its health is in a range. |
| `healthpercent` <sub>also `hppercent`</sub> | `healthpercent{p=<0.5}` | Its health as a fraction of max is in a range. |
| `isBaby` | `isBaby` | It is a baby. |
| `isClimbing` <sub>also `climbing`</sub> | `isClimbing` | It is on a ladder or vine. |
| `isCreeperPrimed` | `isCreeperPrimed` | A creeper is about to explode. |
| `isflying` <sub>also `flying`</sub> | `isFlying` | A player is flying. |
| `isFrozen` | `isFrozen` | It is fully frozen in powder snow. |
| `isInvulnerable` <sub>also `isInvincible`</sub> | `isInvulnerable` | It is invulnerable. |
| `isLeashed` | `isLeashed` | It is on a lead. |
| `isRaiderPatrolLeader` <sub>also `isPatrolLeader`</sub> | `isRaiderPatrolLeader` | It leads a pillager patrol. |
| `isSaddled` <sub>also `saddled`</sub> | `isSaddled` | It has a saddle. |
| `isTamed` | `isTamed` | It is tamed. |
| `isUsingSpyglass` <sub>also `isScoping`</sub> | `isUsingSpyglass` | A player is looking through a spyglass. |
| `lastDamageCause` | `lastDamageCause{damagecause=fall}` | What last hurt it is one of these causes. |
| `motionx` <sub>also `motx`</sub> | `motionx{v=>0}` | Its X motion is in a range. |
| `motiony` <sub>also `moty`</sub> | `motiony{v=<0}` | Its Y motion is in a range. |
| `motionz` <sub>also `motz`</sub> | `motionz{v=>0}` | Its Z motion is in a range. |
| `mounted` | `mounted` | It is riding something. |
| `moving` <sub>also `ismoving`</sub> | `moving` | It is walking. Horizontal speed only, so jumping and falling don't count; set the threshold with `moving{speed=0.05}`. |
| `offGCD` | `offGCD` | Its global cooldown (`gcd`) has run out. |
| `pitch` | `pitch{p=<-45}` | Its head pitch is in a range. |
| `skillOnCooldown` | `skillOnCooldown{s=fireball}` | A skill is still on cooldown for it. |
| `sneaking` <sub>also `issneaking`</sub> | `sneaking` | It is sneaking. |
| `sprinting` <sub>also `issprinting`</sub> | `sprinting` | A player is sprinting. |
| `vehicleisdead` | `vehicleisdead` | What it was riding has died. |
| `velocity` | `velocity{v=>0.5}` | Its speed is in a range. |
| `yaw` | `yaw{y=0to90}` | Its yaw is in a range. |

## Caster and target

These compare the caster with the subject.

| Condition | Example | True when |
| :- | :- | :- |
| `boundingBoxesOverlap` <sub>also `bbsoverlap`</sub> | `boundingBoxesOverlap` | Their hitboxes touch. |
| `distance` | `distance{d=<5}` | Distance between the caster and the subject is in a range. |
| `fieldOfView` <sub>also `infieldofview`, `fov`</sub> | `fieldOfView{a=90}` | The subject is within `a` degrees of where the caster is looking. |
| `iscaster` | `iscaster` | The subject is the caster. |
| `ischild` <sub>also `child`</sub> | `ischild` | The subject was summoned by the caster. |
| `lineOfSight` <sub>also `inlineofsight`</sub> | `lineOfSight` | The caster can see the subject. |
| `lineOfSightFromOrigin` <sub>also `inlineofsightfromorigin`</sub> | `lineOfSightFromOrigin` | The skill's origin can see the subject. |
| `owner` | `owner` | The subject is the caster's owner. |
| `parent` <sub>also `isParent`</sub> | `parent` | The subject is the caster's parent. |
| `samefaction` <sub>also `factionsame`</sub> | `samefaction` | The subject is in the caster's faction. |
| `targetInLineOfSight` | `targetInLineOfSight` | The subject can see its own target. |
| `targetNotInLineOfSight` | `targetNotInLineOfSight` | The subject can't see its own target. |
| `targetNotWithin` | `targetNotWithin{d=10}` | The subject's own target is further than `d` blocks. |
| `targets` | `targets{a=>2}` | How many targets the calling line handed down is in a range. |
| `targetWithin` | `targetWithin{d=10}` | The subject's own target is within `d` blocks. |
| `ydiff` | `ydiff{d=>3}` | The height difference between them is in a range. |

## Counts

| Condition | Example | True when |
| :- | :- | :- |
| `chance` | `chance{c=0.25}` | A random roll: `0.25` passes a quarter of the time. |
| `livinginradius` | `livinginradius{r=10;a=>3}` | How many living entities are within `r`. |
| `mobsinchunk` | `mobsinchunk{a=<20}` | How many mobs are in the chunk. |
| `mobsinradius` <sub>also `mir`, `mobinradius`, `entitiesinradius`, `eir`</sub> | `mobsInRadius{r=24;a=1to5;types=my_minion}` | How many non-player living entities are within `r`, optionally only these types (mob ids or vanilla types). |
| `mobsinworld` | `mobsinworld{a=<500}` | How many mobs are in the world. |
| `playerNotWithin` <sub>also `playersnotwithin`</sub> | `playerNotWithin{d=10}` | No player is within `d` blocks. |
| `playersinradius` <sub>also `pir`, `playerinradius`</sub> | `playersInRadius{r=16;a=>0}` | How many players are within `r`. `a` is a range; omitted means at least one. |
| `playersInWorld` | `playersInWorld{a=>5}` | How many players are in the world. |
| `playersOnline` <sub>also `onlinePlayerCount`, `onlinePlayers`</sub> | `playersOnline{a=>10}` | How many players are online. |
| `playerWithin` <sub>also `playerswithin`</sub> | `playerWithin{d=10}` | Any player is within `d` blocks. |

## The event

| Condition | Example | True when |
| :- | :- | :- |
| `bowTension` <sub>also `bowshoottension`</sub> | `bowTension{f=>0.9}` | How far the bow was drawn, for `+onShoot`. |
| `DamageAmount` | `DamageAmount{a=>10}` | The damage that fired the skill is in a range. For `+onHurt` and damage auras. |
| `DamageCause` | `DamageCause{damagecause=fire}` | The cause of the damage that fired the skill. |
| `damageTag` <sub>also `damageHasTag`</sub> | `damageTag{t=fire}` | The damage that fired the skill carries a tag. |
| `itemType` <sub>also `triggerItemType`, `triggeringItemType`</sub> | `itemType{t=diamond_sword}` | The item that fired the skill is one of these. |
| `triggerBlockType` <sub>also `triggeringBlockType`</sub> | `triggerBlockType{t=stone}` | The block that fired the skill is one of these. |

## Items

| Condition | Example | True when |
| :- | :- | :- |
| `entityitemissimilar` | `entityitemissimilar{item=diamond}` | A dropped item matches. |
| `entityItemType` <sub>also `entityMaterialType`</sub> | `entityItemType{m=diamond}` | A dropped item is one of these types. |
| `hasCurrency` <sub>also `hasmoney`</sub> | `hasCurrency{a=100}` | A player has at least that much money. Needs Vault. |
| `hasEnchantment` <sub>also `hasEnchant`</sub> | `hasEnchantment{e=sharpness;l=>3}` | Its equipment has an enchantment. |
| `hasInventorySpace` | `hasInventorySpace` | A player has a free inventory slot. |
| `hasitem` <sub>also `has`</sub> | `hasItem{item=diamond;amount=2}` | A player carries the item (at least `amount`). |
| `hasoffhand` <sub>also `offhand`</sub> | `hasoffhand` | It has something in its off hand. |
| `haspermission` <sub>also `hasperm`, `permission`</sub> | `hasPermission{perm=my.node}` | A player has a permission. |
| `holding` | `holding{item=bow}` | It is holding the item. |
| `itemissimilar` <sub>also `issimilar`, `similarto`</sub> | `itemissimilar{slot=hand;item=diamond_sword}` | The item in a slot matches. |
| `itemRecharging` | `itemRecharging` | A player's attack is still recharging. |
| `lookingAt` | `lookingAt{b=chest;d=5}` | A player is looking at a block or entity type within `d`. |
| `materialIsOnCooldown` <sub>also `materialCooldown`, `matCooldown`</sub> | `materialIsOnCooldown{m=ender_pearl}` | An item type is on cooldown for a player. |
| `wearing` <sub>also `iswearing`, `wielding`, `iswielding`</sub> | `wearing{slot=head;item=diamond_helmet}` | It has the item in that equipment slot. |

## Variables

| Condition | Example | True when |
| :- | :- | :- |
| `stringEmpty` <sub>also `isEmpty`</sub> | `stringEmpty{v=<caster.var.name>}` | A placeholder resolves to nothing. |
| `stringEquals` <sub>also `stringEq`</sub> | `stringEquals{v1=<target.name>;v2=Steve}` | Two values are equal; both may use placeholders. |
| `stringNotEmpty` <sub>also `notEmpty`</sub> | `stringNotEmpty{v=<caster.var.name>}` | A placeholder resolves to something. |
| `variableEquals` <sub>also `variableeq`, `varequals`, `vareq`</sub> | `variableEquals{var=caster.phase;value=2}` | A variable equals a value. |
| `variableInRange` <sub>also `varinrange`, `varrange`</sub> | `variableInRange{var=caster.hits;value=>5}` | A numeric variable is in a range. |
| `variableIsSet` <sub>also `varisset`, `varset`</sub> | `variableIsSet{var=target.marked}` | A variable is set. |

## Server

| Condition | Example | True when |
| :- | :- | :- |
| `plugin` <sub>also `pluginexists`, `hasplugin`</sub> | `plugin{p=WorldGuard}` | A plugin is installed. |
| `serverversion` <sub>also `server`, `version`</sub> | `serverversion{v=1.21.4}` | The server runs that Minecraft version. |
| `servernmsversion` <sub>also `servernms`, `nmsversion`</sub> | `servernmsversion{v=v1_21_R3}` | The server runs that internal version. |
| `premium` <sub>also `ispremium`, `iscool`</sub> | `premium` | Always passes. Accepted for compatibility. |
| `mythicpack` <sub>also `pack`, `haspack`</sub> | `mythicpack{pack=x}` | Accepted for compatibility; packs aren't supported, so it never passes. |
| `packversion` <sub>also `mythicpackversion`, `packversionis`</sub> | `packversion{pack=x;v=1}` | Accepted for compatibility; never passes. |
| `packversiongreater` <sub>also `mythicpackversiongreater`, `packversionisgreater`</sub> | `packversiongreater{pack=x;v=1}` | Accepted for compatibility; never passes. |
| `MythicKeyId` <sub>also `keyid`, `ariKeyId`</sub> | `MythicKeyId{key=x}` | Accepted for compatibility; key presses need a client mod and never fire. |

Region and claim conditions need WorldGuard or GriefPrevention; without the plugin they answer "no". Addons can register more conditions; see [Extending the Effect Language](https://entities.lodemc.net/extending-effects.md#custom-conditions).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.