{"id":15143867,"url":"https://github.com/evolsoft/customalerts","last_synced_at":"2025-10-04T07:39:25.400Z","repository":{"id":25164089,"uuid":"28587034","full_name":"EvolSoft/CustomAlerts","owner":"EvolSoft","description":"Customize or hide alerts (join/leave messages, whitelist messages, outdated server/client messages, etc...) plugin for PocketMine-MP","archived":false,"fork":false,"pushed_at":"2023-10-22T07:47:59.000Z","size":215,"stargazers_count":19,"open_issues_count":6,"forks_count":40,"subscribers_count":14,"default_branch":"master","last_synced_at":"2025-04-06T19:51:11.279Z","etag":null,"topics":["customalerts","php","plugin","pocketmine-mp"],"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/EvolSoft.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"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":"2014-12-29T09:25:45.000Z","updated_at":"2023-04-14T02:08:05.000Z","dependencies_parsed_at":"2022-08-23T22:00:32.435Z","dependency_job_id":"d97a6fff-f22a-44d7-98bf-58d1ee691698","html_url":"https://github.com/EvolSoft/CustomAlerts","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"purl":"pkg:github/EvolSoft/CustomAlerts","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EvolSoft%2FCustomAlerts","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EvolSoft%2FCustomAlerts/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EvolSoft%2FCustomAlerts/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EvolSoft%2FCustomAlerts/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/EvolSoft","download_url":"https://codeload.github.com/EvolSoft/CustomAlerts/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EvolSoft%2FCustomAlerts/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278283486,"owners_count":25961309,"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","status":"online","status_checked_at":"2025-10-04T02:00:05.491Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["customalerts","php","plugin","pocketmine-mp"],"created_at":"2024-09-26T10:20:20.310Z","updated_at":"2025-10-04T07:39:25.373Z","avatar_url":"https://github.com/EvolSoft.png","language":"PHP","readme":"![start2](https://cloud.githubusercontent.com/assets/10303538/6315586/9463fa5c-ba06-11e4-8f30-ce7d8219c27d.png)\n\n# CustomAlerts\n\nCustomize or hide alerts (join/leave messages, whitelist messages, outdated server/client messages, etc...) plugin for PocketMine-MP.\n\n[![Download!](https://user-images.githubusercontent.com/10297075/101246002-cb046780-3710-11eb-950f-ba06934b8138.png)](http://gestyy.com/er3sEQ)\n\n## Category\n\nPocketMine-MP plugins\n\n## Requirements\n\nPocketMine-MP API 5.0.0\n\n## Overview\n\n**CustomAlerts** lets you customize or hide all PocketMine alerts (join/leave messages, whitelist messages, outdated server/client messages, etc...)\n\n**EvolSoft Website:** *Downed*\n\n***This Plugin uses the New API. You can't install it on old versions of PocketMine.***\n\nWith CustomAlerts you can customize or hide whitelist kick messages, outdated server/client messages, join/leave messages, first join messages, death messages, world change messages... (read documentation)\n\n**Changelogs** - 13/10/2023\n\n- Applied PocketMine-MP API 5.0.0 changes\n- Bumped version from 2.4 to 3.1\n- Patched Config Reload Command\n\n**Features**\n\n- Customize or hide join, quit and death messages\n- Add first join and world change messages\n- Customize Motd ***(from MCPE 0.11.0)***\n- Customize Outdated Server/Client kick messages ***(from MCPE 0.11.0 BUILD 11)***\n- Customize Whitelist kick messages ***(from MCPE 0.11.0 BUILD 11)***\n- Customize Full Server kick messages ***(from MCPE 0.11.0 BUILD 11) [Please keep in mind that if you have VIP or additional slots on your server you MUST disable this feature from config]***\n- Customize Death messages ***(There a problem for the moment due to PocketMine-MP 4)***\n\n**What is included?**\n\nIn the ZIP file you will find:\u003cbr\u003e\n*- CustomAlerts_v2.phar : CustomAlerts Plugin + API*\u003cbr\u003e\n*- CustomAlertsExample_v1.5.zip : Example Plugin source code*\u003cbr\u003e\n\n**Commands:**\n\n***/customalerts*** *- CustomAlerts commands*\n\n## Donate\n\nPlease support the development of this plugin with a small donation by clicking [:dollar: here](https://www.paypal.com/cgi-bin/webscr?cmd=_donations\u0026business=talalsatouri5@gmail.com\u0026lc=US\u0026item_name=KanekiLeChomeur\u0026no_note=0\u0026cn=\u0026curency_code=EUR\u0026bn=PP-DonationsBF:btn_donateCC_LG.gif:NonHosted). \nYour small donation will help me paying web hosting, domains, buying programs (such as IDEs, debuggers, etc...) and new hardware to improve software development. Thank you :smile:\n\n## Documentation\n\n**Text format (Available on PocketMine console and on MCPE since v0.11.0):**\n\n**Colors:**\n\nBlack (\"\u00260\");\u003cbr\u003e\nDark Blue (\"\u00261\");\u003cbr\u003e\nDark Green (\"\u00262\");\u003cbr\u003e\nDark Aqua (\"\u00263\");\u003cbr\u003e\nDark Red (\"\u00264\");\u003cbr\u003e\nDark Purple (\"\u00265\");\u003cbr\u003e\nGold (\"\u00266\");\u003cbr\u003e\nGray (\"\u00267\");\u003cbr\u003e\nDark Gray (\"\u00268\");\u003cbr\u003e\nBlue (\"\u00269\");\u003cbr\u003e\nGreen (\"\u0026a\");\u003cbr\u003e\nAqua (\"\u0026b\");\u003cbr\u003e\nRed (\"\u0026c\");\u003cbr\u003e\nLight Purple (\"\u0026d\");\u003cbr\u003e\nYellow (\"\u0026e\");\u003cbr\u003e\nWhite (\"\u0026f\");\u003cbr\u003e\n\n**Special:**\n\nObfuscated (\"\u0026k\");\u003cbr\u003e\nBold (\"\u0026l\");\u003cbr\u003e\nStrikethrough (\"\u0026m\");\u003cbr\u003e\nUnderline (\"\u0026n\");\u003cbr\u003e\nItalic (\"\u0026o\");\u003cbr\u003e\nReset (\"\u0026r\");\u003cbr\u003e\n\n**Configuration (config.yml):**\n\n```yaml\n---\n#REMEMBER THAT IF YOU USE CustomAlerts EXTENSIONS, MESSAGES MAY NOT FOLLOW THE DEFAULT CONFIG\n#Date/Time format (replaced in {TIME}). For format codes read http://php.net/manual/en/datetime.formats.php\ndatetime-format: \"H:i:s\"\n#Server Motd message settings (available from MCPE 0.11.0 and later)\nMotd:\n  #Motd update timeout\n  update-timeout: 1\n  #Show custom Motd\n  custom: true\n  #Motd message\n  #Available Tags:\n  # - {MAXPLAYERS}: Show the maximum number of players supported by the server\n  # - {TIME}: Show current time\n  # - {TOTALPLAYERS}: Show the number of all online players\n  message: \"\u0026e[{TIME}] \u0026aWelcome to your server! \u0026n\u0026b[{MAXPLAYERS}/{TOTALPLAYERS}]\"\n#Outdated Client message (available from MCPE 0.11.0 BUILD 11 and later)\nOutdatedClient:\n  #Show custom Outdated Client message\n  custom: true\n  #Outdated Client message\n  #Available Tags:\n  # - {MAXPLAYERS}: Show the maximum number of players supported by the server\n  # - {TIME}: Show current time\n  # - {TOTALPLAYERS}: Show the number of all online players\n  message: \"\u0026cYour MCPE client is outdated!\"\n#Outdated Server message (available from MCPE 0.11.0 BUILD 11 and later)\nOutdatedServer:\n  #Show custom Outdated Server message\n  custom: true\n  #Outdated Server message\n  #Available Tags:\n  # - {MAXPLAYERS}: Show the maximum number of players supported by the server\n  # - {TIME}: Show current time\n  # - {TOTALPLAYERS}: Show the number of all online players\n  message: \"\u0026cOops! Server outdated!\"\n#Whitelisted Server message (available from MCPE 0.11.0 BUILD 11 and later)\nWhitelistedServer:\n  #Show custom Whitelisted Server message\n  custom: true\n  #Whitelisted Server message\n  #Available Tags:\n  # - {MAXPLAYERS}: Show the maximum number of players supported by the server\n  # - {TIME}: Show current time\n  # - {TOTALPLAYERS}: Show the number of all online players\n  message: \"\u0026c\u0026oThis Server is whitelisted!\"\n#Full Server message (available from MCPE 0.11.0 BUILD 11 and later)\nFullServer:\n  #Show custom Full Server message\n  custom: true\n  #Available Tags:\n  # - {MAXPLAYERS}: Show the maximum number of players supported by the server\n  # - {TIME}: Show current time\n  # - {TOTALPLAYERS}: Show the number of all online players\n  message: \"\u0026e{PLAYER}\u0026b, The Server is full \u0026c[{TOTALPLAYERS}/{MAXPLAYERS}]\u0026b!\\n\u0026l\u0026dTry to join later :)\"\n#First Join message settings\nFirstJoin:\n  #Enable First Join message\n  enable: true\n  #First Join message\n  #Available Tags:\n  # - {MAXPLAYERS}: Show the maximum number of players supported by the server\n  # - {PLAYER}: Show player name\n  # - {TIME}: Show current time\n  # - {TOTALPLAYERS}: Show the number of all online players\n  message: \"\u00262[{TIME}] \u0026a{PLAYER}\u0026d joined the game for the first time.\"\n#Join message settings\nJoin:\n  #Hide Join message\n  hide: false\n  #Show custom Join message \n  custom: true\n  #Join message\n  #Available Tags:\n  # - {MAXPLAYERS}: Show the maximum number of players supported by the server\n  # - {PLAYER}: Show player name\n  # - {TIME}: Show current time\n  # - {TOTALPLAYERS}: Show the number of all online players\n  message: \"\u00262[{TIME}] \u0026a{PLAYER}\u0026e joined the game.\"\n#Quit message settings\nQuit:\n  #Hide Quit message\n  hide: true\n  #Show custom Quit message \n  custom: false\n  #Quit message\n  #Available Tags:\n  # - {MAXPLAYERS}: Show the maximum number of players supported by the server\n  # - {PLAYER}: Show player name\n  # - {TIME}: Show current time\n  # - {TOTALPLAYERS}: Show the number of all online players\n  message: \"\u00264[{TIME}] \u0026c{PLAYER}\u0026e has left the game\"\n#World Change message settings\nWorldChange:\n  #Enable World Change message\n  enable: true\n  #World Change message\n  #Available Tags:\n  # - {MAXPLAYERS}: Show the maximum number of players supported by the server\n  # - {ORIGIN}: Show origin world name\n  # - {PLAYER}: Show player name\n  # - {TARGET}: Show target world name\n  # - {TIME}: Show current time\n  # - {TOTALPLAYERS}: Show the number of all online players\n  message: \"\u00262[{TIME}] \u0026a{PLAYER}\u0026e moved from \u0026c{ORIGIN}\u0026e to \u0026a{TARGET}\"\n#Death message settings\nDeath:\n  #Hide deafult Death message\n  hide: false\n  #Show custom default Death message\n  custom: true\n  #Default Death message\n  #Available Tags:\n  # - {MAXPLAYERS}: Show the maximum number of players supported by the server\n  # - {PLAYER}: Show player name\n  # - {TIME}: Show current time\n  # - {TOTALPLAYERS}: Show the number of all online players\n  message: \"\u0026c{PLAYER} died\"\n  #Death by contact message\n  death-contact-message:\n    #Hide Death by contact message\n    hide: false\n    #Show custom Death by contact message\n    custom: true\n    #Death by contact message\n    #Available Tags:\n    # - {BLOCK}: The name of the block which killed the player\n    # - {MAXPLAYERS}: Show the maximum number of players supported by the server\n    # - {PLAYER}: Show player name\n    # - {TIME}: Show current time\n    # - {TOTALPLAYERS}: Show the number of all online players\n    message: \"\u0026cOops! {PLAYER} was killed by {BLOCK}\"\n  #Death by entity message (players and mobs)\n  kill-message:\n    #Hide Death by entity message\n    hide: false\n    #Show custom Death by entity message\n    custom: true\n    #Death by entity message\n    # - {KILLER}: The name of the killer entity\n    # - {MAXPLAYERS}: Show the maximum number of players supported by the server\n    # - {PLAYER}: Show player name\n    # - {TIME}: Show current time\n    # - {TOTALPLAYERS}: Show the number of all online players\n    message: \"\u00269{PLAYER} \u0026ewas killed by \u0026c{KILLER}\"\n  #Death by projectile message\n  death-projectile-message:\n    #Hide Death by projectile message\n    hide: false\n    #Show custom Death by projectile message\n    custom: true\n    #Death by projectile message\n    # - {KILLER}: The name of the killer entity\n    # - {MAXPLAYERS}: Show the maximum number of players supported by the server\n    # - {PLAYER}: Show player name\n    # - {TIME}: Show current time\n    # - {TOTALPLAYERS}: Show the number of all online players\n    message: \"\u0026c{PLAYER} was killed by {KILLER} by arrow\"\n  #Death by suffocation message\n  death-suffocation-message:\n    #Hide Death by suffocation message\n    hide: false\n    #Show custom Death by suffocation message\n    custom: true\n    #Death by suffocation message\n    # - {MAXPLAYERS}: Show the maximum number of players supported by the server\n    # - {PLAYER}: Show player name\n    # - {TIME}: Show current time\n    # - {TOTALPLAYERS}: Show the number of all online players\n    message: \"\u0026c{PLAYER} suffocated\"\n  #Death by fall message\n  death-fall-message:\n    #Hide Death by fall message\n    hide: false\n    #Show custom Death by fall message\n    custom: true\n    #Death by fall message\n    # - {MAXPLAYERS}: Show the maximum number of players supported by the server\n    # - {PLAYER}: Show player name\n    # - {TIME}: Show current time\n    # - {TOTALPLAYERS}: Show the number of all online players\n    message: \"\u0026c{PLAYER} fell from a high place\"\n  #Death by fire message\n  death-fire-message:\n    #Hide Death by fire message\n    hide: false\n    #Show custom Death by fire message\n    custom: true\n    #Death by fire message\n    # - {MAXPLAYERS}: Show the maximum number of players supported by the server\n    # - {PLAYER}: Show player name\n    # - {TIME}: Show current time\n    # - {TOTALPLAYERS}: Show the number of all online players\n    message: \"\u0026c{PLAYER} went up in flames\"\n  #Death on fire message\n  death-on-fire-message:\n    #Hide Death on fire message\n    hide: false\n    #Show custom Death on fire message\n    custom: true\n    #Death on fire message\n    # - {MAXPLAYERS}: Show the maximum number of players supported by the server\n    # - {PLAYER}: Show player name\n    # - {TIME}: Show current time\n    # - {TOTALPLAYERS}: Show the number of all online players\n    message: \"\u0026c{PLAYER} burned\"\n  #Death by lava message\n  death-lava-message:\n    #Hide Death by lava message\n    hide: false\n    #Show custom Death by lava message\n    custom: true\n    #Death by lava message\n    # - {MAXPLAYERS}: Show the maximum number of players supported by the server\n    # - {PLAYER}: Show player name\n    # - {TIME}: Show current time\n    # - {TOTALPLAYERS}: Show the number of all online players\n    message: \"\u0026c{PLAYER} tried to swim in lava\"\n  #Death by drowning message\n  death-drowning-message:\n    #Hide Death by drowning message\n    hide: false\n    #Show custom Death by drowning message\n    custom: true\n    #Death by drowning message\n    # - {MAXPLAYERS}: Show the maximum number of players supported by the server\n    # - {PLAYER}: Show player name\n    # - {TIME}: Show current time\n    # - {TOTALPLAYERS}: Show the number of all online players\n    message: \"\u0026c{PLAYER} drowned\"\n  #Death by explosion message\n  death-explosion-message:\n    #Hide Death by explosion message\n    hide: false\n    #Show custom Death by explosion message\n    custom: true\n    #Death by explosion message\n    # - {MAXPLAYERS}: Show the maximum number of players supported by the server\n    # - {PLAYER}: Show player name\n    # - {TIME}: Show current time\n    # - {TOTALPLAYERS}: Show the number of all online players\n    message: \"\u0026c{PLAYER} exploded\"\n  #Death by void message\n  death-void-message:\n    #Hide Death by void message\n    hide: false\n    #Show custom Death by void message\n    custom: true\n    #Death by void message\n    # - {MAXPLAYERS}: Show the maximum number of players supported by the server\n    # - {PLAYER}: Show player name\n    # - {TIME}: Show current time\n    # - {TOTALPLAYERS}: Show the number of all online players\n    message: \"\u0026c{PLAYER} fell into the void\"\n  #Death by suicide message\n  death-suicide-message:\n    #Hide Death by suicide message\n    hide: false\n    #Show custom Death by suicide message\n    custom: true\n    #Death by suicide message\n    # - {MAXPLAYERS}: Show the maximum number of players supported by the server\n    # - {PLAYER}: Show player name\n    # - {TIME}: Show current time\n    # - {TOTALPLAYERS}: Show the number of all online players\n    message: \"\u0026c{PLAYER} committed suicide\"\n  #Death magic message\n  death-magic-message:\n    #Hide Death magic message\n    hide: false\n    #Show custom Death magic message\n    custom: true\n    #Death magic message\n    # - {MAXPLAYERS}: Show the maximum number of players supported by the server\n    # - {PLAYER}: Show player name\n    # - {TIME}: Show current time\n    # - {TOTALPLAYERS}: Show the number of all online players\n    message: \"\u0026c{PLAYER} was killed by a spell\"\n```\n\n**Commands:**\n\n***/customalerts*** *- CustomAlerts commands* **Not usable for the moment**\n\u003cbr\u003e\u003cbr\u003e\n**Permissions:**\n\u003cbr\u003e\n- \u003cdd\u003e\u003ci\u003e\u003cb\u003ecustomalerts.*\u003c/b\u003e - CustomAlerts permissions.\u003c/i\u003e\u003c/dd\u003e\n- \u003cdd\u003e\u003ci\u003e\u003cb\u003ecustomalerts.help\u003c/b\u003e - CustomAlerts command Help permission.\u003c/i\u003e\u003c/dd\u003e\n- \u003cdd\u003e\u003ci\u003e\u003cb\u003ecustomalerts.info\u003c/b\u003e - CustomAlerts command Info permission.\u003c/i\u003e\u003c/dd\u003e\n- \u003cdd\u003e\u003ci\u003e\u003cb\u003ecustomalerts.reload\u003c/b\u003e - CustomAlerts command Reload permission.\u003c/i\u003e\u003c/dd\u003e\n\n## API\n\nAlmost all our plugins have API access to widely extend their features.\n\n**Basic Tutorial:**\n\n*1. Define the plugin dependency in plugin.yml (you can check if CustomAlerts is installed in different ways):*\n```yaml\ndepend: [CustomAlerts]\n```\n*2. Include CustomAlerts API and CustomAlerts Events in your php code:*\n```php\n//PocketMine Event Listener\nuse pocketmine\\event\\Listener;\n//CustomAlerts API\nuse CustomAlerts\\CustomAlerts;\n//CustomAlerts Events\nuse CustomAlerts\\Events\\CustomAlertsJoinEvent;\n```\n*3. Create the class:*\n```php\nclass Example extends PluginBase implements Listener {\n}\n```\n*4. Check if CustomAlerts API is compatible (insert this code in onEnable():void function)*\n```php\nif(CustomAlerts::getAPI()-\u003egetAPIVersion() == \"(used API version)\"){\n            //API compatible\n            //Register Events\n            $this-\u003egetServer()-\u003egetPluginManager()-\u003eregisterEvents($this, $this);\n        }else{\n            //API not compatible\n            $this-\u003egetPluginLoader()-\u003edisablePlugin($this);\n        }\n  }\n```\n*5. Handle a CustomAlerts event (in this tutorial we will handle the CustomAlertsJoinEvent):*\n```php\npublic function onCAJoinEvent(CustomAlertsJoinEvent $event){\n  $event-\u003esetMessage(\"Example Join message: \" . $event-\u003egetPlayer()-\u003egetName());\n}\n```\n*6. Access the API by doing:*\n```php\nCustomAlerts::getAPI()-\u003eapi_function();\n```\n\n***A full plugin example using CustomAlerts API and CustomAlerts Events is included in the ZIP file.***\n\n**CustomAlerts API Events:**\n\nEach CustomAlerts event has two global functions:\n\n###### Set Message:\n\n```php\nsetMessage($message);\n```\n\n**Description:**\u003cbr\u003e\nSet event message.\u003cbr\u003e\n**Parameters:**\u003cbr\u003e\n*$message*\n\n###### Get Message:\n\n```php\ngetMessage();\n```\n\n**Description:**\u003cbr\u003e\nGet event message.\u003cbr\u003e\n**Return:**\u003cbr\u003e\n*string*\n\n###### CustomAlertsDeathEvent:\n\nThis event is handled when a player dies.\n\nEvent functions are:\n\n###### Get Player:\n\n```php\nPlayer getPlayer()\n```\n**Description:**\u003cbr\u003e\nGet death event player.\u003cbr\u003e\n**Return:**\u003cbr\u003e\nThe death event player\n\n###### Get Cause:\n\n```php\nEntityDamageEvent|null getCause()\n```\n**Description:**\u003cbr\u003e\nGet death event cause.\u003cbr\u003e\n**Return:**\u003cbr\u003e\nThe death event cause\n\n###### CustomAlertsFullServerKickEvent:\n\nThis event is handled when a player is kicked due to full server.\n\nEvent functions are:\n\n###### Get NetworkSession:\n\n```php\nNetworkSession getOrigin()\n```\n**Description:**\u003cbr\u003e\nGet event NetworkSession.\u003cbr\u003e\n**Return:**\u003cbr\u003e\nThe event NetworkSession (instance of pocketmine\\Player)\n\n###### CustomAlertsJoinEvent:\n\nThis event is handled when a player joins.\n\nEvent functions are:\n\n###### Get Player:\n\n```php\nPlayer getPlayer()\n```\n**Description:**\u003cbr\u003e\nGet join event player.\u003cbr\u003e\n**Return:**\u003cbr\u003e\nThe join event player (instance of pocketmine\\player\\Player)\n\n###### Get default PocketMine join message:\n\n```php\nstring getPocketMineJoinMessage()\n```\n**Description:**\u003cbr\u003e\nGet default PocketMine join message.\u003cbr\u003e\n**Return:**\u003cbr\u003e\nThe default PocketMine join message\n\n###### CustomAlertsMotdUpdateEvent:\n\nThis event is handled when the motd is updated\n\nEvent functions are:\n\n###### Get default PocketMine Motd:\n\n```php\nstring getPocketMineMotd()\n```\n**Description:**\u003cbr\u003e\nGet default PocketMine Motd.\u003cbr\u003e\n**Return:**\u003cbr\u003e\nThe default PocketMine Motd\n\n###### CustomAlertsOutdatedClientKickEvent:\n\nThis event is handled when a player is kicked due to outdated client.\n\nEvent functions are:\n\n###### Get NetworkSession:\n\n```php\nNetworkSession getOrigin()\n```\n**Description:**\u003cbr\u003e\nGet event NetworkSession.\u003cbr\u003e\n**Return:**\u003cbr\u003e\nThe event NetworkSession (instance of pocketmine\\network\\mcpe\\NetworkSession)\n\n###### CustomAlertsOutdatedServerKickEvent:\n\nThis event is handled when a player is kicked due to outdated server.\n\nEvent functions are:\n\n###### Get NetworkSession:\n\n```php\nNetworkSession getOrigin()\n```\n**Description:**\u003cbr\u003e\nGet event player.\u003cbr\u003e\n**Return:**\u003cbr\u003e\nThe event NetworkSession (instance of pocketmine\\network\\mcpe\\NetworkSession)\n\n###### CustomAlertsQuitEvent:\n\nThis event is handled when a player quits. It must be declared:\n\nEvent functions are:\n\n###### Get Player:\n\n```php\nPlayer getPlayer()\n```\n**Description:**\u003cbr\u003e\nGet quit event player.\u003cbr\u003e\n**Return:**\u003cbr\u003e\nThe quit event player (instance of pocketmine\\player\\Player)\n\n###### Get default PocketMine quit message:\n\n```php\nstring getPocketMineQuitMessage()\n```\n**Description:**\u003cbr\u003e\nGet default PocketMine quit message.\u003cbr\u003e\n**Return:**\u003cbr\u003e\nThe default PocketMine quit message\n\n###### CustomAlertsWhitelistKickEvent:\n\nThis event is handled when a player is kicked due to whitelisted server.\n\nEvent functions are:\n\n###### Get Player:\n\n```php\nPlayerInfo getPlayerInfo()\n```\n**Description:**\u003cbr\u003e\nGet event player.\u003cbr\u003e\n**Return:**\u003cbr\u003e\nThe event PlayerInfo (instance of pocketmine\\player\\PlayerInfo)\n\n###### CustomAlertsWorldChangeEvent:\n\nThis event is handled when a player changes world. It must be declared:\n\nEvent functions are:\n\n###### Get Player:\n\n```php\nPlayer getPlayer()\n```\n**Description:**\u003cbr\u003e\nGet world change event player.\u003cbr\u003e\n**Return:**\u003cbr\u003e\nThe world change event player (instance of pocketmine\\player\\Player)\n\n###### Get Origin World:\n\n```php\nWorld getFrom()\n```\n**Description:**\u003cbr\u003e\nGet origin world.\u003cbr\u003e\n**Return:**\u003cbr\u003e\nThe origin world (instance of pocketmine\\world\\World)\n\n###### Get Target World:\n\n```php\nWorld getTarget()\n```\n**Description:**\u003cbr\u003e\nGet target world.\u003cbr\u003e\n**Return:**\u003cbr\u003e\nThe target world (instance of pocketmine\\world\\World)\n\n**CustomAlerts API Functions:**\n\n###### Get Version:\n```php\nstring getVersion()\n```\n**Description:**\u003cbr\u003e\nGet CustomAlerts plugin version.\u003cbr\u003e\n**Return:**\u003cbr\u003e\nplugin version\n\n###### Get API Version:\n```php\nstring getAPIVersion()\n```\n**Description:**\u003cbr\u003e\nGet the CustomAlerts API version.\u003cbr\u003e\n**Return:**\u003cbr\u003e\nplugin API version\n\n###### Check if motd message is custom:\n```php\nboolean isMotdCustom()\n```\n**Description:**\u003cbr\u003e\nCheck if motd message is custom.\u003cbr\u003e\n**Return:**\u003cbr\u003e\n*bool*\n\n###### Get default motd message:\n```php\nstring getMotdMessage()\n```\n**Description:**\u003cbr\u003e\nGet motd message.\u003cbr\u003e\n**Return:**\u003cbr\u003e\n*string*\n\n###### Check if outdated client message is custom:\n```php\nboolean isOutdatedClientMessageCustom()\n```\n**Description:**\u003cbr\u003e\nCheck if outdated client message is custom.\u003cbr\u003e\n**Return:**\u003cbr\u003e\n*bool*\n\n###### Get outdated client message:\n```php\nstring getOutdatedClientMessage()\n```\n**Description:**\u003cbr\u003e\nGet outdated client message.\u003cbr\u003e\n**Parameters:**\u003cbr\u003e\n**Return:**\u003cbr\u003e\n*string*\n\n###### Check if outdated server message is custom:\n```php\nboolean isOutdatedServerMessageCustom()\n```\n**Description:**\u003cbr\u003e\nCheck if outdated server message is custom.\u003cbr\u003e\n**Return:**\u003cbr\u003e\n*bool*\n\n###### Get outdated server message:\n```php\nstring getOutdatedServerMessage()\n```\n**Description:**\u003cbr\u003e\nGet outdated server message.\u003cbr\u003e\n**Parameters:**\u003cbr\u003e\n**Return:**\u003cbr\u003e\n*string*\n\n###### Check if whitelist message is custom:\n```php\nboolean isWhitelistMessageCustom()\n```\n**Description:**\u003cbr\u003e\nCheck if whitelist message is custom.\u003cbr\u003e\n**Return:**\u003cbr\u003e\n*bool*\n\n###### Get whitelist message:\n```php\nstring getWhitelistMessage()\n```\n**Description:**\u003cbr\u003e\nGet whitelist message.\u003cbr\u003e\n**Parameters:**\u003cbr\u003e\n**Return:**\u003cbr\u003e\n*string*\n\n###### Check if full server message is custom:\n```php\nboolean isFullServerMessageCustom()\n```\n**Description:**\u003cbr\u003e\nCheck if full server message is custom.\u003cbr\u003e\n**Return:**\u003cbr\u003e\n*bool*\n\n###### Get full server message:\n```php\nstring getFullServerMessage()\n```\n**Description:**\u003cbr\u003e\nGet full server message.\u003cbr\u003e\n**Parameters:**\u003cbr\u003e\n*$player* the current player\u003cbr\u003e\n**Return:**\u003cbr\u003e\n*string*\n\n###### Check if first join message is enabled:\n```php\nboolean isFirstJoinMessageEnabled()\n```\n**Description:**\u003cbr\u003e\nCheck if first join message is enabled.\u003cbr\u003e\n**Return:**\u003cbr\u003e\n*bool*\n\n###### Get first join message:\n```php\nstring getFirstJoinMessage(Player $player)\n```\n**Description:**\u003cbr\u003e\nGet first join message.\u003cbr\u003e\n**Parameters:**\u003cbr\u003e\n*$player* the current player\u003cbr\u003e\n**Return:**\u003cbr\u003e\n*string*\n\n###### Check if join message is custom:\n```php\nboolean isJoinMessageCustom()\n```\n**Description:**\u003cbr\u003e\nCheck if join message is custom.\u003cbr\u003e\n**Return:**\u003cbr\u003e\n*bool*\n\n###### Check if join message is hidden:\n```php\nboolean isJoinMessageHidden()\n```\n**Description:**\u003cbr\u003e\nCheck if join message is hidden.\u003cbr\u003e\n**Return:**\u003cbr\u003e\n*bool*\n\n###### Get join message:\n```php\nstring getJoinMessage(Player $player)\n```\n**Description:**\u003cbr\u003e\nGet join message.\u003cbr\u003e\n**Parameters:**\u003cbr\u003e\n*$player* the current player\u003cbr\u003e\n**Return:**\u003cbr\u003e\n*string*\n\n###### Check if quit message is custom:\n```php\nboolean isQuitMessageCustom()\n```\n**Description:**\u003cbr\u003e\nCheck if quit message is custom.\u003cbr\u003e\n**Return:**\u003cbr\u003e\n*bool*\n\n###### Check if quit message is hidden:\n```php\nboolean isQuitMessageHidden()\n```\n**Description:**\u003cbr\u003e\nCheck if quit message is hidden.\u003cbr\u003e\n**Return:**\u003cbr\u003e\n*bool*\n\n###### Get quit message:\n```php\nstring getQuitMessage(Player $player)\n```\n**Description:**\u003cbr\u003e\nGet quit message.\u003cbr\u003e\n**Parameters:**\u003cbr\u003e\n*$player* the current player\u003cbr\u003e\n**Return:**\u003cbr\u003e\n*string*\n\n###### Check if world change message is enabled:\n```php\nboolean isWorldChangeMessageEnabled()\n```\n**Description:**\u003cbr\u003e\nCheck if world change message is enabled.\u003cbr\u003e\n**Return:**\u003cbr\u003e\n*bool*\n\n###### Get world change message:\n```php\nstring getWorldChangeMessage(Player $player, World $origin, World $target)\n```\n**Description:**\u003cbr\u003e\nGet default world change message.\u003cbr\u003e\n**Parameters:**\u003cbr\u003e\n*$player* the current player\u003cbr\u003e\n*$origin* the origin level\u003cbr\u003e\n*$target* the target level\u003cbr\u003e\n**Return:**\u003cbr\u003e\n*string*\n\n###### Check if death messages are custom:\n```php\nboolean isDeathMessageCustom($cause = null)\n```\n**Description:**\u003cbr\u003e\nCheck if death messages are custom.\u003cbr\u003e\n**Parameters:**\u003cbr\u003e\n*$cause* Check message by cause\u003cbr\u003e\n**Return:**\u003cbr\u003e\n*boolean*\n\n###### Check if death messages are hidden:\n```php\nboolean isDeathMessageHidden($cause = null)\n```\n**Description:**\u003cbr\u003e\nCheck if death messages are hidden.\u003cbr\u003e\n**Parameters:**\u003cbr\u003e\n*$cause* Check message by cause\u003cbr\u003e\n**Return:**\u003cbr\u003e\n*bool*\n\n###### Get death message for the specified cause:\n```php\nstring getDeathMessage(Player $player, $cause = null)\n```\n**Description:**\u003cbr\u003e\nGet default death message related to the specified cause.\u003cbr\u003e\n**Parameters:**\u003cbr\u003e\n*$player* the current player\u003cbr\u003e\n*$cause* the cause of death (instanceof EntityDamageEvent). If it's null, the function will return the default death message\n**Return:**\u003cbr\u003e\n*string*\n","funding_links":["https://www.paypal.com/cgi-bin/webscr?cmd=_donations\u0026business=talalsatouri5@gmail.com\u0026lc=US\u0026item_name=KanekiLeChomeur\u0026no_note=0\u0026cn=\u0026curency_code=EUR\u0026bn=PP-DonationsBF:btn_donateCC_LG.gif:NonHosted"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fevolsoft%2Fcustomalerts","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fevolsoft%2Fcustomalerts","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fevolsoft%2Fcustomalerts/lists"}