From 4311f4a658fe2bef362aeb9b4bdbcd59c9617ad6 Mon Sep 17 00:00:00 2001 From: mathiascode Date: Tue, 14 Feb 2017 12:13:55 +0200 Subject: Added some blocks and items (#3503) --- src/Items/ItemFood.h | 7 +++++-- src/Items/ItemHandler.cpp | 36 ++++++++++++++++++++++++++++++++++-- src/Items/ItemPickaxe.h | 11 ++++++++++- src/Items/ItemSeeds.h | 15 ++++++++------- src/Items/ItemShovel.h | 2 +- 5 files changed, 58 insertions(+), 13 deletions(-) (limited to 'src/Items') diff --git a/src/Items/ItemFood.h b/src/Items/ItemFood.h index cfdac26c6..d06b4701c 100644 --- a/src/Items/ItemFood.h +++ b/src/Items/ItemFood.h @@ -30,15 +30,18 @@ public: switch (m_ItemType) { // Please keep alpha-sorted. - case E_ITEM_BAKED_POTATO: return FoodInfo(5, 7.2); + case E_ITEM_BAKED_POTATO: return FoodInfo(5, 6); + case E_ITEM_BEETROOT: return FoodInfo(1, 1.2); + case E_ITEM_BEETROOT_SOUP: return FoodInfo(6, 7.2); case E_ITEM_BREAD: return FoodInfo(5, 6); // Carrots handled in ItemSeeds + case E_ITEM_CHORUS_FRUIT: return FoodInfo(4, 2.4); case E_ITEM_COOKED_CHICKEN: return FoodInfo(6, 7.2); case E_ITEM_COOKED_FISH: return FoodInfo(5, 6); // TODO: Add other fish types case E_ITEM_COOKED_MUTTON: return FoodInfo(6, 9.6); case E_ITEM_COOKED_PORKCHOP: return FoodInfo(8, 12.8); case E_ITEM_COOKED_RABBIT: return FoodInfo(5, 6); - case E_ITEM_COOKIE: return FoodInfo(2, 0.4); + case E_ITEM_COOKIE: return FoodInfo(2, 0.5); // Golden apple handled in ItemGoldenApple case E_ITEM_GOLDEN_CARROT: return FoodInfo(6, 14.4); case E_ITEM_MELON_SLICE: return FoodInfo(2, 1.2); diff --git a/src/Items/ItemHandler.cpp b/src/Items/ItemHandler.cpp index 6984b6111..b3ad73b25 100644 --- a/src/Items/ItemHandler.cpp +++ b/src/Items/ItemHandler.cpp @@ -114,13 +114,14 @@ cItemHandler * cItemHandler::CreateItemHandler(int a_ItemType) case E_BLOCK_HEAD: return new cItemMobHeadHandler(a_ItemType); case E_BLOCK_NEW_LEAVES: return new cItemLeavesHandler(a_ItemType); case E_BLOCK_PUMPKIN: return new cItemPumpkinHandler; + case E_BLOCK_PURPUR_SLAB: return new cItemSlabHandler(E_BLOCK_PURPUR_SLAB, E_BLOCK_PURPUR_DOUBLE_SLAB); + case E_BLOCK_RED_SANDSTONE_SLAB: return new cItemSlabHandler(E_BLOCK_RED_SANDSTONE_SLAB, E_BLOCK_DOUBLE_RED_SANDSTONE_SLAB); case E_BLOCK_SAPLING: return new cItemSaplingHandler(a_ItemType); case E_BLOCK_STONE_SLAB: return new cItemSlabHandler(E_BLOCK_STONE_SLAB, E_BLOCK_DOUBLE_STONE_SLAB); case E_BLOCK_TRAPPED_CHEST: return new cItemChestHandler(a_ItemType); case E_BLOCK_WOODEN_SLAB: return new cItemSlabHandler(E_BLOCK_WOODEN_SLAB, E_BLOCK_DOUBLE_WOODEN_SLAB); case E_BLOCK_WOOL: return new cItemClothHandler(a_ItemType); case E_ITEM_BED: return new cItemBedHandler(a_ItemType); - case E_ITEM_BOAT: return new cItemBoatHandler(a_ItemType); case E_ITEM_BOTTLE_O_ENCHANTING: return new cItemBottleOEnchantingHandler(); case E_ITEM_BOW: return new cItemBowHandler(); case E_ITEM_BREWING_STAND: return new cItemBrewingStandHandler(a_ItemType); @@ -206,6 +207,7 @@ cItemHandler * cItemHandler::CreateItemHandler(int a_ItemType) return new cItemBucketHandler(a_ItemType); } + case E_ITEM_BEETROOT_SEEDS: case E_ITEM_CARROT: case E_ITEM_MELON_SEEDS: case E_ITEM_POTATO: @@ -238,7 +240,10 @@ cItemHandler * cItemHandler::CreateItemHandler(int a_ItemType) // Food (please keep alpha-sorted): // (carrots and potatoes handled separately in SeedHandler as they're both seed and food) case E_ITEM_BAKED_POTATO: + case E_ITEM_BEETROOT: + case E_ITEM_BEETROOT_SOUP: case E_ITEM_BREAD: + case E_ITEM_CHORUS_FRUIT: case E_ITEM_COOKED_CHICKEN: case E_ITEM_COOKED_FISH: case E_ITEM_COOKED_MUTTON: @@ -289,6 +294,16 @@ cItemHandler * cItemHandler::CreateItemHandler(int a_ItemType) { return new cItemArmorHandler(a_ItemType); } + + case E_ITEM_ACACIA_BOAT: + case E_ITEM_BIRCH_BOAT: + case E_ITEM_BOAT: + case E_ITEM_DARK_OAK_BOAT: + case E_ITEM_JUNGLE_BOAT: + case E_ITEM_SPRUCE_BOAT: + { + return new cItemBoatHandler(a_ItemType); + } } } @@ -572,6 +587,8 @@ char cItemHandler::GetMaxStackSize(void) case E_ITEM_ARROW: return 64; case E_ITEM_BAKED_POTATO: return 64; case E_ITEM_BANNER: return 16; + case E_ITEM_BEETROOT: return 64; + case E_ITEM_BEETROOT_SEEDS: return 64; case E_ITEM_BIRCH_DOOR: return 64; case E_ITEM_BLAZE_POWDER: return 64; case E_ITEM_BLAZE_ROD: return 64; @@ -584,6 +601,7 @@ char cItemHandler::GetMaxStackSize(void) case E_ITEM_BUCKET: return 16; case E_ITEM_CARROT: return 64; case E_ITEM_CAULDRON: return 64; + case E_ITEM_CHORUS_FRUIT: return 64; case E_ITEM_CLAY: return 64; case E_ITEM_CLAY_BRICK: return 64; case E_ITEM_CLOCK: return 64; @@ -598,6 +616,7 @@ char cItemHandler::GetMaxStackSize(void) case E_ITEM_COOKIE: return 64; case E_ITEM_DARK_OAK_DOOR: return 64; case E_ITEM_DIAMOND: return 64; + case E_ITEM_DRAGON_BREATH: return 64; case E_ITEM_DYE: return 64; case E_ITEM_EGG: return 16; case E_ITEM_EMERALD: return 64; @@ -623,6 +642,7 @@ char cItemHandler::GetMaxStackSize(void) case E_ITEM_HEAD: return 64; case E_ITEM_JUNGLE_DOOR: return 64; case E_ITEM_IRON: return 64; + case E_ITEM_IRON_NUGGET: return 64; case E_ITEM_ITEM_FRAME: return 64; case E_ITEM_LEATHER: return 64; case E_ITEM_MAGMA_CREAM: return 64; @@ -635,6 +655,7 @@ char cItemHandler::GetMaxStackSize(void) case E_ITEM_PAINTING: return 64; case E_ITEM_PAPER: return 64; case E_ITEM_POISONOUS_POTATO: return 64; + case E_ITEM_POPPED_CHORUS_FRUIT: return 64; case E_ITEM_POTATO: return 64; case E_ITEM_PRISMARINE_CRYSTALS: return 64; case E_ITEM_PRISMARINE_SHARD: return 64; @@ -657,6 +678,7 @@ char cItemHandler::GetMaxStackSize(void) case E_ITEM_SLIMEBALL: return 64; case E_ITEM_SNOWBALL: return 16; case E_ITEM_SPAWN_EGG: return 64; + case E_ITEM_SPECTRAL_ARROW: return 64; case E_ITEM_SPIDER_EYE: return 64; case E_ITEM_SPRUCE_DOOR: return 64; case E_ITEM_STEAK: return 64; @@ -664,6 +686,7 @@ char cItemHandler::GetMaxStackSize(void) case E_ITEM_STRING: return 64; case E_ITEM_SUGAR: return 64; case E_ITEM_SUGAR_CANE: return 64; + case E_ITEM_TIPPED_ARROW: return 64; case E_ITEM_WHEAT: return 64; } // By default items don't stack: @@ -737,6 +760,7 @@ bool cItemHandler::CanHarvestBlock(BLOCKTYPE a_BlockType) switch (a_BlockType) { case E_BLOCK_ANVIL: + case E_BLOCK_BONE_BLOCK: case E_BLOCK_BRICK: case E_BLOCK_CAULDRON: case E_BLOCK_COAL_ORE: @@ -751,6 +775,7 @@ bool cItemHandler::CanHarvestBlock(BLOCKTYPE a_BlockType) case E_BLOCK_DOUBLE_STONE_SLAB: case E_BLOCK_EMERALD_ORE: case E_BLOCK_ENCHANTMENT_TABLE: + case E_BLOCK_END_BRICKS: case E_BLOCK_END_STONE: case E_BLOCK_FURNACE: case E_BLOCK_GOLD_BLOCK: @@ -761,6 +786,7 @@ bool cItemHandler::CanHarvestBlock(BLOCKTYPE a_BlockType) case E_BLOCK_LAPIS_BLOCK: case E_BLOCK_LAPIS_ORE: case E_BLOCK_LIT_FURNACE: + case E_BLOCK_MAGMA: case E_BLOCK_MOB_SPAWNER: case E_BLOCK_MOSSY_COBBLESTONE: case E_BLOCK_NETHER_BRICK: @@ -768,9 +794,15 @@ bool cItemHandler::CanHarvestBlock(BLOCKTYPE a_BlockType) case E_BLOCK_NETHER_BRICK_FENCE: case E_BLOCK_NETHERRACK: case E_BLOCK_RED_SANDSTONE_SLAB: + case E_BLOCK_OBSERVER: case E_BLOCK_OBSIDIAN: - case E_BLOCK_PACKED_ICE: case E_BLOCK_PRISMARINE_BLOCK: + case E_BLOCK_PURPUR_BLOCK: + case E_BLOCK_PURPUR_DOUBLE_SLAB: + case E_BLOCK_PURPUR_PILLAR: + case E_BLOCK_PURPUR_SLAB: + case E_BLOCK_PURPUR_STAIRS: + case E_BLOCK_RED_NETHER_BRICK: case E_BLOCK_RED_SANDSTONE: case E_BLOCK_RED_SANDSTONE_STAIRS: case E_BLOCK_REDSTONE_ORE: diff --git a/src/Items/ItemPickaxe.h b/src/Items/ItemPickaxe.h index 99c0c9c9a..3a04b17b4 100644 --- a/src/Items/ItemPickaxe.h +++ b/src/Items/ItemPickaxe.h @@ -59,6 +59,7 @@ public: } case E_BLOCK_ANVIL: + case E_BLOCK_BONE_BLOCK: case E_BLOCK_BRICK: case E_BLOCK_CAULDRON: case E_BLOCK_COAL_ORE: @@ -68,17 +69,25 @@ public: case E_BLOCK_DOUBLE_RED_SANDSTONE_SLAB: case E_BLOCK_DOUBLE_STONE_SLAB: case E_BLOCK_ENCHANTMENT_TABLE: + case E_BLOCK_END_BRICKS: case E_BLOCK_END_STONE: case E_BLOCK_FURNACE: case E_BLOCK_LIT_FURNACE: case E_BLOCK_MOB_SPAWNER: case E_BLOCK_MOSSY_COBBLESTONE: + case E_BLOCK_MAGMA: case E_BLOCK_NETHER_BRICK: case E_BLOCK_NETHER_BRICK_STAIRS: case E_BLOCK_NETHER_BRICK_FENCE: case E_BLOCK_NETHERRACK: - case E_BLOCK_RED_SANDSTONE_SLAB: + case E_BLOCK_OBSERVER: case E_BLOCK_PRISMARINE_BLOCK: + case E_BLOCK_PURPUR_BLOCK: + case E_BLOCK_PURPUR_DOUBLE_SLAB: + case E_BLOCK_PURPUR_PILLAR: + case E_BLOCK_PURPUR_SLAB: + case E_BLOCK_PURPUR_STAIRS: + case E_BLOCK_RED_NETHER_BRICK: case E_BLOCK_RED_SANDSTONE: case E_BLOCK_RED_SANDSTONE_STAIRS: case E_BLOCK_SANDSTONE: diff --git a/src/Items/ItemSeeds.h b/src/Items/ItemSeeds.h index 408899a78..0661d2b9b 100644 --- a/src/Items/ItemSeeds.h +++ b/src/Items/ItemSeeds.h @@ -37,7 +37,7 @@ public: { switch (m_ItemType) { - case E_ITEM_CARROT: return FoodInfo(3, 4.8); + case E_ITEM_CARROT: return FoodInfo(3, 3.6); case E_ITEM_POTATO: return FoodInfo(1, 0.6); default: return FoodInfo(0, 0); } @@ -69,12 +69,13 @@ public: a_BlockMeta = 0; switch (m_ItemType) { - case E_ITEM_CARROT: a_BlockType = E_BLOCK_CARROTS; return true; - case E_ITEM_MELON_SEEDS: a_BlockType = E_BLOCK_MELON_STEM; return true; - case E_ITEM_POTATO: a_BlockType = E_BLOCK_POTATOES; return true; - case E_ITEM_PUMPKIN_SEEDS: a_BlockType = E_BLOCK_PUMPKIN_STEM; return true; - case E_ITEM_SEEDS: a_BlockType = E_BLOCK_CROPS; return true; - default: a_BlockType = E_BLOCK_AIR; return true; + case E_ITEM_BEETROOT_SEEDS: a_BlockType = E_BLOCK_BEETROOTS; return true; + case E_ITEM_CARROT: a_BlockType = E_BLOCK_CARROTS; return true; + case E_ITEM_MELON_SEEDS: a_BlockType = E_BLOCK_MELON_STEM; return true; + case E_ITEM_POTATO: a_BlockType = E_BLOCK_POTATOES; return true; + case E_ITEM_PUMPKIN_SEEDS: a_BlockType = E_BLOCK_PUMPKIN_STEM; return true; + case E_ITEM_SEEDS: a_BlockType = E_BLOCK_CROPS; return true; + default: a_BlockType = E_BLOCK_AIR; return true; } } } ; diff --git a/src/Items/ItemShovel.h b/src/Items/ItemShovel.h index ba5fbb48e..6db96095d 100644 --- a/src/Items/ItemShovel.h +++ b/src/Items/ItemShovel.h @@ -67,13 +67,13 @@ public: case E_BLOCK_DIRT: case E_BLOCK_FARMLAND: case E_BLOCK_GRASS: + case E_BLOCK_GRASS_PATH: case E_BLOCK_GRAVEL: case E_BLOCK_MYCELIUM: case E_BLOCK_SAND: case E_BLOCK_SNOW: case E_BLOCK_SNOW_BLOCK: case E_BLOCK_SOULSAND: - case E_BLOCK_GRASS_PATH: { switch (m_ItemType) { -- cgit v1.2.3