Skip to content
This repository has been archived by the owner on Apr 22, 2023. It is now read-only.

Creating A Character

Leather128 edited this page Dec 5, 2021 · 3 revisions

Creating A Character

Folder Setup

First create four folders, one called _append, another called data, another called shared, and one last one called images, all in the main mod directory.

In _append create a folder named data.

In data (not the one in _append) create a folder named character data.

In images create a folder named icons.

In shared create a folder named images and then in that folder, create another one named characters.

Assets

Icons

In the icons folder (in the images folder), you can put icons (PNGS, no XMLS) for the character you want to add!

To create icons, make a new PNG that is 150px tall, and 150, 300, or 450 pixels wide. The reason you always want to have a multiple of 150 is because each icon is 150x150px (default, dead, winning).

KEEP IN MIND THAT THE HEALTH ICONS HAVE TO BE AT LEAST 150px TALL and 150px WIDE OR THE GAME CRASHES WHEN LOADING THEM!!!

They will look like this in the folder ([CHARACTER NAME]-icons.png):

Icons

Character Spritesheets

In the characters folder (in the images folder in the shared folder), put your PNG and XML spritesheets for the characters here.

Spritesheets

Creating the JSON

In the character data folder (in the data folder that's not in _append) create a new folder that has the same name as your character (CASE SENSITIVE).

Copy-Paste the config.json from another character into this folder (I chose bf's one which is in [BASE GAME ASSETS]/data/character data/bf/).

If you are creating an enemy character, it is recommended you remove most of the animations in the config.json other than idle, singLEFT, singRIGHT, singUP, and singDOWN.

Before After

Most properties of this JSON are self explanatory, but a few aren't perfectly clear, so I will explain those.

Properties

defaultFlipX is whether or not (as the enemy) the character is flipped by default (this value is inverted whenever you are using this character as the player / bf).

spritesheetType is a legacy value (either SPARROW or PACKER) that determines the spritesheet type used by the spritsheet. This value shouldn't be used (as sparrow is best supported), but if you must use the packer atlas (like with spirit) you can.

dancesLeftAndRight is whether the character's idle has one animation (idle) (like with BF or the Dad), or whether its like GF (or spooky kids) where they use two animations called danceLeft and danceRight.

indices (a property in an animation) controls the specific frames an animation uses (if no indices are given, it defaults to just playing the entire animation), this is useful for things like GF bobbing her head (because it's one animation for both left and right, not two). But it probably shouldn't be used for much more than that because then you would have to manually set all the frames of an animation.

Final Step

In the _append folder's data folder add a file named characterList.txt (CASE SENSITIVE) and add a line for each custom character in your mod.

These lines look like this: [CHARACTER NAME]:[GROUP IN CHARTER]

Example from Bob Mod

(Example from Bob Mod)