the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
1#include "stdafx.h"
2#include "net.minecraft.world.level.tile.h"
3#include "PickaxeItem.h"
4
5TileArray PickaxeItem::diggables;
6
7void PickaxeItem::staticCtor()
8{
9 PickaxeItem::diggables = TileArray( PICKAXE_DIGGABLES);
10 diggables.data[0] = Tile::cobblestone;
11 diggables.data[1] = Tile::stoneSlab;
12 diggables.data[2] = Tile::stoneSlabHalf;
13 diggables.data[3] = Tile::stone;
14 diggables.data[4] = Tile::sandStone;
15 diggables.data[5] = Tile::mossyCobblestone;
16 diggables.data[6] = Tile::ironOre;
17 diggables.data[7] = Tile::ironBlock;
18 diggables.data[8] = Tile::coalOre;
19 diggables.data[9] = Tile::goldBlock;
20 diggables.data[10] = Tile::goldOre;
21 diggables.data[11] = Tile::diamondOre;
22 diggables.data[12] = Tile::diamondBlock;
23 diggables.data[13] = Tile::ice;
24 diggables.data[14] = Tile::netherRack;
25 diggables.data[15] = Tile::lapisOre;
26 diggables.data[16] = Tile::lapisBlock;
27 diggables.data[17] = Tile::redStoneOre;
28 diggables.data[18] = Tile::redStoneOre_lit;
29 diggables.data[19] = Tile::rail;
30 diggables.data[20] = Tile::detectorRail;
31 diggables.data[21] = Tile::goldenRail;
32 diggables.data[21] = Tile::activatorRail;
33}
34
35PickaxeItem::PickaxeItem(int id, const Tier *tier) : DiggerItem(id, 2, tier, &diggables)
36{
37}
38
39bool PickaxeItem::canDestroySpecial(Tile *tile)
40{
41 if (tile == Tile::obsidian) return tier->getLevel() == 3;
42 if (tile == Tile::diamondBlock || tile == Tile::diamondOre) return tier->getLevel() >= 2;
43 if (tile == Tile::emeraldBlock || tile == Tile::emeraldOre) return tier->getLevel() >= 2;
44 if (tile == Tile::goldBlock || tile == Tile::goldOre) return tier->getLevel() >= 2;
45 if (tile == Tile::ironBlock || tile == Tile::ironOre) return tier->getLevel() >= 1;
46 if (tile == Tile::lapisBlock || tile == Tile::lapisOre) return tier->getLevel() >= 1;
47 if (tile == Tile::redStoneOre || tile == Tile::redStoneOre_lit) return tier->getLevel() >= 2;
48 if (tile->material == Material::stone) return true;
49 if (tile->material == Material::metal) return true;
50 if (tile->material == Material::heavyMetal) return true;
51 return false;
52}
53
54// 4J - brought forward from 1.2.3
55float PickaxeItem::getDestroySpeed(shared_ptr<ItemInstance> itemInstance, Tile *tile)
56{
57 if (tile != NULL && (tile->material == Material::metal || tile->material == Material::heavyMetal || tile->material == Material::stone))
58 {
59 return speed;
60 }
61 return DiggerItem::getDestroySpeed(itemInstance, tile);
62}