This is the third major release for Component Viewer adding a bunch of new configs, and especially QoL features. Starting with this release, Component Viewer is now natively supported for the NeoForge platform. Also starting with this release, Minecraft versions 1.20.5 and 1.20.6 will no longer receive any updates. This release is marked as "beta" on Modrinth, for obvious reasons.
Note: Custom keybinds for this mod will be reset when upgrading to this release. Your current configs however, should remain untouched. Also, NeoForge seems to handle tooltips a bit differently, meaning overflowing tooltips will wrap around to the next line, unlike on Fabric.
Additions
Tooltips
- Tooltips will now be cleared beforehand, meaning only this mod's information is displayed and nothing else
- When hovering over different item stacks, the selected component is now kept by its actual type and not by its index in the list
- The number of components is now displayed in the tooltips
Copying
- The target selector for the give command is now configurable
Controls
- It is now possible to select a component by scrolling with the mouse
- All keybinds and controls are now configurable
- Keybinds are configurable in the Minecraft keybinds settings
- Other controls are configurable in the config of Component Viewer
Miscellaneous
- It is now configurable that Component Viewer disables itself and all functionality under certain conditions, like being on a server and/or in survival mode
- You can now change the copy key-combo from
CTRL+CtoALT+Cif desired
Changes
Controls
- Components are now cycled with arrow keys and the mouse wheel only
ALTandSHIFT+ALTdon't work anymore and serve a different purpose now
- Tooltips are now displayed by holding
ALTinstead ofCTRL- This is to avoid conflicts with the default sprint key in Minecraft versions 1.21.8 and below
- Holding down an arrow key, or any other key, to cycle through components, will now rapidly cycle through all components
- Keys, especially the ones for cycling components, now trigger independently, meaning holding one down, doesn't block another to trigger
- Config cycle keybinds now also work with any screen open, like being in the inventory
Bug Fixes
- Fixed that snbt formatting didn't use OS-specific line termination characters properly
- Fixed that clearing the internal toast manager causes config cycle keybinds to not spawn any new toast notifications
Known Issues
- Changing what kind of components are displayed, while having one selected, causes the selected component to not respect the new
Keep Selectionconfig properly
I haven't mentioned any new configs in detail here, to avoid the changelog being overly long. But nearly all features can be disabled or configured in a way that it mostly reflects the prior version of Component Viewer.
Have fun! ~Fixyl :D
This is a very small patch fixing just two typos and nothing more.
Developer's Note:
This patch was not necessarily planned for now but is now available because 1.21.5 dropped, which needed a tiny bit of compatibility work. So this patch goes along with this.
Bug fixes
- Fixed two typos:
Whats the purpose ...becomesWhat's the purpose ...No Default ComponentbecomesNo Default Components
This is the biggest release yet. The most prominent features are:
- Displaying item stack data itself
- Copying data of any item stack
- JSON formatting
and more.
Note: Your current configs will be reset when upgrading to this release.
Additions
Formatting
- Added JSON formatting
Copying
- Added the ability to copy data of any item stack
- This includes:
- Component values
- Item stack data
- Which is exactly the same as using
/data geton the item stack
- Which is exactly the same as using
- Give command
- Yielding the exact item represented by the item stack
Tooltips
- The item stack data itself can now be displayed instead of individual components
- Added more controls for navigating individual components:
UP,LEFTfor the previous componentDOWN,RIGHTfor the next componentHOME,ENDfor either the first or last componentALT,SHIFT + ALTis unchanged
Configs
- Added a bunch of new configs
- This includes:
- Purpose: What will be displayed
- Components (default)
- Item Stack
- Components: Which components will be displayed
- All (default)
- Default
- Changes
- Formatting: What formatting to use
- SNBT (default)
- JSON
- Object
- Colored Formatting: Whether formatted data will be colored
- On (default)
- Off
- Copy: What will be copied when pressing
CTRL + C- Component Value (default)
- Item Stack
- Give Command
- Disabled
- Prepend Slash: Whether to add a
/in front of the copied give command- On (default)
- Off
- Include Count: Whether to include the item stack count in the copied give command
- On
- Off (default)
- Success Notification: Whether to notify about successful copy actions
- On (default)
- Off
- Purpose: What will be displayed
Keybindings
- Added keybindings for cycling various enum configs
- These are unbound by default
Notifications
- Added toast notifications for several events
- This includes:
- Copying anything (can be disabled)
- Cycling enum configs with keybindings
Changes
Formatting
- Renamed "Class" formatter to "Object" formatter
- Internal (non-encoded) components will now be formatted as
{}when using SNBT formatting - Object formatting now also supports colored formatting
Tooltips
- Removed components will now be listed at the bottom of the section instead of the top
- Removed components can now also be selected, displaying the value that would've been there
- When a formatting error occurs with Object formatting, it will no longer fallback to using zero indentation
Configs
- Reworked the config screen
- Configs that don't apply with other configs currently set will now be grayed out
- Changed the way configs are de-/serialized
- Configs within the config file will now follow a hierarchical order
- Enum configs are now snake case
- Integer config values that are, for some reason, out of range will now be reset to their default value instead of clamping it
- Renamed some old configs
- "Indent Size" becomes "Indentation"
- "Mode" becomes "Formatting"
- The "Changed Components" config was being removed in favor of the "Components" enum config
Bug fixes
- Data was previously not being displayed when the item stack had the
minecraft:hide_tooltipcomponent - Object formatter didn't indent on
()which was causing slight misalignments for certain components - Pressing
J(or any other bound key) very rapidly didn't open the config screen
This is a minor patch that adds 1.21 support.
Additions
- Components that have been removed using the new
!prefix will now be displayed as such whenComponent Changesis enabled.- They will be listed at the top of the section, indicated by a strikethrough formatting.
Changes
- The config
Colored SNBTis now enabled by default.
This is a minor patch that addresses an issue causing the client to disconnect from servers.
Bug fixes
- Fixed a
NullPointerExceptionthat was causing a "Network Protocol Error", leading to the client being disconnected from both internal and external servers.
This is a major release introducing configs and a new SNBT representation for component values, which is the same as used for /data get.
Additions
- Added SNBT mode:
- Component values can now be displayed using an SNBT representation.
- This behavior is the same as
/data get.
- New configs:
- Mode:
- Can be
SNBTorClass. - Defaults to
SNBT. - Specifies the representation of component values.
- Can be
- Display:
- Can be
Never,HoldorAlways. - Defaults to
Hold. - Specifies when components will be displayed.
- Can be
- Indent Size:
- Defaults to
4. - The amount of spaces used for indentation when formatting.
- A value of zero means no formatting will occur.
- Defaults to
- Colored SNBT:
- Defaults to
false. - Determines whether component values in SNBT mode should be colored.
- Defaults to
- Component Changes:
- Defaults to
false. - Only non-default (changed) components will be displayed.
- Defaults to
- Component Values:
- Defaults to
true. - Determines if component values should be displayed alongside component types.
- Defaults to
- Advanced Tooltips:
- Defaults to
false. - Determines whether the debug option
Advanced tooltipsmust be enabled to display components.
- Defaults to
- Mode:
- Configs can be accessed by pressing
Jon the keyboard or navigating through ModMenu.- This keybind can be changed in the regular keybind settings of Minecraft.
- Configs are stored in a
componentviewer-config.jsonfile inside the config directory.
Changes
- SNBT mode is now the default mode instead of Class mode.
Bug fixes
- Fixed an issue where the keyword
patternin Class mode is not treated as a beginning string. - Fixed an issue where component type indentation was one space too large if only one component exists.
- NBTComponents like
minecraft:custom_data,minecraft:entity_data, etc. are now correctly formatted in Class mode.
This is a minor patch that made some changes to the component value formatter under the hood.
Additions
- Added indent caching.
- Added a fallback to non-formatted component values if formatting goes wrong.
Bug fixes
- Fixed most issues related to formatting of
minecraft:item_name,minecraft:custom_nameandminecraft:lorecomponents.- Characters like
[,],",',,and;will no longer break the formatting.
- Characters like
Known issues
- Certain character combinations with
{or}as item names or item lores might still cause formatting issues.- This issue is not resolvable with the current implementation of how "Component Viewer" gathers component value information.



