iSpawner
Quote from Siguza:The Future?
Since Spigot is still standing and Sponge is slowly getting somewhere, I'm not exactly sure what to do with my plugins, but I'll stick around.
I think I will port most of my plugins to Sponge, but some (like NBTLib) will hopefully not be necessary anymore.
For now, I've set all my projects to "inactive", except for VirtualPack, which I will keep compatible with Spigot, until I ported it to Sponge. If you really want to see any of my other plugins updated to Spigot, just comment on its project page.
iSpawner
[ Download ] [ Source ] [ Format reference ]
Edit every attribute of your mob spawner - using commands and/or templates.
How to use
Installation
- Download NBTLib and move it to your plugins folder.
- Download the iSpawner.jar and move it into the plugins folder.
- Start your server.
Config
Node | Possible values | Description |
---|---|---|
check-update | true or false | Whether to check for updates or not. |
Commands
Note 1: The actual command is "/ispawner", but there's the a short version: "/isp"
Note 2: Red arguments have to be given, blue ones can be omitted (depending on what you're doing)
Command | Description | Required Permission |
---|---|---|
/isp | Show the help | - |
/isp version | Show the version of iSpawner | - |
/isp start | Execute this command and click a block to start a session. | ispawner.use |
/isp start (world) (x) (y) (z) | Start a session in world world at position x/y/z. | ispawner.use |
/isp cancel | End the session and discard changes. | ispawner.use |
/isp end | End the session and apply changes. | ispawner.use |
/isp set (path) (type) [value] | Set an NBT tag to a certain value. Important: If type is list, compound or "-" (= delete tag), you don't need to give a value, otherwise you do. | ispawner.use.admin |
/isp import (name) | Import the file iSpawner/data/name.txt. | ispawner.import and ispawner.import.name or ispawner.import.admin |
/isp export (name) | Export the current spawner to iSpawner/data/name.txt. | ispawner.export |
/isp export override (name) | Export and override iSpawner/data/name.txt. | ispawner.export.admin |
/isp info | Print all the data of the current spawner. | ispawner.use |
/isp types | Show all possible NBT types. | ispawner.use |
Permissions
Node | Effect | Child nodes |
---|---|---|
ispawner.use | Allows the use of iSpawner commands | |
ispawner.use.admin | Allows to edit spawners directly via commands | ispawner.use |
ispawner.import | Allows to import templates | |
ispawner.import.admin | Allows to import every template | ispawner.import |
ispawner.export | Allows to create templates from spawners | |
ispawner.export.admin | Allows to overwrite existing templates when exporting | ispawner.export |
ispawner.update | Notifies you of new iSpawner versions | |
ispawner.admin | Full iSpawner access | ispawner.import.admin ispawner.export.admin ispawner.use.admin ispawner.update |
Dev Builds
Quote:Development builds of this project can be acquired at the provided continuous integration server. These builds have not been approved by the BukkitDev staff. Use them at your own risk!
[ Dev Builds ]
Donation
Is of course always appreciated. :)
IMPORTANT NOTICE
As of the 15. September 2014 I'm stopping development of all my Bukkit plugins (hence the status "abandoned"). I will still give support for the existing versions, but no more updates are planned so far. With the recent DMCA takedown and the even more recent acquisition of Mojang by Microsoft, I'm leaving. I might come back some time, but for now I'm out. Maybe I'll rewrite my plugins for the Sponge API when that has made it somewhere or use the official API once it's released (if I haven't died of old age by then) or whatever, we'll see when the time has come.
If you want to take over one of my plugins, you can do so. All my plugins are released under CC BY-NC-SA 3.0 (really short summary), except for NBTLib, which is released under CC BY 3.0 (even shorter summary).
You can also just fork them all on GitHub, I've pushed all my current (highly unfinished) code up there.
If you want to contact me, visit www.siguza.net.
You were a cool community.
- Siguza out
@Th3Net
You have to set "Item" (Item.id, Item.Damage, Item.Count) as a tag in the EntityItem you want to spawn. If you do that, show me your data please.
How can I make it spawn a dropped item? It only seems to spawn stone as a dropped item. I want to be able to spawn enderpearls
@Mortico8
Looks like it can't find NBTLib. Is it installed?
Been using this mod for a long time, and it was working fine until recently. Now when I try to use /isp start and click a spawner, it gives me an error "Error fetching world handle. See Console"
The console has all kinds of error spam:
2013-09-28 22:46:01 [INFO] Mortico issued server command: /isp start
2013-09-28 22:46:03 [SEVERE] java.lang.NoClassDefFoundError: net/drgnome/nbtlib/NBTLib
2013-09-28 22:46:03 [SEVERE] at net.drgnome.ispawner.SpawnPlugin.startSession(SpawnPlugin.java:198)
2013-09-28 22:46:03 [SEVERE] at net.drgnome.ispawner.SpawnPlugin.handleClick(SpawnPlugin.java:162)
2013-09-28 22:46:03 [SEVERE] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2013-09-28 22:46:03 [SEVERE] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
2013-09-28 22:46:03 [SEVERE] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
2013-09-28 22:46:03 [SEVERE] at java.lang.reflect.Method.invoke(Unknown Source)
2013-09-28 22:46:03 [SEVERE] at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:361)
2013-09-28 22:46:03 [SEVERE] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62)
2013-09-28 22:46:03 [SEVERE] at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:479)
2013-09-28 22:46:03 [SEVERE] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:464)
2013-09-28 22:46:03 [SEVERE] at org.bukkit.craftbukkit.v1_6_R2.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:190)
2013-09-28 22:46:03 [SEVERE] at net.minecraft.item.ItemInWorldManager.func_73074_a(ItemInWorldManager.java:167)
2013-09-28 22:46:03 [SEVERE] at net.minecraft.network.NetServerHandler.func_72510_a(NetServerHandler.java:760)
2013-09-28 22:46:03 [SEVERE] at net.minecraft.network.packet.Packet14BlockDig.func_73279_a(Packet14BlockDig.java:67)
2013-09-28 22:46:03 [SEVERE] at net.minecraft.network.TcpConnection.func_74428_b(TcpConnection.java:464)
2013-09-28 22:46:03 [SEVERE] at net.minecraft.network.NetServerHandler.func_72570_d(NetServerHandler.java:231)
2013-09-28 22:46:03 [SEVERE] at net.minecraft.network.NetworkListenThread.func_71747_b(NetworkListenThread.java:54)
2013-09-28 22:46:03 [SEVERE] at net.minecraft.server.dedicated.DedicatedServerListenThread.func_71747_b(DedicatedServerListenThread.java:34)
2013-09-28 22:46:03 [SEVERE] at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:872)
2013-09-28 22:46:03 [SEVERE] at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:318)
2013-09-28 22:46:03 [SEVERE] at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:741)
2013-09-28 22:46:03 [SEVERE] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:625)
2013-09-28 22:46:03 [SEVERE] at net.minecraft.server.ThreadMinecraftServer.run(ThreadMinecraftServer.java:16)
@ToxicShad0w
This isn't about the equipment, this is about handling errors in general. Because you actually did make two mistakes there:
(And don't be surprised, "SpawnData.Equipment.0.Lore.1" will turn into "SpawnData.Equipment.0.Lore.0" automatically and it should be like this ;)) I hope I found every mistake there, not that your server gets messed up again.
@Siguza
Hey thanks for replying; yeah, I wasn't sure exactly where I messed up, good to know, I'll keep my eyes out for any more issues like that once you get the equipment sorted out.
@ToxicShad0w
Now I know what I forgot to add when I rewrote the plugin. -.-
Well, it's pretty complicated to fix it and I will first have to change things in NBTLib in order to make this possible.
I also don't have much time at the moment, but I'll look into it asap. :/
Be careful using the import NBT, it seems equipment crashes the whole server with an IndexOutOfBounds error as soon as the spawner is rendered. I seem to have broken this server with it. The NBT I used was:
Parts of this was created via an export, and then I manually added the majority of the SpawnData stuff. Did I mess up or is this a bug?
Edit: I managed to login by deleting my username.dat file, in the /world/players/ directory. It'll reset your position, so you are no longer in the area to activate the spawner, if you get the crashlog, you can find the position of the spawner and use a plugin to delete it, which will solve this issue. Nevertheless, this plugin should do a bit more error-caching.
Just noticed you added the import/export stuff - sweet! awesome work :)
@ridddle
I started rewriting it a few days ago. I'll give you the whole spawner as NBT data then, and allow importing/exporting it to plain data files.
Siguza, sorry to bump my question but I still wonder if this is possible, somehow:
The nice thing about
SpawnPotentials
is that you can get a spawner which spawns 80% normal zombies, 10% zombies with armor and let’s say 10% fast zombies with Flame Aspect sword, if you wished.Currently you can only make 1 mob/entity type per spawner which is the old model. I’m not even asking for some helper commands/parameters, can you allow us to set NBT structure for new/modern spawner type by hand?
Could someone help me make a Zombie with a Stone Axe, a Name on their head called "Orc" and 40 health?
Mine crashed.
@SupaHam
You're welcome ;)
@Siguza
Thanks for keeping this up to date, this plugin is absolutely awesome and very smooth.
@Coffeebuzz77
/edit mob Skeleton
/edit data Equipment list
/edit data Equipment.0 compound
/edit data Equipment.0.id short 261
/edit data Equipment.0.Damage short 0
/edit data Equipment.0.Count byte 1
/edit data Equipment.0.tag compound
/edit data Equipment.0.tag.ench list
/edit data Equipment.0.tag.ench.0 compound
/edit data Equipment.0.tag.ench.0.id short 49
/edit data Equipment.0.tag.ench.0.lvl short 2
/edit data Equipment.1 compound
/edit data Equipment.2 compound
/edit data Equipment.3 compound
/edit data Equipment.4 compound
Hi, thanks so much for the plugin.
Can anyone give me an example of spawning a skeleton with bow that has punch 2 ?
@nullschritt
If they don't show up when running "/edit list all", then no.
That would require modding of the Spawner itself, which I might do some time in the future if I have time. The plugin would then also be needed in order to keep the modification on spawners (if removed, spawners would just switch back to "normal" - currently the change remains if the plugin is removed) and it would increase the server load.
Hello seems like a great plugin, but would it be possible to allow the spawning of any entity, even ones that default spawners cannot, such as custom mobs on moded servers?
@Coffeebuzz77
Are you talking about 1.0.8 or 1.0.9?