diff --git a/Minecraft.Client/Common/Media/MediaWindows64.arc b/Minecraft.Client/Common/Media/MediaWindows64.arc index ac5821f0..789e1e1b 100644 Binary files a/Minecraft.Client/Common/Media/MediaWindows64.arc and b/Minecraft.Client/Common/Media/MediaWindows64.arc differ diff --git a/Minecraft.Client/Common/UI/IUIScene_CreativeMenu.cpp b/Minecraft.Client/Common/UI/IUIScene_CreativeMenu.cpp index d70230fc..42f89698 100644 --- a/Minecraft.Client/Common/UI/IUIScene_CreativeMenu.cpp +++ b/Minecraft.Client/Common/UI/IUIScene_CreativeMenu.cpp @@ -75,8 +75,6 @@ void IUIScene_CreativeMenu::staticCtor() ITEM_AUX(Tile::treeTrunk_Id, TreeTile::JUNGLE_TRUNK) ITEM_AUX(Tile::tree2Trunk_Id, TreeTile2::ACACIA_TRUNK) ITEM_AUX(Tile::tree2Trunk_Id, TreeTile2::DARK_TRUNK) - ITEM(Tile::seaLantern_Id) - ITEM(Tile::prismarine_Id) ITEM(Tile::gravel_Id) ITEM(Tile::redBrick_Id) ITEM(Tile::mossyCobblestone_Id) @@ -88,6 +86,10 @@ void IUIScene_CreativeMenu::staticCtor() ITEM(Tile::netherRack_Id) ITEM(Tile::soulsand_Id) ITEM(Tile::glowstone_Id) + ITEM(Tile::seaLantern_Id) + ITEM(Tile::prismarine_Id) + ITEM(Tile::prismarinedark_Id) + ITEM(Tile::prismarinebrick_Id) ITEM(Tile::fence_Id) ITEM_AUX(Tile::dirt_Id, DirtTile::COARSE_DIRT) @@ -597,11 +599,12 @@ void IUIScene_CreativeMenu::staticCtor() ITEM(Item::feather_Id) ITEM(Item::flint_Id) ITEM(Item::leather_Id) - ITEM(Item::prismarine_cystal_Id) ITEM(Item::rabbit_hide_Id) ITEM(Item::gunpowder_Id) ITEM(Item::clay_Id) ITEM(Item::yellowDust_Id) + ITEM(Item::prismarine_cystal_Id) + ITEM(Item::prismarine_shard_Id) ITEM(Item::seeds_wheat_Id) ITEM(Item::seeds_melon_Id) ITEM(Item::seeds_pumpkin_Id) diff --git a/Minecraft.Client/PreStitchedTextureMap.cpp b/Minecraft.Client/PreStitchedTextureMap.cpp index 7eb5077e..81ce5c0d 100644 --- a/Minecraft.Client/PreStitchedTextureMap.cpp +++ b/Minecraft.Client/PreStitchedTextureMap.cpp @@ -567,6 +567,8 @@ void PreStitchedTextureMap::loadUVs() ADD_ICON(14, 5, L"rabbitsFoot") ADD_ICON(14, 6, L"rabbitHide") ADD_ICON(13, 14, L"prismarineCrystal"); + ADD_ICON(13, 13, L"prismarineShard"); + ADD_ICON_WITH_NAME(14, 7, L"compassP0", L"compass") // 4J Added ADD_ICON_WITH_NAME(14, 8, L"compassP1", L"compass") // 4J Added ADD_ICON_WITH_NAME(14, 9, L"compassP2", L"compass") // 4J Added diff --git a/Minecraft.Client/Windows64Media/strings.h b/Minecraft.Client/Windows64Media/strings.h index 2029b1f2..329da70a 100644 --- a/Minecraft.Client/Windows64Media/strings.h +++ b/Minecraft.Client/Windows64Media/strings.h @@ -2344,4 +2344,5 @@ #define IDS_RICHPRESENCESTATE_TRADING 2338 #define IDS_TILE_PRISMARINE 2339 #define IDS_TILE_PRISMARINE_DARK 2340 -#define IDS_TILE_PRISMARINE_BRICKS 2341 \ No newline at end of file +#define IDS_TILE_PRISMARINE_BRICKS 2341 +#define IDS_ITEM_PRISMARINE_SHARD 2342 \ No newline at end of file diff --git a/Minecraft.World/Item.cpp b/Minecraft.World/Item.cpp index 0793f7d2..e792111c 100644 --- a/Minecraft.World/Item.cpp +++ b/Minecraft.World/Item.cpp @@ -267,6 +267,7 @@ Item* Item::rabbit_hide = nullptr; Item* Item::armor_stand = nullptr; Item* Item::prismarine_crystal = nullptr; +Item* Item::prismarine_shard = nullptr; void Item::staticCtor() { @@ -527,6 +528,7 @@ void Item::staticCtor() Item::armor_stand = (new ArmorStandItem(160)) ->setBaseItemTypeAndMaterial(eBaseItemType_HangingItem,eMaterial_cloth)->setIconName(L"armorStand")->setDescriptionId(IDS_ITEM_ARMOR_STAND)->setUseDescriptionId(IDS_DESC_ARMOR_STAND); Item::prismarine_crystal = (new Item(176))->setIconName(L"prismarineCrystal")->setDescriptionId(IDS_ITEM_PRISMARINE_CRYSTAL)->setUseDescriptionId(IDS_DESC_BRICK); + Item::prismarine_shard = (new Item(177))->setIconName(L"prismarineShard")->setDescriptionId(IDS_ITEM_PRISMARINE_SHARD)->setUseDescriptionId(IDS_DESC_BRICK); } diff --git a/Minecraft.World/Item.h b/Minecraft.World/Item.h index 8c18e051..f5b4b2cb 100644 --- a/Minecraft.World/Item.h +++ b/Minecraft.World/Item.h @@ -433,7 +433,7 @@ public: static Item* armor_stand; static Item* prismarine_crystal; - + static Item* prismarine_shard; static const int shovel_iron_Id = 256; @@ -660,6 +660,7 @@ public: static const int armor_stand_Id = 416; static const int prismarine_cystal_Id = 432; + static const int prismarine_shard_Id = 433; public: const int id; diff --git a/Minecraft.World/Recipes.cpp b/Minecraft.World/Recipes.cpp index 73b9846c..da02cb55 100644 --- a/Minecraft.World/Recipes.cpp +++ b/Minecraft.World/Recipes.cpp @@ -7,6 +7,7 @@ #include "ItemInstance.h" #include "net.minecraft.world.level.tile.h" #include "net.minecraft.world.item.crafting.h" +#include "DyePowderItem.h" Recipes *Recipes::instance = nullptr; ArmorRecipes *Recipes::pArmorRecipes=nullptr; @@ -455,6 +456,33 @@ Recipes::Recipes() L'#', Item::snowBall, L'S'); + addShapedRecipy(new ItemInstance(Tile::prismarine, 1), // + L"sscig", + L"##", // + L"##", // + + L'#', Item::prismarine_shard, + L'S'); + + addShapedRecipy(new ItemInstance(Tile::prismarinebrick, 1), // + L"ssscig", + L"###", // + L"###", // + L"###", + + L'#', Item::prismarine_shard, + L'S'); + + + addShapedRecipy(new ItemInstance(Tile::prismarinedark, 1), // + L"ssscicig", + L"###", // + L"#X#", // + L"###", // + + L'#', Item::prismarine_shard, L'X', new ItemInstance(Item::dye_powder, 1, DyePowderItem::BLACK), + L'S'); + addShapedRecipy(new ItemInstance(Tile::topSnow, 6), // L"sctg", L"###", // diff --git a/Minecraft.World/Tile.cpp b/Minecraft.World/Tile.cpp index e8edeb56..276f43e9 100644 --- a/Minecraft.World/Tile.cpp +++ b/Minecraft.World/Tile.cpp @@ -252,6 +252,8 @@ Tile* Tile::red_sandstone = nullptr; Tile* Tile::stairs_red_sandstone = nullptr; Tile* Tile::seaLantern = nullptr; Tile* Tile::prismarine = nullptr; +Tile* Tile::prismarinedark = nullptr; +Tile* Tile::prismarinebrick = nullptr; Tile* Tile::tree2Trunk = nullptr; Tile* Tile::packed_ice = nullptr; @@ -509,7 +511,10 @@ void Tile::staticCtor() Tile::door_dark = (new DoorTile(197, Material::wood, L"doorDark"))->setDestroyTime(3.0f)->setSoundType(Tile::SOUND_WOOD)->setIconName(L"door_dark")->setDescriptionId(IDS_TILE_DOOR_DARK)->setNotCollectStatistics()->sendTileData()->setUseDescriptionId(IDS_DESC_DOOR_WOOD); Tile::seaLantern = (new SeaLanternTile(198, Material::glass))->setBaseItemTypeAndMaterial(Item::eBaseItemType_torch, Item::eMaterial_glowstone)->setDestroyTime(0.3f)->setSoundType(Tile::SOUND_GLASS)->setLightEmission(1.0f)->setIconName(L"glowstone")->setDescriptionId(IDS_TILE_SEA_LANTERN)->setUseDescriptionId(IDS_DESC_GLOWSTONE); - Tile::prismarine = (new PrismarineTile(200, Material::stone))->setDestroyTime(1.5f)->setExplodeable(10)->setSoundType(Tile::SOUND_STONE)->setIconName(L"stone")->setDescriptionId(IDS_TILE_PRISMARINE)->setUseDescriptionId(IDS_DESC_STONE); + Tile::prismarine = (new PrismarineTile(200, Material::stone))->setBaseItemTypeAndMaterial(Item::eBaseItemType_structblock, Item::eMaterial_stone)->setDestroyTime(1.5f)->setExplodeable(10)->setSoundType(Tile::SOUND_STONE)->setIconName(L"stone")->setDescriptionId(IDS_TILE_PRISMARINE)->setUseDescriptionId(IDS_DESC_STONE); + Tile::prismarinedark = (new Tile(201, Material::stone))->setBaseItemTypeAndMaterial(Item::eBaseItemType_structblock, Item::eMaterial_stone)->setDestroyTime(2.0f)->setExplodeable(10)->setSoundType(Tile::SOUND_STONE)->setIconName(L"prismarine_dark")->setDescriptionId(IDS_TILE_PRISMARINE_DARK)->setUseDescriptionId(IDS_DESC_STONE_BRICK); + Tile::prismarinebrick = (new Tile(202, Material::stone))->setBaseItemTypeAndMaterial(Item::eBaseItemType_structblock, Item::eMaterial_stone)->setDestroyTime(2.0f)->setExplodeable(10)->setSoundType(Tile::SOUND_STONE)->setIconName(L"prismarine_bricks")->setDescriptionId(IDS_TILE_PRISMARINE_BRICKS)->setUseDescriptionId(IDS_DESC_STONE_BRICK); + // Special cases for certain items since they can have different icons diff --git a/Minecraft.World/Tile.h b/Minecraft.World/Tile.h index 9da05fe9..9cf6a153 100644 --- a/Minecraft.World/Tile.h +++ b/Minecraft.World/Tile.h @@ -397,6 +397,8 @@ public: static const int seaLantern_Id = 198; static const int prismarine_Id = 200; + static const int prismarinedark_Id = 201; + static const int prismarinebrick_Id = 202; static Tile *stone; static GrassTile *grass; @@ -605,6 +607,7 @@ public: static Tile* seaLantern; static Tile* prismarine; static Tile* prismarinedark; + static Tile* prismarinebrick; static void staticCtor();