<commit_before>Titanic is a Bukkit plugin for 1.9.4 and above. Its sole function is to try to fix [MC-91206]
(https://bugs.mojang.com/browse/MC-91206), a regression where boats are sunk by entering sloped
water, currents and waterfalls.

This plugin is not perfect. Since 1.9, boat movement whilst riding is handled by the client. The
plugin has to fight against the client's movements by setting velocity. It is too difficult to
emulate pre-1.9 behavior.

Titanic used to be ToughBoats; a plugin originally coded by [Cyclometh]
(https://github.com/Cyclometh). Before 1.9, ToughBoats fixed a variety of boat problems. It lives
on in the `legacy` branch.

# Links

* [Downloads](https://github.com/Gamealition/Titanic/releases)
* [BukkitDev](http://dev.bukkit.org/bukkit-plugins/titanic-boatfix/)
* [Spigot resource](https://www.spigotmc.org/resources/titanic.23680/)

# Behavior

Currently, Titanic is able to push boats upwards if they:

* Spawn or otherwise end up underwater
* Attempt to enter a current or slope
* Float down a current or stream
* Enter a waterfall
* Start sinking because of partial exposure to waterfall

Titanic has trouble with:

* Smooth rides; Titanic works by setting velocity on ridden boats. This interrupts momentum on the
  client side, making movement jerky or unpredictable.
* When entering a water ramp, it takes a while before a ridden boat jumps up to the surface
* Keeping players attached; if a boat has been underwater too long, the client will force a 
  dismount. This cannot be solved by cancelling `VehicleExitEvent` as there is no reliable way to
  tell when a player is intentionally dismounting.
* Waterfalls/elevators; sometimes boats may shoot too far up too fast, or shoot through the water
* Sometimes, riding on a boat that runs aground from current gets stuck in a rapid up and down
  client-side movement

# Building, debugging and debug logging

For instructions and screenshots on how to. . .<commit_msg>Remove Spigot link from README<commit_after>Titanic is a Bukkit plugin for 1.9.4 and above. Its sole function is to try to fix [MC-91206]
(https://bugs.mojang.com/browse/MC-91206), a regression where boats are sunk by entering sloped
water, currents and waterfalls.

This plugin is not perfect. Since 1.9, boat movement whilst riding is handled by the client. The
plugin has to fight against the client's movements by setting velocity. It is too difficult to
emulate pre-1.9 behavior.

Titanic used to be ToughBoats; a plugin originally coded by [Cyclometh]
(https://github.com/Cyclometh). Before 1.9, ToughBoats fixed a variety of boat problems. It lives
on in the `legacy` branch.

# Links

* [Downloads](https://github.com/Gamealition/Titanic/releases)
* [BukkitDev](http://dev.bukkit.org/bukkit-plugins/titanic-boatfix/)

# Behavior

Currently, Titanic is able to push boats upwards if they:

* Spawn or otherwise end up underwater
* Attempt to enter a current or slope
* Float down a current or stream
* Enter a waterfall
* Start sinking because of partial exposure to waterfall

Titanic has trouble with:

* Smooth rides; Titanic works by setting velocity on ridden boats. This interrupts momentum on the
  client side, making movement jerky or unpredictable.
* When entering a water ramp, it takes a while before a ridden boat jumps up to the surface
* Keeping players attached; if a boat has been underwater too long, the client will force a 
  dismount. This cannot be solved by cancelling `VehicleExitEvent` as there is no reliable way to
  tell when a player is intentionally dismounting.
* Waterfalls/elevators; sometimes boats may shoot too far up too fast, or shoot through the water
* Sometimes, riding on a boat that runs aground from current gets stuck in a rapid up and down
  client-side movement

# Building, debugging and debug logging

For instructions and screenshots on how to. . .
{'fraction_non_alphanumeric': 0.061076604554865424, 'fraction_numerical': 0.011128364389233954, 'mean_word_length': 4.309065934065934, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 7, 'lorem ipsum': 0, 'www.': 1, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2415273', 'n_tokens_mistral': 1145, 'n_tokens_neox': 1059, 'n_words': 546}