![]()
Datapack Icons is a polished, Minecraft-inspired icon suite for the modern developer's workflow. Looking through Microsoft's behavior packs documentation, we took inspiration from those icons and decided to implement them in VS Code.
Made by SuperAnt_: https://www.youtube.com/watch?v=eYAvg19stpU
![]()
Want to use Datapack Icons only for Minecraft projects? When enabled, this feature automatically switches your active icon theme to mc-dp-icons whenever it detects a Minecraft project in your current workspace. It works by scanning for
pack.mcmeta, Bedrock
manifest.json,
Beet or
JMC config files. If not found, it restores your default icon theme. You can define a specific fallback theme in the settings or let the extension default to your previously active theme.
![]()
By default, .mcfunction files use the standard
chain command block icon. Since functions usually make up the vast majority of files in a datapack, it can be difficult to tell your core logic apart from the rest. To help you visually prioritize important files, the extension offers several special command block icons!
Functions listed in your
tick.json and
load.json files automatically receive
repeating and
impulse command block icons.
You can also manually assign the
repeating and
impulse command block icons to any file, alongside three special crowned variants (
) specifically designed to highlight your most important functions.
To assign a custom icon, right-click any function file and use the Datapack Icons: Set Icon menu. Alternatively, you can use the settings to assign icons by file name. For maximum precision, it is recommended to specify the direct parent folder name (e.g., subfolder/file) rather than using just the file name. GlobPatterns are also supported (e.g., *_setup, *helper*, or phase_[0-9]) to easily match multiple files at once.
![]()
Due to VS Code API limitations, special icons can only be assigned to files directly inside a category folder (e.g., data/namespace/item_modifier/![]()
file.json). Enabling this option activates a workaround that bypasses this restriction, ensuring that nested files like data/namespace/item_modifier/subfolder/![]()
file.json get their specific icon rather than a generic one. Not recommended for extremely large workspaces. This requires a
pack.mcmeta file at the root of the pack.
![]()
Namespace folders (directories directly within
data or
assets) receive an
ender chest icon. This requires a
pack.mcmeta file at the root of the pack.
![]()
Overlay folders (directories at the pack root registered as overlays in
pack.mcmeta) receive a
glass chest icon.
Similar to Minecraft, the extension changes all chest icons to their festive Christmas variants during December 24-26 (
→
). This feature can be disabled or enabled to work at any time in the settings.
![]()
Hides the default expand/collapse arrows next to folder icons in the VS Code Explorer to make your workspace feel less cluttered.
![]()
You can find all the used (and unused!) assets during the development of Datapack Icons in our assets repo.
If you need to report a bug, request a new icon or suggest a feature, you can do that in our
discord server or by opening a github issue.
Datapack Icons isn't just for VS Code! We've ported the extension to other IDEs. Keep in mind they will probably have fewer features than the VS Code extension due to different extension capabilities.
We are also planning a
JetBrains port and a
Neovim port in the future.
We are FuncFusion - a small team of three:
SuperAnt_ - Project Lead. Manages the theme architecture, documentation, and promotional assets.
bth123 - Lead Artist. Designs all the icons and repository artwork, maintains the assets repo, and created a sublime port of this extension.
amandin - Lead developer behind all the code, and included this extension in his amazing extension pack.
![]()
We love seeing our icons power other creations! Here are some of the awesome projects that use Datapack Icons:
If your project is not on the list, feel free to reach out or open a pull request!
Enjoy!
NOT AN OFFICIAL MINECRAFT PRODUCT. NOT APPROVED BY OR ASSOCIATED WITH MOJANG.
$ claude mcp add mc-dp-icons \
-- python -m otcore.mcp_server <graph>