- Fixed UltimateAdvancementsAPI causing loading problems in 1.21
@Sacny
- Added MySQL support for Bungeecord support
MySQL is experimental and will most likely have some bugs. Please be patient as I iron this out but I believe it is at least useable for long term channels.
How to update 1. Download latest version
2. Add following to config.yml
Code (Text):
# MySQL setup
# Note that it is not necessary to use MySQL to achieve bungeecord support. Synchronization can occur without a shared database and
# persist so long as you do not shut down all servers simultaneously (data is shared when servers come back from pre-existing servers in this way)
# but the better approach is to use a global database. Only MySQL is supported as of 3.8.
# NOTE: Only global channels that are SAVED will be stored here. Local channels (one-server) are stored locally in chatrooms.yml
# MySQL is still experimental!
mysql-enabled: false
host: localhost
port: 3306
database: "playerchannels"
username: "root"
password: "password"
# How often should PlayerChannels update the db in seconds?
# Keep this number low to avoid issues with independent reloads.
throttle-in-sec: 15
- Fixed issue with non-admins seeing the admin menu. Apologies for any inconveniences this has caused, the issue should be fixed now.
How to update 1. Download 3.7.7 and replace
2. Reload/Restart
If you get the defaults of 3.7.7 config, you may notice that there is information about MySQL support. This is coming soon but is not in this version, you can disregard it for now (and in future if you have no need for cross-server synchronization).
+ Added new 'hidden' status, where a channel will not appear in main menu or /pc list command besides for players inside the channel.
"playerchannels.hide" to see the item in the channel to toggle hidden status
playerchannels.admin - can see all hidden channels regardless if in channel
+ Added support for 1.20.6
How to update: Add to menus.yml
Code (Text):
# Replace old with below
chatroom-items:
name: "&e&lName:&f $name$ $hidden$"
- Small update
- Changed permission to use /pc to be turned off by default in config.yml
If you wish to use playerchannels.use permission, please enable
Code (Text):
# Should PlayerChannels check for permission "playerchannels.use" to use /playerchannels command?
use-permission: false
to be true.
How to update 1. download 3.7.2
2. reload / restart
3. add the above option to your config.yml
4. Done!
- Added create subcommand and auto-create channel
* T
his now will automatically create a new channel instead of opening the creation GUI, to use the old create subcommand, a new config option has been added and it's default is now /channels createc . . .
- Added creation-invite-other for msg to invite others
How to install 1. Download and replace old ver with 3.7.1
2. Delete messages.yml and config.yml and reload/restart or add the following messages
Config.yml
Code (Text):
# Subcommand name for creating a chatroom that will fill in your paramaterized options into the creation GUI
create-gui: "createc"
Messages.yml
Code (Text):
creation-invite-other: "&7&oTo invite players, do '&e&o/channels invite <name>&7&o' or specify the channel if in multiple channels."
- With bungeecord, there is an entirely new category of channels now called "global" channels, that will appear on all servers with PlayerChannels 3.7+.
In order to use bungeecord channels, players must have the permission "playerchannels.global" to create a channel. However, to just join a global channel, no permission is needed.
Global channels allow for easy cross-server messaging with full support of all local channel benefits like nicknames, punishments, and more! This is a perfect way to run a staff channel across your network or other various network wide chats. More features are soon to come to this of course as well.
More documentation of bungeecord is to come. To set up, simply add the jar to every desired server and make sure to put
bungeecord: true in each config.yml
How to install: 1. If you are not using a bungeecord server, you do not need to update now if not desired. However, later updates will be built upon this so addition of new config params will be needed.
2. Download 3.7 and add it to your plugins folder
3. Delete your old config and messages and let them regenerate.
4. Alternatively, please add the following messages to the respective files
Code (Text):
# Would you wish to enable bungeecord support? (Channels that are global on all servers)
bungeecord: false
Code (Text):
# Punishment broadcasts
chatroom-kicked: "&7[&e$chatroom$&7] &e$player$ &chas been kicked."
Code (Text):
# Add the below under parent node creation-menu
global:
display: "&eGlobal:"
lore:
- "&7&oClick to make this a global channel (all servers)"
material: "BEACON"
slot: 3
- Added a list subcommand to show all channels in command form
- Made listen function smarter, as now if you try to send a message in a channel you are not listening to, plugin will now auto-listen to the target channel
- Made focus chat function smarter, now if trying to chat in a channel that you are not a member of, but could be, it will auto-join and focus chat for you
- Added to help section
- Added sound on channel creation
- Added helpful message on channel join to chat in recently joined channel
- Added an actionbar message on setting focused channel to indicate which channel player is currently in
How to update: 1. Download 3.6.3 and replace your old jar
2. Either delete config.yml and messages.yml and let them regenerate, or, add the following to the appropiate sections
Code (Text):
# Subcommand for the list command
list: "list"
help-msg-8: "&e/channels &6list&e - &7List all channels and information"
# Messages related to list
list-message-1: "&aActive channels (click to join):"
list-message-2: "&a- &e$chatroom$ &e: &fMembers(&e$count$&f) >> $status$"
list-message-3: "&7&o*(in)"
Delete your config.yml and messages.yml and reload/restart, or, add the following to your config.yml and messages.yml respectively.
MINOR CHANGE, PLEASE READ
In your messages.yml, please search for "listen-help" message. Simply change the $command$ to "channels" or whatever your command is that you are using. $command$ is defunct.
Messages.yml
Code (Text):
# Messages related to invite subcommand
help-command-usage: "&cUsage: /channels invite <player> [<channel-name>]."
player-not-found: "&cPlayer not found. Please check the name and try again."
no-permission-to-invite: "&cYou do not have permission to send invites in this channel."
not-in-one-chatroom: "&cPlease specify which channel to invite:"
channel-not-found: "&cChannel not found. Please check the channel name and try again."
player-already-in-channel: "&cThe player is already a member of this channel."
pending-invite-exists: "&cThe player already has a pending invite to this channel."
invite-sent-successfully: "&aInvite sent successfully to &d$player$."
invite-received: "&d$player$ &ahas invited you to join &d$chatroom$&a."
invite-received-2: "&aTo join, type &e/channels join $chatroom$&a or click here."
click-to-copy: "Click to copy"
# Messages related to
leave-more-than-one-channel: "&cYou are in more than one channel! Please specify which one"
# This message should already exist in your messages.yml, simply, change the $command$ to channels or whatever your command is called!
listen-help: "&cIncorrect arguments! &a/channels $listen$ <add/remove/off> <chatroom>"
join-subcommand-already-in: "&cYou are already a member of that channel!"
# Messages related to leave
leave-more-than-one-channel: "&cYou are in more than one channel! Please specify which one"
leave-command-usage: "&cUsage: &e/channels &6leave &e<optional: &aname&e>"
Config.yml
Code (Text):
#Subcommand for the invite command
invite: "invite"
help-msg-5: "&e/channels <&aname&e> - &7Choose a channel to chat in"
help-msg-6: "&e/channels &6invite &e<&aplayer-name&e> <optional: &achannel-name&e> - &7Invite specified player to channel, must specify channel if in more than one channel. "
# Subcommand for the leave subcommand
leave: "leave"
- Added a join subcommand for players to join channels via a command
- Added a help subcommand for players to see all available commands
- Added a tab auto-completer so players are prompted with subcommands and chatrooms that are availible
NOTE: In 3.6.1 and up, the config option for setting the custom name of the main playerchannels command has been deleted! To add custom aliases to the command, please use your commands.yml to add an alias. If you have trouble doing this, feel free to message me. You can delete the command-name and aliases option from your config.yml
How to update: 1. Download 3.6.1 and replace your older version of PC with it.
2. Add the following messages to the appropiate files, or delete your config/messages.yml and let them regenerate with new defaults.
Code (Text):
#Subcommand for joining a chatroom through a command
# e.g. /playerchannels join <name>
join: "join"
join-subcommand-help: "&cIncorrect usage: /pc join <channel-name>"
join-subcommand-not-found: "&cThat channel could not be found!"
join-subcommand-private: "&cYou do not have permission to join that channel!"
# Subcommand for the help dialogue
help: "help"
# Help dialogue messages
help-msg: "&a-------------------------------"
help-msg-1: "&e/channels - &7Opens the channel menu"
help-msg-2: "&e/channels &6create &e<&aname&e> <optional: &adescription&e> - &7Creates a channel"
help-msg-3: "&e/channels &6join &e<&aname&e> - &7Joins a specified channel"
help-msg-4: "&e/channels &6listen &e<&aadd&e/&cremove&e/&coff&e> <&aname&e> - &7Only receive chat from a specified channel"
Code (Text):
join-subcommand-help: "&cIncorrect usage: /pc join <channel-name>"
join-subcommand-not-found: "&cThat channel could not be found!"
join-subcommand-private: "&cYou do not have permission to join that channel!"
banned-from-chatroom: "&cYou are banned from that channel!"
already-in-channel: "&cYou are already in that channel!"
- Added server channels that can exist without any members
To make a server channel, you must have playerchannels.admin. Then, when you try to create a channel, you will see a new toggle for making a server channel. Think of server channels as permanent chat channels for the entire server. Like a help chat or report chat etc. These have their own seperate item and format to distinguish them.
- Made default setting for players accepting invites to true
- Added permission playerchannels.moderator for staff that are mid-tier (not admins but still staff)
- Added ability for admins (playerchannels.admin) and moderators to join any channel regardless of it is public or private
- Added message for receiving an invite
- Made messages that are spammed send in chat after the toast notification goes away
How to update:
1. Download v3.6 and replace the jar
2. If you are using default settings, simply delete your messages.yml, menus.yml, and config.yml and let them regenerate with the new options
3. Otherwise, add the following to the respective yml files
# Add the following under creation-menu:
server-channel:
display: "&eServer Channel: "
lore:
- "&7&oClick to toggle whether this should be a server channel"
- "&7&oServer channels act as official channels without a player owner"
material: "OAK_SIGN"
slot: 3
config.yml
Code (Text):
server-channel-material: "NETHER_STAR"
# Roles that show up in server channels for admins and moderators (playerchannels.admin & playerchannels.moderator)
server-channel-admin: "&cADMIN"
server-channel-mod: "&bMOD"
messages.yml
Code (Text):
received-invite: "&aYou have received an invite to $chatroom$&a. Accept in /chatrooms in the top right. "
listening-to-channels-empty: "&cNo longer listening to any channels"
- Added a 60 second cooldown for how often a message menu will appear. This is important because spamming this lags the server and is susceptible to item glitching.
- Fixed issue where the newly added listener item in 3.4.1 was always showing to non-members of a chatroom
- Added new messages to chatrooms and players for when a player joins and leaves any given chatroom
How to update: 1. Add the following to your messages.yml
Code (Text):
new-player-join: "&7[&e$chatroom$&7] &a+ $name$"
player-leave: "&7[&e$chatroom$&7] &c- $name$"
player-join-message: "&aYou have joined: &e$chatroom$"
player-leave-message: "&cYou have left: &e$chatroom$"
- Fixed ordering of unsaved chatrooms appearing before saved chatrooms
- Added an item to chatroom menu's for players to listen to those chatrooms
- Added more messages to chatroom items to further explain different buttons
- Fixed issue where duplicate messages would send if using fast chat and in-chat simultaneously
How to update: 1. Download v3.4.1
2. Add the following to your messages.yml
Code (Text):
listening-to-channel: "&aYou will now only receive messages from these channels:"
Add the following to your menus.yml under the in-chat section
Code (Text):
in-chat:
display: "&e&lIn Chat:&f"
material: "NAME_TAG"
slot: 2
# Add the two lines under this line
lore:
- "&7&oClick to send all messages in this channel"
(The above is an old video that is poorly videographed). Here is a simple explanation.
You can now prefix messages to be sent to different channels. For example, if you are in 3 chatrooms, the messages:
"1: Ciao!"
"2: Goodbye!"
"3: Good night"
will go to the player's 1st, 2nd, and 3rd channel respectively. This is good if you are in multiple channels and want to quickly talk between channels without having to toggle back and forth constantly.
- Fixed ordering of chatrooms in main menu so that now saved chatrooms appear before unsaved.
How to update: 1. Download 3.4 and add the following to the messages.yml
Code (Text):
fast-chat-invalid-range: "&cInvalid key. Use keys &e[&f1-$end$&e]&c to fast chat."
fast-chat-invalid: "&cInvalid key. Use key &e[&f1&e]&c to fast chat."
Note: From what I've seen personally, players can still appear to "exploit" items out of some of the menus. However, this is a client issue as far as I can tell and once they try to actually use the exploited item, it vanishes. So it does not actually affect anything but I will try to find a way to avoid this completely nonetheless.
How to update: 1. Update to 3.3.1
2. Reload / restart your server
- Added a
great sequential tutorial to help players become familiar with PlayerChannels interface. It is a combination of chat messages and menu messages prompting them to click on certain buttons and guiding them through making their own channel!
- Added a customizable command for cancelling the tutorial so players can opt out of it if they start it by accident
Gif/media of tutorial will be on the page shortly, as well as expansions to the tutorial to make it even better
Note that if you customize the menus.yml, you should edit the tutorial to reflect that (e.x. Instead of saying "click the anvil" say whatever is appropiate)
How to update: 1. Download 3.3
2. Either delete your config.yml/messages.yml/menus.yml or add the following to the appropiate sections
# Chatroom Help Messages
help-msg-1: "&7⥤ &eTo cancel this tutorial at any time, please type '&c/$cancel$&e'"
help-msg-2: "&7⥤ &ePlayerChannels works through &achannels. &eClick the &aAnvil&e to create one."
# Menu is brought up again
help-msg-3: "Click the anvil on the top row"
help-msg-4: "Click the top-left icon to set the name and then click done!"
help-msg-5: "Click on your chatroom in the menu to see all the options!"
help-msg-6: "&7⥤ &eTo chat in your new channel, put an '&a@&e' before your messages or click on '&aIn Chat&e' to send all messages there!"
help-msg-7: "&7⥤ &eTo invite someone to your chatroom, you can find their head in the player list or set the channel to &apublic&e."
help-msg-8: "&7⥤ &eNote that prefixing your message with an '&a@&e' will only work if you are in only one channel!"
help-msg-9: "&eThis concludes the tutorial."
cancel-tutorial-cancelled: "&eYou are no longer in the tutorial."
cancel-tutorial-not-in: "&eYou are not in a tutorial currently. To see the tutorial, click the feather icon in '&a/playerchannels&e'"
already-in-tutorial: "Already in the tutorial!"
Add the below under the
nav-bar section. The placement of this matters.
help-item:
slot: 0
display: "&eHelp?"
material: "FEATHER"
lore:
- "&7&oClick for for a quick guide!"
# Should the tutorial be in place (existence of tutorial)
enable-tutorial: true
# Command for cancelling the tutorial
cancel-tutorial: "cancel"
cancel-tutorial-aliases:
- "canceltut"
- "canceltutorial"
- "cancelpctutorial"
- Made descriptions optional for creating a chatroom
How to update: 1. Add the following to your config.yml
Code (Text):
# Subcommand name for creating a chatroom with a command instead of through GUI as it may be more intuitive that way
# e.g. /playerchannels create <name> <optional: description>
create: "create"
v3.1 What's new? - Added a new listen subcommand that is configurable in config.yml
- Can now choose which channels to receive messages from as well as disable incoming global chat messages in one command.
for example, you ONLY want to read one channel that you're apart of, you can do /pc listen add <name> to only listen. You can also do this for multiple channels simultaneously. Doing this will disable incoming global chat.
How to install: 1. Download / update with v3.1
2. Delete your messages.yml and config.yml and let them generate the new keys
3. Reload/Restart
Or alternatively, copy these new keys over to your config.yml
Code (Text):
# Subcommand name for disabling messages from global / other chatrooms
# e.g. /playerchannels listen add <chatroom>
listen: "listen"
and messages.yml
Code (Text):
# Messages related to subcommand /playerchannels listen
listen-not-in-channel: "&cYou are not in that chatroom!"
listen-added-channel: "&aNow listening to $chatroom$&a!"
listen-removed-channel: "&cNo longer listening to $chatroom$&c!"
listen-help: "&cIncorrect arguments! &a/$command$ $listen$ <add/remove/off> <chatroom>"
listen-not-currently-listening: "&cYou are not currently listening to that chatroom!"
listen-off: "&cNo longer listening to any chatroom!"