Custom NPC for pocket-mine servers

Overview

[Description]

CustomNPC plugin pocket-mine 1.17.X

  • Click on above picture to see tutorial video of the plugin.

  • This is an NPC plugin with super easy customization for pocket-mine.

    Note: With this plugin, you will be able to set different emotes on different NPCs! (There are +15 emotes on this plugin!)

    You need to enable the editor mode to customize your NPC! Using the (/npc edit) command, you can activate your editor mode and customize your NPC easily!

    You can change the size - name using the settings manager button! You can also use the skin change option to change the skin of the NPC to the skin of any of the online players on the server without the need to use commands!

    Another important feature of this plugin: You can create customizations for each NPC! This means that you can activate Cool Down or rotation for each NPC individually! (Via settings manager)

    With the command manager system (UI) you can manage the commands of each NPC faster and easier! (Commands manager button)

    Important Note: You must use the {rca} tag to execute the command from a player! You can also use the {player} tag to replace the player name!

  • These are two examples about how to add commands with above tags into NPC
  • For the first (Will show the player's money if EconomyAPI installed on server): {rca} {player} mymoney

    And for the latter (Send a message with player's name from console): say Hello my name is {player}

    [Usage]

    1. Put phar from Poggit into plugins folder
    2. Edit the Settings.yml file of plugin in plugin_data/CustomNPC
    3. You can change message and more stuff for the plugin in Settings.yml
    4. To spawn NPC use this command
      • /rca
        • Permission: customnpc.rca.permission
        • Default: Op
      • /npc
        • Permission: customnpc.permission
        • Default: Op
      • Note: To enable editor mode you need to use this command: /npc edit

    Hope you enjoy using this plugin!

    [Libraries]

    Comments
    • Incompatible network protocal version

      Incompatible network protocal version

      Every-time I start my server it says on Custom NPC “Incompatible network protocal version (plugin requires one of: 361, 388, 389, 390, 407, 408, 440, 448)”

      opened by FoodyYoutoob 3
    • Errro

      Errro

      2021-12-27 [03:42:52] [Server thread/CRITICAL]: ValueError: "min(): Argument #1 ($value) must contain at least one element" (EXCEPTION) in "plugins/CustomNPC_dev-72.phar/src/HighestDreams/CustomNPC/NPC" at line 228 2021-12-27 [03:42:52] [Server thread/CRITICAL]: #0 plugins/CustomNPC_dev-72.phar/src/HighestDreams/CustomNPC/NPC(228): min(array[0]) 2021-12-27 [03:42:52] [Server thread/CRITICAL]: #1 plugins/CustomNPC_dev-72.phar/src/HighestDreams/CustomNPC/EventsHandler(60): HighestDreams\CustomNPC\NPC->getNPCCooldown(object HighestDreams\CustomNPC\Entity\CustomNPC) 2021-12-27 [03:42:52] [Server thread/CRITICAL]: #2 plugins/CustomNPC_dev-72.phar/src/HighestDreams/CustomNPC/EventsHandler(48): HighestDreams\CustomNPC\EventsHandler->execute(object pocketmine\Player, object HighestDreams\CustomNPC\Entity\CustomNPC, string[8] Commands) 2021-12-27 [03:42:52] [Server thread/CRITICAL]: #3 pmsrc/src/pocketmine/plugin/MethodEventExecutor(42): HighestDreams\CustomNPC\EventsHandler->EntityDamageByEntityEvent(object pocketmine\event\entity\EntityDamageByEntityEvent) 2021-12-27 [03:42:52] [Server thread/CRITICAL]: #4 pmsrc/src/pocketmine/plugin/RegisteredListener(80): pocketmine\plugin\MethodEventExecutor->execute(object HighestDreams\CustomNPC\EventsHandler, object pocketmine\event\entity\EntityDamageByEntityEvent) 2021-12-27 [03:42:52] [Server thread/CRITICAL]: #5 pmsrc/src/pocketmine/event/Event(88): pocketmine\plugin\RegisteredListener->callEvent(object pocketmine\event\entity\EntityDamageByEntityEvent) 2021-12-27 [03:42:52] [Server thread/CRITICAL]: #6 pmsrc/src/pocketmine/entity/Entity(933): pocketmine\event\Event->call() 2021-12-27 [03:42:52] [Server thread/CRITICAL]: #7 pmsrc/src/pocketmine/entity/Living(552): pocketmine\entity\Entity->attack(object pocketmine\event\entity\EntityDamageByEntityEvent) 2021-12-27 [03:42:52] [Server thread/CRITICAL]: #8 pmsrc/src/pocketmine/Player(2745): pocketmine\entity\Living->attack(object pocketmine\event\entity\EntityDamageByEntityEvent) 2021-12-27 [03:42:52] [Server thread/CRITICAL]: #9 pmsrc/src/pocketmine/network/mcpe/PlayerNetworkSessionAdapter(149): pocketmine\Player->handleInventoryTransaction(object pocketmine\network\mcpe\protocol\InventoryTransactionPacket) 2021-12-27 [03:42:52] [Server thread/CRITICAL]: #10 pmsrc/src/pocketmine/network/mcpe/protocol/InventoryTransactionPacket(106): pocketmine\network\mcpe\PlayerNetworkSessionAdapter->handleInventoryTransaction(object pocketmine\network\mcpe\protocol\InventoryTransactionPacket) 2021-12-27 [03:42:52] [Server thread/CRITICAL]: #11 pmsrc/src/pocketmine/network/mcpe/PlayerNetworkSessionAdapter(109): pocketmine\network\mcpe\protocol\InventoryTransactionPacket->handle(object pocketmine\network\mcpe\PlayerNetworkSessionAdapter) 2021-12-27 [03:42:52] [Server thread/CRITICAL]: #12 pmsrc/src/pocketmine/network/mcpe/protocol/BatchPacket(130): pocketmine\network\mcpe\PlayerNetworkSessionAdapter->handleDataPacket(object pocketmine\network\mcpe\protocol\InventoryTransactionPacket) 2021-12-27 [03:42:52] [Server thread/CRITICAL]: #13 pmsrc/src/pocketmine/network/mcpe/PlayerNetworkSessionAdapter(109): pocketmine\network\mcpe\protocol\BatchPacket->handle(object pocketmine\network\mcpe\PlayerNetworkSessionAdapter) 2021-12-27 [03:42:52] [Server thread/CRITICAL]: #14 pmsrc/src/pocketmine/Player(3336): pocketmine\network\mcpe\PlayerNetworkSessionAdapter->handleDataPacket(object pocketmine\network\mcpe\protocol\BatchPacket) 2021-12-27 [03:42:52] [Server thread/CRITICAL]: #15 plugins/AntiInternalKick_dev-4.phar/src/Jibix/AntiInternalKick/utils/ModifiedRakLib(148): pocketmine\Player->handleDataPacket(object pocketmine\network\mcpe\protocol\BatchPacket) 2021-12-27 [03:42:52] [Server thread/CRITICAL]: #16 pmsrc/vendor/pocketmine/raklib/src/server/ServerHandler(95): Jibix\AntiInternalKick\utils\ModifiedRakLib->handleEncapsulated(string[21] 103.241.234.175 44886, object raklib\protocol\EncapsulatedPacket, integer 0) 2021-12-27 [03:42:52] [Server thread/CRITICAL]: #17 plugins/AntiInternalKick_dev-4.phar/src/Jibix/AntiInternalKick/utils/ModifiedRakLib(88): raklib\server\ServerHandler->handlePacket() 2021-12-27 [03:42:52] [Server thread/CRITICAL]: #18 plugins/AntiInternalKick_dev-4.phar/src/Jibix/AntiInternalKick/utils/ModifiedRakLib(78): Jibix\AntiInternalKick\utils\ModifiedRakLib->process() 2021-12-27 [03:42:52] [Server thread/CRITICAL]: #19 pmsrc/vendor/pocketmine/snooze/src/SleeperHandler(113): Jibix\AntiInternalKick\utils\ModifiedRakLib->Jibix\AntiInternalKick\utils{closure}() 2021-12-27 [03:42:52] [Server thread/CRITICAL]: #20 pmsrc/vendor/pocketmine/snooze/src/SleeperHandler(75): pocketmine\snooze\SleeperHandler->processNotifications() 2021-12-27 [03:42:52] [Server thread/CRITICAL]: #21 pmsrc/src/pocketmine/Server(2155): pocketmine\snooze\SleeperHandler->sleepUntil(double 1640576572.0597) 2021-12-27 [03:42:52] [Server thread/CRITICAL]: #22 pmsrc/src/pocketmine/Server(1992): pocketmine\Server->tickProcessor() 2021-12-27 [03:42:52] [Server thread/CRITICAL]: #23 pmsrc/src/pocketmine/Server(1586): pocketmine\Server->start() 2021-12-27 [03:42:52] [Server thread/CRITICAL]: #24 pmsrc/src/pocketmine/PocketMine(332): pocketmine\Server->__construct(object BaseClassLoader, object pocketmine\utils\MainLogger, string[16] /home/container/, string[24] /home/container/plugins/) 2021-12-27 [03:42:52] [Server thread/CRITICAL]: #25 pmsrc/src/pocketmine/PocketMine(362): pocketmine\server() 2021-12-27 [03:42:52] [Server thread/CRITICAL]: #26 pmsrc(11): require(string[71] phar:///home/container/PocketMine-MP.phar/src/pocketmine/PocketMine.php)

      opened by PushkarOP 2
    • Consider using Entity::createBaseNBT()

      Consider using Entity::createBaseNBT()

      Consider using Entity::createBaseNBT() instead of this bulky mess.

      $nbt = Entity::createBaseNBT($player, $player->getMotion(), $player->getYaw(), $player->getPitch());
      
      opened by Ifera 1
    • Typo again, leading to a crash

      Typo again, leading to a crash

      This here:

      https://github.com/HighestDreams/CustomNPC/blob/9c3bd100e72b9eff35ea16336e2563929a7166d0/src/HighestDreams/CustomNPC/NPC.php#L92

      Should have been:

      $player->sendMessage(self::PREFIX . self::$lang::get(self::$lang::RCA_NOTFOUND));
      
      opened by Ifera 1
    • Typo leading to a crash

      Typo leading to a crash

      There is a typo in NPC_EDITGMODE_TUTORIAL2 which leads to a crash. It should be NPC_EDITMODE_TUTORIAL2 if I am not mistaken.

      https://github.com/HighestDreams/CustomNPC/blob/9c3bd100e72b9eff35ea16336e2563929a7166d0/src/HighestDreams/CustomNPC/NPC.php#L113

      opened by Ifera 1
    Owner
    For supporting me, give start to repositories. Discord: HighestDreams#7683
    null
    A pool for players to mine money

    MoneyPool v1.0.2 A pool for players to mine money

    Toby 4 Jun 22, 2021
    High performance mine reset plugin for PocketMine-MP 4.0.0

    MineReset38 High performance mine reset plugin for PocketMine-MP 4.0.0 Unlike other plugins, this plugin is not threaded but asynchronous. When a mine

    KingOfTurkey38 6 Dec 17, 2022
    Silverstripe-searchable - Adds to the default Silverstripe search by adding a custom results controller and allowing properly adding custom data objects and custom fields for searching

    SilverStripe Searchable Module UPDATE - Full Text Search This module now uses Full Text Support for MySQL/MariaDB databases in version 3.* Adds more c

    ilateral 13 Apr 14, 2022
    Glz custom fields - Unlimited Custom Fields for Textpattern

    Unlimited custom fields for Textpattern This plugin sits under the Extensions tab in the back-end and gives your custom fields new life. You can final

    Gerhard Lazu 21 Dec 1, 2019
    Magento 2 custom extension to add custom attributes(longitude, latitude) to customer address

    Magento 2 custom extension to add custom attributes(longitude, latitude) to customer address. Then save them to quote model and copy them from quote address to order address on bakend, frontend, rest api

    MageArab 2 Jul 14, 2022
    Execute Artisan commands on remote servers

    Execute Artisan commands on remote servers This package provides a command to execute Artisan command on a remote server. Here's an example that will

    Spatie 238 Dec 29, 2022
    Creates a WorldBorder for PocketMine-MP servers!

    This plugin is not yet ready for Poggit or download It is going through mass changes over the next few days Message my Discord to recieve an older eli

    Soulz 9 Sep 5, 2021
    Block ads for other servers.

    [] NoAdvertisings| v0.0.1 Block ads for other servers. Features Block server ads. Easy to setup. Block server address ads when chatting, using command

    Nguyễn Hiếu 4 Aug 28, 2022
    A small library to help run PHP servers easily and quickly.

    PHP Server A small library to help run PHP servers easily and quickly. Installation composer require ahmard/php-server Usage PHP Built-In Server An i

    Ahmad Mustapha 9 Dec 31, 2022
    A tool for managing SSH key access to any number of servers.

    Revons - SSH Key Authority Features Easily manage SSH key access for all accounts on your servers. Manage user access and server-to-server access rule

    Revons Community 1 Mar 14, 2022
    ✨A simple way to create a GUI on servers based on PocketMine-MP 4.0!✨

    FakeInventories ✨ A simple way to create a GUI on servers based on PocketMine-MP 4.0! ✨ (https://youtu.be/D1NIx8E2UPg) Features Fast opening without a

    iDarkQ 6 Nov 20, 2022
    Configure Magento 2 to send email using Google App, Gmail, Amazon Simple Email Service (SES), Microsoft Office365 and many other SMTP (Simple Mail Transfer Protocol) servers

    Magento 2 SMTP Extension - Gmail, G Suite, Amazon SES, Office 365, Mailgun, SendGrid, Mandrill and other SMTP servers. For Magento 2.0.x, 2.1.x, 2.2.x

    MagePal :: Magento Extensions 303 Oct 7, 2022
    Cool economy plugin for PM-like servers. API included.

    Economy Description Cool and easy to use economy plugin API: 2.0.0 Plugin version: 1.0.0 Default money value on first join: 1000 (can be changed in co

    Artem Turov 0 Feb 4, 2022
    This repository demonstrates exemplary implementation of chat using HTTP and Websocket servers in PHP using Kraken Framework components.

    This repository demonstrates exemplary implementation of chat using HTTP and Websocket servers in PHP using Kraken Framework components.

    Kraken 48 Aug 11, 2021
    A Customizable Fishing Rod for PocketMine-MP servers.

    Custom Fishing Rod About [ENG] This is a PocketMine-MP (or forks) plugin that implements a customizable fishing rod to your server. [FRA] C'est un plu

    null 6 May 25, 2022
    Allows the connection of Minecraft: JE clients to PocketMine servers. Made for PM4

    JavaPlayer Allows the connection of Minecraft: JE clients to PocketMine servers. Made for PM4 MCJE VER: 1.18.2 Need implemented Chunks (convert proble

    kanison konkla 30 Dec 7, 2022
    The best announcer for PocketMine-MP 4.0 servers, make messages for your users very easily

    BroadcastACM The best announcer for PocketMine-MP 4.0 servers, make messages for your users very easily. Make the best announcements for your server w

    fernanACM 3 May 30, 2022
    API server and modernized control panel for PocketMine servers.

    WebConsole API server and modernized control panel for PocketMine servers. The WebConsole plugin provides an HTTP API server that can be extended with

    Jonathan Chan Kwan Yin 5 Aug 26, 2022
    Stop players from having spaces in their name in Pocketmin Servers.

    SpaceRemover Engelish Stop players from having spaces in their name in Pocketmin Servers. Preview Help ‼ If your server does not have players with nam

    Unknown Null 3 Jul 31, 2022