[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

    CorneliousJD

    So far I havn't gotten ANY errors in the log yet today (except the java.net.SocketException: Connection reset that is caused by players exiting rather than disconnecting)
     
  3. Offline

    ark3typ3

    With permissions enabled, I'm getting double spawner drops, one is always a pig, the other is always the right kind, but once they stack it's back to just pigs... Did a looot of troubleshooting to isolate it and it appears to be a conflict between this and permissions.
     
  4. Offline

    Lodran

    @CorneliousJD - So, you've removed NaturalGiants, and the errors vanished?

    @Leemur - I'll consider it, but you probably could get Permissions running before I have time to add that.

    @ark3typ3 - If you remove creaturebox, do you still get pig spawners?
     
  5. Offline

    ark3typ3

    Nope, it breaks like normal, it's the combination of permissions and creaturebox, permissions alone won't do it, and creaturebox alone won't do it...
     
  6. Offline

    GoDarkLight

    With the latest recommended build (and current build at the moment) creaturebox does not compile, but it runs fine.

    compile error:
    lodran/creaturebox/creatureboxBlockListener.java:12: cannot find symbol
    symbol : class BlockRightClickEvent
    location: package org.bukkit.event.block
    import org.bukkit.event.block.BlockRightClickEvent;

    problem
    commit 78c87ee4bf76ce30018df9ab24a5c43f64645575
    Date: Sun Apr 3 19:17:18 2011 +0200

    ...skipping...
    Add PLAYER_INTERACT, remove BLOCK_RIGHT_CLICK, BLOCK_INTERACT and PLAYER_ITEM
     
  7. Offline

    Lodran

    I've been running creaturebox with Permissions for quite a while, and don't see your problem. I'll need a list of your plugins, and a copy of your permissions configuration files to be able to figure out what's wrong.

    TBH, the sources in github are way out of date. I had no luck getting them to update, and finally just gave up. Frankly, github is way more complicated than it needs to be for my size of project.

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

    GoDarkLight

    Yeah I understand,
    I started using git sources for some plugins because they host on webservers that don't timestamp their files (your fine lol), therefore stuffing up my updating script.

    Thanks anyway, catchya later.
     
  9. Offline

    ark3typ3

    Here is my permission set for Default:
    Code:
        Default:
            default: true
            info:
                prefix:
                suffix:
                build: true
            inheritance:
            permissions:
                - 'general.spawn'
                - 'iConomy.payment'
                - 'iConomy.list'
                - 'iConomy.rank'
                - 'mcmmo.skills.*'
                - 'mcmmo.commands.ptp'
                - 'mcmmo.commands.party'
                - 'mcmmo.ability.*'
                - 'creaturebox.dropspawner'
                - 'creaturebox.placespawner'
    My config for creaturebox hasn't been changed from default.

    Creaturebox version: 0.70
    Permissions version: 2.6 (Phoenix)

    I'm hoping it isn't something silly that I just didn't read, but neither plugin on their own creates the issue, but both together cause it...
     
  10. Offline

    Luke Matusiak

    im new to mods how do i make myself an operator of the plugin
     
  11. Offline

    SilverbladeNL

    @Lodran: Tried that, now nothing gets spawned at all! Forgot I turned off mobs for the time being in the server XD
     
  12. Offline

    solidsnake916

    Bug: Picked up one spawner, said i had zombie, picked up spider after, said i picked up zombie. so i had 2 zombies, even though 1 wasnt.
     
  13. Offline

    Lodran

    I need a list of your plugins. It's likely that Permissions is a red-herring, and some other plugin is the one that's actually causing the problem.

    This is a documented bug - see the "Things I can't do anything about" section of the first post.

    If you're not using permissions, give yourself operator permission on the server.
    If you're using permissions, give yourself the creaturebox.* permission.

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

    ark3typ3

    That's what I'm saying, using just THOSE plugins, I get this problem. I've narrowed it down to just those two on a test server and the problem persists.
     
  15. Offline

    KrazyBonez

    670 compatible version? your plugin is the only reason i havent updated because you havent updated for it. soon as you have time, please do. it is the new RB
     
  16. Offline

    Lodran

    @KrazyBonez - creaturebox 0.7.0 compiles against the 670 sources just fine, but I won't have time to test it 'til this evening. It's likely to just work, since the bukkit devs kept the API changes to a minimum (We are, it appears, finally reaching bukkit's promise of being able to update minecraft or bukkit without having to update every plugin).
     
  17. Offline

    KrazyBonez

    Just looked at my logs to find out my creatureboxes wont save...or load, every time i reboot i get this in my server log

    Code:
    [SEVERE] null loading creaturebox v0.7.0 (Is it up to date?)
    java.lang.NullPointerException
        at lodran.creaturebox.CB_Location.hashCode(CB_Location.java:49)
        at java.util.HashMap.put(Unknown Source)
        at lodran.creaturebox.CreatureboxPlugin.loadSpawners(CreatureboxPlugin.java:992)
        at lodran.creaturebox.CreatureboxPlugin.onEnable(CreatureboxPlugin.java:72)
        at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:127)
        at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:514)
        at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:216)
        at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:115)
        at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:93)
        at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:215)
        at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:202)
        at net.minecraft.server.MinecraftServer.d(MinecraftServer.java:142)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:257)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:375)
    But the plugin works fine if i go re-set all my creature boxes to what they should be, odd, i love the redstone button push creature spawners, so id love for this to fix so i dont need natural ones :(

    Edit: I guess the program wrote its own config wrong for some spawners? anyways i just made a fresh one and started over, seems to be working now
     
  18. Offline

    Lodran

    @KrazyBonez - If you still have a copy of the old config file, post it here.
     
  19. Offline

    KrazyBonez

    Code:
    - Period: 0
      Spawns: [zombie]
      Count: 3
      Creatures: []
      Location: {World: eyeofwisdom2, Y: 54, X: 15, Z: -299}
      Requirements: [space]
      Limit: 6
    - Period: 0
      Spawns: [skeleton]
      Count: 3
      Creatures: []
      Location: {World: eyeofwisdom2, Y: 54, X: 41, Z: -276}
      Requirements: [space]
      Limit: 6
    - Period: 0
      Spawns: [pig_zombie]
      Count: 6
      Creatures: []
      Location: {World: krazy, Y: 66, X: -15, Z: -81}
      Requirements: [space]
      Limit: 12
    - Period: 0
      Spawns: [creeper]
      Count: 2
      Creatures: []
      Location: {World: eyeofwisdom2, Y: 54, X: 10, Z: -289}
      Requirements: &id001 [player, space, surface, light]
      Limit: 3
    - Period: 0
      Spawns: [zombie]
      Count: 3
      Creatures: []
      Location: {World: eyeofwisdom2, Y: 54, X: 22, Z: -299}
      Requirements: [space]
      Limit: 6
    - Period: 0
      Spawns: [zombie]
      Count: 5
      Creatures: []
      Location: {World: krazy, Y: 66, X: -26, Z: -84}
      Requirements: [space]
      Limit: 10
    - Period: 0
      Spawns: [skeleton]
      Count: 6
      Creatures: []
      Location: {World: krazy, Y: 66, X: -34, Z: -75}
      Requirements: [space]
      Limit: 12
    - Period: 0
      Spawns: [slime]
      Count: 10
      Creatures: []
      Location: {World: krazy, Y: 66, X: -25, Z: -74}
      Requirements: [space]
      Limit: 20
    - Period: 0
      Spawns: [ghast]
      Count: 2
      Creatures: []
      Location: {World: krazy, Y: 66, X: -20, Z: -62}
      Requirements: [space]
      Limit: 3
    - Period: 1
      Spawns: [spider]
      Count: 1
      Creatures: []
      Location: {World: eyeofwisdom2, Y: 44, X: 9, Z: -291}
      Requirements: *id001
      Limit: 8
    - Period: 0
      Spawns: [creeper]
      Count: 2
      Creatures: []
      Location: {World: eyeofwisdom2, Y: 54, X: 18, Z: -273}
      Requirements: [space]
      Limit: 3
    - Period: 0
      Spawns: [creeper]
      Count: 8
      Creatures: []
      Location: {World: krazy, Y: 66, X: -31, Z: -68}
      Requirements: [space]
      Limit: 16
    - Period: 0
      Spawns: [skeleton]
      Count: 4
      Creatures: []
      Location: {World: eyeofwisdom2, Y: 54, X: -1, Z: -286}
      Requirements: [space]
      Limit: 8
    - Period: 0
      Spawns: [zombie]
      Count: 4
      Creatures: []
      Location: {World: eyeofwisdom2, Y: 54, X: -3, Z: -286}
      Requirements: [space]
      Limit: 8
    - Period: 0
      Spawns: [spider]
      Count: 6
      Creatures: []
      Location: {World: krazy, Y: 66, X: -38, Z: -80}
      Requirements: [space]
      Limit: 12
    
    Then i stop server, and dont edit anything, run server again, it loads fine and gives me this file instead

    Code:
    - Period: 0
      Spawns: [zombie]
      Count: 3
      Creatures: []
      Location: {World: eyeofwisdom2, Y: 54, X: 15, Z: -299}
      Requirements: [space]
      Limit: 6
    - Period: 0
      Spawns: [skeleton]
      Count: 3
      Creatures: []
      Location: {World: eyeofwisdom2, Y: 54, X: 41, Z: -276}
      Requirements: [space]
      Limit: 6
    
    Meaning, the error isnt fixed, i just cant save creatureboxes or that config file is wrong somehow, the name of my worlds are eyeofwisdom2 and krazy
     
  20. Offline

    EmanuxJade

    anyone know how to do for set avaible indistructible monster spawn for normal users?
     
  21. Offline

    Lodran

    @KrazyBonez - Two observations:
    1. It looks like it crashed the first time it encountered "krazy".
    2. I ran into a similar crash when I renamed a world.
    Any chance that krazy's name changed recently?

    If I understand you correctly, I think you're asking how to enable the set command for players who aren't operators?

    If that's what you're asking, then you'll need to install and configure Permissions to do that.

    P.S. I sincerly hope that English isn't your first language. ;)

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

    KrazyBonez

    Actually, i noticed that directly after pasting that file here for you, so i copied each one that was from eyeofwisdom2, and left krazy out of it, and it worked, guess ill delete that world and copy/paste the dungeon i made inside it over into eyeofwisdom2 map, and just run it all over there. No multiworld support huh? LMK when it has that so i can have my own private world to work on my inventions :)

    PS: I upgraded to 670 last night, and this didnt change anything about the behavior of your plugin, it is 670 supported, just not multiworld supported.
     
  23. Offline

    cam198

    I just ran into a problem that I cant figure out. Whenever I try the ''/creaturebox set monster'' command, I keep getting ''creaturebox: You are not an operator''.
    Your feedback would be greatly appreciated :)
     
  24. Offline

    Thijs

    I have a problem, this is how my permisions file looks like (using Permissions v2.6 (phoenix).):
    but as soon as i type the command: /creaturebox give blackactivity wolf 1 it will say: you do not have permission to creaturebox.creature.wolf how does this come? please answer me because i think your plugin is great !
     
  25. Offline

    Lodran

    Try adding - 'creaturebox.creature'

    Install version 0.7.2, launch your server, stop it, and then change "operatorPermissions: false" to "operatiorPermissions: true" in /plugins/creaturebox/config.yml

    It should be fixed in version 0.7.2

    Version 0.7.2

    • Managed spawner settings for multiple worlds (spawners.yml) are now loaded correctly. The problem was that MultiVerse was loading after creaturebox, so the second world didn't exist yet.
    • A new configuration setting (operatorPermissions:) has been added to config.yml. This setting allows you to decide whether operators get more exclusive permissions than players do, when creaturebox is run without a permissions plugin.

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

    MacVaultDweller

    the green wool trick to get rid of pigs doesn't seem to be working for me. I set it for sheep and nothing spawns.
    If I put grass next to it I get sheep but the pig spawns begin again
    CB 617
     
  27. Offline

    EmanuxJade

    yes, eng isn't my first lang, sorry for that.

    So i asked a method for set invicible the monster spawn.
     
  28. Offline

    Lodran

    How to make the block unbreakable? WorldGuard would do that.

    type /creaturebox requires player light while your cursor is over the spawner. Green wool stops the spawner from working normaly, while that command makes so it can spawn on the green wool (or anything, really). The two together keep ghost pigs from appearing because the client can't find a place to spawn them.

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

    MacVaultDweller

    Thanks for a great plugin and great support!
     
  30. Offline

    cam198

    It's already set as true. It allows me to make all of the other mob types, but when I try ''monster'' I keep getting the same message: ''creaturebox: You are not an operator''.
     
  31. Offline

    Mentioum

    Suggestion:

    Could you please allow a percentage drop rate for mobspawners please? So one can make users have to take a risk if they want to move them? At the moment I use dropbonus... but yeah I would like to have the functionality within this plugin.
     

Share This Page