From ee61c64f4154a43e104455ca676ad956188dac15 Mon Sep 17 00:00:00 2001 From: ChristianFalegnami Date: Thu, 12 Mar 2026 16:05:36 +0100 Subject: [PATCH 1/2] Added Stained Glass i found out that stained glass was not accessible in survival, then i saw they disabled it in the code --- Minecraft.World/ClothDyeRecipes.cpp | 2 +- Minecraft.World/Recipes.cpp | 1 + Minecraft.World/StructureRecipies.cpp | 2 ++ 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/Minecraft.World/ClothDyeRecipes.cpp b/Minecraft.World/ClothDyeRecipes.cpp index c0625d2e11..312eaeec7d 100644 --- a/Minecraft.World/ClothDyeRecipes.cpp +++ b/Minecraft.World/ClothDyeRecipes.cpp @@ -21,7 +21,7 @@ void ClothDyeRecipes::addRecipes(Recipes *r) L'#', new ItemInstance(Tile::clayHardened), L'X', new ItemInstance(Item::dye_powder, 1, i),L'D'); -#if 0 +#if 1 r->addShapedRecipy(new ItemInstance(Tile::stained_glass, 8, ColoredTile::getItemAuxValueForTileData(i)), // L"sssczczg", L"###", diff --git a/Minecraft.World/Recipes.cpp b/Minecraft.World/Recipes.cpp index 24faaebec4..48a04e15ab 100644 --- a/Minecraft.World/Recipes.cpp +++ b/Minecraft.World/Recipes.cpp @@ -299,6 +299,7 @@ Recipes::Recipes() pClothDyeRecipes->addRecipes(this); + addShapedRecipy(new ItemInstance(Tile::snow, 1), // L"sscig", L"##", // diff --git a/Minecraft.World/StructureRecipies.cpp b/Minecraft.World/StructureRecipies.cpp index 1706a7ced6..6526834082 100644 --- a/Minecraft.World/StructureRecipies.cpp +++ b/Minecraft.World/StructureRecipies.cpp @@ -115,6 +115,8 @@ void StructureRecipies::addRecipes(Recipes *r) L'#', Tile::glass, L'D'); + + r->addShapedRecipy(new ItemInstance(Tile::netherBrick, 1), // L"sscig", From d3f5e3b63eb4de34a62224d35e484d62406dd12b Mon Sep 17 00:00:00 2001 From: ChristianFalegnami Date: Thu, 12 Mar 2026 18:46:49 +0100 Subject: [PATCH 2/2] Grouping glass correctly in crafting table I removed the #if/endif from the ClothDyeRecipes.cpp and added a different one in StructureRecipies.cpp also changed the Tile definition giving it the same setBaseItemTypeAndMaterial of stained glass to group it correctly inside the crafting table UI. also aincremented the Vertical Slot for crafting table to include many more craftings in the same group --- .../Common/UI/IUIScene_CraftingMenu.h | 6 ++-- Minecraft.World/ClothDyeRecipes.cpp | 28 +++++++++---------- Minecraft.World/StructureRecipies.cpp | 20 +++++++++++++ Minecraft.World/Tile.cpp | 7 ++++- 4 files changed, 43 insertions(+), 18 deletions(-) diff --git a/Minecraft.Client/Common/UI/IUIScene_CraftingMenu.h b/Minecraft.Client/Common/UI/IUIScene_CraftingMenu.h index 03a58378c9..fa8d9bd163 100644 --- a/Minecraft.Client/Common/UI/IUIScene_CraftingMenu.h +++ b/Minecraft.Client/Common/UI/IUIScene_CraftingMenu.h @@ -20,9 +20,9 @@ class IUIScene_CraftingMenu eGroupTab_Right }; - static const int m_iMaxHSlotC = 12; - static const int m_iMaxHCraftingSlotC = 10; - static const int m_iMaxVSlotC = 17; + static const int m_iMaxHSlotC = 40; + static const int m_iMaxHCraftingSlotC = 40; + static const int m_iMaxVSlotC = 99; static const int m_iMaxDisplayedVSlotC = 3; static const int m_iIngredients3x3SlotC = 9; static const int m_iIngredients2x2SlotC = 4; diff --git a/Minecraft.World/ClothDyeRecipes.cpp b/Minecraft.World/ClothDyeRecipes.cpp index 312eaeec7d..35d0b5b84e 100644 --- a/Minecraft.World/ClothDyeRecipes.cpp +++ b/Minecraft.World/ClothDyeRecipes.cpp @@ -21,20 +21,20 @@ void ClothDyeRecipes::addRecipes(Recipes *r) L'#', new ItemInstance(Tile::clayHardened), L'X', new ItemInstance(Item::dye_powder, 1, i),L'D'); -#if 1 - r->addShapedRecipy(new ItemInstance(Tile::stained_glass, 8, ColoredTile::getItemAuxValueForTileData(i)), // - L"sssczczg", - L"###", - L"#X#", - L"###", - L'#', new ItemInstance(Tile::glass), - L'X', new ItemInstance(Item::dye_powder, 1, i), L'D'); - r->addShapedRecipy(new ItemInstance(Tile::stained_glass_pane, 16, i), // - L"ssczg", - L"###", - L"###", - L'#', new ItemInstance(Tile::stained_glass, 1, i), L'D'); -#endif +//#if 0 +// r->addShapedRecipy(new ItemInstance(Tile::stained_glass, 8, ColoredTile::getItemAuxValueForTileData(i)), // +// L"sssczczg", +// L"###", +// L"#X#", +// L"###", +// L'#', new ItemInstance(Tile::glass), +// L'X', new ItemInstance(Item::dye_powder, 1, i), L'D'); +// r->addShapedRecipy(new ItemInstance(Tile::stained_glass_pane, 16, i), // +// L"ssczg", +// L"###", +// L"###", +// L'#', new ItemInstance(Tile::stained_glass, 1, i), L'D'); +//#endif } // some dye recipes diff --git a/Minecraft.World/StructureRecipies.cpp b/Minecraft.World/StructureRecipies.cpp index 6526834082..652a730cb1 100644 --- a/Minecraft.World/StructureRecipies.cpp +++ b/Minecraft.World/StructureRecipies.cpp @@ -118,6 +118,26 @@ void StructureRecipies::addRecipes(Recipes *r) + +// Stained Glass block + pane per color +for (int i = 0; i < 16; i++) +{ + r->addShapedRecipy(new ItemInstance(Tile::stained_glass, 8, ColoredTile::getItemAuxValueForTileData(i)), + L"sssczczg", + L"###", + L"#X#", + L"###", + L'#', new ItemInstance(Tile::glass), + L'X', new ItemInstance(Item::dye_powder, 1, i), + L'D'); + r->addShapedRecipy(new ItemInstance(Tile::stained_glass_pane, 16, ColoredTile::getItemAuxValueForTileData(i)), + L"ssczg", + L"###", + L"###", + L'#', new ItemInstance(Tile::stained_glass, 1, ColoredTile::getItemAuxValueForTileData(i)), + L'D'); +} + r->addShapedRecipy(new ItemInstance(Tile::netherBrick, 1), // L"sscig", L"NN", // diff --git a/Minecraft.World/Tile.cpp b/Minecraft.World/Tile.cpp index de113714db..e80ac10817 100644 --- a/Minecraft.World/Tile.cpp +++ b/Minecraft.World/Tile.cpp @@ -371,7 +371,12 @@ void Tile::staticCtor() Tile::ironFence = (new ThinFenceTile(101, L"iron_bars", L"iron_bars", Material::metal, true)) ->setBaseItemTypeAndMaterial(Item::eBaseItemType_fence, Item::eMaterial_iron)->setDestroyTime(5.0f)->setExplodeable(10)->setSoundType(SOUND_METAL)->setDescriptionId(IDS_TILE_IRON_FENCE)->setUseDescriptionId(IDS_DESC_IRON_FENCE); - Tile::thinGlass = (new ThinFenceTile(102, L"glass", L"glass_pane_top", Material::glass, false)) ->setDestroyTime(0.3f)->setSoundType(SOUND_GLASS)->setDescriptionId(IDS_TILE_THIN_GLASS)->setUseDescriptionId(IDS_DESC_THIN_GLASS); + Tile::thinGlass = (new ThinFenceTile(102, L"glass", L"glass_pane_top", Material::glass, false)) + ->setBaseItemTypeAndMaterial(Item::eBaseItemType_glass, Item::eMaterial_glass) + ->setDestroyTime(0.3f) + ->setSoundType(SOUND_GLASS) + ->setDescriptionId(IDS_TILE_THIN_GLASS) + ->setUseDescriptionId(IDS_DESC_THIN_GLASS); Tile::melon = (new MelonTile(103)) ->setDestroyTime(1.0f)->setSoundType(SOUND_WOOD)->setIconName(L"melon")->setDescriptionId(IDS_TILE_MELON)->setUseDescriptionId(IDS_DESC_MELON_BLOCK); Tile::pumpkinStem = (new StemTile(104, Tile::pumpkin)) ->setDestroyTime(0.0f)->setSoundType(SOUND_WOOD)->setIconName(L"pumpkin_stem")->setDescriptionId(IDS_TILE_PUMPKIN_STEM)->sendTileData(); Tile::melonStem = (new StemTile(105, Tile::melon)) ->setDestroyTime(0.0f)->setSoundType(SOUND_WOOD)->setIconName(L"melon_stem")->setDescriptionId(IDS_TILE_MELON_STEM)->sendTileData();