Перейти к содержимому
Mineforgian

HexDebug

A Hex Casting addon for debugging and editing hexes.

Загрузки
25K
Подписчики
14
Обновлён
7 ноября 2025 г.
Лицензия
MIT

Опубликован 10 мая 2024 г.

HexDebug

CurseForge | GitHub

A Hex Casting addon for debugging and editing hexes. The Debugger runs a debug server using the Debug Adapter Protocol, allowing you to use real debugging tools like VSCode to find bugs in your hexes; and the Splicing Table provides an easy-to-use GUI for finding and fixing mistakes.

Features

  • Debugging: Step through your hexes pattern-by-pattern with vscode-hex-casting or any other DAP-compatible editor!
  • Editing: Use the Splicing Table to edit hexes just like in a text editor, with buttons and keyboard shortcuts to select, move, duplicate, delete, and copy/paste iotas, and even draw patterns in a mini staff grid.
  • Step Modes: Use any of the well-known step modes (step in/out/over, continue, restart, stop) with the ingame item and/or through VSCode.
  • Variables: See the stack, ravenmind, and even some internal values like the evaluated pattern count.
  • Call Stack: Debug complex meta-evaluating hexes with the call stack, generated from the next continuation to be executed. Learn how Hex Casting's internals work!
  • Breakpoints: Set breakpoints on specific patterns, or use the Uncaught Mishaps option to pause the debugger when a mishap occurs and see what went wrong.
  • Multiplayer: Debug your hexes in multiplayer! The debug client connects to a port opened by the game client (configurable, defaults to 4444), and each player can have up to one active debugger instance at a time.

Attribution


A badge for hexdoc in the style of Devins Badges A badge for addons.hexxy.media in the style of Devins Badges

Ченджлог

0.8.0+1.20.1Бета1.20.1 · 7 ноября 2025 г.

0.8.0+1.20.1 - 2025-11-07

Added

  • Added support for debugging spell circles! Right-click (or sneak-right-click, for toolsmiths) on an impetus with a Debugger to start a debug session.
  • New items: Quenched Debugger and Quenched Evaluator! These post-enlightenment debug tools allow up to 4 hexes to be debugged at once. Scroll while holding sneak and sprint in order to switch between the available "debug thread" slots.
  • API: Added API documentation to the web book! The API docs from the latest commit pushed to main are available here, and there is a link to the API docs for each version in the header of the corresponding web book.
  • API: Added support for implementing debug support in casting devices/environments other than the Debugger item (eg. circles, wisps, cassettes). See the API documentation for more details, especially the sequence diagrams in the hexdebug-core-common module.
  • API: Added a new mini-mod called HexDebug Core (hexdebug-core-*). This is a minimal, Java-only mod containing only the API classes required to implement debug support. The intention is for HexDebug Core to be included in other addons via Jar-in-Jar, allowing addons to implement optional debugging support in their casting environments while minimizing the amount of overhead and added complexity from checking whether HexDebug is loaded or not.
  • API: Added Mojmap-remapped common jars (hexdebug-common-mojmap and hexdebug-core-common-mojmap) for use in VanillaGradle-based xplat projects.

Changed

  • Update zh_cn translations, by ChuijkYahus in #60 and #63.
  • Source files can now be viewed after the hex that created them finishes debugging.
  • Removed the random prefix from source filenames.
  • Active debug sessions are now terminated on death.
  • API: The SplicingTableIotaRenderer tooltip is now stored in a field on the renderer, allowing it to be updated in render if HexDebug isn't updating it frequently enough for your use case.

Fixed

  • Fixed a crash when closing the Splicing Table with Hexical 1.5.0 installed (#62).
  • Fixed exceptions not being caught by exception breakpoints after the first hex in a debug session.
0.8.0+1.20.1Бета1.20.1 · 7 ноября 2025 г.

0.8.0+1.20.1 - 2025-11-07

Added

  • Added support for debugging spell circles! Right-click (or sneak-right-click, for toolsmiths) on an impetus with a Debugger to start a debug session.
  • New items: Quenched Debugger and Quenched Evaluator! These post-enlightenment debug tools allow up to 4 hexes to be debugged at once. Scroll while holding sneak and sprint in order to switch between the available "debug thread" slots.
  • API: Added API documentation to the web book! The API docs from the latest commit pushed to main are available here, and there is a link to the API docs for each version in the header of the corresponding web book.
  • API: Added support for implementing debug support in casting devices/environments other than the Debugger item (eg. circles, wisps, cassettes). See the API documentation for more details, especially the sequence diagrams in the hexdebug-core-common module.
  • API: Added a new mini-mod called HexDebug Core (hexdebug-core-*). This is a minimal, Java-only mod containing only the API classes required to implement debug support. The intention is for HexDebug Core to be included in other addons via Jar-in-Jar, allowing addons to implement optional debugging support in their casting environments while minimizing the amount of overhead and added complexity from checking whether HexDebug is loaded or not.
  • API: Added Mojmap-remapped common jars (hexdebug-common-mojmap and hexdebug-core-common-mojmap) for use in VanillaGradle-based xplat projects.

Changed

  • Update zh_cn translations, by ChuijkYahus in #60 and #63.
  • Source files can now be viewed after the hex that created them finishes debugging.
  • Removed the random prefix from source filenames.
  • Active debug sessions are now terminated on death.
  • API: The SplicingTableIotaRenderer tooltip is now stored in a field on the renderer, allowing it to be updated in render if HexDebug isn't updating it frequently enough for your use case.

Fixed

  • Fixed a crash when closing the Splicing Table with Hexical 1.5.0 installed (#62).
  • Fixed exceptions not being caught by exception breakpoints after the first hex in a debug session.
0.7.0+1.20.1Бета1.20.1 · 3 октября 2025 г.

0.7.0+1.20.1 - 2025-10-02

Added

  • Added a tag (hexdebug:focus_holder/blacklist) to prevent specific items from being inserted into the Focal Frame.
  • Added new methods to the SplicingTableIotaRenderers class to allow iota renderers to contain or reference other renderers.
  • New Splicing Table iota renderer types:
    • hexdebug:conditional/if_path_exists
    • hexdebug:layers
    • hexdebug:sub_iota
  • New built-in iota icons:
    • hexdebug:builtin/wide/list
    • hexdebug:builtin/wide/type

Changed

  • ⚠️ Breaking: The hexdebug:list renderer type now has a required field renderer to render the iota; the list renderer now only provides the tooltip.
  • ⚠️ Breaking: Changed all Splicing Table iota renderer JSON fields from camelCase to snake_case.
  • List iotas now render their first iota (if any) in the Splicing Table (#48).
  • MoreIotas' item type iotas now render brackets around the item to distinguish them from item stack iotas.
  • Added (official) support for inserting iota-holding items other than foci into the Focal Frame (#52).
  • A single Focal Frame item can now be used like a bundle to insert/remove items in your inventory (#49).
  • The Focal Frame now gives comparator output and can be broken by pushing it with a piston.
  • Splicing Table iota renderers are now cached to improve performance.
  • Projectionist's Purification, Projectionist's Gambit, and Shutter's Purification (but not the II variants) now work on Focal Frames in addition to Splicing Tables.

Fixed

  • Fixed a few bugs allowing arbitrary items to be inserted into the Splicing Table and Focal Frame using hoppers or modded item transportation (#38, #53).
  • Fixed the EMI integration failing to load on Forge.
  • Fixed EMI not using the space where the cast button would be in a regular Splicing Table.
  • Fixed Splicing Table iota renderer resources not being loaded when the game launches on Forge (#58).

Removed

  • Removed most recipes related to filling/emptying Focal Frames, other than the recipe to fill empty frames with new foci using stackable ingredients.
0.7.0+1.20.1Бета1.20.1 · 3 октября 2025 г.

0.7.0+1.20.1 - 2025-10-02

Added

  • Added a tag (hexdebug:focus_holder/blacklist) to prevent specific items from being inserted into the Focal Frame.
  • Added new methods to the SplicingTableIotaRenderers class to allow iota renderers to contain or reference other renderers.
  • New Splicing Table iota renderer types:
    • hexdebug:conditional/if_path_exists
    • hexdebug:layers
    • hexdebug:sub_iota
  • New built-in iota icons:
    • hexdebug:builtin/wide/list
    • hexdebug:builtin/wide/type

Changed

  • ⚠️ Breaking: The hexdebug:list renderer type now has a required field renderer to render the iota; the list renderer now only provides the tooltip.
  • ⚠️ Breaking: Changed all Splicing Table iota renderer JSON fields from camelCase to snake_case.
  • List iotas now render their first iota (if any) in the Splicing Table (#48).
  • MoreIotas' item type iotas now render brackets around the item to distinguish them from item stack iotas.
  • Added (official) support for inserting iota-holding items other than foci into the Focal Frame (#52).
  • A single Focal Frame item can now be used like a bundle to insert/remove items in your inventory (#49).
  • The Focal Frame now gives comparator output and can be broken by pushing it with a piston.
  • Splicing Table iota renderers are now cached to improve performance.
  • Projectionist's Purification, Projectionist's Gambit, and Shutter's Purification (but not the II variants) now work on Focal Frames in addition to Splicing Tables.

Fixed

  • Fixed a few bugs allowing arbitrary items to be inserted into the Splicing Table and Focal Frame using hoppers or modded item transportation (#38, #53).
  • Fixed the EMI integration failing to load on Forge.
  • Fixed EMI not using the space where the cast button would be in a regular Splicing Table.
  • Fixed Splicing Table iota renderer resources not being loaded when the game launches on Forge (#58).

Removed

  • Removed most recipes related to filling/emptying Focal Frames, other than the recipe to fill empty frames with new foci using stackable ingredients.
0.6.0+1.20.1Бета1.20.1 · 30 сентября 2025 г.

0.6.0+1.20.1 - 2025-09-29

Added

  • Added a new resource-pack-based data-driven system for addon devs to customize how their iotas are rendered in the Splicing Table. (Docs)
  • Added Hexical interop to make the telepathy and notebook keys work in the Splicing/Mindsplice Table GUI.
  • Added support for "rainbow brackets" (also known as bracket pair colorization) to the Splicing Table. Introspection and Retrospection are now tinted rainbow colors based on their depth. The list of colors is configurable in HexDebug's client settings, and there's also an option to disable the feature entirely.
  • Added a config option to disable showing pattern names in embedded lists.

Changed

  • ⚠️ Rearranged the client config. In particular, the invertSplicingTableScrollDirection option has been moved to splicingTable.invertScrollDirection, so you'll have to set this option again after updating if you've changed it from the default.
  • Updated zh_cn translations, by ChuijkYahus in #43
  • The Mindsplice Table casting button tooltip now includes the block's name (eg. from renaming it in an anvil).
  • Item Type and Item Stack iotas from MoreIotas now render as the item they represent in the Splicing Table.

Fixed

  • Fixed a bug where the Splicing Table's contents would be dropped on the ground when upgrading it to a Mindsplice Table (#47).
0.6.0+1.20.1Бета1.20.1 · 30 сентября 2025 г.

0.6.0+1.20.1 - 2025-09-29

Added

  • Added a new resource-pack-based data-driven system for addon devs to customize how their iotas are rendered in the Splicing Table. (Docs)
  • Added Hexical interop to make the telepathy and notebook keys work in the Splicing/Mindsplice Table GUI.
  • Added support for "rainbow brackets" (also known as bracket pair colorization) to the Splicing Table. Introspection and Retrospection are now tinted rainbow colors based on their depth. The list of colors is configurable in HexDebug's client settings, and there's also an option to disable the feature entirely.
  • Added a config option to disable showing pattern names in embedded lists.

Changed

  • ⚠️ Rearranged the client config. In particular, the invertSplicingTableScrollDirection option has been moved to splicingTable.invertScrollDirection, so you'll have to set this option again after updating if you've changed it from the default.
  • Updated zh_cn translations, by ChuijkYahus in #43
  • The Mindsplice Table casting button tooltip now includes the block's name (eg. from renaming it in an anvil).
  • Item Type and Item Stack iotas from MoreIotas now render as the item they represent in the Splicing Table.

Fixed

  • Fixed a bug where the Splicing Table's contents would be dropped on the ground when upgrading it to a Mindsplice Table (#47).
0.5.0+1.20.1Бета1.20.1 · 22 сентября 2025 г.

0.5.0+1.20.1 - 2025-09-22

Added

  • Added keyboard shortcuts for almost all of the buttons in the Splicing Table, configurable in HexDebug's client config menu.
  • Added several new keyboard-only actions to the Splicing Table, mostly related to manipulating the active selection:
    • Move Cursor Left/Right
    • Expand Selection Left/Right
    • Move Selection Left/Right
    • Backspace
  • Added a tag (hexdebug:splicing_table/media_blacklist) to prevent specific items from being used to refill the Splicing Table's media buffer (eg. Oneironaut's Inexhaustible Phial).

Changed

  • The Splicing Table now works with Media Purification from Hexpose (requires at least build 2e90cf5b, or any version after 1.0.0).

Fixed

  • Fixed an issue where newly placed splicing tables would default to having the first iota selected.
  • Fixed several bugs/exploits related to the Splicing Table's media buffer (#40, #41, #44, #45).
  • Fixed Lodestone Reflection not working in the Mindsplice Table (#42).
  • Fixed a bug in the Splicing Table where the Select All button was enabled when the list was empty and the left edge was selected.
0.5.0+1.20.1Бета1.20.1 · 22 сентября 2025 г.

0.5.0+1.20.1 - 2025-09-22

Added

  • Added keyboard shortcuts for almost all of the buttons in the Splicing Table, configurable in HexDebug's client config menu.
  • Added several new keyboard-only actions to the Splicing Table, mostly related to manipulating the active selection:
    • Move Cursor Left/Right
    • Expand Selection Left/Right
    • Move Selection Left/Right
    • Backspace
  • Added a tag (hexdebug:splicing_table/media_blacklist) to prevent specific items from being used to refill the Splicing Table's media buffer (eg. Oneironaut's Inexhaustible Phial).

Changed

  • The Splicing Table now works with Media Purification from Hexpose (requires at least build 2e90cf5b, or any version after 1.0.0).

Fixed

  • Fixed an issue where newly placed splicing tables would default to having the first iota selected.
  • Fixed several bugs/exploits related to the Splicing Table's media buffer (#40, #41, #44, #45).
  • Fixed Lodestone Reflection not working in the Mindsplice Table (#42).
  • Fixed a bug in the Splicing Table where the Select All button was enabled when the list was empty and the left edge was selected.

Комментарии

Загружаем…