Mod

HexParse

Quick rating

HexParse

No reviews yet

Converts custom code into (pattern or literal) list iota by command; requires player to have a focus item in hand.

No Theme
QoL & Tweaks
Mod Addon
Mod Loaders
Forge
NeoForge
Fabric
Minecraft

Community voices

Reviews

Versions
Loading versions…
Match includes

Click once to include, again to exclude, again to clear

Rating Any
Any 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0
Min
Max
Play Status
Reviews
Time Played
hrs+
Verified developers only
Has developer response
List view
Grid view
Compact view
Sort by
Date
Rating
Helpful
Unhelpful
Edited
Sort ascending
Delete this review?

This removes your review from the project. You can write a new review after.

Review submitted for moderation

Your review has been sent to moderators, who will check that it meets our guidelines before it appears publicly.

No reviews yet. Be the first to review this project!

Get it on

Available Platforms

Compatibility

Supported Environments

Dev Environment
Client Required
Server Required

About

Project Details

Type
Mod
License
MIT License
Latest Version
hexParse-neoforge-1.21.1-1.11.1-pre26.jar
Authors
CurseForge
Modrinth

For authors

Embed Badge

If you're the author of this project, you can embed a live badge anywhere that supports HTML or Markdown. It updates automatically whenever ratings change.

Custom banner text
ModDex rating badge preview

Use HTML for any page that supports it, or Markdown for README files and Markdown-based descriptions.

Identifiers

Platform IDs

CurseForge ID
Modrinth ID

Resources

External Links

About

Description

HexParse mod

Curseforge CurseForge
Modrinth Modrinth

Provides a pair of patterns and a set of commands to convert custom code into (pattern or literal) list iota; requires player to have a focus item in hand.

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

(Old KubeJS version HERE)

Example Code Example Iota Example Iota (Colorful Nested)
Code Iota Iota (Colorful)

The highlight VSCode extension is available on the Marketplace (source code).

Supported IO Item Types

  • Focuses
  • Spell Books
  • (1.20) Thought Knots
  • recognized by item classes, able to add more via HexParseAPI or IOMethod

Commands Added

Reading & Writing

  • /hexParse <code string> [rename]: parse input code into supported held item; optional rename argument to rename the item.
  • /hexParse read: read handheld item's iota, parse into code and show in chat window; the result will be copied when clicked.
  • /hexParse read_signatures: same as read, but ignores all known pattern IDs and outputs all as angle signatures.
  • /hexParse clipboard [rename]: read client clipboard text and parse into supported held item; optional rename argument to rename the item.
  • /hexParse clipboard_angles [rename]: same as clipboard, but only accept patterns input with raw angle string like "wedsaq".
  • /hexParse clipboard_hexpattern [rename]: (experimental) same as clipboard, but accepts .hexpattern format; warning: only partial features supported.
  • /hexParse share: (experimental) same as read but broadcasts iota's raw content and click-copy-able parsed code to every player in the server.
  • /hexParse read_hexbug: same as read but translates the result to the format used by discord HexBug's /patterns hex command. note: non-pattern constants and some old registry names still need to be handled manually
  • /hexParse mind_stack ...: read/write iota from player's mind (staff casting VM)
    • ... peek: read the last iota inside mind stack; gets null if stack is empty
    • ... push <code>: parse code and push into mind stack
    • ... push_clipboard: same as above, but code comes from clipboard
  • /hexParse property ...: (Hexcellular interop) get/set data for PropertyIota; used property names all force-added leading _ for security reason
    • ... read <propName>: read and parse from certain property
    • ... write <propName> <code>: write code into certain property
    • ... clipboard <propName>: same as above, but code comes from clipboard

Configs

  • /hexParse (macro/dialect) ...: edit client-saved code dialects (1-on-1 mapping, not starting with #) and macros ( mapped to code segments, starting with #)
    • ... list: list all saved macros/dialects; there exist several predefined macros from the nature
    • ... define <key> <value>: define a macro/dialect mapping; could be fresh-new or overriding existed one.
    • macro define_clipboard <key>: same as above, but only for macros, and reads player's clipboard
    • ... remove <key>: remove mapping entry with given key (if exists)
  • /hexParse conflict: conflict resolver for multiple patterns with same short name (ID path)
    • only enables in physical client (singleplayer, local multiplayer) or with OP permission
    • ... or ... list: list all short names pointed by multiple long IDs
    • ... list <short_name>: list all conflicting IDs under certain short name
    • ... set <short_name> <long_ID>: redirect certain short name to input pattern ID

Misc. & Helpers

  • /hexParse donate [amount]: donate custom amount of media to the nature. Pay if you feel guilty using this mod ::)
  • /hexParse learn_great: Read handheld items and learns great pattern(s) inside.
  • /hexParse lehmer [...nums]: calculate lehmer code for given permutation (from ascending, e.g. 0 1 2 3 4); input should be separated with space; the result number can be used for Swindler's Gambit.

OP-Only Commands

  • /hexParse unlock_great (unlockAll|lockAll|unlock <pattern id>|lock <pattern id>): controls great pattern unlocking process of current world by locking/unlocking all at once, or a single great pattern each execution.

Patterns Added

  • comment_switcher: Transforms input Comment Iota into String Iota, or everything else into Comment Iota.
  • code2focus: Equivalent to /hexParse clipboard (now not only focuses).
  • focus2code: Equivalent to /hexParse read.
  • remove_comments: Clears comment iotas from a (nested) list input.
  • learn_patterns: Read handheld items and learns great pattern(s) inside.
  • create_linebreak: Adds a line-break comment iota with space-indents of given number to the stack.
  • donate: Equivalent to /hexParse donate.
  • (great spell) compile: takes in a MoreIotas string iota, and parses it into a code list.

Introduction also written in HexParse Patterns section inside the book.

Misc. Features

  • At each pattern's page, press Shift to display the pattern's registry ID

New Iota: CommentIota

CommentIota displays string inside, and parses into a null iota (with id: "hexparse:comment") which executes doing nothing.
Comment iotas includes text comments, line-breaks & indents, and unknown great spell placeholders.
When player holds Shift key, all comments will be hidden.

HexParseAPI

  • Location: io.yukkuric.hexparse.api.HexParseAPI
  • Contents:
    • AddForthParser(p: IStr2Nbt)
    • AddBackParser(p: INbt2Str)
    • <T : SpecialHandler> AddSpecialHandlerBackParser(cls: Class<T>, func: (T, CompoundTag) -> String)
    • CreateItemIOMethod(cls: Class<*>, writer: ((ItemStack, CompoundTag) -> Unit)?, reader: ((ItemStack) -> CompoundTag?)?, priority: Int = 0, validator: ((ItemStack, Boolean) -> Boolean)?

For detailed usage guides, see How-To (Generated by GLM-5.1)

External Documents

Supported Expressions

see this file for all available symbols.

Available Configs

see this file for all available configs.

HexParse mod

Curseforge CurseForge
Modrinth Modrinth

Provides a pair of patterns and a set of commands to convert custom code into (pattern or literal) list iota; requires player to have a focus item in hand.

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

(Old KubeJS version HERE)

Example Code Example Iota Example Iota (Colorful Nested)
Code Iota Iota (Colorful)

The highlight VSCode extension is available on the Marketplace (source code).

Supported IO Item Types

  • Focuses
  • Spell Books
  • (1.20) Thought Knots
  • recognized by item classes, able to add more via HexParseAPI or IOMethod

Commands Added

Reading & Writing

  • /hexParse <code string> [rename]: parse input code into supported held item; optional rename argument to rename the item.
  • /hexParse read: read handheld item's iota, parse into code and show in chat window; the result will be copied when clicked.
  • /hexParse read_signatures: same as read, but ignores all known pattern IDs and outputs all as angle signatures.
  • /hexParse clipboard [rename]: read client clipboard text and parse into supported held item; optional rename argument to rename the item.
  • /hexParse clipboard_angles [rename]: same as clipboard, but only accept patterns input with raw angle string like "wedsaq".
  • /hexParse clipboard_hexpattern [rename]: (experimental) same as clipboard, but accepts .hexpattern format; warning: only partial features supported.
  • /hexParse share: (experimental) same as read but broadcasts iota's raw content and click-copy-able parsed code to every player in the server.
  • /hexParse read_hexbug: same as read but translates the result to the format used by discord HexBug's /patterns hex command. note: non-pattern constants and some old registry names still need to be handled manually
  • /hexParse mind_stack ...: read/write iota from player's mind (staff casting VM)
    • ... peek: read the last iota inside mind stack; gets null if stack is empty
    • ... push <code>: parse code and push into mind stack
    • ... push_clipboard: same as above, but code comes from clipboard
    • /hexParse property ...: (Hexcellular interop) get/set data for PropertyIota; used property names all force-added leading _ for security reason
      • ... read <propName>: read and parse from certain property
      • ... write <propName> <code>: write code into certain property
      • ... clipboard <propName>: same as above, but code comes from clipboard

Configs

  • /hexParse (macro/dialect) ...: edit client-saved code dialects (1-on-1 mapping, not starting with #) and macros ( mapped to code segments, starting with #)
    • ... list: list all saved macros/dialects; there exist several predefined macros from the nature
    • ... define <key> <value>: define a macro/dialect mapping; could be fresh-new or overriding existed one.
    • macro define_clipboard <key>: same as above, but only for macros, and reads player's clipboard
    • ... remove <key>: remove mapping entry with given key (if exists)
    • /hexParse conflict: conflict resolver for multiple patterns with same short name (ID path)
      • only enables in physical client (singleplayer, local multiplayer) or with OP permission
      • ... or ... list: list all short names pointed by multiple long IDs
      • ... list <short_name>: list all conflicting IDs under certain short name
      • ... set <short_name> <long_ID>: redirect certain short name to input pattern ID

Misc. & Helpers

  • /hexParse donate [amount]: donate custom amount of media to the nature. Pay if you feel guilty using this mod ::)
  • /hexParse learn_great: Read handheld items and learns great pattern(s) inside.
  • /hexParse lehmer [...nums]: calculate lehmer code for given permutation (from ascending, e.g. 0 1 2 3 4); input should be separated with space; the result number can be used for Swindler's Gambit.

OP-Only Commands

  • /hexParse unlock_great (unlockAll|lockAll|unlock <pattern id>|lock <pattern id>): controls great pattern unlocking process of current world by locking/unlocking all at once, or a single great pattern each execution.

Patterns Added

  • comment_switcher: Transforms input Comment Iota into String Iota, or everything else into Comment Iota.
  • code2focus: Equivalent to /hexParse clipboard (now not only focuses).
  • focus2code: Equivalent to /hexParse read.
  • remove_comments: Clears comment iotas from a (nested) list input.
  • learn_patterns: Read handheld items and learns great pattern(s) inside.
  • create_linebreak: Adds a line-break comment iota with space-indents of given number to the stack.
  • donate: Equivalent to /hexParse donate.
  • (great spell) compile: takes in a MoreIotas string iota, and parses it into a code list.

Introduction also written in HexParse Patterns section inside the book.

Misc. Features

  • At each pattern's page, press Shift to display the pattern's registry ID

New Iota: CommentIota

CommentIota displays string inside, and parses into a null iota (with id: "hexparse:comment") which executes doing nothing.
Comment iotas includes text comments, line-breaks & indents, and unknown great spell placeholders.
When player holds Shift key, all comments will be hidden.

HexParseAPI

  • Location: io.yukkuric.hexparse.api.HexParseAPI
  • Contents:
    • AddForthParser(p: IStr2Nbt)
    • AddBackParser(p: INbt2Str)
    • <T : SpecialHandler> AddSpecialHandlerBackParser(cls: Class<T>, func: (T, CompoundTag) -> String)
    • CreateItemIOMethod(cls: Class<*>, writer: ((ItemStack, CompoundTag) -> Unit)?, reader: ((ItemStack) -> CompoundTag?)?, priority: Int = 0, validator: ((ItemStack, Boolean) -> Boolean)?

For detailed usage guides, see How-To (Generated by GLM-5.1)

External Documents

Supported Expressions

see this file for all available symbols.

Available Configs

see this file for all available configs.

Screenshots

Gallery

  • sample parsed iota (displayed with hexgloop)
    sample parsed iota (displayed with hexgloop)
  • sample code
    sample code

Versions

Files

Relations

Project Relations

More like this

Similar Mods

Suggestions use data such as tags, dependencies, dependents, descriptions, titles, and more to rank how much they overlap with this mod.

On ModDex

Community snapshot

0
Ratings
0
Followers
0
In stacks

By the numbers

Statistics

~27,000
Total Downloads
CurseForge
~11,000
Modrinth
~16,000
Last Updated
CurseForge
Created
CurseForge
Modrinth
Last synced
When ModDex last fetched and imported data for this project from CurseForge or Modrinth. High-traffic and active projects are checked more often.
Next pipeline sync