Fix rain state for <= 1.6.4

In 1.7 rain handling was moved serverside. So rain strength is now sent
from server, and rain appears when strength is over 0.2. Server still
sends start/stop rain game event, however the raining flag no longer
does anything clientside. Yet the same start/stop rain game event also
sets rain strength, and to make it worse, start rain sets strength to 0
(which also kinda stops rain for a tick) and stop rain sets strength to
1, so they work in reverse since 1.7 (WTF mojang?).
Versions below 1.7 only support starting/stopping rain, not setting it's
strength so translation is done as follows: rain strength > 0.2 as start
rain, < 0.2 as stop rain, start rain game event as stop rain, stop rain
game event as start rain. Since start/stop rain game event on old
versions will reset rain progress, start/stop event is only sent when
weather changes, not on any game event.
3 files changed
tree: 25439ec65257fdae916b5bdea1836f3d14406dbc
  1. .editorconfig
  2. .gitattributes
  3. .github/
  4. .gitignore
  5. LICENSE
  6. README.md
  7. build.gradle
  8. gradle/wrapper/
  9. gradlew
  10. gradlew.bat
  11. processors/
  12. resources/
  13. settings.gradle
  14. src/protocolsupport/
  15. tests/
README.md

ProtocolSupport

Build Status Chat

Support 1.16, 1.15, 1.14, 1.13, 1.12, 1.11, 1.10, 1.9, 1.8, 1.7, 1.6, 1.5, 1.4.7 clients on Spigot 1.16.4

Important notes:

  • Only latest version of this plugin is supported
  • This plugin can't be reloaded or loaded not at server startup

Known issues:

  • [Anything that is not latest] Items in creative mode may not work as expected, or may not work at all

Known wontfix issues:

  • [Anything that is not latest] Stats are not sent
  • [1.12 and earlier] Chests are seen as enderchests (Intentional to prevent rendering glitches). Block mappings can be changed using API if you with to see chests as chests again.
  • [1.8 and earlier] Can't control vehicle (Not directly translatable at network level, too much work to implement serverside)
  • [1.4.7 and earlier] Server shows up as “incompatible” in the server list (Impossible to fix due to the lack of an way to verify the client version during server list ping)

Website: https://protocol.support/

Spigot: https://www.spigotmc.org/resources/protocolsupport.7201/

BukkitDev: https://dev.bukkit.org/projects/protocolsupport/

Main Jenkins: https://build.hurricanegames.org/job/ProtocolSupport/
Backup Jenkins: https://ci.velocitypowered.com/job/ProtocolSupport/


Licensed under the terms of GNU AGPLv3