package cn.nukkit.block; import cn.nukkit.Player; import cn.nukkit.item.Item; import cn.nukkit.item.ItemTool; import cn.nukkit.math.BlockFace; import cn.nukkit.utils.Faceable; /** * Created by CreeperFace on 2.6.2017. */ public abstract class BlockTerracottaGlazed extends BlockSolidMeta implements Faceable { public BlockTerracottaGlazed() { this(0); } public BlockTerracottaGlazed(int meta) { super(meta); } @Override public double getResistance() { return 7; } @Override public double getHardness() { return 1.4; } @Override public int getToolType() { return ItemTool.TYPE_PICKAXE; } @Override public Item[] getDrops(Item item) { return item.getTier() >= ItemTool.TIER_WOODEN ? new Item[]{this.toItem()} : new Item[0]; } @Override public boolean place(Item item, Block block, Block target, BlockFace face, double fx, double fy, double fz, Player player) { int[] faces = {2, 5, 3, 4}; this.setDamage(faces[player != null ? player.getDirection().getHorizontalIndex() : 0]); return this.getLevel().setBlock(block, this, true, true); } @Override public boolean canHarvestWithHand() { return false; } @Override public BlockFace getBlockFace() { return BlockFace.fromHorizontalIndex(this.getDamage() & 0x07); } }