Debugger's Delight
Gadget is a collection of tools to debug and inspect certain game elements from in-game - think Chrome's developer tools, or Firefoxes' Firebug.
Gadget's inspection tools work both in single player and on a remote server - if it also has Gadget installed.
Entity Inspector

Press the Inspect (default: I) key when targeting a entity or block entity to view and edit its internal Java fields. You can inspect both the client and server Java object.
NBT Inspector

Press the Inspect (default: I) key when hovering over an item stack with NBT to view and edit its NBT.
Packet Dumper

Press the Dump Packets (default: K) key to toggle dumping network traffic on. You can also join with the packet dumper engaged by right-clicking the server or world and selecting Join and start dumping packets.
Press Dump Packets again to stop recording and save the dump.
You can review it from the Gadget's menu.
Server owners and operators
Gadget supports the Fabric Permissions API.
If not present, it defaults to requiring OP status.
Gadget uses the following permissions:
gadget.inspect - entity inspector usage permission
gadget.replaceStack - NBT viewer write permission
Class Inspector
(the class inspector is broken in the latest version :P)
Look through all classes touched by mixin (or all classes, if you hold shift) by looking in the class inspector.
N.B.: This will automatically download Quiltflower from the QuiltMC maven the first time you press Inspect Exported Classes.
How to Install gadget (Mod)
gadget by BasiqueEvangelist is verified for Fabric, Quilt across Minecraft versions 1.19, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3 (latest release: 0.2.6+1.21.11, file size: 826 KB). Follow the steps below to install it safely from ModCraft.tv:
- Click the Download button above and select your Minecraft version (1.19, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3) and platform (Fabric, Quilt).
- Make sure you have the compatible loader or environment installed for Fabric, Quilt.
- Move the downloaded gadget file into your Minecraft
.minecraft/modsfolder and launch the game.
All Versions
+ Add Version| Name | Game version | Platforms | Published | Downloads | Actions |
|---|---|---|---|---|---|
| 8mo ago | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
|
B
0.1.7
|
last yr. | 1 | |||
|
B
0.1.6
|
last yr. | 1 | |||
|
B
0.1.5
|
last yr. | 1 | |||
|
B
0.1.4
|
last yr. | 1 | |||
|
B
0.1.3
|
last yr. | 1 | |||
|
B
0.1.2
|
last yr. | 1 | |||
|
B
0.1.1
|
last yr. | 1 |
Main features work, though some features may be broken (e.g. class viewer, due to some changes in mapping-io).
- Removed UI inspector, due to the code breaking (and it not being very useful anyways)
- Removed owo-ui component event counter
This is very lightly tested, please report any bugs you see!
- Updated to 1.21
- Support for the old dump format (which for a long time hasn't been used) has been removed
- NBT locking has been removed
- The NBT inspector has been adapted to fit item stack components
- Fix UTF-8 encoding (Kas-tle, #35)
- Remove translations from file dialogs (mfw tinyfiledialogs)
- NBT locking is now disabled by default
- NBT tags can now be copied in the NBT inspector (#37)
- Added support for dumping server queries (Benonardo, #38)
- Some minor remapping issues should be fixed
As the 1.20.2 networking changes hit gadget pretty hard, this version has been initially released as beta.
Expect bugs!
- Tab now works in the NBT inspector
- Added loud chat logging
/gadget chat-log enable logger-name to forward all messages from that logger to the in-game chat!- Basic item NBT locking support
Changing item stack NBT while locked will cause a crash
- (Block)entity client data can now always be viewed on the client, even if the server doesn't have gadget installed
- Searching in the field inspector screen should work again
- Compatibility with Krypton should *hopefully* be fixed
- Dumped packets now show the time at which they were sent relative to the start of the dump
- Packets can now be visually collapsed in the dump screen
- Stacks with non-null empty NBT now have a special tooltip
- Add tag button no longer appears in NBT inspector when client doesn't have enough permissions
- Ported to 1.20.1.
- Added support for flushing dump file on JVM exit and after packet write (#21)
- Dump reader now fails soft on IOException
- Field data inspection system has been completely rewritten
The base abstract class that holds a field data tree is
FieldDataHolder, which is generic over the node type.If you don't need custom functionality in nodes (for example, in packet dumping), you can use
DefaultFieldDataHolder.The source of field info is now represented by a
FieldDataSource, which is async and meant to be easy to implement.gadget provides the
LocalFieldDataSource for local Java objects and RemoteFieldDataSource is used internally for field data screen.The network format has also been changed to also support sending errors back to the client.
- Packet dumping has been completely rewritten
Packet parsing is now done based on a system of
UnwrappedPackets, which have methods for gathering search text and writing to owo-ui/plain text. Some helper interfaces (
FieldsUnwrappedPacket for field dumped objects and LinesUnwrappedPacket) are provided to help with implementing custom packets.DumpedPacket can have arbitrary context data (which is now used for search and rendered component data), and all events now take an ErrorSink parameter, which accepts non-fatal errors. Most dumping code is now in
io.wispforest.gadget.dump.{read|write}, and most client-side packet renderers are now common code PacketDumpReader and PacketDumpWriter have been added as nice objects for reading and writing packet dumps- Field dumps and packet dumps can now be exported to a user-readable format
An example of a plain text packet dump is <https://gist.github.com/BasiqueEvangelist/b516f7acf6e6c826ac252301e57a3750>
Additionally, the new packet dump and field data holder interfaces support writing these dumps
- Added bytes field object
- Complex field objects now track recursion
SynchronizeRecipesS2CPacketis now represented as a gadget fake packet that doesn't break whenever a recipe is missing
- Dump stats screen improvements:
Additionally, a back button added to sidebar.
- Added experimental owo-ui error check option
Component#remove with a more fault-tolerant version- Quiltflower code now uses new HTTP client to get versions
Also includes a small rewrite of packet dumping that makes bundle packets work and write errors not crash the game.
- Fix crashes on servers without gadget ~~no this wasn't intended~~
- Fix some issues with Polymer
- Fix scrolling in the server list screen
- Added the Class Inspector!
- Fixed Mojang Mappings exploding immediately
- Fixed Item Inspector being triggerable on air and creative menu items (#14)