[ADMN] Spawn List 0.10 - The Original Powerful Item Spawning Plugin [1060]

Discussion in 'Inactive/Unsupported Plugins' started by lego6245, Jan 25, 2011.

  1. Offline

    lego6245

    SpawnList: Take Back Item Spawning!
    Version RC1.0 -"Where the hell have you been, SuperPerms?" edition.​



    ChangeList:
    Code:
    Vrc1.0: Updated for 1.7.3! SuperPerms! New Group System! I should update more!
    V0.9.2: Fixed a second stupid.
    V0.9.1: Fixed a stupid.
    Vo.9: Fixed a few bugs. Changed how inheritance works. By the way, it works.
    Vo.8: 1.5 update. I know I've fixed that bug now!
    V0.7.3: Removed horrible inheritance. Added 1.4 items
    V0.7.2: Less annoying puke, possible allowed fix.
    V0.7.1: MOAR FIXES!!!1!!1!111!2!!!one!!
    V0.7: Added /give. Hopefully fixed a bug.
    V0.6: Changed Packages. Actually fixed things :3
    V0.5: Thought I fixed a bunch of things.
    V0.4: new onCommand format. slreload works from console. New enable/disable message.
    V0.3: Added /slreload command. Added a toggle for the warning message. Cleaned up some language.
    V0.2: Fixed spawning by number, added function to designate number of items spawned by default, changed default to 1.
    V0.1: Release
    Ladies and gentlemen, it is the return of item spawning as it once was! Take back control of your user's item spawning habits with SpawnList, the Bukkit ready version of GroupSpawnlist, readapted and ready to go! I created this plugin because as far as I could see there was no way to properly regulate item spawning in terms of what items your users could spawn. This plugin builds upon the item whitelist of hMod by adding these features:
    • Additive or Deductive spawning! (Give a list of items you either want users to spawn or NOT want users to spawn)
    • Permissions support! (Designate different spawn lists for each group!)
    • It's own /item command!
    • Reload without restart, now from console and in-game!
    • Inheritance!
    I hope that this will become your most used plugin. A few reminders in order to make this the best possible:

    • You will need to disable any other /item commands that may exist in plugins like Essentials. Failure to do so might cause your users to get double the items they want.
    • You will need to configure your config.yml file according to a few rules, which I will outline.
    • Inheritance works as thusly: Parent group overrules children, but once it's true, it's done. Allow me to explain. If group A inherits groups B and C, then group A's policies will overrule groups B and C. However, if group B or C can spawn an item, then it is assumed that group A can spawn it as well. Keep this in mind.
    • There is a new system for groups with the new superperms. If you use super perms, listen up! You need to define in your config.yml file the world, then the user, then the group. Groups can also have children. See the new config file style below, and respond with any questions.
    Now, for the DL link, but first, if you like the plugin, Donate! Donators get access to my dropbox folder which contains everything I work on, including a few plugins that have never been released! Any amount is fine. Here are the links: Donate, Jar + Zip, Jar Only (Experimental)!


    To configure:
    • If you are using the Permissions plugin, here are the permissions used by Spawnlist:
      • spawnlist.item - Access the /item command
      • spawnlist.canspawnanything - If the user can spawn anything they want
      • spawnlist.spawnlisted - If you want the /item command to check the spawnlist for this user dead as of RC1.0 (why did I have this to begin with?)
      • spawnlist.reload - For users to have access to the /slreload command
      • spawnlist.give - Access to the /give command
    • In the config.yml file, the format is this:
    Code:
    default-stack-size: 34 #change the default spawning amount
    
    show-warning: 1 #show warnings, 1 = yes, 0 = no
    superperms: false #change to true if you want to use superperms!
    default: #leave this no matter what
    allowed: #can be allowed or disallowed (NOT BOTH)
      - 1 #list numbers here
      - 2
      - 3
      - 4
     children:
       #children go here (try it out for me! only needed for superperms!)
    #other groups here (LOWERCASE)
    
    Remember, please post in this thread if the plugin works/doesn't work/makes you happy/sad/upset/laugh. I less then three feedback

    Lego6245 of enigmasm.com
     
  2. Offline

    YAY987

  3. Offline

    lego6245

    Make sure the snapshot in the run.bat file is capitalized.
     
  4. Offline

    YAY987

    ok, I did that, but when i open the command line with run.bat it still says can't start plugin/spawnlist.jar
    --- merged: Feb 28, 2011 4:01 AM ---
    Oh, and I figured out what version I am on: it's Craftbukkit 474
     
  5. Offline

    jonathanyc

    Hello!
    Having problems using plugin on Craftbukkit build 453.
    Craftbukkit can't load the plugin, and it outputs the message "Could not load plugin. Is the file named properly?"
    I have tried loading the plugin with Spawnlist.jar in the Spawnlist folder in the plugins directory, and with Spawnlist.jar outside of the folder, but neither method seems to work.

    Thanks in advance!

    EDIT:
    Here is the exception report:

    Code:
    20:18:12 [SEVERE] Could not load plugins/Spawnlist.jar in plugins: null
    org.bukkit.plugin.InvalidPluginException
            at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:80)
            at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:129)
            at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:94)
            at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:59)
            at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:204)
            at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:191)
            at net.minecraft.server.MinecraftServer.d(MinecraftServer.java:131)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:246)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:366)
    Caused by: java.lang.NoSuchMethodException: com.enigmasm.spawnlist.Spawnlist.<init>()
            at java.lang.Class.getConstructor0(Class.java:2719)
            at java.lang.Class.getConstructor(Class.java:1672)
            at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:75)
            ... 8 more
    
     
  6. Offline

    CameronK

    Looks like the default give command that comes bundled with the server. To use the names, you have to get ScrapBukkit.

    I'll be testing this tomorrow :)
    --- merged: Feb 28, 2011 4:46 AM ---
    I believe this occurs with Minecraft v1.3, not entirely sure though.
     
  7. Offline

    lego6245

    Alright, I'm going to re-add the stupidly long constructor, as it seems that removing it just caused pain.
    --- merged: Feb 28, 2011 2:47 PM ---
    Ok. If you are using the recommended craftbukkit, Permissions 2.4 and have configured it correctly, you should have no problems with v0.7.1, which is now posted and live.
     
  8. Offline

    jonathanyc

    Hello!
    Thanks for taking your time to fix the plugin.
    Unfortunately, I still get errors while trying to use it with Craftbukkit build 453. "An internal error occurred while attempting to perform this command" pops up when I try to use /item, and "You do not have access to the /slreload command" appears when I try to use it. This is strange behavior, but it could be attributed to the fact that I am using GroupManager.

    Any plans to add compatibility for GroupManager, or is this a different problem?

    Thanks!
     
  9. Offline

    lego6245

    That would be a group manager problem, most likely. Try running it without GroupManager, and see what happens. Also, ensure you are on the most current builds of Craftbukkit.
     
  10. Offline

    jonathanyc

    Hello again!
    I don't think that the problem is GroupManager's - I think your plugin and GroupManager are merely incompatible, as GroupManager only supports compatibility with Permissions up to 2.1, and your plugin uses 2.4.

    For good measure, I tried to run your plugin with GroupManager using the latest recommended build, 440, and this did not work.

    Thanks for the help!
     
  11. Offline

    lego6245

    That would be the case. Mine supports 2.4
    --- merged: Mar 3, 2011 7:26 PM ---
    Yes, avoid using GroupManager, and instead use the most recent Permissions, Permissions 2.4 The Legacy Lives On etc etc.
     
  12. Offline

    lechd

    Hey lego, this plugin is great but we're running into a small conflict with regular item names vs ID #'s

    For example, when attempting to spawn wool via it's "plain name" aka "wool" we could give ourselves wool. Additionally doing something like "/item wool:14" would spawn the correct red wool and so on.

    Now when you perform "/item wool:14" you receive the following message: "An internal error occured while attempting to perform this command." However performing a "/item log:2" spawns birch logs without so much as a hitch. I'm guessing there's a name collision/race condition somewhere, but here's some log of when the event occurs in the case of "/item wool:14" if it can be of any use.

    Code:
    org.bukkit.command.CommandException: Unhandled exception executing command 'item' in plugin Spawnlist v0.7.1
     at org.bukkit.command.PluginCommand.execute(PluginCommand.java:33)
     at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:80)
     at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:183)
     at net.minecraft.server.NetServerHandler.c(NetServerHandler.java:619)
     at net.minecraft.server.NetServerHandler.chat(NetServerHandler.java:582)
     at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:576)
     at net.minecraft.server.Packet3Chat.a(SourceFile:24)
     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)
    Caused by: java.lang.IllegalArgumentException: Item could not be found.
     at com.enigmasm.spawnlist.Item.getItem(Item.java:475)
     at com.enigmasm.spawnlist.Spawnlist.itemCommand(Spawnlist.java:227)
     at com.enigmasm.spawnlist.Spawnlist.onCommand(Spawnlist.java:70)
     at org.bukkit.command.PluginCommand.execute(PluginCommand.java:31)
     ... 12 more
    Caused by: java.lang.IllegalArgumentException: No enum const class com.enigmasm.spawnlist.Item.WOOL
     at java.lang.Enum.valueOf(Enum.java:196)
     at com.enigmasm.spawnlist.Item.valueOf(Item.java:1)
     at com.enigmasm.spawnlist.Item.getItem(Item.java:471)
     ... 15 more
     
  13. Offline

    lego6245

    Let me check in my Item file if I have Wool as a possible name. Try cloth:14 for me and see if that works.
    --- merged: Mar 3, 2011 7:32 PM ---
    No, Wool is not included on the list of items that you can spawn by name. Cloth, Cotton, and Fabric were. I've added Wool per your request to the list, and at the 0.8 update you will be able to spawn with it.
     
  14. Offline

    Phaedrus

    Hey Lego, any word on the ability to limit the maximum number of spawned items at once and a cool down?

    Also, i see errors like that wool one above in the console whenever someone enters garbage values into the /item command. like a miss spelling or something. Is there anything to worry about there, or should I just ignore them? Alarm bells just go off when I'm scanning the log and see exceptions being thrown.

    Thanks!
     
  15. Offline

    lego6245

    I will add both of those features in the 0.8 update.

    Nope, those are expected. It's basically throwing a small fit that it can't find the item. What I'll do is I'll modify it's action on the throw to just print out a log, instead of giving you all that BS to worry about.
     
  16. Offline

    flames

    REQ: could you please separate the list of items to a file, so that it will be configurable?
     
  17. Offline

    lego6245

    It's right now an enum class, so it might take a little bit. I'd prefer NOT to.
     
  18. Offline

    lechd

    cloth:14 work as expected, but wool throws the error as mentioned. Also, you may want to add "bricks" for item #45 as "brick" produces #336 individual clay brick where the plural form could produce the block type. Currently plurality of brick also throws an error.
     
  19. Offline

    lego6245

    Will do! If you have any other special spellings, what I might do is make it so you can define them in the config. No word yet on that though.
     
  20. Offline

    lechd

    Yes, that would surely be a bonus if you could just separate those out. I think more importantly it would be nice if it just didn't pepper a ton of errors into the log on each invalid /item call though :)
     
  21. Offline

    Josch

    Please add support for CraftBukkitUpToDate!
    You just have to provide a direct links to the jar and give it to the Plugin author!
     
  22. Offline

    lego6245

    Alright, requesting support for CraftbukkitUpToDate.
     
  23. Offline

    THEK

    I have added all the relevant commands to GroupManager and removed all of essentials ones but for everyone it is still saying that they do not have access to both the item and the give command. Any ideas?
     
  24. Offline

    sza22

    how do you disable the /i command in the PlgEssentials plugin to get this plugin to work?
     
  25. Offline

    lego6245

    Go into the configuration file and add /i or /item to the list of disabled commands.
     
  26. Offline

    sza22

    ok thanks that worked, but it doesn't block the items i want it to block for certain users.

    edit:
    also, the /slreload command does not work for me, it says i do not have sufficient permissions, but i have the command in my Permissions file under my class.

    any ideas for both of my problems?
     
  27. Offline

    lego6245

    I'll check on both of those issues to make sure. My friend who has been testing it seems to have the same issue.
     
  28. Offline

    sza22

    ok keep us posted
     
  29. Offline

    THEK

    Getting the following error intermittently on CraftBukkit 493:

    Code:
    Caused by: java.lang.IllegalArgumentException: No enum const class com.enigmasm.spawnlist.Item.WOOL
        at java.lang.Enum.valueOf(Unknown Source)
        at com.enigmasm.spawnlist.Item.valueOf(Item.java:1)
        at com.enigmasm.spawnlist.Item.getItem(Item.java:471)
        ... 15 more
    2011-03-09 18:42:58 [SEVERE] java.net.SocketException: Connection reset
    2011-03-09 18:42:58 [SEVERE]     at java.net.SocketInputStream.read(Unknown Source)
    2011-03-09 18:42:58 [SEVERE]     at java.net.SocketInputStream.read(Unknown Source)
    2011-03-09 18:42:58 [SEVERE]     at java.io.FilterInputStream.read(Unknown Source)
    2011-03-09 18:42:58 [SEVERE]     at net.minecraft.server.Packet.b(SourceFile:113)
    2011-03-09 18:42:58 [SEVERE]     at net.minecraft.server.NetworkManager.f(SourceFile:155)
    2011-03-09 18:42:58 [SEVERE]     at net.minecraft.server.NetworkManager.c(SourceFile:9)
    2011-03-09 18:42:58 [SEVERE]     at net.minecraft.server.NetworkReaderThread.run(SourceFile:62)
     
  30. Offline

    lego6245

    Wool is not correct name for an item. Tell your users to use cloth for the time being.
     
  31. It seems me and my friends can spawn all items, although I only have allowed two items with the "allowed:" thingy.
     

Share This Page