From f933107af03575fae659ee19164353b42ffef4ac Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Tue, 21 Feb 2017 11:17:33 +0000 Subject: [PATCH] Fix some non-properly-implemented blocks killing people and bad inheritances --- src/pocketmine/block/ActivatorRail.php | 2 +- src/pocketmine/block/DaylightSensor.php | 2 +- src/pocketmine/block/DetectorRail.php | 2 +- src/pocketmine/block/Lever.php | 2 +- src/pocketmine/block/LitPumpkin.php | 23 +------------------ src/pocketmine/block/LitRedstoneLamp.php | 2 +- src/pocketmine/block/LitRedstoneTorch.php | 2 +- src/pocketmine/block/PoweredRail.php | 2 +- src/pocketmine/block/Pumpkin.php | 6 ++--- src/pocketmine/block/Rail.php | 2 +- src/pocketmine/block/RedstoneTorch.php | 2 +- src/pocketmine/block/StoneButton.php | 2 +- src/pocketmine/block/StonePressurePlate.php | 6 ++++- src/pocketmine/block/Tripwire.php | 2 +- src/pocketmine/block/TripwireHook.php | 2 +- .../block/WeightedPressurePlateHeavy.php | 2 +- .../block/WeightedPressurePlateLight.php | 6 ++++- src/pocketmine/block/WoodenButton.php | 2 +- src/pocketmine/block/WoodenPressurePlate.php | 2 +- 19 files changed, 29 insertions(+), 42 deletions(-) diff --git a/src/pocketmine/block/ActivatorRail.php b/src/pocketmine/block/ActivatorRail.php index 58dd19f4af..ae5ab5cf6a 100644 --- a/src/pocketmine/block/ActivatorRail.php +++ b/src/pocketmine/block/ActivatorRail.php @@ -21,7 +21,7 @@ namespace pocketmine\block; -class ActivatorRail extends Solid{ +class ActivatorRail extends Rail{ protected $id = self::ACTIVATOR_RAIL; diff --git a/src/pocketmine/block/DaylightSensor.php b/src/pocketmine/block/DaylightSensor.php index 2dc5124e2f..286a7582d9 100644 --- a/src/pocketmine/block/DaylightSensor.php +++ b/src/pocketmine/block/DaylightSensor.php @@ -21,7 +21,7 @@ namespace pocketmine\block; -class DaylightSensor extends Solid{ +class DaylightSensor extends Transparent{ protected $id = self::DAYLIGHT_SENSOR; diff --git a/src/pocketmine/block/DetectorRail.php b/src/pocketmine/block/DetectorRail.php index ecd809d357..b902702541 100644 --- a/src/pocketmine/block/DetectorRail.php +++ b/src/pocketmine/block/DetectorRail.php @@ -21,7 +21,7 @@ namespace pocketmine\block; -class DetectorRail extends Solid{ +class DetectorRail extends Rail{ protected $id = self::DETECTOR_RAIL; diff --git a/src/pocketmine/block/Lever.php b/src/pocketmine/block/Lever.php index 5e305854c6..be2dace687 100644 --- a/src/pocketmine/block/Lever.php +++ b/src/pocketmine/block/Lever.php @@ -21,7 +21,7 @@ namespace pocketmine\block; -class Lever extends Solid{ +class Lever extends Flowable{ protected $id = self::LEVER; diff --git a/src/pocketmine/block/LitPumpkin.php b/src/pocketmine/block/LitPumpkin.php index 768cb4cf83..43c5e4307d 100644 --- a/src/pocketmine/block/LitPumpkin.php +++ b/src/pocketmine/block/LitPumpkin.php @@ -25,7 +25,7 @@ use pocketmine\item\Item; use pocketmine\item\Tool; use pocketmine\Player; -class LitPumpkin extends Solid{ +class LitPumpkin extends Pumpkin{ protected $id = self::LIT_PUMPKIN; @@ -33,28 +33,7 @@ class LitPumpkin extends Solid{ return 15; } - public function getHardness(){ - return 1; - } - - public function getToolType(){ - return Tool::TYPE_AXE; - } - public function getName(){ return "Jack o'Lantern"; } - - public function __construct($meta = 0){ - $this->meta = $meta; - } - - public function place(Item $item, Block $block, Block $target, $face, $fx, $fy, $fz, Player $player = null){ - if($player instanceof Player){ - $this->meta = ((int) $player->getDirection() + 5) % 4; - } - $this->getLevel()->setBlock($block, $this, true, true); - - return true; - } } \ No newline at end of file diff --git a/src/pocketmine/block/LitRedstoneLamp.php b/src/pocketmine/block/LitRedstoneLamp.php index 15f267af00..c613480e92 100644 --- a/src/pocketmine/block/LitRedstoneLamp.php +++ b/src/pocketmine/block/LitRedstoneLamp.php @@ -21,7 +21,7 @@ namespace pocketmine\block; -class LitRedstoneLamp extends Solid{ +class LitRedstoneLamp extends RedstoneLamp{ protected $id = self::LIT_REDSTONE_LAMP; diff --git a/src/pocketmine/block/LitRedstoneTorch.php b/src/pocketmine/block/LitRedstoneTorch.php index 30b40d62cd..ad0e023768 100644 --- a/src/pocketmine/block/LitRedstoneTorch.php +++ b/src/pocketmine/block/LitRedstoneTorch.php @@ -21,7 +21,7 @@ namespace pocketmine\block; -class LitRedstoneTorch extends Solid{ +class LitRedstoneTorch extends RedstoneTorch{ protected $id = self::REDSTONE_TORCH; diff --git a/src/pocketmine/block/PoweredRail.php b/src/pocketmine/block/PoweredRail.php index 40da676959..28b411a7c0 100644 --- a/src/pocketmine/block/PoweredRail.php +++ b/src/pocketmine/block/PoweredRail.php @@ -21,7 +21,7 @@ namespace pocketmine\block; -class PoweredRail extends Solid{ +class PoweredRail extends Rail{ protected $id = self::POWERED_RAIL; public function __construct($meta = 0){ diff --git a/src/pocketmine/block/Pumpkin.php b/src/pocketmine/block/Pumpkin.php index c024010ecb..c030dfb005 100644 --- a/src/pocketmine/block/Pumpkin.php +++ b/src/pocketmine/block/Pumpkin.php @@ -29,8 +29,8 @@ class Pumpkin extends Solid{ protected $id = self::PUMPKIN; - public function __construct(){ - + public function __construct($meta = 0){ + $this->meta = $meta; } public function getHardness(){ @@ -47,7 +47,7 @@ class Pumpkin extends Solid{ public function place(Item $item, Block $block, Block $target, $face, $fx, $fy, $fz, Player $player = null){ if($player instanceof Player){ - $this->meta = ((int) $player->getDirection() + 5) % 4; + $this->meta = ((int) $player->getDirection() + 1) % 4; } $this->getLevel()->setBlock($block, $this, true, true); diff --git a/src/pocketmine/block/Rail.php b/src/pocketmine/block/Rail.php index 04f63bb160..cbdf6ab40d 100644 --- a/src/pocketmine/block/Rail.php +++ b/src/pocketmine/block/Rail.php @@ -21,7 +21,7 @@ namespace pocketmine\block; -class Rail extends Solid{ +class Rail extends Flowable{ protected $id = self::RAIL; diff --git a/src/pocketmine/block/RedstoneTorch.php b/src/pocketmine/block/RedstoneTorch.php index 2932af5655..ca7f7f3525 100644 --- a/src/pocketmine/block/RedstoneTorch.php +++ b/src/pocketmine/block/RedstoneTorch.php @@ -21,7 +21,7 @@ namespace pocketmine\block; -class RedstoneTorch extends Solid{ +class RedstoneTorch extends Torch{ protected $id = self::REDSTONE_TORCH; diff --git a/src/pocketmine/block/StoneButton.php b/src/pocketmine/block/StoneButton.php index ef69f4950f..80b376a03a 100644 --- a/src/pocketmine/block/StoneButton.php +++ b/src/pocketmine/block/StoneButton.php @@ -21,7 +21,7 @@ namespace pocketmine\block; -class StoneButton extends Solid{ +class StoneButton extends Flowable{ protected $id = self::STONE_BUTTON; diff --git a/src/pocketmine/block/StonePressurePlate.php b/src/pocketmine/block/StonePressurePlate.php index c741623ed5..7eb68b52ee 100644 --- a/src/pocketmine/block/StonePressurePlate.php +++ b/src/pocketmine/block/StonePressurePlate.php @@ -21,7 +21,7 @@ namespace pocketmine\block; -class StonePressurePlate extends Solid{ +class StonePressurePlate extends Transparent{ protected $id = self::STONE_PRESSURE_PLATE; @@ -32,4 +32,8 @@ class StonePressurePlate extends Solid{ public function getName(){ return "Stone Pressure Plate"; } + + public function isSolid(){ + return false; + } } diff --git a/src/pocketmine/block/Tripwire.php b/src/pocketmine/block/Tripwire.php index f2f335217e..109afd9a48 100644 --- a/src/pocketmine/block/Tripwire.php +++ b/src/pocketmine/block/Tripwire.php @@ -21,7 +21,7 @@ namespace pocketmine\block; -class Tripwire extends Solid{ +class Tripwire extends Flowable{ protected $id = self::TRIPWIRE; diff --git a/src/pocketmine/block/TripwireHook.php b/src/pocketmine/block/TripwireHook.php index 5e6a576f26..4f5892ced2 100644 --- a/src/pocketmine/block/TripwireHook.php +++ b/src/pocketmine/block/TripwireHook.php @@ -21,7 +21,7 @@ namespace pocketmine\block; -class TripwireHook extends Solid{ +class TripwireHook extends Flowable{ protected $id = self::TRIPWIRE_HOOK; diff --git a/src/pocketmine/block/WeightedPressurePlateHeavy.php b/src/pocketmine/block/WeightedPressurePlateHeavy.php index 1347a42d34..88ce298df9 100644 --- a/src/pocketmine/block/WeightedPressurePlateHeavy.php +++ b/src/pocketmine/block/WeightedPressurePlateHeavy.php @@ -21,7 +21,7 @@ namespace pocketmine\block; -class WeightedPressurePlateHeavy extends Solid{ +class WeightedPressurePlateHeavy extends WeightedPressurePlateLight{ protected $id = self::WEIGHTED_PRESSURE_PLATE_HEAVY; diff --git a/src/pocketmine/block/WeightedPressurePlateLight.php b/src/pocketmine/block/WeightedPressurePlateLight.php index d8dc2304db..df54e54d28 100644 --- a/src/pocketmine/block/WeightedPressurePlateLight.php +++ b/src/pocketmine/block/WeightedPressurePlateLight.php @@ -21,7 +21,7 @@ namespace pocketmine\block; -class WeightedPressurePlateLight extends Solid{ +class WeightedPressurePlateLight extends Transparent{ protected $id = self::WEIGHTED_PRESSURE_PLATE_LIGHT; @@ -32,4 +32,8 @@ class WeightedPressurePlateLight extends Solid{ public function getName(){ return "Weighted Pressure Plate Light"; } + + public function isSolid(){ + return false; + } } diff --git a/src/pocketmine/block/WoodenButton.php b/src/pocketmine/block/WoodenButton.php index 36985130a5..ac1448fd45 100644 --- a/src/pocketmine/block/WoodenButton.php +++ b/src/pocketmine/block/WoodenButton.php @@ -21,7 +21,7 @@ namespace pocketmine\block; -class WoodenButton extends Solid{ +class WoodenButton extends StoneButton{ protected $id = self::WOODEN_BUTTON; diff --git a/src/pocketmine/block/WoodenPressurePlate.php b/src/pocketmine/block/WoodenPressurePlate.php index f112408941..e77d0d925a 100644 --- a/src/pocketmine/block/WoodenPressurePlate.php +++ b/src/pocketmine/block/WoodenPressurePlate.php @@ -21,7 +21,7 @@ namespace pocketmine\block; -class WoodenPressurePlate extends Solid{ +class WoodenPressurePlate extends StonePressurePlate{ protected $id = self::WOODEN_PRESSURE_PLATE;