Skip to content

Releases: kernitus/BukkitOldCombatMechanics

2.0.1 - Modesets bugfix + more placeholders

12 Jan 20:00
fab515b
Compare
Choose a tag to compare

Bug Fixes

  • Fix error using /ocm mode when current world not in config
  • Fix mode.own permission not working

New Features

  • Added placeholders for enderpearl, gapple, and napple cooldowns. See wiki for more details.

2.0.0 - Modesets: per-user module combat modes

08 Jan 15:59
Compare
Choose a tag to compare

Features

  • Added per-user combat mode modesets supporting all modules, not just attack speed
  • You can now configure as many modesets as you like, and specify which modules should be enabled when a player is in that modeset
  • You can specify which modesets are allowed in which worlds
  • Modesets are persistent across server restarts
  • Players can switch between allowed modesets with /ocm mode for their current world
  • This allows players to choose what combat mode to be in, as long as they have the permission. The mode of the attacker takes precedence for any given damage calculation, to allow for a fair fight.
  • PlaceholderAPI support has been updated to display the player's current modeset for the player they are in with %ocm_modeset%

Important Changes

  • Fixed last damage calculations not taking into account non-entity damage. Improves compatibility with other plugins and fixes problems with damage immunity.
  • Moved worlds section from individual module configs to new modesets section
  • Removed toggle, enable, and disable commands. These have been replaced by the mode command.
  • sword-sweep-particles and disable-attack-sounds modules now require ProtocolLib. This allowes for faster updates and greater inter-plugin compatibility.

Smaller changes

  • Allow configuring message prefix
  • Added denied message when offhand is disabled
  • Added ability to disable randomness in old armour strength calculations
  • Allow configuring projectiles affected by projectile randomness module

Bug Fixes

  • Fixed issues with sword blocking module, including duplication
  • Fixed fishing knockback module not getting picked up by other plugins as entity damage (e.g. WorldGuard)
  • Fixed projectile randomness module launching items at a right angle sometimes
  • Remove offhand item if player switches world and is not allowed

1.12.2 - Damage plugins compat & Spigot 1.20

09 Jun 10:18
Compare
Choose a tag to compare

Build changes

  • Switched from building with Maven to Gradle
  • Updated to build against Spigot 1.20 API

Compatibility

  • Improved compatibility with other plugins that extensively modify damage e.g. McMMO. This should fix remaining issues with high click rate/no immunity.

Fixes

  • Fixed being able to shift-click shield into offhand slot when disabled
  • Fixed sword blocking not triggering when right-clicking air
  • Fixed certain potion effects being removed and re-applied with old gapple module, including health boost hearts being reset
  • Fixed Spartan anticheat compatibility throwing console error

1.12.1 - Auto updater + fixes

28 May 11:51
Compare
Choose a tag to compare

New features

  • Added auto-updater, can be configured in config.yml
  • Added option to force config update even when on Spigot < 1.18.1 (warning: this will remove all config comments)
  • Removed list of interactive blocks from config

Bug Fixes

  • Fixed issues with fishing rods being able to be used in Worldguard & Residence restricted areas
  • Fixed damage calculation not being applied when running Spigot < 1.16 and having attack cooldown enabled
  • Fixed errors with get absorption method when running Spigot < 1.15
  • Fixed problems with eating golden apples being reset when damage taken

1.12.0 - Damage Calculations Rework

18 Apr 16:49
Compare
Choose a tag to compare

This release is the culmination of a lot of work in making sure the damage calculations in the plugin are as accurate as possible. Extensive automated testing was conducted in order to make sure the weapon behaviour is accurate, and a lot of problems were found. They have now been fixed, and you will find the damage reflects the configuration as closely as possible. Additionally, compatibility with other plugins modifying damage was improved significantly.

New features

  • Add option to use old sharpness calculations to OldToolDamage module
  • Add automated config.yml upgrader for Spigot 1.18.1 and above. This means you config will not longer be reset when updating and all your options will be carried over to the new config

Bug fixes

  • Fix error on offhand swap with DisableElytra module
  • Fix error on /ocm enable command on Spigot >1.16
  • Added backwards compatibility for certain methods not existing, supports back to 1.9
  • Fix DisableAttackSounds module errors on 1.19.3
  • Improve compatibility with scoreboard plugins

Damage Changes

  • Changed minimum attack speed to disable cooldown to 40
  • Fix overdamage and last damage calculations
  • Fix overdamage calculations interactions with other modules
  • Correctly scale attack damage by cooldown, including enchantment damage
  • Fix critical hit detection in 1.9, by checking player is not sprinting
  • Fix critical hit calculation to be 1.5 multiplier of damage
  • Fix weakness potions causing damage calculations not to run for overdamage
  • Fix lingering & dispensed potions not being included by OldPotionEffects module
  • Fix OldArmourStrength module not taking resistance and absorption into account
  • Updated list of damages that bypass armour to 1.19
  • Allow greater compatibility with custom weapons, especially MCMMO and Crackshot
  • Fix successful overdamage not updating last damage value
  • Fix absorption modifier always being applied even when not needed

1.11.0 - New commands, full 1.18 compatibility & many fixes

12 May 14:36
Compare
Choose a tag to compare

New features

  • Allow toggling cooldown via console
  • Allow configuring cooldown messages
  • Add /ocm command tab completion
  • Add oldcombatmechanics.swordblock permission for sword blocking (if turned on in config)
  • Add /ocm <enable/disable> world-wide and server-wide commands for toggling pvp version
  • Add /ocm test command to run automated damage tests in game (still a work-in-progess)
  • Check wiki for all details on new commands

Bug fixes

  • Fix console error with freeze damage when running Spigot < 1.17
  • Add Player Collisions module support for 1.18 (plugin still worked fine if disabled)
  • Avoid random knockback being applied in certain situations
  • Fix enderpearl fall damage not being applied correctly in Projectile Knockback module
  • Make plugin use less memory if the server is running out of it
  • Allow non-nms packets through with a warning for greater compatibility with other plugins
  • Allow gapple cooldown to be applied even if old effects are disabled
  • Fix console error in Disable Projectile Randomness module if running Spigot < 1.14
  • Fix brewing stand refueling on Spigot 1.17 and above
  • Update SpartanAPI dependency for compatibility with newer versions

Fixes to damage calculations

  • Set correct last damage when player invulnerable to include base damage + strength modifier + crits
  • Rearrange overdamage order calculation
  • These fix problems with spamming attacks when a player or an entity should have invulnerability overdamage

From this version onwards, project licence was changed to Mozilla Public Licence 2.0

1.10.0 - Old knockback & crits, 1.17 support

27 Jul 17:47
Compare
Choose a tag to compare

Updated dependencies, reflection and added freeze damage to work with Spigot 1.17 (with great help from I-Al-Istannen)

New features:

  • Added old player knockback module (with MWHunter's help)
  • Added old critical hits module
  • Added golden apple cooldown messages (with M0diis's help)

Fixes:

  • Fixed shield-blocking damage reduction & armour durability
  • Fixed compatibility with plugins that modify item damage, e.g. EpicBosses and MMOItems
  • Fixed thorns causing too much damage through armour
  • Fixed ignoring invulnerability overdamage, which caused repeated attacks to be too strong
  • Fixed errors with netherite tools and shovels caused by Spigot 1.13+ item name changes
  • Accounted for zombie horse and zombie villagers when calculating smite enchantment damage

1.9.0 - Attack Frequency, Fishing Rod Velocity

04 Jan 12:08
84d0662
Compare
Choose a tag to compare

New modules:

  • Add AttackFrequency module to change invulnerability time in-between hits for both mobs & players
  • Add OldFishingRodVelocity module to make fishing rods go as far as they did in 1.8 (thanks to MWHunter)

New features:

  • Allow setting individual cooldowns for enchanted and normal golden apples
  • Add configurable message for enderpearl cooldown
  • Add configurable message for disabled crafting
  • Add option to use worlds configurations as blacklist instead of whitelist
  • Make ChorusFruit module disabled by default

Bugs fixed:

  • Improve performance of sword sweep module
  • Fix error when a player has null attributes
  • Fix error when player changing world
  • Fix errors with player collisions module when player leaving and rejoining server
  • Fix OldPlayerRegen not accounting for exhaustion changes correctly
  • Fix OldPlayerRegen not starting to heal immediately
  • Fix DisableEnderpearlCooldown not respecting worlds configuration
  • Fix DisableEnderpearlCooldown not respecting other plugins' cancelling of an enderpearl launch event
  • Fix OldPotionEffects not having worlds configuration option
  • Fix OldBurnDelay not having worlds configuration option, and not respecting it
  • Fix ChorusFruit not respecting worlds configuration option

Dependencies updated:

  • Update PlaceholderAPI
  • Update Spigot dependency
  • Update bStats dependency

1.8.1 - 1.16 support & disable attack sounds module

10 Jul 19:04
Compare
Choose a tag to compare

Full 1.16.1 support, this includes:

  • Updated to use 1.16.1 Spigot API dependency
  • Support for Netherite weapons
  • Support for new mob types
  • Account for being able to hotkey handswap while in an inventory (DisableOffhandModule)

New modules:

  • ModuleAttackSounds, to disable the new attack sounds. (Module is disabled by default)

Bugs:

  • Fixed OldArmourDurability module not accounting for unbreaking enchants
  • Fixed shovels not being detected as a weapon anymore due to name changes
  • Fixed gapples being used up while in creative
  • Fixed error due to Advancements not being present on pre-1.12
  • Fixed per-world setting not working for ShieldDamageReduction module
  • Fixed unbreaking not working with elytras with OldArmourDurability enabled
  • Added crafting table to list of interactive blocks

1.8.0 - Armour durability, burn delay, gapple & enderpearl cooldown etc.

19 May 20:54
Compare
Choose a tag to compare

New modules:

  • OldArmourDurability module
  • OldBurnDelay module

Changes:

  • Added configurable gapple cooldown
  • Added configurable enderpearl cooldown
  • Made cancelDraggingIn for FishingKnockback module (for compatibility with WorldGuard PVP regions)
  • Added configurable option for fishing rod knockback on mobs
  • Updated Bukkit dependency to 1.15.2
  • Updated bStats version to 1.7
  • Removed MCStats metrics
  • Added barrel to list of interactive blocks
  • Lowered default damage for projectile & fishing rod knockback

Fixes:

  • Eating gapples didn't increment statistics or advancements
  • Plugin now respects gapple consume event cancellation (for compatibility with other plugins)
  • NPE with PlayerCollisions module when using PaperMC
  • Players were getting kicked when using ProtolSupport
  • Memory leak in PlayerCollisions module
  • Memory leak in PlayerRegen module
  • Memory leak in SwordBlocking module
  • ProjectileKnockback was not working with absorption effect
  • DisableProjectileRandomness wasn't working with multishot enchantment