cn.nukkit.block.BlockPressurePlateStone Maven / Gradle / Ivy
package cn.nukkit.block;
import cn.nukkit.api.PowerNukkitOnly;
import cn.nukkit.entity.Entity;
import cn.nukkit.entity.EntityLiving;
import cn.nukkit.item.ItemTool;
import cn.nukkit.math.AxisAlignedBB;
import cn.nukkit.utils.BlockColor;
/**
* @author Nukkit Project Team
*/
public class BlockPressurePlateStone extends BlockPressurePlateBase {
public BlockPressurePlateStone(int meta) {
super(meta);
this.onPitch = 0.6f;
this.offPitch = 0.5f;
}
public BlockPressurePlateStone() {
this(0);
}
@Override
public String getName() {
return "Stone Pressure Plate";
}
@Override
public int getId() {
return STONE_PRESSURE_PLATE;
}
@Override
public double getHardness() {
return 0.5D;
}
@Override
public double getResistance() {
return 6;
}
@Override
public int getToolType() {
return ItemTool.TYPE_PICKAXE;
}
@Override
@PowerNukkitOnly
public int getToolTier() {
return ItemTool.TIER_WOODEN;
}
@Override
public BlockColor getColor() {
return BlockColor.STONE_BLOCK_COLOR;
}
@Override
protected int computeRedstoneStrength() {
AxisAlignedBB bb = getCollisionBoundingBox();
for (Entity entity : this.level.getCollidingEntities(bb)) {
if (entity instanceof EntityLiving && entity.doesTriggerPressurePlate()) {
return 15;
}
}
return 0;
}
}