# RealisticSeasons

Welcome to the RealisticSeasons Wiki!

**Important note**: multiple leak websites are spreading versions of RealisticSeasons with Trojans in them. Please do not use them, only directly download from SpigotMC, PolyMart or BuildByBit.

This wiki contains all the information you'll need for the Minecraft plugin RealisticSeasons. RealisticSeasons adds [summer](/seasons/summer), [spring](/seasons/spring), [autumn/fall](/seasons/autumn-fall) and [winter ](/seasons/winter)to your worlds, without a resource pack. Every season has its own set of features. It changes the looks of your world in a way never seen before. A complete [calendar ](/calendar/calendar-system)and [temperature ](/temperature/temperature-system)system is also included. Download the plugin [here](https://www.spigotmc.org/resources/realisticseasons-1-16-3-1-18-1-seasons-in-your-minecraft-world-with-temperature-and-calendar.93275/).

All wiki pages can be viewed and accessed through the menu on the left.

###

### Links

[SpigotMC ](https://www.spigotmc.org/resources/realisticseasons-1-16-3-1-18-1-seasons-in-your-minecraft-world-with-temperature-and-calendar.93275/)\
[Discord](https://discord.gg/fKz75XsGrt)\
[Github](< https://github.com/casperge/RealisticSeasons-issues/issues>)


# FAQ

**I installed RealisticSeasons but nothing seems to work. Why isn't it working?**\
*Seasons are disabled in all worlds by default, run `/rs set <season>`. This will enable seasons, the calendar and temperature in your world. The season cycle will also start.*

**Will RealisticSeasons remove the snow and ice in my snowy biomes?**\
*No, it will never remove any naturally generated snow and ice.*

**I want one season to take x amount of real-life days. Is this possible?**\
*Yes, set "*&#x63;alendar-is-real-life-day&#x73;*" to true in the* [*calendar.yml*](/configuration/calendar) *and change the months to how many real-life days you want them to take.*

**Birch and spruce leaves aren't changing colours. Why is this happening?**\
*The colours of birch and spruce leaves can't be changed by biomes. The colour is hard-coded into the client, they're impossible to change.*

**Temperature doesn't work in the nether and end, how do I fix this?**\
*Go to both the nether and end and run `/rs temperature toggle`*

**Does RealisticSeasons support x world generator?**\
*RealisticSeasons supports all world generators, see* [*custom biome configuration* ](/configuration/custom-biomes#summary-of-how-to-make-realisticseasons-compatible-with-any-world-generator)*for details.* [*Terralith* ](/interactions-with-other-plugins/soft-dependencies/terralith)*works the best.*

**Does RealisticSeasons mess with the biomes on my server?**\
*No, RealisticSeasons never changes a single biome, it is all client-side through packets. This means that biomes may look like they've changed but they actually haven't. All vanilla and plugin mechanics work like normal. Check out* [*Biome colours*](/seasons/biome-colors) *for more details.*&#x20;

**My server has multiple worlds, will this work with RealisticSeasons?**\
*Yes, seasons are world-based. This means that seasons can be toggled on and off separately for each world using `/rs set <season>`.  Seasons are disabled in all worlds by default. Check out* [*synchronizing*](/calendar/synchronizing#synchronize-time-of-multiple-worlds) *if you want the calendar and seasons to be the same in all worlds.*

**Will my (large) server lag when using RealisticSeasons?**\
*No, RealisticSeasons changes your world very slowly making sure it never lags. A short lag spike may occur on larger servers the moment the season changes but that's it. If your server is running on minimum hardware consider increasing `delay-per-operation` in the* [*config.yml*](/configuration/config-and-translations)*. It will improve performance significantly.*

**Snow and ice are melting too slow for me, how can I speed this up?**\
*Reducing `delay-per-operation` in the* [*config.yml*](/configuration/config-and-translations) *will speed up all processes of the plugin. Most servers should be able to handle the lowest value, 1.*

**I want the calendar system to use the date and time of the real world, is that possible?**\
*Yes, check out* [*synchronizing*](/calendar/synchronizing#synchronize-with-real-time) *for details. The season will also be the same as in real-life.*

**Does the temperature system support Fahrenheit?**\
*Yes,* [*here*](/configuration/temperature#display) *is explained how to set it to Fahrenheit.*

**Can the temperature system be disabled?**\
*Yes, simply set `enabled` to `false` in the* [*temperature.yml*](/configuration/temperature)*. The seasons and calendar will keep functioning like normal.*

**Is RealisticSeasons compatible with MythicMobs?**\
*Yes, RealisticSeasons even adds an extra condition for seasons to MythicMobs. More information* [*here*](/interactions-with-other-plugins/soft-dependencies/mythicmobs)*.*

**I want to ask another question about the plugin, where can I do this?**\
*You can ask your question on the Discord server* [*here*](https://discord.gg/tMeXykSNny)*.*

**My system language is Turkish and the plugin generates errors on startup. How do I fix this?** \
*Add the following line to your startup command:* `-Duser.language=en -Duser.region=EN`


# Setup

Setting up the plugin is relatively easy. A working Spigot server or variant of Spigot like PaperMC is required.\
\
**1.** Download RealisticSeasons from the [spigot page.](https://www.spigotmc.org/resources/realisticseasons-1-16-3-1-18-1-seasons-in-your-minecraft-world-with-temperature-and-calendar.93275/)\
**2.** Download ProtocolLib here: <https://www.spigotmc.org/resources/protocollib.1997/>\
**3.** Put both downloaded jars into the plugins folder of your server.\
**4.** Restart your server\
**5.** Go to the world you want seasons in and type `/rs set spring`. This will set the season in your world to spring and it will also automatically activate the temperature and calendar system. The season cycle starts too.\
**6.** Check out the configuration section of this wiki if you want the plugin to perfectly fit your server. This is not necessary, the plugin will function without changing anything.


# Commands & Permissions

The commands are split into two categories: **admin** and **player** commands.

## Player commands

These commands are designed to be used by all players on the server. Each of them has a separate permission in case you want to turn some of them off.\
\
**Command:** `/season`\
**Permission:** `realisticseasons.getinfo`\
Displays the current season, date, days until next season, active events, next even, time until next event and air temperature to the user. This information can also be displayed using [PlaceholderAPI ](/interactions-with-other-plugins/soft-dependencies/placeholderapi)on a scoreboard for example. \
\
**Command:** `/toggleseasoncolors`\
**Permission:** `realisticseasons.toggleseasons`\
Toggles the [season colours](/seasons/biome-colors) (trees, grass, water, sky etc) for the player running the command only. Some users may have a resourcepack conflicting with the colours or they simply prefer playing without them. Players with season colours disabled will just see the normal vanilla biomes and all other players on the server will continue to see the season colours.\
\
**Command:** `/toggletemperature`\
**Permission:** `realisticseasons.toggletemperature, realisticseasons.toggletemperature.others`\
Disables the [temperature system](/temperature/temperature-system) for the player running the command only. Please note that this will also disable the consequences of having a bad temperature, giving the player a small advantage. Only give users access to this command if you do not care about this.

**Command:** `/toggleseasonparticles`\
**Permission:** `realisticseasons.toggleparticles`\
Disables all season particles for the player running the command only. Season particles look weird with some shaders and this toggle will solve the problem.

**Command:** `/togglefahrenheit`\
**Permission:** `realisticseasons.togglefahrenheit`\
Toggles the player's temperature between Fahrenheit and Celcius on the actionbar and on placeholders. This is a personal setting.

**Command:** `/currentbiome`\
**Permission:** `realisticseasons.getbiome`\
Displays current biome. Useful since biomes are hidden in f3 when using RealisticSeasons<br>

## Admin commands

These commands should only be accessible to the admin(s)/owner(s) of the server. There is only one permission needed for all admin commands\
\
**Permission:** `realisticseasons.admin`\
**Commands:**\
\
`/rs set <spring/summer/fall/winter>`\
Change the current season in the world the player is in. Also changes the date of the world to the first day of the season.\
\
`/rs setdate <dd/mm/yyyy>`\
Change the date of the world the player is in. If the date falls on a different season it will also switch seasons. The format used in this command switches to`<mm/dd/yyyy>` if you select this format in the [calendar.yml](/configuration/calendar#american-date-format).\
\
`/rs install <generator>`\
Install biome configuration files for supported custom world generators. Terralith 2.0 is currently the only option. Biome files can also be created manually by the user for any world generator you want, see [custom biome configuration](/configuration/custom-biomes#configuration-for-custom-biomes-generators).\
\
`/rs nextseason`\
Simply skips to the next season, in a similar way as `/rs set`.\
\
`/rs disable`\
Disable seasons in this world. All worlds have seasons disabled by default.\
\
`/rs restoreworld`\
Reverts all changes the plugin has made to this world. This process will take a while since it can only change loaded chunks. There is no "progress" since the plugin does not save what it has changed/checked. Remove the plugin from the server when you feel like your world is normal again or stop the restore process by doing `/rs disable`.\
\
`/rs temperature toggle`\
Toggles the [temperature system](/temperature/temperature-system) on or off in the world you are currently in. This command can also be used in worlds without seasons, the nether or the end. Temperature is disabled by default in the nether and the end.\
\
`/rs temperature modify <player> <temperature-change> <duration>`\
Temporarily change the temperature of a player. The temperature change adds/subtracts from the current temperature of the player. This command can be very useful if you want another plugin on your server to interact with a player's temperature.\
\
`/rs temperature clear <player>`\
Remove all temporary temperature effects that the specified player has.  Only includes those that were applied with `/rs temperature modify`.\
\
`/rs pausetime`\
Pause time in the current world. RealisticSeasons overrides the vanilla gamerule `doDayLightCycle` and this command is an alternative to it.  \
\
`/rs getinfo`\
Exactly the same functionality as the player command `/season`.

`/rs reload`\
Reload all RealisticSeasons files, except the biome files. Biome files can't be reloaded while the server is running, it will require a full restart.\
\
`/rs help`\
Shows a list of all commands with a short explanation.<br>


# Spring

Spring is by far the easiest season and it will give your world an alive and warm feeling. The trees get a beautiful colour, the water and sky will get a warm colour, the entire world will be flooded with flowers and baby animals can be found around every corner. Spring gives your world a special feeling, especially after a long and cold winter.

### Quick summary

* Spring starts on March 4th by default, see [calendar system](/calendar/calendar-system).
* Leaves in forests will turn pink and water will have a slight light-blue tint.
* Cherry blossom falls from leaves
* For 1.20 and above: all oak leaves change to cherry leaves through packets
* The sky has a light-blue colour
* Flowers can be found everywhere, the entire world will look like a flower forest
* Snow and ice generated in winter will be removed
* Lots of sheep, cows, pigs, rabbits and chickens will spawn each with 3-5 babies
* [Fireflies](/seasons/particles#fireflies) will spawn at night
* Increased spawn rate of bees
* Average [temperature ](/temperature/modifiers)of 5°C-23°C, depending on the biome.
* The length of the day and night are mostly equal, see [day and night length](/calendar/day-and-night-length).

### Mechanics

The effects of spring are (like all seasons) different in each biome. The jungle leaves in a jungle biome will keep their normal colour for example. Some biomes also don't get any flowers and only get some colour changes. The average temperature is different in each biome, a desert will be much warmer in spring than a frozen tundra.&#x20;

### Sub-seasons

During the early[ sub-seasons](/seasons/sub-seasons) of spring, snow removal is slower and happens block-by-block rather than entire chunks at once. You'll notice that the removal pattern is faster later in spring.&#x20;

### Cherry leaves

In the middle of spring (before and after the [sub-seasons](/seasons/sub-seasons)) all oak leaves turn into cherry leaves on Minecraft version 1.20 and above. The block changes are client-side only, meaning that the original oak leaves are not removed on the server. Breaking these cherry leaves will also drop normal oak leaves. The packets are processed asynchronously to ensure minimal performance impact. You can also switch this feature off to display the normal custom biome-based spring leaves featured in the screenshots below.

### Screenshot (with cherry leaves, 1.20 and above)

<figure><img src="https://i.imgur.com/DTkG2zG.png" alt=""><figcaption></figcaption></figure>

### Screenshots (without cherry leaves, until 1.19 or enabled in settings)

![](https://3819232107-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4p9wNXvzbAgtriQR5M18%2Fuploads%2FeATZm4rjj8qjGaRzlWhO%2Fspring.png?alt=media\&token=27742b4a-d986-4504-a7b5-343abb6e194a)

![](https://3819232107-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4p9wNXvzbAgtriQR5M18%2Fuploads%2F4FUCoAsO43MwZNIpyO31%2F2022-02-20_17.41.51.png?alt=media\&token=451d530b-a309-40d0-a289-eb12d8b000a4) ![](https://3819232107-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4p9wNXvzbAgtriQR5M18%2Fuploads%2FDDq3grnFF7q0gj6wdfVi%2F2022-02-20_18.22.34.png?alt=media\&token=b2dd64d1-1c16-40b8-8316-462d2736d8d1) ![](https://3819232107-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4p9wNXvzbAgtriQR5M18%2Fuploads%2FXXDHxdl3CYa9ievKuT2J%2F2022-02-23_12.22.07.png?alt=media\&token=f55532f1-f429-4464-8eb8-cba4da202710) ![](https://3819232107-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4p9wNXvzbAgtriQR5M18%2Fuploads%2FFzNAuK0A4g1Qvpk6SaPX%2F2022-02-23_12.24.25.png?alt=media\&token=983f85be-e46a-4aeb-9ff4-d7b3122c0d3f) ![](https://3819232107-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4p9wNXvzbAgtriQR5M18%2Fuploads%2F1fUco25rwmZ0EWk26dHE%2F2022-02-23_12.25.23.png?alt=media\&token=8ccf9997-6683-4058-ab1c-49eaf0f34a9b) ![](https://3819232107-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4p9wNXvzbAgtriQR5M18%2Fuploads%2FnrBrHuPVcU6JwcpujiMw%2F2022-02-23_12.25.37.png?alt=media\&token=49b4d3d7-283f-4e11-b542-ecc6a50d5586)

####


# Summer

The days are becoming longer and the sun is very strong. The world is slowly turning into a big jungle. Animals normally only found in the jungle will now be everywhere. The trees have vibrant green colours similar to jungle leaves and the sky and water become light blue. Crops are also growing extremely fast and temperatures skyrocket. Make sure to take some extra water with you to conquer the heat.

### Quick summary

* Summer starts on June 4th by default, see [calendar system](/calendar/calendar-system)
* Trees and grass in most biomes have a vibrant green colour similar to jungle leaves
* Cold biomes (snowy plains, taiga etc) have the grass colour of plains
* Hot biomes (desert, savanna) look a bit dry
* The colour of the water and sky is light blue
* [Shooting stars](/seasons/particles#shooting-stars) can be seen at night
* [Fireflies](/seasons/particles#fireflies) will spawn at night
* Flowers placed in spring are removed
* [Leaves ](/seasons/particles#falling-leaves)fall out of the trees
* Patches of berry bushes spawn everywhere
* Rain is very rare
* Animals that normally spawn in the jungle can now spawn everywhere
* Crops/plants without a block somewhere above them will grow 2x as fast
* Days will be long (around 13 min) and nights will be short (7 min), see [day and night length](/calendar/day-and-night-length)
* Husks will spawn instead of zombies
* The average [temperature ](/temperature/modifiers)will be between 25°C-40°C, depending on the biome

### Screenshots

![](https://3819232107-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4p9wNXvzbAgtriQR5M18%2Fuploads%2FKpyTC3QBwvNV2k2995AR%2Fsummer.png?alt=media\&token=91dbf5f8-57fb-458b-bdd6-893594be3a64)

![](https://3819232107-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4p9wNXvzbAgtriQR5M18%2Fuploads%2F60IOCMjB1y7MVgXtQC9f%2F2022-02-23_12.29.18.png?alt=media\&token=c4005e43-90f6-4862-90e7-9de69eeb1ba4) ![](https://3819232107-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4p9wNXvzbAgtriQR5M18%2Fuploads%2FOQJivxbTy4D9OuDAFlFT%2F2022-02-23_12.31.08.png?alt=media\&token=6d1ef918-c2a4-42c9-8187-fe944fa30f42) ![](https://3819232107-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4p9wNXvzbAgtriQR5M18%2Fuploads%2FvAsBPsffKpypRXfRDgeA%2F2022-02-23_12.31.53.png?alt=media\&token=93a228b4-a7ac-4093-ae1b-7cfad1ea08c3) ![](https://3819232107-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4p9wNXvzbAgtriQR5M18%2Fuploads%2FN6maMwA3zMmqYEn2dbUl%2F2022-02-23_12.32.21.png?alt=media\&token=c9a7d893-03b6-4aa7-bcde-809af9656f79)


# Autumn/Fall

The days become shorter and the sun loses its strength. Trees turn into beautiful colours and the ground and water become muddy. The sky is dark and it feels like a storm could break loose any minute. Foxes, mooshrooms, frogs, bats and (cave)spiders start appearing around the world. Forests have never been so beautiful.<br>

### Quick summary

* Autumn/Fall starts on September 4 by default, see [calendar system](/calendar/calendar-system)
* Trees turn into all kinds of colours: orange, blue, green, yellow and brown.&#x20;
* Grass has a light-brown muddy colour
* The sky has a grey colour
* Water is brown and looks muddy
* Big patches of mushrooms appear
* It will rain and storm very often
* Small [(falling leaf) particles](/seasons/particles#falling-leaf-particles) will appear under trees.&#x20;
* Bats spawn above ground at night
* Mooshrooms, frogs and foxes appear everywhere
* Extra spiders can be found at night and sometimes even cave spiders
* The average [temperature ](/temperature/modifiers)will be between 5°C-25°C, depending on the biome
* Mobs have a 20% chance to spawn with a pumpkin on their head
* Day and night length are mostly equal, see [day and night length](/calendar/day-and-night-length)
* Berry bushes generated by summer are removed

### Screenshots

![](https://3819232107-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4p9wNXvzbAgtriQR5M18%2Fuploads%2FcmSycnVbB647DeAkIYa4%2Ffall.png?alt=media\&token=6e38852d-d356-4364-9615-9cf5cb83864b)

![](https://3819232107-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4p9wNXvzbAgtriQR5M18%2Fuploads%2Fbf3OipE4hg2svW2ZU60P%2F2022-02-23_12.35.13.png?alt=media\&token=3eadda7a-8be0-4644-a9bf-f0aa6d990411) ![](https://3819232107-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4p9wNXvzbAgtriQR5M18%2Fuploads%2FoskiHxSS2QT7ov5y5Rbm%2F2022-02-23_12.36.30.png?alt=media\&token=f6f0eafa-433b-4a4f-90de-07a45b475b7f) ![](https://3819232107-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4p9wNXvzbAgtriQR5M18%2Fuploads%2FjX0pMSGl8LhJNCqMfZVt%2F2022-02-23_12.36.49.png?alt=media\&token=c2507316-f882-4f24-9997-13c31ab26bfb) ![](https://3819232107-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4p9wNXvzbAgtriQR5M18%2Fuploads%2F2TDiM5OEomqecrdJBOn7%2F2022-02-23_12.38.05.png?alt=media\&token=a1e37122-b6a3-4de1-86ac-1764067ed986) ![](https://3819232107-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4p9wNXvzbAgtriQR5M18%2Fuploads%2FPa2jgVTI4hVDGM4zpbTd%2F2022-02-23_12.38.22.png?alt=media\&token=f5f0b632-b7f6-4dd6-ac1e-f1d67793bbd9)


# Winter

Temperatures are dropping and survival is becoming a real challenge. Most plants died from the cold snow and the ones that survived can't grow. The lakes and rivers are frozen and swimming could be lethal. The water has a dark-blue colour and the trees and grass are light-grey. Surviving the long and cold nights is truly a challenge.&#x20;

### Quick summary

* Winter starts on December 4 by default
* Leaves and grass have a light-grey tint
* The sky is a bit more white
* Water is dark blue
* All water source blocks without a block somewhere above them will freeze over time
* It snows instead of rain. The actual snow texture of vanilla Minecraft is used, not particles. Snow will be removed again after the season
* Nights will be long (around 13min) and days will be short (around 7 min). See [day and night length](/calendar/day-and-night-length)
* Wolves, white foxes, polar bears and snowmen (without pumpkin) can be found everywhere
* Strays will spawn instead of skeletons
* There's a 20% chance every night that the sky will be filled with [white sparks](/seasons/particles#night-sparks)
* Crops/plants will not grow if they don’t have a block (somewhere) above them. This forces players to build indoor farms if they want to grow crops in the winter.
* Average [temperature ](/temperature/modifiers)will be between -10°C-5°C, depending on the biome
* Players will have to protect themselves against the cold temperatures. [Here ](/temperature/modifiers)is explained how they can

### Sub-seasons

Snow and ice placement changes between [sub-seasons](/seasons/sub-seasons). During the beginning of winter, snow may be visible in the air but will likely not be placed on the ground because of the relatively higher temperatures. Ice formation is slow and starts on the outside of lakes and grows to the inside as seen below:

<figure><img src="https://media2.giphy.com/media/Hwox7IHdB9DmzT5MlP/giphy.gif?cid=790b76116dbff238ab2a58d9f0db73348430b89b4f060d11&#x26;rid=giphy.gif&#x26;ct=g" alt=""><figcaption><p>Pattern of ice formation in early-winter</p></figcaption></figure>

### Screenshots

![](https://3819232107-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4p9wNXvzbAgtriQR5M18%2Fuploads%2Foj5WVFKhjwqBHpmwMoyk%2Fwinter.png?alt=media\&token=e3b68c23-a7cb-44dc-95b5-127d09230d3f)

![](https://3819232107-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4p9wNXvzbAgtriQR5M18%2Fuploads%2F77Kn3wggYGUFAFXXqdxF%2F2022-02-23_12.43.55.png?alt=media\&token=fd18e9b4-3074-45c1-b1a3-c42d88957202) ![](https://3819232107-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4p9wNXvzbAgtriQR5M18%2Fuploads%2FetwGqo1NB6Ux1ggVn6HE%2F2022-02-23_12.44.15.png?alt=media\&token=c2c0a4d3-857d-4330-8fd5-7a3ffef8509d) ![](https://3819232107-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4p9wNXvzbAgtriQR5M18%2Fuploads%2FDizmjIL1cwVnxLK1CApj%2F2022-02-23_12.45.28.png?alt=media\&token=b20054bd-bf82-4d03-92cc-a3e029632a9a) ![](https://3819232107-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4p9wNXvzbAgtriQR5M18%2Fuploads%2FTYLotYAGcpxIL5iCzUsB%2F2022-02-23_12.47.53.png?alt=media\&token=9cd95fd0-f4d5-43b5-b31a-b2b5b2db6da3) ![](https://3819232107-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4p9wNXvzbAgtriQR5M18%2Fuploads%2FXQf5H1yj6AuPI9Pq8WoT%2F2022-02-23_12.48.47.png?alt=media\&token=c375fb99-f87f-46b2-805e-1527b7ade752) ![](https://3819232107-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4p9wNXvzbAgtriQR5M18%2Fuploads%2FnUuoCqMPukQNewJIT70p%2F2022-02-23_12.49.13.png?alt=media\&token=d6fcece3-eb56-4443-8bd0-1ae5a425f1e1)


# Sub-Seasons

<figure><img src="https://i.giphy.com/media/F57eDa7Jre78TfnQ17/giphy.webp" alt=""><figcaption></figcaption></figure>

The season colours do not instantly transition, they change in 4 steps. Each step is called a "sub-season". They are active around season change and make sure everything changes smoothly.&#x20;

Each sub-season has its own colour and effects.

| Phase               | Start               | End                 | Biome color mix              |
| ------------------- | ------------------- | ------------------- | ---------------------------- |
| Sub-season 1        | Season start        | 9% of total season  | 45% last season, 55% current |
| Sub-season 2        | 9% of total season  | 18% of total season | 25% last season, 75% current |
| Full season effects | 18% of total season | 84% of total season | Full season colors           |
| Sub-season 3        | 84% of total season | 92% of total season | 75% current season, 25% next |
| Sub-season 4        | 92% of total season | Season end          | 55% current season, 45% next |


# Biome colors

RealisticSeasons adds about 70 custom biomes (a new mechanic in 1.16) to the server that will be used for the season colours. This requires **no resourcepack**, all biome data is sent to the player on login and it happens invisibly. This does not require any kind of mod, a vanilla Minecraft client will perfectly be able to see all the season colours. No annoying resourcepack popups.&#x20;

While the players may see different colours and biomes (even in f3), the actual vanilla biomes are never changed on the server. The season biomes are injected into the packets to the players. This means that the biomes the players are seeing are not real and the vanilla biomes are still in place. This makes running the plugin extremely safe. Other plugins and vanilla mechanics that interact with biomes will work just like normal and if you decide to remove the plugin all the colours will be gone instantly.

Each biome has its own colours and each and every colour can be changed by the server owner. This allows you to basically create your own seasons, see [(custom) biomes in configuration](/configuration/custom-biomes) for details.

RealisticSeasons has a system that detects other plugins that register custom biomes and seasons will automatically be applied to those biomes. RealisticSeasons chooses the best effects using the biome's temperature. Take a look at [this](/interactions-with-other-plugins/soft-dependencies/other-world-generators) page for more information.


# Animals

Season animals (see season pages) will be spawned randomly throughout the seasons and multiple spawns can happen in the same place over time. The plugin spawns again if it detects there are not enough season animals in the area. Most animals spawn alone except cows, chickens, pigs, sheep, wolves, parrots, rabbits and bees. Look at the feature summary on the season pages for a full list of what animals spawn each season.

After the season ends these animals will automatically despawn. Players can stop animals from despawning by breeding, feeding, nametagging or taming them. Bees will also not despawn if they're given a beehive. These mechanics make sure entire farms can't despawn after the season ends. The season animals also have a special invisible tag so they can be distinguished from vanilla entities. This means that vanilla generated entities will never be despawned by the plugin.

Some animals behave differently than their normal vanilla variant. Wolves, foxes and ocelots for example aren't aggressive towards other animals. They have a chance of spawning inside a player's farm and they could kill everything. Snowmen spawn without a pumpkin on their head (see screenshots on [winter page](/seasons/winter#screenshots)) and they are passive towards mobs. This prevents huge fights from breaking out at night resulting in a landscape full of craters by creepers.&#x20;


# Particles

RealisticSeasons adds a few particle effects to your world for extra immersion. You can configure them in the [config.yml](/configuration/config-and-translations#config). Here is a list of all the particles:

### Shooting stars

![](https://3819232107-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4p9wNXvzbAgtriQR5M18%2Fuploads%2FEodsX2etXB2pChpew4vi%2FShooting_star.gif?alt=media\&token=74688ea4-1a8d-435a-80b2-ce25fd2695fb)

Shooting stars appear on summer nights and they're most visible around midnight. Players need their render distance set to at least 10 to be able to see them. Nights have never been this beautiful!

### Falling leaves

![](https://3819232107-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4p9wNXvzbAgtriQR5M18%2Fuploads%2FPJjmtnQ7v231PgTsIkJ6%2FFalling_leaf.gif?alt=media\&token=5d4ce293-f732-45bc-9c53-62e21bee9ba7)

Big falling leaves can be spotted falling down during summer days under all trees. It makes your forests extra beautiful!

### Fireflies

![](https://3819232107-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4p9wNXvzbAgtriQR5M18%2Fuploads%2F3m7qqKCK3hZUqkKcvgBc%2FFirefly.gif?alt=media\&token=e5320ac2-b1a9-4042-97b9-d9d49c09a39a)

Small groups of fireflies can be found in forests all spring and summer nights. They can only spawn near birch and oak trees and a spawned group will be visible for around 3 minutes.

### Night sparks

![](https://3819232107-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4p9wNXvzbAgtriQR5M18%2Fuploads%2F9FuCF95Q7cWLY8ATgVz7%2FNightsparks.gif?alt=media\&token=c30a1512-e97c-45f2-a9f3-f5a030772535)

Each time a night starts in winter there's a 20% chance that the sky will be filled with white sparks. The effect will stay the entire night and it will blow away your players!

### Falling leaf particles

![](https://3819232107-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4p9wNXvzbAgtriQR5M18%2Fuploads%2FPq1rmXriAybskdLZbMfx%2FSmall_falling_leaf.gif?alt=media\&token=454f74b2-eba0-4f6d-8e75-2d7632a43253)

Small "leaf" particles will spawn under trees in fall/autumn for extra immersion.&#x20;

## Temperature particles

There are currently 2 temperature-related particle effects in RealisticSeasons: one if you're cold and one if you're hot.

### Cold breath

![](https://3819232107-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4p9wNXvzbAgtriQR5M18%2Fuploads%2F7eXj9YsBPnt2mSLMl1pJ%2FCold_breath.gif?alt=media\&token=be484772-ddf5-47fb-ab01-8c7f267c36cb)

Your breath will become visible if the air temperature drops below 0°C. The player's own temperature doesn't matter here: only the temperature of the environment. Players can only see others' breath and not their own by default (it blocks part of your screen), but that can be changed in the [config](/configuration/config-and-translations).

### Sweating

![](https://3819232107-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4p9wNXvzbAgtriQR5M18%2Fuploads%2F3fR9pPzAf1t4eqApaaS3%2FSweating.gif?alt=media\&token=08536868-4309-4085-9669-c886c83b32a3)

Players will sweat like above if their temperature is higher than 40°C.&#x20;


# Calendar system

### Overview

The plugin includes a full working calendar system with everything you'll need. It works just like in real life with weeks, days, months, years and time. Seasons will start on specific dates. The custom event system allows you to create your own events too. You could for example create an event on Christmas, new years eve or anything else.

The calendar system has an option to change [the length of the day and night](/calendar/day-and-night-length) to whatever number of minutes you want. This can be different per month, which means summer can have long days and short nights and winter the opposite. Any amount of minutes is accepted, you could also make a Minecraft day 40 minutes or even 24 hours. \
\
The calendar system can be configured to follow the date and time of the real world. Check out [Synchronizing ](/calendar/synchronizing)on how to do this and also how you can synchronize the time of multiple worlds. If you want the calendar system to pause when no players are online make sure to check out [TimePauser ](https://www.spigotmc.org/resources/timepauser.100100/)on SpigotMC as well.

### Calendar

The calendar system works just like real life. The same amount of days per month, same months and 365 days per year. The only difference is that instead of real days it uses Minecraft days. A Minecraft day is 20 minutes long, which means a full year will take around 5 days. You can of course change how long a year is by changing the [number of days per month ](/configuration/calendar)or increasing the [length of each day](/calendar/day-and-night-length). The number of months and their names can also be changed.\
\
The active season is always based on the current date. If you change the season by doing `/rs set` you'll also notice the date changing. The season will always change to the season that it should be at the current date. It can't be winter in June unless you change the season start dates. \
\
A time system is also included. It is a simple 24 hours clock based on the Minecraft time in your world. You may notice this time being slightly different than the time displayed by other plugins (EssentialsX for example), that is because RealisticSeasons time takes the different day and night lengths into account. The first half of a Minecraft day may take 7 minutes when using RealisticSeasons while the second half of the day takes 13 minutes. EssentialsX would display 12:00 after 7 minutes while it should really be around 10:00. Stick to using RealisticSeasons time as much as possible.\
\
There are multiple ways for your players to view the current season, date and time. The easiest way is running /season. It will display the current season, date, time, days until next season and active events. See the banner of this page. The messages can be [translated and changed](/configuration/config-and-translations).&#x20;

Another way is using [PlaceHolderAPI](/interactions-with-other-plugins/soft-dependencies/placeholderapi). This is the most preferred way since it allows you to display it anywhere you want (scoreboard, boss bar, messages, tab, etc). Check out [PlaceHolderAPI ](/interactions-with-other-plugins/soft-dependencies/placeholderapi)if you want to learn how to do this.

### Custom event system

Server owners can create their own custom events that trigger every day, on certain weekdays or on specific dates (every year). The custom event runs any command you want or sends messages to your players. The event will also be visible on /season. You could for example create a new years eve event on 31 December each year that gives all players fireworks. Your imagination is your limit! Check out [configuration ](/configuration/calendar)if you want to learn more about this.&#x20;


# Synchronizing

### Synchronize with real-time

The calendar system can also completely ignore Minecraft days and use real-world time instead. Minecraft days will take 24 hours, the date and the season will match the real-life ones. It will be night when it is actually night and it will be daytime when it is actually daytime. Server owners can also disable the time sync and only sync the date and season (days will take 20 minutes again) if they prefer this. For details on how to do this and how you can change the time zone check out [the configuration](/configuration/calendar).

### Synchronize time of multiple worlds

If you aren't using *synchronize with real-time* and your server has multiple overworlds with seasons enabled, using *synchronize time of multiple worlds* is recommended. The option can be found in the [calendar.yml](/configuration/calendar) and it makes sure all worlds have exactly the same date, time and season. Perfect for servers with for example a lobby world.&#x20;


# Day and night length

Each month in this plugin has a unique day and night length for extra realism. Just like in real life the days in summer are longer than the night and the opposite in winter. These are the default settings:

| Months             | Day length | Night length |
| ------------------ | ---------- | ------------ |
| January            | 7 minutes  | 13 minutes   |
| February, December | 8 minutes  | 12 minutes   |
| March, November    | 9 minutes  | 11 minutes   |
| April, October     | 10 minutes | 10 minutes   |
| May, September     | 11 minutes | 9 minutes    |
| June, August       | 12 minutes | 8 minutes    |
| July               | 13 minutes | 7 minutes    |

The day and night length can be changed to anything you want in the [configuration](/configuration/calendar). By anything I mean anything. It does not have to be a total of 20 minutes and there is no limit on how long a day can be. You could make the day 30 hours and the night 1 minute.

Increasing the day and night length in all months is also a great way to increase the length of the year while still having the same amount of days per month. January 60 doesn't look good. Simply setting the total day length to 40 minutes (day + night = 40) is a great way of doubling the length of each year.


# Temperature system

If we're coding a season plugin with a calendar system, why not add a temperature system as well? The plugin comes with one of the most advanced temperature systems ever created for this game. It is designed to not affect gameplay too much so it isn't annoying. Each player has a personal temperature displayed on their action bar that shows them their personal temperature, air temperature can also be displayed. Air temperature differs per biome.

Lots of things change the players' temperature: season, biome, armour, weather, time, water, food, height, sprinting, block-light and more. Check out [Modifiers ](/temperature/modifiers)for a full list. The temperature will be recalculated every 2 seconds by default.

The players will be punished for having a bad temperature. The effects start at -10°C by default (there is a setting for Fahrenheit) and at 50°C. The effects include hunger, slowness, freezing (with damage), healing getting disabled and burning. See [Effects ](/temperature/effects)for details. Some effects are only visual, like the player starting to [sweat ](/seasons/particles#sweating)when their temperature is above 40°C or the [players' breath ](/seasons/particles#cold-breath)becoming visible if the air temperature is below 0°C.

The entire temperature system can be [disabled ](/configuration/temperature)if you think it doesn't fit your server.&#x20;

Owners can also create custom items specifically useful on servers with custom items. It allows owners to add a temperature effect to items, see [Custom Items](/temperature/custom-items) for more.&#x20;

### Display

Temperature is displayed on the action bar by default. It sits slightly above your hunger bar, like this:

![](https://3819232107-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4p9wNXvzbAgtriQR5M18%2Fuploads%2Fk8FoeNT2vMCRB3e0NJwS%2Ftemperature_normal.png?alt=media\&token=2d1a165f-c2e4-4baf-9613-f69550446eff)

You can easily [configure ](/configuration/temperature)the location of this action bar and its colours. The action bar changes colour and displays a warning when certain [effects ](/temperature/effects)trigger. The temperature can be displayed somewhere else using [PlaceHolderAPI](/interactions-with-other-plugins/soft-dependencies/placeholderapi). The same for the air temperature that is only displayed in /season by default.

### Nether & End

The temperature can be enabled in the nether and end by running the [command ](/usage/commands-and-permissions#admin-commands)`/rs temperature toggle` while in the nether/end. The temperature system works just like in the overworld except that it skips the season, biome, weather, time and height [modifiers](/temperature/modifiers).


# Modifiers

A temperature modifier is something that modifies a player's temperature. Each world has a base temperature based on the season and all modifiers stack on top of it. The result of the base temperature and all modifiers combined is the temperature the player will see. Modifiers make the temperature system very dynamic and fun to play with. Most of the modifiers are different for each player, depending on their situation. The complete temperature is recalculated every 2 seconds. Here is a list of all modifiers in the order they are applied.&#x20;

### Base temperature

Each world has a randomly generated base temperature. This temperature gets randomized each day and is based on the current season. All these temperatures can be changed in the [configuration](/temperature/temperature-system). This temperature does not include the effects of biomes yet:

| Season      | Min temperature | Max temperature |
| ----------- | --------------- | --------------- |
| Winter      | -12°C           | 0°C             |
| Spring      | 0°C             | 20°C            |
| Summer      | 20°C            | 40°C            |
| Autumn/Fall | 5°C             | 20°C            |

### Weather

The current weather also has effects on the temperature.&#x20;

| Weather   | Modifier |
| --------- | -------- |
| Clear     | 0°C      |
| Rain/Snow | -4°C     |
| Thunder   | -5°C     |

### Time

You'll notice that the nights are a bit colder and the days a bit warmer. The time modifier changes gradually from -5°C between the Minecraft times 14800-23500 to +3°C between 6000-12000.

### Biomes

The biome the player is in plays a big role in the calculation of the player's temperature. All values can be changed in the [biome configuration](/configuration/custom-biomes). Here is a list of the default modifiers of all biomes:

| Biome(s)                                                                                               | Modifier |
| ------------------------------------------------------------------------------------------------------ | -------- |
| Badlands, Desert                                                                                       | +15°C    |
| Jungle                                                                                                 | +12°C    |
| Savanna                                                                                                | +10°C    |
| Beach, Birch forest, Dark forest, Flower forest, Meadow, Forest, Mushroom fields, Ocean, Plains, Swamp | 0°C      |
| Mountains, Taiga                                                                                       | -4°C     |
| Snowy/Frozen biomes, Snowy/Frozen mountains                                                            | -12°C    |

### Height

Temperature decreases by 0.08°C every block above y=64 in all seasons except winter. The temperature in winter stays the same above y=64 and instead increases 0.2°C every block below y=64.&#x20;

### Water/Powdered snow

Being in the water or in powdered snow has a big effect on the temperature of the player. Jumping in the water without protection in the winter can be lethal. The modifier also stays for a short amount of time after the player has gotten out of the water since the player is still wet. The modifier increases by 1°C every 2 seconds after the player has gotten out of the water until the modifier is 0°C again. The modifier is exactly the same for powdered snow.

| Season              | Water modifier |
| ------------------- | -------------- |
| Summer, Winter      | -10°C          |
| Spring, Autumn/Fall | -4°C           |

### Sprinting

Sprinting adds a maximum of +4°C to the player's temperature. Great way to quickly warm up if necessary.

### Block effects

Blocks in a maximum radius of 16 blocks can have any temperature effect on the player. The range and modifier of each block type are configurable. The player must be able to see the block for the modifier to be applied and the actual modifier is changed depending on the distance to the block. Only standing right next to the block will apply the complete modifier specified in the [temperature.yml](/configuration/temperature).

Default effects:

| Block                    | Range (blocks) | Modifier |
| ------------------------ | -------------- | -------- |
| Lava                     | 7              | +22°C    |
| Torch, Lantern           | 7              | +7°C     |
| Campfire                 | 7              | +15°C    |
| Fire                     | 7              | +16°C    |
| Soul Campfire            | 7              | -10°C    |
| Soul Fire                | 7              | -16°C    |
| Soul Lantern, Soul Torch | 7              | -7°C     |
| Ice                      | 3              | -6°C     |
| Packet ice               | 3              | -6°C     |
| Blue ice                 | 7              | -15°C    |

### Armour

Armour does a great job protecting you from the cold but it can also cause overheating in the summer. Here is a full list of the modifiers:

| Material            | One armour piece | Full set |
| ------------------- | ---------------- | -------- |
| Leather             | +5°C\*           | +20°C\*  |
| Iron, Gold, Diamond | +1.25°C          | +5°C     |
| Netherite           | +0.75°C          | +3°C     |

\* = modifier won't apply if the player's temperature exceeds 25°C

### Food

There are currently two food effects in the plugin. One if your temperature is above 25°C, one if your temperature is below. A full hunger bar will apply +5°C to your temperature if your current temperature is below 25°C. Drinking a bottle of water will reduce your temperature by -10°C for 5 minutes (not stackable) if your temperature exceeds 25°C. A bottle icon will appear next to your temperature meter to let you know that the water bottle effect is still active. You don't have to necessarily drink a water bottle, a potion will also work.

### Temporary custom modifiers

Server owners can temporarily apply their own temperature modifiers through a [command](/usage/commands-and-permissions). `/rs temperature modify <player> <temperature-change> <duration>` will temporarily apply a modifier for the duration in seconds to the player. `temperature-change` can also be negative. This command is very useful if you want another plugin to interact with the temperature system, for example, a custom item plugin. You could make the plugin run the modify command automatically.

### Custom items

An easier way to add custom items is through RealisticSeasons' [custom item](/temperature/custom-items) system. Server owners can add their own armour (with CustomModelData) or items to the temperature.yml that have their own modifier. Very useful if you're using a custom item plugin with resourcepack like ItemsAdder.


# Effects

Players get punished for having a dangerous temperature. They can also optionally be rewarded for having a good temperature. All these effects can like always be changed in the [configuration](/configuration/temperature).

### Effects

| Temperature               | Effect                                                                                                      |
| ------------------------- | ----------------------------------------------------------------------------------------------------------- |
| below -20°C               | Freezing and half a heart damage every 2 seconds (see screenshots).                                         |
| below -15°C               | slowness                                                                                                    |
| below -10°C               | hunger                                                                                                      |
| Air temperature below 0°C | [Breath](/seasons/particles#cold-breath) becomes visible                                                    |
| between 15°C-30°C         | Disabled by default, any potion effect you want. Could be something like `resistance` to reward the player. |
| Above 40°C                | Player starts to [sweat](/seasons/particles#sweating)                                                       |
| Above 50°C                | No healing                                                                                                  |
| Above 60°C                | Slowness                                                                                                    |
| Above 65°C                | Burning (see screenshots)                                                                                   |

### Warnings

The plugin will warn players if they reach dangerous temperatures through the action bar and chat. This can be [configured](/configuration/temperature). See screenshots below.

### Screenshots

![Freezing effect. The screen effect won't be displayed in 1.16.](https://3819232107-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4p9wNXvzbAgtriQR5M18%2Fuploads%2FzFJVAuhltYLofEbLFUv0%2Ftemperature_freezing.png?alt=media\&token=5ebdb5bd-d237-4155-9ffc-18ac5a038dbb)

![Burning effect](https://3819232107-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4p9wNXvzbAgtriQR5M18%2Fuploads%2Fn59ZoY9H5sOI6iHSXzpV%2Ftemperature_burning.png?alt=media\&token=a130b8ee-dd29-4e79-84db-39c0b64a9490)

![Cold breath](https://3819232107-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4p9wNXvzbAgtriQR5M18%2Fuploads%2Fj1EM29tfpEYCgOona0vD%2FCold_breath.gif?alt=media\&token=9fbd9101-ee56-4155-9b9a-1c6e804df3d4)

![Sweating](https://3819232107-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4p9wNXvzbAgtriQR5M18%2Fuploads%2FG3PFRGYKHFLnVef7nRtN%2FSweating.gif?alt=media\&token=2f101d92-bc81-492c-ade3-59092c8c8d6c)


# Custom Items

Server owners can register their own custom items with their own [modifiers](/temperature/modifiers). The modifier will apply if a player holds the item in their hand or in the case of armour wearing it. You can either set it to detect all items of a certain material (name or anything else doesn't matter) or only if the item has a specific CustomModelData. The CustomModelData setting allows server owners to create their own temperature effects for items added by a custom item plugin with resourcepack (like ItemsAdder). These plugins often add new types of armour (with a different texture) while the actual item is still something like leather boots. These items have CustomModelData so the client knows what texture to apply to them. This CustomModelData can also be used in RealisticSeasons to give these specific items their own temperature effect.&#x20;

Custom temperature items don't necessarily need a CustomModelData. For example, you could add torches as a custom item and give the player +10°C if they're holding one. This allows your players to warm up by holding a torch.

For more details on how to create your own custom item, check out the configuration [here](/configuration/temperature).


# Christmas

<figure><img src="https://3819232107-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4p9wNXvzbAgtriQR5M18%2Fuploads%2F1j5Gj9kpNQ4iywK5FRAw%2F2024-07-06_17.38.08.png?alt=media&amp;token=294066ca-5d33-45cc-8dbc-b6feeec4f451" alt=""><figcaption></figcaption></figure>

Presents spawn underneath trees in villages during Christmas and contain loot that can be configured in the [events.yml](/configuration/events-and-custom-events). Each village has a maximum of one tree with presents underneath. Present locations are stored in the data.yml and are removed on chunk load after Christmas has ended, ensuring that players can't encounter them later.

<figure><img src="https://3819232107-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4p9wNXvzbAgtriQR5M18%2Fuploads%2FESEUKHgqoU1VA9EZipT5%2F2024-02-27_18.07.01.png?alt=media&amp;token=39911a4e-6698-4314-8a03-996fc2e14b9c" alt=""><figcaption></figcaption></figure>

Colored particles appear during the night creating an atmosphere that feels like Christmas. Spruce trees have random leaves replaced with terracotta blocks representing Christmas decorations. These blocks are client-side only meaning that the world itself doesn't change and that the terracotta blocks won't drop any items. The Christmas trees are only available on Minecraft versions 1.20 and later for performance reasons.

Everything can be configured in the [events.yml](/configuration/events-and-custom-events) file.


# New year

<figure><img src="https://3819232107-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4p9wNXvzbAgtriQR5M18%2Fuploads%2FC6pRbpzYjzwdnosJMKCI%2FFireworks.gif?alt=media&amp;token=00b0a3d1-b625-49ff-bdce-4fc376df2897" alt=""><figcaption></figcaption></figure>

Firework cakes spawn in villages at the start of the new year, creating beautiful firework shows. Each firework cake has one of seven unique shooting patterns, ranging from bursts, fountains and longer rockets. Colors are also randomized. A firework cake exists for 45 seconds after which it despawns. A villager nearby will attempt to spawn a new one immediately after. There is also a minimum distance between spawned cakes, but you'll find multiple firework cakes going off at the same time in one village. The fireworks shows will last until daylight. Everything can be configured in the [events.yml](/configuration/events-and-custom-events) file.


# Easter

<figure><img src="https://3819232107-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4p9wNXvzbAgtriQR5M18%2Fuploads%2FIFjJaZipqADauIj2PrhX%2F2024-07-06_17.54.45.png?alt=media&amp;token=c13e958f-c10f-4d28-b0c2-13659a420f1e" alt=""><figcaption></figcaption></figure>

Easter eggs are hidden throughout the world during Easter. Easter eggs can be opened by breaking them and they'll drop configurable loot. Egg spawns have at least 4 chunks of distance in between them and they will not respawn.

At night time there's a small chance of killer bunnies spawning, they will be removed again after Easter has ended.


# Halloween

<figure><img src="https://3819232107-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4p9wNXvzbAgtriQR5M18%2Fuploads%2F9kyuYxnyzhSDgc9cq5sd%2F2024-07-06_18.07.43.png?alt=media&amp;token=76e6bb14-ed28-4519-9911-e249280a4387" alt=""><figcaption></figcaption></figure>

Mobs spawned during Halloween have a chance to spawn with some of the following effects:

* They may duplicate on hit, spawning 4-5 more of the same mobs.
* They become invisible for 10 seconds on hit
* They can spawn with Speed 3
* Skeletons can spawn with a flame bow (does not drop)
* Skeletons and zombies can spawn with extra armor and an axe
* Witches throw different potion types than normal
* Vindicators may spawn with axes
* Zombies sometimes hold pumpkin pie

Mobs with any of these effects have glowing fire particles around them, letting your players know that they should be extra careful. Every effect can be configured in the [events.yml](/configuration/events-and-custom-events) file.


# Config & Translations

### Config

Default config.yml:

```
﻿version: 10.7.3
modify-blocks: true
remove-ice-in-unloaded-chunks: true
modify-daynight-length: true
modify-weather-cycle: true
modify-biome-on-client: true
pause-map-plugins-render-in-winter: false
affect-crop-growth-summer: true
affect-crop-growth-winter: true
delay-per-operation: 4
automatic-season-cycling: true
send-message-on-season-cycle: true
spawn-ice-in-winter: true
optimized-custom-biomes: true
keep-player-placed-plants: true
disable-snow-placement-all-snowman: false
snowman-wear-pumpkin: false
snowman-attack-mobs: false
max-berrybushes-per-chunk: 20
disable-berry-damage-for-entities: true
flower-chance-in-spring: 5.0%
unloaded-chunks-check-delay: 80
no-snow-on-leaves-for-terra: true
regrow-grass-everywhere: true
spawn-mushrooms-in-fall: true
snow-and-ice-removal: true
biome-display-name: realisticseasons
keep-natural-snow: true
snow-placement-enabled: true
falling-leaf-item: KELP
falling-leaf-custommodeldata: 0
sub-seasons:
  enabled: true
  foliage-color-adjustments:
    WINTER-SPRING: NONE
    SPRING-SUMMER: '#32CD32,WEIGHT:0.3'
    SUMMER-FALL: NONE
    FALL-WINTER: NONE
particles:
  FALLING_LEAVES:
    enabled: true
    spawn-chance: 4%
    seasons:
    - SUMMER
  SMALL_FALLING_LEAVES:
    enabled: true
    spawn-chance: 25%
    seasons:
    - FALL
  SHOOTING_STARS:
    enabled: true
    relative-height: 150
    chance: 0.5%
    seasons:
    - SUMMER
  NIGHT_SPARKS:
    enabled: true
    particle-count: 200
    relative-height: 40
    event-chance: 33%
    seasons:
    - WINTER
  FIREFLIES:
    enabled: true
    spawn-chance: 0.1%
    seasons:
    - SPRING
    - SUMMER
  SWEAT_EFFECT:
    enabled: true
    min-player-temperature: 40
  COLD_BREATH:
    enabled: true
    hide-own-breath: true
    max-air-temperature: 0
performance:
  prioritise-tps: true
  min-tps: 19.5
weather:
  winter:
    daily-extra-downfall-chance: 33.3%
    has-natural-downfall: true
  spring:
    daily-extra-downfall-chance: 0.0%
    has-natural-downfall: true
  summer:
    daily-extra-downfall-chance: 0.0%
    has-natural-downfall: false
  fall:
    daily-extra-downfall-chance: 33.3%
    has-natural-downfall: true
entities:
  spawn-entities: true
  spawn-chance-animals: 10.0%
  despawn-season-animals: true
  spring:
    spawn-extra-animals: true
    spawn-extra-bees: true
    spawn-extra-rabits: true
  summer:
    spawn-ocelots: true
    spawn-pandas: true
    spawn-parrots: true
    replace-zombies-with-husks: true
  fall:
    spawn-bats: true
    spawn-cave-spiders: true
    spawn-foxes: true
    spawn-mooshrooms: true
    spawn-frogs: true
    spawn-extra-spiders: true
    give-entities-pumpkin: true
    entities-pumpkin-chance: 20.0%
  winter:
    spawn-wolfs: true
    spawn-foxes: true
    spawn-polarbears: true
    spawn-snowman: true
    replace-skeletons-with-strays: true
temperature-modify-command:
  min: -999999
  max: 999999
block-replacements:
   enabled: true
   replacements:
      pink-trees:
         to-replace: OAK_LEAVES
         replacement: CHERRY_LEAVES
         seasons: SPRING
         sub-seasons: 2
on-new-world-creation:
   sync-with-other-worlds: false
   default-season: NONE
```

### Language file

Default lang.yml:

```
SEASON-TO-WINTER: "&b&lWinter is starting!"
SEASON-TO-FALL: "&b&lFall is starting!"
SEASON-TO-SPRING: "&b&lSpring is starting!"
SEASON-TO-SUMMER: "&b&lSummer is starting!"
NO-PERMISSION-MESSAGE: "&cYou don't have the permission to do that!"
WINTER-DISPLAY-NAME: "Winter"
FALL-DISPLAY-NAME: "Fall"
SPRING-DISPLAY-NAME: "Spring"
SUMMER-DISPLAY-NAME: "Summer"
SEASONCOMMAND-DISABLED: "&cSeasons are disabled in this world"
SEASONCOMMAND-RESTORING: "&cThis world is currently restoring!"
SEASONCOMMAND-CURRENTDATE: "&aCurrent date: &2$current_weekday$, $current_month$ $current_day$, year $current_year$"
SEASONSCOMMAND-CURRENTSEASON: "&aCurrent season: &2$current_season$"
SEASONSCOMMAND-AIRTEMPERATURE: "&aCurrent air temperature: $air_temperature$"
SEASONSCOMMAND-DAYSUNTILNEXTSEASON: "&aDays until next season (&2$next_season$&a): &7$days_until_next_season$"
SEASONCOMMAND-TIME: "&aCurrent time: &2$time$"
SEASONCOMMAND-EVENTS: "&aActive events: &2$events$"
TOGGLESEASONSCOMMAND-MESSAGE: "&aSeason colors are now &2$status$ &afor you"
TOGGLETEMPERATURECOMMAND-MESSAGE: "&aThe temperature system is now &2$status$ &afor you"
TOGGLEPARTICLESCOMMAND-MESSAGE: "&aThe season particles are now &2$status$ &afor you"
TOGGLEFAHRENHEITCOMMAND-TOFAHRENHEIT: "&aYour temperature will now be displayed in &2Fahrenheit"
TOGGLEFAHRENHEITCOMMAND-TOCELCIUS: "&aYour temperature will now be displayed in &2Celcius"
ENABLED: "enabled"
DISABLED: "disabled"
CURRENTBIOME-MESSAGE: "&aCurrent biome: $biome$"

```


# Calendar

### Calendar

Default calendar.yml file:

```
enabled: true
american-date-format: false
calendar-is-real-life-days: false
sync-time-with-real-world: false
time-sync-offset: 0
time-sync-timezone: 'system'
time:
  format: '$hours$:$minutes$'
  12-hour-clock:
    enabled: false
    add-am-pm: false
week-days:
- Monday
- Tuesday
- Wednesday
- Thursday
- Friday
- Saturday
- Sunday
synced-worlds:
- none
worlds-without-events:
- none
winter-start: December 4
spring-start: March 4
summer-start: June 4
fall-start: September 4
months:
  January:
    days: 31
    day-length-in-min: 7
    night-length-in-min: 13
  February:
    days: 28
    day-length-in-min: 8
    night-length-in-min: 12
  March:
    days: 31
    day-length-in-min: 9
    night-length-in-min: 11
  April:
    days: 30
    day-length-in-min: 10
    night-length-in-min: 10
  May:
    days: 31
    day-length-in-min: 11
    night-length-in-min: 9
  June:
    days: 30
    day-length-in-min: 12
    night-length-in-min: 8
  July:
    days: 31
    day-length-in-min: 13
    night-length-in-min: 7
  August:
    days: 31
    day-length-in-min: 12
    night-length-in-min: 8
  September:
    days: 30
    day-length-in-min: 11
    night-length-in-min: 9
  October:
    days: 31
    day-length-in-min: 10
    night-length-in-min: 10
  November:
    days: 30
    day-length-in-min: 9
    night-length-in-min: 11
  December:
    days: 31
    day-length-in-min: 8
    night-length-in-min: 12

```

#### Months and days of the week

The name of the months can directly be changed in the "months:" list in the calendar.yml. There is no fixed amount of months: you could also configure it to only have 4 months (winter, spring, summer and fall) or anything you want. The same for days of the week, a week does not have to be 7 days. Make sure to also update the names of the months in the seasons start if you change their names.

#### Synchronizing with real time

Setting `sync-time-with-real-world` to true will force the calendar system to use your computer's time instead of Minecraft time. This means that the season, date and time will match your actual time. Minecraft days will be 24 hours, it will be daytime when it is actually daytime and night when it is actually night. You can optionally only sync the date and season and not the world time by setting `modify-daynight-length` in the [config.yml](/configuration/config-and-translations) to false.

If your server is hosted somewhere else and you want the plugin to use a different timezone, you can change `time-sync-timezone` to the correct one. It accepted locations (like America/Los\_Angeles) or offsets of GMT (GMT+5).&#x20;

If you want to offset the synced world time slightly you can use `time-sync-offset`. This option accepts Minecraft time (one day is 24000) and the value you enter gets added on top of the time RealisticSeasons calculated.&#x20;

#### Synchronizing time of multiple worlds

If you aren't using `sync-time-with-real-world` and your server has multiple overworlds with seasons enabled, using `synced-worlds` is recommended.  This makes sure all worlds have exactly the same date, time and season. Perfect for servers with for example a lobby world or a shop world. Simply add the names of the worlds that you want to be synchronized to `synced-worlds` list.

#### &#x20;American date format

The date will be displayed as mm/dd/yyyy instead of dd/mm/yyyy if you set `american-date-format` to true.


# Events and custom events

### Custom Events

Default custom-events.yml file:

```
custom-events:
   dated-events:
      october-event-example:
         enabled: false
         name: "&6Spooky October"
         display-event: true
         times:
            event-start:
               date: 1/10
            event-stop:
               date: 1/11
         commands:
            start:
               - "&aOctober has started, monsters are becoming stronger and stronger.."
               - "/difficulty hard"
            stop:
               - "/difficulty normal"
   weekly-events:
     safe-sunday-example:
         enabled: false
         name: "&aSafe Sunday"
         display-event: true
         day: Sunday
         commands:
            start:
               - "&6It is now &7Sunday %day%/%month%/%year%. &6Time for a break, dying isn't dangerous for the day"
               - "/gamerule keepInventory true"
            stop:
               - "/gamerule keepInventory false"
   daily-events:
      daily-message-example:
         enabled: false
         commands:
            - "&3Midnight has passed, &f%weekday%, %month_asname% %day%, year %year%&3 has started"
            - "&3Current season: &f%season%"
```

This file allows you to create as many planned events as you want. These events can be daily, weekly or on specific dates. You can send messages to the player or run commands as the console (include a '/' before the command) when the event starts and stops. Possible placeholders in commands are `%day%`, `%month%`, `%month_asname%`, `%year%`, `%weekday%`, `%season%`, `%world%`. All external placeholders by [PlaceHolderAPI](/interactions-with-other-plugins/soft-dependencies/placeholderapi) are also supported.

The dates in dated events can be: `dd/mm/yyyy` or `mm/dd/yyyy` if American date format is enabled in the calendar.yml. Not including a year makes the event run every year (see october-event-example). You can also enter only a day ("date: 5"), this will make the event run every month between the specified days.&#x20;

Active events can be viewed by the user through /season or the placeholder %rs\_active\_events%. This can be disabled separately for each event with "display-event". The "name" field will be used to display it. Colour codes can also be used.&#x20;

### Build-in events

Events.yml has a similar configuration as the custom-events.yml except that is has extra settings for build-in season events like Christmas, New year, Easter and Halloween. Here is the default file:

```
dated-events:
   christmas:
      enabled: true
      name: "&cChristmas"
      display-event: true
      disabled-worlds:
      - NONE
      times:
         event-start:
            date: 25/12
         event-stop:
            date: 28/12
      night-particles: true 
      christmas-trees:  
         enabled: true 
      commands:
         start:
            - "&cChristmas &ahas started!"
            - "&aHead over to a nearby village to celebrate together, you may even find some presents"
         stop:
            - NONE
      presents: 
         enabled: true 
         chunk-distance-between-spawns: 10 
         loot:
         - "2-8:EXPERIENCE_BOTTLE"
         - "6-20:FIREWORK_ROCKET"
         - "1-12:FIRE_CHARGE"
         - "2-16:POTATO"
         - "2-8:CARROT"
         - "1-16:COAL"
         - "1-16:SNOWBALL"
         - "2-12:SWEET_BERRIES"
         - "6-16:COOKIE"
         - "1-2:ENDER_PEARL"
         - "4-12:BAKED_POTATO"
         - "2-8:BOOK"
         - "4-12:BREAD"
         - "1:DIAMOND"
         - "1:GOLD_INGOT"
         - "2-8:COOKED_RABBIT"
         - "2-8:COOKED_MUTTON"
         - "2-8:COOKED_BEEF"
         - "2-8:COOKED_CHICKEN"
         - "2-8:COOKED_PORKCHOP"
         - "2-8:COOKED_SALMON"
         - "1-3:GOLDEN_APPLE"
         - "2-8:GOLDEN_CARROT"
         - "1:LEATHER_HELMET"
         - "2-16:SPECTRAL_ARROW"
         - "1:CLOCK"
         - "1-3:MAGMA_CREAM"
         - "1-3:NETHER_WART"
         - "1-3:BLAZE_ROD"
         - "1-6:GOLD_NUGGET"
         - "2-8:COOKED_COD"
         - "1-4:SPRUCE_SAPLING"
   newyear:
      enabled: true
      name: "&cNew year"
      display-event: true
      disabled-worlds:
      - NONE
      times:
         event-start:
            date: 1/1
         event-stop:
            date: 1/1
      spawn-firework-boxes: true 
      min-distance-between-firework: 34 
      commands:
         start:
            - "&cHappy new year!"
            - "&aVillagers are celebrating, head over to a nearby village"
         stop:
            - NONE
   halloween:
      enabled: true
      name: "&6Halloween"
      display-event: true
      disabled-worlds:
      - NONE
      times:
         event-start:
            date: 31/10
         event-stop:
            date: 2/11
      commands:
         start:
            - "&6Halloween &ahas started!"
            - "&aBe extra careful tonight..."
         stop:
            - NONE
      play-particles-around-halloween-mobs: true
      witch-extra-potions: 
         enabled: true 
         effects:  
         - BLINDNESS 
         - CONFUSION 
         - WITHER 
         - SLOW_DIGGING 
         - SLOW_FALLING 
         - LEVITATION 
      duplicating-mobs: 
         enabled: true 
         spawn-chance: 0.07 
      invisible-mobs: 
         enabled: true 
         spawn-chance: 0.07 
      fast-mobs: 
         enabled: true 
         spawn-chance: 0.07 
      flame-skeletons:
         enabled: true 
         spawn-chance: 0.3 
      armored-mobs: 
         enabled: true 
         spawn-chance: 0.25 
      zombies-hold-pie: 
         enabled: true 
         spawn-chance: 0.3 
      vincicators-at-night: 
         enabled: true 
         spawn-chance: 0.05 
   easter:
      enabled: true
      name: "&dEaster"
      display-event: true
      disabled-worlds:
      - NONE
      times:
         event-start:
            date: 20/4
         event-stop:
            date: 24/4
      spawn-killer-bunnies: true 
      commands:
         start:
            - "&dEaster &ahas started!"
            - "&aEggs are hidden all throughout the world. However, be careful at night"
         stop:
            - NONE
      easter-eggs:
         enabled: true 
         chunk-distance-between-spawns: 4 
         loot: 
         - "6-3:COOKIE"
         - "2-16:CARROT"
         - "1:RABBIT_FOOT"
         - "1:CAKE"
         - "1-20:LEATHER"
         - "2-24:GOLDEN_CARROT"
         - "2-48:POTATO"
         - "2-48:WHEAT"
         - "2-16:GOLDEN_APPLE"
         - "2-48:BEETROOT"
         - "1:SADDLE"
         - "1:NAME_TAG"
         - "2-10:EGG"
         - "2-10:MELON_SEEDS"
         - "2-10:PUMPKIN_SEEDS"
         - "2-16:BLUE_DYE"
         - "2-16:RED_DYE"
         - "2-16:YELLOW_DYE"
         - "2-32:BAMBOO"
         - "2-32:OAK_LOG"
         - "1:HONEY_BOTTLE"
         - "1-8:HONEYCOMB"
         - "1-8:CACTUS"
         - "1-12:SLIME_BALL"
         - "1-5:HAY_BLOCK"
         - "1:MUSHROOM_STEW"
         - "1-12:GOLD_INGOT"
         - "1-6:DIAMOND"
```

If an event should start or stop on a date that doesn't exist on the configured calendar it will choose the closest day possible.&#x20;


# Temperature

Here is the default temperature.yml:

```
enabled: true
temperature-update-interval: 40
modifiers:
  season-base-temperature:
    winter:
      min-temp: -12
      max-temp: 0
    spring:
      min-temp: 0
      max-temp: 20
    summer:
      min-temp: 20
      max-temp: 40
    fall:
      min-temp: 5
      max-temp: 20
  armor:
    leather: 20
    leather-temperature-cap: 25
    iron: 5
    gold: 5
    diamond: 5
    netherite: 3
  weather:
    rain: -4
    storm: -5
  block-effects:
    enabled: true
    blocks:
      - 'LAVA{range=7,modifier=22}'
      - 'TORCH{range=7,modifier=7}'
      - 'LANTERN{range=7,modifier=7}'
      - 'CAMPFIRE{range=7,modifier=15}'
      - 'WALL_TORCH{range=7,modifier=7}'
      - 'FIRE{range=7,modifier=16}'
      - 'SOUL_TORCH{range=7,modifier=-7}'
      - 'SOUL_WALL_TORCH{range=7,modifier=-7}'
      - 'SOUL_CAMPFIRE{range=7,modifier=-10}'
      - 'SOUL_FIRE{range=7,modifier=-16}'
      - 'SOUL_LANTERN{range=7,modifier=-7}'
      - 'ICE{range=3,modifier=-6}'
      - 'PACKED_ICE{range=3,modifier=-6}'
      - 'BLUE_ICE{range=7,modifier=-15}'
  touching-water:
    summer: -10
    spring: -4
    fall: -4
    winter: -10
  foods-and-drinks:
    water-bottle: -10
    water-bottle-effect-duration: 300
    full-hunger-bar: 5
  max-sprinting-modifier: 4
  lava-temperature: 1200
  height:
    enabled: true
  other-dimensions:
    nether: 25
    end: 0
effects:
  cold:
    hunger: -10
    slowness: -15
    freezing: -20
  boosts:
    min: 15
    max: 30
    potioneffects:
    - NONE
  warm:
    no-healing: 50
    slowness: 60
    fire: 65
display:
  convert-to-fahrenheit: false
  ip-location-temp-type: true
  temperature:
    actionbar: true
    actionbar-display: '                         [ %temperature% ]'
    fahrenheit: '°F'
    celcius: '°C'
  warnings:
    messages:
      enabled: true
      overheating: '&4&lWarning! &4&rYour temperature is really high, cool down quickly!'
      freezing: '&3&lWarning! &3&rYour temperature is really low, heat up quickly!'
    actionbar:
      enabled: true
      overheating: 'Cool down!'
      freezing: 'Heat up!'
custom:
  items:
    example-item:
      enabled: false
      material: LEATHER_BOOTS
      custom-model-data: 5
      use-custom-model-data: true
      temperature-modifier: 10
      activation:
        wearing: true
        holding: false
    torch:
      enabled: true
      material: TORCH
      custom-model-data: 5
      use-custom-model-data: false
      temperature-modifier: 7
      activation:
        wearing: false
        holding: true
    lava:
      enabled: true
      material: LAVA_BUCKET
      custom-model-data: 5
      use-custom-model-data: false
      temperature-modifier: 15
      activation:
        wearing: false
        holding: true
    campfire:
      enabled: true
      material: CAMPFIRE
      custom-model-data: 5
      use-custom-model-data: false
      temperature-modifier: 7
      activation:
        wearing: false
        holding: true
    lantern:
      enabled: true
      material: LANTERN
      custom-model-data: 5
      use-custom-model-data: false
      temperature-modifier: 7
      activation:
        wearing: false
        holding: true
    soultorch:
      enabled: true
      material: SOUL_TORCH
      custom-model-data: 5
      use-custom-model-data: false
      temperature-modifier: -7
      activation:
        wearing: false
        holding: true
    soulcampfire:
      enabled: true
      material: SOUL_CAMPFIRE
      custom-model-data: 5
      use-custom-model-data: false
      temperature-modifier: -7
      activation:
        wearing: false
        holding: true
    soullantern:
      enabled: true
      material: SOUL_LANTERN
      custom-model-data: 5
      use-custom-model-data: false
      temperature-modifier: -7
      activation:
        wearing: false
        holding: true
    ice:
      enabled: true
      material: ICE
      custom-model-data: 5
      use-custom-model-data: false
      temperature-modifier: -6
      activation:
        wearing: false
        holding: true
    packedice:
      enabled: true
      material: PACKED_ICE
      custom-model-data: 5
      use-custom-model-data: false
      temperature-modifier: -6
      activation:
        wearing: false
        holding: true
    blueice:
      enabled: true
      material: BLUE_ICE
      custom-model-data: 5
      use-custom-model-data: false
      temperature-modifier: -15
      activation:
        wearing: false
        holding: true
    
```

#### Modifiers

Combining all [modifiers](/temperature/modifiers) results in the temperature of the player. A random temperature is chosen  every day between the bounds of `season-base-temperature`and all modifiers will stack on top of it. The modifiers of `armor` are the modifiers applied when a player wears a full set. Each piece of armour results in 1/4 of the total modifier being applied.

#### Effects

You can change at what temperature players get rewarded or punished with a [temperature effect](/temperature/effects). The cold and warm effects should be self-explanatory (check the [effects page](/temperature/effects) for details). You can also give the players a boost if they have a "good" temperature using the `effects->boosts` section. The temperature meter of the player will become purple if they're between the specified temperature range and you can give them potion effect(s) if you want. Replace `NONE` with any potion effect found [here](https://hub.spigotmc.org/javadocs/spigot/org/bukkit/potion/PotionEffectType.html). It doesn't have to be one effect, the list accepts multiple effects. The effects will immediately be removed when a player's temperature goes outside the specified boost range.

#### Display

The temperature is displayed on the action bar by default. Warnings are given in the chat and on the action bar when the player reaches dangerous temperatures. You can disable all of this separately in the `display` section of the temperature.yml. The (air) temperature can also be displayed anywhere you want using [PlaceHolderAPI](/interactions-with-other-plugins/soft-dependencies/placeholderapi).&#x20;

Air temperature is by default only viewable in the /season command.

The plugin can automatically convert the temperature to **Fahrenheit** right before it gets displayed. Set `display->convert-to-fahrenheit` to `true` and don't forget to change "°C" to "°F" in `display->temperature->actionbar-display`. The plugin also automatically switches a new player's temperature to Fahrenheit if it detects the player comes from a country that uses Fahrenheit. Players can switch between Fahrenheit and Celcius themselves using the command [/togglefahrenheit](/usage/commands-and-permissions).

### Custom items

A full explanation of custom items can be found [here](/temperature/custom-items). The configuration should be self-explanatory together with the page. A full list of materials can be found [here](https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/Material.html).


# (Custom) biomes

RealisticSeasons generates a biome folder with configuration files for every biome. You can change the colours of each season, the temperature [modifier](/temperature/modifiers), if the biome should freeze in winter and if any plants should be changed.&#x20;

### Configuration for vanilla biomes

Here is the default `FOREST.yml` file:

```
## this file includes the following biomes: FOREST, WOODED_HILLS
## 1.18: FOREST
## tree color of fall can either be 1 color or 5 colors.
modify-plants: true
## Freeze in winter also includes removal of ice and snow afterwards
freeze-in-winter: true
temperature-difference: 0
show-snow-instead-of-rain:
  spring: false
  summer: false
  fall: false
  winter: true
colors:
  spring:
    skycolor: 78A7FF
    watercolor: 4397ec
    waterfogcolor: 4397ec
    grasscolor: NONE
    treecolor: FFB0E9
    fogcolor: NONE
  summer:
    skycolor: 84BDE8
    watercolor: 43D5EE
    waterfogcolor: 43D5EE
    grasscolor: NONE
    treecolor: 30BB0B
    fogcolor: NONE
  fall:
    skycolor: 89919A
    watercolor: 617B64
    waterfogcolor: 617B64
    grasscolor: BFB755
    treecolor: 'E8962A, E8962A, AEA42A, 6BA941, 60A17B'
    fogcolor: NONE
  winter:
    skycolor: D2DEFF
    watercolor: 216FC4
    waterfogcolor: 216FC4
    grasscolor: B8D0E1
    treecolor: B8D0E1
    fogcolor: A6D1FF

```

Setting `modify-plants` to `false` will disable all changes to plants in this biome. Snow will also no longer be able to destroy grass and flowers.&#x20;

`freeze-in-winter` includes the placement of snow and ice in winter. This also includes the removal of snow and ice after the winter ends. This should generally be `false` in snowy biomes since you don't want the snow and ice to be removed there. If you want the snow to be removed in snowy biomes outside of winter don't forget to also set `keep-natural-snow` to false in the [config.yml](/configuration/config-and-translations).

`temperature-difference` is the [temperature modifier](/temperature/modifiers) applied to the player if they're in this biome.

`show-snow-instead-of-rain` changes if it should visually snow or not depending on the season. This does not include the placement of snow, it is purely visual. Only `winter` should be `true` in most biomes. All seasons should be `true` in snowy biomes though, you don't want it to visually rain there.

The colours of the seasons can be changed separately for each biome. You can almost create your own seasons. The config accepts all hex colour codes. The `treecolor` in autumn/fall should either be 1 colour or 5. Multiple tree colours are only accepted in autumn/fall to limit the number of custom biomes created by RealisticSeasons.

### Configuration for custom biomes/generators

RealisticSeasons doesn't know exactly what to do with custom biomes supplied by world generators (datapacks, plugins). You can add extra biome configuration file(s) that will tell the plugin exactly what to do with them. If you do not create your own configuration files the plugin will just apply the same colour to all biomes. Snow in snowy biomes won't melt however and the plugin does automatically generate a correct temperature for the biome. The only exception is [Terralith](/interactions-with-other-plugins/soft-dependencies/terralith), RealisticSeasons has a build-in configuration for that generator with season effects fitting every biome.&#x20;

Custom biome configuration files work exactly the same as vanilla biome configuration files. The file contains the same settings as the vanilla files, the only difference is that you're now able the change what biomes the file configures for. Here is an example custom biome configuration file:

```
## this file is an example file of how to use this plugin with custom biomes. This file should not be used unless you have some kind of worldgenerator plugin, or other custom biome plugin.
## You can create as many copies of this file as you want, the plugin will register them all seperately. That way you can customize all custombiomes The name of the file doesn't matter, plugin doesn't use that.
## Enter all custom biomes you would like to include in this file here (after includes). All biomes on this list will get the colors applied you enter below.
## Don't forget to add the prename to the names (like "prename:biomename"). The prename is visible in f3 while standing in the custombiome.
## Seperate the list with comma's. Example would be: 
## includes: realisticseasons:testbiome, otherplugin:rainforest, worldgenerator:coolbiome
## You could also use "includes: ALL" this will select all custom biomes. Much easier if you don't want to configure every single biome.
## Any additional custom biome file in the biomes folder will overwrite the effect of "includes: ALL" for the biomes specified.
includes: 'terralith:fractured_savanna,terralith:savanna_badlands'
modify-plants: true
freeze-in-winter: true
temperature-difference: 0
show-snow-instead-of-rain:
  spring: false
  summer: false
  fall: false
  winter: true
colors:
  spring:
    skycolor: NONE
    watercolor: NONE
    waterfogcolor: NONE
    grasscolor: NONE
    treecolor: NONE
    fogcolor: NONE
  summer:
    skycolor: NONE
    watercolor: NONE
    waterfogcolor: NONE
    grasscolor: NONE
    treecolor: NONE
    fogcolor: NONE
  fall:
    skycolor: 89919A
    watercolor: 617B64
    waterfogcolor: 617B64
    grasscolor: BFB755
    treecolor: 'E8962A, E8962A, AEA42A, 6BA941, 60A17B'
    fogcolor: NONE
  winter:
    skycolor: D2DEFF
    watercolor: 216FC4
    waterfogcolor: 216FC4
    grasscolor: B8D0E1
    treecolor: B8D0E1
    fogcolor: A6D1FF

```

You'll notice an extra line has appeared at the top: \
`includes: terralith:fractured_savanna,terralith:savanna_badlands`

This line tells RealisticSeasons for what biomes this file should configure. All the biomes on the list will get the season effects of this file. World generator(s) (plugins) often have a wiki with a list of the exact biome names and you can also find the name of a custom biome in `F3`.

You can create as many files as you want. Drop them into the RealisticSeasons biomes folder together with the vanilla biome files, the name does not matter.

#### Includes: ALL

Creating biome files for every custom biome in a world generator can be an insane amount of work.  There is an easier option though. It is not as clean as creating configuration files for every biome since colours will be the same in everywhere, but it saves you a lot of time. Setting `includes` to `ALL` will make the configuration file configure for all custom biomes on your server. This is enabled by default. The plugin makes sure to not melt any snow in snowy biomes and it can also generate a fitting temperature for all custom biomes. A pretty good solution that instantly makes RealisticSeasons compatible with all world generators. Perfect if you just want to play with your friends but not recommended on a bigger public server.


# Dependencies

Dependencies are plugins that also need to be installed on your server if you want to use RealisticSeasons. The only plugin required currently is [ProtocolLib](/interactions-with-other-plugins/dependencies/protocollib).


# ProtocolLib

You need to install [ProtocolLib ](https://www.spigotmc.org/resources/protocollib.1997/)to use RealisticSeasons on your server. Download it [**here**](https://www.spigotmc.org/resources/protocollib.1997/).

ProtocolLib does nothing as a plugin by itself, it only contains great packet tools that other plugins can use. RealisticSeasons uses ProtocolLib to manipulate chunk packets and change their biome data, an essential part of the plugin. More details on biome colours [here](/seasons/biome-colors).


# Soft-dependencies

Soft-dependencies are plugins that aren't necessarily required to run RealisticSeasons but code interacts with them if they are present on the server. These plugins are often great extensions to RealisticSeasons and you should consider installing some of them. Not all things on this list are plugins, but I placed everything here anyway for convenience. Click on the name of a plugin to go to the page. Here is the full list:

* [PlaceHolderAPI](/interactions-with-other-plugins/soft-dependencies/placeholderapi)
* [TimePauser](/interactions-with-other-plugins/soft-dependencies/timepauser)
* [WorldGuard](/interactions-with-other-plugins/soft-dependencies/worldguard)
* [GriefPrevention](/interactions-with-other-plugins/soft-dependencies/griefprevention)
* [Lands](/interactions-with-other-plugins/soft-dependencies/lands)
* [FactionsUUID](/interactions-with-other-plugins/soft-dependencies/factionsuuid)
* [DeadlyDisasters](/interactions-with-other-plugins/soft-dependencies/deadlydisasters)
* [Terralith](/interactions-with-other-plugins/soft-dependencies/terralith)
* [Floodgate/GeyserMC](/interactions-with-other-plugins/soft-dependencies/floodgate-geysermc)
* [Dynmap](/interactions-with-other-plugins/soft-dependencies/dynmap)
* [Bluemap](/interactions-with-other-plugins/soft-dependencies/bluemap)
* [MythicMobs](/interactions-with-other-plugins/soft-dependencies/mythicmobs)
* [ItemsAdder](/interactions-with-other-plugins/soft-dependencies/itemsadder)
* [Other world generators](/interactions-with-other-plugins/soft-dependencies/other-world-generators)
* [RoseLoot](/interactions-with-other-plugins/soft-dependencies/roseloot)
* [ViaBackwards/ViaVersion](/interactions-with-other-plugins/soft-dependencies/viabackwards-viaversion)
* [TimeBar](/interactions-with-other-plugins/soft-dependencies/timebar)
* [PyroFishingPro](/interactions-with-other-plugins/soft-dependencies/pyrofishingpro)
* [CustomCrops](/interactions-with-other-plugins/soft-dependencies/customcrops)
* [EconomyShopGUI](/interactions-with-other-plugins/soft-dependencies/economyshopgui)
* [RealisticSurvival](/interactions-with-other-plugins/soft-dependencies/realisticsurvival)


# PlaceHolderAPI

Download: [**here**](https://www.spigotmc.org/resources/placeholderapi.6245/)

PlaceholderAPI is a plugin that allows server owners to easily display information from certain plugins anywhere they want. RealisticSeasons adds so-called placeholders using PlaceHolderAPI that can be used to display season, date, time, etc anywhere you want. It can be used in scoreboards, tab, bossbars, chat messages and more.&#x20;

RealisticSeasons adds 2 types of placeholders, world-specific placeholders and player based placeholders. An example of a world specific placeholder is `%rs_season_spawn%`. This placeholder will be replaced with the season of the world named "spawn". It doesn't matter what world the player is in, it will always display the information of the world "spawn". You can replace the "spawn" part with the name of your world. Another type of placeholder is the player based placeholder, for example, `%rs_season%`. These placeholders use the world the player is currently in. It is less safe since it will not work in worlds like the nether or end. You should mostly stick to the world specific placeholders. All placeholders have a player based and world based variant, except for the temperature, which is player based only.&#x20;

### World-specific placeholders

<pre><code>%rs_season_&#x3C;world>%
%rs_next_season_&#x3C;world>%
%rs_days_until_next_season_&#x3C;world>%
%rs_day_&#x3C;world>%
%rs_weekday_&#x3C;world%>%
%rs_month_&#x3C;world>%
%rs_month_asname_&#x3C;world>%
%rs_year_&#x3C;world>%
%rs_seasonlength_&#x3C;world>%
%rs_time_&#x3C;world>%
%rs_active_events_&#x3C;world>%
<strong>%rs_next_event_&#x3C;world>%
</strong>%rs_days_until_next_event_&#x3C;world>%
</code></pre>

### Player based placeholders

```
%rs_season%
%rs_next_season%
%rs_days_until_next_season%
%rs_day%
%rs_weekday%
%rs_month%
%rs_month_asname%
%rs_year%
%rs_temperature%
%rs_temperature_int%
%rs_temperature_int_celcius%
%rs_temperature_int_fahr%
%rs_temperaturecolor%
%rs_bottle_icon%
%rs_air_temperature%
%rs_air_temperaturecolor%
%rs_seasonlength%
%rs_time%
%rs_active_events%
%rs_next_event%
%rs_days_until_next_event%
%rs_biome% (v10.7.6 and above)
```


# TimePauser

Download: [**here**](https://www.spigotmc.org/resources/timepauser.100100/)

TimePauser pauses time for you when no players are online. This means that the season, date and time won't progress. Very useful for small servers with just friends that don't want months and seasons to go by when they aren't playing. It is fully compatible with RealisticSeasons and there is no need for configuration.


# WorldGuard

Download: [**here**](https://dev.bukkit.org/projects/worldguard)

You can protect regions in your world from season effects using WorldGuard. Very useful if you have a spawn area for example and you don't want any season effects there that might mess up your spawn. RealisticSeasons adds the following flags:

`season-effects`\
Settings this flag to false in a region will completely disable all season effects there. No colours, no block changes, no mob spawning, a locked temperature at 25°C.&#x20;

`season-block-changes`\
Setting this flag to false will only disable block changes. This means no ice and snow will be placed and plants won't be changed. Colours will still be there and so will the animals.

`season-mob-spawning`\
Setting this to false will only disable season mob and animal spawns.&#x20;

`permanent-season`\
Permanently change the season in the region. The flag will override the normal season. The changes are only visual, block and mob changes of normal seasons do not apply. Accepted values are `WINTER`, `SPRING`, `SUMMER` and `FALL`.

`permanent-temperature`\
Permanently set the temperature in a region. It will completely override the normal temperature and it can be any number.

`temperature-modifier`\
All players in the region will get their temperature reduced/increased by the value specified.


# GriefPrevention

**Download:** [**here**](https://www.spigotmc.org/resources/griefprevention.1884/)

GriefPrevention helps you protect areas from griefers on your server. When detected, RealisticSeasons generates an extra configuration file called *griefprevention.yml*:

```yaml
#Configuration file for integration with the plugin GriefPrevention
claimed-areas:
   seasons-enabled: true
   seasonal-block-changes: true
   seasonal-mob-spawns: true
   fixed-temperature:
      enabled: false
      value: 25
```

The settings above will apply to every claimed area on the server.


# Lands

**Download:** [**here**](https://www.spigotmc.org/resources/lands-%E2%AD%95-land-claim-plugin-%E2%9C%85-grief-prevention-protection-gui-management-nations-wars-1-20-support.53313/)\
Lands is a land-claim plugin and RealisticSeasons adds extra flags you can toggle uniquely for each claimed area. RealisticSeasons generates a new file called lands.yml if the plugin is detected:

```
#Configuration file for integration with the plugin Lands
#List of flag-targets: ADMIN, PLAYER and SYSTEM. They configure who is able to toggle the flags.
flags:
   seasons:
      flag-target: ADMIN
      name: 'Seasons'
      description: 'Should the area have seasons?'
      item: 'BARRIER'
   seasonblocks:
      flag-target: ADMIN
      name: 'Seasonal block changes'
      description: 'Should the area have seasonal block changes?'
      item: 'SNOW'
   seasonmobs:
      flag-target: ADMIN
      name: 'Seasonal mobs'
      description: 'Should the area have seasonal mob spawns?'
      item: 'EGG'
   temperature:
      flag-target: ADMIN
      temperature: 25
      name: 'Temperature enabled'
      description: 'Should the area have temperature? Disabling this flag will make the displayed temperature constant.'
      item: 'LAVA_BUCKET'
```

**It is recommended to add these 4 flags to the default natural flags in the config.yml of Lands**


# FactionsUUID

**Download:** [**here**](https://www.spigotmc.org/resources/factionsuuid.1035/)

RealisticSeasons adds settings for different area types. A file called factions.yml can be found in the RealisticSeasons folder:

```
#Configuration file for integration with the plugin Factions
wilderness:
   seasons-enabled: true
   seasonal-block-changes: true
   seasonal-mob-spawns: true
   fixed-temperature:
      enabled: false
      value: 25
safezone:
   seasons-enabled: true
   seasonal-block-changes: true
   seasonal-mob-spawns: true
   fixed-temperature:
      enabled: false
      value: 25
warzone:
   seasons-enabled: true
   seasonal-block-changes: true
   seasonal-mob-spawns: true
   fixed-temperature:
      enabled: false
      value: 25
claimed-areas:
   seasons-enabled: true
   seasonal-block-changes: true
   seasonal-mob-spawns: true
   fixed-temperature:
      enabled: false
      value: 25
```

claimed-areas will configure all faction areas.


# DeadlyDisasters

Download: [**here**](https://www.spigotmc.org/resources/deadly-disasters.90806/)

Technically not a soft-depend of RealisticSeasons but the other way around, DeadlyDisasters adds many well coded and cool disasters to your server. Each season has its own disasters and it feels like it is actually part of the RealisticSeasons plugin itself.  The plugin adds disasters like sinkholes, earthquakes, tornadoes, water geysers, acid storms, extreme winds, blizzards, sand storms, tsunamis, meteors, hurricanes and more. All these disasters are of high quality. Prepare yourself, these disasters aren't a joke.&#x20;


# Terralith

Download: [**here**](https://www.planetminecraft.com/data-pack/terralith-overworld-evolved-100-biomes-caves-and-more/)

Terralith is a datapack that adds over 85 brand-new biomes to your world and makes it feel like a different game. It is my absolute favourite world generator and no other world generator gets close to this in my opinion. RealisticSeasons has build-in configuration for all Terralith biomes and makes sure each biome has the most fitting season effects and temperature possible. Install Terralith and run the [command ](/usage/commands-and-permissions#admin-commands)`/rs install Terralith` once. Fully restart your server and you are good to go.


# Floodgate/GeyserMC

Download: [**here**](https://geysermc.org/)

Floodgate and GeyserMC allow Minecraft Bedrock players to join your Java Edition server. Bedrock clients do not support [custom biomes](/seasons/biome-colors) and RealisticSeasons hooks into Floodgate to detect which players are Bedrock. Bedrock players will see the following vanilla biomes instead of the custom biome colours:

| Season         | Biome                   |
| -------------- | ----------------------- |
| Summer, Spring | Default biomes          |
| Autumn/Fall    | minecraft:savanna       |
| Winter         | minecraft:frozen\_river |


# Dynmap

Download: [**here**](https://www.spigotmc.org/resources/dynmap%C2%AE.274/)

Dynmap adds a Google Maps-like map for your Minecraft server that can be viewed in a browser. Extremely cool way to view your world. The snow placed in winter by RealisticSeasons would often cause many render updates and the world would look half snowed and half green. RealisticSeasons automatically pauses all renders in winter to prevent this. Can of course be disabled in the [config](/configuration/config-and-translations).


# BlueMap

**Download:** [**here**](https://www.spigotmc.org/resources/bluemap.83557/)

BlueMap adds just like Dynmap a Google Maps-like map for your Minecraft server that can be viewed in a browser. Extremely cool way to view your world. The snow placed in winter by RealisticSeasons would often cause many render updates and the world would look half snowed and half green. RealisticSeasons automatically pauses all renders in winter to prevent this. Can of course be disabled in the [config](/configuration/config-and-translations).


# MythicMobs

#### Warning: due to a bug on MythicMobs side the condition may not work.

\
Download: [**here**](https://www.spigotmc.org/resources/%E2%9A%94-mythicmobs-free-version-%E2%96%BAthe-1-custom-mob-creator%E2%97%84.5702/)

RealisticSeasons adds an extra condition to MythicMobs. You can use this condition to specify in which season a mob should be able to spawn and more. Here is the condition:

`Conditions:`\
`- season{s=WINTER}`

"s" can be WINTER, SPRING, FALL, SUMMER, DISABLED, RESTORE


# ItemsAdder

Download: [**here**](https://www.spigotmc.org/resources/%E2%9C%A8itemsadder%E2%AD%90custom-items-armors-hud-gui-mobs-emoji-blocks-wings-hats-liquids.73355/)

ItemsAdder is technically not a soft-dependency since RealisticSeasons doesn't hook into it. You can however easily configure the temperature effect of ItemsAdder's items. Special thanks to Raccoon from the Aiena Mc Project for writing this page!

To add a temperature modifier to itemsadder armor or items, enter the corresponding item in the temperature config. You can find the custom model data for Itemsadder items and armor in the plugin directory under

```
plugins/ItemsAdder/storage
```

Now open the "items\_ids\_case.yml" config and select your item Example:

```
[...]
LEATHER_CHESTPLATE:
  itemsadder:ruby_chest: 10000
  itemsadder:spinel_chest: 10001
  itemsadder:turquoise_chest: 10002
  itemsadder:aqua_chest: 10003
  itemsadder:amethyst_chest: 10004
  itemsadder:emerald_chest: 10005
  itemsadder:obsidian_chest: 10006
  itemsadder:mysterious_chest: 10007
  itemsadder:bronze_chest: 10008
[...]
```

The number behind the name is the model IDD. Now navigate to

```
plugins/RealisticSeasons/
```

and open the "temperature.yml". Under "custom" you can now add your item or armor. So as an example we now use the armor, more precisely, the chestplate of the Ruby armor:

```
    ruby_chest:
      enabled: true
      material: LEATHER_CHESTPLATE
      custom-model-data: 10000
      use-custom-model-data: true
      temperature-modifier: 10
      activation:
        wearing: true
        holding: false
```

Save the config and reload RealisticSeasons (/rs reload). Now look for your item under /ia and you're done!


# Other world generators

All world generators are supported by default. You can however create your own configuration files for a world generator if you want to change the effects for a biome. [Here ](/configuration/custom-biomes)is a tutorial on how to do it.


# RoseLoot

**Download:** [**here**](https://www.spigotmc.org/resources/roseloot.101979/)

**RoseLoot** is a **custom loot plugin** that allows the loot manipulation of mobs, blocks, fishing, chests, piglin bartering, and advancements!

RoseLoot adds a condition for season & events to their loot config. Check it out on this page: <https://github.com/Rosewood-Development/RoseLoot/wiki/Plugin-Compatible-Values>


# ViaBackwards/ViaVersion

Download: [**here**](https://www.spigotmc.org/resources/viaversion.19254/)

ViaBackwards/ViaVersion allows Minecraft players to join with older Minecraft versions than the server is running. Clients below 1.16 do not support [custom biomes](/seasons/biome-colors) and RealisticSeasons hooks into ViaVersion to detect which players are below 1.16. Players with older versions will see the following vanilla biomes instead of the custom biome colours:

| Season         | Biome                   |
| -------------- | ----------------------- |
| Summer, Spring | Default biomes          |
| Autumn/Fall    | minecraft:savanna       |
| Winter         | minecraft:frozen\_river |


# TimeBar

<figure><img src="https://raw.githubusercontent.com/hyperdefined/TimeBar/master/rs-example.png" alt=""><figcaption></figcaption></figure>

**Download:** [**here**](https://www.spigotmc.org/resources/timebar.90179/)

TimeBar allows you to display the current time, date and season on a progressive bossbar. You can also change the name of certain periods of the day. Plugin is easy to setup and worth a try!\
\
Info about their config: [here](https://github.com/hyperdefined/TimeBar/wiki/RealisticSeasons-Configuration)


# PyroFishingPro

**Download:** [**here**](https://www.spigotmc.org/resources/pyrofishingpro-1-14-x-1-20-x-1-fishing-plugin-new-tournament-rework.60729/)

**PyroFishingPro** expands fishing and hooks into RealisticSeasons. You'll only be able to find certain fish in certain seasons only.


# CustomCrops

**Download:** [**here**](https://polymart.org/resource/customcrops.2625)

CustomCrops hooks into RealisticSeasons, their (new) crops will only be able to grow in the right RealisticSeasons season.&#x20;


# EconomyShopGUI

**Download:** [**EconomyShopGUI**](https://www.spigotmc.org/resources/economyshopgui.69927/) **&** [**EconomyShopGUI Premium**](https://www.spigotmc.org/resources/economyshopgui-premium.104414/)

Both plugins add shops and with their RealisticSeasons integration, you can change prices based on the current RealisticSeasons season. You could for example make crops expensive during winter and cheaper in spring.

*More details on their* [*wiki page*](https://wiki.gpplugins.com/economyshopgui/file-configuration/config.yml#seasonal-pricing)


# RealisticSurvival

**Download:** [**here**](https://www.spigotmc.org/resources/realistic-survival-1-17-hardcore-modded-experience.93795/)

RealisticSurvival's temperature system can hook into RealisticSeasons to use our temperature system instead. You can enable RealisticSeasons integration in their integration.yml file.


# API

The API adds many ways for developers to interact with RealisticSeasons. The RealisticSeasons API can be imported by importing the plugin jar directly into your project. Maven is still a work in progress. Don't forget to add RealisticSeasons as a (soft) depend in your plugin.yml. Here is a list of all the methods and events.

### Methods

`SeasonsAPI seasonsapi = SeasonsAPI.getInstance();`\
*gets an instance of SeasonsAPI. This will be used in the next methods.*

`seasonsapi.setSeason(World w, Season s);`\
`seasonsapi.setSeason(p.getWorld(), Season.WINTER);`\
*Change the season in a world. Will also update the date.*

`Season season = seasonsapi.getSeason(World w);`\
*Get the current season of a world*

`seasonsapi.setDate(World w, Date date);`\
`seasonsapi.setDate(p.getWorld(), new Date(1, 1, 2022));`\
*Change the date in a world. May also update seasons. Make sure to import the RealisticSeasons* `Date` *object and not the java one.*

`Date date = seasonsapi.getDate(World w);`\
*Get the current date in a world.*

`int temperature = seasonsapi.getTemperature(Player p);`\
*Get the temperature of a player*

`int airtemperature = seasonsapi.getAirTemperature(Location loc);`\
*Get air temperature on location.*

`seasonsapi.applyTimedTemperatureEffect(Player p, int modifier, int seconds);`\
*Apply a temporary temperature effect to a player.* `modifier` *is how much the temperature of the player should change.*

`TemperatureEffect effect = seasonsapi.applyPermanentTemperatureEffect(Player p, int modifier);`\
*Apply a "permanent" temperature effect to the player. The effect will not be removed unless you remove it yourself. Not persistent through restarts.*\
`effect.cancel();`\
*The temperature effect will be removed again*

`int seconds = seasonsapi.getSeconds(World w);` \
`int minutes = seasonsapi.getMinutes(World w);` \
`int hours = seasonsapi.getHours(World w);`\
*Get seconds, minutes and hours of the time in a world.*\
\
`String dayOfWeek = seasonsapi.getDayOfWeek(World w)`\
*Get the day of the week as a name. It uses names in calendar.yml*\
\
`String monthName = seasonsapi.getCurrentMonthName(World w)`\
*Get month as a name. It uses names in calendar.yml*

`SeasonBiome biome = getReplacementSeasonBiome(String biomeName, Season s) SeasonBiome biome =  getReplacementSeasonBiome(Location l, Season s) SeasonBiome biome = getReplacementSeasonBiome(Biome b, Season s)`\
`String hex = biome.getFogColor()`\
`String hex = biome.getWaterColor()`\
`String hex = biome.getWaterFogColor()`\
`String hex = biome.getSkyColor()`\
`String hex = biome.getFoliageColor()`\
`String hex = biome.getGrassColor()`\
*Get some information about the season colors in a biome or location. Format is in hex.*&#x20;

### Events

The plugin also has its own events:

```
@EventHandler
 public void onSeasonChange(SeasonChangeEvent e) {
     Season newSeason = e.getNewSeason();
     Season oldSeason = e.getOldSeason();
     World w = e.getWorld();
     //Event is cancellable
     e.setCancelled(true);
 }
```

```
@EventHandler
 public void dayChange(DayChangeEvent e) {
     Date from = e.getFrom();
     Date to = e.getTo();
     World w = e.getWorld();
 }
```

```
@EventHandler
 public void particleStart(SeasonParticleStartEvent e) {
     Player p = e.getPlayer();
     Location loc = e.getLocation();
     SeasonParticle particle = e.getParticleType();
     //Event is cancellable
     e.setCancelled(true);
 }


SeasonParticle enum:
enum SeasonParticle {
    FIREFLY,
    SHOOTING_STAR,
    FALLING_LEAF,
    SMALL_FALLING_LEAF,
    COLD_BREATH
}


```

```
@EventHandler
 public void onSeasonEventStart(SeasonEventStart e) {
     World w = e.getWorld();
     SeasonCustomEvent customEvent = e.getCustomEvent();
     List<String> commands = customEvent.getCommands(true);
     boolean displayInEventList = customEvent.doDisplay();
     String displayName = customEvent.getName();
     
     //Event is cancellable
     e.setCancelled(true);
 }
```

```
@EventHandler
 public void onSeasonEventEnd(SeasonEventEnd e) {
     World w = e.getWorld();
     SeasonCustomEvent customEvent = e.getCustomEvent();
     List<String> commands = customEvent.getCommands(false);
     boolean displayInEventList = customEvent.doDisplay();
     String displayName = customEvent.getName();
 }
 
 
 @EventHandler
 public void onChunkRefresh(SeasonRefreshChunkEvent e) {
     Chunk c = e.getChunk();
     Player p = e.getPlayer();
     
     //Event is cancellable
     e.setCancelled(true); 
 }
```


