diff --git a/plugin.yml b/plugin.yml index 893ffde..cb5796c 100644 --- a/plugin.yml +++ b/plugin.yml @@ -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! diff --git a/resources/config.yml b/resources/config.yml new file mode 100644 index 0000000..a16ad29 --- /dev/null +++ b/resources/config.yml @@ -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 +... \ No newline at end of file diff --git a/src/Matthww/PlayerInfo/PlayerInfo.php b/src/Matthww/PlayerInfo/PlayerInfo.php index e0d36c2..91cd402 100644 --- a/src/Matthww/PlayerInfo/PlayerInfo.php +++ b/src/Matthww/PlayerInfo/PlayerInfo.php @@ -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 {