| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -0,0 +1,165 @@ | |||
| 1 | + GNU LESSER GENERAL PUBLIC LICENSE | ||
| 2 | + Version 3, 29 June 2007 | ||
| 3 | + | ||
| 4 | + Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/> | ||
| 5 | + Everyone is permitted to copy and distribute verbatim copies | ||
| 6 | + of this license document, but changing it is not allowed. | ||
| 7 | + | ||
| 8 | + | ||
| 9 | + This version of the GNU Lesser General Public License incorporates | ||
| 10 | + the terms and conditions of version 3 of the GNU General Public | ||
| 11 | + License, supplemented by the additional permissions listed below. | ||
| 12 | + | ||
| 13 | + 0. Additional Definitions. | ||
| 14 | + | ||
| 15 | + As used herein, "this License" refers to version 3 of the GNU Lesser | ||
| 16 | + General Public License, and the "GNU GPL" refers to version 3 of the GNU | ||
| 17 | + General Public License. | ||
| 18 | + | ||
| 19 | + "The Library" refers to a covered work governed by this License, | ||
| 20 | + other than an Application or a Combined Work as defined below. | ||
| 21 | + | ||
| 22 | + An "Application" is any work that makes use of an interface provided | ||
| 23 | + by the Library, but which is not otherwise based on the Library. | ||
| 24 | + Defining a subclass of a class defined by the Library is deemed a mode | ||
| 25 | + of using an interface provided by the Library. | ||
| 26 | + | ||
| 27 | + A "Combined Work" is a work produced by combining or linking an | ||
| 28 | + Application with the Library. The particular version of the Library | ||
| 29 | + with which the Combined Work was made is also called the "Linked | ||
| 30 | + Version". | ||
| 31 | + | ||
| 32 | + The "Minimal Corresponding Source" for a Combined Work means the | ||
| 33 | + Corresponding Source for the Combined Work, excluding any source code | ||
| 34 | + for portions of the Combined Work that, considered in isolation, are | ||
| 35 | + based on the Application, and not on the Linked Version. | ||
| 36 | + | ||
| 37 | + The "Corresponding Application Code" for a Combined Work means the | ||
| 38 | + object code and/or source code for the Application, including any data | ||
| 39 | + and utility programs needed for reproducing the Combined Work from the | ||
| 40 | + Application, but excluding the System Libraries of the Combined Work. | ||
| 41 | + | ||
| 42 | + 1. Exception to Section 3 of the GNU GPL. | ||
| 43 | + | ||
| 44 | + You may convey a covered work under sections 3 and 4 of this License | ||
| 45 | + without being bound by section 3 of the GNU GPL. | ||
| 46 | + | ||
| 47 | + 2. Conveying Modified Versions. | ||
| 48 | + | ||
| 49 | + If you modify a copy of the Library, and, in your modifications, a | ||
| 50 | + facility refers to a function or data to be supplied by an Application | ||
| 51 | + that uses the facility (other than as an argument passed when the | ||
| 52 | + facility is invoked), then you may convey a copy of the modified | ||
| 53 | + version: | ||
| 54 | + | ||
| 55 | + a) under this License, provided that you make a good faith effort to | ||
| 56 | + ensure that, in the event an Application does not supply the | ||
| 57 | + function or data, the facility still operates, and performs | ||
| 58 | + whatever part of its purpose remains meaningful, or | ||
| 59 | + | ||
| 60 | + b) under the GNU GPL, with none of the additional permissions of | ||
| 61 | + this License applicable to that copy. | ||
| 62 | + | ||
| 63 | + 3. Object Code Incorporating Material from Library Header Files. | ||
| 64 | + | ||
| 65 | + The object code form of an Application may incorporate material from | ||
| 66 | + a header file that is part of the Library. You may convey such object | ||
| 67 | + code under terms of your choice, provided that, if the incorporated | ||
| 68 | + material is not limited to numerical parameters, data structure | ||
| 69 | + layouts and accessors, or small macros, inline functions and templates | ||
| 70 | + (ten or fewer lines in length), you do both of the following: | ||
| 71 | + | ||
| 72 | + a) Give prominent notice with each copy of the object code that the | ||
| 73 | + Library is used in it and that the Library and its use are | ||
| 74 | + covered by this License. | ||
| 75 | + | ||
| 76 | + b) Accompany the object code with a copy of the GNU GPL and this license | ||
| 77 | + document. | ||
| 78 | + | ||
| 79 | + 4. Combined Works. | ||
| 80 | + | ||
| 81 | + You may convey a Combined Work under terms of your choice that, | ||
| 82 | + taken together, effectively do not restrict modification of the | ||
| 83 | + portions of the Library contained in the Combined Work and reverse | ||
| 84 | + engineering for debugging such modifications, if you also do each of | ||
| 85 | + the following: | ||
| 86 | + | ||
| 87 | + a) Give prominent notice with each copy of the Combined Work that | ||
| 88 | + the Library is used in it and that the Library and its use are | ||
| 89 | + covered by this License. | ||
| 90 | + | ||
| 91 | + b) Accompany the Combined Work with a copy of the GNU GPL and this license | ||
| 92 | + document. | ||
| 93 | + | ||
| 94 | + c) For a Combined Work that displays copyright notices during | ||
| 95 | + execution, include the copyright notice for the Library among | ||
| 96 | + these notices, as well as a reference directing the user to the | ||
| 97 | + copies of the GNU GPL and this license document. | ||
| 98 | + | ||
| 99 | + d) Do one of the following: | ||
| 100 | + | ||
| 101 | + 0) Convey the Minimal Corresponding Source under the terms of this | ||
| 102 | + License, and the Corresponding Application Code in a form | ||
| 103 | + suitable for, and under terms that permit, the user to | ||
| 104 | + recombine or relink the Application with a modified version of | ||
| 105 | + the Linked Version to produce a modified Combined Work, in the | ||
| 106 | + manner specified by section 6 of the GNU GPL for conveying | ||
| 107 | + Corresponding Source. | ||
| 108 | + | ||
| 109 | + 1) Use a suitable shared library mechanism for linking with the | ||
| 110 | + Library. A suitable mechanism is one that (a) uses at run time | ||
| 111 | + a copy of the Library already present on the user's computer | ||
| 112 | + system, and (b) will operate properly with a modified version | ||
| 113 | + of the Library that is interface-compatible with the Linked | ||
| 114 | + Version. | ||
| 115 | + | ||
| 116 | + e) Provide Installation Information, but only if you would otherwise | ||
| 117 | + be required to provide such information under section 6 of the | ||
| 118 | + GNU GPL, and only to the extent that such information is | ||
| 119 | + necessary to install and execute a modified version of the | ||
| 120 | + Combined Work produced by recombining or relinking the | ||
| 121 | + Application with a modified version of the Linked Version. (If | ||
| 122 | + you use option 4d0, the Installation Information must accompany | ||
| 123 | + the Minimal Corresponding Source and Corresponding Application | ||
| 124 | + Code. If you use option 4d1, you must provide the Installation | ||
| 125 | + Information in the manner specified by section 6 of the GNU GPL | ||
| 126 | + for conveying Corresponding Source.) | ||
| 127 | + | ||
| 128 | + 5. Combined Libraries. | ||
| 129 | + | ||
| 130 | + You may place library facilities that are a work based on the | ||
| 131 | + Library side by side in a single library together with other library | ||
| 132 | + facilities that are not Applications and are not covered by this | ||
| 133 | + License, and convey such a combined library under terms of your | ||
| 134 | + choice, if you do both of the following: | ||
| 135 | + | ||
| 136 | + a) Accompany the combined library with a copy of the same work based | ||
| 137 | + on the Library, uncombined with any other library facilities, | ||
| 138 | + conveyed under the terms of this License. | ||
| 139 | + | ||
| 140 | + b) Give prominent notice with the combined library that part of it | ||
| 141 | + is a work based on the Library, and explaining where to find the | ||
| 142 | + accompanying uncombined form of the same work. | ||
| 143 | + | ||
| 144 | + 6. Revised Versions of the GNU Lesser General Public License. | ||
| 145 | + | ||
| 146 | + The Free Software Foundation may publish revised and/or new versions | ||
| 147 | + of the GNU Lesser General Public License from time to time. Such new | ||
| 148 | + versions will be similar in spirit to the present version, but may | ||
| 149 | + differ in detail to address new problems or concerns. | ||
| 150 | + | ||
| 151 | + Each version is given a distinguishing version number. If the | ||
| 152 | + Library as you received it specifies that a certain numbered version | ||
| 153 | + of the GNU Lesser General Public License "or any later version" | ||
| 154 | + applies to it, you have the option of following the terms and | ||
| 155 | + conditions either of that published version or of any later version | ||
| 156 | + published by the Free Software Foundation. If the Library as you | ||
| 157 | + received it does not specify a version number of the GNU Lesser | ||
| 158 | + General Public License, you may choose any version of the GNU Lesser | ||
| 159 | + General Public License ever published by the Free Software Foundation. | ||
| 160 | + | ||
| 161 | + If the Library as you received it specifies that a proxy can decide | ||
| 162 | + whether future versions of the GNU Lesser General Public License shall | ||
| 163 | + apply, that proxy's public statement of acceptance of any version is | ||
| 164 | + permanent authorization for you to choose that version for the | ||
| 165 | + Library. | ||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -0,0 +1,27 @@ | |||
| 1 | + # Development Tools <em>for PocketMine-MP</em> | ||
| 2 | + | ||
| 3 | + This program is free software: you can redistribute it and/or modify | ||
| 4 | + it under the terms of the GNU Lesser General Public License as published by | ||
| 5 | + the Free Software Foundation, either version 3 of the License, or | ||
| 6 | + (at your option) any later version. | ||
| 7 | + | ||
| 8 | + This program is distributed in the hope that it will be useful, | ||
| 9 | + but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 10 | + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 11 | + GNU Lesser General Public License for more details. | ||
| 12 | + | ||
| 13 | + You should have received a copy of the GNU Lesser General Public License | ||
| 14 | + along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 15 | + | ||
| 16 | + | ||
| 17 | + ## Installation | ||
| 18 | + - Drop it into the PocketMine's `plugins/` folder. | ||
| 19 | + - Restart the server. The plugin will be loaded | ||
| 20 | + | ||
| 21 | + ## Usage | ||
| 22 | + * _/makeplugin <pluginName>_: Creates a Phar plugin archive for its distribution | ||
| 23 | + * _/makeserver_: Creates a PocketMine-MP Phar archive | ||
| 24 | + * _/checkperm <node> [playerName]_: Checks a permission node | ||
| 25 | + | ||
| 26 | + ## Build phars from the command line | ||
| 27 | + See [this](https://github.com/pmmp/PocketMine-DevTools/wiki/Creating-a-phar-plugin-without-PocketMine-MP) wiki page. | ||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -0,0 +1,46 @@ | |||
| 1 | + name: DevTools | ||
| 2 | + main: DevTools\DevTools | ||
| 3 | + version: 1.11.3 | ||
| 4 | + api: [2.0.0, 3.0.0-ALPHA1, 3.0.0-ALPHA2, 3.0.0-ALPHA3, 3.0.0-ALPHA4, 3.0.0-ALPHA5] | ||
| 5 | + load: STARTUP | ||
| 6 | + author: PocketMine Team | ||
| 7 | + description: Helps develop and distribute PocketMine-MP plugins | ||
| 8 | + website: https://github.com/PocketMine/DevTools | ||
| 9 | + commands: | ||
| 10 | + makeserver: | ||
| 11 | + description: Creates a PocketMine-MP Phar | ||
| 12 | + usage: "/makeserver" | ||
| 13 | + permission: devtools.command.makeserver | ||
| 14 | + makeplugin: | ||
| 15 | + description: Creates a Phar plugin from one in source code form | ||
| 16 | + usage: "/makeplugin <pluginName>" | ||
| 17 | + permission: devtools.command.makeplugin | ||
| 18 | + checkperm: | ||
| 19 | + description: Checks a permission value for the current sender, or a player | ||
| 20 | + usage: "/checkperm <node> [playerName]" | ||
| 21 | + permission: "devtools.command.checkperm;devtools.command.checkperm.other" | ||
| 22 | + permissions: | ||
| 23 | + devtools: | ||
| 24 | + default: op | ||
| 25 | + description: "Allows using all the DevTools things" | ||
| 26 | + children: | ||
| 27 | + devtools.command: | ||
| 28 | + default: op | ||
| 29 | + description: "Allows using all the DevTools commands" | ||
| 30 | + children: | ||
| 31 | + devtools.command.makeplugin: | ||
| 32 | + default: op | ||
| 33 | + description: "Allows the creation of Phar plugins" | ||
| 34 | + devtools.command.extractplugin: | ||
| 35 | + default: op | ||
| 36 | + description: "Allows the extraction of Phar plugins" | ||
| 37 | + devtools.command.makeserver: | ||
| 38 | + default: op | ||
| 39 | + description: "Allows the creation of a PocketMine-MP Phar" | ||
| 40 | + devtools.command.checkperm: | ||
| 41 | + default: true | ||
| 42 | + description: "Allows checking a permission value" | ||
| 43 | + children: | ||
| 44 | + devtools.command.checkperm.other: | ||
| 45 | + default: op | ||
| 46 | + description: "Allows checking others permission value" | ||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -0,0 +1,97 @@ | |||
| 1 | + <?php | ||
| 2 | + | ||
| 3 | + /* | ||
| 4 | + * DevTools plugin for PocketMine-MP | ||
| 5 | + * Copyright (C) 2014 PocketMine Team <https://github.com/PocketMine/DevTools> | ||
| 6 | + * | ||
| 7 | + * This program is free software: you can redistribute it and/or modify | ||
| 8 | + * it under the terms of the GNU Lesser General Public License as published by | ||
| 9 | + * the Free Software Foundation, either version 3 of the License, or | ||
| 10 | + * (at your option) any later version. | ||
| 11 | + * | ||
| 12 | + * This program is distributed in the hope that it will be useful, | ||
| 13 | + * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 14 | + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 15 | + * GNU General Public License for more details. | ||
| 16 | + */ | ||
| 17 | + | ||
| 18 | + const VERSION = "1.11.1"; | ||
| 19 | + | ||
| 20 | + $opts = getopt("", ["make:", "relative:", "out:", "entry:", "compress", "stub:"]); | ||
| 21 | + | ||
| 22 | + if(!isset($opts["make"])){ | ||
| 23 | + echo "== PocketMine-MP DevTools CLI interface ==\n\n"; | ||
| 24 | + echo "Usage: " . PHP_BINARY . " -dphar.readonly=0 " . $argv[0] . " --make <sourceFolder> --relative <relativePath> --entry \"relativeSourcePath.php\" --out <pharName.phar>\n"; | ||
| 25 | + exit(0); | ||
| 26 | + } | ||
| 27 | + | ||
| 28 | + if(ini_get("phar.readonly") == 1){ | ||
| 29 | + echo "Set phar.readonly to 0 with -dphar.readonly=0\n"; | ||
| 30 | + exit(1); | ||
| 31 | + } | ||
| 32 | + | ||
| 33 | + $folderPath = rtrim(str_replace("\\", "/", realpath($opts["make"])), "/") . "/"; | ||
| 34 | + $relativePath = isset($opts["relative"]) ? rtrim(str_replace("\\", "/", realpath($opts["relative"])), "/") . "/" : $folderPath; | ||
| 35 | + $pharName = $opts["out"] ?? "output.phar"; | ||
| 36 | + $stubPath = $opts["stub"] ?? "stub.php"; | ||
| 37 | + | ||
| 38 | + | ||
| 39 | + if(!is_dir($folderPath)){ | ||
| 40 | + echo $folderPath . " is not a folder\n"; | ||
| 41 | + exit(1); | ||
| 42 | + } | ||
| 43 | + | ||
| 44 | + echo "\nCreating " . $pharName . "...\n"; | ||
| 45 | + $phar = new \Phar($pharName); | ||
| 46 | + | ||
| 47 | + if(file_exists($relativePath . $stubPath)){ | ||
| 48 | + echo "Using stub " . $relativePath . $stubPath . "\n"; | ||
| 49 | + $phar->setStub('<?php require("phar://" . __FILE__ . "/' . $stubPath . '"); __HALT_COMPILER();'); | ||
| 50 | + }elseif(isset($opts["entry"])){ | ||
| 51 | + $entry = addslashes(str_replace("\\", "/", $opts["entry"])); | ||
| 52 | + echo "Setting entry point to " . $entry . "\n"; | ||
| 53 | + $phar->setStub('<?php require("phar://" . __FILE__ . "/' . $entry . '"); __HALT_COMPILER();'); | ||
| 54 | + }else{ | ||
| 55 | + if(file_exists($relativePath . "plugin.yml")){ | ||
| 56 | + $metadata = yaml_parse_file($relativePath . "plugin.yml"); | ||
| 57 | + }else{ | ||
| 58 | + echo "Missing entry point or plugin.yml\n"; | ||
| 59 | + exit(1); | ||
| 60 | + } | ||
| 61 | + | ||
| 62 | + $phar->setMetadata([ | ||
| 63 | + "name" => $metadata["name"], | ||
| 64 | + "version" => $metadata["version"], | ||
| 65 | + "main" => $metadata["main"], | ||
| 66 | + "api" => $metadata["api"], | ||
| 67 | + "depend" => ($metadata["depend"] ?? ""), | ||
| 68 | + "description" => ($metadata["description"] ?? ""), | ||
| 69 | + "authors" => ($metadata["authors"] ?? ""), | ||
| 70 | + "website" => ($metadata["website"] ?? ""), | ||
| 71 | + "creationDate" => time() | ||
| 72 | + ]); | ||
| 73 | + | ||
| 74 | + $phar->setStub('<?php echo "PocketMine-MP plugin ' . $metadata["name"] . ' v' . $metadata["version"] . '\nThis file has been generated using DevTools v" . $version . " at ' . date("r") . '\n----------------\n";if(extension_loaded("phar")){$phar = new \Phar(__FILE__);foreach($phar->getMetadata() as $key => $value){echo ucfirst($key).": ".(is_array($value) ? implode(", ", $value):$value)."\n";}} __HALT_COMPILER();'); | ||
| 75 | + } | ||
| 76 | + | ||
| 77 | + $phar->setSignatureAlgorithm(\Phar::SHA1); | ||
| 78 | + $phar->startBuffering(); | ||
| 79 | + echo "Adding files...\n"; | ||
| 80 | + $maxLen = 0; | ||
| 81 | + $count = 0; | ||
| 82 | + foreach(new \RecursiveIteratorIterator(new \RecursiveDirectoryIterator($folderPath)) as $file){ | ||
| 83 | + $path = rtrim(str_replace(["\\", $relativePath], ["/", ""], $file), "/"); | ||
| 84 | + if($path{0} === "." or strpos($path, "/.") !== false){ | ||
| 85 | + continue; | ||
| 86 | + } | ||
| 87 | + $phar->addFile($file, $path); | ||
| 88 | + if(strlen($path) > $maxLen){ | ||
| 89 | + $maxLen = strlen($path); | ||
| 90 | + } | ||
| 91 | + echo "\r[" . (++$count) . "] " . str_pad($path, $maxLen, " "); | ||
| 92 | + } | ||
| 93 | + | ||
| 94 | + $phar->stopBuffering(); | ||
| 95 | + | ||
| 96 | + echo "\nDone!\n"; | ||
| 97 | + exit(0); | ||
| Back | FazBrowse Home | New Git URL |
0 commit comments