{"id":15143906,"url":"https://github.com/mxjosuedev/combofly","last_synced_at":"2025-10-23T20:31:08.768Z","repository":{"id":46085125,"uuid":"425643939","full_name":"MXJosueDev/ComboFly","owner":"MXJosueDev","description":"ComboFly MiniGame, plugin for Pocketmine-MP 4.x.x. (It is currently upgrading from PM3 to PM4)","archived":false,"fork":false,"pushed_at":"2023-03-15T01:24:36.000Z","size":159,"stargazers_count":5,"open_issues_count":0,"forks_count":3,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-30T20:52:19.766Z","etag":null,"topics":["combo","combofly","minigame","minigame-plugin","php","plugin","pmmp","pocketmine","pocketmine-mp","pocketmine-mp-plugin","pocketmine-php","pocketmine-plugin","pocketmine-plugins"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MXJosueDev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-11-07T23:47:56.000Z","updated_at":"2023-08-07T02:00:52.000Z","dependencies_parsed_at":"2024-09-21T16:01:14.450Z","dependency_job_id":null,"html_url":"https://github.com/MXJosueDev/ComboFly","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MXJosueDev%2FComboFly","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MXJosueDev%2FComboFly/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MXJosueDev%2FComboFly/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MXJosueDev%2FComboFly/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MXJosueDev","download_url":"https://codeload.github.com/MXJosueDev/ComboFly/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":237882172,"owners_count":19381176,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["combo","combofly","minigame","minigame-plugin","php","plugin","pmmp","pocketmine","pocketmine-mp","pocketmine-mp-plugin","pocketmine-php","pocketmine-plugin","pocketmine-plugins"],"created_at":"2024-09-26T10:20:33.514Z","updated_at":"2025-10-23T20:31:03.413Z","avatar_url":"https://github.com/MXJosueDev.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ComboFly\n\nComboFly is an open source plugin and is made for [PocketMine-MP](https://github.com/pmmp/PocketMine-MP) 4.x.x.\n\nIt is currently upgrading from PM3 to PM4.\n\n## Installation\n\nInstall the file named `ComboFly.phar` in the`/home/plugins/` folder, you can download this file from [Poggit](https://poggit.pmmp.io/ComboFly).\n\n## Command\n\n### Command info\n\n**Name:** /combofly\n\n**Alias:**\n\n- /cf\n\n### Sub-Commands List\n\n| Command | Description | Permission |\n|-|:-:|:-:|\n| **/combofly help** | Get help on the sub-commands. | No permission. |\n| **/combofly join** | Join the arena by means of a command. | combofly.command.join.with.command |\n| **/combofly setarena** | Set where players appear in the arena. | combofly.command.setarena |\n| **/combofly setlobby** | Set where players appear when exiting the arena. | combofly.command.setlobby |\n| **/combofly setkit** | Configure the kit with which the players appear in the arena (The kit will be configured with your inventory). | combofly.command.setkit |\n| **/combofly setjoin** | Put the JoinNPC in your current location. | combofly.command.setjoin |\n| **/combofly removejoin** | Remove the JoinNPC (Hit it). | combofly.command.removejoin |\n| **/combofly debug** | Get the information you need to report a bug on github (It only runs from the console). | No permission. |\n\n## Permissions\n\n| Permission | Description |\n|-|:-:|\n| **combofly.\\*** | Allow to players use all ComboFly features. |\n| **combofly.command.join.with.command** | Allows join the arena by means of a command. |\n| **combofly.command.setarena** | Allows set where players appear in the arena. |\n| **combofly.command.setlobby** | Allows set where players appear when exiting the arena. |\n| **combofly.command.setkit** | Allows configure the kit with which the players appear in the arena. |\n| **combofly.command.setjoin** | Allows put the JoinNPC in your current location. |\n| **combofly.command.removejoin** | Allows remove the JoinNPC. |\n\n## Scoreboard\n\n### Tags\n\n| Tag | Description |\n|-|:-:|\n| **{player_kills}** | Shows the number of player kills. |\n| **{player_deaths}** | Shows the number of player deaths. |\n| **{player_ping}** | Shows the current ping of the player. |\n| **{player_display_name}** | Shows the name that the player has to display. |\n| **{player_real_name}** | Shows the real username of the player. |\n| **{playing}** | Shows the number of players currently in the arena. |\n| **{spectating}** | Shows the number of spectators currently in the arena. |\n| **{total_players}** | Shows the total number of spectators and players currently in the arena. |\n\n## Entities\n\n### Tags\n\n#### JoinNPC\n\n| Tag | Description |\n|-|:-:|\n| **{playing}** | Shows the number of players currently in the arena. |\n| **{spectating}** | Shows the number of spectators currently in the arena. |\n| **{total_players}** | Shows the total number of spectators and players currently in the arena. |\n| **{arena_status}** | Shows the status of the arena, this will return either 'Online' or 'Offline'. |\n\n## Features\n\n| List |\n|-|\n| Fully customizable |\n| Spectator mode |\n| Economy Integration |\n| Scoreboard Support |\n| Saves Players by UUID |\n| Json Provider Support |\n| UI |\n| Join NPC |\n| Custom Kit |\n\n## TODO's\n\n| List |\n|-|\n| SQLite3 Support |\n| MySQL Support |\n| Tops Floating Text |\n| UI configuration menus |\n\n## Libraries\n\nList of libraries used in this plugin.\n\nNote: All libraries are already integrated so you don't have to do extra installations.\n\n### Library\n- [pmforms - dktapps](https://github.com/dktapps-pm-pl/pmforms)\n- [ScoreboardAPI - SabyMC](https://github.com/SabyMC/Implements/blob/main/src/scoreboard/ScoreboardAPI.php)\n\n## Developers\n\nPlease see [CONTRIBUTING](https://github.com/MXJosueDev/ComboFly/blob/PM4/CONTRIBUTING.md).\n\n### API\n\n- Set up the arena\n```php\n\u003c?php\n\nuse combofly\\Arena; /* Class in which the API methods are.*/\nuse pocketmine\\world\\Position;\nuse pocketmine\\Server;\n\n$arena = Arena::getInstance(); /* Getting the instance of the object. */\n\n$world = Server::getInstance()-\u003egetWorldManager()-\u003egetWorldByName(\"ComboFlyArena\"); /* Object with instance of `pocketmine\\world\\World`. */\n$pos = new Position(0, 100, 0 $world); /* Object instantiated to `pocketmine\\world\\Position`. */\n\n$arena-\u003esetArena($pos); /* Set the position in which players will appear in the arena. */\n```\n\n- Set up the lobby\n```php\n\u003c?php\n\nuse combofly\\Arena; /* Class in which the API methods are.*/\nuse pocketmine\\world\\Position;\nuse pocketmine\\Server;\n\n$arena = Arena::getInstance(); /* Getting the instance of the object. */\n\n$world = Server::getInstance()-\u003egetWorldManager()-\u003egetDefaultWorld(); /* Object with instance of `pocketmine\\world\\World`. */\n$pos = new Position(0, 100, 0 $world); /* Object instantiated to `pocketmine\\world\\Position`. */\n\n$arena-\u003esetLobby($pos); /* Sets the position players will appear in when they exit the arena. */\n```\n\n- Known if arena or lobby is loaded\n```php\n\u003c?php\n\nuse combofly\\Arena; /* Class in which the API methods are.*/\n\n$arena = Arena::getInstance(); /* Getting the instance of the object. */\n\n/* Returns `true` if it is loaded and` false` if not. */\n$isArenaLoaded = $arena-\u003eisArenaLoaded(); \n$isLobbyLoaded = $arena-\u003eisLobbyLoaded(); \n```\n\n- Add players or spectators to the arena\n```php\n\u003c?php\n\nuse combofly\\Arena; /* Class in which the API methods are.*/\nuse pocketmine\\Server;\n\n$arena = Arena::getInstance(); /* Getting the instance of the object. */\n\n$player = Server::getInstance()-\u003egetPlayerExact(\"MXJosuepro033\"); /* Player to add. */\n\n/* This adds the player to the arena. */\n$arena-\u003eaddPlayer($player); \n$arena-\u003eaddSpectator($player); \n```\n\n- Remove players or spectators to the arena\n```php\n\u003c?php\n\nuse combofly\\Arena; /* Class in which the API methods are.*/\nuse pocketmine\\Server;\n\n$arena = Arena::getInstance(); /* Getting the instance of the object. */\n\n$player = Server::getInstance()-\u003egetPlayerExact(\"MXJosuepro033\"); /* Player to remove. */\n\n/* This remove the player to the arena. */\n$arena-\u003equitPlayer($player); \n$arena-\u003equitSpectator($player); \n```\n\n- Know if a player is a player or a spectator in the arena\n```php\n\u003c?php\n\nuse combofly\\Arena; /* Class in which the API methods are.*/\nuse pocketmine\\Server;\n\n$arena = Arena::getInstance(); /* Getting the instance of the object. */\n\n$player = Server::getInstance()-\u003egetPlayerExact(\"MXJosuepro033\"); /* Player. */\n\n/* This returns `true` if it is and` false` if not. */\n$arena-\u003eisPlayer($player); \n$arena-\u003eisSpectator($player); \n```\n\n- Get the list of players, spectators, or all players\n```php\n\u003c?php\n\nuse combofly\\Arena; /* Class in which the API methods are.*/\n\n$arena = Arena::getInstance(); /* Getting the instance of the object. */\n\n$players = $arena-\u003egetPlayers(); /* Returns an array with the list of players. */\n$spectators = $arena-\u003egetSpectators(); /* Returns an array with the list of spectators. */\n$all = $arena-\u003egetAllPlayers(); /* Returns an array with the list of players and spectators. */\n```\n\n- Set up the players kit when entering the arena\n```php\n\u003c?php\n\nuse combofly\\Arena; /* Class in which the API methods are.*/\n\n$arena = Arena::getInstance(); /* Getting the instance of the object. */\n\n$player = Server::getInstance()-\u003egetPlayerExact(\"MXJosuepro033\"); /* From this variable the Inventory and the Armor Inventory are obtained. */\n\n$arena-\u003esetKit($player); /* This sets up the arena kit. */\n```\n\n- Give the arena kit to a player\n```php\n\u003c?php\n\nuse combofly\\Arena; /* Class in which the API methods are.*/\n\n$arena = Arena::getInstance(); /* Getting the instance of the object. */\n\n$player = Server::getInstance()-\u003egetPlayerExact(\"MXJosuepro033\"); /* Player to give the kit. */\n\n$arena-\u003egiveKit($player); /* This resets the player's inventory and gives him the items. */\n```\n\n- Broadcast Message\n```php\n\u003c?php\n\nuse combofly\\Arena; /* Class in which the API methods are.*/\n\n$arena = Arena::getInstance(); /* Getting the instance of the object. */\n\n/* The second parameter is the type of message to send, you can find the types\n   in `combofly\\Arena` or this is the list:\n    - MESSAGE  \n    - TITLE  \n    - SUBTITLE\n    - TIP   \n    - POPUP */\n$arena-\u003ebroadcast(\"Your message here.\", Arena::MESSAGE); /* Global message to players and spectators in the arena. */\n```\n\n- Get Kills, Deaths and PlayerData of Player\n```php\n\u003c?php\n\nuse combofly\\Arena; /* Class in which the API methods are.*/\n\n$arena = Arena::getInstance(); /* Getting the instance of the object. */\n\n$player = \"MXJosuepro033\"; /* Getting a player to get their kills. */\n\n/* The $player parameter can have a `pocketmine\\player\\Player` instance or be a string \n   with the player's name (If you query the data for the player's name\n   and it is offline, it must have played before or it will return `0` or `null` \n   depending on the method used). */\n$playerData = $arena-\u003egetPlayerData($player); /* It will return an object with instance of `combofly\\PlayerData`. */\n$playerKills = $arena-\u003egetKills($player); /* This will return the number of kills of the player. */\n$playerDeaths = $arena-\u003egetDeaths($player); /* This will return the number of deaths of the player. */\n```\n\n## License\n\n[MIT](https://choosealicense.com/licenses/mit/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmxjosuedev%2Fcombofly","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmxjosuedev%2Fcombofly","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmxjosuedev%2Fcombofly/lists"}