Nutlet is a lightweight, utility‑focused data pack designed to easyly creating Multi-block machines.
A book with a custom Enchantment. Players write a specific Word or Phrase on its first page, then left-click a block or attack an entity to trigger a corresponding Function.
This lets creators capture Block/Entity Interactions without relying on advancements or raycasting. Just like the function of Soft Mallet in GregTech mod.
Easy registration via the #nutlet:spells function tag.
Extends the vanilla /schedule command by allowing you to pass NBT data to the delayed function via Command Storage.
Summon Block, Item, or Text Display entities that vanish after a set time—even if the chunk is unloaded. Perfect for previewing multiblock structures or giving visual feedback. The vanish function depends on the enhanced /schedule mentioned earlier.
Can specify transformation, block properties, item components, or text JSON.
Optional validity check: if the projected block doesn't match the intended state, a warning text display appears instead.
Functions that adjust Command Execution Context based on a block's facing direction or Command Execution Rotation.
-nutlet:-m/facing/block
Get Facing and Orientation of a block (furnace, piston, dispenser, crafter, etc.).
-nutlet:-m/facing/entity
Get the Facing Direction from Command Execution Rotation.
-nutlet:-m/facing/block_axis_align & nutlet:-m/facing/entity_axis_align
run a function after aligning Execution Angle to the faced direction, making Multi-Block Machines orientation‑agnostic.
Converts a UUID Array (e.g., from an entity's UUID tag) into a hyphenated hexadecimal string that can be used directly in Target Selectors (e.g., /execute as 2ed128ed-5e7b-4a13-b3e0-a49b2749dbd7 run …).
Calculates the light level at the Executing Position, taking into account adjacent blocks if the block itself is light‑blocking.
Register configuration options that players can Modify at In-Game using the Spell Book.
Two storage backings: scoreboard (for integers) or command storage (for any NBT).
Can define a description, valid range, or a whitelist of acceptable values.
Default values are automatically injected on first load world.
Only the First Player to obtain a Spell Book can Change settings (prevents abuse).
nutlet:-m/schematic/tick
Register spells via the #nutlet:spells function tag.
Register configuration options via the #nutlet:configs function tag.
Call utility functions under the nutlet:-m/... namespace.
Look at these two sample Datapacks to get a more detailed understanding of how to use Nutlet:
Roost, Rock Generator
You can use Spell Book disable print version of Datapack when relogin.