mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-07-03 08:39:53 +00:00
Placing Signs
This commit is contained in:
parent
df46e241d3
commit
8a5708f47a
@ -126,11 +126,18 @@ class BlockAPI{
|
|||||||
case 107:
|
case 107:
|
||||||
case 108:
|
case 108:
|
||||||
case 109:
|
case 109:
|
||||||
|
case 114:
|
||||||
|
case 128:
|
||||||
|
case 156:
|
||||||
$drop[1] = 0;
|
$drop[1] = 0;
|
||||||
break;
|
break;
|
||||||
case 56:
|
case 56:
|
||||||
$drop = array(264, 0, 1);
|
$drop = array(264, 0, 1);
|
||||||
break;
|
break;
|
||||||
|
case 63:
|
||||||
|
case 68:
|
||||||
|
$drop = array(323, 0, 1);
|
||||||
|
break;
|
||||||
case 73:
|
case 73:
|
||||||
case 74:
|
case 74:
|
||||||
$drop = array(351, 4, mt_rand(4, 5));
|
$drop = array(351, 4, mt_rand(4, 5));
|
||||||
@ -619,6 +626,27 @@ class BlockAPI{
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case 323: //Signs
|
||||||
|
$faces = array(
|
||||||
|
2 => 2,
|
||||||
|
3 => 3,
|
||||||
|
4 => 4,
|
||||||
|
5 => 5,
|
||||||
|
);
|
||||||
|
if(!isset($faces[$data["face"]])){
|
||||||
|
if($data["face"] === 1){
|
||||||
|
$data["block"] = 63;
|
||||||
|
$data["meta"] = 0;
|
||||||
|
$this->server->api->tileentity->addSign($data["x"], $data["y"], $data["z"]);
|
||||||
|
}else{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
$data["block"] = 68;
|
||||||
|
$data["meta"] = $faces[$data["face"]];
|
||||||
|
$this->server->api->tileentity->addSign($data["x"], $data["y"], $data["z"]);
|
||||||
|
}
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
$this->server->handle("player.block.place", $data);
|
$this->server->handle("player.block.place", $data);
|
||||||
return false;
|
return false;
|
||||||
|
@ -70,9 +70,23 @@ class TileEntityAPI{
|
|||||||
public function add($class, $x, $y, $z, $data = array()){
|
public function add($class, $x, $y, $z, $data = array()){
|
||||||
$id = $this->tCnt++;
|
$id = $this->tCnt++;
|
||||||
$this->server->tileEntities[$id] = new TileEntity($this->server, $id, $class, $x, $y, $z, $data);
|
$this->server->tileEntities[$id] = new TileEntity($this->server, $id, $class, $x, $y, $z, $data);
|
||||||
|
$this->spawnToAll($id);
|
||||||
return $this->server->tileEntities[$id];
|
return $this->server->tileEntities[$id];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function addSign($x, $y, $z, $lines = array("", "", "", "")){
|
||||||
|
return $this->add(TILE_SIGN, $x, $y, $z, $data = array(
|
||||||
|
"id" => "Sign",
|
||||||
|
"x" => $x,
|
||||||
|
"y" => $y,
|
||||||
|
"z" => $z,
|
||||||
|
"Text1" => $lines[0],
|
||||||
|
"Text2" => $lines[1],
|
||||||
|
"Text3" => $lines[2],
|
||||||
|
"Text4" => $lines[3],
|
||||||
|
));
|
||||||
|
}
|
||||||
|
|
||||||
public function spawnTo($id, $player){
|
public function spawnTo($id, $player){
|
||||||
$t = $this->getByID($id);
|
$t = $this->getByID($id);
|
||||||
if($t === false){
|
if($t === false){
|
||||||
|
@ -241,6 +241,7 @@ class Material{
|
|||||||
156 => true,
|
156 => true,
|
||||||
246 => true,
|
246 => true,
|
||||||
247 => true,
|
247 => true,
|
||||||
|
323 => true, //Special case of signs
|
||||||
);
|
);
|
||||||
static $blocks = array(
|
static $blocks = array(
|
||||||
0 => "Air",
|
0 => "Air",
|
||||||
|
@ -479,6 +479,7 @@ class Player{
|
|||||||
}
|
}
|
||||||
$this->inventory[$s] = array(0, 0, 0);
|
$this->inventory[$s] = array(0, 0, 0);
|
||||||
}
|
}
|
||||||
|
$this->entity->setPosition($this->entity->x, $this->entity->y, $this->entity->z, 0, 0);
|
||||||
break;
|
break;
|
||||||
case 2://Chunk loaded?
|
case 2://Chunk loaded?
|
||||||
break;
|
break;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user