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 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

If they are crossed out it means they are finished or being worked on and may be in the next release.

  • Add ability to limit the number of spawners a player can give/change.
  • Add baby spawners.
  • Implement NBT features for MobSpawner from here for mob armor, etc.
  • Compatibility with Vault so that you can make it cost money to get/change a spawner.


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


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 Mar 04, 2015 at 00:54 UTC - 0 likes

    @N1ghtFire15: Go

    I'm told it used to work like that but I had to change the way it works because spawners would no longer hold their data value like that in Spigot for 1.8 for some reason. I tried to add data values back to them but apparently it still doesn't work properly for some reason. I will look into actually setting essentials up and testing it to make it work. I've never actually used essentials but I will see how it goes.

    Also, haven't had time to work on this much, but I still was not able to reproduce the bug being reported by others below. I don't know why or how that could be.

  • Avatar of N1ghtFire15 N1ghtFire15 Mar 04, 2015 at 00:35 UTC - 0 likes

    I can not figure out how to put spawners in my shop! I know there is another plugin that says it lets you do this (Silk Spawners Plugin) but I like your plugin much more and would like if I didnt have to switch... I tried using essentials signs and doing: [Buy] 1 52:50 $1 Which should give you a creeper spawner for $1, but instead I just get a pig spawner. Could you tell me how to make these buyable by signs in my shop, or add it to the plugin in the future?

  • Avatar of ryvix ryvix Mar 02, 2015 at 07:50 UTC - 1 like

    @adopted3: Go

    Thanks for the report! That seems to be the same issue @ayeelanaa was reporting with the name not going through which I couldn't reproduce. Ok lets see if I can reproduce it that way. I've been working on it adding a check for that to make sure it's set properly so maybe that will help once I finish it. Will see if I can release a fix in the next day or 2, providing I can reproduce it and test if it works.

  • Avatar of adopted3 adopted3 Mar 02, 2015 at 06:15 UTC - 0 likes

    Hi,

    I updated to Spawner 2.0. I looked at a spawner that was already placed (iron golem), and typed /spawner, and got this unhandled exception :(

    http://pastebin.com/9D76Eanw

    Paul

    UPDATE: it's not just when we type /spawner ... it's whenever we look at a spawner and try to change the spawner type using /spawner <type>:

    [00:18:08] [Server thread/INFO]: RaisingHopes issued server command: /spawner enderman
    [00:18:08] [Server thread/ERROR]: null
    org.bukkit.command.CommandException: Unhandled exception executing command 'spawner' in plugin Spawner v2.0-b0
    	at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[Spigot18.jar:git-Spigot-c46583f-e6f9fd4]
    	at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:141) ~[Spigot18.jar:git-Spigot-c46583f-e6f9fd4]
    	at org.bukkit.craftbukkit.v1_8_R1.CraftServer.dispatchCommand(CraftServer.java:645) ~[Spigot18.jar:git-Spigot-c46583f-e6f9fd4]
    	at net.minecraft.server.v1_8_R1.PlayerConnection.handleCommand(PlayerConnection.java:1115) [Spigot18.jar:git-Spigot-c46583f-e6f9fd4]
    	at net.minecraft.server.v1_8_R1.PlayerConnection.a(PlayerConnection.java:950) [Spigot18.jar:git-Spigot-c46583f-e6f9fd4]
    	at net.minecraft.server.v1_8_R1.PacketPlayInChat.a(PacketPlayInChat.java:26) [Spigot18.jar:git-Spigot-c46583f-e6f9fd4]
    	at net.minecraft.server.v1_8_R1.PacketPlayInChat.a(PacketPlayInChat.java:53) [Spigot18.jar:git-Spigot-c46583f-e6f9fd4]
    	at net.minecraft.server.v1_8_R1.PacketHandleTask.run(SourceFile:13) [Spigot18.jar:git-Spigot-c46583f-e6f9fd4]
    	at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.7.0_72]
    	at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.7.0_72]
    	at net.minecraft.server.v1_8_R1.MinecraftServer.z(MinecraftServer.java:683) [Spigot18.jar:git-Spigot-c46583f-e6f9fd4]
    	at net.minecraft.server.v1_8_R1.DedicatedServer.z(DedicatedServer.java:316) [Spigot18.jar:git-Spigot-c46583f-e6f9fd4]
    	at net.minecraft.server.v1_8_R1.MinecraftServer.y(MinecraftServer.java:623) [Spigot18.jar:git-Spigot-c46583f-e6f9fd4]
    	at net.minecraft.server.v1_8_R1.MinecraftServer.run(MinecraftServer.java:526) [Spigot18.jar:git-Spigot-c46583f-e6f9fd4]
    	at java.lang.Thread.run(Unknown Source) [?:1.7.0_72]
    Caused by: java.lang.NullPointerException
    	at me.ryvix.spawner.SpawnerFunctions.getSpawnerName(SpawnerFunctions.java:337) ~[?:?]
    	at me.ryvix.spawner.SpawnerFunctions.getSpawnerName(SpawnerFunctions.java:302) ~[?:?]
    	at me.ryvix.spawner.SpawnerFunctions.isValidEntity(SpawnerFunctions.java:82) ~[?:?]
    	at me.ryvix.spawner.SpawnerCommands.onCommand(SpawnerCommands.java:151) ~[?:?]
    	at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[Spigot18.jar:git-Spigot-c46583f-e6f9fd4]
    	... 14 more
    
    Last edited Mar 02, 2015 by adopted3: update
  • Avatar of ryvix ryvix Mar 01, 2015 at 16:36 UTC - 0 likes

    @ayeelanaa: Go

    Ahh that explains it. I will have to make it take that into consideration too and default to a pig spawner. However, the /spawner give command should work. What error do you get when you run it properly?

    Before you said you got an error but you were typing the command parameters in the wrong order. In your paste you had /spawner give Ayeelanaa pig but the correct order is /spawner give <entity> [player]

    For example: /spawner give pig Ayeelanaa

    Or better yet, if you give one to yourself just leave your name off: /spawner give pig

    If that gives an error then something must be conflicting or something else funny could be going on because I actually can't reproduce the error running that command with the parameters in the wrong order even. If anyone else is having a similar issue nobody has reported it yet.

  • Avatar of ayeelanaa ayeelanaa Mar 01, 2015 at 14:16 UTC - 0 likes

    @ryvix: Go

    I just ue the essentials command to give me a spawner because the /spawner give command doesnt work. When i go to place it it says that error in console. The name of it is just monster spawner. I can put my server on a test server and try figure out myself what the conflicting plugin seems to be.

  • Avatar of ryvix ryvix Mar 01, 2015 at 12:50 UTC - 0 likes

    @ayeelanaa: Go

    Hmm, are you using spawners that you already had that cause that? Can you please tell me the display name of one of them? That's the name of the item that shows when you hold it.

  • Avatar of ayeelanaa ayeelanaa Mar 01, 2015 at 12:34 UTC - 0 likes

    @ryvix: Go

    Yes I am using the latest version of Spawner. http://pastebin.com/A9pFfyQ3 That is the error I get.

    http://pastebin.com/x6QSg1PQ

    I also get this error too.

  • Avatar of ryvix ryvix Feb 28, 2015 at 19:21 UTC - 0 likes

    @WaffleSauceYT: Go

    Not sure how that kit plugin works but if it lets you get items by data/durability value you could potentially try setting that like 52:93 which might give a chicken spawner. This functionality was initially broken in Spigot so I removed it in v1.9b but I attempted to readd it in v2.0 so it may work.

    You can get a list of numbers to change the 93 to here: http://dev.bukkit.org/bukkit-plugins/spawner/pages/entity-types-and-item-durabilities/

  • Avatar of WaffleSauceYT WaffleSauceYT Feb 28, 2015 at 15:09 UTC - 0 likes

    How do I set a spawner in a kit? So that if you do /kit farmer you get a chicken spawner in that kit!

What do you want added next?

  1. Choices:

  1. Results
  2. 5 comments

Facts

Date created
Dec 03, 2012
Categories
Last update
Apr 03, 2015
Development stage
Release
License
MIT License
Curse link
Spawner
Downloads
61,921
Recent files

Authors