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

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

  1. Offline

    Spathizilla

    creaturebox
    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: http://dev.bukkit.org/server-mods/creaturebox/
    -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

    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.

    -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    Features:
    • 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.
    -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    Permissions:
    • 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.
    -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    Configuration:
    • 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.
    -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    Notes:
    • 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
    -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    Credits:
    -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    Changelog:

    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

    MrConfig

    I don't know if it's specifically related to creaturebox but since it's mentionning 'MobSpawner' in those error I'm posting here. This has been happening at random since upgrading to 1.8 and the console spamming doesn't stop until I restart the server.

    http://pastie.org/2582908

    Using Bukkit 1185 and creaturebox 0.7.7. Also running other plugins but none that interacts with MobSpawners. Thanks.
     
  3. Offline

    slimpyman

    AHHH when i seen monster i didnt know what to think anyway... i see that creature is the generalized class of all the mobs so that means monster is? .... lol
     
  4. Offline

    Emiya Shirou

    Without a permission system on server. Can only OP's use this?

    EDIT; is there a way to set it so spawner's won't drop?
     
  5. Offline

    Spathizilla

    You have a spawner somewhere in the map which has /cb set monster
    This mob type is broken as it was changed. Just find the spawner and do /cb set zombie

    I have two options..
    1) change monster spawners into zombie spawners until the monster spawning is fixed/removed.
    2) warn you it failed and show you the coords of the spawner (but it will error spam)

    creaturebox 0.7.7a
    Craftbukkit Recommended Build: 1185

    The latest version has just been uploaded.

    Download creaturebox 0.7.7a

    Change list:
    • 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)

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 16, 2016
  6. Offline

    MrConfig

    Great I will try that. Thanks a lot!
     
  7. Offline

    Mr_Pleco

    My debug messages are saying 0.7.6 after i download the newest version, is that intentional?
     
  8. Offline

    Insanehero

    Database support coming soon? Everytime my server restarts it loses all the creaturebox settings.
     
  9. Offline

    Celtic Minstrel

    I think he said it is.
     
  10. Offline

    Celtic Minstrel

    @Spathizilla and CreatureBox users!

    There is a recent commit (somewhere around build 1215) which breaks and obsoletes the part of this plugin that makes spawners drop spawners by introducing the same behaviour with different data values along with data filtering which prevents a plugin from setting an invalid data value on the mob spawner item. So, I wouldn't recommend updating past 1215 before a version of CreatureBox is released that handles this change, and before making such an update I would recommend making sure all spawners are placed in the world and not stored in the inventory.

    For the curious, the new data values for mob spawners post-build-1215 are these:
    49 = Monster (but that'll likely be removed and/or cause crashes)
    50 = Creeper
    51 = Skeleton
    52 = Spider
    53 = Giant
    54 = Zombie
    55 = Slime
    56 = Ghast
    57 = PigZombie
    58 = Enderman
    59 = CaveSpider
    60 = Silverfish
    90 = Pig
    91 = Sheep
    92 = Cow
    93 = Chicken
    94 = Squid
    95 = Wolf

    There are also data values for some entities that are not creatures. I have no idea if those will actually work; I wouldn't recommend using them.
     
  11. Offline

    Spathizilla

    I'm suddenly reminded of the permissions crap where bukkit decides to be different.
    Wonder why they couldn't have used our ids :p

    // Edit-- I guess this might be notch's doing since its outside the craftbukkit end code comment
     
  12. Offline

    Celtic Minstrel

    Yeah, I think they're the IDs Notch already used for the tile entity or the packets or something. Not sure.
     
  13. Offline

    o0AzzA0o

    Oh how fun :) i seen mobspawners spawning paintings on my server! great job bukkit team :p why on earth didnt they consider this plugin...
     
  14. Offline

    Celtic Minstrel

    Out of curiosity, did you try 40/41 for boats or minecarts? They're the only ones I didn't test to see if they'd crash the server. (For the curious, the valid IDs that crashed the server were 1, which is Item, and 21 which is Falling Block. I didn't try invalid IDs, but they probably would have been caught by the data filtering anyway.)
     
  15. Offline

    Simanova

    CraftBukkit 1221, Creaturebox 0.7.7.a

    perhaps the reason: https://github.com/Bukkit/CraftBukkit/commit/bd710db40092cc28666762a3922ecd827338ec9d

    please fix ! :)
     
  16. Offline

    Insanehero

    There is a recent commit (somewhere around build 1215) which breaks and obsoletes the part of this plugin that makes spawners drop spawners by introducing the same behaviour with different data values along with data filtering which prevents a plugin from setting an invalid data value on the mob spawner item. So, I wouldn't recommend updating past 1215 before a version of CreatureBox is released that handles this change, and before making such an update I would recommend making sure all spawners are placed in the world and not stored in the inventory.

    Use recommended build.
     
  17. Offline

    Celtic Minstrel

    Um, Insanehero, those are my words. :p
     
  18. Offline

    o0AzzA0o

    Can i just plug my idea for future of this plugin? i think that the data of spawners should be allowed to be handled native by bukkit since on latest it seems to handle the spawner types just fine. you can mine then put into chest take out and place and it remains correct type. What would be handy is to be able to change the type with command still. And maybe limiting the spawn rate of spawners globaly ? anyhow I think this plugin still will have a future in mob spawner control
     
  19. Offline

    Celtic Minstrel

    Heh, making spawners drop spawners was only a tiny part of what this plugin does. It's not going to be obsoleted by that CraftBukkit change.
     
  20. Offline

    o0AzzA0o

    Looks like they have reverted it ! no one can mine spawners on my server anymore hmmz wonder if they reverted the codes also.... ill download and test plugin again to see what happens... i love to live on edge :p

    Build #1222 (29-Sep-2011 19:48:49)

    [​IMG]Build Artifacts
    [​IMG] Changes
    1. revert change to make mobspawners drop a spawner of that type (commit: 741e3c946af8ca4a4d12e992ea3a0b6b365a3cdc) (detail / githubweb)
     
  21. Offline

    Celtic Minstrel

    Indeed they have... however, I believe you'll find that for placing spawners the data values I listed still apply. Haven't tested yet, but the commit diff doesn't cover that detail, so if I'm wrong I'll be shocked.
     
  22. Offline

    Spathizilla

    Even if they revert the CB changes for the mobspawner blocks, I think I might adopt the Notch ids anyway. What do you think Celtic?
     
  23. Offline

    Celtic Minstrel

    I think it's probably a good idea, since CB will still set the spawner according to the data when you place it. If they revert the changes altogether though, I dunno. It doesn't look like that's likely to happen though.
     
  24. Offline

    Spathizilla

    My reasoning is that if we adopt the (possibly) Notch ids anyway, if a CB map is moved over to single player then it hopefully retains the mob type for the spawner. Right now I assume it would break the spawner as a single player map. If these are Notch ids then it would be a good idea to use them purely for "beyond" cb support. If they are CB ids then its another Permissions episode and we can do anything if they revert the changes.
     
  25. Offline

    o0AzzA0o

    you where right guys they havent changed the ids... just stopped players being able to mine spawners. Cant wait for them to push a new rb to get this plugin back on :)
     
  26. Offline

    Spathizilla

    The annoying thing will be to convert existing spawners to the new ids. I wonder what they're going to do for natural spawners in chunks already generated. If they auto swap the ids over then its not an issue.

    Otherwise I'll have to add something to kick then over to the notch system. I wanted to avoid something to look for spawners and convert so I might just add a /cb convert
     
    o0AzzA0o likes this.
  27. Offline

    Celtic Minstrel

    As long as the spawner is in the world as a block, it should convert fine (because no conversion is necessary if I understand correctly). Only spawners in the inventory will be broken.
     
  28. Offline

    tgcarter

    Your plugin just got shown on the Yogscast: Shadow of Israphel - Part 32 ;)
     
  29. Offline

    wassilij

    I updated to CraftBukkit Build 1221 and the spawners.yml was resetted :(
     
  30. Offline

    Spathizilla

    Trust me, it annoys me too. Thats why I'm swapping it to sqlite/mysql - I still cant see what causes it to wipe the file.
     
    wassilij likes this.
  31. Offline

    Spathizilla

    creaturebox
    Version 0.7.8 and 0.7.7b

    Minecraft 1.8.1 versions:
    For craftbukkit 1240+: creaturebox 0.7.8 has been released to fix the entity ids
    For craftbukkit 1185 only: creaturebox 0.7.7b has been released to fix a glitch with mcMMO

    Be sure to get the correct one for the craftbukkit version you're using. The newer 0.7.8 version will only work on builds 1222+ and the recommended build is 1240 - this is because of some entity id changes which break older versions of creaturebox. The 0.7.8 version is identical to 0.7.7b except for those id changes.

    Updates will no longer be made for craftbukkit builds older than 1222 from this point so I suggest you update to recommended build 1240
     

Share This Page