Skip to content
ABKQPO edited this page Apr 25, 2026 · 1 revision

item_ids:

  • guidenh:guide navigation: title: Root icon_texture: test1.png

Start Page

Japanese

Markdown

Welcome to the world of , !

Keybinding Test: . Unbound key: .

You may need a door door!

Teleport!

This will be shown in the tooltip!

Recipes

Recipe boxes are rendered by NEI's native handlers — crafting table, furnace, brewing stand, etc. all show their own background/animation. Without NEI, we fall back to a built-in 3x3 crafting display.

The small icon in the top-left shows which "recipe pool" the entry belongs to (sourced from GuiRecipeTab.handlerMap).

Vanilla 3x3 crafting:

Furnace smelting:

Brewing stand:

Multi-recipe (RecipesFor returns all):

Recipe filters & extended id syntax

id now accepts modid:name[:meta[:nbt]]:

  • Missing meta defaults to 0.
  • 32767, *, or any uppercase-letter token (e.g. W, ANY) acts as a wildcard.
  • An SNBT tail (beginning with {) carries NBT data.
  • New filter attributes handlerName (substring, case-insensitive), handlerId (overlay identifier, exact), and handlerOrder (0-based index, applied after the two filters).

Anvil: the anvil handler is NEI's RepairRecipeHandler (overlay id "repair").

Crafting table — shaped:

Crafting table — shapeless:

Furnace smelting:

Fuel:

Brewing stand:

handlerOrder picks a single entry:

input / output / limit filters: input matches any ingredient slot, output matches the result slot, limit caps the rendered count. All three accept the full extended id syntax (wildcards included) and share a single recipe-iteration pass, so no extra cost relative to un-filtered rendering.

  • Planks → stick (the input filter keeps only plank-sourced variants):

  • Any stick-fed recipe (output filter selects torches):

  • input + output combined (only the concrete plank-source crafting-table entry):

  • Multi-value filter (comma-separated, OR semantics): both input and output accept a list, and any hit counts.

  • Expression syntax: , = OR, & = AND (all terms in a group must match), ! prefix = NOT.
    Redstone torch (stick AND redstone together):

    Stick recipes that do NOT use oak planks:

Meta wildcard / NBT id samples:

  • Wildcard *: wool (any color)
  • Wildcard ANY: dye
  • Concrete meta: red wool
  • Carrying NBT (bare identifiers can skip quotes in SNBT):


Image Rendering Test

Relative path (test1.png in the same directory):

Test Image

Inline image mixed with text: here inline is an inline image.

Explicit Size / Stretch

<FloatingImage> now accepts width / height (pixels): giving one keeps the aspect ratio; giving both stretches the image (ratio not preserved); giving neither falls back to the default "natural / 4 + availableWidth clamp".

Fixed 64×64 (single dim, keeps ratio):

Forced 200×80 stretch (ratio not preserved):

Fixed height 40 (width derived):

3D Preview Sizes

256×96 (wide/short):

128×128 (square):

384×256 (large):

ItemStack Scale Test

Inline icon vs. text baseline

Inline <ItemImage> icons are nudged upward by ~2 pixels (scaled by scale) so their visual center lines up with the surrounding text baseline.

  • Default offset (-2px): this line mixes diamond, apple and iron ingot.
  • Disabled (yOffset="0"): diamond, apple and iron ingot.
  • Larger offset (yOffset="-4"): diamond, apple and iron ingot.

Values are pixels at scale=1 and are multiplied by the current scale at render time. The global default lives in LytItemImage.DEFAULT_INLINE_Y_OFFSET and can be mutated at guide-load time.

Tooltip Hover Test

Hover any of the following:

  • Item image:
  • Block image:
  • Recipe:
  • 3D preview (hover blocks to see a white 1-pixel outline + block name):

ItemStack tooltip toggle & action

Demonstrate the tooltip / click action combinations on the same item:

  • Default (shows vanilla item tooltip):
  • Tooltip disabled (noTooltip="true"):
  • ItemLink (hover shows item tooltip + click navigates to the item's page if indexed):
  • Plain text link (hover shows target-page tooltip, click navigates): Go to sub-page example —— you can also place next to a link for decoration.

This verifies: (1) <ItemImage> renders the vanilla item tooltip on hover; (2) noTooltip disables that tooltip; (3) <ItemLink> fires both tooltip & click navigation.

Tooltip Content Rendering Test

Verify different tooltip content types (hover to inspect):

Text tooltip (link title attribute -> TextTooltip):

  • Plain text tooltip link
  • Multi-line tooltip link
  • Edge-adaptive tooltip test

ItemStack tooltip (item link -> ItemTooltip, reuses vanilla item tooltip):

  • Regular item
  • Food
  • Enchanted item
  • Potion

Item image tooltip (<ItemImage> / <BlockImage> also show vanilla item tooltip):

Recipe tooltip (each ingredient slot in a recipe can be hovered individually):

3D preview hover tooltip (hover a block to see its name + white outline):

Rich Content Tooltip (<Tooltip>)

Use <Tooltip label="..."> to wrap arbitrary MDX content as a hover trigger. When hovering the trigger text, the tooltip box auto-sizes to fit its content and flips against the screen edges like vanilla drawHoveringText.

Pure markdown rich text:

## Markdown heading A paragraph with **bold** and *italic* text.
  • List item 1
  • List item 2
  • List item 3

Embedded ItemStack / BlockImage:

Contains diamond and diamond block.

Embedded recipe:

Furnace crafting recipe:

Embedded 3D preview (fixed parameters; tooltip box auto-sizes):

Mixed rich content:

### Mixed content Some explanatory text, followed by an item and a recipe:

Implemented tooltip types: TextTooltip (plain text), ItemTooltip (vanilla item tooltip), ContentTooltip (arbitrary MDX rich content — see <Tooltip> above).

DiamondAnnotation (hover rich-content tooltip)

Place a diamond marker at any world coordinate inside a 3D preview. It uses diamond.png (two 16×16 tiles — the right half is tinted by the color attribute and overlaid on the left base). The diamond always faces the screen; hovering shows a semi-transparent white overlay like vanilla ItemStack hover, while its compiled child content is rendered as a rich tooltip.

Example: activated beacon (3×3 diamond block base, beacon on top; marker hovers above the beacon and its tooltip contains a side 3D preview of the full beacon column plus colored text):

### Activated Beacon **Effect**: grants nearby players continuous buffs — speed / jump boost / resistance / strength / regeneration.
Activation: a 3×3 / 5×5 / 7×7 / 9×9 pyramid of **diamond / iron / gold / emerald / netherite**
blocks beneath the beacon.

<GameScene width="160" height="128" zoom={5} interactive={false}>
  <Block id="minecraft:diamond_block" x="-1" />
  <Block id="minecraft:diamond_block" />
  <Block id="minecraft:diamond_block" x="1" />
  <Block id="minecraft:beacon" y="1" />
</GameScene>

<Color color="#AAFFAA">Tip</Color>: more pyramid tiers = more effect options; the beam color
is determined by stained glass placed in the beam path.

TileEntity / Directional / Non-full Block Tests

Chest, furnace (default facing south so its front is visible), redstone block, piston, beacon:

Furnaces in four facings:

Stairs / slabs / fence / trapdoor (non-full cubes):

Camera preset + offset test

<GameScene> / <Scene> new attributes:

  • perspective="isometric_north_east" / isometric_north_west" / up" — pick a yaw/pitch/roll preset;
  • rotateX / rotateY / rotateZ — explicit per-axis overrides applied on top of the preset;
  • offsetX / offsetY — screen-space pan (units: blocks);
  • centerX / centerY / centerZ — explicit world-space rotation center (overrides auto-center).

NE vs NW preset:

Top-down view (up):

offsetX / offsetY pan (right scene offset by +2 / +1 blocks):

DiamondAnnotation default color test

Without color, the diamond should default to bright green (compare against an explicit red diamond):

Default green diamond (no `color` attribute) Explicit red

3D annotations: box / block / line

All three annotation kinds live in world space, can be toggled with the scene's Show/Hide annotations button (when hidden they are neither drawn nor pickable for tooltips), and use their children as a rich-text hover tooltip.

  • BoxAnnotation accepts min="x y z" / max="x y z" (floats) for an arbitrary AABB.
  • BlockAnnotation accepts a single pos="x y z" (integers); shorthand for a 1×1×1 box.
  • LineAnnotation accepts from="x y z" / to="x y z" (floats) for a line segment.

All three support color="#AARRGGBB" or "#RRGGBB", thickness in pixel units (default 1), and alwaysOnTop to draw above other geometry.

**Box annotation** wraps half a block, thickness `0.04`. The tooltip is rich content:
<Row>
  <ItemImage id="minecraft:iron_ingot" scale="2" />
  Iron ingot — smelt iron ore in a furnace.
</Row>
<RecipeFor id="minecraft:iron_ingot" handlerId="smelting" />
**Block annotation**: `alwaysOnTop` punches through depth. Recipe inside the tooltip:
<RecipeFor id="minecraft:gold_block" />
**Line annotation**: a slightly thicker line (`thickness=0.08`). Tooltips can embed a 3D preview:
<GameScene width="160" height="96" zoom={5} perspective="isometric_north_east" interactive={false}>
  <Block id="minecraft:iron_block" />
  <Block id="minecraft:gold_block" x="1" />
  <DiamondAnnotation pos="0.5 1.2 0.5" color="#ffd24c">Endpoint A</DiamondAnnotation>
  <DiamondAnnotation pos="1.5 1.2 0.5" color="#ee3333">Endpoint B</DiamondAnnotation>
</GameScene>

ImportStructure

<ImportStructure src="..." /> expands an external structure file into the surrounding <GameScene>. The declared file format matches SNBT (1.7.10's stock JsonToNBT: pos:[0,1,2] is recognized as IntArray automatically; the modern [I; ...] typed-array prefix is not supported and must be omitted). Gzipped or uncompressed binary NBT also work. Schema is {size, palette, blocks}; each block entry may carry meta and an optional nbt compound (the latter must include the vanilla TileEntity id field, e.g. "Chest"). Optional x/y/z attributes translate the whole structure.

This example references assets/example_structure.snbt: a 5×3×5 cobblestone platform with a glowstone center, four corner stairs in different facings (meta=2/3), two stone slabs (meta=0 bottom, meta=8 top), two upward-facing torches (meta=5), and a chest pre-filled with diamonds, iron, redstone and bread via TileEntity NBT.

**Loaded chest carries TileEntity NBT** with diamonds, iron, redstone and bread. The SNBT entry:
```
{pos:[2,1,2], state:4, meta:3, nbt:{id:"Chest", Items:[
  {Slot:0b, id:"minecraft:diamond",    Count:5b,  Damage:0s},
  {Slot:1b, id:"minecraft:iron_ingot", Count:32b, Damage:0s},
  ...
]}}
```
**Slab strip**: the two slabs use `meta=0` (bottom half) and `meta=8` (top half). **Torch line**: both torches use `meta=5` (standing on the floor).

The region wand defaults to the SNBT mode and exports a structure compatible with <ImportStructure> on sneak + right-click. Right-click in air to toggle between snbt and the legacy blocks mode that emits an inline <GameScene><Block .../>...</GameScene>.

  • Markdown inline mix: bold / italic / strike / code / link

Clone this wiki locally