Files
Paper/paper-api/src/main/java/org/bukkit/material/PistonBaseMaterial.java
Aikar 2825ece820 Fix Spigot annotation mistakes
while some of these may of been true, they are extreme cases and cause
a ton of noise to plugin developers.

Use ApiStatus.Internal instead of Deprecated for actual internal API
that continues to have use (internally).

These do not help plugin developers if they bring moise noise than value.
2019-03-24 18:39:01 -04:00

105 lines
2.5 KiB
Java

package org.bukkit.material;
import org.bukkit.Material;
import org.bukkit.block.BlockFace;
/**
* Material data for the piston base block
*
* @deprecated all usage of MaterialData is deprecated and subject to removal.
* Use {@link org.bukkit.block.data.BlockData}.
*/
@Deprecated(since = "1.13", forRemoval = true)
public class PistonBaseMaterial extends MaterialData implements Directional, Redstone {
public PistonBaseMaterial(final Material type) {
super(type);
}
/**
* Constructs a PistonBaseMaterial.
*
* @param type the material type to use
* @param data the raw data value
* @deprecated Magic value
*/
@Deprecated(since = "1.6.2")
public PistonBaseMaterial(final Material type, final byte data) {
super(type, data);
}
@Override
public void setFacingDirection(BlockFace face) {
byte data = (byte) (getData() & 0x8);
switch (face) {
case UP:
data |= 1;
break;
case NORTH:
data |= 2;
break;
case SOUTH:
data |= 3;
break;
case WEST:
data |= 4;
break;
case EAST:
data |= 5;
break;
}
setData(data);
}
@Override
public BlockFace getFacing() {
byte dir = (byte) (getData() & 7);
switch (dir) {
case 0:
return BlockFace.DOWN;
case 1:
return BlockFace.UP;
case 2:
return BlockFace.NORTH;
case 3:
return BlockFace.SOUTH;
case 4:
return BlockFace.WEST;
case 5:
return BlockFace.EAST;
default:
return BlockFace.SELF;
}
}
@Override
public boolean isPowered() {
return (getData() & 0x8) == 0x8;
}
/**
* Sets the current state of this piston
*
* @param powered true if the piston is extended {@literal &} powered, or false
*/
public void setPowered(boolean powered) {
setData((byte) (powered ? (getData() | 0x8) : (getData() & ~0x8)));
}
/**
* Checks if this piston base is sticky, and returns true if so
*
* @return true if this piston is "sticky", or false
*/
public boolean isSticky() {
return this.getItemType() == Material.LEGACY_PISTON_STICKY_BASE;
}
@Override
public PistonBaseMaterial clone() {
return (PistonBaseMaterial) super.clone();
}
}