Map importing, entity loading and more

This commit is contained in:
Shoghi Cervantes Pueyo
2012-12-07 14:46:40 +01:00
parent 92469a426f
commit 02b2e980eb
12 changed files with 396 additions and 19 deletions

View File

@ -3,14 +3,15 @@ server-name=PHP Server
description= This is a Work in Progress custom server.
motd=Welcome to PHP Server
port=19132
gamemode=1
protocol=CURRENT
seed=false
server-id=false
server-type=normal
max-players=20
time-per-second=10
white-list=false
debug=1
max-players=20
server-type=normal
time-per-second=10
gamemode=1
seed=false
level-name=false
server-id=false
spawn=128.5;100;128.5
regenerate-config=true

View File

@ -71,6 +71,9 @@ require_once("classes/Utils.class.php");
require_once("classes/UDPSocket.class.php");
require_once("classes/Packet.class.php");
require_once("classes/Entity.class.php");
require_once("classes/MapInterface.class.php");
require_once("classes/ChunkParser.class.php");
require_once("classes/NBT.class.php");
require_once("classes/SerializedPacketHandler.class.php");
require_once("classes/CustomPacketHandler.class.php");
require_once("classes/MinecraftInterface.class.php");

View File

@ -26,6 +26,31 @@ the Free Software Foundation, either version 3 of the License, or
*/
function parseNBTData($data){
$x = array();
if(isset($data["value"])){
return parseNBTData($data["value"]);
}
foreach($data as $d){
if(!isset($d["value"]) and is_array($d) and count($d) == 1){
return parseNBTData(array_pop($d));
}elseif(!isset($d["value"]) and is_array($d)){
$x[] = parseNBTData($d);
}elseif(is_array($d["value"]) and isset($d["name"])){
$x[$d["name"]] = parseNBTData($d["value"]);
}elseif(is_array($d["value"]) and $d["type"] == 10){
return parseNBTData($d["value"]);
}elseif($d["name"] != ""){
$x[$d["name"]] = $d["value"];
}
}
if(count($x) == 0){
$x = $data;
}
return $x;
}
function arg($name, $default){
global $arguments, $argv;
if(!isset($arguments)){