Collection of game data for The Battle Cats
Find a file
2025-12-23 08:18:34 +00:00
game_data 15.0.1-en-kr-tw data 2025-12-23 08:16:29 +00:00
lib initial commit 2025-10-23 10:39:16 +01:00
.gitattributes remove unused git attrs 2025-10-23 10:41:25 +01:00
.gitignore initial commit 2025-10-23 10:39:16 +01:00
download.sh initial commit 2025-10-23 10:39:16 +01:00
merge.sh initial commit 2025-10-23 10:39:16 +01:00
metadata.json 15.0.1-en-kr-tw metadata 2025-12-23 08:18:34 +00:00
README.md re-ordered sections 2025-10-29 20:58:29 +00:00
requirements.txt script to validate metadata 2025-11-30 11:31:07 +00:00
run.sh change to xz\npython has built in support for xz so use that 2025-10-23 13:06:33 +01:00
server.sh initial commit 2025-10-23 10:39:16 +01:00
test_metadata.py script to validate metadata 2025-11-30 11:31:07 +00:00

BCData

Collection of game data for The Battle Cats. Used in BCSFE-Python.

Adding new game data

Mostly a guide for me tbh.

Prerequisites

The process to add new game is as follows:

  1. Run the ./run.sh script:
./run.sh <package_name> <country_code> [version]
./run.sh jp.co.ponos.battlecatsen en # latest en version
./run.sh jp.co.ponos.battlecats jp 14.7.0 # jp version 14.7.0

This will download an xapk, merge it into an normal apk and place it in the ./apks directory.

It will decrypt the game data into the ./game_data directory.

It will archive and compress game data into the ./out directory in the current working directory.

  1. Commit the changes to the ./game_data directory to the repository.

  2. Create a tag for this version. The name is as follows:

  • v<version_name> if this version is for all regions. e.g v14.7.0
  • v<version_name>-<region_code1>[-version_code2][-version_code3] if this version is for a specific region. e.g v14.7.0-jp or v14.7.0-en-kr-tw. The priority for region codes is jp, en, kr, tw. So jp should be the first region code and tw the last.
  1. Create a release for the tag, add the associated archive (the file(s) in ./out) to the release assets

  2. Update metadata.json to add the new version info.

Using your own game data repo

If you want to use your own game data repo in the save editor, you just need to set the game data url in the editor config to point to a file with the same format as the metadata.json file in this repo. So it must be structured similarly to this:

{
  "base_url": "https://example.com/some-url-that-is-prepended-before-each-version-asset/",
  "versions": {
    "jp": {
      "<version_code>": "<url>",
      "<version_code2>": "<url2>",
      "etc": "..."
    },
    "en": {
      "14.7.0": "some-url-part-that-is-appended-to-the-base-url.tar.xz"
    },
    "kr": {
      "...": "..."
    },
    "tw": {
      "...": "..."
    }
  }
}

Obviously you should replace the ... and other placeholders with actual content.

The tar.xz files should have the following structure:

|-- DataLocal/
|-- |-- unitbuy.csv
|-- |-- itemShopData.tsv
|-- |-- ...
|-- resLocal/
|-- |-- localizable.tsv
|-- |-- Unit_Explanation1_en.csv
|-- |-- ...
|-- resLocal_fr/
|-- |-- ...
|-- resLocal_it/
|-- |-- ...
|-- resLocal_de/
|-- |-- ...
|-- resLocal_es/
|-- |-- ...
|-- resLocal_th/
|-- |-- ...

Note that resLocal_<lang> packs only exist for en versions, so you won't have them in jp, kr or tw.