mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-07-13 05:15:13 +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])){
|
if(!isset($b[1])){
|
||||||
$meta = 0;
|
$meta = 0;
|
||||||
}else{
|
}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])){
|
if(!isset($params[2])){
|
||||||
$amount = 64;
|
$amount = 64;
|
||||||
}else{
|
}else{
|
||||||
@ -122,9 +131,8 @@ class BlockAPI{
|
|||||||
$meta = ((int) $params[3]) & 0xFFFF;
|
$meta = ((int) $params[3]) & 0xFFFF;
|
||||||
}
|
}
|
||||||
if(($player = $this->server->api->player->get($username)) !== false){
|
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);
|
$this->drop($player->entity->x - 0.5, $player->entity->y, $player->entity->z - 0.5, $item->getID(), $item->getMetadata(), $amount);
|
||||||
$b = BlockAPI::get($block, $meta);
|
console("[INFO] Giving ".$amount." of ".$item->getName()." (".$item->getID().":".$item->getMetadata().") to ".$username);
|
||||||
console("[INFO] Giving ".$amount." of ".$b->getName()." (".$block.":".$meta.") to ".$username);
|
|
||||||
}else{
|
}else{
|
||||||
console("[INFO] Unknown player");
|
console("[INFO] Unknown player");
|
||||||
}
|
}
|
||||||
|
@ -30,6 +30,8 @@ require_once("classes/material/IDs.php");
|
|||||||
class Item{
|
class Item{
|
||||||
public static $class = array(
|
public static $class = array(
|
||||||
SUGARCANE => "SugarcaneItem",
|
SUGARCANE => "SugarcaneItem",
|
||||||
|
WHEAT_SEEDS => "WheatSeedsItem",
|
||||||
|
MELON_SEEDS => "MelonSeedsItem",
|
||||||
);
|
);
|
||||||
protected $block;
|
protected $block;
|
||||||
protected $id;
|
protected $id;
|
||||||
|
@ -260,7 +260,7 @@ class Entity extends stdClass{
|
|||||||
if($this->speedZ != 0){
|
if($this->speedZ != 0){
|
||||||
$this->z += $this->speedZ * 5;
|
$this->z += $this->speedZ * 5;
|
||||||
}
|
}
|
||||||
if(isset($blockDown->isFlowable === true){
|
if($blockDown->isFlowable === true){
|
||||||
$this->speedY -= 0.04 * 5;
|
$this->speedY -= 0.04 * 5;
|
||||||
//$this->server->api->handle("entity.motion", $this);
|
//$this->server->api->handle("entity.motion", $this);
|
||||||
}elseif($this->speedY < 0){
|
}elseif($this->speedY < 0){
|
||||||
@ -271,7 +271,7 @@ class Entity extends stdClass{
|
|||||||
//$this->server->api->handle("entity.motion", $this);
|
//$this->server->api->handle("entity.motion", $this);
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
if(isset($blockDown->isFlowable === true){
|
if($blockDown->isFlowable === true){
|
||||||
if($this->fallY === false or $y > $this->fallY){
|
if($this->fallY === false or $y > $this->fallY){
|
||||||
$this->fallY = $y;
|
$this->fallY = $y;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user