diff --git a/src/API/AchievementAPI.php b/src/API/AchievementAPI.php deleted file mode 100644 index f8b047965..000000000 --- a/src/API/AchievementAPI.php +++ /dev/null @@ -1,164 +0,0 @@ - array( - "name" => "Taking Inventory", - "requires" => array(), - ),*/ - "mineWood" => array( - "name" => "Getting Wood", - "requires" => array( - //"openInventory", - ), - ), - "buildWorkBench" => array( - "name" => "Benchmarking", - "requires" => array( - "mineWood", - ), - ), - "buildPickaxe" => array( - "name" => "Time to Mine!", - "requires" => array( - "buildWorkBench", - ), - ), - "buildFurnace" => array( - "name" => "Hot Topic", - "requires" => array( - "buildPickaxe", - ), - ), - "acquireIron" => array( - "name" => "Acquire hardware", - "requires" => array( - "buildFurnace", - ), - ), - "buildHoe" => array( - "name" => "Time to Farm!", - "requires" => array( - "buildWorkBench", - ), - ), - "makeBread" => array( - "name" => "Bake Bread", - "requires" => array( - "buildHoe", - ), - ), - "bakeCake" => array( - "name" => "The Lie", - "requires" => array( - "buildHoe", - ), - ), - "buildBetterPickaxe" => array( - "name" => "Getting an Upgrade", - "requires" => array( - "buildPickaxe", - ), - ), - "buildSword" => array( - "name" => "Time to Strike!", - "requires" => array( - "buildWorkBench", - ), - ), - "diamonds" => array( - "name" => "DIAMONDS!", - "requires" => array( - "acquireIron", - ), - ), - - ); - - function __construct(){ - } - - public static function broadcastAchievement(Player $player, $achievementId){ - if(isset(self::$achievements[$achievementId])){ - $result = ServerAPI::request()->api->dhandle("achievement.broadcast", array("player" => $player, "achievementId" => $achievementId)); - if($result !== false and $result !== true){ - if(ServerAPI::request()->api->getProperty("announce-player-achievements") == true){ - ServerAPI::request()->api->chat->broadcast($player->username." has just earned the achievement ".self::$achievements[$achievementId]["name"]); - }else{ - $player->sendChat("You have just earned the achievement ".self::$achievements[$achievementId]["name"]); - } - } - return true; - } - return false; - } - - public static function addAchievement($achievementId, $achievementName, array $requires = array()){ - if(!isset(self::$achievements[$achievementId])){ - self::$achievements[$achievementId] = array( - "name" => $achievementName, - "requires" => $requires, - ); - return true; - } - return false; - } - - public static function hasAchievement(Player $player, $achievementId){ - if(!isset(self::$achievements[$achievementId]) or !isset($player->achievements)){ - $player->achievements = array(); - return false; - } - - if(!isset($player->achievements[$achievementId]) or $player->achievements[$achievementId] == false){ - return false; - } - return true; - } - - public static function grantAchievement(Player $player, $achievementId){ - if(isset(self::$achievements[$achievementId]) and !self::hasAchievement($player, $achievementId)){ - foreach(self::$achievements[$achievementId]["requires"] as $requerimentId){ - if(!self::hasAchievement($player, $requerimentId)){ - return false; - } - } - if(ServerAPI::request()->api->dhandle("achievement.grant", array("player" => $player, "achievementId" => $achievementId)) !== false){ - $player->achievements[$achievementId] = true; - self::broadcastAchievement($player, $achievementId); - return true; - }else{ - return false; - } - } - return false; - } - - public static function removeAchievement(Player $player, $achievementId){ - if(self::hasAchievement($player, $achievementId)){ - $player->achievements[$achievementId] = false; - } - } - - public function init(){ - } -} diff --git a/src/API/PlayerAPI.php b/src/API/PlayerAPI.php index 525798e9c..fef602642 100644 --- a/src/API/PlayerAPI.php +++ b/src/API/PlayerAPI.php @@ -459,7 +459,6 @@ class PlayerAPI{ "health" => 20, "lastIP" => "", "lastID" => 0, - "achievements" => array(), ); if(!file_exists(DATA_PATH."players/".$iname.".yml")){ diff --git a/src/API/ServerAPI.php b/src/API/ServerAPI.php index 809d7952c..5c4de5012 100644 --- a/src/API/ServerAPI.php +++ b/src/API/ServerAPI.php @@ -61,7 +61,6 @@ class ServerAPI{ "memory-limit" => "128M", "last-update" => false, "white-list" => false, - "announce-player-achievements" => true, "spawn-protection" => 16, "view-distance" => 10, "max-players" => 20, diff --git a/src/Player.php b/src/Player.php index dbe3f0633..42437c49b 100644 --- a/src/Player.php +++ b/src/Player.php @@ -58,7 +58,6 @@ class Player{ public $windowCnt = 2; public $windows = array(); public $blocked = true; - public $achievements = array(); public $chunksLoaded = array(); private $chunksOrder = array(); private $lastMeasure = 0; @@ -217,7 +216,6 @@ class Player{ public function save(){ if($this->entity instanceof Entity){ - $this->data->set("achievements", $this->achievements); $this->data->set("position", array( "level" => $this->entity->level->getName(), "x" => $this->entity->x, @@ -538,10 +536,8 @@ class Player{ } switch($data["entity"]->type){ case WOOD: - AchievementAPI::grantAchievement($this, "mineWood"); break; case DIAMOND: - AchievementAPI::grantAchievement($this, "diamond"); break; } }elseif($data["entity"]->level === $this->level){ @@ -753,40 +749,6 @@ class Player{ }else{ $this->setSlot($slot, BlockAPI::getItem($item->getID(), $item->getMetadata(), $s->count + $item->count), false); } - - switch($item->getID()){ - case WORKBENCH: - AchievementAPI::grantAchievement($this, "buildWorkBench"); - break; - case WOODEN_PICKAXE: - AchievementAPI::grantAchievement($this, "buildPickaxe"); - break; - case FURNACE: - AchievementAPI::grantAchievement($this, "buildFurnace"); - break; - case WOODEN_HOE: - AchievementAPI::grantAchievement($this, "buildHoe"); - break; - case BREAD: - AchievementAPI::grantAchievement($this, "makeBread"); - break; - case CAKE: - AchievementAPI::grantAchievement($this, "bakeCake"); - break; - case STONE_PICKAXE: - case GOLD_PICKAXE: - case IRON_PICKAXE: - case DIAMOND_PICKAXE: - AchievementAPI::grantAchievement($this, "buildBetterPickaxe"); - break; - case WOODEN_SWORD: - AchievementAPI::grantAchievement($this, "buildSword"); - break; - case DIAMOND: - AchievementAPI::grantAchievement($this, "diamond"); - break; - - } } } return $res; @@ -1247,7 +1209,6 @@ class Player{ } $this->data->set("inventory", $inv); } - $this->achievements = $this->data->get("achievements"); $this->data->set("caseusername", $this->username); $this->inventory = array(); foreach($this->data->get("inventory") as $slot => $item){ @@ -2008,14 +1969,6 @@ class Player{ )); break; } - - if($tile->class === TILE_FURNACE and $data["slot"] == 2){ - switch($slot->getID()){ - case IRON_INGOT: - AchievementAPI::grantAchievement($this, "acquireIron"); - break; - } - } if($item->getID() !== AIR and $slot->getID() == $item->getID()){ if($slot->count < $item->count){