* Fixed 'player;exp;....' to return proper exp values
+ Added a "voting" section in config.yml that you can enable to let console/ops run the command: /bcr add vote <player> <amount> for servers running NuVotifier
- Removed NuVotifier as a possible depend since it runs on bungee only
# Updated wiki pages to be clearer and have more examples
If you have requests or idea's feel free to join our discord(link on the main page!)
+ Added some minor changes
+ Added a config option for servers using nuvotifier
^ In your reward plugin receiver add:
- /bcr add vote *player name*
BCR has a vote receiver build in that activates when votifier or nuvotifier is detected, however since nuvotifier is a bungee plugin it may not activate the event, for this reason you may be required to use the command instead.
+ Added hex color support to messages.(1.16+ only)
^ Please note: Gui's may not support this function and that is not something i can fix for you, however, all message based returns are supported.
+ Added Color(inc hex) and placeholder support to command lines.
(Experimental):
+ Added [player] placeholder to commandlines.
This function should allow a command to be ran as a player aslong as the command exists/has permission to it.
If bugs or other are found please join our discord.
Example(hex):
Code (Text):
- 'shout #bba9f5I, #9ae3a3%name%, #bba9f5earned the rank #9ae3a3%rank%
#bba9f5with hard work!'
* Fixed an issue using $hasPermission inside the list section of requirements. Formerly didn't require it and infact wouldn't make it function, now it accepts both.
The following issues only apply to servers without PlaceholderAPI usage:
* Fixed a double return when using vault requirements and the player had the required monotairy value.
* Fixed %current% never changing while %s returning amount of the players wallet rather than what was required while the player didn't have said value.
Thanks
@violetCU for reporting the haspermission issue initially..
Sorry for the delay on this update as it was requested some time ago and brought to light recently.
You are now able to completely change the Tier lore.
Code (Text):
# Now include a Display-Name: (can be anything)
# and specify a slot in which the item should be displayed.
Display-Name: '&4Tier 1'
Display-Slot: 10
Lore:
- '&9==========='
- '&3Ranks: %ranks%'
- '&9===========
To show the rank amounts use %ranks%, it supports all other placeholderapi related placeholders would you need it.
^ Added an npe catcher incase staff decides to "/reload" the server rather than properly restart, telling the player to log out, back in and notify staff of their....actions... NEVER USE RELOAD!
---------------------------
Update notification
Due to the release of 1.16 and within 24 hours even 1.16.1 the plugin has only been tested on its own with luckperms, vault and essentials and verified to work. i'm at this moment in time, NOT responsible for things breaking with plugins such as mcmmo as while they should work, they may not be updated to work with 1.16 itself.
+ Finished adding support on missing area's
+ Added /bcr hooks(info below)
+ Added the option to add slot locations to rank items(info below)
- Removed debug messages.
/bcr hook This command allows you to easily verify which plugins has been seen by the plugin during its enabling session.
Ranks Ranks can now be set in specific slots(Default -1)
When anything from 0-53(it counts from 0) it will attempt to add it to the given slot, if no value has been input or -1 is set it will just add it to the next available slot.
How to do the Slot option:
Code (Text):
Find the location with your Icon for the rank,
Add: "Slot" as seen below, this way it will not default to -1.
If you have any suggestions, feel free to dm me, use our discord or use the git to share them and i'll look into it.
tl;dr How do hooks work: Supported plugins, aka hooks, are plugins or methods a plugin may use (or need) in order to work.
ABCR is made to work on its own, mainly only requiring vault and a permissions plugin + eco plugin(for vault)
Hooks such as mcmmo, mmocore and more are depending on the plugin type, a soft depend, meaning that the plugin does not "need" them to run, and will only use it if its active.
Hooks always enable prior to the plugin that needs them, this is to ensure a plugin can make optimal use of whatever is required.
In some cases(including acbr) it can work with 3rd party plugins via placehoderapi(or its own api when its stable).
This means that 3rd party plugin does not need to activate prior to abcr since it runs via placeholderapi which abcr loads behind.
+ Placeholder support has been added to the following sections:
- Advancements,
- BCGems,
- Jobs Reborn,
- Mcmmo(Including original)
- MmoCore(Including skills)
- Vault
- playerstats (such as blockplaced, world, hunger levels etc)
+ Added blockplaced under playerstats(was missing)
To do:
- Points, quests, playerstatistics(server side data), votes, skillapi
These were missing in the conversion, apoligies for this.
Dev note:
While placeholders were always available already, they required "placeholderapi" as a start.
The currently added support options(for instance vault) allows a message like this:
None informative and custom placeholders(those not directly activated but translated by placeholderapi) are also available in these messages, meaning you no longer need to start a line using: 'placeholderapi,....' but its still suggested if you are comparing value's from non directly supported plugins.(such as tournamentXXL)
+ Added debug messages to some locations
+ Added reported missing messages to the messages.yml
+ Added permission information to "no-permission: " using {0}
* Made permissions such as >bcranks.open< default as there is no reason to make them op or false
- Removed minor functions that didnt go anywhere.
Due to currently world going ons but more so work being on and off again having moved out and dealing with a power surge my time is limited to update properly in time.
The plugin/project is not dead by any means, hoping within the next 2 months to properly continue.
Support still has priority and will help when i can no worries there.
Good luck to all, and speak to you soon.
To keep updated make sure to join our discord found on the main page.
Currently rework is planned/on-going for the wiki to make things clearer, this does take time so bare with us.
+ Re-Added "mmocoreskills" alongside "mmocoreskill" as valid inputs.
+ Added minor small visual features.
* Fixed advancements not being shown unless the player had it.(woops)
I'm aware versions pre-dating 1.13 may not support some items very well.
This is because mc itself didnt have most of the current names we now have.
The default item "feather" is 1 such item, however, you can use Fire or other items as display items.
Hoping to have an alternative asap!
+ Added permission "bcranks.admin.bypass"(Default: false)
Those with this permission will see ranks they dont have access to, tho doesnt allow them to purchase it.
* Fixed minor bugs in the ranks section namely if "none" was specified in the requirements section
* Fixed plugin requirements(i.e votes) not being read properly
This update is related to v1.12.2 and v1.13.2. 1.14.4 users do not need to update, tho it is still adviced.
* An update in 1.14.4 renamed a package for no reason to "craftbukkit" making it unable to work on 1.12 and 1.13 since this import does not exist prior to 1.14's release... Fixed this by using a different import which works on all 3 versions.
* Fixed classnotfound/imports on tag sections of which classes did not exist(my mistake).
Specifically tier and rank item creations.
* The update checker didnt work for these versions for the same sake as point 1...
* Changed api-version from 1.14 to 1.13 so it works on all versions.
Please note: Currently AdvancedBCRanks only works on the latest of:
- 1.12(1.12.2)
- 1.13(1.13.2)
- 1.14(1.14.4)
1.9-1.11 May be supported in a future update, however sub versions(i.e 1.14.1-2-3) will never be supported.
+ Options to hide ranks players cant access yet has been activated.
^ This option works for tier and permission based ranks.
Example:
This feature can be found by default on the first rank in the default configuration of tiers.yml.
+ Added a debug in config.yml option.
While you shouldn't ever need it, it can be requested in the future to enable it.
* Fixed a can buy due to the creation was made, but the item in question never properly updated.
+ Added LATEST versions support of 1.12.2 1.13.2 and 1.14.3.
Versions below(1.12.1) etc MIGHT but isn't guaranteed, if you run any lower version you should update anyway.
This is both better for your servers safety and fixes many bugs.
From this update on, AdvancedBCRanks focus is 100% on Tiers and timed ranks(Maybe different types in the future).
The principal of the plugin remains as always the same, however, the setup has been made easier and more customizable.
+ Added a warning message for custom ranks not opening(settings based)
* minor fixes
- Removed custom from config.yml
- Removed gui listeners for the custom(old) ranks.
- Removed old depends for these ranks.
- Removed setup for old ranks
This update removes the ability to use everything "set" in the settings.yml and starts its focus completely on tiers.yml and TimedRanks.yml.
To convert your settings.yml use /bcr convert settings tier
If you prefer to make sure the conversion matches your old rank setup(as close as possible)
Please refer to update 2.0.0 which still supported both and explains the conversion in more details.
Warning: This update will break old files! The converter will attempt to create a tier.yml proper layout based on your current settings.yml! This conversion is not perfect however and errors may occur, or names may be altered in the process. A Full guide on how to upgrade can be found here.
Everything related to the custom ranks(Settings.yml) will eventually be removed. This will happen in stages. If you run bcranksfree just add the settings.yml to this version and run the command to convert.
An awaited update finally arrived.
This update changes a lot of things but also adds a lot of cool options.
Full changelog can be found
here.
+ Added a tier system
+ Added a settings to tier converter(supports 90% of all settings)
* Resolved how the gui's are read
* Renovated Class Locations
* Renovated how storage works(this may make old saved data invalid)
Please note: This is not a small update, and it still holds the old system somewhat intact for now.
Adviced is to open/run a test server and test it before bringing it over to your live server!
A lot of testing and creation hours went into this, along with beta testers(Thank you for this!)
This option when set to false, hides the ====<stat> section making it all 1 big list.
Nothing else has changed thus far for public use.
The new setting will be added automatically to your config.yml!
Note: Im in the middle of recoding everything. This update was a current quick solution to a new system eventually taking over. This however will take time to implement.
+ Extended placeholderapi support
+ Full support on McRPG
+ Additional checks for statistics
+ Tons new requirements(More on this below)
* Several changes
* Fixed PlaceholderAPI name check(was PlaceholderApi) - woops..
- Removed bad code
With the introduction of placeholderapi inside the actual ranks, this means they can be used and add a ton more requirements!
Every plugin you know that has a placeholder can thus be used.
Some plugins require the papi's ecloud, a sub section inside placeholderapi which allows plugins to hook into that dont want to enable the placeholders themselves.
This requires /papi ecloud download <plugin> and /papi reload to become active.
Other plugins enable placeholders themselves which is fine, dont require ecloud but will work non the less.
A List of ecloud supported plugins can be found
here.
The setup for this is fairly simple, most placeholders can only require a string or often an integer.
+ Added basic support for
McRPG(Premium) ^ All info and settings about the supported sections can be found
here + Added the line:
not-enough-mcrpg: '&4You need more McRPG requirements...' in the Messages.yml under Messages:
Changes are still on-going but shouldn't change the files drastrically.
The support for McRPG is currently Alpha stage, meaning any bugs will be addressed but depending on degree of function do not take priority yet.
Now when mistyping a material type name(I.e: irong_ingot instead of iron_ingot) or an invalid type as a whole, it will replace the icon with a name tag and notify you in console.
+ Added Message.yml (will be added automatically)
+ Added metrics
+ Added comments (#) to config.yml(only shows on freshly generated configs)
> Moved the messages in config.yml to Messages.yml
If a player is bearcub they will(if they have poohbear buy perms) see what they need to obtain it, but if they cant skip it to get baloo, they wont see it yet, if the hidenobuy setting is true.
* Fixed a string splitter to return numbers not value
MMOCore was requested and now supported!
Please note i do not use this plugin, i do not know the indepts of this plugin.
Support for the plugin MMOCore can be found here:
https://www.mc-market.org/resources/11372/ (Premium)
PS: Skills tracker will be next update, took a bit longer to set up
If you do own MMOCore you can add the following lines to your settings.yml
* Fixed an npe using /bcr setitem
* Fixed default settings.yml to include the setitem placeholders(connect gui etc)
This should also clear up the empty connect gui interface.
To update these items manually:
- Grab an item(for example a clock for timed ranks)
- Rename it however you like.
- perform: /bcr setitem timed while holding the item in hand.
Done.
/bcr setitem custom = Updating the custom ranks(connect gui)
/bcr setitem placeholder = Updating all empty slots in all gui's(default black stained glass pane)
The player statistics(esc ->stats) will now try to explain the line/statistic in question that failed.
For instance: kill_entity requires 3 inputs, (the stat itself + amount + type)
When such line has failed, it will announce this in console along with the error.
+ added /bcr reload (Permission: bcranks.reload)
Please note that while its now an option, the best results is still shutting down the server.
* Attempt to fix a class loading error for player voting when no votifier or nuvotifier was found(Using plugin manager or other plugin loaders to load in votifier afterwards will not work to makethe plugin see this change)
This also means if you unload the votifier plugin while running, it may break something on this plugin
+ Added Time based ranks.(Requested)
+ Added TimedRanks.yml
+ Added a Connection Gui(More on this later)
* Updated the command /bcr setitem to now listen to: /bcr setitem (timed/custom/placeholder) *Default placeholder if no input given*
* Updated the config.yml to feature the new settings:
Code (Text):
Settings:
inventory-size: 27
timed-size: 27
hide-completed: true #Hides all tasks (not the bar) when all section tasks are completed
hide-complete-single: false #Hides a single completed task from showing(Better for when ranks have many requirements)
title-section: '&a&m=====&6{0} Statistics&a&m====='
use-normal-ranks: true
use-timed-ranks: true
time-check-in-seconds: 300
Core-Settings:
time:
days: 'Days '
hours: 'Hours '
minutes: 'm '
seconds: 's'
Messages:
not-enough-mcmmo: '&4You need to train more mcmmo!'
not-enough-cash: '&4You are lacking some money!'
not-enough-gems: '&4You are lacking some gems!'
not-enough-jobs: '&4You need a higher job power level!'
not-enough-votes: '&4You need to vote more!'
not-enough-other: '&4You are missing several other requirements...'
no-buy-permission: '&4You do not have permission to buy {0}'
buy-too-high: '&4You already own a rank equal or higher than this!'
not-enough-world-stats: '&4You need to do more in-game'
display-item-set: '&7New Display item has been created.'
use-ranks: 'Serious error occured, both normal and timed ranks are offline. Shutting down the plugin...'
Completed:
section-complete: '&2You completed everything in this section!'
other-stats: '&7[&a✔&7] {0} Level Reached.'
world: '&7[&a✔&7] You are in the correct world.'
block-placed: '&7[&a✔&7] Placed {0} blocks.'
gems: '&7[&a✔&7] Reached {0} Gems.'
jobs: '&7[&a✔&7] Reached Job Power Level {0}.'
mcmmo: '&7[&a✔&7] Reached Mcmmo {0} Level {1}.'
quests-points: '&7[&a✔&7] Reached {0} quest points.'
quests-completed: '&7[&a✔&7] Completed {0} quests.'
vault: '&7[&a✔&7] Money: {0}.'
votes: '&7[&a✔&7] Votes: {0}.'
The timed ranks are limited to time only, however the api has been updated to allow outside sources to still change these.
The setup permission wise is exactly the same as the bcranks original setup(Settings.yml) so a buy and no buy permission(albeit automated)
In the config servers can choose which rank system to use, either custom(perks) or timed, or both.
Incase a server has both a Gui is created to let players choose which section they want information about.
Example:
Clicking the custom rank section works as normal, it loads the rank requirements for the player, checks if they have it, both permission and set requirements(Settings.yml).
Clicking the timed ranks only shows information what that rank requires, such as time.
These cannot be interacted with and are just display items you can use to inform your users.
The lore in time ranks uses messageformat type placeholders, simply put, Similar to %s in some plugins, this is numerical based {0} {1} etc.
{0} = The players time.
{1} = The time they need for that rank
{2} = The ranks name
{3} = Do they own it or not/Can they grab it.
The RankupCheckEvent has been updated to comply with both custom and Timed ranks simultaiously.
The e.getInventory() which returns the inventory incustom ranks is null in timed, and a boolean has been added to display if the event fired, is timed or not (e.getTimed()); //Returns true|false
Dev Note:
I have not fully tested the time ranks, bugs may appear but a lot of time was spend debugging sections where possible,
If you found a bug, or a missing addition, let me know and i'll help you fix it!
(Devs)
The api can be used to add lore to each rank created by the server owners.
The listener is called upon a player attempting to get a rank(after passing all requirements by the plugin itself)
This allows you to create requirements/dependencies from outside the server.
+ Added weather. walkspeed, hunger, time under player: category.
+ Added /bcr as alias to /bcranks for easier usages.
+ Added "hide-complete-single: false" to the config under Settings:
^ What this option does is hide requirements that the player already had obtained previously.
This incase servers use 300 dependencies in 1 rank the gui would not be able to show all of them.
"hide-compled" will still if set show all are completed when the last req for that section has been met.(configurable)
* Fixed how advancements are read
^ Previously it would read : as spaces(next lines) now instead of:
minecraft:<section>/<advancement>:has:hasNot servers should use:
minecraft;<section>/<advancement>:has:hasNot.
Simply switch the first : with ; and you should be fine
/ Settings.yml has been updated with some additionals to show most settings.
Please note that some reqs require other plugins(such as Quests) to be shown in the gui,
A set requirement without a supporting plugin will not be shown nor counted so shouldnt interfere with players trying to adchieve the rank you created.
If you have any suggestions for what to add as a req, or other.
A plugin you'd like to be supported, let me know and i'll take a look with you what we can do with it
+ Added Advancement Support(
https://minecraft.gamepedia.com/Advancements)
+ Added takeMoney/takeGems support for money: and gems: section.
^ This means after they have the money/gems and can obtain it, the money will be taken upon gaining it.
Advancements(previously adchievements) are things players in survival gain by performing certain tasks, such as: mining stone(stone age) breeding 2 animals(bats and the bees) you name it.
All above linked achievements work.
While untested both custom advancements(created by other plugins) and those under the sections "recipe" should work too but cannot confirm this.
Setup:
advancements:
- minecraft:husbandry/breed_an_animal:&7[&a✔&7] Achievement Unlocked; animal Breeder.:&7[&4✘&7] Breed an animal
* Fixed some section reading wrong
* Overhauled many classes to work more fluently
+ Added "vote" support: (vote: <amount>(Requires nuvotifier or votifier)
+ Added "play_one_minute" time support(requested)
+ Redone the "Settings.yml"
* All stats from the spigot statistics page, should now 100% be supported(This includes entities killed, items destroyed, items crafted and blocks mined)
In order for each stat to have configurable support, methods to support those messages were added,
I.e:
<statType><amount><PlayerHasStat>:<PlayerDoesNot>
Code (Text):
playerStatistics:
- ANIMALS_BRED:200:&7[&a✔&7] Bred %s Animals!:&7[&4✘&7] Breed %s Animals.
Now; %current%
- DAMAGE_ABSORBED:20:&7[&a✔&7] Damage Absorbed %s!:&7[&4✘&7] Absorb %s% Damage.
Now; %current%
- HORSE_ONE_CM:30000:&7[&a✔&7] Ridden %s CM on a horse!:&7[&4✘&7] Ride %s
on a horse. Now; %current%
- MINE_BLOCK:200:GRASS_BLOCK:&7[&a✔&7] Dug out %s Grass Blocks!:&7[&4✘&7]
Dig out %s Grass Blocks. Now; %current%
- PLAY_ONE_MINUTE:999999999:&7[&a✔&7] Spend time on the server for
%s:&7[&4✘&7] Spend %s on the server playing. Now; %current%
Per Request and by default, the playerstatistics has login support for how long a player has been with the server.
This statistic is called "play_one_minute".
This name is actually wrong as it goes by ticks.
An example on how to use this setting is:
PLAY_ONE_MINUTE:999999999:&7[&a✔&7] Spend time on the server for %s:Spend a total of %s on the server, Now; %current%
The first section is the name of the stat in question.
Then you need a time, this case 9x9.
The plugin will translate ticks into seconds, then those seconds into 1 minute, so ((9x9)*20)*1 minute
The end result is then converted into days/hours/mins/seconds to make it easier to read(as seen below)