Compatibility
Minecraft: Java Edition
26.3
26.2
26.1.x
1.21.x
1.20.x
1.19.x
1.18.x
1.17.x
1.16.x
1.15.x
1.14.x
1.13.x
1.12.x
1.11.x
1.10.x
1.9.x
1.8.x
Platforms
Links
Tags
Creators
Details
Licensed MIT
Published 22 hours ago
Updated 5 days ago
JAmbience
Add realistic weather conditions to improve the environment.
This plugin adds realistic weather conditions by retrieving data through OpenWeatherAPI or a manual method.
- $ Versions 1.8.1-26+ are supported. Version 1.7 may also work, but it has not been tested.
- $ The plugin was tested on versions: 1.8.8, 1.19.4, 1.21, 26+. The best performance was noted on the following versions: 1.8.8, 1.12.2, and 1.16.5.
- $ On versions below 1.9, the result may not be what you expect.
- $ It is recommended to use the Paper core and its forks; otherwise, the plugin's functionality may be limited.
Weather conditions:
-
Wind:
- Particle control (they move in the wind direction. On some versions they may not be controlled correctly):

- Player movement control (moving with the wind is faster, moving against it is slower):

- Wind volume (as wind speed increases, the wind sound also increases):
- Versions 1.9+ - elytra flying sound.
- Versions 1.8 and below - flying dragon sound.
-
Visibility:
- The plugin controls player visibility depending on the weather:
- Visibility 1 chunk:

- Visibility 2 chunks (this effect does not work on versions below 1.19):

- Visibility 3 chunks or more (10 chunks in the photo):

- Visibility 1 chunk:
- The plugin controls player visibility depending on the weather:
-
Freezing effect at certain temperatures (progresses at lower temperatures. Works only on versions 1.17+):
-
Particles:
- Rain:

- Snow:

- Seasonal particles (each season has its own particle color. Not controlled by wind). You can see more details in the screenshots above or in the configuration.
- Rain:
Special weather conditions:
- Squall (a push in the wind direction. Depends on speed):

- The others have not been designed, as they are difficult to imagine in normal gameplay. You can track the weather status via the placeholder %jambience_status%
Modes:
- OpenWeatherAPI (auto):
- Automatic retrieval of current data from the website.
- Manual:
- Adjusts to the data from the configuration.
Supported:
- HEX support (1.16+; it works on lower versions too, but displays incorrect colors), MiniMessage (1.18+)
- Plugins:
- PlaceholderAPI (scoreboard system).
- You can download it here: https://github.com/PlaceholderAPI/PlaceholderAPI/releases
- Don't forget to enable it in the plugin configuration.
- Placeholders:
- %jambience_name% - City name taken from the configuration.
- %jambience_emoji% - Weather emoji taken from the configuration.
- %jambience_windspeed% - Wind speed.
- %jambience_color% - Weather status color.
- %jambience_temperature% - Get the temperature.
- %jambience_winddeg% - Get the wind degrees.
- %jambience_visibility% - Visibility in chunks.
- %jambience_time% - Current time taken from the configuration.
- %jambience_event% - Translated event name from the configuration.
- %jambience_amount% - Number of particles per specified ticks.
- $ Ready scoreboard configuration:
- PlaceholderAPI (scoreboard system).
config.yml (TAB, config.yml)
scoreboards:
default:
title: '&f&lWeather'
lines:
- ''
- '%jambience_color%&l➤ &fCity: %jambience_color%%jambience_name%'
- ' %jambience_color%》 &fTime: %jambience_color%%jambience_time%'
- ''
- '%jambience_color%✉ &fInformation:'
- ' %jambience_color%》 &fTemperature: %jambience_color%%jambience_temperature%%jambience_emoji%'
- ' %jambience_color%》 &fWind:'
- ' %jambience_color%о &fSpeed: %jambience_color%%jambience_windspeed% m/s'
- ' %jambience_color%о &fDeg: %jambience_color%%jambience_winddeg%°'
- ' %jambience_color%》 &fVisibility: %jambience_color%%jambience_visibility% chunks.'
- ' '
- '%jambience_color%☁ &fWeather Type:'
- ' %jambience_color%》 &fType: %jambience_color%%jambience_event%'
- ' %jambience_color%》 &fPrecipitation: %jambience_color%%jambience_amount%'
- ''
- OpenWeatherAPI:
- You can insert a link so the plugin starts working with your city:
- https://openweathermap.org/
- Connection steps:
- Visit the website above.
- Create an account on this service.
- Find the API key in your account settings.
- Choose a location following the website instructions.
- Insert the link into the plugin configuration.
- You can insert a link so the plugin starts working with your city:
- Checks:
- The plugin will automatically detect your server version so it can work correctly with your project.
- Whether the player is in GM/fly mode so as not to interfere with the operator's work.
- Number of incorrect connections before switching to ManualMode.
- Permission checks.
- And much more...
Features:
- Command (/jambience):
- /jambience status - Get the plugin status.
- /jambience reload - Reload the plugin configuration.
- /jambience reloadSmoothly - Reload the configuration smoothly.
- /jambience update - Update information from OpenWeatherAPI.
- /jambience updateSmoothly - Update information smoothly.
- /jambience set value double/int - Set a weather parameter (experimental).
- Permissions:
- jambience.use - Whether the player can use the command.
- Limited actions:
- [message] - Send a message to the player.
- [broadcast] - Broadcast a message to all players.
- [delay] - Delay in ticks.
- [console] - Send a command as the console.
- [log] - Send a log.
- Information:
- Messages sent to the console may not replace placeholders or perform certain actions listed above.
- Configuration:
- Send actions to players via messages. (HEX support in 1.16+, MiniMessage support in 1.18+)
- Settings for supported features (unneeded ones can be disabled). Configuration:
- You can view the configuration here:
config.yml
###########################################################
# JAmbience #
# 1.1 #
###########################################################
# Support: [https://vk.com/jdevs](https://vk.com/jdevs)
#
# Commands:
# /jambience reload - Reload the plugin configuration.
# /jambience update - Update weather information -> required.
#
# Permissions:
# jambience.use - Permission to use the command.
# Settings.
settings:
# Insert hex or minimessage
# minimessage - for Paper, 1.18+.
# hex - This has been working since 1.16.5, but it also supports normal modes of operation.
translate: hex
# Supported.
supports:
# Plugins that the plugin supports.
plugins:
# Should I enable support for the PlaceholderAPI plugin? true/false
placeholderAPI: false
# Functions.
functions:
# Worlds settings.
worlds:
# Insert allowed/blocked
type: blocked
# List of worlds for the type.
list:
- "no"
# Biomes settings.
biomes:
# Insert allowed/blocked
type: blocked
# List of biomes for the type.
list:
- "no"
# Do we need to make the time like in real life?
time:
# Turn it on? true/false
enabled: true
# City name.
name: "Kemerovo"
# Specify the zone for which the time will be adjusted.
idZone: "Asia/Krasnoyarsk"
# Set how many ticks apart the weather task will be triggered.
ticks: 600
# Specify the time format.
format: "HH:mm"
# Weather.
weather:
# Weather settings.
settings:
# Should the weather be reset when the information is updated?
resetWeather: true
# Set how many ticks apart the time task will be launched.
ticks: 0
# Specify the cold temperature.
coldTemperature: 10
# Precipitations.
# Look for particles here: [https://helpch.at/docs/$version$/org/bukkit/Effect.html](https://helpch.at/docs/$version$/org/bukkit/Effect.html)
# OR here: [https://helpch.at/docs/$version$/org/bukkit/Particle.html](https://helpch.at/docs/$version$/org/bukkit/Particle.html)
# Replace $version$ with your version.
precipitations:
# Events.
events:
# Snow.
snow:
# Turn it on? true/false
enabled: true
# Particle format: PARTICLE;COUNT;SIZE;SPEED;R;G;B
# The size appeared only with 1.13+.
# In versions below 1.12.2, setting the color breaks the wind.
particles:
- "CLOUD"
shiftCenter: "10;0;10"
# The maximum degree of a circle. Only int.
maxStep: 8
# Specify the circular number.
circleNumber: 2
# Specify the spawn radius of particles between each degree.
radius: 1
# The default amount. The value without a multiplier.
defaultAmount: 0.9
# Snow multiplier.
multiplier: 10
# The weather of the world.
weather:
# Should the storm be included?
storm: false
# Specify the minimum precipitation required to activate the storm, taking into account the multiplier.
minimum: 30
# Rain.
rain:
enabled: true
particles:
- "WATER_WAKE"
- "SPLASH"
shiftCenter: "0;0;0"
maxStep: 8
circleNumber: 1.5
radius: 1
defaultAmount: 0.9
multiplier: 10
weather:
storm: true
minimum: 30
# Additional parcels by season.
seasons:
winter:
enabled: true
months: "12;1;2"
particles:
- "CLOUD"
shiftCenter: "10;0;10"
maxStep: 8
circleNumber: 2
radius: 1
defaultAmount: 0.2
multiplier: 10
spring:
enabled: true
months: "3;4;5"
particles:
- "REDSTONE;0;1;1;153;153;0"
- "COLOURED_DUST;0;1;1;153;153;0"
shiftCenter: "0;0;0"
maxStep: 8
circleNumber: 2
radius: 1
defaultAmount: 0.3
multiplier: 10
summer:
enabled: true
months: "6;7;8"
particles:
- "REDSTONE;0;1;1;128;255;0"
- "COLOURED_DUST;0;1;1;128;255;0"
shiftCenter: "0;0;0"
maxStep: 8
circleNumber: 2
radius: 1
defaultAmount: 0.2
multiplier: 10
autumn:
enabled: true
months: "9;10;11"
particles:
- "REDSTONE;0;1;1;208;122;4"
- "COLOURED_DUST;0;1;1;208;122;4"
shiftCenter: "0;0;0"
maxStep: 8
circleNumber: 2
radius: 1
defaultAmount: 0.3
multiplier: 10
# Events.
events:
# Wind event.
wind:
# Turn it on? true/false
enabled: true
# Speed.
speed:
# WalkSpeed.
walk:
# Should we enable speed adjustment based on wind direction? To disable the function accurately, a restart is required.
enabled: true
# Default WalkSpeed.
default: 0.2
# Specify the modifier for the player’s speed.
modifier: 0.1
# Minimum running speed.
minSpeed: 0.1
# Maximum running speed.
maxSpeed: 0.3
# Minimum speed.
minSpeed: 1.5
# Maximum speed.
maxSpeed: 20.8
# Sound settings.
sound:
# Specify the type of sound. Search for sounds here: [https://helpch.at/docs/$version$/org/bukkit/Sound.html](https://helpch.at/docs/$version$/org/bukkit/Sound.html)
# Specify in the following format: SOUND;PITCH;EVERYTICKS
types:
- "ENDERDRAGON_WINGS;0.1;5"
- "ITEM_ELYTRA_FLYING;1;200"
# Specify the smoothness of the visibility change.
smoothlyTicks:
# Smooth change in wind degrees.
windDeg: 40
# A smooth change in wind speed.
windSpeed: 1200
# Precipitation event.
precipitation:
# Turn it on? true/false
enabled: true
# Specify the wind speed coefficient.
ratio: 0.33
# Specify the maximum visibility radius of the particles. It affects performance and quality.
radius: 128
# Specify a random speed so that the particles appear real. Format: DOUBLE;DOUBLE
random: "0.9;1.1"
# Falling speed.
fallSpeed:
# Minimum falling speed.
minSpeed: -0.7
# Maximum falling speed.
maxSpeed: -0.1
# Specify the multiplier for the temperature.
multiplier: 0.0092
# Indicate the difference.
difference: -0.425
# Indicate the smoothness of the change in precipitation amount.
smoothlyTicks: 40
# Visibility event.
visibility:
# Turn it on? true/false
enabled: true
# Specify the maximum distance. It may affect the calculation based on the formula.
maxDistance: 10000
# Specify the maximum number of chunks. This affects the formula.
maxChunks: 32
# The effects of potions.
potionEffects:
# Enabled?
enabled: true
# Specify the chunks in which the potion effect will be granted.
chunks:
# Specify in chunk‑chunk format. Effect format: POTIONEFFECT;INT(DURATION);INT(AMPLIFIER);BOOLEAN(AMBIENT);BOOLEAN(PARTICLES);EVERYTICKS
2-2:
- "DARKNESS;200;0;false;false;100"
0-1:
- "BLINDNESS;200;0;false;false;100"
# Specify the smoothness of the visibility change.
smoothlyTicks: 400
# The freezing effect.
freeze:
# Turn it on? true/false
enabled: true
# The maximum number of freeze ticks.
maxTicks: 130
# The difference in degrees that changes the temperature.
difference: 6
# By how many ticks is each degree multiplied (difference)?
multiplier: 25
# Temperature event.
temperature:
# Specify the smoothness of the temperature change.
smoothlyTicks: 6000
# Special weather events.
specialEvents:
# Squall.
squall:
# Turn it on? true/false
enabled: true
# Should you reset the sprint during an impulse?
resetSprint: true
# Turn on pushing in the direction of the wind?
pulse: true
# Specify the impulse (repulsion) multiplier.
multiplierPulse: 0.45
# Specify how many ticks apart the event process will be triggered?
everyTicks: 150
# Status (Placeholders).
status:
# Available placeholders (PlaceholderAPI):
# %jambience_name% - City name.
# %jambience_emoji% - Weather emoji.
# %jambience_windspeed% - Wind speed.
# %jambience_color% - Weather status color.
# %jambience_temperature% - Current temperature.
# %jambience_winddeg% - Wind direction in degrees.
# %jambience_visibility% - Visibility distance in chunks.
# %jambience_time% - Current time in the location's time zone.
# %jambience_event% - Translated name of the current weather event.
# %jambience_amount% - Current amount of spawning precipitation particles.
types:
clear: "Cloudless"
clouds: "Cloudy"
snow: "&bSnowfall"
rain: "&9Rain"
drizzle: "&9Drizzle"
thunderstorm: "&7Storm"
fog: "&8Fog"
mist: "&8Mist"
smoke: "&8Smoke"
haze: "&8Haze"
sand: "&eSand"
ash: "&8Ash"
squall: "&7Squall"
tornado: "&4Tornado"
# Snow.
snow:
color: "&b"
emoji: "° &f❄"
temperature: "&b%temperature%"
# Sunny.
sunny:
color: "&e"
emoji: "° ☀"
temperature: "&e%temperature%"
# Mode settings.
mode:
# Auto.
auto:
# Enabled?
enabled: false
# Specify the number of errors before attempting to switch to Manual.
errorsToManual: 3
# API.
api:
# The URL for getting weather data. The plugin uses the OpenWeatherMap API.
# If you need help, please contact the plugin developer using the links above ^^^.
# [https://openweathermap.org/](https://openweathermap.org/)
# Steps for connecting.
# 1. Visit the website above.
# 2. Create your account on this service.
# 3. Find the API key in the account.
# 4. Choose a location you like, following the instructions.
# 5. Insert the final link here.
url: ""
# The time of the URL request update.
update: 90
# Manual. Manual mode cannot be disabled, as in the event of a failure in Auto, the plugin will operate in ManualMode.
manual:
# The time of the update.
update: 1800
# Months.
months:
# Month number.
1:
temperature: "-9;-4"
currentAmount: "1;3"
visibility: "4000;8000"
statuses:
- "snow"
- "clouds"
- "clear"
- "squall"
windSpeed: "4;12"
windDeg: "0;360"
# You can add days in the same way as months.
days: [ ]
2:
temperature: "-8;-3"
currentAmount: "1;4"
visibility: "5000;9000"
statuses:
- "snow"
- "clouds"
- "clear"
- "squall"
windSpeed: "4;10"
windDeg: "0;360"
3:
temperature: "-4;2"
currentAmount: "1;5"
visibility: "6000;10000"
statuses:
- "snow"
- "rain"
- "drizzle"
- "clouds"
- "clear"
windSpeed: "4;8"
windDeg: "0;360"
4:
temperature: "2;10"
currentAmount: "2;6"
visibility: "8000;10000"
statuses:
- "rain"
- "drizzle"
- "snow"
- "clouds"
- "clear"
windSpeed: "3;7"
windDeg: "0;360"
5:
temperature: "8;18"
currentAmount: "2;10"
visibility: "9000;10000"
statuses:
- "rain"
- "drizzle"
- "thunderstorm"
- "clouds"
- "clear"
windSpeed: "3;7"
windDeg: "0;360"
6:
temperature: "12;21"
currentAmount: "5;15"
visibility: "3000;10000"
statuses:
- "rain"
- "drizzle"
- "thunderstorm"
- "clouds"
- "clear"
- "squall"
windSpeed: "2;15"
windDeg: "0;360"
7:
temperature: "14;23"
currentAmount: "5;20"
visibility: "5000;10000"
statuses:
- "rain"
- "drizzle"
- "thunderstorm"
- "clouds"
- "clear"
- "haze"
- "squall"
windSpeed: "2;12"
windDeg: "0;360"
8:
temperature: "12;21"
currentAmount: "3;15"
visibility: "4000;10000"
statuses:
- "rain"
- "drizzle"
- "thunderstorm"
- "clouds"
- "clear"
- "haze"
windSpeed: "2;10"
windDeg: "0;360"
9:
temperature: "7;15"
currentAmount: "2;8"
visibility: "4000;10000"
statuses:
- "rain"
- "drizzle"
- "clouds"
- "clear"
windSpeed: "3;8"
windDeg: "0;360"
10:
temperature: "2;8"
currentAmount: "1;5"
visibility: "6000;8000"
statuses:
- "rain"
- "drizzle"
- "snow"
- "clouds"
- "clear"
windSpeed: "3;9"
windDeg: "0;360"
11:
temperature: "-3;1"
currentAmount: "1;4"
visibility: "4000;7000"
statuses:
- "snow"
- "rain"
- "drizzle"
- "clouds"
- "clear"
windSpeed: "4;10"
windDeg: "0;360"
12:
temperature: "-7;-3"
currentAmount: "1;4"
visibility: "4000;8000"
statuses:
- "snow"
- "clouds"
- "clear"
- "squall"
windSpeed: "4;9"
windDeg: "0;360"
# Messages.
messages:
# Actions:
# [message] message - Send a message to the player.
# [broadcast] message - Send a message to all players
# [log] message - Send a message to the console.
# [delay] ticks - Make a delay between actions. In ticks. (20 ticks = 1 second)
# If there are no rights.
noperm:
- "[message] &cYou don't have enough rights."
help:
- "[message] &aHelp:"
- "[message] &a/jambience status &f- Get the plugin status."
- "[message] &a/jambience reload &f- Reload the plugin configuration."
- "[message] &a/jambience reloadSmoothly &f- Reload the configuration, but without any immediate changes."
- "[message] &a/jambience update &f- Update information from WeatherAPI."
- "[message] &a/jambience updateSmoothly &f- Update information, but without any immediate changes."
- "[message] &a/jambience set value double/int &f- Set the parameter for the weather."
- "[message] &eUse the following types: &a[windSpeed, temperature, currentAmount, windVolume, fallSpeed, freezeTicks, visibility, event (0, 1, 2), squall (0, 1)]"
You can explore the remaining features while using the plugin.



