Resource icon

Essentials PBS Editor Program v1.3

Pokémon Essentials Version
v17.2 ➖
Older versions of the program are not supported; The latest version is v1.3.

Even though PBS files are simply just text files that follow a very basic format (which can be found on the wikia), editing Pokémon can get tedious. That because you have to type out the property (such as "GrowthRate=", for example). I myself have made a ton of spelling mistakes with that in the past, and some can even go unnoticed because they don't cause errors (mainly for moves).

This editor is here to help with that. It may seem annoying that it screams at the smallest mistake there is, but that does mean that your PBS will not contain errors or typos (unless there is a flaw in the program, in which case you should immediately report your error).

That is not the only benefit, however. I created this program with the intention to make it easier and faster to enter or edit PBS. You do not need to remember what properties there are, you do not have to worry about formatting, and, for most of the individual text file editors, they are faster than manually writing them out.

That is not to say editing PBS is hard.

Installing and updating

To install the program, you have to click the "Download" label above. It will download a file called "PBS+ Updater.exe". There is a good chance that this is seen as a virus by your web browser. I can assure you that it is not. The updater should be place in your root folder. This means that it should sit alongside folders such as the PBS folder, Audio, Graphics.
Make sure you have your anti-virus turned off before you run it. The updater may crash. This will install the program and run it once it is finished.

If you want to update to a newer version, you have to make sure you have closed out of the program first. You then need to run "PBS+ Updater.exe" again (you do not need to redownload it!) and it will once again install the latest version.

A full changelog can be found in the program itself, on the main form, under "More -> Changelog".

The Credits

Should you wish to use this program, it would be rather considerate to credit the following people:

  • Marin
  • PinkFluffyDragon (Animated PNGs and Updater)

The Pokémon Editor

Here is some documentation for the biggest editor of the bunch - the Pokémon Editor. You can edit almost everything other than the sprite (not sure if I'm going to take out this feature or not yet. Feel free to vote or whatever).

  • At the left-hand side of the screen, you will see a big list with all the Pokémon in your pokemon.txt file. All their properties will be set to what they are set to in the PBS file.
  • ID: This is what ID your Pokémon will get. I am not responsible for breaking the game with bad IDs, nor will this editor make you aware of these potential errors.
  • Name/Int.Name: The displayed name and the internal name, respectively.
  • Types: What type the selected Pokémon will have. Changing this field will also change its type (but not save it to the PBS file yet!). The types shown will be the types in your types.txt PBS file. By pressing the "No 2nd Type" button, you will disable a second type for this Pokémon. Checking and unchecking the box so that it's editable but still empty, will still count as if the box was checked.
  • Stats: Each of the Pokémon's stats. Worth noting is that, in the PBS, speed is in the 4th slot. I've loaded the file based on this, but I display it just as normal, 6th. You don't need to pay attention to the order, just the stat displayed above the box you want to edit.
    Below that is a stat total of the Pokémon. Note that this will not change if you type the new stat, only when you use the up/down arrows.
    Underneath that is a list of three Pokémon that have the exact same stat total as the current stat total of your Pokémon. This will also only update on changing the arrows.
  • Female Rate: What the chance of this Pokémon becoming female is. The options shown are self-explanatory. This does not allow for custom gender rates.
  • Growth Rate: How quickly this Pokémon levels up. Here is a graph:
  • Base EXP: How much experience you will gain from defeating this Pokémon in battle.
  • Catch Rate: The chance that you will catch this Pokémon in battle between 1 and 255.
  • Happiness: How happy this Pokémon is towards their trainer when initially caught. Number between 1 and 255.
  • Egg Groups: What Egg Groups this Pokémon can make eggs with. If it's not compatible with any Pokémon, set the first one to "Undiscovered". This does not allow for custom entries.
  • Hatch Time: How quickly an egg of this Pokémon will hatch. If it's Egg Group is undiscovered, you can set this to some high number. Legendaries are usually around 30.000.
  • Height: How high the Pokémon is. There is no unit, as this depends on your game and not the PBS.
  • Weight: How much the Pokémon weighs. There is no unit, as this depends on your game and not the PBS.
  • Color: What color this Pokémon will be shown as in the Pokédex. This does not allow for custom entries.
  • Kind: What the Pokémon will be, according to the Pokédex (e.g. "The Seed Pokémon". You would only set "Seed").
  • EV Yield: What EVs this Pokémon gives when it's defeated. At the very right, you will see the total amount.
  • Moveset: What moves this Pokémon learns at what levels. You can edit whichever move is selected by simply changing the "Move" box. This box contains all moves from your moves.txt PBS File. When you've edited a move, I highly recommend pressing the "Compile Moves" button. This is to re-order the list, refresh the display and make sure everything is set as you want it to be. This also applies for when adding or deleting a move. Not doing this should still give you the expected result, but I still highly recommend pressing this button a few times when editing the moveset.
  • Dex Entry: The string of text shown in the Pokédex. I wouldn't go further than 2.5 lines for the entry
Those were all the fields you are required to set something (Except for secondary type and egg group, but it's more organized this way). Here are all the optional fields. Most of these can be set to default:
  • Abilities: Kind of overcomplex, but the first box is the primary ability, the second box is the secondary ability and the third, Hidden Ability box underneath is, as the name suggests, for the hidden ability. This only supports one hidden ability, as you can see.
    For the checkboxes, if you don't want the Pokémon to have any normal abilities, press "No Normal Abilities". If you want a primary ability but not a secondary ability, press "No Second Ability" instead. The "No Hidden Ability" checkbox is independent of these other checkboxes.
  • Habitat: What habitat the Pokémon is found in, according to the Pokédex. This does not allow for custom entries.
  • Cmn Item: What item the Pokémon may hold with a 50% chance.
  • Uncmn Item: What item the Pokémon may hold with a 5% chance.
  • Rare Item: What item the Pokémon may hold with a 1% chance.
    The above values were double-checked in the code (which means these are the actual values).
  • Reg. Nums: The numbers this Pokémon has in the Pokédexes. This can be more easily edited in More > Manage Dex Numbers. I will go over this later.
  • Incense: No idea what this is. But it's there.
  • PlayerY Pos: What positioning the Pokémon will have in battle. You cannot visually change this, so you usually want to do this via the sprite positioner.
  • EnemyY Pos: Identical to above.
  • Altitude Pos: Identical to above.
  • Form Names: What name each form will have. Separate each form with a comma.
  • Evolutions: All Pokémon this Pokémon can evolve into. Changing the selected Pokémon will change the three boxes to the sides of it, which lets you edit the properties for the evolution.
    - The species box does not offer a list, as you might want to do that Pokémon later, which the box would scream about.
    - The method box does not offer a list, as a lot of coders/projects have custom evolutions.
    - The param box is up to you what you want to give it. Some evolution methods require a parameter, while others don't.
    Leave this box empty if you don't want to give it a parameter.
  • Eggmoves: List of eggmoves the Pokémon can have when it hatches from an egg. The move box underneath contains a list of all moves in your moves.txt PBS file.
That should be that for the most of the Pokémon themselves. Next are some dandy buttons scattered around. Here's a list of what each of them does:
  • Return: Allows your to go back to the main Editor choosing screen, so you don't have to close the freaking program every time. This does save all properties such as selected Pokémon, screen size, sprite scale and selected sprite (in a way).
  • Sort: A bunch of ways you can sort the Pokémon list at the left-hand side of the screen.
    Ways you can sort:
    Names, IDs, Type, Height, Weight, Stats (individual and total), Catch Rate, Hatch Time, Base EXP, Description, Moveset length, Eggmoves length, Evolutions length.
  • Generate: You need to, first of all, choose if you want to generate every Pokémon or just the selected one. You can then choose for Generate, which will bring up a new screen with the generated Pokémon, or Export, which will export the selected Pokémon to a .txt file in your main project folder, under a new directory called "Export". It will be called "pokemon(id).txt" so you can make out what is what. This file will be overwritten if it already exists.
    For when generating all Pokémon, the same applies as above, other than that the Exported file will be called "pokemon.txt". It also offers a new option, Overwrite. This will overwrite (but not reload!) the pokemon.txt file that currently exists in the PBS directory. A backup of this about-to-be-overwritten pokemon.txt file will be copied to a new directory called "Backups". This file will also be overwritten if you overwrite once more after that but will save a new backup of the file that's being overwritten.
  • More: Contains some general tools that might come in handy.
    - Options > Always show sprite: This is what sprite will be shown of the selected Pokémon when you change index. You can choose from Front, Back, Shiny Front, and Shiny Back.
  • Manage Dex Numbers: This gives you a new screen which lets you very quickly set the Pokédex numbers. Note that there is a name box for the Pokédex; this is not in the game! It's only to help you organize!
  • Open "pokemon.txt": If you're reading this. Get some coffee.

The Move Editor
Since this is a PBS editor, the Move Editor only edits properties that are stored inside the PBS file "moves.txt". This means that you can not change the effects of moves in here.

  • The left-hand side of the screen contains a list of all the moves (you might as well get used to that list now, as all the editors (will) have that).
  • ID: What ID the move has. I won't be responsible for errors related to IDs. You should watch what you give your moves yourself. When adding a new move, the ID will automatically be set to the total amount of moves + 1.
  • Name/Int.Name: The displayed name and internal name, respectively.
  • Type: What type the move has. The box contains all types found in your types.txt folder.
  • Category: Whether the move is a Physical, Special, or a Status move.
  • Power: The base power of the move.
  • Accuracy: The base accuracy of the move.
  • PP: The default max PP of the move.
  • Target: How the move damages what targets. I won't go over what each and every target means.
  • Move Effect: Whatever move effect you want to set it to (e.g. "0C2").
  • Add. Effect: Whatever number you want to give it.
  • Flags: A list of checkboxes. Click every box you think it needs.
  • Description: The description of the move as shown in the summary/move learning screen.
I think the buttons at the top are self-explanatory; They're pretty much the same as the Pokémon Editor.

The Trainer Editor

This is an editor for individual instances of trainers that you actually battle with.

  • The generic list at the left-hand side.
  • Type: What trainer class/type the trainer has. The options are read from your trainertypes.txt PBS file.
  • Name: The name of the trainer.
  • ID: The ID of the trainer. This is used when you have multiple instances of the trainer with the same name and type. An example of this is your rival.
  • Note*: This is something special. It will be generated to the PBS file but commented out. It helps you organize your trainers. You can not put '#'s in this note. The box should automatically filter hashtags, but if you somehow bypass it, consequences are for you.
  • Items: The list of items the trainer has. The maximum is 8 within the editor. The item box underneath contains the items from your items.txt PBS file.
  • Default Optional: Sets all fields to their default value, meaning that you will only get, for instance, BULBASAUR,5.
  • Held Item: What item the Pokémon will hold.
  • Move1..4: The moveset. As long as one of the fields contains a move, it will have only that move. If all are empty or the "Default (Genned)" box is checked, it will be generated with the Pokémon and its level.
  • Ability: What ability the Pokémon has. Read up on what this and other fields mean here.
  • Form: What form the Pokémon will be.
  • Nature: What nature the Pokémon has. This does not support custom entries.
  • IVs: What IVs the Pokémon has in all of his stats. This is how Essentials works, so don't go running to me on that.
  • Happiness: How happy the Pokémon is towards its trainer.
  • Ball: What ball the Pokémon is kept in. This does not support custom entries.
  • Nickname: What nickname the Pokémon will have.
Button Trainer List Display: Allows you to alter the display on the left side of the screen. Very self-explanatory and the description should take away any last questions.

The Type Editor
This one may just be redundant, really. types.txt is arguably one of the easiest to edit. I'm not a fan of the layout this one has. I'm not sure what I'm going to do with it in the future, if anything.

  • Our usual display of types at the left-hand side of the program.
  • ID: The ID of the time. Again, I'm not responsible for breaking your game because you chose to do the IDs in a weird way.
  • Name/Int.Name: The name that will be displayed and the internal name, respectively.
  • Weaknesses, Resistances, Super Effective Against's, and Immunities have tooltips that show up if you hover above the name.
  • Weaknesses: What types the selected type is weak to. For Water, this would be Grass and Electric.
  • Resistances: What types do half damage to the selected type. For Water, this would be Steel, Fire, Water, and Ice.
  • Super Effective Against: What types the selected type is super effective against. For water, this would be Ground, Rock, and Fire.
  • Immunities: What types have no effect on the selected type. For Water, this would be none. For Ghost, this would be Normal and Fighting.
  • The type is a special type: Whether the type is a special type or not. This was used in previous generations.
I think the buttons at the top are self-explanatory; They're pretty much the same as the Pokémon Editor, besides Generate. You can only generate the whole file (all types), not just the selected one.

The Ability Editor

If any of these editors are redundant, it'd be this one. abilities.txt is without a doubt the easiest to edit, as there are only three properties in there. I made it just to be complete with my editors.

  • The generic list at the left-hand side.
  • ID: What ID you give the ability. Once again, messing up with IDs is your own problem.
  • Name/Int.Name: The name that will be displayed and the internal name, respectively.
  • Description: The description as shown in the summary screen.
I think the buttons at the top are self-explanatory; They're pretty much the same as the Pokémon Editor.

The Trainer Class Editor

I myself like this one because of the Media Player that comes with it.

  • Trainer class list.
  • ID: The trainer class's ID. Break your system however you want with this, that's your own problem.
  • Name/Int.Name: The name that will be displayed and the internal name, respectively.
  • Base Money: How much money the trainer gives out when defeated. Here is explained how that works.
  • BG/Victory/Intro Music: What music is played for the battle background, victory or intro music, respectively. You can set this to whatever file you want. If the file doesn't exist in BGM or ME (depending on what field you're editing), it will copy paste the audio file to that folder. You can then play it by pressing the play button at the very right of it. Stop it with the stop button and set to Volume to whatever you want it to be. This volume does not affect the game in any way. It's just the volume of the media player.
  • Gender: What gender the class is. Male or Female. Check "Default (Mixed) for it to be undefined.
  • Skill Level: How smart the trainer is. This will default to the Base Money if you've set it to "Default (=Base Money)".
The rest of the buttons are all the same as the other forms. No more, no less.

The Item Editor

I personally think this is one of the better ones. It's very complete, works well, and I haven't had any flaws with it yet. That's not to say that there are none, so please report when you find any.

  • ID: The item's ID. You do you when messing with the ID. It's your own fault if you break it because of it.
  • Name/Plural/Int.Name: The displayed name when singular and plural. The internal name of the item.
  • Pocket: The Pocket the item is in in the bag.
  • Price: How much you can buy this item for at marts. They can be sold for half this Price field.
  • Use outside of battle: How you can use this item outside of battle/in the field.
  • Use inside of battle: How you can use this item inside of battle.
  • Special Item: If the item has special properties or not.
  • TM Move: If the item is a TM, this is the move it teaches.
  • Description: The description of the item as shown in the bag.

The Encounter Editor

Though currently highly unstable, this editor is able to edit encounters for each map.

  • List of maps
  • Map Name: This is the name of the map (stored as a comment in encounters.txt). Maps that do not have a name do not typically have any encounters.
  • Density: The chances out of 100 to encounter a Pokémon in grass, caves or while surfing.
  • Encounter Methods: List of encounter methods. Each method has its own encounters.
  • Encounters: The encounters for the selected Encounter method
  • Species: The species the selected encounter will be.
  • Level: The level the selected encounter will be. If the second level box is higher than the first, it will be a range.

The TM/HM/Tutor Editor

Pretty much all there is to this editor are two lists; the left list contains all the moves, the right list contains the species that can learn the move selected in the left list as a TM, HM, and tutor. These are defined the same way without any differences.

The Sprite Viewer

Although this isn't an editor, it's just a small tool that shows a sprite and animates it if you wish. You can also choose the framerate.
I would really appreciate users to credit the people below if they have used this program to speed up development of their game/resource/etc. A gigantic amount of time, effort, and dedication has gone into this project.
  • Marin
  • PinkFluffyDragon
Besides this, I should also thank people who have been suggesting features and reporting bugs. They're very well appreciated.
First release
Last update
4.82 star(s) 11 ratings

More resources from Marin

Latest updates

  1. Update v1.3

    Now compatible with Pokémon Essentials v17: Added the "Shape" field to the Pokémon editor Fixed...
  2. Update v1.2.3

    Error messages in the Pokémon Editor now give the exact field/property that caused the error and...
  3. Update v1.2.1

    Recreated the Pokédex number editor (part of Pokémon editor). Sorting options for this coming...

Latest reviews

This program is amazing! However, I am currently using Essentials Version 18.1v and I have a feeling this isn't compatible? When trying to do anything, it comes in errors depending on what tab I click on. Am I making a mistake or is it purely because the program needs an update? Regardless, it is brilliant, and thank you for going through the effort and time to make this, you are awesome :D
Fantastic program! I use it a lot for development of PKMN Nebula. A few bugs exist, but they have easy workarounds. (The bugs I speak of: Overwriting items does not work, Pokemon set to the 'Slow' experience gain group automatically get set to 'Fluctuating' for some reason, and the Items editor does not include Apricorns as a special type of item.)
Some of the features, such as updating, exporting, and overwriting files are not working. For example, when you try to overwrite abilities.txt, it is searching for abilitities.txt, which is an errata in the program. In addition, the items are not exporting or overwriting. I spent a couple of hours on the items bit and found out after that none of my edits were done. Very disappointed about this but still is a good tool.
It's very good! Thank you Marin! that's great job!
This have helped me so much in creating my project.
i will DEFINITELY be using this to edit my PBS Files, it seems like an easy way to edit without messing everything up in the process. lol
Friendly UI editor for the people who are new or lazy to make change in text files.
Amazing Program, M3rein! This makes the PBS Editing much easier since dealing with all those text made my eyes gloomy! This is very helpful and neat!
I this amazing and super simple to use. The only thing is that it seems to not work along with the gen 6 PBS
It definitely should. What's your error? (It's built to work with fully custom PBS as well, but breaks if there's an error)
Well done, I'm blown away! This will make editing so much easier. There is one thing I would like to see, and that is the option to create a new Pokemon in the Pokemon Editor. It's only a small thing, but it can help if there are heaps of new Fakemon being added to a game. Other than that, it's amazing.
That's possible (if everything is working) by clicking the add/remove button bottom left. Every editor should have this feature.