Commit Graph

135 Commits

Author SHA1 Message Date
William
cf9175297f
build: update CI pipelines for 1.20.5 2024-04-23 16:24:53 +01:00
William
c23fdd1ff6
feat: Add support for Minecraft 1.20.5 (#186)
* feat: support Minecraft 1.20.5

* build: bump to 1.6.5

* refactor: optimize imports

* docs: update about menu author credits

* docs: update velocity meta author credits

* docs: update URL

* refactor: use Minedown from new repo

* docs: shorten name of Plugin Message API docs page

* deps: bump minimum Velocity version to 380
2024-04-23 16:23:36 +01:00
AlexDev_
b7c353a0ec
feat: add show_all_players_from_all_groups config option (#183)
Code refactor
Improved system that handles latency
2024-03-29 23:25:38 +00:00
AlexDev_
48b3b2af48
fix: inconsistencies when players kicked/redirected on servers (#180)
Added onlyListPlayersInSameServer inside groups
Removed onlyListPlayersInSameGroup from config
Fixed problems with regex for servers
Fixed other problems
2024-03-14 22:08:02 +00:00
AlexDev_
4e2749ac9e
Added regex system and fixed ghost players bug (#176)
* Added regex system for TabGroup's servers.
Fixed ghost player after kick/disconnect.

* Fixed config docs with missing entries

* Bumped version
2024-03-11 18:43:34 +00:00
AlexDev_
c0abf481c1
fix: various bugs, improve non-VT user handling (#170) 2024-03-01 00:52:50 +00:00
AlexDev_
3d744ccefe
Added skip for compatibility check (#162) 2024-02-19 14:55:13 +01:00
AlexDev_
4efc5797b3
feat: add plugin message api, GROUP_PLAYERS_ONLINE placeholder (#157)
* Added plugin message api & added LOCAL_GROUP_PLAYERS_ONLINE placeholders

* Fixed conversations, added placeholders to docs and fixed a few bugs

* Solved conversation

* Fixed possible charset problem and moved channels to a map instead of a set

* Changed docs

* Fixed kick issue and fixed problem header/footer on join
2024-02-09 23:58:15 +00:00
William278
345ce7fa8a refactor: require PPB for PAPI placeholder fallback, add setting 2024-02-04 14:26:17 +00:00
Boy0000
f47f5fc2fd
refactor: Improve /velocitab name (#154)
* feat: use StringArgumentType#greedyString in name-command argument to allow for special characters

* feat: handle name-command if no argument is given
2024-02-03 12:59:22 +00:00
Boy0000
65abbc1646
fix: let LuckPerms-Meta placeholder pass if Proxy returns blank (#153)
* fix: let LuckPerms-Meta placeholder pass if Proxy returns blank

* fix: let unset prefix & suffix also pass to bridge

* refactor: remove unnecessary sorting warning
2024-02-03 12:03:38 +00:00
AlexDev_
7caa185fc1
Improve config validator, add team collision rule setting (#152)
* Fixed tab problem on not handled servers

* Fixed config validator and added collisions parameter

* Fixed conversations
2024-02-01 23:03:40 +00:00
William
63ed22527b
build: bump ConfigLib to 4.4.0, fix file encoding 2024-01-26 21:08:35 +00:00
AlexDev_
e19d06ee18
Fixed some problems: (#149)
- kick problem
- missing permission to name subcommand
- check before clearing header & footer on not handled servers
2024-01-24 22:13:29 +01:00
William278
e5406051bf refactor: Slightly tweak ScoreboardManager registration error 2024-01-24 19:37:15 +00:00
William278
384137a67c feat: Add Velocity version compatibility checking 2024-01-24 19:36:59 +00:00
AlexDev_
c4a07e1997
Fix regex problem (#146) 2024-01-21 14:31:13 +01:00
William278
7bd0ac3e0c [ci skip] docs: fixup wrong @since tags in API 2024-01-19 20:24:39 +00:00
William278
7b347bb43e refactor: optimize imports 2024-01-19 18:05:43 +00:00
William278
fec29dd057 refactor: slight compressNumber refactor 2024-01-19 17:16:04 +00:00
William278
247fc68a4a refactor: lastDiplayname -> lastDisplayName 2024-01-19 17:12:55 +00:00
AlexDev_
8cc6df6fc2 Updated packet class 2024-01-19 13:01:59 +01:00
AlexDev_
9e60fc0daa Fix for https://github.com/WiIIiam278/Velocitab/issues/144 2024-01-18 16:58:06 +01:00
AlexDev_
e496c99a52 Fixed rare problem while joining 2024-01-16 22:51:23 +01:00
AlexDev_
89a1f7add3
refactor: internals refactor, fix logic, new configs, spectator fix (#138)
* Started refactor

* more work

* Bug fixes and more work

* Fixed task problem

* More work on providers + fixed relocation problem

* Added providers + relocated snakeyaml

* Fixed relocation problem + removed org.json

* maps instantiation refactored

* Fixed reload problem

* Fixed logic problem

* More work on refactoring PlayerTabList

* Using lombok for procteded values

* More work

* Fixed cache problem + more work on refactor

* Fix for https://github.com/WiIIiam278/Velocitab/issues/35

* fixed conversations

* Code refactor

* Fixed problem while using minimessage

* Added more javadocs and removed kick handling as velocity fixed that problem

* Added username_lower placeholder and removed useless libraries

* Updated docs

* Added option to remove spectator effect in tablist
2024-01-16 21:09:46 +00:00
William
f16dd54a7f
feat: Add support for Minecraft 1.20.3/1.20.4 (#126)
* docs: Minor comment tweak

* Prepare 1.20.3 support pending Velocity

* 1.20.3/1.20.4 & java 17 (#128)

* Improved PacketAdapter system + added support for 1.20.3/1.20.4

* Changed java version to 17, updated velocity dependencies, improved packet adapters & added support for 1.20.3/4.

* Fixed compile error with adventure

* deps: Bump `netty-codec-http` to 4.1.103

* ci: Upgrade dependabot config

* ci: Update CI & Docs with new requirements

* refactor: Rename `LUCK_PERMS_META` -> `LUCKPERMS_META`

* docs: Document `%luckperms_meta_(key)%`

---------

Co-authored-by: AlexDev_ <56083016+alexdev03@users.noreply.github.com>
2023-12-14 23:00:04 +00:00
AlexDev_
d72ad289ec
feat: Improve placeholder system, add luck_perms_meta placeholder (#125) 2023-12-14 22:41:00 +00:00
AlexDev_
3b1be4142f
Improved serializer system for packet adapters & fixed bugs with nametags (#123) 2023-11-30 15:15:18 +00:00
William
4d6621c3c1
Tidy up bits of logic, use class for Nametags (#122)
* Tidy up bits of logic, use record for Nametags

* Few more bits of cleanup

* Some feedback

* More feedback

* Fix `#prefix()` and `#suffix()` record calls

* Fixup logical error

* `nameTag` -> `nametag`

* Make TabPlayer#getNametag returns TabPlayer.Nametag

---------

Co-authored-by: AlexDev_ <alessandrodalfovo2003@gmail.com>
2023-11-20 14:36:04 +00:00
AlexDev_
2becf43845
Fix for various problems (#119)
* Fixed logic problems with vanish + added tab recalculate system when luckperms fires UserDataRecalculateEvent

* Fix for https://github.com/WiIIiam278/Velocitab/issues/120 .
Fix for rgb nametags with legacy formatter.
Fix for players with escape characters in their name.
Fix for when a player is kicked from a server while staying online, tablist wasn't updated for that player.
Fix for vanish, wrong variable used.
Fix for negative values as input for tab sorting, min value is now 0.
2023-11-14 16:58:33 +00:00
AlexDev_
7eb8f2dbd1 Fix wrong access modifier 2023-11-09 16:16:51 +01:00
AlexDev_
3d3f3a3bfa
Changed PlayerAddedToTabEvent from record to normal class (#117) 2023-11-09 12:04:42 +01:00
AlexDev_
938ce9e077 Added VelocitabAPI#getServerGroup and fixed problem while un-vanishing 2023-11-08 16:59:40 +01:00
AlexDev_
83195d0e72
Fixed vanish problem (#116) 2023-11-08 10:00:59 +01:00
AlexDev_
c36e17b75e
Added PlayerAddedToTabEvent, improved PlayerTabList performance and more (#114)
Added PlayerAddedToTabEvent, improved PlayerTabList performance and added the possibility to reload the plugin without breaking the tab list. This is only for dev purposes. Bumped version to 1.5.2
Fixed a few problems.
2023-11-05 21:15:23 +01:00
AlexDev_
7005ceccd7
Added a team exists check when vanishing/unvanishing a player (#110) 2023-10-25 19:54:01 +02:00
AlexDev_
f03b8f1819
Added an option to remove name tags if prefix & suffix are empty (#108) 2023-10-21 12:58:38 +01:00
AlexDev_
b128f36efa
Added VelocitabAPI, Vanish integration system (#106)
* Added support for VanishIntegration

* Merged

* Added API and improved vanish system

* Fixed problem with API

* Fixed import problem

* Commit with requested changes

* first test

* Added NotNull missing annotations

* Fixed all requested changes

* Fixed logic problem

* Revert "first test"

This reverts commit 1be3c47d9c.

* Hide nametag if the prefix & suffix are empty.

* Fixes for conversations.

* Added missing @NotNull

* Adjust repo order; use `elytrium` over `exceptionflug`

---------

Co-authored-by: William <will27528@gmail.com>
2023-10-18 18:43:03 +01:00
AlexDev_
1e2aff4cf0
Added Sorting Manager (#105)
* Added SortingManager.

* Fixed initialization problem + added cache for team name

* Improved code readability

* Commit with the requested changes.

* Update src/main/java/net/william278/velocitab/Velocitab.java

Co-authored-by: William <will27528@gmail.com>

---------

Co-authored-by: William <will27528@gmail.com>
2023-10-15 13:04:10 +01:00
AlexDev_
a79404a530
Improved sorting logic to handle both high and low values. (#103) 2023-10-13 10:08:30 +01:00
Katherine
9090631677
Add all possible protocols to Protocol403Adapter (#102)
Fixes 1.19.2 clients being instantly kicked

Signed-off-by: unilock <unilock@fennet.rentals>
2023-10-12 17:09:11 +01:00
William
8224cd0ff1
Fixes, logic simplification, update docs for nametags (#101) 2023-10-12 11:44:27 +01:00
William
1f1e69ebca
Add support for Minecraft 1.20.2 (#99)
* Add protocol mappings for 1.20.2

* Cleanup some exception handling

* ci: Mark 1.20.2 as supported

* Minor code formatting tweaks
2023-10-11 17:10:29 +01:00
William278
5ad41e041f Use text block instead of concat in Settings 2023-09-25 15:21:54 +01:00
William278
7a558d4072 Fix trailing comma in Protocol403Adapter 2023-09-25 15:21:11 +01:00
William278
6c8b1b8147 Update config file with new sorting key 2023-09-25 15:20:34 +01:00
William278
2afbf38ee1 Add %server_group% and %server_group_index% placeholders 2023-09-25 15:19:32 +01:00
AlexDev_
cb8a50c24f
Sorting System with Placeholders (#94)
* Added regex check for placeholders to avoid useless requests.
Added support for custom nametags. Due to minecraft limit only legacy chatcolor are supported.
Team names now are unique, so 1 team can have max 1 player.
Fixed problem with luckperms event bus while reloading the plugin.

* Update src/main/java/net/william278/velocitab/config/Placeholder.java

Co-authored-by: William <will27528@gmail.com>

* Update src/main/java/net/william278/velocitab/hook/LuckPermsHook.java

Co-authored-by: William <will27528@gmail.com>

* Update src/main/java/net/william278/velocitab/config/Formatter.java

Co-authored-by: William <will27528@gmail.com>

* Update src/main/java/net/william278/velocitab/packet/UpdateTeamsPacket.java

Co-authored-by: William <will27528@gmail.com>

* Fixed problem while updating display names. Changed a few method signature as requested in pr. Applied changes of pr.

* Added support for placeholders as sorting system

* Code reformat

* Update logging, task scheduling and player rosters

Modified logging in the ScoreboardManager to represent playerNames as an array for readability. Ensured all tasks scheduled by Velocitab are canceled on proxy shutdown to prevent unwanted behavior. Reworked player roster management in PlayerTabList to correctly update player roles and decrease asynchronicity, enhancing performance and preventing possible race conditions.

* Fixed problems after merging with upstream, fixed problem with player team color on join.

* Fixed problems with pr-merge. Added sorting system with placeholders.

* Update src/main/java/net/william278/velocitab/packet/UpdateTeamsPacket.java

Co-authored-by: William <will27528@gmail.com>

* Update src/main/java/net/william278/velocitab/packet/ScoreboardManager.java

Co-authored-by: William <will27528@gmail.com>

* Update src/main/java/net/william278/velocitab/packet/ScoreboardManager.java

Co-authored-by: William <will27528@gmail.com>

* Update src/main/java/net/william278/velocitab/packet/ScoreboardManager.java

Co-authored-by: William <will27528@gmail.com>

* Update src/main/java/net/william278/velocitab/config/Formatter.java

Co-authored-by: William <will27528@gmail.com>

* Update src/main/java/net/william278/velocitab/player/TabPlayer.java

Co-authored-by: William <will27528@gmail.com>

* Fix username replacement in scoreboard and code typo

This commit resolves two issues. Firstly, changed the variable that we split the nametag on in `ScoreboardManager` from a hardcoded string to the player's specific username. This rectifies an issue where incorrect splitting occurred if the username wasn't exactly "%username%". Secondly, fixed a miswritten method call in `Formatter` from '..legacySection()' to '.legacySection()', correcting a syntax error. Lastly, removed superfluous replacement in `TabPlayer's` getNametag method as it was already handled in `ScoreboardManager`.

* Reformat code

* Changed logic with only one plugin message request.

* Update src/main/java/net/william278/velocitab/sorting/SortingManager.java

Co-authored-by: William <will27528@gmail.com>

* Update src/main/java/net/william278/velocitab/hook/LuckPermsHook.java

Co-authored-by: William <will27528@gmail.com>

* Update src/main/java/net/william278/velocitab/packet/ScoreboardManager.java

Co-authored-by: William <will27528@gmail.com>

* Fixed requested changes

* Changed docs

---------

Co-authored-by: William <will27528@gmail.com>
2023-09-25 15:10:45 +01:00
AlexDev_
75d9f32010
Added support for nametags and fixed a few problems (#84)
* Added regex check for placeholders to avoid useless requests.
Added support for custom nametags. Due to minecraft limit only legacy chatcolor are supported.
Team names now are unique, so 1 team can have max 1 player.
Fixed problem with luckperms event bus while reloading the plugin.

* Update src/main/java/net/william278/velocitab/config/Placeholder.java

Co-authored-by: William <will27528@gmail.com>

* Update src/main/java/net/william278/velocitab/hook/LuckPermsHook.java

Co-authored-by: William <will27528@gmail.com>

* Update src/main/java/net/william278/velocitab/config/Formatter.java

Co-authored-by: William <will27528@gmail.com>

* Update src/main/java/net/william278/velocitab/packet/UpdateTeamsPacket.java

Co-authored-by: William <will27528@gmail.com>

* Fixed problem while updating display names. Changed a few method signature as requested in pr. Applied changes of pr.

* Fixed problems after merging with upstream, fixed problem with player team color on join.

* Update src/main/java/net/william278/velocitab/packet/UpdateTeamsPacket.java

Co-authored-by: William <will27528@gmail.com>

* Update src/main/java/net/william278/velocitab/packet/ScoreboardManager.java

Co-authored-by: William <will27528@gmail.com>

* Update src/main/java/net/william278/velocitab/packet/ScoreboardManager.java

Co-authored-by: William <will27528@gmail.com>

* Update src/main/java/net/william278/velocitab/packet/ScoreboardManager.java

Co-authored-by: William <will27528@gmail.com>

* Update src/main/java/net/william278/velocitab/config/Formatter.java

Co-authored-by: William <will27528@gmail.com>

* Update src/main/java/net/william278/velocitab/player/TabPlayer.java

Co-authored-by: William <will27528@gmail.com>

* Fix username replacement in scoreboard and code typo

This commit resolves two issues. Firstly, changed the variable that we split the nametag on in `ScoreboardManager` from a hardcoded string to the player's specific username. This rectifies an issue where incorrect splitting occurred if the username wasn't exactly "%username%". Secondly, fixed a miswritten method call in `Formatter` from '..legacySection()' to '.legacySection()', correcting a syntax error. Lastly, removed superfluous replacement in `TabPlayer's` getNametag method as it was already handled in `ScoreboardManager`.

---------

Co-authored-by: William <will27528@gmail.com>
2023-09-22 17:57:51 +01:00
AlexDev_
8ae25521dd
Fix encode error on 1.20.1 (#90)
* Added test debug

* Fix issue https://github.com/WiIIiam278/Velocitab/issues/89

* Removed ViaVersion problem message

* Re-Added final keyword on plugin parameter in UpdateTeamsPacket
2023-09-16 10:53:50 +01:00