Fixes | Changes:
- Fixed an issue with chests disappearing when items are removed from the chest.
Fixes | Changes:
- Temporarily removed loot chests to recode it and make it work much better than it is right now. Everything else in the plugin works perfectly fine. You should see a major boost in performance alongside this too. I didn't anticipate this many problems with the feature during coding and testing, apologies to those it has effected.
Fixes | Changes:
- Fixed a major issue with the plugin breaking when a lot of players are on the server. The plugin has been optimised to ensure this doesn't happen.
- Merged all move events to enhance performance.
- Removed unnecessary logs in the console. Cleaner outlook.
- Increased default spawn frequency for loot chests from 30 seconds to 120 seconds. Spawning a lot of loot chests quickly can and will effect your server performance. Please utilise this feature properly to ensure good performance.
- Attempted to optimise the entire LootChests feature as best as I can, further analysis on this in the future.
Version 7.3
Fixes | Changes:
- Completely revamped the particles on the blood swipe. They are massively improved and now actually resemble something of a swipe/slash.
- Increased the hitbox radius of the blood swipe.
- Revamped and reworked the particles on the blood lift ability, they now spiral around the player.
- Buffed the permanent swiftness one during night time to swiftness two.
Version 7.2
Fixes | Changes:
- Removed two minor logs for playerClasses.yml - unnecessary and probably annoying.
- Removed the loot chest clean up when the plugin is disabled. The reason being is that I feel it needs more tests before fully operational. Your server performance whilst using my plugin(s) is my priority.
- Added some minor logs for bStats and class tracking, these can be ignored on your side of things. It's to make sure bStats registers the data.
Version 7.1
Additions:
- Added in an update check for the console to notify you of updates.
[MMORPGClasses] A new version is available. You are on 7.0. Download the latest version, 7.1 on the SpigotMC page.
Version 7.1
Additions:
- Added in an update checker to notify people of the new updates for the plugin.
Version 7.0
Additions:
- Added in a tracker for bStats. This will track what class players choose, and stores the information in a pie chart on the bStats website. This allows me to view, in real-time which classes are the most popular and make the necessary changes to less picked classes or over-picked classes. If you want to disable the data you can do so in the bStats config file.
- Added in a clean up on plugin disable to clean up loot chests that where not opened, this is to maximise server performance when using the loot chests feature. Rigorous testing has been done to ensure there are no memory leaks.
Version 6.9
Additions
- Added in new placeholders to create levelled leaderboards. All placeholders can be found on the main page for the plugin.
Version 6.8 | 6th January 2025 | 05:00pm GMT.
Additions:
- Added bStats statistics to the plugin. To disable this, go into the bStats folder & into the config.yml and disable the metrics.
Version 6.7 | 6th January 2025 | 04:34pm GMT.
Fixes | Changes:
- Fixed holograms not being removed on loot chests when you break the chest.
Additions:
- Added in a new administrator command, /class-set (player) (class). This will forcefully set a player to that class. Permission node: classes.admin.
- You can use /classremove (player) to reverse the effect of the new command.
- Remember to capitalise the name of the class (ie "B"lood, "W"ater, "L"ightning).
Version 6.6 | 6th January 2025 | 11:52am GMT.
Additions:
- Implemented a new feature, LOOT CHESTS. These chests will spawn randomly around the map.
- There are five tiers: common, uncommon, rare, mythical and legendary. Their loot is completely customisable. Their names are hardcoded but their visual hologram can be edited to anything i.e make your own names up.
- Each loot chest has a customisable hologram, with a customisable hologram height and fully customisable particles to go with them. You get to decide!
- New yaml file created to edit the loot chests. The settings for loot chests can be found in the config.yml.
Version 6.5 | 3rd January 2025 | 12:19pm GMT.
Fixes | Changes:
- Reorganised the file system. When the plugin loads, the files are now in directories which credits organisation. All forms of storage are under storage, all GUI's are under the editable gui's and the config and levels file has remained as normal.
- Optimised the main class.
Version 6.4 | 3rd January 2025 | 11:04am GMT.
Fixes | Changes:
- Fixed an issue where soul class users did not gain swiftness two when in the end dimension.
Additions:
- Implemented a new placeholder, %classes_level_top% which will return the player with the highest level on the server. I plan to make a full leaderboard worth of levels in a future update.
Version 6.3 | 3rd January 2025 | 01:04pm GMT.
I have updated the format in which I update plugins on this page. The change will be reflected through all my plugins.
Fixes | Changes:
- Renamed snowshield to iceshield, with an alias addition. Reload your classSelectionGUI.yml file to reflect this change in the GUI.
Additions:
- ClassInfo (/cinfo) now contains a link to the discord for support.
- Added in new aliases for the shield commands:
Fire shield |
/fs
Blood shield |
/bs
Water shield |
/ws
Soul shield |
/ss
Ice shield |
/is
Electric shield |
/es
NEW ADDITIONS
- Water class users now have permanent weakness one when in the nether dimension. Update your classSelectionGUI.yml file to reflect the weakness in the GUI.
- Implemented a new command called cinfo, /cinfo - which relays information on the plugin such as version, author and dependencies. Useful for administrators.
NEW ADDITIONS
- Implemented PlaceholderAPI support. The plugin now soft depends PlaceholderAPI. This is only a soft dependency, therefore the plugin will work without it, you just need it to use placeholders in other plugin(s) configuration files. The current placeholders are:
%classes_class% - returns the players class.
%classes_player% - returns the players name.
%classes_level% - returns the players level.
NEW ADDITIONS
- The ClassSelectionGUI is now configurable! To an extent anyway. You can now edit the messages in the GUI, not the item or slots though. This is due to the GUI being the foundation & focus point of the internal code for the plugin. Editing the items would require a full recode, in which I do not want to do.
- A new file has been created called classSelectionGUI.yml where you make your edits to the GUI.
- This change came through as a way for people to translate the messages.
FIXES
- Fixed an issue with /party kick (player) throwing an internal error when an incorrect player is specified.
FIXES
- Fixed an issue where when the leader left the party, the party would have no leader. Now, the leader must appoint another before leaving. Unless the leader was the only player in the party then the party disbands as normal.
- All forms of leadership display are automatically updated (members, list & the file).
NEW ADDITIONS
- Implemented a new subcommand called leader. This command is used only by the leader and is used to appoint a new leader.
FIXES
- Redacted some information on the default config.yml for unknownCommand under partyMessages: due to it becoming too long. You may customise it however you want though.
NEW ADDITIONS
- Implemented a new subcommand called `list`. This command is used to see the parties in the server. The command is `/party list` and is available to everyone.
- The new subcommand is completely customisable in the config.yml, customise it at your leisure.
- Hovering over the party name will show you who the leader is, with their IGN and the prefix you defined in the config.yml after leaderHover:.
- The list immediately updates if parties are created/disbanded.
NEW ADDITIONS
- Implemented a new subcommand called home. This command is used to teleport to the party home, /party home.
- Implemented a new subcommand called sethome. This command is used, only by the leader, to set the home for the party, /party sethome.
- Implemented a new subcommand called delhome. This command is used, only by the leader, to delete the home for the party, /party delhome.
- Home information is stored with the warps and party data in the file playerPartyData.yml. The information shows coordinates & world for administrator use.
FIXES
- Removed unnecessary pieces of code and optimised the new party subcommands.
- Fixed some messages from the party commands not being configurable.
- Tidied up the party section of the config.yml file.
FIXES
- Removed unnecessary logging methods within the code. This was used to pinpoint bugs/issues during the development phase of version 5.3.
NEW ADDITIONS
- Implemented a new subcommand called warp. This command allows you to warp to specific locations. The command is /party warp (name).
- Implemented a new subcommand called setwarp. This command allows the leader to set warps to locations. The command is /party setwarp (name).
- The amount of warps allowed is editable in the config.yml under partyMessages: so that you can control the amount. Only the leader can create warps.
- Implemented a new subcommand called delwarp. This command allows the leader to delete warps.
NEW ADDITIONS
- Implemented a new subcommand called chatadmin. This is an administrator command.
- This new command is an enable/disable command and allows those with the permission node classes.admin to see other party chats.
NEW ADDITIONS
- Implemented a new subcommand called chat. This is the party only chat.
- The party chat is only viewable by other players inside the party, use
/party invite to invite people to your party.
- The party chat is customisable in the config.yml file under chatFormat:
FIXES
- Fixed an issue where players could create unlimited parties, no matter what. Now, a party may only be created if you are not in a party.
- Fixed a minor grammar mistake in the "pointsshopgui.yml" file.
NEW ADDITIONS
- Implemented a "party" feature to the plugin. You may now invite your friends to your party. I plan to expand on the party system as much as I can.
- Party data is stored in a "yaml" file for administrators to easily access and view for administration/moderation.
- Only the leader of the party can kick players from the party. Further, you must be invited to a party in order to join it.
- The following subcommands exist and work: "create", "invite", "leave", "kick", "view", "members", "accept", "decline"
.
- Players in the same party cannot attack each other.
- Party leader is displayed in customisable colours, with gold as the default value.
FIXES
- Optimised the newest code to enhance performance.
- Removed unnecessary console logs for the plugin, regarding the new levels feature.
NEW ADDITIONS
- Implemented a max level feature to prevent the plugin levelling players up to undefined levels.
FIXES
- Fixed minor error with `{level}` placeholder within the plugin. I misspelled something, whoops!
NEW ADDITIONS
- Implemented level progression into the plugin.
- The level system is FULLY CUSTOMISABLE to what you want! You decide how many levels, the rewards for every new level, the experience in which mobs assist you in levelling up and passive experience. Passive experience is experience given for playing the server.
- Implemented three new "yaml" files to keep editing the plugin tidy. One file is "levels.yml" and is where you edit the functionality of the level system, another is "levelsgui.yml" where you edit the layout and appearance of the rewards gui and finally "levelsdata.yml" is where level data is stored. Do not edit this file. To reiterate, I want to not use databases to keep the plugin easy going and manageable for everyone, not just skilled developers.
NOTICES
- The levels gui is purely cosmetic and is there so you have the opportunity to show your players what rewards are gained for levelling up. All form of rewards and experience management are done through the "levels.yml" file. I thought offering you guys the opportunity to have the best of both worlds (progression control + gui control) would be the best route forward with this.
- Levels can be a nuisance to manage, therefore I expect issues and bugs with this implementation. I have tried to bug test as best as I could but I can't test for everything so any issues or bugs, please report them in my discord immediately and I will review and fix as soon as possible.
NEW ADDITIONS
- Added `frozen ocean`, `frozen peaks`, `deep frozen ocean` and `frozen river` to the snow class effects. These biomes now grant strength and swiftness two for snow class users.
- Added weakness one to snow class users when in the nether.
FIXES
- Fixed an issue with blood class users losing the night vision effect upon death.
- Fixed an issue with lightning class users losing the haste effect upon death.
NEW ADDITIONS
- Buffed the blood class. Blood class users now have permanent night vision, sort of representing their vampiric state. The night vision is as said, permanent, and not affected by the weather or time.
- Buffed the lightning class. Lightning class users now have permanent swiftness two when on land, rather than swiftness one.
- Buffed the lightning class. Lightning class users now have permanent haste one.
- Buffed the soul class. Soul class users now have permanent swiftness two when on soul sand.
- Implemented swiftness two for soul class users when in the end. Swiftness two is removed when stood still or no longer in the end.
- Implemented swiftness two for fire class users when in the nether. Swiftness two is removed when stood still or no longer in the nether.
- Implemented slowness one for fire class users when in water.
NOTICES
- You will need to reset playerClasses.yml data in order for these changes to take effect.
FIXES
- Fixed an error with the "/bloodlift" command not enabling or disabling the blood lift ability properly. It works as intended now.
FIXES
- Optimised the new code for the plugin, enhancing performance.
NEW ADDITIONS
- Changed all permission nodes and grouped them. For example, to use ANY features from the water class the permission is now "classes.class.water". Spigot main page has been updated to reflect this change.
FIXES
- Defaulted all permission nodes to allow everyone to use the commands and features without a permissions plugin. Only classes can use their abilities though. A soul class cannot use "/scorchedearth" as it will send a message saying you must be in the fire class. This prevents me using a permission plugin as a dependency.
- Fixed an error with the points shop permission node.
FIXES
- Fixed a tiny grammar error in the ClassSelectionGUI.
NEW ADDITIONS
- Implemented a fully customisable points shop into the plugin. Everything in this GUI is customisable. The size of the GUI, the cost, commands, materials etc. you can do whatever you want with it.
- Implemented a new command called "/pointsshop" with a new permission "classes.pointsshop.use". Players must have the permission, it's not defaulted.
- Created a custom yaml file for the editing of the points shop called pointsshopgui.yml.
NOTICES
With something as broad as this, I do except some issues. I cannot test for everything, unfortunately, therefore if you find any bugs/problems please join my discord server and report them and I'll have them fixed as soon as possible. Further, the points shop credits ALL points from the classes to make sure everyone can use it.
FIXES
- Optimised the code even further, improving readability for me and performance for you.
- Cleaned up the config.yml to make it tidier.
NEW ADDITIONS
- Added a new command to remove player multipliers.
- Implemented a new subcommand to "/pointsmultiplier" the new command is "/pointsmultiplier view (player) (class)"
- "Add", "view" and "remove" are all subcommands of "/pointsmultiplier".
NEW ADDITIONS
- Added a new command to view player multipliers.
- Implemented a new subcommand to "/pointsmultiplier" the new command is "/pointsmultiplier view (player) (class)"
- Both "add" & "view" are subcommands of "/pointsmultiplier".
FIXES
- Combed through every class and removed all unnecessary lines of code.
- Removed all notations and comments inside the code to clean it up further.
- Optimised some of the code to make it function better.
NEW ADDITIONS
- Added multipliers into the plugin. The multiplier will increase how many points a player gains. I plan to expand on this.
- Implemented the "/pointsmultiplier add (player) (class) (amount) (duration). Amount is between 1-5 and duration is in seconds.
FIXES
-
Fixed the message on the lightning sword not displaying in the lore.
NEW ADDITIONS
- Created a new class called lightning class.
- Implemented "/electricshield" to activate the electric shield.
- Implemented "/electricstorm" to activate the electric storm master ability.
- Implemented "/lightningdash" to disable/enable the ability.
FIXES
- Fixed an issue with the scorched earth ability removing blocks underneath it when it expires. Only the fire is now removed.
FIXES
- Reorganised the class selection GUI even more to make it tidier until I make more classes.
NEW ADDITIONS
- Implemented an "exit" button in the class selection GUI to make it easier for bedrock users (console, mobile etc.) to get out of the GUI.
FIXES
- Players in the snow class are no longer hurt or slowed down by powdered snow, essentially making them immune to its effects.
FIXES
- Players no longer drop the snow axe upon death, I misspelled "snow" - whoops. It's fixed!
FIXES
- Reorganised the class selection gui.
NEW ADDITIONS
- Created a new class called "Snow" this class comes with new commands as does every class.
- Implemented a "/snowshield" command which activates the snow shield.
- Implemented a "/blizzard" command which activates the blizzard master ability.
- Implemented a "/proximityfreeze" command which enables/disables the proximity freeze ability.
If you find any issues/bugs with the new class, please join the support discord posted on the main page.
FIXES
- Made it so class abilities: blood swipe, water blast, fire ball & soul stab do not have the after effect on players who are in the same class as them. For example, if a water class uses the water blast ability against another water class - the opponent won't be effected by the drowning effect due to them being invulnerable to drowning.
- Buffed the regeneration one on blood class to regeneration two.
- Buffed the regeneration one on fire class when in lava. Fire class users now receive regeneration two when in lava.
FIXES
- Cleaned up the config.yml even more and made it easier to read.
NEW ADDITIONS
- Added lore to all class artifacts, with how to use the artifact.
FIXES
- Fixed an issue with removing the items when using "/classremove" - due to me just making the items completely unbreakable, it messed with a check in the code. This is now fixed and items are removed as normal.
NEW ADDITIONS
- When hit by the water blast ability, players and entities will now drown for 5 seconds.
- When hit by the soul stab ability, players and entities will have their soul attacked for 5 seconds.
FIXES
- The weakness effect is now removed when using "/classremove" for the soul class.
- Made the fire particles smaller when using fire rage to improve visibility.
- All artifacts are now completely unbreakable. Unbreaking 3 enchantment remains though.
NEW ADDITIONS
-
When hit by the blood swipe ability, players and entities will now bleed for five seconds.
FIXES
- The strength effect is now removed when using "/classremove" for the soul class.
- Fixed an issue where if a fire class user has their class removed whilst they are in water, the weakness effect remained. The effect is now removed.
- Fixed a typo in the config.yml for the soul steal ability.
NEW ADDITIONS
- When a player or entity is hit by the fireball ability (fire class) they are set on fire. Other fire users are obviously immune due to their fire resistance.
FIXES
- Fixed an overlap between water/soul shield. Both are now only respectable of their own class and do not overlap when using "/soulshield" + "/watershield".
FIXES
- Fixed the class selection GUI not displaying black stained glass panes properly.
FIXES
- Class artifacts are now removed from the inventory when removed from a class.
- Reduced the amount of fire particles when using "/fireshield" so visibility is improved.
- Fixed a permission node error with "/scorchedearth".
NEW ADDITIONS
- Created a new class called soul class. The soul class has a master ability, abilities, perks and weaknesses just like the others.
- Implemented a new command "/soulshield" which activates the soul shield.
- Implemented a new command "/soulsteal" to enable/disable the soul steal ability.
- If players or entities are hit by the soul steal ability, they will be blinded for three seconds and have the wither effect for five seconds.
- If players are hit by the soul shield, when activated through the soul crush master ability, they are blinded for three seconds.
FIXES
- Merged the "/bloodpoints", "/waterpoints" & "/firepoints" command to just be one command. The new command is: "/points (add/remove) (player) (class) (amount)".
- Merged the "/bloodpointsview", "/waterpointsview" & "/firepointsview" command to just be one command. The new command is "/pointsview (player) (class)".
- Implemented a new line to separate the master ability and abilities from the class in the selection GUI.
FIXES
- Fixed a permission node error with the "/class" command.
NEW ADDITIONS
- Implemented master abilities (blood frenzy, aqua surge & fire rage). Each master ability comes with its own commands. In order to gain bloodpoints, aquapoints and firepoints players must kill things. Killing an animal gives one point, killing a mob gives three points and killing a player gives five points. The minimum and default requirement to use it is 2000 points.
- Implemented a playerPoints.yml file. Do not edit this file, you will break it.
- Implemented a "/bloodpointsview (player)" command to view how many bloodpoints a player has.
- Implemented a "/bloodpoints (add/remove) (player) (amount)" command so that administrators can add/remove bloodpoints from players.
- Implemented a "/bloodfrenzy" command that gives blood users regeneration two, strength two and activates their blood shield for 15 seconds. Blood frenzy is best used at night, as per class weaknesses.
- Implemented a "/waterpointsview (player)" command to view how many waterpoints a player has.
- Implemented a "/waterpoints (add/remove (player) (amount)" command so that administrators can add/remove waterpoints from players.
- Implemented a "/aquasurge" command that gives water users swiftness three and activates their water shield for 15 seconds. Aqua surge is a defensive ability.
- Implemented a "/firepointsview (player)" command to view how many firepoints a player has.
- Implemented a "/firepoints (add/remove (player) (amount)" command so that administrators can add/remove firepoints from players.
- Implemented a "/firerage" command that gives fire users strength two, absorption one and activates their fire shield for 15 seconds. Fire rage is an aggressive ability.
- Implemented how many points a player has in the "/classes" gui. You run the command "/classes" and hover on the paper. If you are not in a class, it will not show up. If you are in a class, it will display your classes point balance.
- Implemented "aggressive class" in the GUI for fire class.
- Implemented "strategic class" in the GUI for blood class.
- Implemented "defensive class" in the GUI for water class.
FIXES
- Renamed "Select Your Class" in the GUI to "Pledge your allegiance."
NEW ADDITIONS
- Blood particles now spawn and surround the player when they join the blood class.
- Water particles now spawn and surround the player when they join the water class.
- Fire particles now spawn and surround the player when they join the fire class.
FIXES
- Fixed the blood lift activation and deactivation message not being read from the config file.
- Fixed the blood shield activation, deactivation and cooldown message not being read from the config file.
- Fixed the water shield activation, deactivation and cooldown message not being read from the config file.
FIXES
- Fixed the message displaying as "None" when doing "/class (player" if the player was not in a class. It now displays a message stating they are not in a class. The message is configurable.
NEW ADDITIONS
- Added a piece of paper in the bottom right of the GUI, with a lore based message that tells the player which class they are in.
FIXES
- Increased the hitbox radius on the blood swipe, making it more effective.
- Updated the GUI to reflect new changes to the classes.
NEW ADDITIONS
- Added permanent regeneration one when the player is in lava, for the fire class.
- Made the duration of the hydro dash configurable. Default is set to six seconds. Recommended to keep between six and eight seconds.
NEW ADDITIONS
- Added a "/class (player)" command to allow administrators to see what class a player is in.
FIXES
- Fixed an issue with the scorchedearth permission node. Players could use it without the permission node - that has now been fixed. Only players with the permission node (classes.class.fire.scorchedearth) may now use the command/ability.
FIXES
- Added a configurable message for enabling and disabling the scorched earth ability (/scorchedearth) for those in the fire class.
FIXES
- Fixed being given all three artifacts upon death. Players now only keep the item relevant to their chosen class.
- Fixed blood class losing the permanent regeneration effect upon death.
- Fixed fire class losing the permanent fire resistance effect upon death.
- Fixed water class losing the permanent water breathing effect upon death.
NEW ADDITIONS
- Enhanced the water particles when using the water blast.
- Implemented a /classreload command to make it easier to edit the config.