The Config Update

Version 1.2.0:

Configuration added:
Disable certain features!

Controls added:
You can now see if someone is using a Mouse/Controller or Touch!

GUI Scale added:
You can now see if a player uses Minimum/Medium or Maximum GUI Scale!
This commit is contained in:
Matthew 2017-05-31 00:10:29 +02:00
parent 7608b4d3f0
commit e1e66797f9
3 changed files with 84 additions and 22 deletions

View File

@ -1,5 +1,5 @@
name: PlayerInfo name: PlayerInfo
version: 1.1.1 version: 1.2.0
author: Matthww author: Matthww
api: [3.0.0-ALPHA1, 3.0.0-ALPHA2, 3.0.0-ALPHA3, 3.0.0-ALPHA4, 3.0.0-ALPHA5] api: [3.0.0-ALPHA1, 3.0.0-ALPHA2, 3.0.0-ALPHA3, 3.0.0-ALPHA4, 3.0.0-ALPHA5]
description: Shows info about a certain player! description: Shows info about a certain player!

28
resources/config.yml Normal file
View File

@ -0,0 +1,28 @@
---
# Configuration for PlayerInfo
# Show player's name
Name: true
# Show player's IP
IP: true
# Show Device OS
# (Android, iOS etc.)
OS: true
# Show Device Model
# (iPhone 7 etc.)
Model: true
# Show player's UI settings
# (Classic UI or Pocket UI)
UI: true
# Show player's GUI scale settings
GUI: true
# Show player's controls
# (Touch, Mouse or Controller)
Controls: true
...

View File

@ -11,39 +11,41 @@ use pocketmine\network\mcpe\protocol\LoginPacket;
use pocketmine\Player; use pocketmine\Player;
use pocketmine\plugin\PluginBase; use pocketmine\plugin\PluginBase;
class PlayerInfo extends PluginBase implements Listener class PlayerInfo extends PluginBase implements Listener {
{
protected $DeviceOS; protected $DeviceOS;
protected $DeviceModel; protected $DeviceModel;
protected $UIProfile; protected $UIProfile;
protected $PlayerData; protected $PlayerData;
protected $config;
public function onEnable() public function onEnable() {
{
$this->getServer()->getPluginManager()->registerEvents($this, $this); $this->getServer()->getPluginManager()->registerEvents($this, $this);
$this->saveDefaultConfig();
$this->getLogger()->notice("is enabled");
SpoonDetector::printSpoon($this, 'spoon.txt'); SpoonDetector::printSpoon($this, 'spoon.txt');
} }
public function onDisable() public function onDisable() {
{ $this->getLogger()->notice("is disabled!");
$this->getLogger()->info("is disabled!");
} }
public function onPacketReceived(DataPacketReceiveEvent $receiveEvent) public function onPacketReceived(DataPacketReceiveEvent $receiveEvent) {
{
if ($receiveEvent->getPacket() instanceof LoginPacket) { if ($receiveEvent->getPacket() instanceof LoginPacket) {
$pk = $receiveEvent->getPacket(); $pk = $receiveEvent->getPacket();
$this->PlayerData[$pk->username] = $pk->clientData; $this->PlayerData[$pk->username] = $pk->clientData;
safe_var_dump($receiveEvent->getPacket()->clientData);
} }
} }
public function onCommand(CommandSender $sender, Command $command, $label, array $args) public function onCommand(CommandSender $sender, Command $command, $label, array $args) {
{
if (strtolower($command->getName()) == "playerinfo" or strtolower($command->getName()) == "pinfo") { if (strtolower($command->getName()) == "playerinfo" or strtolower($command->getName()) == "pinfo") {
$os = ["Unknown", "Android", "iOS", "OSX", "FireOS", "GearVR", "HoloLens", "Windows 10", "Windows", "Dedicated"]; $os = ["Unknown", "Android", "iOS", "OSX", "FireOS", "GearVR", "HoloLens", "Windows 10", "Windows", "Dedicated"];
$UI = ["Classic UI", "Pocket UI"]; $UI = ["Classic UI", "Pocket UI"];
$Controls = ["Unknown", "Mouse", "Touch", "Controller"];
$GUI = [-2 => "Minimum", -1 => "Medium", 0 => "Maximum"];
if ($sender->hasPermission("playerinfo.use")) { if ($sender->hasPermission("playerinfo.use")) {
if (isset($args[0])) { if (isset($args[0])) {
@ -51,11 +53,27 @@ class PlayerInfo extends PluginBase implements Listener
$target = $this->getServer()->getPlayer($args[0]); $target = $this->getServer()->getPlayer($args[0]);
$cdata = $this->PlayerData[$target->getName()]; $cdata = $this->PlayerData[$target->getName()];
$sender->sendMessage("§a§l===§r§aPlayer Info§a§l==="); $sender->sendMessage("§a§l===§r§aPlayer Info§a§l===");
if ($this->getConfig()->get("Name") == true) {
$sender->sendMessage("§bName: §c" . $target->getDisplayName()); $sender->sendMessage("§bName: §c" . $target->getDisplayName());
}
if ($this->getConfig()->get("IP") == true) {
$sender->sendMessage("§bIP: §c" . $target->getAddress()); $sender->sendMessage("§bIP: §c" . $target->getAddress());
}
if ($this->getConfig()->get("OS") == true) {
$sender->sendMessage("§bOS: §c" . $os[$cdata["DeviceOS"]]); $sender->sendMessage("§bOS: §c" . $os[$cdata["DeviceOS"]]);
}
if ($this->getConfig()->get("Model") == true) {
$sender->sendMessage("§bModel: §c" . $cdata["DeviceModel"]); $sender->sendMessage("§bModel: §c" . $cdata["DeviceModel"]);
}
if ($this->getConfig()->get("UI") == true) {
$sender->sendMessage("§bUI: §c" . $UI[$cdata["UIProfile"]]); $sender->sendMessage("§bUI: §c" . $UI[$cdata["UIProfile"]]);
}
if ($this->getConfig()->get("GUI") == true) {
$sender->sendMessage("§bGUI Scale: §c" . $GUI[$cdata["GuiScale"]]);
}
if ($this->getConfig()->get("Controls") == true) {
$sender->sendMessage("§bControls: §c" . $Controls[$cdata["CurrentInputMode"]]);
}
$sender->sendMessage("§a§l=============="); $sender->sendMessage("§a§l==============");
return true; return true;
} else { } else {
@ -65,11 +83,27 @@ class PlayerInfo extends PluginBase implements Listener
if ($sender instanceof Player) { if ($sender instanceof Player) {
$cdata = $this->PlayerData[$sender->getName()]; $cdata = $this->PlayerData[$sender->getName()];
$sender->sendMessage("§a§l===§r§aPlayer Info§a§l==="); $sender->sendMessage("§a§l===§r§aPlayer Info§a§l===");
$sender->sendMessage("§bName: §c" . $sender->getName()); if ($this->getConfig()->get("Name") == true) {
$sender->sendMessage("§bName: §c" . $sender->getDisplayName());
}
if ($this->getConfig()->get("IP") == true) {
$sender->sendMessage("§bIP: §c" . $sender->getAddress()); $sender->sendMessage("§bIP: §c" . $sender->getAddress());
}
if ($this->getConfig()->get("OS") == true) {
$sender->sendMessage("§bOS: §c" . $os[$cdata["DeviceOS"]]); $sender->sendMessage("§bOS: §c" . $os[$cdata["DeviceOS"]]);
}
if ($this->getConfig()->get("Model") == true) {
$sender->sendMessage("§bModel: §c" . $cdata["DeviceModel"]); $sender->sendMessage("§bModel: §c" . $cdata["DeviceModel"]);
}
if ($this->getConfig()->get("UI") == true) {
$sender->sendMessage("§bUI: §c" . $UI[$cdata["UIProfile"]]); $sender->sendMessage("§bUI: §c" . $UI[$cdata["UIProfile"]]);
}
if ($this->getConfig()->get("GUI") == true) {
$sender->sendMessage("§bGUI Scale: §c" . $GUI[$cdata["GuiScale"]]);
}
if ($this->getConfig()->get("Controls") == true) {
$sender->sendMessage("§bControls: §c" . $Controls[$cdata["CurrentInputMode"]]);
}
$sender->sendMessage("§a§l=============="); $sender->sendMessage("§a§l==============");
return true; return true;
} else { } else {