Pocketmine Plugin implementing Stackable Spawners

Overview

Information

This plugin adds a Stackable Spawner System to PMMP. When you place a Spawner, you can stack additional Spawners onto the same Spawner to increase it's spawn rate. This lets you conserve space and also prevents lag due to a large amount of Spawners.
For example: A single Zombie Spawner spawns one Zombie every 40 seconds. Stacking another Zombie Spawner on it changes the spawn rate to 20 seconds.

Features

  • Give Spawners to other players
  • Built in Mob Stacker
  • Stack Spawners onto each other to increase Spawn Rate
  • Get Spawners for any known entities
  • Ability to use Silk Touch on Spawners
  • UI to add more Spawners onto an existing Spawner
  • Entities registered within the plugin itself including Iron Golems, Bees and Foxes
  • AutoInv and AutoXP for mob drops
  • Configurable Options to modify XP drops, Spawner Rates, Mob and Spawner Stacking, Silk Touch and Entity Scale
  • Auto Stack Spawners
  • Ability to toggle Mob and Spawner stacking in specific worlds
  • API Methods to exempt entities like Bosses from stacking
  • Mobs spawned by the plugin can be either one-shot or have vanilla behavior
  • Ability to unstack any number of Spawners from a Stack
  • Customizable drops for spawners
  • Customizable nametag for stacked mobs
  • Toggle mob nametags on/off
  • Ability to set a max number of mobs in a stack

Planned Additions

  • Register Mobs via the plugin itself
  • Allow custom entities to be used in the Spawner
  • Allow removing of a specific number of Spawners from a Stacked Spawner
  • Config to modify plugin messages
  • Allow modifying base spawn rate for Spawners
  • Configurable Mob Drops
  • Revamp Mob Stacker and make it cleaner
  • Allow toggling XP Drops for Mobs
  • Spawner Shop with configurable prices
  • Set Mob Experience drops correctly
  • Implement Looting Enchantment
  • Autostack spawners when placed near another spawner of the same type
  • Allow changing of the entity scale within the Spawner

Note

  • This plugin uses https://github.com/jojoe77777/FormAPI to render forms
  • Pandas drop Sugarcane instead of Bamboo
  • Bats, Ocelots, Bees, Vex, Witches, Silverfish and Endermite have no drops
  • Sheep drop a random color of wool
  • Thanks to Muqsit for Bees and Foxes <3
  • Thanks to iZeaoGamer for implementing looting
  • Thanks to Unickorn for patching bug related to spawner stacking
Comments
  • No Mob Spawning

    No Mob Spawning

    Since Pocketmine 3.11.5 no Mob Spawning I use the latest Version of Burger Spawners Its the best Plugin and i hope you can help me. I have nothing changed. Sorry for my bad english.

    bug 
    opened by MonoAdrian23 12
  • Suggestion

    Suggestion

    Before you break the mob spanner with a pick that it cant be breaken with a ui should pop up with it saying are you sure you want to destroy this spawner you cant get it back unless you use a silk touch or whatever

    enhancement 
    opened by mikeygio10 8
  • server keeps crashing

    server keeps crashing

    Hi im not sure if any else has this error but this crashdump always appears when my server crashes. I would greatly appreciate if you were to help me, thanks! Heres the crashdump:

    PocketMine-MP Crash Dump Mon Apr 6 09:59:27 UTC 2020

    Error: Call to a member function getFolderName() on null File: plugins/BurgerSpawners.phar/src/Heisenburger69/BurgerSpawners/EventListener Line: 76 Type: Error

    THIS CRASH WAS CAUSED BY A PLUGIN BAD PLUGIN: BurgerSpawners v0.0.8

    Code: [67] */ [68] public function onSpawn(EntitySpawnEvent $event): void [69] { [70] $entity = $event->getEntity(); [71] $this->plugin->getScheduler()->scheduleDelayedTask(new ClosureTask(function (int $currentTick) use ($entity): void { [72] if (in_array($entity->getId(), $this->plugin->exemptedEntities)) return; [73] [74] $disabledWorlds = ConfigManager::getArray("mob-stacking-disabled-worlds"); [75] if (is_array($disabledWorlds)) { [76] if (in_array($entity->getLevel()->getFolderName(), $disabledWorlds)) { [77] return; [78] } [79] } [80] [81] if (ConfigManager::getToggle("allow-mob-stacking")) { [82] if ($entity instanceof Human or !$entity instanceof Living) return; [83] $mobStacker = new Mobstacker($entity); [84] $mobStacker->stack(); [85] } [86] }), 1);

    opened by AGTHARN 7
  • This plugin keeps generating crash dumps for my server

    This plugin keeps generating crash dumps for my server

    Hi, I have been using this plug-in for a while and it seems that I always have to remove it because whenever its on the server is causes a crash every 10 minutes, I'm not sure why and I thought that the recent update would fix it but if you have a fix for this please reply to this or message my discord at Jacob#6415.

    bug 
    opened by JacobByrne68 6
  • Fixed getFolderName() crashing the server (#38)

    Fixed getFolderName() crashing the server (#38)

    This issue fixes #38 from crashing the server if the worlds in the config don’t exist, or has been unloaded. This issue mainly prevents server crashes. Though, you’d need to add worlds that exist in worlds/ folder instead of adding worlds that simply do not exist.

    If the worlds set in config.yml do not exist, then the mob in that world will try to spawn.

    This could also be useful for if you’re using plugins like PureEntities, and using auto spawn task, leading to the crash. In all, this fixes the crash issue #38 was occurring, since no one likes a server crash. ;P

    opened by iZeaoGamer 6
  • Enchantments

    Enchantments

    I want to start this issue by saying, this is a awesome plugin and I am very thankful you have taken the time to create it. I also understand that you are probable being spammed with issues, so this issue isn’t that high on priority’s.

    Issue: Vanilla enchants don’t work on mobs. For example, if you have sharpness on a sword the sword still does the base damage rate.

    Suggestion: When and if you fix this bug, maybe consider adding Custom Enchants (DaPigGuy) support.

    help wanted 
    opened by ghost 6
  • BIG ISSUE :(

    BIG ISSUE :(

    Hi I love this plugin, but I have a issue because every time I restart the server or leave and rejoin the game my spawners went from 13 stacked spawners to 1.. pls fix this thanks.

    bug 
    opened by darkadams 5
  • Basic Looting Enchantment implementation

    Basic Looting Enchantment implementation

    Okay, I saw some of the code had some basic Looting enchantment implementation. It was okay, but didn't fit its needs of a looting basic enchantment. I did see this on your to-do list though, so I thought I'd save you the bother of doing it yourself, and allowing me to implement this. By "Basic Looting Enchantment", I'm assuming you mean add Looting enchantment drops on all of the mobs? If so, then this is the Pull Request for you.

    What does this Pull Request add to the plugin?

    So this plugin adds basic looting enchantment on all of the mobs that include getDrops() array function. Those that do not, were probably missed out on by the plugin on purpose. If not, I'll just let you implement more drops for the other mobs. If not, then don't worry. I never conflicted those with the non dropped mobs. This plugin also implements rewrites to the Looting enchantment. This is because adding a + before the looting level isn't very efficient, especially in vanilla. This needs to multiply by the looting level, not adding onto it. This isn't how vanilla works.

    So for example, if I had a looting 3 enchantment level, it'd multiply the drops by 3. Adding onto it just doesn't work very well with Looting. Since Looting levels matter. If you add onto the looting levels, then looting levels are basically pointless, because it's adding one onto it every by level, and not multiplying it. This is why I made a recode with Looting levels. No, this shouldn't require any major plugins for this to work.

    Along with this, I've also ticked off Basic looting enchantment implementation in the Readme.MD file just so we know where we are at.

    Has this Pull Request been tested?

    Start up script - Tested to enable with success. Mob killing / kills - Untested, but should work. There shouldn't be any other major issues to worry about. Untested, but everything should work as expected. Thank you!

    Let's recape! What have we fixed in this Pull Request?

    We have made the following changes:

    • Added Zombies to the Lootable mobs. Before, this required another plugin for this to run.
    • Fixed errors when killing Snow golems.
    • Added use import for EntityDamageByEntityEvent for Snow golems.
    • PHP Stan Level 8 has successfully passed. (:
    • Fixed random server crashes when sometimes killing mobs. This was due to $looting = 1l not being defined at the beginnging of the getDrops() array code. - Thanks @Heisenburger69 for pointing that out!
    • Re-coded Looting enchantment - To allow multiplications, rather than adding looting levels onto the mob drops. All fixed now.
    • I kept adding, then removing Villagers. In this update, there's no need to add Villagers because of two reasons.
    1. Villagers are already implemented into Pocketmine-MP.
    2. Villagers by default don't drop anything, according to Pocketmine's code.

    Yes, zombies are already implemented into Pocketmine too, but there are drops, which means it should count as a lootable mob. When I mean Lootable, I mean those that drop stuff when killed.

    opened by iZeaoGamer 5
  • I cannot prevent individual mob types from being stacked

    I cannot prevent individual mob types from being stacked

    Hey ich have a problem in the config

    exempted-entities:

    • "chicken"
    • "exampleentity#2"

    but the chicken stacked, i would like the chickens not to be stacked. how can i make ?.

    and other.. I cannot prevent the stacking in worlds either -> in the config: spawner-stacking-disabled-worlds:

    • "Cityblock" <- My correct world folder name.

    and i get an error when placing spawner i type /spanwer chicken 1 -> then i placed the Spanwer an Internal server Error [Server thread/CRITICAL]: Error: "Class 'Heisenburger69\BurgerSpawners\Events\SpawnerPlaceEvent' not found" (EXCEPTION) in "plugins/BurgerSpawners-master/src/Heisenburger69/BurgerSpawners/Items/SpawnerBlock" at line 90 [19:41:29] [Server thread/CRITICAL]: #0 pmsrc/src/pocketmine/level/Level(1940): Heisenburger69\BurgerSpawners\Items\SpawnerBlock->place(object pocketmine\item\ItemBlock, object pocketmine\block\Air, object pocketmine\block\Bedrock, integer 1, object pocketmine\math\Vector3, object JackMD\NameSpaceRemover\CustomPlayer)

    PLS HELP Best Regardz

    opened by galaxytwenty 4
  • suggestion / bug

    suggestion / bug

    add permission to pick it up with any pickaxe without silk touch

    add option to change prefix - i know ive suggested this before but just bringing it up again

    opened by jaylac2000 4
  • Registering Mobs issue

    Registering Mobs issue

    Okay, i wrote my issue on here rather than the plugin i meant to so edited it.

    To note the issue im using this new boss plugin but with burgerspawners registering mobs which is what i want, the boss plugin doesnt register.

    Unless you, Burger, have a boss plugin for sale that works with your spawner system

    bug 
    opened by thecouchyeti 4
  • [Auto-xp / one shoot mobs]

    [Auto-xp / one shoot mobs]

    Setting this to true makes xp dropped automatically go to the player

    auto-xp: true

    Set this to true if all mobs should be killed by just one shot.

    one-shot-mobs: true

    I don't get XP if mobs stacking

    opened by silliershark 0
  • Add world protection support

    Add world protection support

    Hi, people can remove the spawners from UI even at the protected areas. Cause people can steal Spawners from other skyblock islands. At the Spawn where i am using WorldGuard plugin. They can interact with spawner and remove the Spawners through the UI. Edit: Can you add so people can't remove spawners or add in protected areas?

    help wanted 
    opened by RKAbdul 5
  • Suggestion

    Suggestion

    Be able to implement a /spawnershop command and you can edit the prices and amount you want to purchase. Basically like a GUI Type shop which you can edit in-game. I know it's been requested before but I just wanted to bring it up again.

    enhancement 
    opened by RoutinePrince15 2
Owner
PMMP Plugin Developer
null
A plugin manager for PocketMine-MP downloads plugin from PocketMine-MP official plugin repository

oh-my-pmmp A plugin manager for PocketMine-MP Getting Started Prerequisites Your server MUST RUN the latest version of PocketMine. Installation From P

thebigcrafter 6 Jan 4, 2023
An API for implementing leaderboards into your games

simple-leaderboard-api An API for implementing leaderboards into your games How to use it You'll first want to visit http://indiealchemy.com/simple-le

null 4 Apr 10, 2022
Learning design patterns by implementing them in various programming languages.

design-patterns Learning design patterns by implementing them in various programming languages. Creational design patterns Creational design patterns

Paweł Tryfon 1 Dec 13, 2021
A PHP library to support implementing representations for HATEOAS REST web services.

Hateoas A PHP library to support implementing representations for HATEOAS REST web services. Installation Working With Symfony Usage Introduction Conf

William Durand 998 Dec 5, 2022
This Pocketmine-MP plugin is a plugin including a complete faction system.

SimpleFaction Simple faction plugin replacing FactionsPro which is no longer updated. Commands Command Name Command Description Available for /f help

Ayzrix 33 Dec 19, 2022
SpawnInLobby Pocketmine-MP plugin. With this plugin the player will always join the game at the default world spawn point

SpawnInLobby Pocketmine-MP plugin. With this plugin the player will always join the game at the default world spawn point

null 1 Jan 7, 2022
Integrates the ClassicPress Plugin Directory and any plugin stored in GitHub (tagged with classicpress-plugin) in the ClassicPress Admin

ClassicPress Plugin Directory Adds a new screen in a ClassicPress Install where you can browse, install, activate, deactivate, update, delete and pagi

TukuToi 3 Dec 27, 2022
A PocketMine/Altay Plugin to morph yourself into a block

BlockMorph A PocketMine/Altay Plugin to morph yourself into a block Command To morph yourself into a block use this command: /blockmorph [BlockID|Bloc

Matze 7 Mar 22, 2022
A useful PocketMine-MP plugin that allows you to create crates in-game!

ComplexCrates A useful PocketMine-MP plugin that allows you to create crates in-game! Commands Main command: /crate Sub commands: create

Oğuzhan 8 Aug 26, 2021
A plugin to add more blocks to PocketMine

This plugin aims to add all blocks not included in PocketMine. As of right now the ExtendedBlocks plugin is required to add blocks with IDs above 255.

xSuper 26 Dec 19, 2022
✨An Ultimate NPC plugin made by brokiem for PocketMine-MP.

SimpleNPC An Ultimate NPC plugin made by brokiem for PocketMine-MP. ✨ Features Migration from Slapper supported! ✔ Right click to interact! ✔ NPC can

broki 53 Jan 1, 2023
Plot and protection plugin for PocketMine-MP

MyPlot Create, manage, and build in protected plots. Keep your builds safe from griefers! Official MyPlot precompiled builds can be found on Poggit at

Jason 101 Oct 28, 2022
A Pocketmine-MP (PMMP) plugin to help staff members enforce the rules of the server.

StaffMode is an all-in-one Pocketmine-MP (PMMP) moderation plugin made to simplify the life of staff members.

ItsMax123 9 Sep 17, 2022
A Pocketmine-MP (PMMP) plugin to prevent players from doing most glitches.

AntiGlitch AntiGlitch is an all-in-one Pocketmine-MP (PMMP) plugin made to prevent as many known glitches. Setup Guide To start using the plugin, down

ItsMax123 12 Sep 17, 2022
CrateKeyShopGUI Pocketmine-MP plugin which can be set in Config.yml file

CrateKeyShopGUI CrateKeyShopGUI Pocketmine-MP plugin which can be set in Config.yml file Depend FormAPI EconomyAPI PiggyCrate InvCrashFix Download Dow

null 4 Jan 7, 2022
Custom boss plugin for PocketMine-MP.

Bosses Custom boss plugin for PocketMine-MP. What is this plugin? This plugin adds entities that they have so much things to configure! How to create

Oğuzhan 7 Feb 8, 2022
This plugin adds custom pets to game for PocketMine-MP!

ComplexPets A plugin that adds pets to game made by OguzhanUmutlu for PocketMine-MP. Command Simply type /pets and summon your favorite animal! Featur

Oğuzhan 10 Aug 12, 2021
Casino plugin for Pocketmine-MP

Casino A simple Casino plugin for Pocketmine-MP. Usage You can make people bet for in-game money and in return either they win the money or loose. Cha

DeadBush 0 Jan 12, 2022
🐕‍🦺 An Ultimate Pets plugin for PocketMine-MP.

SimplePets An Ultimate Pets plugin made by broki for PocketMine-MP. ✨ Features MySQL and SQLite database Anti sql injection All mobs in Minecraft Pets

broki 23 Oct 13, 2022