mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-06-09 21:24:53 +00:00
Bucket: Fixed appearing empty when picking up still liquids
Buckets already affected by this bug will still appear empty until used. After that they'll work fine.
This commit is contained in:
parent
db52501462
commit
33352638a9
@ -48,6 +48,14 @@ class Lava extends Liquid{
|
|||||||
return "Lava";
|
return "Lava";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getStillForm() : Block{
|
||||||
|
return BlockFactory::get(Block::STILL_LAVA, $this->meta);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getFlowingForm() : Block{
|
||||||
|
return BlockFactory::get(Block::FLOWING_LAVA, $this->meta);
|
||||||
|
}
|
||||||
|
|
||||||
public function tickRate() : int{
|
public function tickRate() : int{
|
||||||
return 30;
|
return 30;
|
||||||
}
|
}
|
||||||
|
@ -76,6 +76,10 @@ abstract class Liquid extends Transparent{
|
|||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
abstract public function getStillForm() : Block;
|
||||||
|
|
||||||
|
abstract public function getFlowingForm() : Block;
|
||||||
|
|
||||||
public function getFluidHeightPercent(){
|
public function getFluidHeightPercent(){
|
||||||
$d = $this->meta;
|
$d = $this->meta;
|
||||||
if($d >= 8){
|
if($d >= 8){
|
||||||
|
@ -44,6 +44,14 @@ class Water extends Liquid{
|
|||||||
return 2;
|
return 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getStillForm() : Block{
|
||||||
|
return BlockFactory::get(Block::STILL_WATER, $this->meta);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getFlowingForm() : Block{
|
||||||
|
return BlockFactory::get(Block::FLOWING_WATER, $this->meta);
|
||||||
|
}
|
||||||
|
|
||||||
public function tickRate() : int{
|
public function tickRate() : int{
|
||||||
return 5;
|
return 5;
|
||||||
}
|
}
|
||||||
|
@ -59,7 +59,7 @@ class Bucket extends Item implements Consumable{
|
|||||||
$stack = clone $this;
|
$stack = clone $this;
|
||||||
|
|
||||||
$resultItem = $stack->pop();
|
$resultItem = $stack->pop();
|
||||||
$resultItem->setDamage($blockClicked->getId());
|
$resultItem->setDamage($blockClicked->getFlowingForm()->getId());
|
||||||
$player->getServer()->getPluginManager()->callEvent($ev = new PlayerBucketFillEvent($player, $blockReplace, $face, $this, $resultItem));
|
$player->getServer()->getPluginManager()->callEvent($ev = new PlayerBucketFillEvent($player, $blockReplace, $face, $this, $resultItem));
|
||||||
if(!$ev->isCancelled()){
|
if(!$ev->isCancelled()){
|
||||||
$player->getLevel()->setBlock($blockClicked, BlockFactory::get(Block::AIR), true, true);
|
$player->getLevel()->setBlock($blockClicked, BlockFactory::get(Block::AIR), true, true);
|
||||||
@ -84,7 +84,7 @@ class Bucket extends Item implements Consumable{
|
|||||||
$resultItem->setDamage(0);
|
$resultItem->setDamage(0);
|
||||||
$player->getServer()->getPluginManager()->callEvent($ev = new PlayerBucketEmptyEvent($player, $blockReplace, $face, $this, $resultItem));
|
$player->getServer()->getPluginManager()->callEvent($ev = new PlayerBucketEmptyEvent($player, $blockReplace, $face, $this, $resultItem));
|
||||||
if(!$ev->isCancelled()){
|
if(!$ev->isCancelled()){
|
||||||
$player->getLevel()->setBlock($blockReplace, $resultBlock, true, true);
|
$player->getLevel()->setBlock($blockReplace, $resultBlock->getFlowingForm(), true, true);
|
||||||
if($player->isSurvival()){
|
if($player->isSurvival()){
|
||||||
$player->getInventory()->setItemInHand($ev->getItem());
|
$player->getInventory()->setItemInHand($ev->getItem());
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user