Inactive [FIX/MISC] creaturebox [0.8] - Mob Spawners become tradable! [1818]

Discussion in 'Inactive/Unsupported Plugins' started by Spathizilla, Jun 10, 2011.

  1. Offline


    Make creature spawners tradable
    Now with EnderDragons, Villagers, Blaze and more!

    Download v0.8 for CraftBukkit 1818 (Minecraft Beta 1.1) - See Note!
    For a Minecraft 1.2.5 version See this post: creaturebox dev-1.0

    Version 0.8 WILL NOT work with 1.1-R4+ or Minecraft 1.2.3!
    You must get the development version of creaturebox 1.0 at the link above

    Please use bukkitdev for all bug reports and support questions:
    creaturebox BukkitDev:

    creaturebox was originally created by Lodran and was first developed and deployed on our server when we wanted better control over spawners. creaturebox also fixes several issues with creature spawners, so that they can be altered, and traded between players.
    • Have you ever thought "I'd love to dig this dungeon out, and move it somewhere more useful."?
    • Have you ever thought "I'd really like to /give myself a spawner, and make it produce something other than pigs."?
    • Have you ever thought "I'd really like to turn this spawner on and off with a switch"?
    • Have you ever thought "I'd like these critters to spawn on something other than grass"?
    • Have you ever thought "I wish monsters would spawn in lit rooms too"?
    If you answered "yes" to any of these, then creaturebox is the plugin for you.

    • When a creature spawner is broken, it is dropped as an item.
    • When a creature spawner is placed, it retains its original creature type.
    • The creature type which is created by a creature spawner can be changed using the /creaturebox set command. To alter a mob spawner, look directly at it (through glass is fine), then type /creaturebox set {creaturename}, where {creaturename} is the name of a creature. Valid creature names are: pig, chicken, cow, sheep, squid, creeper, ghast, pig_zombie, skeleton, spider, zombie, slime, monster, giant and wolf.
    • The frequency at which a creature spawner generates creatures can be changed using the /creaturebox period {period} command, where {period} is the number of seconds between spawns. A period of -1 gives a random period between 10 and 20 seconds. A period of zero puts the creature spawner into "pulsed redstone" mode, where creatures are generated only when the redstone power of the spawner switches from high to low.
    • The number of creatures generated at a time can be changed using the /creaturebox count {count} command, where {count} is the number of creatures to generate. A count of -1 generates a random number of creatures (from 1 to 4), while a count of 0 disables the spawner.
    • The maximum number of live mobs that a spawner will maintain can be changed using the /creaturebox limit {limit} command, where {limit} is the desired maximum. A limit of -1 sets the default, which is 10 for a managed spawner, and unknown for a natural spawner.
    • The requirements for spawning a creature can be adjusted using the /creaturebox requires {requirements}command, where {requirements} is a space separated list any number of:
      • player - require a player to be within 20 blocks of the spawner.
      • surface - require grass for critters.
      • light - require light for critters, dark for monsters.
      • space - requires only an area to spawn mobs.
    • A creature spawner's settings can be displayed using the /creaturebox info command.
    • A creature spawner can be given to a player using the /creaturebox give {player} {creaturename} {count} command.
    • Supports Permissions, PermissionsEx, GroupManager and BukkitPerms.
    • A creature spawner can be turned off by powering it with redstone.
    • You can see what type of spawner you're holding with /creaturebox holding command.
    • creaturebox.set - Allows use of the /creaturebox set command.
    • creaturebox.give - Allows use of the /creaturebox give command.
    • creaturebox.creature.{creaturename} - Allows the player to set or give {creaturename} spawners, where {creaturename} is a valid creature name (pig, cow, etc...).
    • creaturebox.period - Allows use of the /creaturebox period command.
    • creaturebox.count - Allows use of the /creaturebox count command.
    • creaturebox.limit - Allows use of the /creaturebox limit command.
    • creaturebox.requires - Allows use of the /creaturebox requires command.
    • creaturebox.dropspawner - When a creature spawner is broken, it is dropped as an item.
    • creaturebox.placespawner - When a creature spawner is placed, it retains its original creature type.
    • creaturebox now creates a config.yml file in .../Plugins/creaturebox.
    • debugPriority: {integer range 0-3, default 2} - Sets the "noise level" for debugging messages - lower numbers = less noise. In general, you can ignore this because you have to set yourself as a debugger to see debugging messages.
    • messagePriority: {integer range 0-3, default 3 } - Sets the "noise level" for messages which are displayed when a player types a command.
    • enableRedstone: {boolean, default true} - Enables or disables redstone control of creature spawners.
    • operatorPermissions: {boolean, default true} - Enables separate operator permissions. If set to false, players are given the same permissions as operators. This setting will do nothing if a permissions plugin is installed.
    • showPlacements: {boolean, default false} - Shows the coordinates where spawners are placed or broken on the console.
    • creaturebox runs spawners in two different modes. "Natural" mode, where the spawner is run entirely by minecraft (and thus won't stop working, or change behavior when the map is loaded on a vanilla server), and "Managed" mode, where the spawner is run entirely by creaturebox. A spawner is switched to managed mode if any of its settings are changed from default. Squid, Slime, Monster and Giant spawners are always run in managed mode.
    • The Mobs added to Minecraft 1.8 will not work with older versions of craftbukkit even with creaturebox for 1.8. Please do not post about it if you thought you were smart trying to get enderman spawners in minecraft 1.7.
    • You can trade mob spawners with shop plugins (like ChestShop) but you need the correct spawner type id for that creature. These ID numbers changed after craftbukkit build 1222 and also with craftbukkit build 1818. Use /iteminfo

    Version 0.8
    • Compiled against latest RB
    • Updated mobspawners to keep their types via Enchantments since Bukkit removed metadata on mobspawners
    • All 1.0 mobs added
    • New Config Option: legacydata: {boolean - default: false} - Allow the now broken metadata method to be used. Only works with very old craftbukkit versions
    Revision History (open)

    Version 0.7.8b
    • Added /cb holding command to tell you what spawner type you're holding - Spout support for this to be added
    • Old broken spawners which were not placed in the world during the id conversion process will now drop fixed ones.
    • New Config Option: showPlacements - Shows the coords of spawners being broken/placed in the console.
    Version 0.7.8a
    • Fixed NPE caused by the entity id changes when /cb set was used without a creature name.
    Version 0.7.8
    • Updated entity ids for craftbukkit 1240. This version will not work on earlier recommended builds
    Version 0.7.7b
    • Fixed a problem where mcMMO would cause multiple spawners to drop - Thanks to @daemitus for reporting this.
    Version 0.7.7a
    • TempFix: Disabled human monster spawners to prevent exception spam
    • TempFix: Human monster spawners will now spawn Zombies (until human monsters are fixed)
    • Added an error message if spawning of other mobs failed (with coords)
    Version 0.7.7
    • Added Cave_Spider spawners (id 15) - creaturebox.creature.cave_spider
    • Added Enderman spawners (id 16) - creaturebox.creature.enderman
    • Added Silverfish spawners (id 17) - creaturebox.creature.silverfish
    • Added native support for PermissionsEx
    • Added native support for GroupManager
    • Added Bukkit Permissions
    Version 0.7.6
    • Fixed an exploit where a spawner would drop under certain conditions when it shouldn't.
    • Fixed saving spawners logspam when the spawner placement was actually blocked
    • Filename of the JAR was changed to correctly be creaturebox.jar (Make sure to delete the old one)
    This exploit is present in all previous versions.

    Version 0.7.5
    • Made spawners of different types not stack - Credit to Nisovin for discovering this
    Version 0.7.4

    • Updated Permissions calls to remove depreciated methods
    Version 0.7.3

    • Added creaturebox.period, creaturebox.count, creaturebox.limit and creaturebox.requires permissions.
    • The source code for creaturebox is now included within the .jar.
    Version 0.7.2

    • Managed spawner settings for multiple worlds (spawners.yml) are now loaded correctly.
    • A new configuration setting (operatorPermissions:) has been added to config.yml.
    Version 0.7.1

    • spawners.yml is now written whenever a spawner is modified.
    • Added exception handling to the code that reads spawners.yml.
    • Spawners are now removed from the managed spawners list when their block is broken (or otherwise changed).
    • Added (experimental) code to stop spawners from being run if their chunk is unloaded. This code needs more testing, as it appears that checking to see if a chunk is unloaded may be causing it to load.
    Version 0.7.0

    • Enabled all of my "experimental" features.
    • The frequency at which mobs are generated can be changed (see /creaturebox period).
    • Spawners can now be "pulsed" with redstone, to generate 1 or more mobs each time a button is pressed (see /creaturebox period).
    • The number of mobs generated each time can be changed (see /creaturebox count).
    • The total number of mobs that a spawner will create at a time can be changed (see /creaturebox limit).
    • Some of the requirements for spawning a mob can be relaxed (see /creaturebox requires).
    Version 0.6.3

    • Fixed default permissions for wolf spawners.
    • Fixed spawning for squid spawners.
    Version 0.6.2

    • Worked around a bug in bukkit which was causing all spawners to be placed as pig spawners.
    • Added support for wolf spawners.
    • Enabled experimental code which improves the spawning requirements for sqiud spawners (Note: to activate this code you have to use the /creaturebox set squid command on the spawner. Existing spawners and those placed from inventory still use the old code).
    Version 0.6.1

    • Updated to support CraftBukkit build 602. Note: creaturebox is not compatible with CraftBukkit build 600.
    Version 0.6.0

    • Rewrote the plugin from scratch, to make way for new features.
    • Replaced right-click selection of mob spawners with "where I'm looking" selection.
    • Added /creaturebox info command, which tells the player a creature spawner's settings.
    Version 0.5.1

    • Added /creaturebox access command, which tells the player what access they have.
    • Updated to support craftbukkit 522/bukkit 450
    • Removed the Slime creature type - slime spawners don't work as is.
    Version 0.5

    • Added the ability to turn spawners on and off with redstone.
    Version 0.4

    • Altered creaturebox.attachPermissions in an attempt to gain compatibility with Permissions version 2.1.
    Version 0.3

    • pig_zombie spawners now break correctly.
    Version 0.2

    • Changed /creaturebox {creaturename} command to /creaturebox set {creaturename}.
    • Changed creaturebox.changespawner permission to creaturebox.set.
    • Added /creaturebox give {player} {creaturename} {count} command.
    • Added per-creature permissions.
    Version 0.1

    • First Release
  2. Offline


    This is the action creaturebox takes if it is unable to override the stacking mechanic for mobspawners. It will set them to stacksize of 1 if it cannot set to only stack similar metadatas. The stacksize works in all versions of craftbukkit but the stacking by type is specific to different versions of craftbukkit. Currently, since we have no recommended build, the mechanic has not been updated for 1.0.0 yet.
  3. Offline


    Any way to modify this program to just add the ability to pickup mobspawners with a silk touch enchanted pickaxe?

  4. Offline


    Could you make some way of obtaining different types of spawners without "/creaturebot set" command? For example, random type of spawners in dungeons or a random spawners can be found in chests. Or a random spawner drops when breaking a dungeon spawner first time...
    I want my players to search for different spawners, not just choosing what spawner they want. But i don't want it to be only zombie/skeleton/spider spawners. It can be other monsters and animals too!
    Sorry for my English. Thank you.
  5. Offline

    Celtic Minstrel

    Pretty sure there's already a '/creaturebox give' command for just that purpose.
  6. Offline


    That makes perfect sense. Thank you very much!
  7. Offline


  8. Offline


    Feature request

    Please can we have default global values for creaturebox count and creaturebox limit settable in config or by command so that any mined / placed mob spawner conforms to these limits i feel it would be very handy if i could globaly control the rate that these spawners spawn at.
  9. Offline


  10. Offline


    Im having a problem with pex, for some reason it accepts the permission to pick up spawners but for placing them it always says "you can not place [mobname] spawner".
  11. Offline


    Ugh.. @Tahg removing the durability/metadata of the mobspawner in inventory means we cant store the mob type when moving the spawner from one location to another.


    You can still use /cb set to change the spawners back to whatever they should be.

    Random thoughts on how to fix this annoying change to craftbukkit:

    Might be able to work around it if I turn mobspawners into a spout custom item. That way you never get the actual mobspawner but get the stand-in Spout item. Like a token for a spawner if you will.
  12. Offline


    I am currently using the dev build and just so you know the permission nodes for ppl to be able to place spawners themselves do not at this time work
  13. Offline


    They do if you have the appropriate permission for the creature that spawner is for.
  14. Offline

    Celtic Minstrel

    I've asked Tahg to add back the one line that would make that aspect of this plugin work again... he didn't seem particularly opposed to it, though clearly he hasn't done it either (yet).
  15. Offline


    ive already chefcked and everyone has the permission to place spawners and yet they cant place them
  16. Offline


    Yoink :) putting creaturebox.placespawner doesnt work try adding a .* after and it should fix ur your problem... i had same issue
  17. Offline


    That still did not work but I did find a way around that. I had to add it to look like this

    - creaturebox.creature.pig
    - creaturebox.creature.creeper
    - creaturebox.creature.cow
    - creaturebox.creature.sheep
    - creaturebox.creature.chicken
    - creaturebox.creature.slime
    - creaturebox.creature.spider
    - creaturebox.creature.skeleton
    - creaturebox.creature.giant
    - creaturebox.creature.wolf
    - creaturebox.creature.enderman
    - creaturebox.creature.zombie
    - creaturebox.creature.pig_zombie
    - creaturebox.creature.cave_spider
    - creaturebox.creature.silverfish
    - creaturebox.creature.blaze
    - creaturebox.creature.ghast
    - creaturebox.placespawner.*
    had to add ALL plus the last one to make it work where before I didnt have to do this,...
  18. Offline


    Thanks for this info, still hoping they can fix the durability metadata soon, our server just started on 1.0, and now everybodys spawners are reset, luckily only a few users have found them.
  19. Offline


    The permissions you'd need to place are:
    - creaturebox.placespawner
    - creaturebox.creature.* (or you can specify specific creatures)
    The reason this was changed is so you can prevent people placing mobspawners they shouldnt have. For example, if you use one of the major grief loggers like logblock and rollback changes, the spawner becomes a pig spawner. On my server, people cannot get pigspawners so they shouldnt be able to move them either.

    If you add -creaturebox.creature.* it should solve the problem. Also I noticed that for superPerms, that creature.* was missing (which is now fixed in dev-0.7.9-1)
  20. Offline


    Because I hate the stupid slash n burn approach to mobspawners taken by the bukkit devs, I have compiled my own copy of craftbukkit 1597 with the mobspawners readded.

    Unfortunately until there is a real solution to craftbukkit removing mobspawner metadata, you'll have to compile your own copy of Craftbukkit with the 1575 commit reverted.

    However, I have updated the stacking mechanic in devbuild 2 for those who still use creaturebox with 1597.
  21. Offline


    Is there any word if they're going to readd the metadeta to the spawners? Or is there any other workaround right now? We don't want to give /creaturebox set permissions to anybody on our server at all. If someone finds a skeleton spawner we want them to be able to place a skeleton spanwer and nothing else.

    It doesn't sound like the new dev build fixes that does it? Do the bukkit devs plan to remove the 1575 commit? Can we express our concerns on the matter to get them to re-add the metadata?
  22. Offline


    So far the word is "meh". They think the spawners are too buggy and allow exploiting. While you can do bad things with "incorrect" spawners, that just needs better handling of the situation, which creaturebox does. Both myself and celtic have expressed our concerns about the change. DinnerBone and Tahg both are probably not going to take any action unless someone else writes the code. I asked them to purely allow the metadata again (a simple change) rather than a full fix of the mobspawners. If they did this, it allows creaturebox to function correctly when breaking spawners. They were more open to that very minor change but it basically was "when we can be bothered"

    I have gone with the most simple solution yet. I copied the code for 1597 and re-added all the stuff they removed for mobspawners. So my server now has the RB but with a fully working creaturebox :D.

    I wish it was easier to override the various classes in the net.minecraft.server package so I could readd the mobspawner handling on the fly from within creaturebox. For now, my custom craftbukkit version works fine though.
  23. Offline


    Anyway to get ahold of that custom craftbukkit?
  24. Offline


    Yeah I was going to ask if there was a way to override it to get it working on the fly from within the plugin, guess that's some massive work if it's at all even possible though.

    Is there a way you can post your CB build since our server has a TON of use for creaturebox, we've got alot of complains about broken spawners now and I'd like to nip this bug sooner rather than later. Since it's open source I assume you can share it with us, yes?

    Thanks again for all your hard work during this time. Hopefully they'll just re-add the metadata... it's such a small code commit, don't know why they're against doing it right now :(
  25. Offline

    Celtic Minstrel

    I think they're considering whether there's any point in doing so when enchantments has opened up a potential way to store any arbitrary metadata along with items.
  26. Offline


    Can the dev use this to his advantage in this plugin? I'm confused by what you mean?
  27. Offline


    Would have posted this elsewhere, but can't find the comments in DevBukkit...

    For 1597 version, whenever I place a spawner I get an error message and the block breaks.
    Server message: [creaturebox] Replaced _username's_ old pig spawner with a new one
    Client message: [creaturebox] Your old pig spawner was replaced with a new one. Place it again.

    This occurs in endless loops.

    On cb holding:
    Your spawner is broken. Try to place it to recieve a fixed one.
    Again, endless loop.
  28. Offline


    1) You are using the minecraft 1.8.1 version of creaturebox which is not meant for 1597.
    2) Read the note in the first post.
  29. Offline


    Update please.
  30. Offline


    Read please.
  31. Offline


    I have compiled recomended build 1.0.1 and re added whats required for creaturebox to work here is linky for the jar hope you get it before someone deletes link ... if link gets removed email me [email protected]

Share This Page