StrikePractice – 1v1, 2v2, Bots Fights, PvP Events, Parties, Build fights and more

Plugins StrikePractice – 1v1, 2v2, Bots Fights, PvP Events, Parties, Build fights and more 3.13.0

Pro Download
New stuff:
- Added Hex color support for clickable messages
- Added auto-give-first-edited-kit option (automatically gives the first edited kit, see new config.yml)
- Added more translatable messages for /events commands

Fixes:
- Fixed memory leak when tags are enabled but scoreboard is disabled
- Fixed FAWE BestOf reset resetting to broken state (i.e., not working)
- Fixed killregen applying when damaging/killing yourself
- Fixed killregen issues with edited kits
- Fixed custom kit default items (potions) not appearing
- Fixed fireball not working properly when spectators are nearby
- Fixed ranked ELO range times not being calculated as seconds
- Fixed own_wins and other placeholder issues
- Fixed admin scoreboard errors
- Fixed various issues with clickable messages and commands
- Fixed Vault hooking stability
- Fixed party creation economy check
- Fixed FFA arena validation and kit types
- Improved CPS placeholder accuracy
- Implemented better arena entity tracking and cleanup
- Refactored health bar logic for better stability

Performance improvements:
- Minor optimization to some permission checks
- Refactor enderpearl cooldowns to improve performance and stability on some spigot forks (no longer uses metadata API)

Other:
- Removed unused keep-chunks-loaded option. No longer worked in modern version, was always misunderstood and error-prone. Use keep-arenas-loaded instead.
- Refactored code to remove SP own deprecated API usage
New stuff:
- Added kill regen option to restore inventory and health on kill (/battlekit killregen)
- Added random kit support - kits with "randomkit" in their name will select random allowed kit
- Added "plain_" prefix support for PlaceholderAPI placeholders (plain-placeholderapi-placeholders: true to enable)
- Added prevention of /arena ffa for invalid arenas
- Added FAWE (FastAsyncWorldEdit) arena reset and fixes to this (use-fawe-reset: true to enable)

Fixes:
- Fixed enderpearl cooldown not properly handling exp bar when change-item-name is false
- Fixed replay system crashes on newer versions due to missing Potion class
- Fixed kill regen not checking for totems
- Fixed null checks for kit icons and simplified API
- Fixed bot difficulty icon metadata flag visibility
- Fixed unnecessary errors/debug messages in debug mode
- Fixed block disappear command functionality

Performance improvements:
- Just minor improvement to old arena reset
- Enhanced arena reset system performance with better memory management
- Reduced unnecessary logging in SoundManager
- FAWE integration for improved reset performance

Other:
- Refactored arena reset system for better extensibility
- Improved build system and development workflow
- Better error handling and debug logging
- Some other minor improvements and refactors
New stuff:
- Added kit selector for FFA arenas with multiple kits. Add with /arena kits
- Added support for specifying kit name in FFA join command as /<ffa arena> [kit] or /ffaarena <arena> [kit]
- (BETA) Added FastAsyncWorldEdit (FAWE) support for arena resets, significantly improving performance
- Added placeholder <ffa_players_arenaname> to display player count in specific FFA arenas
- Added support for HikariCP for database connections, improving performance
- Added top wins statistics and placeholders, see /sprac placeholders
- Added enderpearl-cooldown.change-item-name configuration option to not change the item name during cooldown
- Added tnt.source-damage-multiplier option for /battlekit fireball gamemode, (0 by default)
- Improved Discord webhooks to include /duel too in "duel" webhook (copy "unranked" as "duel" in its config)
- Improved spectator features to not show non-StrikePractice NPCs in spectator menu

Fixes:
- Fixed FFA arena placeholders and player count when using copied arenas
- Fixed players getting stuck in blocks during FFA arena resets (at least attempted this fix)
- Fixed insta void to only apply to started fights, not during countdown
- Fixed spawnitems not supporting hex colors
- Fixed waiting-for-duel and start messages being sent in wrong order
- Fixed an issue with top stats cache not loading properly
- Fixed sound issues with Minecraft 1.20.3+ by implementing XSound
- Fixed some arena rollback issues (also see FAWE support, beta)
- Fixed surrender command
- Fixed issues with bedwars rounds
- Fixed projectile explosion errors

Performance improvements:
- Fixed spectator issues and optimized inside arena checks
- Significantly optimized can-build checks (much faster than before)
- Improved item/entity clearing
- Added automatic removal of projectiles and falling blocks when resetting arenas
- Optimized performance by avoiding unnecessary ItemMeta checks
- Simplified some placeholders for better performance
- Improved arena reset system

Other:
- Removed 1.7.10 support
- Improved build system and CI workflow
- Upgraded our development related systems to Java 21 (the plugin still works even with Java 8!)
- Better error logging and clarifications
- Refactored arena reset system for better extensibility
  • Like
Reactions: spacy and voiqx
This update may contain some breaking changes to some gamemodes:
- Explosions now follow /battlekit extramaterials. Meaning that arena won't explode unless players could also break them by hand (which requires the blocks to be added in /battlekit extramaterials)
- "/battlekit bedwars" now works differently than "/battlekit bridge|mlgrush". Make sure these gamemodes still work (see /battlekit info and make sure "deathcooldown" is enabled for gamemodes where there should be a cooldown and "bestofreset" is enabled if the arena should reset between rounds)

You can wait a while before updating if you want to make sure it does not break anything.

New stuff:
- Make block explosions follow extramaterials (POSSIBLY BREAKING CHANGE!! Add the blocks you want to be breakable by explosions)
- Added command /battlekit shootfireballs <kit> (allow shooting fireballs, see "fireball" in the config.yml)
- Added command /battlekit autotnt <kit> to automatically ignite TNT
- Added command /battlekit nofalldamage <kit> (to disable fall damage)
- Real bedwars, kill after breaking bed (/battlekit bedwars)
- Changed /battlekit mlrush|bridge (and help info) because they no longer work like /battlekit bedwars
- Added alias commands: /duel requests and /duel settings
- Added placeholders <win_streak>, <win_streak_kit> (only with SQL database) and <opponent_rank>
- Added botfight#getBots method in the developer API
- Added enderpearl-cooldown.modify-exp-level configuration
- Added RoundEndEvent for winners/losers in the developer API
- Added PartyJoinEvent, PartyLeaveEvent, and PartyInviteEvent in the developer API
- Added respawn-countdown-time for separate death countdown duration
- Added support for async-teleport (this was in some very old versions but was removed)
- Added /surrender command (pretty much same as StrikeSurrender addon)
- Added snowball on snow block break in spleef (snowball-on-snow-break in the config)
- Added copied arenas for FFA (use-copied-arena-for-ffa in the config)
- Allow windcharge explosion in non-build kits
- Improved TNT experience and Fireball functionality
- Make /battlekit extramaterial support newer items
- Make messages work as a list too (easier to add multiline messages)
- Better support for newer Minecraft versions (1.21.1)

Fixes:
- Fixed command "/battlekit extramaterials <kit> all"
- Fix: make block below water unbreakable if part of the map
- Fixed issue with resetting beds placed by players
- Fixed error with <wlr> placeholder while loading
- Fixed renaming newer items in hand
- Fixed kit editor not using correct location for countdown.
- Fixed bridge and insta void not respawning in the bridge gamemode
- Fixed extra bedwars check for player online and fight status
- Fixed error with bedwars colored items
- Fixed double scoring in bridge gamemodes
- Fixed improper handling of block breaking
- Fixed projectile explosion issues and windcharge explosion

Other:
- Removed unused code etc.
- Small overall optimizations and refactoring
- Minor corrections (e.g., typos) and cleanup
- Fixing paper 1.20.6 remapping
- Improve paper 1.20.5+ compability
- Initial support for 1.20.5 & 1.20.6 (1_20_R4)
- Fix color support for placeholders
- Fail siltently when setting 1.8 inventories
- Clearing crafting/cursor item when clearing inventory
- Improved how NPC (bot) data is saved
- Other minor improvements to bots/NPCs
- Improved performance by refactoring how healthbars are removed
- Fixed brackets arena sometimes not being available when a round starts
- Added separate option "disable-lobby-teleport" to completely disable SP from teleporting to spawn
- Fixed a bug caused by update checks not having a timeout
- Fixed plugin not enabling if citizens doesn't work
- Fixed blocks below water being breakable even if the bloc kwas part of the map
- Fixed SP API#forcewin with party vs party
- Fixed errors related to scoreboard scores and some spigot versions
- Fixed party friendly fire when player damages themselves
- Improved how /battlekit stickspawn checks for y coordinate changes
- Bunch of internal refactoring and other work was done
:)
  • Like
Reactions: spacy and voiqx
- Improved compatibility with newer materials, especially with /battlekit extramaterials command and related functionality
- Made brackets/sumo work even if in main arenas world
- Fixed issues related to damage events in the bridge/bedwars mode
- Refactored allowed blocks checking and fixed extramaterials issues
- Added debugging for block breaking
- Fix issue when error during fight would keep arena marked as in use
- Fixed some typos (Invanlid -> Invalid etc.)
- Made keep-arenas-loaded not crash if it fails for specific arena
- Fixed /battlekit types <kit> none showing in preview menu
- Added debugging for SQL based fight stats
- Allowed bots to receive kits even if inventories were disabled (i.e., on survival servers)
- Added warning log messages in case of invalid spawnitem names
- Fixed koth team placeholder not working (unless arena "koth" was available)
- Fixed autoReconnect for MySQL
- Reduce best of X round reset delays
- Fixed arena copypaste not copying new materials
- Improved stats SQL queries performance
- Added custom cache configuration for stats and fixed koth team placeholder
- Arena reset functionality to include more entities
- Added API method #respawnInFight and added Fight#hasStarted
- Unobfuscated Difficulty and SimpleFight in the API
- Other internal changes and refactoring
- Other minor fixes and changes
  • Like
Reactions: spacy and voiqx
This release has some nice new features, includes many fixes (and many related to the developer API) and some other minor changes.
The complete list of changes can be found below in a less readable format (sorry I was lazy)


Features:
- remove pearls immediately when one dies in a duel (or when the round ends)
- "duel-max-rounds for" /duel (20 default) to customize max rounds for duels
- 'spectator-keep-inside-arena' to force spectators to stay inside arenas
- possibility to decide gamemode for spectators (SURVIVAL by default)
- allow removing broadcast message
- trace debug logging (/sprac trace - not useful for most people unless you want to debug something more complex)
- added api#getLastSelectedEditedKit(Player) in the developer API
- debug log error when cooldown module failed to load
- add api#sendDuelRequest in the developer API
- made some command messages better
- added debug logging to "deleteeditedkits"
- update api (more in fixes section)
- added <is_in_queue> placeholders
- overall better debug logging

Fixes:
- ensure sync when giving spawn items (removed async item giving)
- Use autoReconnect=true by default for SQL databases
- added extra check to make sure the arena is available (for some reason the plugin would sometimes try to start a fight in an arena that was already in use when no other arenas were available - the "hacky" fix is for duels only though)
- fix: add Recordable in the API
- fix: bed break if newer material bed
- fixed blockdisappear in ffa arenas
- fixed lms event duration and arena displayname placeholders
- fix: ignore errors when setting biome
- fix: api#getQueuedKit not returning party queue kit
- fixed BotDuelEndEvent.WinnerType not being included in the API
- fixed RoundStartEvent#getPlayer2 although it was deprecated
- removed use of async inventory close
- fixed error on #forceEnd if reason is null
- check kit type in /queue <kit>
- made ffa fight players thread-safe
- fixed language items not being saved sometimes
- fix: send left-queue before actually left the queue for placeholders to work
- mark CitizensNPC as api class (even though it's kind of a bad decision but may help addon devs
- fixed bedwars materials not always changing
- unobfuscate DefaultCachedBlockChange
- mark multiple fight related things as @APIClass
- do not teleport to duplicate ffa arenas on /ffaarena
- /arena alerts not turning off debug logging
- keep DefaultPlayerStats unobfuscated for legacy reasons
- add short delay when forceEnding a fight due to error
- fixed prevent taking armor off in kit editor
- fixed deleting database keeping data.dat failing
- fixed some errors with kit editor
- error with koth capper 1.20
- made storm-wall-outside-arenas work with performance-mode
- fixed attempting to use long scoreboard lines on 1.13
- offline-player-stats was missing from config.yml, disabled by default
- API: do not obfuscate PlayerStats#CachedStatistic etc
- fix: error with CheckKitItemsHelper.java:54
- possibly fix some data migration, use "unknown" as fallback

Misc:
- refactor: minor refactor
- fix some dependencies and repositories (mainly for development)
- remove old references to /party open
- use HIGHEST priority in bedwars EntityDamageEvent, fixes compatibility with some other plugins
- Improved 1.20 (and other newer version) compatibility
  • Like
Reactions: spacy and voiqx
Fixes:
- Fixed /sprac placeholders
- Fixed top_elo_rank not displaying "(none)"
- Fixed placeholders in post match inventory message
- Fixed (hopefully) newer items (netherite etc.) support for kit editor abuse
- Fixed check for duplicate armor in inventory in kit editor
- Fixed automatically add fight_players#id and stats#id columns
- Fixed removing wrong item from bot's inventory (soup/gapple)
- Fixed difficulty selector item arrangement in multiple row inventories
-...
  • Like
Reactions: spacy and voiqx
Back
Top Bottom