diff --git a/src/classes/material/Block.php b/src/classes/material/Block.php index d6d8696ad..4e03b8694 100644 --- a/src/classes/material/Block.php +++ b/src/classes/material/Block.php @@ -193,4 +193,5 @@ require_once("block/GenericBlock.php"); require_once("block/SolidBlock.php"); require_once("block/TransparentBlock.php"); require_once("block/FallableBlock.php"); -require_once("block/LiquidBlock.php"); \ No newline at end of file +require_once("block/LiquidBlock.php"); +require_once("block/StairBlock.php"); diff --git a/src/classes/material/block/StairBlock.php b/src/classes/material/block/StairBlock.php new file mode 100644 index 000000000..017748d5f --- /dev/null +++ b/src/classes/material/block/StairBlock.php @@ -0,0 +1,56 @@ +inWorld === true){ + $faces = array( + 0 => 0, + 1 => 2, + 2 => 1, + 3 => 3, + ); + $this->meta = $faces[$player->entity->getDirection()] & 0x03; + if($fy > 0.5){ + $this->meta |= 0x04; //Upside-down stairs + } + $level->setBlock($block, $this->id, $this->meta); + return true; + } + return false; + } + + public function getDrops(Item $item, Player $player){ + return array( + array($this->id, 0, 1), + ); + } +} \ No newline at end of file diff --git a/src/classes/material/block/solid/BrickStairs.php b/src/classes/material/block/stairs/BrickStairs.php similarity index 93% rename from src/classes/material/block/solid/BrickStairs.php rename to src/classes/material/block/stairs/BrickStairs.php index 1b7c052c6..e0c129e0b 100644 --- a/src/classes/material/block/solid/BrickStairs.php +++ b/src/classes/material/block/stairs/BrickStairs.php @@ -25,7 +25,7 @@ the Free Software Foundation, either version 3 of the License, or */ -class BrickStairsBlock extends TransparentBlock{ +class BrickStairsBlock extends StairBlock{ public function __construct($meta = 0){ parent::__construct(BRICK_STAIRS, $meta, "Brick Stairs"); } diff --git a/src/classes/material/block/solid/CobblestoneStairs.php b/src/classes/material/block/stairs/CobblestoneStairs.php similarity index 92% rename from src/classes/material/block/solid/CobblestoneStairs.php rename to src/classes/material/block/stairs/CobblestoneStairs.php index f8cd1f5e7..6caeff299 100644 --- a/src/classes/material/block/solid/CobblestoneStairs.php +++ b/src/classes/material/block/stairs/CobblestoneStairs.php @@ -25,7 +25,7 @@ the Free Software Foundation, either version 3 of the License, or */ -class CobblestoneStairsBlock extends TransparentBlock{ +class CobblestoneStairsBlock extends StairBlock{ public function __construct($meta = 0){ parent::__construct(COBBLESTONE_STAIRS, $meta, "Cobblestone Stairs"); } diff --git a/src/classes/material/block/solid/NetherBrickStairs.php b/src/classes/material/block/stairs/NetherBrickStairs.php similarity index 92% rename from src/classes/material/block/solid/NetherBrickStairs.php rename to src/classes/material/block/stairs/NetherBrickStairs.php index db98a2e55..075e3a31d 100644 --- a/src/classes/material/block/solid/NetherBrickStairs.php +++ b/src/classes/material/block/stairs/NetherBrickStairs.php @@ -25,7 +25,7 @@ the Free Software Foundation, either version 3 of the License, or */ -class NetherBrickStairsBlock extends TransparentBlock{ +class NetherBrickStairsBlock extends StairBlock{ public function __construct($meta = 0){ parent::__construct(NETHER_BRICK_STAIRS, $meta, "Nether Brick Stairs"); } diff --git a/src/classes/material/block/solid/SandstoneStairs.php b/src/classes/material/block/stairs/SandstoneStairs.php similarity index 92% rename from src/classes/material/block/solid/SandstoneStairs.php rename to src/classes/material/block/stairs/SandstoneStairs.php index 237d25797..dd143869f 100644 --- a/src/classes/material/block/solid/SandstoneStairs.php +++ b/src/classes/material/block/stairs/SandstoneStairs.php @@ -25,7 +25,7 @@ the Free Software Foundation, either version 3 of the License, or */ -class SandstoneStairsBlock extends TransparentBlock{ +class SandstoneStairsBlock extends StairBlock{ public function __construct($meta = 0){ parent::__construct(SANDSTONE_STAIRS, $meta, "Sandstone Stairs"); } diff --git a/src/classes/material/block/solid/StoneBrickStairs.php b/src/classes/material/block/stairs/StoneBrickStairs.php similarity index 92% rename from src/classes/material/block/solid/StoneBrickStairs.php rename to src/classes/material/block/stairs/StoneBrickStairs.php index 11221d713..d2dde7d00 100644 --- a/src/classes/material/block/solid/StoneBrickStairs.php +++ b/src/classes/material/block/stairs/StoneBrickStairs.php @@ -25,7 +25,7 @@ the Free Software Foundation, either version 3 of the License, or */ -class StoneBrickStairsBlock extends TransparentBlock{ +class StoneBrickStairsBlock extends StairBlock{ public function __construct($meta = 0){ parent::__construct(STONE_BRICK_STAIRS, $meta, "Stone Brick Stairs"); } diff --git a/src/classes/material/block/solid/WoodStairs.php b/src/classes/material/block/stairs/WoodStairs.php similarity index 93% rename from src/classes/material/block/solid/WoodStairs.php rename to src/classes/material/block/stairs/WoodStairs.php index d6175ea3c..c1d40e9ec 100644 --- a/src/classes/material/block/solid/WoodStairs.php +++ b/src/classes/material/block/stairs/WoodStairs.php @@ -25,7 +25,7 @@ the Free Software Foundation, either version 3 of the License, or */ -class WoodStairsBlock extends TransparentBlock{ +class WoodStairsBlock extends StairBlock{ public function __construct($meta = 0){ parent::__construct(WOOD_STAIRS, $meta, "Wood Stairs"); }