This commit is contained in:
Shoghi Cervantes Pueyo 2013-05-14 23:46:22 +02:00
parent c27cca6741
commit 24c0e2742a
8 changed files with 16 additions and 30 deletions

View File

@ -83,7 +83,6 @@ class ServerAPI{
"enable-query" => false, "enable-query" => false,
"enable-rcon" => false, "enable-rcon" => false,
"rcon.password" => substr(base64_encode(Utils::getRandomBytes(20, false)), 3, 10), "rcon.password" => substr(base64_encode(Utils::getRandomBytes(20, false)), 3, 10),
"upnp-forwarding" => false,
"send-usage" => true, "send-usage" => true,
)); ));
$this->parseProperties(); $this->parseProperties();

View File

@ -84,8 +84,8 @@ class TileEntityAPI{
public function add(Level $level, $class, $x, $y, $z, $data = array()){ public function add(Level $level, $class, $x, $y, $z, $data = array()){
$id = $this->tCnt++; $id = $this->tCnt++;
$this->tileEntities[$id] = new TileEntity($id, $class, $x, $y, $z, $data); $this->tileEntities[$id] = new TileEntity($level, $id, $class, $x, $y, $z, $data);
$this->spawnToAll($id); $this->spawnToAll($level, $id);
return $this->tileEntities[$id]; return $this->tileEntities[$id];
} }

View File

@ -34,7 +34,6 @@ class AirBlock extends TransparentBlock{
$this->isTransparent = true; $this->isTransparent = true;
$this->isReplaceable = true; $this->isReplaceable = true;
$this->isPlaceable = false; $this->isPlaceable = false;
$this->inWorld = false;
$this->hasPhysics = false; $this->hasPhysics = false;
} }

View File

@ -41,8 +41,8 @@ class BedBlock extends TransparentBlock{
3 => 5, 3 => 5,
); );
$d = $player->entity->getDirection(); $d = $player->entity->getDirection();
$next = $this->level->getBlockFace($block, $faces[(($d + 3) % 4)]); $next = $this->getSide($faces[(($d + 3) % 4)]);
$downNext = $this->level->getBlockFace($next, 0); $downNext = $this->getSide(0);
if($next->isReplaceable === true and $downNext->isTransparent === false){ if($next->isReplaceable === true and $downNext->isTransparent === false){
$meta = (($d + 3) % 4) & 0x03; $meta = (($d + 3) % 4) & 0x03;
$this->level->setBlock($block, BlockAPI::get($this->id, $meta)); $this->level->setBlock($block, BlockAPI::get($this->id, $meta));

View File

@ -45,13 +45,11 @@ class SaplingBlock extends TransparentBlock{
public function place(Item $item, Player $player, Block $block, Block $target, $face, $fx, $fy, $fz){ public function place(Item $item, Player $player, Block $block, Block $target, $face, $fx, $fy, $fz){
console("SAPLING SAPLING SAPLING");return false; //Placeholder console("SAPLING SAPLING SAPLING");return false; //Placeholder
if($block->inWorld === true){ $down = $this->getSide(0);
$down = $level->getBlockFace($block, 0);
if($down->getID() === GRASS or $down->getID() === DIRT or $down->getID() === FARMLAND){ if($down->getID() === GRASS or $down->getID() === DIRT or $down->getID() === FARMLAND){
$level->setBlock($block, $this->id, $this->getMetadata()); $level->setBlock($block, $this->id, $this->getMetadata());
return true; return true;
} }
}
return false; return false;
} }
@ -66,9 +64,6 @@ class SaplingBlock extends TransparentBlock{
public function onUpdate($type){ public function onUpdate($type){
console("SAPLING SAPLING SAPLING");return false; //Placeholder console("SAPLING SAPLING SAPLING");return false; //Placeholder
if($this->inWorld !== true){
return false;
}
if($type === BLOCK_UPDATE_RANDOM and mt_rand(0,2) === 0){ //Growth if($type === BLOCK_UPDATE_RANDOM and mt_rand(0,2) === 0){ //Growth
if(($this->meta & 0x08) === 0x08){ if(($this->meta & 0x08) === 0x08){
TreeObject::growTree($level, $this); TreeObject::growTree($level, $this);

View File

@ -33,7 +33,6 @@ class BurningFurnaceBlock extends SolidBlock{
} }
public function place(Item $item, Player $player, Block $block, Block $target, $face, $fx, $fy, $fz){ public function place(Item $item, Player $player, Block $block, Block $target, $face, $fx, $fy, $fz){
if($block->inWorld === true){
$faces = array( $faces = array(
0 => 4, 0 => 4,
1 => 2, 1 => 2,
@ -43,8 +42,6 @@ class BurningFurnaceBlock extends SolidBlock{
$this->meta = $faces[$player->entity->getDirection()]; $this->meta = $faces[$player->entity->getDirection()];
$this->level->setBlock($block, $this); $this->level->setBlock($block, $this);
return true; return true;
}
return false;
} }
public function onBreak(Item $item, Player $player){ public function onBreak(Item $item, Player $player){

View File

@ -31,18 +31,15 @@ class FenceGateBlock extends TransparentBlock{
$this->isActivable = true; $this->isActivable = true;
} }
public function place(Item $item, Player $player, Block $block, Block $target, $face, $fx, $fy, $fz){ public function place(Item $item, Player $player, Block $block, Block $target, $face, $fx, $fy, $fz){
if($block->inWorld === true){ $faces = array(
$faces = array( 0 => 3,
0 => 3, 1 => 0,
1 => 0, 2 => 1,
2 => 1, 3 => 2,
3 => 2, );
); $this->meta = $faces[$player->entity->getDirection()] & 0x03;
$this->meta = $faces[$player->entity->getDirection()] & 0x03; $this->level->setBlock($block, $this);
$this->level->setBlock($block, $this); return true;
return true;
}
return false;
} }
public function getDrops(Item $item, Player $player){ public function getDrops(Item $item, Player $player){
return array( return array(

View File

@ -34,7 +34,6 @@ class Query{
private $socket, $server, $lastToken, $token, $longData, $timeout; private $socket, $server, $lastToken, $token, $longData, $timeout;
public function __construct(){ public function __construct(){
$this->password = (string) $password;
console("[INFO] Starting GS4 status listener"); console("[INFO] Starting GS4 status listener");
$this->server = ServerAPI::request(); $this->server = ServerAPI::request();
$addr = $this->server->api->getProperty("server-ip", "0.0.0.0"); $addr = $this->server->api->getProperty("server-ip", "0.0.0.0");
@ -74,7 +73,7 @@ class Query{
"game_id" => "MINECRAFTPE", "game_id" => "MINECRAFTPE",
"version" => CURRENT_MINECRAFT_VERSION, "version" => CURRENT_MINECRAFT_VERSION,
"plugins" => $plist, "plugins" => $plist,
"map" => $this->server->mapName, "map" => $this->server->api->level->getDefault()->getName(),
"numplayers" => count($this->server->clients), "numplayers" => count($this->server->clients),
"maxplayers" => $this->server->maxClients, "maxplayers" => $this->server->maxClients,
"hostport" => $this->server->api->getProperty("server-port"), "hostport" => $this->server->api->getProperty("server-port"),
@ -128,7 +127,7 @@ class Query{
} }
$this->server->send(0, chr(0).Utils::writeInt($sessionID).$this->longData, true, $packet["ip"], $packet["port"]); $this->server->send(0, chr(0).Utils::writeInt($sessionID).$this->longData, true, $packet["ip"], $packet["port"]);
}else{ }else{
$this->server->send(0, chr(0).Utils::writeInt($sessionID).$this->server->name."\x00SMP\x00".$this->server->mapName."\x00".count($this->server->clients)."\x00".$this->server->maxClients."\x00".Utils::writeLShort($this->server->api->getProperty("server-port")).$this->server->api->getProperty("server-ip", "0.0.0.0")."\x00", true, $packet["ip"], $packet["port"]); $this->server->send(0, chr(0).Utils::writeInt($sessionID).$this->server->name."\x00SMP\x00".$this->server->api->level->getDefault()->getName()."\x00".count($this->server->clients)."\x00".$this->server->maxClients."\x00".Utils::writeLShort($this->server->api->getProperty("server-port")).$this->server->api->getProperty("server-ip", "0.0.0.0")."\x00", true, $packet["ip"], $packet["port"]);
} }
break; break;
} }