Conditions
MythicSeasons adds 24 conditions to MythicMobs. The bundled pack uses several of them. Condition names are not case sensitive.
Where conditions can be used
Conditions test an entity, such as a mob or a player. Only the eight season and calendar conditions (Season, IsDate, IsEvent, SubSeason, Weekday, Month, TimeRange and SeasonProgress) can also test a plain location: they then check its world and are false in the Nether and the End.
| Where | Entity tested |
|---|---|
Conditions: of a metaskill |
The caster, the mob or player running the metaskill. |
TargetConditions: of a metaskill |
Each target the calling skill passed in, minus those that fail (by default the metaskill does not run when none is left). |
TriggerConditions: of a metaskill |
The trigger entity. Fails when the skill has none. |
?condition at the end of a mechanic line |
The caster. |
?~condition at the end of a mechanic line |
The trigger entity. |
Conditions: of a drop table |
The entity that drops the loot. |
TriggerConditions: of a drop table |
The entity that caused the drop. |
After a condition, true passes when it matches, false when it does not, and no action means true. On a mechanic line, ?! turns the test around.
ColdWarning:
TargetConditions:
- playertemp{max=0} true
Skills:
- message{m="You are freezing."}
WarnNearbyPlayers:
Skills:
- skill{s=ColdWarning} @PlayersInRadius{r=20}
messagegoes only to the players who passed.
VillageGuard:
Type: VILLAGER
Skills:
- skill{s=GuardGreeting} @Trigger ~onInteract
GuardGreeting:
TriggerConditions:
- season{s=winter} true
Skills:
- message{m="Stay warm, traveller."}
Tests the player who interacted with the villager.
EveningGreeting:
Skills:
- message{m="Good evening."} @Self ?timerange{from=18;to=23}
- message{m="Not winter yet."} @Self ?!season{s=winter}
Inline conditions test the caster.
No entity to test
When MythicMobs tests a condition without any entity, IsDate, IsEvent, SubSeason, Weekday, Month, TimeRange and SeasonProgress pass when at least one world that has a season (not disabled) matches.
Season answers only when exactly one world has a season, or when synced-worlds in the calendar lists more than one world. Otherwise it is false.
Every other condition is false without an entity.
Worlds that never match
For an entity in the Nether or the End, the eight season and calendar conditions are false, so season{s=winter} false and ?!season{s=winter} pass there. No other condition excludes a world type.
Range argument
Conditions that compare a number take named attributes such as min and max. AtmosphereTemp, AtmosphereWind and CloudCover also take a bare argument, the range as its own word after the name and any braces: cloudcover >=0.7 true.
| Shape | Matches | Example |
|---|---|---|
>5 |
More than 5. | atmospherewind >5 |
>=5 |
5 or more. | atmospherewind >=5 |
<5 |
Less than 5. | atmospheretemp <5 |
<=5 |
5 or less. | atmospheretemp <=5 |
2to7 |
2 to 7, both included. | atmospheretemp 2to7 |
2-7 |
2 to 7, both included. | atmospheretemp 2-7 |
-10to-5 |
-10 to -5, both included. | atmospheretemp -10to-5 |
5 |
Exactly 5. | atmospherewind 5 |
The bare argument counts only when the line sets no named min, max or exact attribute.
| Condition | Lowest value | Highest value | Exact value | Bare argument | Numbers |
|---|---|---|---|---|---|
| Temperature | min |
max |
temperature, t, temp |
no | whole numbers |
| PlayerTemperature | min |
max |
temperature, t, temp |
no | whole numbers |
| AtmosphereTemp | min |
max |
temperature, t, temp |
yes | decimals |
| AtmosphereWind | min, minspeed |
max, maxspeed |
none | yes | decimals |
| CloudCover | min, minimum |
max, maximum |
none | yes | decimals |
| SeasonProgress | min |
max |
none | no | decimals |
| TimeRange | min, from |
max, to |
none | no | whole numbers |
A named value that is not a number, such as min=cold, is reported in the console and makes temperature, playertemperature, atmospheretemp, atmospherewind, seasonprogress and timerange always false.
Differences between similar conditions
Three conditions read different temperatures, all in degrees Celsius:
| Condition | Reads | Entities | Numbers |
|---|---|---|---|
| Temperature | The air temperature of the temperature system, plus blockheat lines with air=true for a player. |
Any entity | Whole degrees, named attributes only |
| PlayerTemperature | The body temperature of a player: the air plus every modifier. | Players only | Whole degrees, named attributes only |
| AtmosphereTemp | The air temperature of the weather sources: the simulation first, then the temperature system. | Any entity | Decimals, named attributes or bare argument |
Their placeholders are <mythicseasons.temperature>, <mythicseasons.playertemperature> and <mythicseasons.airtemperature>, see Placeholders.
Other differences:
isfrozenis a second name ofseasonfrozen, but MythicMobs always runs its ownisfrozen. Writeseasonfrozen.atmosphereweather,atmospherewind,atmosphereprofileandatmoprofileare also mechanics underSkills:.hasseasonsasks land protection about the chunk and never reads the season of the world.seasonreads the season of the world and ignores land protection.subseasonis false while sub-seasons are off, even forMIDDLE, but can readMIDDLEin a world without a season.cloudcovermeasures the simulation, and theincloudtest ofatmospherethe first solid cloud layer as drawn.- In
atmosphere, onlytruemeans true.yes,onand1mean false. - Where no weather source reports wind,
atmospherewindreads 0, somax=2matches there. iseventstays true in a world listed underworlds-without-events.tempandtare a temperature to compare with on a condition, but the degrees to add on ModifyTemp.timerangereads the in-game clock, not the position of the sun.
Weather sources
Atmosphere, AtmosphereTemp and AtmosphereWind use the first of these sources that has an answer.
| Order | Source | What it answers |
|---|---|---|
| 1 | WorldGuard permanent weather regions, see AtmosphereSpot | Rain and thunderstorm |
| 2 | The atmosphere simulation, in a world where it runs | Rain, snow, thunderstorm, clouds, air temperature and wind |
| 3 | Weather providers that other plugins add, see Weather Providers | Whatever the provider answers |
A provider of another plugin has priority 0, which comes after the simulation, unless the plugin asks for more (higher goes first). With no answer, MythicSeasons uses the vanilla weather, the air temperature of the temperature system, a wind of 0 and no cloud. In a WorldGuard region with season-atmosphere set to deny, the simulation does not answer (Land Claims).
Built-in weather conditions
MythicMobs has its own weather conditions: raining (alias israining), sunny (issunny), snowing (issnowing) and thundering (stormy, isthundering, isstormy).
On a MythicMobs build that lets plugins replace its built-in conditions, these four answer from the same weather sources as atmosphere (sunny is the opposite of raining). On any other build they read only the vanilla weather, and MythicSeasons prints a warning in the console. The conditions on this page always read the MythicSeasons weather.
Season and calendar
| Condition | Aliases | Description |
|---|---|---|
| Season | none | The season of the world. |
| SubSeason | seasonphase, phase |
The phase of the season: START, EARLY, MIDDLE, LATE or END. |
| SeasonProgress | seasonpercent |
How far through the season the world is, in percent. |
| IsDate | date |
The in-game day and month. |
| IsEvent | event |
A running calendar event. |
| Weekday | dayofweek |
The in-game day of the week. |
| Month | ismonth |
The in-game month, by number or by name. |
| TimeRange | hourrange |
The in-game hour, in a range that can wrap past midnight. |
| HasSeasons | none | Land protection allows seasonal effects in the chunk. |
Temperature and player
| Condition | Aliases | Description |
|---|---|---|
| Temperature | airtemperature, airtemp |
The air temperature of the temperature system, in Celsius. |
| PlayerTemperature | playertemp, bodytemperature, bodytemp |
The body temperature of a player, in Celsius. |
| IsHydrated | hydrated |
A player who has drunk recently, optionally by the seconds left. |
| HasTemperature | none | A player who has not switched temperature off. |
| SeasonFrozen | none | A player frozen by the setfreezing mechanic. |
| CanHeal | none | A player whose regeneration is not blocked by sethealing. |
| InWater | none | An entity in water. |
| Swimming | isswimming |
A swimming player. |
| InBoat | none | An entity riding a boat or a raft. |
Weather and atmosphere
| Condition | Aliases | Description |
|---|---|---|
| Atmosphere | atmosphereweather |
Rain, snow, thunderstorm and being inside a cloud. |
| AtmosphereTemp | atmospheretemperature, atmostemp |
The air temperature of the weather sources, in Celsius. |
| AtmosphereWind | atmoswind |
The surface wind speed, in metres per second. |
| AtmosphereSpot | atmosphereweatherspot, weatherspot |
A WorldGuard permanent weather region. |
| CloudCover | atmospherecloudcover, overcast |
How much of the sky around the entity holds cloud, from 0 to 1. |
| AtmosphereProfile | atmoprofile |
An atmosphere profile that is forced on the world. |