forked from Kolyah35/minecraft-pe-0.6.1
the whole game
This commit is contained in:
53
src/world/item/PickaxeItem.cpp
Executable file
53
src/world/item/PickaxeItem.cpp
Executable file
@@ -0,0 +1,53 @@
|
||||
#include "PickaxeItem.h"
|
||||
#include "../level/material/Material.h"
|
||||
#include "../level/tile/Tile.h"
|
||||
|
||||
PickaxeItem::PickaxeItem( int id, const Tier& tier ) : super(id, 2, tier)
|
||||
{
|
||||
TileList d;
|
||||
d.push_back(Tile::stoneBrick);
|
||||
d.push_back(Tile::stoneSlab);
|
||||
d.push_back(Tile::stoneSlabHalf);
|
||||
d.push_back(Tile::rock);
|
||||
d.push_back(Tile::sandStone);
|
||||
d.push_back(Tile::mossStone);
|
||||
d.push_back(Tile::ironOre);
|
||||
d.push_back(Tile::ironBlock);
|
||||
d.push_back(Tile::coalOre);
|
||||
d.push_back(Tile::goldBlock);
|
||||
d.push_back(Tile::goldOre);
|
||||
d.push_back(Tile::emeraldOre);
|
||||
d.push_back(Tile::emeraldBlock);
|
||||
d.push_back(Tile::ice);
|
||||
//d.push_back(Tile::hellRock);
|
||||
d.push_back(Tile::lapisOre);
|
||||
d.push_back(Tile::lapisBlock);
|
||||
d.push_back(Tile::redStoneOre);
|
||||
d.push_back(Tile::redStoneOre_lit);
|
||||
//d.push_back(Tile::rail);
|
||||
//d.push_back(Tile::detectorRail);
|
||||
//d.push_back(Tile::goldenRail);
|
||||
|
||||
setTiles(d);
|
||||
}
|
||||
|
||||
bool PickaxeItem::canDestroySpecial( const Tile* tile ) const
|
||||
{
|
||||
if (tile == Tile::obsidian) return tier.getLevel() == 3;
|
||||
if (tile == Tile::emeraldBlock || tile == Tile::emeraldOre) return tier.getLevel() >= 2;
|
||||
if (tile == Tile::goldBlock || tile == Tile::goldOre) return tier.getLevel() >= 2;
|
||||
if (tile == Tile::ironBlock || tile == Tile::ironOre) return tier.getLevel() >= 1;
|
||||
if (tile == Tile::lapisBlock || tile == Tile::lapisOre) return tier.getLevel() >= 1;
|
||||
if (tile == Tile::redStoneOre || tile == Tile::redStoneOre_lit) return tier.getLevel() >= 2;
|
||||
if (tile->material == Material::stone) return true;
|
||||
if (tile->material == Material::metal) return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
float PickaxeItem::getDestroySpeed( ItemInstance* itemInstance, Tile* tile )
|
||||
{
|
||||
if (tile != NULL && (tile->material == Material::metal || tile->material == Material::stone)) {
|
||||
return speed;
|
||||
}
|
||||
return super::getDestroySpeed(itemInstance, tile);
|
||||
}
|
||||
Reference in New Issue
Block a user