Gotta Catch Em Small - A tier based progression system for catching, leveling, and trading Pokemon for Pixelmon

This is a discussion topic for the Ore project, Gotta Catch Em Small. View the full project on Ore for downloads and more information.


Gotta Catch Em Small

This plugin aims to configure the player’s ability to catch, evolve, level, and trade Pokemon using tier-based progression systems.

For commands, permissions, and support, please come to my Discord!

A new version has been released for Gotta Catch Em Small, it is available for download here.


Initial public release.

A new version has been released for Gotta Catch Em Small, it is available for download here.


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!

A new version has been released for Gotta Catch Em Small, it is available for download here.


  • 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

A new version has been released for Gotta Catch Em Small, it is available for download here.


  • 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

A new version has been released for Gotta Catch Em Small, it is available for download here.


  • Fixed plugin spamming errors when trying to catch Pokemon

  • Fixed plugin showing wrong message for restricted legendary captures

A new version has been released for Gotta Catch Em Small, it is available for download here.


Sponge plugin for restricting the Pokemon players can catch based on progression

A new version has been released for Gotta Catch Em Small, it is available for download here.


Sponge plugin for restricting the Pokemon players can catch based on progression

A new version has been released for Gotta Catch Em Small, it is available for download here.


  • 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.

A new version has been released for Gotta Catch Em Small, it is available for download here.


  • 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.

A new version has been released for Gotta Catch Em Small, it is available for download here.


Added support of restricting Dynamaxing

A new version has been released for Gotta Catch Em Small, it is available for download here.


Added support of restricting Z-Moves

A new version has been released for Gotta Catch Em Small, it is available for download here.


  • 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

A new version has been released for Gotta Catch Em Small, it is available for download here.


  • 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

A new version has been released for Gotta Catch Em Small, it is available for download here.


- 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!

A new version has been released for Gotta Catch Em Small, it is available for download here.


- 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!

A new version has been released for Gotta Catch Em Small, it is available for download here.


  • Fixed the plugin crashing the server when receiving a legendary Pokemon from a trade event with that option disabled

    • This is my bad, I was trying to cancel a non-cancellable event.
    • By “fix” I meant removed, as in there is not currently a way to prevent this from happening
  • Updated the list of legendary Pokemon to include the Sw/Sh DLC Pokemon

A new version has been released for Gotta Catch Em Small, it is available for download here.


  • Added a “reload” command to reload the config (mostly for my own sanity)

    – /gces reload

A new version has been released for Gotta Catch Em Small, it is available for download here.


  • 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!"
}

A new version has been released for Gotta Catch Em Small, it is available for download here.


  • Fixed the plugin crashing the server when receiving a legendary Pokemon from a trade event with that option disabled

    • This is my bad, I was trying to cancel a non-cancellable event.
    • By “fix” I meant removed, as in there is not currently a way to prevent this from happening
  • Updated the list of legendary Pokemon to include the Sw/Sh DLC Pokemon