Skip to content

Add blocks, textures, crafting recipes, and biome temperatures from MinecraftConsoles#12

Draft
sriail with Copilot wants to merge 7 commits into
mainfrom
copilot/add-blocks-and-textures
Draft

Add blocks, textures, crafting recipes, and biome temperatures from MinecraftConsoles#12
sriail with Copilot wants to merge 7 commits into
mainfrom
copilot/add-blocks-and-textures

Conversation

Copilot AI commented Apr 10, 2026

Copy link
Copy Markdown
Contributor
  • Explore codebase structure and understand block/item/recipe/biome systems
  • Map out available block IDs and texture atlas layout
  • Update terrain.png with new texture slots
  • Create new tile header files for all new block types
  • Add new tile declarations to Tile.h and initialize in Tile.cpp
  • Add spruce and birch fence, fence gate, and stair variants
  • Add stone variants (granite, diorite, andesite) with polished variants
  • Add natural generation for granite, andesite, diorite underground
  • Add redstone components (lever, button, pressure plates, redstone torch, repeater, note block, dispenser)
  • Add crafting recipes for all new blocks
  • Add hay bale, redstone block, emerald ore/block
  • Add biome temperature system (temperature/downfall per biome, hasSnow/hasRain/isHumid)
  • Add green emerald ore/block/item with natural generation
  • Update TileInclude.h with new headers
  • Stonecutter automatically shows stone variant recipes (Material::stone filter)
  • Fix linker errors: enable Item::redStone and Item::diode definitions and initializations
  • Compilation verification passes

Copilot AI and others added 6 commits April 10, 2026 03:49
Generate pixel art textures for new block types and place them in
unused tile positions in the terrain atlas:

Row 8: Spruce planks, birch planks, granite, polished granite,
  diorite, polished diorite, andesite, polished andesite,
  hay bale side/top
Row 10: Redstone block, lever, redstone torches (on/off),
  repeater, note block, dispenser front, emerald ore
Row 11: Stone button, stone/wood pressure plates,
  spruce log side, birch log side

Include the generation script (generate_textures.py) for
reproducibility and future texture additions.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Co-authored-by: sriail <225764385+sriail@users.noreply.github.com>
…ants

Implements a new tile class (block ID 19) supporting 6 stone variant
subtypes via data values: granite (0), polished granite (1), diorite (2),
polished diorite (3), andesite (4), and polished andesite (5).

Each variant maps to its own texture index on the atlas row 8.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Co-authored-by: sriail <225764385+sriail@users.noreply.github.com>
…, LeverTile, ButtonTile, PressurePlateTile, NoteBlockTile, DispenserTile, DiodeTile, RedstoneTorchTile

Agent-Logs-Url: https://github.com/sriail/MCPE-WASM/sessions/2a40c645-cad8-4827-b4f7-86e7eed5d684

Co-authored-by: sriail <225764385+sriail@users.noreply.github.com>
… variants, redstone components, wood variants

Agent-Logs-Url: https://github.com/sriail/MCPE-WASM/sessions/2a40c645-cad8-4827-b4f7-86e7eed5d684

Co-authored-by: sriail <225764385+sriail@users.noreply.github.com>
… recipes for emerald blocks

Agent-Logs-Url: https://github.com/sriail/MCPE-WASM/sessions/2a40c645-cad8-4827-b4f7-86e7eed5d684

Co-authored-by: sriail <225764385+sriail@users.noreply.github.com>
…ccidental emsdk submodule

Agent-Logs-Url: https://github.com/sriail/MCPE-WASM/sessions/2a40c645-cad8-4827-b4f7-86e7eed5d684

Co-authored-by: sriail <225764385+sriail@users.noreply.github.com>
@sriail

sriail commented Apr 10, 2026

Copy link
Copy Markdown
Owner

fix these compiling errors Compiling 345 source files...
50 / 345...
100 / 345...
150 / 345...
200 / 345...
250 / 345...
300 / 345...
Linking Emscripten target...
wasm-ld: error: C:/Users/macm1/MCPE-WASM/web-build/project/emscripten/obj/world_item_crafting_Recipes.cpp.o: undefined symbol: Item::redStone
wasm-ld: error: C:/Users/macm1/MCPE-WASM/web-build/project/emscripten/obj/world_item_crafting_Recipes.cpp.o: undefined symbol: Item::diode
wasm-ld: error: C:/Users/macm1/MCPE-WASM/web-build/project/emscripten/obj/world_item_crafting_Recipes.cpp.o: undefined symbol: Item::redStone
wasm-ld: error: C:/Users/macm1/MCPE-WASM/web-build/project/emscripten/obj/world_item_crafting_Recipes.cpp.o: undefined symbol: Item::redStone
wasm-ld: error: C:/Users/macm1/MCPE-WASM/web-build/project/emscripten/obj/world_item_crafting_Recipes.cpp.o: undefined symbol: Item::redStone
wasm-ld: error: C:/Users/macm1/MCPE-WASM/web-build/project/emscripten/obj/world_item_crafting_Recipes.cpp.o: undefined symbol: Item::redStone
wasm-ld: error: C:/Users/macm1/MCPE-WASM/web-build/project/emscripten/obj/world_item_crafting_Recipes.cpp.o: undefined symbol: Item::redStone
wasm-ld: error: C:/Users/macm1/MCPE-WASM/web-build/project/emscripten/obj/world_level_tile_Tile.cpp.o: undefined symbol: Item::diode
emcc: error: ''C:/Users/macm1/MCPE-WASM/emsdk/upstream/bin\wasm-ld.exe' '@C:\Users\macm1\AppData\Local\Temp\emscripten_0f8kgpjk.rsp.utf-8'' failed (returned 1)
Build failed with exit code 1 @copilot

…and initializations

Agent-Logs-Url: https://github.com/sriail/MCPE-WASM/sessions/787ec103-b7eb-42c4-86c6-749deeb255ee

Co-authored-by: sriail <225764385+sriail@users.noreply.github.com>

Copilot AI commented Apr 10, 2026

Copy link
Copy Markdown
Contributor Author

fix these compiling errors Compiling 345 source files...
50 / 345...
100 / 345...
...

Fixed in 449c99f. The two undefined symbols were caused by Item::redStone and Item::diode having their static definitions and initializations commented out in Item.cpp. Changes:

  • Uncommented Item* Item::redStone = NULL; and its initialization (using new Item(75) instead of the non-existent RedStoneItem class)
  • Uncommented Item* Item::diode = NULL; and its initialization (using TilePlanterItem with Tile::diode_off)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants