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
version: 1.1.1
version: 1.2.0
author: Matthww
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!

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