cn.nukkit.block.BlockBasalt Maven / Gradle / Ivy
package cn.nukkit.block;
import cn.nukkit.Player;
import cn.nukkit.api.PowerNukkitOnly;
import cn.nukkit.api.Since;
import cn.nukkit.blockproperty.BlockProperties;
import cn.nukkit.item.Item;
import cn.nukkit.item.ItemTool;
import cn.nukkit.math.BlockFace;
import org.jetbrains.annotations.NotNull;
import static cn.nukkit.blockproperty.CommonBlockProperties.PILLAR_AXIS;
@PowerNukkitOnly
@Since("1.4.0.0-PN")
public class BlockBasalt extends BlockSolidMeta {
@PowerNukkitOnly
@Since("1.4.0.0-PN")
public static final BlockProperties PROPERTIES = new BlockProperties(PILLAR_AXIS);
@PowerNukkitOnly
@Since("1.4.0.0-PN")
public BlockBasalt() { this(0); }
@PowerNukkitOnly
@Since("1.4.0.0-PN")
public BlockBasalt(int meta) {
super(meta);
}
@Override
public String getName() {
return "Basalt";
}
@Override
public int getId() {
return BlockID.BASALT;
}
@Since("1.4.0.0-PN")
@PowerNukkitOnly
@NotNull
@Override
public BlockProperties getProperties() {
return PROPERTIES;
}
@Override
public double getHardness() {
return 1.25;
}
@Override
public double getResistance() {
return 4.2;
}
@Override
public int getToolType() {
return ItemTool.TYPE_PICKAXE;
}
@Override
@PowerNukkitOnly
public int getToolTier() {
return ItemTool.TIER_WOODEN;
}
@PowerNukkitOnly
@Since("1.4.0.0-PN")
public BlockFace.Axis getPillarAxis() {
return getPropertyValue(PILLAR_AXIS);
}
@PowerNukkitOnly
@Since("1.4.0.0-PN")
public void setPillarAxis(BlockFace.Axis axis) {
setPropertyValue(PILLAR_AXIS, axis);
}
@Override
public boolean place(@NotNull Item item, @NotNull Block block, @NotNull Block target, @NotNull BlockFace face, double fx, double fy, double fz, Player player) {
setPillarAxis(face.getAxis());
getLevel().setBlock(block, this, true, true);
return true;
}
}