All you want to know about weather.

WeatherNews is a small simple mod that shows weather information in chat. Every time the weather changes it will pronounce to what and how long and what next if possible.


To install just put the jar in the plugins folder in your bukkit installation.


Yes I've done it. There are two systems for now but only one of them should be used. First of all here is the default configuration. And the system understands newline or line breaks if you provide them correctly through Yaml.

worldwhitelist: false
- world_sample
- world_other
showonlogin: true
- 1:
    minute: 1
- 60:
    minute: 10
- 240:
    minute: 30
- 360:
    minute: 0
    hour: 1
- 11520:
    minute: 0
    hour: 0
    day: 2
unprecise: true
minimumpercentage: 0.1
maximumpercentage: 1.0
exponentialmod: 2.0
modulator: 79
maximumtime: 180000
  DAY: "day"
  DAY_PLURAL: "days"
  HOUR: "hour"
  HOUR_PLURAL: "hours"
  MINUTE: "minute"
  MINUTE_PLURAL: "minutes"
  AND: "and"
  SUN: "sun"
  RAIN: "rain"
  THUNDERSTORM: "thunderstorm"
  CLEAR: "${header}${today}${mainclear}${nextclear}"
  UNCLEAR: "${header}${today}${mainunclear}${nextunclear}"
  UNAVAILABLE: "${header}${RED}Weather unavailable."
  BLACKLISTED: "${header}${RED}Sorry I can't do this."
  header: "${GOLD}[WeatherNews] "
  today: |
    Today the day ${TIMEDAY}.
  nextunclear: |
    After that we have something different.
    I will notice you then.
  nextclear: "After that we have ${NEXT} (${ACCURACY}%)."
  mainclear: |
    We have ${NOW} for the next ${NEXTNICE}.
  mainunclear: |
    We have at least ${NOW} for the next ${NEXTNICE} (${ACCURACY}%).

As one can see there are a number of uppercase words. Uppercase signs that these variables are used by the internal system and have a special symbolic. The system allows you to use variables in strings. It's build up like this "${variablename}". All these variables lies under the "variables" section. Anything else is just Strings and YAML.


This is a small table over all preset variable names and their usage in the "variables" section.

Variable NameUsage
DAYSet display name of singular day
DAY_PLURALSet display name of plural days
HOURSet display name of singular hour
HOUR_PLURALSet display name of plural hours
MINUTESet display name of singular minute
MINUTE_PLURALSet display name of plural minutes
ANDSet display name of and
SUNSet display name of sun
RAINSet display name of rain
THUNDERSTORMSet display name of thunderstorm
CLEARWill be displayed if the system know which weather will be after the current (change)
UNCLEARWill be displayed if the system doesn't know which weather will be after the current (change)
BLACKLISTEDWill be displayed if this world is blacklisted or not whitelisted
UNAVAILABLEWill be displayed if this world doesn't provide weather information
ACCURACYGet replaced by fake accuracy as percentage from 0-100 without a %
BLACKSets anything after it black
DARK_BLUESets anything after it dark blue
DARK_GREENSets anything after it dark green
DARK_AQUASets anything after it dark blue (aqua)
DARK_REDSets anything after it dark red
DARK_PURPLESets anything after it dark purple
GOLDSets anything after it gold
GRAYSets anything after it gray
DARK_GRAYSets anything after it dark gray
BLUESets anything after it blue
GREENSets anything after it green
AQUASets anything after it aqua
REDSets anything after it red
LIGHT_PURPLESets anything after it light purple
YELLOWSets anything after it yellow
WHITESets anything after it white
Disable login message (as requested)

Use showonlogin with true and false to change if a login message should be shown.

Whitelist and blacklist support

worldwhitelist can be used to switch between whitelisting and blacklisting. worlds contains a list of blacklisted or whitelisted worlds.

Time stepping

Stepping allows time to be displayed in steps. This is useful if you wish to hide information from your players. The system will use the entry which is the least less than the current time to the next weather change in ingame Minecraft ticks. 24000 for example is 1 day. An entry consist of up to 3 entrys of minute, hour and day. Please note that there could be strange things happening if not all three are present. This isn't true if anything is made as in the default configuration. For the minute, hour and day entrys a zero means will not show and anything over 1 means divide thou x and multiply with x in integer (natural numbers).

Fake accuracy

First of all here is the formula used to calculate the accuracy and the meaning of the variables.

t  %time left for weather change.
accuracy=((maximumpercentage-minimumpercentage) * exp(-2*pi*(t/maximumtime)^exponentialmod) + minimumpercentage) * 100
Variable NameUsage
maximumpercentageThe absolute maximum of accuracy at t=0
minimumpercentageThe absolute minimum of accuracy at t=maximumtime
maximumtimeThis should be somewhere at 180000 because this is the absolute maximum time period for a weather change
exponentialmodThis controls the flank of the function should be 2 and bigger than 1
modulatorThis sets the amount of possible randomization. Should always be a prime and not no big specially not bigger than maximumtime
unpreciseEnables fake news

Most of the time changing maximumpercentage and minimumpercentage is sufficient. All of this is try and error and for your comfort changing the config will work while running Craftbukkit.


There is only one command "/wnews" to show the news any time you want it. Running this command at the console will broadcast weather news to all players even if there isn't weather available.


Posts Quoted:
Clear All Quotes

About This Project



Recent Files