Mods / PatchDebug

Category: #Other #Utility
Author: goxmeor
Side: Both
Created: Apr 15th 2021 at 10:41 AM
Last modified: Apr 19th 2021 at 1:48 PM
Downloads: 539
Follow Unfollow 0

This is a tool for mod developers.

Dumps JSON to logs before and after selected patches are made.

Rename your patch file to include .debug. in its filename to trigger dumping. For example, assets/ropeorganization/patches/ropetricks.debug.json.

Copious amounts of JSON will be dumped to your server-debug.txt and/or client-debug.txt log files.

Please make sure to rename your files back when you're done!

Example

assets/ropeorganization/patches/ropetricks.debug.json:

[
  {
    "file": "game:itemtypes/resource/rope.json",
    "op": "add",
    "path": "/creativeinventory",
    "value": {
      "made_of_plants": ["*"],
      "long_and_thin": ["*"]
    },
  }
]

Excerpt from server-debug.txt:

15.4.2021 03:29:36 [VerboseDebug] === PatchDebug === patches/ropetricks.debug.json => game:itemtypes/resource/rope.json #0 === BEFORE ===
15.4.2021 03:29:36 [VerboseDebug] {
	code: "rope",
	texture: { base: "item/resource/rope" },
	creativeinventory: { "general": ["*"], "items": ["*"] },
	maxstacksize: 16,
	materialDensity: 510
}
15.4.2021 03:29:36 [VerboseDebug] === PatchDebug === patches/ropetricks.debug.json => game:itemtypes/resource/rope.json #0 === /BEFORE ===
15.4.2021 03:29:36 [VerboseDebug] === PatchDebug === patches/ropetricks.debug.json => game:itemtypes/resource/rope.json #0 === AFTER ===
15.4.2021 03:29:36 [VerboseDebug] {
  "code": "rope",
  "texture": {
    "base": "item/resource/rope"
  },
  "creativeinventory": {
    "made_of_plants": [
      "*"
    ],
    "long_and_thin": [
      "*"
    ]
  },
  "maxstacksize": 16,
  "materialDensity": 510
}
15.4.2021 03:29:36 [VerboseDebug] === PatchDebug === patches/ropetricks.debug.json => game:itemtypes/resource/rope.json #0 === /AFTER ===

Oops! /creativeinventory got replaced, deleting "general": ["*"], "items": ["*"].

Solution

The purpose of this mod is to help identify problems, but for posterity, here is the correct way to solve the problem above of adding multiple keys:

[
  {
    "file": "game:itemtypes/resource/rope.json",
    "op": "add",
    "path": "/creativeinventory/made_of_plants",
    "value": ["*"]
  },
  {
    "file": "game:itemtypes/resource/rope.json",
    "op": "add",
    "path": "/creativeinventory/long_and_thin",
    "value": ["*"]
  }
]

Version For Game version Downloads Release date Changelog Download
v1.1.2 181 Apr 19th 2021 at 1:48 PM Show PatchDebug-1.1.2.zip
v1.1.0 174 Apr 16th 2021 at 10:31 AM Show PatchDebug-1.1.0.zip
v1.0.0 184 Apr 15th 2021 at 10:42 AM Show PatchDebug-1.0.0.zip

0 Comments (oldest first | newest first)

delete edit