[1.8 - 1.21.1] ⭐ Friends & Party System with GUI ⭐ [Oraxen/ItemsAdder] icon

[1.8 - 1.21.1] ⭐ Friends & Party System with GUI ⭐ [Oraxen/ItemsAdder] -----

Friends & Party System with GUI (Compatible with Oraxen / ItemsAdder)




PAPI Placeholder improvements
  • Improved how the PAPI Placeholders work. Before, the plugin would return an old (cached) value and then update the cache, which sometimes caused incorrect data to show.
    Now, the cache gets updated every time the value changes, so this issue won't happen anymore.
Improved Tab Completion
  • Fixed an issue where the GUI wouldn't load in the latest versions of 1.21.1.
  • Fixed a bug in the Russian, Chinese, and Korean translation files that caused the config format to break after saving, due to special characters.
  • Added "settingsMenu2" as a suggestion in the editgui command.
  • Added support for ItemsAdder's ":placeholder:" in the GUI configs.
----------, Sep 21, 2024

Made default player settings changable
  • You can now change the default settings values for a player (when he joins the server for the first time).

    upload_2024-9-11_18-14-19.png
----------, Sep 11, 2024

Improved config readability
  • Made the GUI config files way more readable by converting the JSON style display-name and lore of an item to &-color codes format.
  • Also improved the performance of loading the configs.
Improved Tab Completion
  • Fixed a bug where admins would always see the "spymsg" and "removestatus" command completion
  • Improved the command completion for the party command
----------, Sep 1, 2024

Notification on player switch server
  • You can enable this feature through settings.yml ->
    notificationOnServerSwitch: true
  • If enabled, the friends of a player will get a notification, when the player switches servers (for example from survival to lobby server)
Bug fix
  • Fixed a bug where Korean GUI translation file would not be created
----------, Aug 22, 2024

1.21.1 Support
  • Added support for 1.21.1 version
Spy messages
  • Made the spy messages configurable. You can now change the layout and format in the messages config.
----------, Aug 20, 2024

Made /f command changeable
  • Made the /f command (open GUI) changeable. You can change the command in the settings.yml of the spigot plugin.
Bugfixes
  • Fixed a permissions bug with the /freload command in the velocity version
----------, Aug 18, 2024

MythicDungeons Party support
  • Added support for MythicDungeons.
    If you are in a party, you will automatically join the same Dungeons & more.
Bugfixes
  • Fixed non-working Party Events
----------, Aug 10, 2024

Party command share
  • Added Party Command Share feature:
    When a party leader executes a command, all of the party members will execute the command too. (This is useful for /warp or /tntrun play, or other commands)
Koren language support
  • Added translation files for Korean
Bugfixes
  • Fixed MySQL Timestamp Bug where the lastSeen timestamp was saved with timestamps, resulting in an error
  • Removed a missing message path
----------, Aug 1, 2024

Disable Jump / Teleport feature
  • Added an option in the settings.yml file to disable the Jump / Teleport feature. This will disable those commands:
    /friend jump / teleport
    /friend toggleJump / toggleTeleport
    /friend acceptTeleport / denyTeleport
  • NOTE: If you want to remove the jump / teleport feature from the GUI, you need to do this through the /editgui command and set the slots of the items to -1
----------, Jul 20, 2024

Added Party System to Spigot-Standalone version
  • Added the same party features to the Spigot-Standalone version as in the bungeecord / velocity version.
  • NOTE: You need to update the resource pack aswell!
Bugfixes
  • Fixed broken translations in some languages
  • Fixed Player heads sometimes not loading in lower verions
----------, Jul 16, 2024

Turkish Language Support
  • Added Languages files for turkish
Bugfixes
  • Fixed a bug in < 1.14 versions, where the GUI won't open
  • Fixed a few translation bugs
----------, Jul 7, 2024

GUI Item range
  • You can now change the slot range for items in the GUI.
    Some items take up multiple slots, for example the "BACK" button uses 3 slots.
    If you want to add your own design and change the slot length / range of an item, you can now do this with the command:
    Code (Text):
    /editgui setItemRange <gui> <item> <newRange>
----------, Jul 4, 2024

Bugfixes
  • Fixed a bug where party invites didn't work if offline mode is enabled
  • Fixed a bug where sorting friend list was not working if last seen was hidden
  • Fixed a bug where the plugin would throw an error if a dependency-plugin was disabled
----------, Jun 25, 2024

1.21 R1 Support
  • This update fixes the Change Status Menu for 1.21 clients.
    If you don't have an 1.21 server, you can skip this update.
----------, Jun 20, 2024

Party size limit
  • You can now configure different party size limits for different groups with permissions.
    Party size limit (just like friends limit) can now be set in the settings.yml config in the bungeecord / velocity plugin.
  • NOTE: The settings.yml will be renamed to settings_old.yml and a new settings.yml file will be created. Make sure to reconfigure it!

Improvements
  • Plugin's PlaceholderAPI placeholders will now parse with offline players aswell
  • If the skin of a player can't load (mojang skin server not working or invalid player name) then a question mark skin will be used
  • Small bugfixes in translations
----------, Jun 15, 2024

NOTE: This update requires you to update the resource pack aswell because there are a few new textures!

New settings
  • Added new setting Show last seen - If enabled, friends can see your last seen / online since time
  • Added new setting Show server - If enabled, friends cann see your current server
  • Added new setting Party invites (Can be Enabled, Disabled, or Friends only)
  • Added new setting option 'Friends only' for messages
New commands
  • You can also change the new settings with those commands:
  • /friend toggleLastSeen - Turn Last Seen / Online Since on / off
  • /friend toggleServer - Turn server visibility on / off
  • /friend togglePartyInvites - Turn party invites on / off / only friends
New Placeholders
  • NOTE: Some placeholders have changed. Please take a look at the Wiki for more information
  • %friendsystem_showLastSeen% - returns if the 'last seen / online since' is shown
  • %friendsystem_showServer% - returns if the player's current server is visible to their friends
  • %friendsystem_partyInvites% - returns if the party invites are on / off / friends only
  • %friendsystem_partyName% - returns the aprty name of the player
  • %friendsystem_partyCount% - returns the count of players in the party
  • %friendsystem_partyMember_X% - Replace X with a number [0-9] to return the name of the party member in that position.
----------, Jun 7, 2024

Party Chat
  • Added /pc command to toggle the Party-chat. If it is enabled you will chat automatically in the party chat.
    The command alias can be changed in the settings.yml
  • NOTE: The settings.yml will be renamed to settings_old.yml and a new settings.yml file will be created. Make sure to reconfigure it!

Command Manager for Spigot-only version
  • The Command manager now works for the spigot-only version too.
    You can disable commands, change the command aliases and set permissions.

Removestatus Command
  • Added /friend removestatus command to remove your own status.
    /friend removestatus [player] is also possible with 'friendsystem.removestatus' permission.
----------, May 14, 2024

New Customization Features
  • Change Sorting Names: You can now edit the text for the different sorting options in the GUI.
  • Modify Patterns: You can now edit the pattern of how friends, requests, and party members are displayed in the GUI.
    The default pattern 'XOOOOOOOX' means that in a row, only the 'O' symbols will be replaced with player heads, and the 'X' symbols will remain empty.
    You will only need this if you want to create your own textures for the GUI.
Enhancements and Fixes
  • Fixed Placeholder Issue: %PLAYER% placeholder wasn't working with PlaceholderAPI. Now it should work again.
  • A lot of different small bugfixes and code improvements.
----------, Apr 28, 2024

Spigot only version
  • Added a spigot-only version.
    The 'jump to friend's server' feature was changed to a 'teleport request' feature.
    Also, the party system was removed in the spigot-only version.


    This version is still in development and there might be still some bugs. If you find any, please report them on my Discord server!
New Items
  • If you are using the Custom Resource pack, you will need to reinstall it because new items were added!
  • Added sorting item to sort the friends GUI.
    Sorting options are: Favourite, Alphabetical, Last Seen, Friendship Start.
  • Added noRequests item (This item is in the main Menu and will be shown if you have no requests)
  • Added "Special items":
    Special items are items that can be added to each menu of the GUI. You can customize the item, the slot and you can bind a command to them that will be executed when the item is clicked.
    Take a look here to see how it works.

SQLite support

  • You can now use SQLite as database type (in the database.yml file).
    Therefore a MySQL Database is no longer required.

More improvements
  • added support for PlaceholderAPI placeholders within the GUI.
  • Moved messages to seperate /messages folder
  • Moved GUI configurations to seperate /guis folder
  • Removed Sourcecode from the zip file (because the max file upload size on SpigotMC is 4MB). If you need the sourcecode, contact me on discord.
  • Bugfixes
----------, Mar 22, 2024

Friendship Start Date
  • Added %FRIENDSHIP_START% placeholder for friends in GUI.
    NOTE: Friendship dates were not saved before this update. This means previous friendships will have the current date as friendship start.

Added Events to the API
  • Added Events to the Bungeecord API:
    - PartyCreateEvent
    - PlayerJoinPartyEvent
    - PlayerLeavePartyEvent
    - PartyDisbandEvent
    - PartySwitchServerEvent
    - ... soon more :)

- Fixed a bug in Velocity where the friend list was not sorted
----------, Feb 22, 2024

Improvements
  • Actually Fixed a bug where Player Heads wouldn't load if server is in offline mode
  • Replaced local RyseInventory dependency with maven dependency
  • Updated Change status inventory to work with 1.20.4
----------, Feb 13, 2024

New Requests icon
  • There is now a new icon for no requests and another when there are requests.

    IMPORTANT:
    To view the new icon, please update my resource pack. The simplest method is to remove the old resource pack and upload the latest version.

    javaw_rzph1PO3jP.png

    javaw_VOC9bOB9oZ.png


Updated ItemsAdder configs
  • Updated the ItemsAdder resource pack to use the desired ItemsAdder folder structure for more compatibility.

Further improvements
  • Added option to change the skin of the GUI item head.
    You can now specify a base64 string in the guiItem to use a custom skin instead of automatically setting to the player's skin.

  • Added Portugiese Language

  • Fixed a bug where Player Heads wouldn't load if offline mode is false

  • Fixed a bug where the plugin was not working with velocity 3.3
----------, Feb 10, 2024

Important (if you use the Custom GUI):
I updated all CustomModelDatas because users experienced conflicts with commonly used values (like 1000). This change aims to eliminate such collisions.

What You Need to Do:
  1. Reinstall the Resource Pack: To ensure compatibility, please reinstall the resource pack with the latest version of it.

  2. Reset CustomModelDatas (Option 1):
    To reset the CustomModelDatas, use the commands:
    • /editgui disableCustomGui
    • Followed by /editgui enableCustomGui This process will refresh the CMDs.
  3. Reset CMDs (Option 2):
    Alternatively, you can delete your gui_<language>.yml config file. A new one with the correct CMDs will be automatically recreated after reload.

    If you need help, feel free to contact me on Discord :)

Completed Spigot API

  • you can now manage Friends, Parties, Settings, ... through the Spigot API. Check the Wiki for developer docs.

Small Improvements
  • all player heads (also from players who haven't joined the server yet), will show skins using the Mojang API

  • Added 2D head for skeleton skull with CustomModelData 5050 => /give @p skeleton_skull{CustomModelData:5050}

  • Added /party disband command (only leader can execute it, to close the party)

  • Added /party warp command (only leader can execute it, to teleport party members to his server)
----------, Nov 24, 2023

Improvements:
  • Settings GUI will not close anymore when changing settings
  • Made plugin combatible with Bedwars1058 (contact me for setup)
  • Change status menu works now with 1.20.2
  • Added Spigot API
  • Made installation for Oraxen / ItemsAdder easier
----------, Nov 10, 2023

More customability + improved code readability
- Added possibility to change slots of background items
In the gui.yml config file there should now be a list of backgrounditemSlots for each GUI.

- Improved code readability and removed unnecessary code fragements
----------, Oct 27, 2023

Message Spying

  • Added /friend spymsg (permission: friendsystem.spymsg) command to spy private messages of players. (Or /friend spymsg <player> for individual spying)
  • Fixed a bug in the settings
  • Added changeable Custom Model Data IDs in the GUI config, to prevent resource pack collisions
  • Fixed a bug in the settings menu

Not plugin related, but I also added a Testserver (IP: dev.sk8ingduck.de) to test my plugin :)
----------, Oct 11, 2023

Per-World-Settings
You can now use per-world-settings for every setting for the spigot settings config!
I've also reworked the settings config so that it is easier to understand and I also added comments.


Improved Plugin code

I've rerwitten some parts of the code, so its easier to understand when looking at it.
----------, Sep 19, 2023

MBedWars Party Support
- The plugin will now automatically try put party members in the same bedwars team.

New Settings
separateMsgCommand - Indicates whether the /msg and /r commands are standalone commands ( /msg [player] [msg]) or nested within the /friend command ( /friend msg [player] [msg])

excludedPartyServers - List of servers that are excluded from the automatic party transfer
----------, Sep 17, 2023

Custom GUI Design

The Plugin has now an beautiful, custom GUI design that you can use.
To install the custom GUI, please follow those steps:
  1. Upload the Resource Pack 'GuiPack.zip' on a website of your choice (for example mcpacks.net)
  2. Set the resource pack URL in your server.properties to the uploaded file and restart your server
  3. Join the server and type '/editgui enableCustomGui'

This is how the GUIs look like with the custom design:
AllGUIs.png

If you have any issues, please Open a Ticket on my Discord server and I will help you out!
----------, Sep 12, 2023

GUI Edit command

You can now edit every GUI with commands, so you don't need to struggle with the configs anymore :)

Here are the new commands:

/editgui setTitle <gui> <newTitle> - Set a new GUI Title
/editgui setRows <gui> <newRows> - Set new amount of rows
/editgui setItem <gui> <item> - Set new Item (The item in your hand will be used as new item!)
/editgui setItemSlot <gui> <item> <newSlot> -set new slot for item

Each command has tab completition, so the usage is very simple.
----------, Sep 3, 2023

Developer API

The plugin now includes a rich and simple to use API, through which you can manage friends, parties, settings, friend interaction, and much more.
Add the FriendSystem-Bungee.jar or FriendSystem-Velocity.jar as a dependency to your plugin, and use FriendSystem.getAPI() to get an instance of the API.

API.png
----------, Aug 30, 2023

Geyser Support
The plugin now also supports Geyser (Minecraft Bedrock players)!
It will use the UUIDs provided by Geyser for the bedrock players.


UUID Update
The UUID system has been updated and now the player names are also stored so they can be retrieved faster. (Compared to retrieving them from the Mojang API).

Command Aliases
You can now also add aliases for every command.
Check the settings.yml config of the proxy plugin.
----------, Aug 28, 2023

Permissions
  • You can now enable permissions for each command in the settings.yml file.
    Those are the permissions:
    /friend - friendsystem.commands.friend
    /msg - friendsystem.commands.msg
    /r - friendsystem.commands.r
    /party - friendsystem.commands.party
    /p - friendsystem.commands.p

Command Manager
  • You can now disable each commands if you don't need one them.
  • You can also change the command names (for example change /p to /pa).

    Everything can be configured in the settings.yml file.

NOTE: The settings.yml will be renamed to settings_old.yml and a new settings.yml file will be created. Make sure to reconfigure it!
----------, Aug 8, 2023

Party System
- added the Party System to the GUI
- added LuckPerms Prefixes to the Chat messages + GUI. Just add %PREFIX% before a %PLAYER% placeholder to add the prefix.
----------, Aug 5, 2023

I've added LuckPerms prefixes support in the chat messages and in the GUI. You can just use %PREFIX% (or %PREFIX2% if there are two player names) in each message / gui, to get the prefixes.

LuckPerms has to be installed on the bungeecord server, otherwise it will not load the prefixes!
----------, Jul 27, 2023

Party System

The plugin now has a built-in party system!
upload_2023-7-25_0-12-1.png

For now, you can only use commands and no GUI.
But the commands will be added to the GUI in some days!
----------, Jul 24, 2023

Remove Status
- Added /friend removestatus <player> command to remove the status of a player.
You need 'friendsystem.removestatus' bungeecord permission!!!

Accept / Deny all Requests
- Added '/friend accept all' command to accept all friend requests.
- Added '/friend deny all' command to deny all friend requests.

Update Checker
- Added Update Checker. If there is a new version available on SpigotMC, you will see a message in the bungeecord console at startup that there is an update available.

More Placeholders
- Added more PlaceholderAPI placeholders. Now you can use:

- %FriendSystem_friendsTotal%
- %FriendSystem_friendsOnline%
- %FriendSystem_isInvitesEnabled%
- %FriendSystem_isNotifiesEnabled%
- %FriendSystem_isMsgsEnabled%
- %FriendSystem_isJumpingEnabled%
----------, Jun 22, 2023

GUI System
You can now change the gui names, gui sizes, items and slot of the items.
If you don't want an item to be shown in the GUI, just set the slot to -1.

The /freload command now also updates the GUI config.

upload_2023-6-15_17-55-46.png
----------, Jun 15, 2023

Fixed a bug where hex colors did not work in the chat messages. You can now also use hex colors in the clickable / hoverable messages.
----------, Jun 12, 2023

Pagination System:
- Added Pages for /friend list command
- Added Pages for /friend requests command
You can choose how much friends / requests per page you want to show in the settings.yml

- Added 'You have no friends' message instead of empty list
- Added 'You have no requests' message instead of empty list

- Extended command to: /friend list [page]
- Extended command to: /friend requests [page]

Here is an example how it looks like:

javaw_wnsb60kLs4.png


!!! IMPORTANT: Please delete the whole friend.list section in your messages config, otherwise you see some of the updates !!!
----------, Jun 5, 2023

Reworked the Config system:
If you have an older version of the plugin, then the settings.yml config of the bungeecord / velocity plugin will be renamed to old_settings.yml and a new settings.yml file will be created (this is because I added comments to the config and also some new properties).
Make sure to reconfigure it!



Tab Completion:
The plugin now also has tab completion, which looks like this:
javaw_u0Xoter76t.png

You can specify the completions in the settings.yml of bungeecord plugin.



Request Duration :
You can now enable request duration, which means that each request will expire after some time (you can specify the time in the settings.yml).

You will also see when the request will expire in the /friend requests command or in the GUI.
javaw_GP3EwX5aGj.png

NOTE: You have to add %EXPIRES_IN% to the message and to the GUI to see the expiration time.
(Or you can delete the messages.yml or gui.yml and it will be auto-created after that)

Extras:
There are a few more things I added and a few bugs that I fixed, check the settings.yml of the bungeecord plugin too see the new options!

----------, Jun 2, 2023

I've added an item to the GUI so that you can change your status now through the GUI aswell and not only through the /friend status command.

This is how it looks like:
upload_2023-5-13_20-56-48.png

upload_2023-5-13_20-57-58.png
----------, May 13, 2023

Velocity support
I'm happy to announce that my plugin now also support velocity servers!

If you have a velocity server, just use the FriendSystem-Velocity.jar instead of the FriendSystem-Bungee.jar

If you have a bungeecord server, just continue using the FriendSystem-Bugnee.jar and ignore the velocity version.

Currently, the velocity version only contains English as language (you can of course change the english messages). Later, I will add the other languages aswell, I just want to make sure that everything works first :)
----------, May 11, 2023

You can now use Hex Colors across all config files!
To use them, just use #<color>

For example:
prefix: "#f74065Friends &8»&9"

You can of course also still use &-Format.
----------, Apr 27, 2023

- Added Item to GUI to show your info (server, status, online time)
javaw_ZEVlLnlpwB.png

- Added Chinese Language Support
- Fixed a Bug with Citizens
----------, Apr 23, 2023

You can now add a hover and click property to every chat message!


In the messages.yml you will find a TextComponents section. There, you can create a custom TextComponent like this: notepad++_L3GbDXQd07.png


To use this custom TextComponent in any message, you just add {test} in the desired message. For example:
notepad++_MwKuQxm9Tw.png

And this is what it looks like in the chat:
javaw_MRJAQLNHUj.png


You can also use Placeholders in the TextComponents, like %PLAYER%
----------, Apr 13, 2023

Added Clickable / Hoverable messages

The new messages will appear when you receive a friend request and when using the /friend requests command. You need to reconfigure these two messages in the messages.yml file. Everything is configurable as always :)

Friend request received:
javaw_xxjxwjQafK.png

/friend requests command:
javaw_n8EeE5hrYb.png
----------, Apr 7, 2023

Added PlaceholderAPI Support:
%friendsystem_friendstotal% - count of all friends
%friendsystem_friendsonline% - count of friends who are online
----------, Apr 5, 2023

Changelog:
- Permissions for max amount of friends added
- added french language support
- Offline / Online Mode Support added
- Bugfixes
----------, Mar 30, 2023

Resource Information
Author:
----------
Total Downloads: 381
First Release: Mar 26, 2023
Last Update: Sep 21, 2024
Category: ---------------
All-Time Rating:
33 ratings
Find more info at sk8ingduck.gitbook.io...
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings