Skip to content

Commit

Permalink
Fixed #10
Browse files Browse the repository at this point in the history
  • Loading branch information
Kris-Driv committed Aug 28, 2018
1 parent 429e5d7 commit d48c04d
Show file tree
Hide file tree
Showing 4 changed files with 62 additions and 5 deletions.
29 changes: 26 additions & 3 deletions src/factions/command/Info.php
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,8 @@
use factions\utils\Text;
use localizer\Localizer;
use pocketmine\command\CommandSender;
use pocketmine\utils\TextFormat;
use factions\engine\ChatEngine;

class Info extends Command
{
Expand Down Expand Up @@ -73,17 +75,38 @@ public function perform(CommandSender $sender, $label, array $args)
$member->sendMessage($title);
$member->sendMessage(Text::parse("<gold>ID: <yellow>".$id));
$member->sendMessage(Text::parse("<gold>Description: <yellow>".$description));
$member->sendMessage(Text::parse("<gold>Created: <purple>".Text::ago($age)));
$member->sendMessage(Text::parse("<gold>Age: <purple>".Text::time_elapsed($age)));
$member->sendMessage(Text::parse("<gold>Flags: ".$flags));
$member->sendMessage(Text::parse("<gold>".implode("/", array_keys($power)).": <yellow>".implode("/", array_values($power))));
$member->sendMessage(Text::parse("<gold>".implode(TextFormat::YELLOW." / ", array_keys($power)).": <yellow>".implode(TextFormat::YELLOW."/", array_values($power))));
foreach ($relations as $rel => $factions) {
$member->sendMessage(Text::parse("<gold>Relation ".REL::getColor($rel).ucfirst($rel)."<gold>(".count($factions)."):"));
$member->sendMessage(Text::parse("<gold>Relation ".REL::getColor($rel).ucfirst($rel)." <gold>(".count($factions)."):"));
if(empty($factions)) {
$member->sendMessage(Text::parse("<gray>none"));
} else {
$member->sendMessage(Text::parse(implode(" ", array_map(function($f){return $f->getName();}, $factions))));
}
}
$member->sendMessage(Text::parse("<yellow>Followers Online (" . count($faction->getOnlineMembers()) . "):"));
$members = [];
foreach($faction->getOnlineMembers() as $m) {
$members[] = "<green>".ChatEngine::getBadge($m->getRole())."<rose>".$faction->getName()." <green>".$m->getDisplayName();
}
if(empty($members)) {
$members[] = "<gray>none";
}
$member->sendMessage(Text::parse(rtrim(implode(', ', $members), ', ')));
$member->sendMessage(Text::parse("<yellow>Followers Offline (" . count($faction->getOfflineMembers()) . "):"));
$members = [];
foreach($faction->getOfflineMembers() as $m) {
$members[] = "<green>".ChatEngine::getBadge($m->getRole())."<rose>".$faction->getName()." <green>".$m->getDisplayName();
}
// Text::getRelationColor(Relation::getRelationOfThatToMe($m, $member)) # Should I add this instead of showing
# All factions red?
if(empty($members)) {
$members[] = "<gray>none";
}
$member->sendMessage(Text::parse(rtrim(implode(', ', $members), ', ')));


return true;
}
Expand Down
15 changes: 14 additions & 1 deletion src/factions/entity/Faction.php
Original file line number Diff line number Diff line change
Expand Up @@ -197,7 +197,7 @@ public function getFlag(string $id): bool
}

/**
* @return IMember[]
* @return Member[]
*/
public function getOnlineMembers(): array
{
Expand All @@ -208,6 +208,19 @@ public function getOnlineMembers(): array
return $ret;
}

/**
* @return OfflineMember[]
*/
public function getOfflineMembers(): array
{
$ret = [];
foreach ($this->getMembers() as $member) {
if (!$member->isOnline()) $ret[] = $member;
}
return $ret;
}


/*
* ----------------------------------------------------------
* MEMBERS
Expand Down
2 changes: 1 addition & 1 deletion src/factions/manager/Plots.php
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ public static function getOwnerId(Position $plot): string
*/
public static function hash(Position $pos): string
{
if(!$pos->level) return md5(microtime(true));
//if(!$pos->level) return md5(microtime(true));
return $pos->x . ":" . $pos->z . ":" . $pos->level->getName();
}

Expand Down
21 changes: 21 additions & 0 deletions src/factions/utils/Text.php
Original file line number Diff line number Diff line change
Expand Up @@ -464,6 +464,27 @@ public static function ago(int $time): string

}

public static function time_elapsed(int $secs, bool $colored = true): string {
$bit = array(
TextFormat::AQUA . ' year' => $secs / 31556926 % 12,
TextFormat::AQUA . ' week' => $secs / 604800 % 52,
TextFormat::AQUA . ' day' => $secs / 86400 % 7,
TextFormat::AQUA . ' hour' => $secs / 3600 % 24,
TextFormat::AQUA . ' minute' => $secs / 60 % 60,
TextFormat::AQUA . ' second' => $secs % 60
);

foreach($bit as $k => $v){
if($v > 1)$ret[] = TextFormat::LIGHT_PURPLE . $v . $k . 's';
if($v == 1)$ret[] = TextFormat::LIGHT_PURPLE . $v . $k;
}
array_splice($ret, count($ret) - 1, 0, TextFormat::YELLOW . 'and');

$ret = join(' ', $ret);
if(!$colored) $ret = TextFormat::clean($ret);
return $ret;
}


}

0 comments on commit d48c04d

Please sign in to comment.