[INACTIVE][FIX/MISC] creaturebox v 0.7.3 - Wolves and Monsters and Critters, Oh My! [684]

Discussion in 'Inactive/Unsupported Plugins' started by Lodran, Mar 2, 2011.

  1. Offline

    Lodran

    creaturebox
    Make creature spawners tradable
    Now with Wolves, Monsters, Slimes and Giants!

    Download version 0.7.3 for CraftBukkit 602, 617, 670, 684
    Downloads for old (unsupported) versions (open)

    • Have you ever thought "I'd love to be able to dig this dungeon out, and move it somewhere more useful."?
    • Have you ever thought "I'd really like to be able to /give myself a spawner, and make it produce something other than pigs."?
    • Have you ever thought "I'd really like to be able to turn this spawner on and off with a switch?"
    If you answered "yes" to any of these, then creaturebox is the plugin for you.


    creaturebox fixes several issues with creature spawners, so that they can be altered, and traded between players.

    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.
    • 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 the Permissions API. If Permissions (or GroupManager/FakePermissions) is not available, uses the player's Op status to determine its behavior.
    • A creature spawner can be turned off by powering it with redstone. Note: this will not affect the spawning of invincible "Ghost pigs".
    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.
    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.
    • It is now possible to defeat the invincible "Ghost Pigs". Change the grass in a 9x9 area under the spawner to something else (green wool would work nicely) which would stop pigs from spawning entirely. Then, look at the spawner, and type /creaturebox requires player light to allow the pigs to spawn on the wool.
    Credits:
    Latest Revisions:

    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.
    Revision History (open)
    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
    To Do:
    • Adjust event priorities (Destroying a spawner in a protected area copies the spawner).
    • Looking for suggestions
    Features I'm considering:
    • Mobs riding mobs.
    • Per-server or per-world spawn limits.
    • Angry Wolves.
    • Rainbow sheep.
    Things I can't do anything about:
    • As of MineCraft 1.4, Spawners don't show damage when they're in your inventory. Sorry, Notch "Fixed" this.
    • As of MineCraft 1.4, if you pick up a pig spawner, and follow it up by picking up a wolf spawner, you'll end up with two pig spawners. This is caused by the above "damage" fix, and until bukkit adds inventory hooks, nothing can be done about it.
     
    cybercrash and PedoHascookies like this.
  2. Offline

    Celtic Minstrel

    Isn't it a result of calling toString() on a String[]?
     
  3. Offline

    Lodran

    Just so you all know - the most important parts of a server log from a plugin developer's standpoint are the beginning of the log (showing craftbukkit's version, and all of the plugins loading) and the stack crawl from whatever exceptions are occuring.
    [MERGETIME="1299815588"][/MERGETIME]
    Actually, it was the result calling toString on an array. (sorry - missed the [] in your post).
     
  4. Offline

    Celtic Minstrel

    That's what I just said — an array of String.
     
  5. Offline

    niallmcfc

    Right. I feel like I'm going round in circles, but I'll do that tonight.
     
  6. Offline

    Sputnik

    Hey man i'm kinda rook on this stuff but i can't get it to work.. I've put the permission things where i believe they should be and all but when i destroy a spawner it does'nt drop. And when i place a spawner after writing like:
    /creaturebox give sputnikse zombie it only respawns pigs and ghost pigs. Shall i sen you a pic when my server is starting up or show you my permission file ? I'd really like this to work. I'm using Nijikokuns permissions.
     
  7. Offline

    Em0srawk

    I can confirm that version 5.0 works on a server running build 493
     
  8. Offline

    Lodran

    @Sputnik

    First, I hope you're talking about Permissions (Phoenix), rather than Nijikokun's permissions, because Nijikokun has discontinued development of his plugin, and it has been picked up by TheYeti.

    Second, I honestly haven't had much luck getting Permissions (Phoenix) working, and use GroupManager instead.

    Third, try the suggestions given on page 2 of this thread, particularly the /creaturebox access command. It should show you which of the creaturebox commands you have access to.

    @Em0srawk

    Thank you.
    [MERGETIME="1299833492"][/MERGETIME]
    Somewhere between build 493 and 522, CreatureSpawnEvent.getMobType() was replaced with CreatureSpawnEvent.getCreatureType().

    The major difference between creaturebox 0.5 and 0.5.1 is that 0.5 calls getMobType, while 0.5.1 calls getCreatureType. Given your exception trace, I have to figure that you're using a version of craftbukkit that's later than 493.
     
  9. Offline

    Sputnik

    Ok thanks I'll try with groupmanager i'll reply how it goes.
    [MERGETIME="1299853526"][/MERGETIME]
    Thanks it works now XD Awseome Plugin.
     
  10. Offline

    niallmcfc

    Well, more errors. Oh joy.

    Another Error... (open)

    2011-03-11 16:11:21 [SEVERE] Could not pass event BLOCK_RIGHTCLICKED to creaturebox
    while scanning an alias
    in "<reader>", line 101, column 22:
    *
    ^
    expected alphabetic or numeric character, but found but found [NUL]
    in "<reader>", line 101, column 23:
    *
    ^

    at org.yaml.snakeyaml.scanner.ScannerImpl.scanAnchor(ScannerImpl.java:1156)
    at org.yaml.snakeyaml.scanner.ScannerImpl.fetchAlias(ScannerImpl.java:782)
    at org.yaml.snakeyaml.scanner.ScannerImpl.fetchMoreTokens(ScannerImpl.java:313)
    at org.yaml.snakeyaml.scanner.ScannerImpl.checkToken(ScannerImpl.java:183)
    at org.yaml.snakeyaml.parser.ParserImpl$ParseBlockMappingValue.produce(ParserImpl.java:592)
    at org.yaml.snakeyaml.parser.ParserImpl.peekEvent(ParserImpl.java:163)
    at org.yaml.snakeyaml.parser.ParserImpl.checkEvent(ParserImpl.java:148)
    at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:132)
    at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java:230)
    at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:160)
    at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java:230)
    at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:160)
    at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java:230)
    at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:160)
    at org.yaml.snakeyaml.composer.Composer.composeDocument(Composer.java:122)
    at org.yaml.snakeyaml.composer.Composer.getSingleNode(Composer.java:105)
    at org.yaml.snakeyaml.constructor.BaseConstructor.getSingleData(BaseConstructor.java:124)
    at org.yaml.snakeyaml.Yaml.load(Yaml.java:264)
    at org.bukkit.util.config.Configuration.load(Configuration.java:73)
    at com.nijiko.permissions.Control.load(Control.java:149)
    at com.nijiko.permissions.Control.loadWorld(Control.java:112)
    at com.nijiko.permissions.Control.permission(Control.java:311)
    at com.nijiko.permissions.Control.has(Control.java:273)
    at lodran.creaturebox.creatureboxBlockListener.onBlockRightClick(creatureboxBlockListener.java:73)
    at org.bukkit.plugin.java.JavaPluginLoader$20.execute(JavaPluginLoader.java:259)
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:59)
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:255)
    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:480)
    at net.minecraft.server.Packet15Place.a(SourceFile:57)
    at net.minecraft.server.NetworkManager.a(SourceFile:230)
    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:75)
    at net.minecraft.server.NetworkListenThread.a(SourceFile:100)
    at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:357)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:272)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:366)

    [MERGETIME="1299860120"][/MERGETIME]
    Oh, and there's loads of the same.
     
  11. Offline

    Celtic Minstrel

    What sort of problems have you had? I never had any trouble with it.

    EDIT

    @niallmcfc – It looks like there is an error in a yml file; try passing your yml files through here and see if they give an error.

    My wild guess would be that you have a line like this in your permissions:
    Code:
       - *
    In which case I think you would need to replace it with something like this:
    Code:
       - '*'
     
  12. Offline

    niallmcfc

    Dear god you're absolutely right. Man I feel stupid
     
  13. Offline

    Lodran

    I couldn't get it to load, even by itself, but the last time I tried was right after a craftbukkit suggested build, so who knows?
    Really? A malformed permissions config.yml doesn't show up when permissions is loaded, and instead crashes a plugin that tries to use it? Awesome. Guess I'll have to bullet-proof creaturebox against permissions crashing.
     
  14. Offline

    niallmcfc

    Seems like it. Works perfectly now.
     
  15. I am very stupid and i would like it very much to know step by step instruction of how to instal the plugin. Please...
    :(
     
  16. Offline

    Lodran

    It's pretty simple, really - assuming that you already have a craftbukkit server running.

    Download the plugin, unzip it, and drop the resulting creaturebox.jar into your server's plugins folder.

    If you're running on a Mac, use Stuffit Expander to unzip the plugin, rather than just double-clicking it.

    If you don't already have a craftbukkit server running, come back when you do - there are plenty of other threads that tell how to do it.
     
  17. Offline

    Devilyoda

    it was giving me a 0 in the creature set. what are the permissions yml code needed? i will try adding them to groupmanager
     
  18. Dude... UR A LIFESAVER :D thanks. I was just unzipping it lol thanks. ~high five~
    [MERGETIME="1299895208"][/MERGETIME]
    I received this error message:

    Could not pass event CREATURE_SPAWN to creaturebox
    java.lang.NoSuchMethodError: org.bukkit.event.entity.CreatureSpawnEvent.getCreatureType()Lorg/bukkit/entity/CreatureType;
    at lodran.creaturebox.creatureboxEntityListener.onCreatureSpawn(creatureboxEntityListener.java:53)
    at org.bukkit.plugin.java.JavaPluginLoader$44.execute(JavaPluginLoader.java:349)
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:59)
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:225)
    at net.minecraft.server.World.a(World.java:750)
    at net.minecraft.server.SpawnerCreature.a(SourceFile:134)
    at net.minecraft.server.World.g(World.java:1412)
    at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:348)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:272)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:366)

    I have a mac OS 10.5.8 mac mini can someone please help??? :(
     
  19. Offline

    Lodran

    @IpwndU - Upgrade to craftbukkit 522 or later, or downgrade to creaturebox 0.5.

    @Devilyoda - the permissions are all documented in the thread's first post.
     
  20. Offline

    Celtic Minstrel

    You don't actually need Stuffit Expander for that. Macs now come with a built-in tool for unzipping and such.
     
  21. Offline

    gomgc

    Hi! If my SV dont spawn animals, the mosnter spawner spawns ghost pigs, this plugin will make that you can kill them?
     
  22. Offline

    Celtic Minstrel

  23. Offline

    Lodran

    Problem is, if you double-click a .zip that contains a .jar, it unzips the zip, then unzips the jar, and throws away the jar. [​IMG]

    @gomgc - read the red text in the first post.
     
  24. Offline

    hi900

    I don't know why it doesn't run :confused:



    Creaturebox is loading and it runs on the server, but if I destroy a spawner it doesn't drop an item and if want to use " /creaturebox give {player} {creaturename} " it writes that I don't have the permission..
    But I am Admin in group manager and i'm using the '*'.

    Hope you understand what I mean.

    Really sorry for my bad english..

     
  25. Offline

    Celtic Minstrel

    Oh wow, so it does. Well, I would recommend getting The Unarchiver instead of Stuffit Expander anyway. The only archive format that I know it can't open is .sitx, which isn't used much anyway.

    And if you don't want to bother, you could just re-zip the contents of the folder (not the folder itself!) and rename it to be a jar file.
     
  26. Offline

    gomgc

    Thank you :D
     
  27. Offline

    lohengrin77

    upgraded bukkit with the last release, this plugin work, but doing Could not pass event CREATURE_SPAWN to creaturebox with tons of other plugins like Izone , mobcontol etc...


    and setting a spawner with creeper works, while sheep does't work TT-TT
     
  28. Offline

    SweetCraft Girl

    I am Running Ubuntu Server 10.10
    - Craftbukkit [531]
    - Both creaturebox versions give this error. plugsmar13.png
     
  29. Offline

    Daveyo

    yeah i get the, couldnt pass CREATURE_SPAWN error also. I'm not sure how some of these people are getting it running. I've tried it again and again, hasn't worked yet, same error. cb 522, .5.1 creature spawn.
     
  30. how do i install this properly? i am placing the folder in my plugins folder, but nothing happens :( i'm running the latest version of craftbukkit
     
  31. Offline

    Noahax

    I'm getting an error saying "Jar does not contain plugin.yml"

    I changed the .zip folder to a .jar file and booted my server, and it gave me this error. I then redownloaded the .zip, opened (unzipped) it, and left the folder (titled 'creaturebox' in my plugins folder (I renamed the other file to 'creaturebox.jar')) and left the plugin.yml file untouched.

    I am running on a Mac, so if anyone with experience doing this knows what to do, I'd love some ideas! Thanks :)

    Great idea for a mod by the way :) I'm so glad someone made one like this :)
     

Share This Page