mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-05-18 19:55:33 +00:00
Added achievement.grant and achievement.broadcast handlers for more customization
This commit is contained in:
parent
8e452831e1
commit
64f7a78329
@ -98,11 +98,18 @@ class AchievementAPI{
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static function broadcastAchievement(Player $player, $achievementId){
|
public static function broadcastAchievement(Player $player, $achievementId){
|
||||||
if(ServerAPI::request()->api->getProperty("announce-player-achievements") == true){
|
if(isset(self::$achievements[$achievementId])){
|
||||||
ServerAPI::request()->api->chat->broadcast($player->username." has just earned the achievement ".self::$achievements[$achievementId]["name"]);
|
$result = ServerAPI::request()->api->dhandle("achievement.broadcast", array("player" => $player, "achievementId" => $achievementId));
|
||||||
}else{
|
if($result !== false and $result !== true){
|
||||||
$player->sendChat("You have just earned the achievement ".self::$achievements[$achievementId]["name"]);
|
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()){
|
public static function addAchievement($achievementId, $achievementName, array $requires = array()){
|
||||||
@ -135,9 +142,13 @@ class AchievementAPI{
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$player->achievements[$achievementId] = true;
|
if(ServerAPI::request()->api->dhandle("achievement.grant", array("player" => $player, "achievementId" => $achievementId)) !== false){
|
||||||
self::broadcastAchievement($player, $achievementId);
|
$player->achievements[$achievementId] = true;
|
||||||
return true;
|
self::broadcastAchievement($player, $achievementId);
|
||||||
|
return true;
|
||||||
|
}else{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user