ChatColor+ Premium

SpigotMC Plugin ChatColor+ Premium 3.0

You must be signed in and/or upgrade to VIP to download this resource
Tested Minecraft Versions:
1.8, 1.12
Languages Supported:
All
Contributors:
Chemmic, YouSafe, MrFraise_04


Why is this resource Premium when there is a free version?

ChatColor+
is a Project
that has existed for over 4 years now with more than 50.000 downloads. It's one of my first plugins which is why the code is really messed up. The problem was that, back then, I had no clue about coding and I released a version which only included a /ChatColor command. Many features were requested since then which made the code even messier because my planning and structuring did not include these.
My only motivation over the years to work on this project were the nice Spigot community and a donation from @NullBlox.
However, these days, I'm not into Minecraft anymore and the free version has alot of bugs and features requested. It got so messed up over the years that it is nearly impossible to fix all the bugs. So I decided to recode it and fix them while adding new features along the way.
ChatColor+ has been free since I posted it and I dont want to change that, so I've decided to keep it and instead post this new, updated version. This way I can earn something for my work and people who can't spend money for it will still be able to use the old version. It may not work anymore and will no longer be supported/updated.





Users with the correct Permissions can choose their own ChatColor, NameColor, TabColor, SignColor and Font via a GUI.
Right clicking a Color in the GUI will let them mix it with another color!
The plugin also supports MySql, if you have multiple Servers, it will enable your players to keep their colored name on each one if desired.
You can also create custom unicode fonts and let your players choose which they prefer.
There is a Command for every feature to set/remove/get the Players Color/fonts.
Every item in the GUI's and messages are editable in configs!

Features that are different from the free version:​
  • Working MySql support
  • Fonts
  • /<color> setColorString <Player>
  • /<color> help
  • Mix colors multiple times
  • Less bugs/faster code
  • Sign Color
  • Better API
  • Compatible with more Chat plugins
  • More permission based
  • Working with Minecraft 1.12 and above
  • Supporting PlaceholderAPI
  • Reload command
More details below



To use this plugin, your users simply need to use /chatcolor, /font, /namecolor, /tabcolor, /signcolor and select a Color.
Left clicking the desired color in the GUI will select it.
Right clicking will mix the colors if they have the Permissions to do so.


The color will change depending on what they've chosen. For example:


PlaceholderAPI​
ChatColorPlusPremium_chat_color -> gives chatcolor of the player
ChatColorPlusPremium_chat_color_name -> gives the name of the players color
Instead of "chat" you can also use: sign, name, tab !
for font: ChatColorPlusPremium_font


/<color> - Open the color GUI
/<color> help - Helps you with all the commands
/<color> set <ColorName> <Player> - Change the color of a Player
/<color> get <Player> - Get the current color of a Player
/<color> remove <Player> - Remove the current color of a Player
/chatcolorplus reload - Reloads the plugin

new: /<color> setColorString <ColorString> <Player>
Change the color of a Player to a given String. For example /ChatColor setColorString &4&l Chemmic will make Chemmic's chat color dark red and Bold. You can mix colors with this feature via the command.

<color> can be replaced with : ChatColor, SignColor, NameColor, TabColor and font (font doesnt have setColorString command).

<ColorName> can be replaced with: Black, dark_blue, dark_green, dark_aqua, dark_red, dark_purple, gold, gray, dark_gray, blue, green, aqua, red, light_purple, yellow, white, magic, bold, strikethrough, underline and italic.



<color>.use - Allows the user to open the color GUI
<color>.op - Allows the user to use any other color command
<color>.MixColor.multiply.<ColorName> - Allows the user to mix the choosen color multiple times with other colors
<color>.<ColorName> - Adds the choosen color to the GUI
<color>.rainbow - Adds rainbow color to the GUI
MixColor.use - Allows the user to mix their color
MixColor.multiply.use - Allows the user to mix their color multiple times
chatcolorplus.reload - Allows the user to reload the plugin
<color>.groups.<GroupName> - This will set the default color for users in your defined group. You can create default groups in each ColorConfig.yml
If the user has none of the default group permission he will get the default color defined over the groups.
Example: TabColor.groups.vip

<Color>.all - Example: ChatColor.all will add all colors to the players inventory

<Color>.MixColor.multiply.all - Example: NameColor.mixcolor.multiply.all will allow the user to mix his color multiply times with all colors.




8 Config files will be generated.
ChatConfig, FontConfig, NameConfig, SignConfig and TabConfig. They will all include the same content. However, you may want to treat each color differently.


Code:
size: 27  - Change the size of the Inventory must be x*9
title: '&6Choose your TabColor:'
mix-title: '&6Mix your TabColor:'
mix-size: 27
mix-noperm: '&cYou don''t have permissions to mix your TabColor with an other Color!'
TabColor:
  default: '&f'
Reset:
  Name: '&4Click to reset your ChatColor!'
  Lore:
  - '&6Change your ChatColor back to normal again!'
  ItemID: 20
  InventoryPosition: 18
  mix-InventoryPosition: 18
Message:
  color:
    changed: '%prefix%&eYour &6TabColor &ehas been changed to%color-code% %color-name%&e!'
    reset: '%prefix%&eYou have &creset &eyour &6TabColor &e!'
  color-mixed:
    changed: '%prefix%&eYour &6TabColor &ehas been %mixed-code%mixed&e!'
ShowFirstColorItem: true
Name:
  FirstColor: '&eCurrent color: %ColorName%'
NormalColors:
  BLACK:
    Name: '&0black'
    Lore:
    - '&6Left-click &eto select this color!'
    - '&6Right-click &eto mix this color with other colors'
    ItemID: '35:15'
  DARK_BLUE:
    Name: '&1dark_blue'
    Lore:
    - '&6Left-click &eto select this color!'
    - '&6Right-click &eto mix this color with other colors'
    ItemID: '35:11'
  DARK_GREEN:
    Name: '&2dark_green'
    Lore:
    - '&6Left-click &eto select this color!'
    - '&6Right-click &eto mix this color with other colors'
    ItemID: '35:13'
  DARK_AQUA:
    Name: '&3dark_aqua'
    Lore:
    - '&6Left-click &eto select this color!'
    - '&6Right-click &eto mix this color with other colors'
    ItemID: '35:9'
  DARK_RED:
    Name: '&4dark_red'
    Lore:
    - '&6Left-click &eto select this color!'
    - '&6Right-click &eto mix this color with other colors'
    ItemID: '171:14'
  DARK_PURPLE:
    Name: '&5dark_purple'
    Lore:
    - '&6Left-click &eto select this color!'
    - '&6Right-click &eto mix this color with other colors'
    ItemID: '35:10'
  GOLD:
    Name: '&6gold'
    Lore:
    - '&6Left-click &eto select this color!'
    - '&6Right-click &eto mix this color with other colors'
    ItemID: '171:4'
  GRAY:
    Name: '&7gray'
    Lore:
    - '&6Left-click &eto select this color!'
    - '&6Right-click &eto mix this color with other colors'
    ItemID: '35:8'
  DARK_GRAY:
    Name: '&8dark_gray'
    Lore:
    - '&6Left-click &eto select this color!'
    - '&6Right-click &eto mix this color with other colors'
    ItemID: '35:7'
  BLUE:
    Name: '&9blue'
    Lore:
    - '&6Left-click &eto select this color!'
    - '&6Right-click &eto mix this color with other colors'
    ItemID: '35:3'
  GREEN:
    Name: '&agreen'
    Lore:
    - '&6Left-click &eto select this color!'
    - '&6Right-click &eto mix this color with other colors'
    ItemID: '35:5'
  AQUA:
    Name: '&baqua'
    Lore:
    - '&6Left-click &eto select this color!'
    - '&6Right-click &eto mix this color with other colors'
    ItemID: '171:9'
  RED:
    Name: '&cred'
    Lore:
    - '&6Left-click &eto select this color!'
    - '&6Right-click &eto mix this color with other colors'
    ItemID: '171:14'
  LIGHT_PURPLE:
    Name: '&dlight_purple'
    Lore:
    - '&6Left-click &eto select this color!'
    - '&6Right-click &eto mix this color with other colors'
    ItemID: '35:2'
  YELLOW:
    Name: '&eyellow'
    Lore:
    - '&6Left-click &eto select this color!'
    - '&6Right-click &eto mix this color with other colors'
    ItemID: '35:4'
  WHITE:
    Name: '&fwhite'
    Lore:
    - '&6Left-click &eto select this color!'
    - '&6Right-click &eto mix this color with other colors'
    ItemID: '35:0'
SpecialColors:
  MAGIC:
    Name: '&kmagic'
    Lore:
    - '&6Left-click &eto mix your first Color with magic&6!'
    - '&6Right-click &eto mix this color with other colors'
    ItemID: '171:1'
  BOLD:
    Name: '&lbold'
    Lore:
    - '&6Left-click &eto mix your first Color with bold&6!'
    - '&6Right-click &eto mix this color with other colors'
    ItemID: '171:2'
  STRIKETHROUGH:
    Name: '&mstrikethrough'
    Lore:
    - '&6Left-click &eto mix your first Color with strikethrough&6!'
    - '&6Right-click &eto mix this color with other colors'
    ItemID: '171:3'
  UNDERLINE:
    Name: '&nunderline'
    Lore:
    - '&6Left-click &eto mix your first Color with underline&6!'
    - '&6Right-click &eto mix this color with other colors'
    ItemID: '171:4'
  ITALIC:
    Name: '&oitalic'
    Lore:
    - '&6Left-click &eto mix your first Color with italic&6!'
    - '&6Right-click &eto mix this color with other colors'
    ItemID: '171:5'

new in version 1.2:

- Rainbow for all color types(namecolor,tabcolor,signcolor,chatcolor)
Permission to add it to a color inventory:
<Color>.rainbow

The config will expand:

If a player selects rainbow, it will change the chosen color to it but only with the colors in the list. For example, if you remove every color except &0 and &1, it will make it rainbow mixed with &0 and &1.

if random is set to false:


if random is set to true:


when random is false it will always choose the same color
sequence everytime. If set to true it will choose completly random colors every time from the colors list.

The ColorConfig file will only save all the data from the players if MySql is not active. You should NOT touch it if you're not 100% aware of what you are doing.
In the generalconfig file, you can edit thins such as prefix and the message if you don't have permissions to use a command.
The MySql file and Font file will be explained below.



Fonts are a new feature of the Premium resource.
You can create fonts in the FontConfig file and let players choose from them.
You can also set custom Permissions the user needs so it will show up in the font GUI.
Here is an example of the ExampleFont with a ChatColor selected:

FontConfig:
You can create your own unicode fonts with Permissions needed and as what item it will show up in the GUI.
Just copy/paste the Default font and change what you want to create a new one.
If you are looking for some example fonts, I recomment this:
copy/paste the small and big letters and you are good to go!
NOTE: It might look like this when you open the config with notepad++:

but it should still look fine ingame!

Code:
title: '&6Choose your Font:'
size: 27
Message:
  font:
    reset: '&e%prefix% you have set your Font back to normal!'
    changed: '&e%prefix% You have changed your Font to %font-name%'
DefaultFont: NormalFont
Reset:
  Name: '&4Click to reset your Font!'
  Lore:
  - '&6Change your Font back to normal again!'
  ItemID: 20
  InventoryPosition: 18
Fonts:
  ExampleFont:
    letter-small: ⓐⓑⓒⓓⓔⓕⓖⓗⓘⓙⓚⓛⓜⓝⓞⓟⓠⓡⓢⓣⓤⓥⓦⓧⓨⓩ
    letter-big: ⒶⒷⒸⒹⒺⒻⒼⒽⒾⒿⓀⓁⓂⓃⓄⓅⓆⓇⓈⓉⓊⓋⓌⓍⓎⓏ
    Permission: ExampleFont.use
    ItemID: '1'
    ItemTitle: '&eClick to select the ExampleFont!'
  NormalFont:
    letter-small: abcdefghijklmnopqrstuvwxyz
    letter-big: ABCDEFGHIJKLMNOPQRSTUVWXYZ
    Permission: NormalFont.use
    ItemID: 276
    ItemTitle: '&eClick to select the NormalFont!'



If you want to save the data in a MySql database instead of a File
just change the MySqlConfig ACTIVE to true and put the information from the database in the file.
If the plugin can connect to the database it will be used. Otherwise the plugin will continue saving the data in files.






- Rainbow support (done!)
- Essentials nickname support (done!)
- PlaceholderAPI support(done!)



To use the API add the file to your project.

Code:
You can use:

ChatColorPlus.setColor(ColorEnum, Player, String colorCode, String colorName);

To set a player's Color for example, use ColorEnum.CHATCOLOR to change the users chatcolor.
Color code is for example &6 for dark red and colorname would in this case be dark_red. If you're mixing a color like &6&l, then use this as colorcode and the colorname as whatever you name your creation. Tip: Put the same colorcode there if you have no specific name.

ChatColorPlus.getColor(ColorEnum, Player);

This will return a String with the colorcode of the Players ColorEnum color.

ChatColorPlus.getColorName(ColorEnum, Player);

This will return a String with the colorname of the Players ColorEnum color

ChatColorPlus.getPrefix();

Returns a String with the prefix the server owner choose for chatcolor+


If you want to thank me for the work/updates/features, I will add you, you can do this by donating any amount you want to my paypal:
[email protected].

By buying this plugin you accept the Software license

License for ChatColor+ Premium
License Summary


    • Commercial use allowed
    • Cannot modify source-code nor binary-code for any purpose (cannot create derivative works)
    • Attribution to software creator must be made as specified:
      Licensee must clearly state where you obtained this piece of software form
    • Additional terms:
      Do not reverse engineer this software including decompiling of the distributed code.
THE SOFTWARE - Terms and conditions






      • Preamble: This Agreement sets the terms, rights, restrictions and obligations on using [ChatColor+ Premium] (hereinafter: The Software) created and owned by Chemmic, who is the original author and copyright holder of this Software, as detailed herein. This Agreement, signed on the date of your purchase or the date you obtained this software [hereinafter: Effective Date] governs the relationship between YOU (who obtained this software), a Business Entity, (hereinafter: Licensee) and LICENSOR, a LICENSOR AFFILIATION whose principal place of business is (Hereinafter: Licensor).




      • License Grant: Licensor hereby grants Licensee a Personal, Non-assignable & non-transferable, Commercial, Royalty free, Without the rights to create derivative works, Non-exclusive license, all with accordance with the terms set forth and other legal restrictions set forth in 3rd party software used while running Software.
        1. Limited: Licensee may use Software for the purpose of:
          1. Running Software on Licensee’s Website(s) and Server(s);
          2. Allowing 3rd Parties to run Software on Licensee’s Website(s) and Server(s);
          3. Publishing Software’s output to Licensee and 3rd Parties;
          4. Distribute verbatim copies of Software’s output (including compiled binaries);
        2. Non Assignable & Non-Transferable: Licensee may not assign or transfer his rights and duties under this license.

        3. Commercial, Royalty Free: Licensee may use Software for any purpose, including paid-services, without any royalties

        4. With Attribution Requirements: Licensee must clearly state where you obtained this piece of software form




      • Term & Termination: The Term of this license shall be until terminated. Licensor may terminate this Agreement, including Licensee’s license in the case where Licensee :
        1. became insolvent or otherwise entered into any liquidation process; or

        2. exported The Software to any jurisdiction where licensor may not enforce his rights under this agreements in; or

        3. Licensee was in breach of any of this license's terms and conditions and such breach was not cured, immediately upon notification; or

        4. Licensee in breach of any of the terms of clause 2 to this license; or

        5. Licensee otherwise entered into any arrangement which caused Licensor to be unable to enforce his rights under this License.




      • Payment: In consideration of the License granted under clause 2, Licensee shall pay Licensor a FEE, via Credit-Card, PayPal or any other mean which Licensor may deem adequate. Failure to perform payment shall construe as material breach of this Agreement.




      • Upgrades, Updates and Fixes: Licensor may provide Licensee, from time to time, with Upgrades, Updates or Fixes, as detailed herein and according to his sole discretion. Licensee hereby warrants to keep The Software up-to-date and install all relevant updates and fixes, and may, at his sole discretion, purchase upgrades, according to the rates set by Licensor. Licensor shall provide any update or Fix free of charge; however, nothing in this Agreement shall require Licensor to provide Updates or Fixes.
        1. Upgrades: for the purpose of this license, an Upgrade shall be a material amendment in The Software, which contains new features and or major performance improvements and shall be marked as a new version number. For example, should Licensee purchase The Software under version 1.X.X, an upgrade shall commence under number 2.0.0.

        2. Updates: for the purpose of this license, an update shall be a minor amendment in The Software, which may contain new features or minor improvements and shall be marked as a new sub-version number. For example, should Licensee purchase The Software under version 1.1.X, an upgrade shall commence under number 1.2.0.

        3. Fix: for the purpose of this license, a fix shall be a minor amendment in The Software, intended to remove bugs or alter minor features which impair the The Software's functionality. A fix shall be marked as a new sub-sub-version number. For example, should Licensee purchase Software under version 1.1.1, an upgrade shall commence under number 1.1.2.




      • Support: Software is provided under an AS-IS basis and without any support, updates or maintenance. Nothing in this Agreement shall require Licensor to provide Licensee with support or fixes to any bug, failure, mis-performance or other defect in The Software.
        1. Bug Notification: Licensee may provide Licensor of details regarding any bug, defect or failure in The Software promptly and with no delay from such event; Licensee shall comply with Licensor's request for information regarding bugs, defects or failures and furnish him with information, screenshots and try to reproduce such bugs, defects or failures.

        2. Feature Request: Licensee may request additional features in Software, provided, however, that (i) Licensee shall waive any claim or right in such feature should feature be developed by Licensor; (ii) Licensee shall be prohibited from developing the feature, or disclose such feature request, or feature, to any 3rd party directly competing with Licensor or any 3rd party which may be, following the development of such feature, in direct competition with Licensor; (iii) Licensee warrants that feature does not infringe any 3rd party patent, trademark, trade-secret or any other intellectual property right; and (iv) Licensee developed, envisioned or created the feature solely by himself.




      • Liability: To the extent permitted under Law, The Software is provided under an AS-IS basis. Licensor shall never, and without any limit, be liable for any damage, cost, expense or any other payment incurred by Licensee as a result of Software’s actions, failure, bugs and/or any other interaction between The Software and Licensee’s end-equipment, computers, other software or any 3rd party, end-equipment, computer or services. Moreover, Licensor shall never be liable for any defect in source code written by Licensee when relying on The Software or using The Software’s source code.




      • Warranty:
        1. Intellectual Property: Licensor hereby warrants that The Software does not violate or infringe any 3rd party claims in regards to intellectual property, patents and/or trademarks and that to the best of its knowledge no legal action has been taken against it for any infringement or violation of any 3rd party intellectual property rights.

        2. No-Warranty: The Software is provided without any warranty; Licensor hereby disclaims any warranty that The Software shall be error free, without defects or code which may cause damage to Licensee’s computers or to Licensee, and that Software shall be functional. Licensee shall be solely liable to any damage, defect or loss incurred as a result of operating software and undertake the risks contained in running The Software on License’s Server(s) and Website(s).

        3. Prior Inspection: Licensee hereby states that he inspected The Software thoroughly and found it satisfactory and adequate to his needs, that it does not interfere with his regular operation and that it does meet the standards and scope of his computer systems and architecture. Licensee found that The Software interacts with his development, website and server environment and that it does not infringe any of End User License Agreement of any software Licensee may use in performing his services. Licensee hereby waives any claims regarding The Software's incompatibility, performance, results and features, and warrants that he inspected the The Software.




      • No Refunds: Licensee warrants that he inspected The Software according to clause 7(c) and that it is adequate to his needs. Accordingly, as The Software is intangible goods, Licensee shall not be, ever, entitled to any refund, rebate, compensation or restitution for any reason whatsoever, even if The Software contains material flaws.




      • Indemnification: Licensee hereby warrants to hold Licensor harmless and indemnify Licensor for any lawsuit brought against it in regards to Licensee’s use of The Software in means that violate, breach or otherwise circumvent this license, Licensor's intellectual property rights or Licensor's title in The Software. Licensor shall promptly notify Licensee in case of such legal action and request Licensee’s consent prior to any settlement in relation to such lawsuit or claim.




      • Governing Law, Jurisdiction: Licensee hereby agrees not to initiate class-action lawsuits against Licensor in relation to this license and to compensate Licensor for any legal fees, cost or attorney fees should any claim brought by Licensee against Licensor be denied, in part or in full.
Author
Julitocinco
Downloads
20
Views
364
First release
Last update
Rating
0.00 star(s) 0 ratings

Share this resource