mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-04-22 00:33:59 +00:00
Spawning blocks/items using its name
This commit is contained in:
parent
cdb05f0695
commit
65280d85d1
@ -110,9 +110,18 @@ class BlockAPI{
|
||||
if(!isset($b[1])){
|
||||
$meta = 0;
|
||||
}else{
|
||||
$meta = (int) $b[1];
|
||||
$meta = ((int) $b[1]) & 0xFFFF;
|
||||
}
|
||||
$block = ((int) $b[0]) & 0xFFFF;
|
||||
|
||||
if(defined(strtoupper($b[0]))){
|
||||
$item = BlockAPI::getItem(constant(strtoupper($b[0])), $meta);
|
||||
if($item->getID() === 0){
|
||||
$item = BlockAPI::getItem(((int) $b[0]) & 0xFFFF, $meta);
|
||||
}
|
||||
}else{
|
||||
$item = BlockAPI::getItem(((int) $b[0]) & 0xFFFF, $meta);
|
||||
}
|
||||
|
||||
if(!isset($params[2])){
|
||||
$amount = 64;
|
||||
}else{
|
||||
@ -122,9 +131,8 @@ class BlockAPI{
|
||||
$meta = ((int) $params[3]) & 0xFFFF;
|
||||
}
|
||||
if(($player = $this->server->api->player->get($username)) !== false){
|
||||
$this->drop($player->entity->x - 0.5, $player->entity->y, $player->entity->z - 0.5, $block, $meta, $amount);
|
||||
$b = BlockAPI::get($block, $meta);
|
||||
console("[INFO] Giving ".$amount." of ".$b->getName()." (".$block.":".$meta.") to ".$username);
|
||||
$this->drop($player->entity->x - 0.5, $player->entity->y, $player->entity->z - 0.5, $item->getID(), $item->getMetadata(), $amount);
|
||||
console("[INFO] Giving ".$amount." of ".$item->getName()." (".$item->getID().":".$item->getMetadata().") to ".$username);
|
||||
}else{
|
||||
console("[INFO] Unknown player");
|
||||
}
|
||||
|
@ -30,6 +30,8 @@ require_once("classes/material/IDs.php");
|
||||
class Item{
|
||||
public static $class = array(
|
||||
SUGARCANE => "SugarcaneItem",
|
||||
WHEAT_SEEDS => "WheatSeedsItem",
|
||||
MELON_SEEDS => "MelonSeedsItem",
|
||||
);
|
||||
protected $block;
|
||||
protected $id;
|
||||
|
@ -41,7 +41,7 @@ class SugarcaneBlock extends TransparentBlock{
|
||||
$down = $level->getBlockFace($block, 0);
|
||||
if($down->getID() === SUGARCANE_BLOCK){
|
||||
$level->setBlock($block, $this->id, 0);
|
||||
return true;
|
||||
return true;
|
||||
}elseif($down->getID() === 2 or $down->getID() === 3 or $down->getID() === 12){
|
||||
$block0 = $level->getBlockFace($down, 2);
|
||||
$block1 = $level->getBlockFace($down, 3);
|
||||
|
@ -260,7 +260,7 @@ class Entity extends stdClass{
|
||||
if($this->speedZ != 0){
|
||||
$this->z += $this->speedZ * 5;
|
||||
}
|
||||
if(isset($blockDown->isFlowable === true){
|
||||
if($blockDown->isFlowable === true){
|
||||
$this->speedY -= 0.04 * 5;
|
||||
//$this->server->api->handle("entity.motion", $this);
|
||||
}elseif($this->speedY < 0){
|
||||
@ -271,7 +271,7 @@ class Entity extends stdClass{
|
||||
//$this->server->api->handle("entity.motion", $this);
|
||||
}
|
||||
}else{
|
||||
if(isset($blockDown->isFlowable === true){
|
||||
if($blockDown->isFlowable === true){
|
||||
if($this->fallY === false or $y > $this->fallY){
|
||||
$this->fallY = $y;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user