Debugging Mode

Page last edited 1,767 days 0 hours ago
From COG Docs
Jump to: navigation, search

Debugging Mode is a set of features intended to help people experiment with the mod outside of normal everyday use. It includes chat commands to modify various mod parameters and wireframe models for distributions that support them.

Debugging Mode is enabled through the "debugMode" config option. It can be enabled for both the integrated server in the client and the stand-alone server.



Console Commands

CustomOreGen recognizes 17 debugging commands which can be entered through the chat bar just like regular server commands. To use debugging commands, you must:

  • Enable Debugging Mode in the server config file (except for /cogEnableDebugging; this command does not require debugging mode).
  • Have access to "cheat" codes (be Opped, in Creative mode, etc).

Commands issued by a player affect the configuration for the dimension in which the player is standing. Most commands can also be issued from the command line of the dedicated server, in which case the an additional argument (the target dimension ID) must be provided before the regular command arguments. For example, when issuing the /cogInfo command from the dedicated server the syntax is /cogInfo <dimensionID> [distribution] [setting] [detail].

The command names are case-sensitive (so "/cogInfo" is valid, but "/coginfo" won't be recognized). Some of the command arguments are case sensitive as well, but most are not. Remember that the /? and /help commands can be used to get the names and usage info for all server commands.

Many commands take a "distribution" or "option" argument. This should be the name set in the config file. A regular expression can also be used to affect multiple distributions or options with a single command (for example ".*" will target all distributions or options). Note that minecraft uses spaces to separate command arguments. While names with spaces in them are perfectly valid in the config file, they cannot be used directly in console commands.

All changes made by these commands are temporary and will be reset when the config file is reloaded.

When entering distribution settings the format is generally the same as in the config file. Unlike the config file, however, entering an invalid setting with these commands will not pull up an error dialog. Instead, it will print an error message in the chat bar and disable the affected distributions so they cannot generate.


COG Commands
Command Name Arguments Description
/cogEnableDebugging [enable] Enable debugging mode. This command is unique in that it is visible even when debugging mode is off. This provides a way to turn on debugging mode and gain access to the other commands without restarting the client or server. Pass False to turn debugging mode off instead.
/cogInfo [distribution]
[setting]
[detail]
Prints a list of the named distributions. Use a regular expression to print multiple distributions (i.e. ".*" to print them all). If a setting name is provided, the value of that setting is printed for each listed distribution. Use a regular expression to match multiple settings. If the detail argument is provided and is True then a description of the setting and any additional information (like a complete list of blocks matching a block descriptor) will also be printed.
/cogWireframeMode [mode] Sets the client-side wireframe rendering mode. Unlike other commands, this affects only the client that issues it and not the server itself. This command cannot be issued from a dedicated server.
  • None means that all wireframes are hidden.
  • Wireframe renders wireframe models.
  • WireframeOverlay renders wireframe models on top of everything else, so they can be seen through solid objects.
  • Polygon renders solid models, although they may still be partially transparent.
/cogClear [distribution] Clears cached structure information. If no distribution name is given, clears cache for all distributions. Cached information is regenerated automatically as needed, so this command will not prevent the mod from working normally. It exists mainly as a diagnostic tool.
/cogRegen Removed. As of COG [1.3.2]v1, this command is no longer recognized.
/cogPopulate chunkRange
[distribution]
[centerX]
[centerZ]
Places ore from the specified distribution in all chunks within the specified range (in chunks) around the center X/Z position (in block coordinates). Chunks are generated first if necessary. Omit the distribution name to place ore from all loaded distributions. Omit the X/Z coordinates to use the coordinates of the issuing player. When issuing this command from a dedicated server all arguments are required.

If used carefully with Substitute distributions to remove existing ore this command can safely add COG ore distributions to existing worlds.

/cogParent distribution
parent
Sets the parent distribution - this has the same effect as nesting the distribution in the config file. The "parent" argument should match the name of a single distribution of the correct type.
/cogAddOreBlock distribution
block
[weight]
Adds an ore block. The "block" and "weight" arguments should be in the same format as used in the config file. This command will only add ore blocks; it cannot remove or change any that are already in the list.
/cogSetOreBlock distribution
block
[weight]
Sets the ore block. The "block" and "weight" arguments should be in the same format as used in the config file.
/cogAddReplaceable distribution
block
[weight]
Adds a replaceable block. The "block" and "weight" arguments should be in the same format as used in the config file. This command will only add replaceable blocks; it cannot remove or change any that are already in the list.
/cogSetReplaceable distribution
block
[weight]
Sets the replaceable block. The "block" and "weight" arguments should be in the same format as used in the config file.
/cogAddBiome distribution
biomeName
[weight]
Adds a target biome. The "biomeName" and "weight" arguments should be in the same format as used in the config file. This command will only add biomes; it cannot remove or change any that are already in the list.
/cogSetBiome distribution
biomeName
[weight]
Sets the target biome. The "biomeName" and "weight" arguments should be in the same format as used in the config file.
/cogSetting distribution
settingName
average
range
[type]
Change a distribution setting. Setting names, average, range, and type arguments should be in the same format as used in the config file.
/cogSettingEx distribution
settingName
value
Change a distribution attribute or special parameter. Setting names and values are the same as the corresponding attributes in the config file (for example the "branchType" or "drawWireframe" attributes for Veins distributions).
/cogOptionInfo [option]
[detail]
Prints a list of the named options and their values. Use a regular expression to print multiple options (i.e. ".*" to print them all). If the detail argument is provided and is True then a description of the option will also be printed.
/cogOption option
value
Change an option value.
/cogLoadConfig Reload the dimension configuration. Any changes previously made to options or distributions are lost.


Wireframe Models

WireframeOverlay.png

In debugging mode, CustomOreGen will internally store the position and geometry of all Veins, Cloud, and StandardGen distributions. This information can be transmitted to the client and displayed on-screen in the form of wireframe models. To see the wireframe models, you must:

  • Enable Debugging Mode in the server config file.
  • Set drawWireframe='true' for each distribution you wish to see in the server config file. The "Distribution Wireframes" option does this en-mass.
  • Have access to "cheat" codes (be Opped, in Creative mode, etc).
  • Install Minecraft Forge on the client.
  • Set the client Wireframe rendering mode to something other than "None" using the /cogWireframeMode command.