Mods / PatchDebug

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

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 83 Apr 19th at 1:48 PM Show PatchDebug-1.1.2.zip
v1.1.0 74 Apr 16th at 10:31 AM Show PatchDebug-1.1.0.zip
v1.0.0 86 Apr 15th at 10:42 AM Show PatchDebug-1.0.0.zip

0 Comments (oldest first | newest first)

delete edit