Source Data
Game Data
Before writing a patch, the most useful step is often not guessing field names but exporting the current original JSON and checking it first.
This helps you confirm:
- whether the type is called
FeaturesorProps - which fields an object actually contains
- what the current default values are
- whether text is stored in the main language table or directly inside multilingual object fields
What You Can Export
Common reference types include:
PlantFeaturesPlantPropsPlantAlmanacZombieFeaturesZombiePropsStoreCommodityFeaturesLevelModules- the game's
langtable
If you are not sure about a type name, check the category names in the Data page or run:
gpNext.status()Method 1: Export From the Data Page
This is the most direct method.
- Enter the game and open the GP-Next panel
- Switch to the Data page
- Find the type you want to inspect, such as
PlantProps - Export either the current data or the original data
Useful when:
- you want to inspect the full structure of a type
- you want to compare original data with the current runtime data
- you do not want to type console commands
Method 2: Export Features / Props With the Console API
If you prefer a scripted workflow, call this in the developer console:
await gpNext.exportJson('PlantProps')This exports the current runtime PlantProps.
If you want the original data instead, pass true as the second argument:
await gpNext.exportJson('PlantProps', true)Parameters
- first parameter
type: type name, such asPlantFeaturesorPlantProps - second parameter
useOriginal:truefor original data,falsefor current runtime data - third parameter
autoDownload:trueto open a save dialog,falseto print to the console
Examples
Export original plant features:
await gpNext.exportJson('PlantFeatures', true)Export current zombie stats and print them to the console:
await gpNext.exportJson('ZombieProps', false, false)Method 3: Export the Language Table
The game's shared language table can also be exported directly.
await gpNext.exportLang()If you want the original language table:
await gpNext.exportLang(true)This is useful when you want to:
- find the original key of an existing text
- confirm whether a language pack is applied correctly
- use the current table as reference for a new language
How To Decide What To Export
You can start with the kind of change you want to make:
- changing names, order, or card resource names: check
Features - changing health, damage, cooldown, or sun cost: check
Props - changing almanac descriptions, tags, or chat text: check
Almanac - changing store entries: check
StoreCommodityFeatures - changing global interface text: check the language table
If you are still unsure, the safest method is to export both related types and compare them.
What To Do Next
After exporting the JSON, the usual workflow is:
- find the target object and field in the exported file
- compare the field with Types & Fields
- then write your
pack.jsonand patch files
If you are ready to build the pack, continue with:
