A few versions behind on updates, so I’ll make this changelog as detailed as possible.
I’ve basically rewritten the whole plugin.
Catching, Leveling, Evolving, and Trading now all have their own individual config files.
Removed permission based tier progression system, replaced with an individual account file per player integer based level progression system, thus making the plugin no longer require LuckPerms for its functions
Made Catching and Leveling tiers Lists in the config, so adding more tiers to both no longer is a pain but also doesn’t require a server restart to apply
Remove all commands used for adding and editing tiers.
Added support of evolution (catching based on evolution stage and Evolution tiers)
Added ability to restrict Mega Evolution
To stay up-to-date with updates to the plugin, and to find commands and permissions, as well as the fastest way to get support from me, join my Discord!
Fixed player accounts being reset on server restarts (seriously need to thank BurstingFire for this, as I never would have figured it out)
Fixed Zarude not being considered a legendary
Fixed being able to level up to a level higher than the amount of tiers (the “You leveled up!” message will still show to players, but won’t actually level them up unless there is a level for them to level up to - was just too lazy to move the message)
Fixed the list GUIs not updating the lists when tiers are added and reloaded into the plugin
Added support of customizing the colors and formatting used in the config messages
– Thus, removing the auto formatting
Fixed a bug where Pokemon that were not able to level up further were getting the EXP earned stored and saved, and then being applied when leveling up higher was unlocked causing the Pokemon to level up very rapidly
Added a “getlvl” command (/gces admin getlvl ) to get a player’s tier level information
Rewrote a lot of code in all the tiers improving a lot of logic and cleaning up a lot of code with getters instead of long ass conditions and methods
Fixed the Trading tier sending the player the restriction default message instead of the access denied message when that scenario was running
Added a setting to not restrict catching Shiny Pokemon by catching tiers
If the plugin does not automatically generate the config node for it (which I can’t imagine why it wouldn’t) you should be able to just add it yourself. Navigate to /config/gottacatchemsmall/catching.conf and make yours look like this:
Pokemon {
Evolution-Stage {
Restrict-By-Evolution-Stage=true
Restriction-Message="This Pokemon is too powerful for you to catch!"
Unlock-Catching-Final-Stage="gces.catching.finalstage"
Unlock-Catching-First-Stage="gces.catching.firststage"
Unlock-Catching-Middle-Stage="gces.catching.middlestage"
Unlock-Catching-Single-Stage="gces.catching.singlestage"
}
Legendary-Pokemon {
Restrict-Catching-Legendary-Pokemon=true
Unlock-Legendary-Pokemon="gces.catching.legendary"
Restriction-Default-Message="You have not unlocked the ability to catch this Pokemon yet!"
}
Level {
Access-Permission {
# If this is set to true, players can not catch anything until they get the following permission node
Enabled=true
Permission="gces.catching.unlocked"
Give-Unlock-Permission-On-First-Join=false
Auto-Set-To-First-Level=false
}
Restrict-Levels-By-Tier=true
Restriction-Default-Message="Your catching level isn't high enough for this Pokemon!"
Tiers {
}
}
Modifiers {
Catchrate {
Enable-Catchrate-Modifiers=true
# Set to 0 to have no modifier applied
# For example: 0 * 190 = 0 + 190 = 190 so catch rate stays the same
If-Permission-Above-Level=0.25
If-Permission-Equal-Level=1
# Note: This only applies if "Restrict-Levels-By-Tier" is set to false
If-Permission-Below-Level=-0.25
}
}
Shiny-Pokemon {
Restrict-Shinies-By-Level=true
}
}
Obviously not overwriting your configured settings such as tiers and stuff. Just add the “Shiny-Pokemon” field to your config like this.
Added a setting to not restrict catching Shiny Pokemon by catching tiers
If the plugin does not automatically generate the config node for it (which I can’t imagine why it wouldn’t) you should be able to just add it yourself. Navigate to /config/gottacatchemsmall/catching.conf and make yours look like this:
Pokemon {
Evolution-Stage {
Restrict-By-Evolution-Stage=true
Restriction-Message="This Pokemon is too powerful for you to catch!"
Unlock-Catching-Final-Stage="gces.catching.finalstage"
Unlock-Catching-First-Stage="gces.catching.firststage"
Unlock-Catching-Middle-Stage="gces.catching.middlestage"
Unlock-Catching-Single-Stage="gces.catching.singlestage"
}
Legendary-Pokemon {
Restrict-Catching-Legendary-Pokemon=true
Unlock-Legendary-Pokemon="gces.catching.legendary"
Restriction-Default-Message="You have not unlocked the ability to catch this Pokemon yet!"
}
Level {
Access-Permission {
# If this is set to true, players can not catch anything until they get the following permission node
Enabled=true
Permission="gces.catching.unlocked"
Give-Unlock-Permission-On-First-Join=false
Auto-Set-To-First-Level=false
}
Restrict-Levels-By-Tier=true
Restriction-Default-Message="Your catching level isn't high enough for this Pokemon!"
Tiers {
}
}
Modifiers {
Catchrate {
Enable-Catchrate-Modifiers=true
# Set to 0 to have no modifier applied
# For example: 0 * 190 = 0 + 190 = 190 so catch rate stays the same
If-Permission-Above-Level=0.25
If-Permission-Equal-Level=1
# Note: This only applies if "Restrict-Levels-By-Tier" is set to false
If-Permission-Below-Level=-0.25
}
}
Shiny-Pokemon {
Restrict-Shinies-By-Level=true
}
}
Obviously not overwriting your configured settings such as tiers and stuff. Just add the “Shiny-Pokemon” field to your config like this.
Added a configurable setting (enabled by default) to stop battles from starting if the player has a Pokemon in their party that is over the max level that their current Leveling Tier supports
Added a configurable setting (enabled by default) to have the plugin apply legendary restriction permissions to the received Pokemon event (which should support plugins like GTS, WonderTrade, and basic trading), which will stop the event from triggering if the player is to receive a legendary without having unlocked them first
Added a configurable setting (enabled by default) to stop battles from starting if the player has a Pokemon in their party that is over the max level that their current Leveling Tier supports
Added a configurable setting (enabled by default) to have the plugin apply legendary restriction permissions to the received Pokemon event (which should support plugins like GTS, WonderTrade, and basic trading), which will stop the event from triggering if the player is to receive a legendary without having unlocked them first
- Added an optional (disabled by default) system to set up GCES "permission" groups to unlock individual legendaries (or a group of legendaries):
- Basically, if this is enabled, you can set up groups to unlock certain legendaries
- It has its own config file (legendaries.conf) where you can pretty well see all the settings and stuff. Its pretty self-explanatory, I'm just making it sound more complicated than it is.
- Note: if this system is enabled and a legendary is not put in some kind of group, that legendary will not be catchable due to not being unlockable!
- Added an optional (disabled by default) system to set up GCES "permission" groups to unlock individual legendaries (or a group of legendaries):
- Basically, if this is enabled, you can set up groups to unlock certain legendaries
- It has its own config file (legendaries.conf) where you can pretty well see all the settings and stuff. Its pretty self-explanatory, I'm just making it sound more complicated than it is.
- Note: if this system is enabled and a legendary is not put in some kind of group, that legendary will not be catchable due to not being unlockable!
Added a “reload” command to reload the config (mostly for my own sanity)
– /gces reload
Fixed NullPointers being thrown from the battle listener for getting Pokemon level
Fixed NullPointers being thrown from the battle listener for getting the battle cancel message
Fixed the leveling config not generating ^ those nodes
Reforged users, I would either regen your leveling.conf files or add this to the top of the file:
Battles {
# This setting will check the player's party to make sure they aren't trying to start a battle
# with a Pokemon that exceeds their max supported Leveling Tier level
# and will stop the battle from starting accordingly
Restrict-Battles=true
Restrict-Battles-Message="&4Your party contains a Pokemon that exceeds your max Leveling level! Please deposit it!"
}