Spawner

Creeper Spawner 2

This plugin allows you to set mob spawner types and optionally gather mob spawners with a Silk Touch enchanted tool.

Features

  • You can change the type of spawner you are looking at or holding by using /spawner <EntityType>. For example /spawner creeper will change the spawner to a creeper spawner.
  • It will tell you what kind of spawner you interact with or type /spawner while looking at it.
  • Command to give yourself or another player a spawner of a given type.
  • /spawner list and /spawner help commands that display the contents of text files so you can customize them to your liking.
  • Command to remove entities in a given radius with /spawner remove <EntityType> [radius]
  • This plugin will attempt to remove the Silk Touch enchant from the spawner that some plugins add otherwise players can use them as a Silk Touch enchanted tool.
  • Luck option to give a chance to not drop the spawner and break like normal (disabled by default).
  • Frequency option for each creature type to give a chance to not spawn.
  • Prevents renaming spawners on an anvil.
  • Config option to prevent players from making spawners of bad entities.
  • Config option to prevent explosions from destroying spawners.
  • Config option to drop spawners from explosions.
  • Config file to change the language.
  • Config option to use creature aliases so you can just use horse instead of EntityHorse.
  • Permissions to disable eggs.
  • Configure drops.

This plugin may use various bits of code I found on the Bukkit forums.


Installation

  • Drop the plugin into your plugins folder like any other plugin.
  • Restart the server.
  • If you are updating from an older version you must either delete your language.yml file or update it with the new entries or you will get errors.
  • Make sure to configure it to your liking by editing the config.yml.
  • Type /spawner reload to reload any changes you make to the language.yml or config.yml files.
  • If you want players to be able to break spawners add permission for spawner.break.<entity>
  • If you want players to be able to mine spawners with a silk touch enchanted tool add permission for spawner.mine.<entity>
  • If you want players to be able to place spawners add permission for spawner.place.<entity>
  • <entity> in the above points can be any entity type (all lowercase) or all to indicate all entities. For example spawner.place.all will allow players to place any spawner type.


Spawner


Commands

/spawner <entity>
Switch the spawner you're looking at or holding to the given mob entity type.

/spawner give <entity> [player]
Give a spawner to yourself or another player.

/spawner list
Display the contents of the spawner/list.txt file.

/spawner help
Display the contents of the spawner/help.txt file.

/spawner remove <entity> [radius]
Removes entities of the specified type within a given radius.

/spawner reload
Reload the plugin. Useful if you make changes to any of the files.


Permissions

spawner.all
Gives all Spawner permissions.
Default: op

spawner.reload
Gives access to use /spawner reload to reload the plugin.
Default: op

spawner.set.<entity>
Gives access to use /spawner <entity>
Use spawner.set.all to allow all spawner entity types.
Default: op

spawner.get
Gives access to right-click a spawner or use /spawner to get the spawner entity type.
Default: op

spawner.break.<entity>
Allows players to break spawners as normal.
Use spawner.break.all to allow all spawner entity types.
Default: op

spawner.mine.<entity>
Allows players to mine spawners with a silk touch enchanted tool.
Use spawner.mine.all to allow all spawner entity types.
Default: op

spawner.place.<entity>
Allows players to place spawners.
Use spawner.place.all to allow all spawner entity types.
Default: op

spawner.give.<entity>
Gives access to use /spawner give <entity>
Use spawner.give.all to allow all spawner entity types.
Default: op

spawner.nosilk.<entity>
Allows mining spawners without using silk touch.
Use spawner.nosilk.all to allow all spawner entity types.
Default: op

spawner.giveothers.<entity>
Gives access to use /spawner give <entity> <player>
Use spawner.giveothers.all to allow all spawner entity types.
This can also be run from console.
Default: op

spawner.help
Gives access to use /spawner help
Default: op

spawner.list
Gives access to use /spawner list
Default: op

spawner.remove
Gives access to use /spawner remove <entity> [radius]
Default: op

spawner.eggs.<entity>
Allows using eggs on spawners to change their entity type.
Use spawner.eggs.all to allow all entity types.
Default: op

spawner.anvil.eggs
Allows using anvils to rename spawner eggs.
default: op

spawner.anvil.spawners
Allows using anvils to rename spawners.
Default: op

Note: In Spawner v1.9 some of the permissions changed from ending with .* to .all


Tips

  • Edit your config.yml and do /spawner reload to reload the changes.
  • Make sure you aren't looking at a spawner when you're trying to change the spawner you're holding.
  • It can also change an entire stack of spawners you're holding.
  • If you try to update the plugin with a plugin manager without restarting the server you may run into issues (such as duplicate spawner drops).
  • Doesn't work properly in creative mode.
  • The config.yml file has a section for valid_entities where you can list entities you want players to be able to use.


TODO

I created a Spawner 3.0 TODO List here.

Check the issues for a list of TODO items.


Metrics

This plugin collects anonymous statistics about your server so that I can better understand how people are using the plugin.

It sends these stats to MCStats.org where it's publicly available. These statistics include your Java version, operating system, authentication mode, system architecture, number of system cores, server location, game version, server software, and which version of this plugin you are using.

If you would like to opt out of this anonymous statistics collection process then you can disable it by editing the file /plugins/PluginMetrics/config.yml and changing opt-out to true.

Spawner


EntityTypes and Item Durabilities

Creating a Spawner From Another Plugin

Default config.yml

Default language.yml

Source

Report Issues


Donations

If you like this plugin please consider donating towards its development. This will encourage me to work on it more. Your donation is very much appreciated!

PayPal: You can find a donate link on the top-right of the page.
Bitcoin: 13Ypntcsv33jb9voWpkAUFZAAMzWAgEjqT

You must login to post a comment. Don't have an account? Register to get one!

  • Avatar of ryvix ryvix Sep 14, 2016 at 07:01 UTC - 0 likes

    @bkes5410: Go

    What permission plugin are you using? I've tested fine with bPermissions, PEX and zPermissions and it's worked fine for me. Maybe you haven't reloaded your permissions or maybe they aren't set properly for some reason or another.

  • Avatar of bkes5410 bkes5410 Sep 13, 2016 at 10:23 UTC - 0 likes

    @ryvix: Go

    You don't have permission to do that!

    I tried

    so sad

  • Avatar of ryvix ryvix Sep 13, 2016 at 10:11 UTC - 0 likes

    @bkes5410: Go

    In order to allow players to place all spawners they must have the permission: spawner.place.all

    Also note you can specify individual entities like spawner.place.creeper etc.

    Last edited Sep 13, 2016 by ryvix
  • Avatar of bkes5410 bkes5410 Sep 13, 2016 at 07:50 UTC - 0 likes

    I can not let the player places How to set up

  • Avatar of ryvix ryvix Sep 11, 2016 at 12:03 UTC - 0 likes

    @cbence92: Go

    Any particular reason? Do you get any errors? I don't know what redprotect is.

  • Avatar of cbence92 cbence92 Sep 11, 2016 at 10:30 UTC - 0 likes

    Sadly it is not working with redprotect plugin. Cant use this plugin at all.

  • Avatar of ryvix ryvix Aug 25, 2016 at 17:44 UTC - 0 likes

    Spawner v2.7 - 25 Aug 2016

    • Built against Spigot 1.10.2-R0.1-SNAPSHOT: git-Spigot-2486fb7-60c1719 (MC: 1.10.2)
    • Fixed some errors.
    • Made FireworksRocketEntity and XPOrbs actually do something.
    • Enabled XPOrbs by default. Make sure it's in your valid_entities config if you want to use them.
    • Added some new default aliases:
        Rabbit:
            - bunny
        FireworksRocketEntity:
            - fireworks
        XPOrb:
            - xp
    
  • Avatar of mat41997 mat41997 Aug 25, 2016 at 09:31 UTC - 0 likes

    error logs

    [11:29:24] [Server thread/ERROR]: Could not pass event InventoryClickEvent to Spawner v2.6-9b22706
    org.bukkit.event.EventException
    	at com.destroystokyo.paper.event.executor.MethodHandleEventExecutor.execute(MethodHandleEventExecutor.java:37) ~[patched_1.10.2.jar:git-Paper-842]
    	at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:78) ~[patched_1.10.2.jar:git-Paper-842]
    	at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[patched_1.10.2.jar:git-Paper-842]
    	at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:517) [patched_1.10.2.jar:git-Paper-842]
    	at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:502) [patched_1.10.2.jar:git-Paper-842]
    	at net.minecraft.server.v1_10_R1.PlayerConnection.a(PlayerConnection.java:1902) [patched_1.10.2.jar:git-Paper-842]
    	at net.minecraft.server.v1_10_R1.PacketPlayInWindowClick.a(SourceFile:33) [patched_1.10.2.jar:git-Paper-842]
    	at net.minecraft.server.v1_10_R1.PacketPlayInWindowClick.a(SourceFile:10) [patched_1.10.2.jar:git-Paper-842]
    	at net.minecraft.server.v1_10_R1.PlayerConnectionUtils$1.run(SourceFile:13) [patched_1.10.2.jar:git-Paper-842]
    	at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_102]
    	at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_102]
    	at net.minecraft.server.v1_10_R1.SystemUtils.a(SourceFile:45) [patched_1.10.2.jar:git-Paper-842]
    	at net.minecraft.server.v1_10_R1.MinecraftServer.D(MinecraftServer.java:791) [patched_1.10.2.jar:git-Paper-842]
    	at net.minecraft.server.v1_10_R1.DedicatedServer.D(DedicatedServer.java:404) [patched_1.10.2.jar:git-Paper-842]
    	at net.minecraft.server.v1_10_R1.MinecraftServer.C(MinecraftServer.java:725) [patched_1.10.2.jar:git-Paper-842]
    	at net.minecraft.server.v1_10_R1.MinecraftServer.run(MinecraftServer.java:624) [patched_1.10.2.jar:git-Paper-842]
    	at java.lang.Thread.run(Unknown Source) [?:1.8.0_102]
    Caused by: java.lang.NullPointerException
    	at me.ryvix.spawner.SpawnerEvents.onInventoryClickEvent(SpawnerEvents.java:451) ~[?:?]
    	at com.destroystokyo.paper.event.executor.MethodHandleEventExecutor.execute(MethodHandleEventExecutor.java:35) ~[patched_1.10.2.jar:git-Paper-842]
    	... 16 more
    

    My Minecraft Server, MEE.NOIP.ME

  • Avatar of ryvix ryvix Aug 24, 2016 at 03:20 UTC - 0 likes

    I'm just putting the finishing touches on it. Upload coming very soon! I worked on it all day so hopefully it isn't too bad. Even still though I rewrote a lot of stuff so this next version is going to be very new and potentially dangerous, although maybe potentially better too.

    It will only work on v1_10_R1 servers due to using NMS. I don't want to spend more time rewriting more stuff to deal with multiple versions right now but maybe some day. If you want to use other server versions you will just have to edit the code and recompile it, although I'm not sure that will work either in some cases due to using the offhand feature and maybe other API.

    Hopefully I've fixed the pig spawner issues for good too, but if you see any accidental pig spawners please check your server logs for a Pigception and send me the stack trace if you see one, and let me know how I can reproduce the issue =)

    There are a couple new language keys and a couple new options which should all be added to your config files automatically. The new options are break_into_inventory which will cause spawners to go to your inventory when broken and prevent_break_if_inventory_full which will prevent breaking the block if your inventory is full if set to true and cause it to drop the spawner on the ground like normal if set to false.

    As always, please report any bugs!

  • Avatar of ryvix ryvix Aug 22, 2016 at 04:36 UTC - 0 likes

    Hey Everyone,

    Just thought I should post an update. I worked on it a lot this weekend and almost have it ready. There's only one little bug left to squash (hopefully) and then a small feature to add for @meytroCURSE: Go and maybe something else if I have time. I'll also have to remember to do a test to make sure it works when updating from the old version and fix that if it doesn't.

    The reason it's taking so long is not only that I've been busy with work like I said before but also because I've implemented functions for storing the data for spawners directly in NBT in hopes that it will fix the Pig spawners issue and to prepare for future changes for new features on the TODO list. That part seems to be working fine but rewriting everything to work with this is taking a bit longer than expected due to various issues that keep showing up one after the other. So with any luck I'll be done tomorrow!

    Next if there aren't any issues that require fixing I'll work on Spawner 3.0 which will include tab completion, Vault compatibility to charge for spawners, baby spawners, and mobs with armour. Or at least any mobs that can have babies and armour. I think it used to be just zombies but I don't know if it's changed since then so I'll have to look into that. Also there will be the ability to limit the number of spawners a player can give or change and maybe even the number they can carry at once, I don't know. The entire command system will be rewritten but hopefully remain unchanged from a player perspective. Except for admins will be able to modify the configuration from within the game using commands. The config will be restructured quite a bit as well. Eventually I can also make it so a spawner can spawn multiple mob types and other neat stuff but that will come after 3.0 is done.

What do you want added next?

  1. Choices:

  1. Results
  2. 9 comments

Facts

Date created
Dec 03, 2012
Categories
Last update
Sep 15, 2016
Development stage
Release
License
MIT License
Curse link
Spawner
Downloads
97,930
Recent files

Authors