User:Munin295/Schematic

The SchematicGrid template uses two 32x32 sprite sheets (512x512 pixels each) to build a grid of images.


 * BlockSchematicSprite: all possible blocks, in all (visually significant) block data value and neighbor variations, uniquely defined in schematic form.
 * StackedSchematicSprite: Specialty images for creating double-layer circuit schematics.

The SchematicGrid template first checks to see if the identifier is valid for BlockSchematicSprite (i.e., doesn't match the default value of 1024, which is the position value for "unknown"). If it is, then it creates a sprite image from BlockSchematicSprite, otherwise from StackedSchematicSprite.

Some blocks on the sprite sheets will be their Minecraft texture, but others will be in symbolic form (especially blocks that might appear in a stacked schematic and thus need to work with symbols for blocks above and below).

Block IDs (8 x32)
256 spots reserved for default block sprites.

Technically, block IDs can go up to 4096, but we're only up to 145 as of v1.4.2, so it should be a while before we break 256 (hopefully).

Block variations (9-1/2 x32)
Sprites for block schematics:


 * Trees (3/4 x32)
 * (+11) wood-T-D {T=o|s|b|j, D=ns|ew|ud}
 * (+3) wooden_planks-T {T=s|b|j}
 * (+3) sapling-T {T=s|b|j}
 * (+3) leaves-T {T=s|b|j}


 * Stone (3/4 x32)
 * (+3) stone_brick-T
 * (+2) sandstone-T
 * (+13) slab-T-D


 * Stairs (2-1/4 x32)
 * (+71) T_stairs-D


 * Liquid (1 x32)
 * (+16) water-D
 * (+16) lava-D


 * Decorations (3/4 x32)
 * (+4) sign-D
 * (+4) torch-D
 * (+3) ladder-D
 * (+4) bed-D
 * (+4) chest-D
 * (+0) monster_egg-T
 * (+1) end_portal_frame-complete


 * Plants (1/2 x32)
 * (+2) tall_grass-T
 * (+3) vines-D
 * (+11) flower_pot-T


 * Wool (1/2 x32)
 * (+15) wool-C {C=color}


 * Neighbors (3 x32)
 * (+15) fence-D
 * (+15) nether_brick_fence-D
 * (+14) iron_bars-D
 * (+14) glass_pane-D
 * (+31) cobblestone_wall-T-D

Circuit variations (8-3/4 x32)
Sprites for single-layer circuit schematics:


 * Power sources (1 x32)
 * (+9) redstone_torch-P-D {P=off|on}
 * (+7) T_button-D
 * (+5) lever-D
 * (+3) tripwire_hook-D
 * (+2) tripwire-D
 * (+0) T_pressure_plate


 * Power transmission (3-3/4 x32)
 * (+23) redstone_wire-P-D
 * (+95) redstone_repeater-T-P-D-N {T=Ø|unlocked|locked, N=1|2|3|4}


 * Powered components (4 x32)
 * (+31) T_door-P-D
 * (+15) trapdoor-P-D
 * (+3) dispenser-D
 * (+11) fence_gate-P-D
 * (+1) redstone_lamp-on
 * Pistons (1 x32)
 * (+11) piston-P-D
 * (+11) sticky_piston-P-D
 * (+11) T_piston_extension-D {T=Ø|sticky}
 * Rails (1 x32)
 * (+9) rail-P-D
 * (+11) detector_rail-P-D
 * (+11) powered_rail-P-D

Sideview circuits (1-1/2 x32)
Sprites for sideview schematics:


 * Blocks
 * (2) stone_slab-sideview-D


 * Power sources
 * (2) T_pressure_plate-sideview
 * (2) [[tripwire_hook]-sideview-D
 * (1) tripwire-sideview
 * (2) detector_rail-sideview-P


 * Power transmission
 * (2) redstone_wire-sideview-P
 * (16) redstone_repeater-sideview-P-D-N


 * Powered components
 * (4) trapdoor-sideview-P-D
 * (2) fence_gate-sideview-P
 * (8) T_door-sideview-P-D
 * (0) dispenser
 * (0) piston

Symbols (1-3/4 x32)

 * (1) overhead_symbol (crossed grid axes)
 * (1) sideview_symbol (vertical axis)
 * (26) letter-#
 * (10) number-#
 * Input symbols
 * (6) input-# {#=a|b|c|d|r|s}
 * (2) input-#-not {#=r|s}
 * Output symbols
 * (2) output-# {#=o|q}
 * (1) output-q-not
 * (1) unknown

StackedSchematicSprite (32x32)
Can only show some of the most common stackings. Circuits that can't be represented with these sprites will require separate schematics for each layer.

Piston-over-pistons are not uncommon, but would require almost 36x36 sprites just for them (!) and would be visually very complicated to represent.

Sprites for double-layer circuit schematics:


 * (1) unknown

Circuit-over-block (7-3/4 x32)

 * (3) air-over-block, block-over-block, slab-over-block
 * (24) redstone_wire-over-block-P-D
 * (10) redstone_torch-over-block-P-D
 * (96) redstone_repeater-over-block-T-P-D-N
 * Pistons
 * (12) piston-over-block-P-D
 * (12) sticky-piston-over-block-P-D
 * (12) T_piston_extension-over-block-D
 * Rails
 * (10) rail-over-block-D
 * (12) powered_rail-over-block-P-D
 * (12) detector_rail-over-block-P-D
 * (8) T_button-over-block
 * (6) lever-over-block-D
 * (2) T_pressure_plate-over-block
 * (4) tripwire_hook-over-block-D
 * (3) tripwire-over-block-D
 * (2) redstone_lamp-over-block-P
 * (4) dispenser-over-block-D
 * (16) trapdoor-over-block-P-D

Block-over-circuit (7-3/4 x32)
etc.
 * (2) block-over-air, block-over-slab

Circuit-over-slab (7-3/4 x32)
etc.
 * (2) air-over-slab, slab-over-slab

Slab-over-circuit (7-3/4 x32)
etc.
 * (1) slab-over-air