[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

    mbsuperstar1

    Lodran, just shamefully removed my old creaturebox folder from my server, and the broken version, back when 1.4 destroyed this plugin.
    But no. Lodran is back, with wolves, slimes, monsters and giants? You just went 2 better my friend. Have a smiley! :) I'll test it out now.
     
  3. Offline

    dumptruckman

    Hey Lodran, I'm running CB 617 and creaturebox 0.7.0. As an admin I can /creaturebox give myself whatever spawner. When I receive the spawner it's not damaged like it use to be however it tells me I've received a certain type (zombie for instance). When I place the spawner the only thing it will spawn is pigs. I've tried using your new settings and making it a managed spawner but it doesn't seem to make a difference. Am I doing something wrong?
     
  4. Offline

    Taxen0

    It no longer shows durability of mob-spawners, so are you sure it spawns real pigs, and not the bugged pigs all spawners create if they are on grass?
    Also make sure the environment meet the monster criteria, like light-level(or specify your own). and finally make sure you don't have any other type of spawner in your inventory when you try and give yourself one, as they will stack and become the same type (the first one).
     
  5. Offline

    Lodran

    The "/creaturebox info" command is your friend.
     
  6. Offline

    tikktokk

    could you add riding mobs? such as spider:skeleton or pig:monster.
     
  7. Hey i have a "little" Problem, when i destroy a Spawner i don't receive the Spawner :eek: The Commands work fine and this Problem happend only since Bukkit Version 617 :/ Hope you can help me, other installed Mods MinecartMania, DropBonus, Permissions, Iconomy, npcx and MinningTNT.
     
  8. Offline

    Lodran

    Well, to start, type /creaturebox access, and make sure your access permissions are set up properly.

    I'm going to take a break from adding features creaturebox for a week or two, and just fix whatever bugs come up, but riding mobs is one of the features I've considered adding.

    I don't intend to let creaturebox die, unless something comes up that simply can't be fixed.

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

    SilverbladeNL

    I tried setting this up, but I keep getting the "You don't have permission to use creaturebox.give" even tho I added it to my permissions file. What could be possibly wrong?
     
  10. Offline

    zoolander22

    Hi im having that problem too and i know forsure i have group manager installed and enabled. I use a servercraft server if that helps. Also its not me that have the problems. It is the non admin users even though i know that i gave the builders permission to use it(default group manager name for regulars)
     
  11. Offline

    Celtic Minstrel

    The catch is that OtherBlocks does not have a way to detect what type a placed spawner is. So, the only way it could work is if creaturebox's drop functions as the default from the perspective of OtherBlocks.

    Do you have the creaturebox.drop permission?
     
  12. Offline

    Lodran

    @Bapho, @ SilverbladeNL, @zoolander22

    Type /creaturebox access.

    It should come back with something like the following:

    creaturebox 0.7.0 access: {group}
    creaturebox.set: true
    creaturebox.give: true
    creaturebox.dropspawner: true
    creaturebox.placespawner: true

    For {group} it should show which permissions group your player is in.

    If it shows "Operator" or "Player", then permissions aren't working, and you need to go look at your logs to figure out why.

    If it shows your group correctly, but shows false for any of the permissions, then permissions is working, but you haven't set it up correctly for creaturebox.

    I've found something that could be considered a bug, or I could call it a feature :p

    If you make a managed wolf spawner, it will spawn at most 10 wolves (or whatever its limit is set to), and won't spawn more when the wolves are tamed.

    I say this could be considered a feature, because a player can be set up with a "personal pound" where a wolf will spawn every time his tame wolf dies.

    Any opinions? Should I leave it as-is, or stop tracking wolves once they're tamed?

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

    Shanev

    I've got a problem with your nice plugin. I'm using CB556 and creaturebox 060 and whenever I damage a mobspawner it will drop a spawnerblock, which means that destroying a mobspawner will give me around 7 mobspawner blocks. I've never encountered this problem in the beginning (when I used your plugin for the first time) ...
     
  14. Offline

    Lodran

    Well, given that CB556 has been around awhile, and no one else has ever reported anything like that, I'd have to guess that some other plugin is interacting weirdly with creaturebox. Can you try running with your other plugins disabled, and see if it happens then?

    Also, what version of creaturebox are you running?
     
  15. Offline

    Shanev

    I'm running creature box 060. Is it the latest working build for bukkut 556? The weird thing is, that it worked perfectly up to now, also together with my other plugins. Maybe it was an update for another plugin which causes this problem.
    But, never mind, since I want to upgrade my server to version 1.4 and CB 617 this week, hopefully all my plugins get an update by then :), I don't want you to have any trouble with this error. I simply disable it until then, since the newest version of creaturebox is working. At leastthe problem is known now, maybe some day someone will encounter the same error . . .
     
  16. Offline

    aaronify

    I'm sorry if I'm blind and just didn't see it, but does creaturebox work with MultiVerse? I'm trying to create a world full of Giants and need creaturebox for that.
     
  17. Offline

    SilverbladeNL

    Got this working, although it still only spawns pigs... What gives?
     
  18. Offline

    Celtic Minstrel

    Are they pigs that you can't hurt and which disappear if you log off? If so, that's a client bug.
     
  19. Offline

    SilverbladeNL

    Yup...
     
  20. could you make it so pig zombies will spawn on various type of blocks? Such as grass, sand, stone and things like that.
     
  21. Offline

    Celtic Minstrel

    Pig zombies will spawn literally anywhere.
     
  22. Offline

    Master_Queef

    How come my spawners aren't saving when I restart my server?
     
  23. Offline

    Lodran

    It's not highly tested with multiple worlds, but I save the world (by name) as part of the settings for managed spawners.
    Define "not saving". Only managed spawners are written into the settings file. Natural spawners track their own settings.

    @SilverbladeNL - read the first post. There's instructions there on how to create a spawner which prevents invincible "Ghost Pigs".
     
  24. Offline

    Master_Queef

    I edit a spawner in game to produce my amount of mobs (Zombies), it works perfectly, until I restart my server. It still produces zombies, but not the variables I added. How do I make the spawner managed?
    And thanks for this awesome plugin.
     
  25. Offline

    Lodran

    Hopefully you're using the /stop command to stop your server before restarting it? Right now, I only save settings on a clean shutdown.
    Also, post full info please - a log of your server starting up, the contents of your /plugins/creaturebox folder would go a long ways toward figuring this out.
     
  26. Offline

    KrazyBonez

    Hmm i really suck with redstone, but i want to make the spawners work with pressure plates, how might one go about doing that?

    Ah nevermind, having a double redstone torch cycle on your power makes it work, understand now. Thanks anyways i know you woulda helped me :D
     
  27. Offline

    CorneliousJD

    Craftbukkit 617
    Creaturebox 0.7.0

    Code:
    2011-04-06 16:31:20 [SEVERE] Could not pass event CREATURE_SPAWN to creaturebox
    java.lang.IllegalStateException: Entity is already tracked!
        at net.minecraft.server.EntityTracker.a(EntityTracker.java:72)
        at net.minecraft.server.EntityTracker.a(EntityTracker.java:62)
        at net.minecraft.server.EntityTracker.a(EntityTracker.java:51)
        at net.minecraft.server.WorldManager.a(WorldManager.java:17)
        at net.minecraft.server.World.b(World.java:750)
        at net.minecraft.server.WorldServer.b(WorldServer.java:94)
        at net.minecraft.server.World.a(World.java:1590)
        at net.minecraft.server.Chunk.d(Chunk.java:470)
        at net.minecraft.server.ChunkProviderServer.c(ChunkProviderServer.java:75)
        at org.bukkit.craftbukkit.CraftWorld.getChunkAt(CraftWorld.java:83)
        at org.bukkit.craftbukkit.CraftWorld.getBlockAt(CraftWorld.java:57)
        at org.bukkit.craftbukkit.CraftWorld.getBlockAt(CraftWorld.java:421)
        at org.bukkit.Location.getBlock(Location.java:73)
        at lodran.creaturebox.CB_EntityListener.onCreatureSpawn(CB_EntityListener.java:67)
        at org.bukkit.plugin.java.JavaPluginLoader$44.execute(JavaPluginLoader.java:435)
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:59)
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:255)
        at org.bukkit.craftbukkit.event.CraftEventFactory.callCreatureSpawnEvent(CraftEventFactory.java:228)
        at net.minecraft.server.World.a(World.java:1582)
        at net.minecraft.server.Chunk.d(Chunk.java:470)
        at net.minecraft.server.ChunkProviderServer.c(ChunkProviderServer.java:75)
        at net.minecraft.server.PlayerInstance.<init>(PlayerInstance.java:33)
        at net.minecraft.server.PlayerManager.a(PlayerManager.java:37)
        at net.minecraft.server.PlayerManager.a(PlayerManager.java:76)
        at net.minecraft.server.ServerConfigurationManager.a(ServerConfigurationManager.java:106)
        at net.minecraft.server.NetLoginHandler.b(NetLoginHandler.java:87)
        at net.minecraft.server.NetLoginHandler.a(NetLoginHandler.java:27)
        at net.minecraft.server.NetworkListenThread.a(SourceFile:87)
        at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:368)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:283)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:375)
     
  28. Offline

    Lodran

    @CorneliousJD - TY, The exception doesn't make any sense to me so I'm taking it up with bukkit's developers.

    The logic is a bit inverted for creaturebox's spawners - redstone power prevents spawning, rather than enabling it. The reason for this is that it's difficult to tell the difference between a block connected to unpowered redstone and one not connected to redstone at all.

    I followed the same logic on "pulsed" spawners (see /creaturebox period 0). The spawner triggers when the redstone power switches from on to off.

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

    CorneliousJD

    @Lodran I should also let you know that I have the NaturalGiants plugin installed, I'm pretty sure that exception was showing up before that... but I'm not certain.
     
  30. Offline

    KrazyBonez

    Well i had that plugin for one day, and i must say, its an error causer. It errored me every 10 minutes untill i removed it eventually, some ENTITY_ALREADYTRACKED or something similar to that...unsure, but try removing natural giants and running your server without it for 2 hours or so, bet your error quits :)
     
  31. Offline

    Leemur

    i dont use permissions, but I need this plugin running for any player.
    set please in config files, for each command true/false..
     

Share This Page