Inactive [GEN] SpawnControl v0.8.3 - Per-Player/Group Spawns (Now on DevBukkit) [1060]

Discussion in 'Inactive/Unsupported Plugins' started by Timberjaw, Jan 21, 2011.

  1. Offline

    Timberjaw

    SpawnControl v0.8.3

    Announcement:
    SpawnControl is being superseded by HomeSpawnPlus, a more advanced plugin that supports all of SC's features, and many more. Your homes and spawns can be imported directly from SpawnControl into HomeSpawnPlus.
    Feel free to contact me with questions/concerns/complaints.




    Tested with CraftBukkit 1060.

    DevBukkit Page: SpawnControl
    Bug Reports: SpawnControl Issue Tracker

    Features:
    • Per-player /home and /sethome
    • Per-group /groupspawn
    • Precise /spawn and /setspawn override
    • Per-world global, group, and player spawns
    • [NEW] Cooldowns for /home, /sethome, /groupspawn, and /spawn
    • Optional respawn on death
    • Optional respawn on join
    • Toggles for home, groupspawn, and globalspawn features
    • Imports player homes from spawncontrol-players.properties
    • Imports group spawns from spawncontrol-groups.properties
    Details:

    This is a more full-featured release by far. Group spawns and global spawn are now supported. I'm detecting 'new' players (for global spawn) by checking their group (new players will be in Default) and looking for an existing home entry. If no home entry is found, the player will be teleported to the global spawn and their home will be set to the global spawn location. If someone has a better method for detecting this, I'd love to hear it.

    The following permissions are available:
    • SpawnControl.sethome.basic
    • SpawnControl.sethome.proxy
    • SpawnControl.home.basic
    • SpawnControl.spawn.use
    • SpawnControl.spawn.set
    • SpawnControl.groupspawn.use
    • SpawnControl.groupspawn.set
    • SpawnControl.CooldownExempt.* (Sub-nodes: *, home, sethome, groupspawn, spawn)
    • SpawnControl.config (for /sc_config [setting] [value])
    • SpawnControl.import (for /scimportconfig and /scimportgroupconfig)
    Dependencies:
    Installation:
    1. Download SpawnControl.jar and place it in your bukkit plugins folder
    Optional Installation Steps (for Permissions support):
    1. Download the Permissions plugin and install it
    2. Add SpawnControl entries to your Permissions config as desired
    Commands:
    • /spawn - go to global spawn
    • /setspawn - set the global spawn to your current location
    • /home - go home
    • /sethome - set your home to your current location
    • /groupspawn - go to your group spawn
    • /setgroupspawn [group] - set the group spawn for the specified group to your current location
    • /sc_config [setting] [value] - alter a configuration setting
    Settings:
    • enable_home - Enables or disables /home and /sethome (0 = disabled; 1 = enabled) [Default: 1]
    • enable_groupspawn - Enables or disables /setgroupspawn and /groupspawn (0 = disabled; 1= enabled) [Default: 1]
    • enable_globalspawn - Enables or disables /setspawn, /spawn, and /globalspawn (0 = disabled; 1 = enabled) [Default: 1]
    • behavior_death - Specifies the behavior when a player dies (0 = disabled - user returns to vanilla spawn; 1 = home; 2 = group spawn; 3 = global spawn) [Default: 3]
    • behavior_join - Specifies the behavior when a player joins the server (0 = disabled - user spawns at last position; 1 = home; 2 = group spawn; 3 = global spawn) [Default: 0]
    • behavior_spawn - Specifies the behavior of the /spawn command (0 = global spawn; 1 = group spawn; 2 = home)
    • behavior_globalspawn - EXPERIMENTAL - Specifies the behavior when setting spawn (0 = does not override map spawn, 1 = overrides map spawn)
    • cooldown_home [seconds] - Sets a cooldown in seconds for the /home command
    • cooldown_sethome [seconds] - Sets a cooldown in seconds for the /sethome command
    • cooldown_groupspawn [seconds] - Sets a cooldown in seconds for the /groupspawn command
    • cooldown_spawn [seconds] - Sets a cooldown in seconds for the /spawn and /globalspawn commands
    Downloads:

    Known Issues:

    • None?
    Changelog:

    • 0.1 - First Bukkit release. Basic /home and /sethome support
    • 0.2 - Group and global spawns, Permissions integration
    • 0.3 - Working respawn on death; respawn on join (optional); configuration options
    • 0.4 - Updated to use new OnCommand system
    • 0.5 - Now uses PLAYER_RESPAWN; added basic multiworld support; added experimental (optional) globalspawn behavior; added missing /globalspawn command
    • 0.6 - Proper multi-world support with per-world spawns
    • 0.7 - Added command cooldowns; Permissions is now optional
    • 0.8 - Fixed multiworld spawns; recompiled against CB #617; removed deprecated method calls
    • 0.8.1 - Updated deprecated world loading method; tweaked spawn log message
    • 0.8.2 - Switched cooldown time handling from server time to system time
    • 0.8.3 - Added Hidendra's pull to support Bukkit's native permissions
    • Full changelog
     
    Michonne, Huddl, BadgerLove and 5 others like this.
  2. Im not sure what you mean?
    The Plugin worked fine before... but now i use a new CB Version and i didnt work.
     
  3. Offline

    tehMorag

    Thanks for the update :)

    BUUUUTTT
    My log is telling me to nag you! D:

    Code:
    10:04:37 [SEVERE] Nag author: 'Tahkeh' of 'LoginMessage' about the  following: onPlayerCommandPreprocess has been replaced with a new  signature, (PlayerCommandPreprocessEvent)
    
    and what do you mean by " Added command cooldowns"... more then just /spawn, /setgroupspawn, /sethome, and /home?
     
  4. Offline

    thyrfa

    Where do you put the
    enable_globalspawn 1
    enable_groupspawn 1
    behavior_death 2
    behavior_join 3
    behavior_globalspawn 1
    cooldown_groupspawn 120
    cooldown_spawn 30
    enable_home 0 ?
    It doesnt work in the DB file :p
     
  5. Offline

    tehMorag

    You have to use the /sc_config *variable* command to set them OR....
    You can get lightweight database editor to to change the file -- I used sqlitebrowser and it worked file (server must be off before you can edit/replace the file)
     
  6. Offline

    thyrfa

    That worked! ^^ thanks tehmorag. But It says that I dont have permission to set spawn... Using essentials permissions package. The commands arent restricted at all, but I am also an Op and part of the admin group with all commands enabled. Wtf help? :(
     
  7. Offline

    rmb938

    It keeps sending my players to an invalid chunk on spawn. No errors or anything.
     
  8. Offline

    sexyexample

    Compatible with CB 617?
     
  9. Offline

    Timberjaw

    Hi everyone,

    I was out of town on business all of last week. I got back in yesterday. I updated my own server to 617 today to check out SpawnControl. Aside from the pre-existing multi-world death issue, everything appears to be working as normal. I'm seeing a PlayerJoinEvent nag, but haven't noticed any broken behaviors using spawn, home, etc. It sounds like people have been having trouble though, so I'm still a bit concerned.

    If you're encountering any broken functionality running on 617 and SpawnControl 0.7, please let me know.

    Proper multi-world death handling is coming as soon as I can figure out what's going on with that respawn code.

    Thanks @Afforess for helping people out during my absense!
     
  10. Offline

    Ghostaunt

    same here !
     
  11. Offline

    BlackPandemic

    My knowledge of plugins is super basic and I've been struggling with other plugins conflicting (in terms of commands). I need my server to have a specific intro spawn point (for which this is perfect for) but I want to allow my players to utilize the /spawn mechanisms from McMMO after their initial spawn. Is this a possibility with this plugin?
     
  12. Offline

    Ghostaunt

  13. Offline

    Mac.Clayne

    [/quote]
    The following permissions are available:
    • SpawnControl.sethome.basic
    • SpawnControl.sethome.proxy
    [/quote]

    Can you tell me exactly what are the differences between this two permissions nodes ? I mean witch commands does they allowed players to do ?
     
  14. Offline

    Timberjaw

    basic = setting your own home
    proxy = setting someone else's home ( /sethome PLAYERNAME )
     
    Mac.Clayne likes this.
  15. Offline

    Mac.Clayne

    Owww marvelous ^^^ Thanks for your quick answer
    Now I can compilate my world.ylm file in permission with 12 differents plugins ^^' ruling 4 differnets groups ^^^'
    Holy shit ! X-D
     
  16. Offline

    BigBlueGER

    *nag*
    2011-04-06 14:50:57 [SEVERE] Nag author: 'Timberjaw' of 'SpawnControl' about the following: onPlayerJoin has been replaced with a new signature, (PlayerJoinEvent)
    #617 =D
     
  17. Offline

    tehMorag

    Hey!

    Now, I have noticed you can /sethome in each world you are in - That is awesome!
    Can we do it for /spawn for each world then make a /setglobalspawn?

    A few requests...
    /setspawn -- This will set the spawn for the current map you are on
    /setglobalspawn -- This will set the spawn for new people joining the server for the first time
    /setspawnpoint -- Can use this multiple times on a map
    /globalspawn -- Will send you to globalspawn
    behavior_death -- Able to change and set this per-map... And maybe abit more? ^^;;;;

    What I am trying to do is have more then just the Main world and Neather... There will be a total of 4 maps...

    "Main Map" death will send them to there /home for that Map (if none set it will send them to /spawn for Main Map)
    "Nether Map" death will send them to there /home for Main Map (if none set it will send them to /spawn for Main Map)
    "Freebuild Map" death will send them to /home for that map (if none set it will send them to /spawn for That map)
    "Adventure Map" death will send them to the closest /setspawnpoint for that map

    *the /setspawnpoint would be the last thing on my list of wanted features - It is more of a "what if" thing*

    I know I am asking for alot... But some of these could come true? <3
     
  18. Offline

    fifth

    Getting an intermittent bug: users will sometimes log out on whichever given world, then when they go back in, will find themselves at the world's spawn location, even though behavior_join in the database is set to 0.

    Currently getting it running CB617 with the unofficial 0.71 update. I thiiiiiiiink I may have been getting the same thing previously with version 0.7 with CB531, prior to the Minecraft 1.4 update.
     
  19. Offline

    Milkshakes00

    Build #617 getting:
    Code:
    08:07:38 [SEVERE] Could not load plugins\sqlitejdbc-v056.jar in plugins: null
    org.bukkit.plugin.InvalidPluginException
            at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.j
    ava:56)
            at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.
    java:158)
            at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager
    .java:106)
            at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:63)
            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)
    Caused by: java.io.FileNotFoundException: Jar does not contain plugin.yml
            ... 9 more
    
    Even though I have sqlitejdbc-v056.jar in the plugins folder(and in the main CraftBukkit folder, as per a post above.)

    Plugin still works perfectly fine, though.
     
  20. Offline

    RaisinBran


    You're supposed to put the sqlite in the main minecraft folder, where CB is.
     
  21. Offline

    Grekker

    Cool plugin
     
  22. Offline

    N3X15

    FYI, next RB switches from the nag to throwing an exception, so eliminate the warnings while you've got the chance. :p
     
  23. Offline

    thyrfa

    Can you give groupmanager support?
     
  24. Offline

    Timberjaw

    Updated! v0.8 fixes multiworld spawns; recompiled against CB #617; removed deprecated method calls.

    Restarting the server while players are in a world other than the default will result in the players ending up in the default world. This is a CB issue.

    Automatically-created spawns in additional worlds are not guaranteed to be safe.

    0.9 will have configurable per-world death 'forwarding'.
     
  25. Offline

    Phaedrus

    Just in time for bukkit RB 670!

    Will we have to reset all the /sc_config options?

    After updating to 0.8 I'm getting a lot of missing chunks at spawn. Going back to 0.7 seems to be better.
     
  26. Offline

    Gixbit

    Does cooldown work? Cause I can't really seem to figure that part out. Do admins ignore cooldown time or something?
     
  27. Offline

    Timberjaw

    Argh.

    No, you shouldn't need to.

    What CB? I haven't experience this with 617, but it sounds like 670 fixed a similar issue. SC doesn't do anything with chunks, so it's unlikely to be directly related.

    Admins are exempt if they have the '*' permission, as that gives them the exemption permission.

    0.9 Plans
    • Per-world death rules:
      • Destination world
      • Spawn type (global/group/home)
    • Better global spawn auto-creation for new worlds
    • Cross-world /home, /spawn, and /groupspawn usage
    You may have noticed that SC's version is getting perilously close to 1.0. This is not a coincidence. It's getting pretty close to having most of the features people have requested, and has been fairly stable (ha!) for a while.

    Request for Feedback
    I'd like to start getting some feedback from users about a couple things. Feature requests are welcome as always, but I'd like to get a feel for the SC userbase. I've invested a lot of time in this plugin and would hate for it to go to waste, so I want to be sure that my priorities match the needs of the people using SpawnControl. Specifically, I'd like to know:
    1. Why do you use SpawnControl over other spawn plugins? (Features SC has that other plugins don't, design or usage issue other plugins have that SC doesn't, etc)
    2. If you've switched away from SC or are considering doing so: what is SC missing or what issues are preventing it from providing a good experience?
    3. What do you NOT want to see in SpawnControl? (This is kind of a strange question I suppose. In the past I've seen feature requests quickly followed by someone saying "please don't do that"...usually for reasons of simplicity)
    Of course, general thoughts about the future of SC are also welcome.

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

    tehMorag

    First off - Thank you for taking my request for per-world death rules - it will help a ton for servers that have different type/themed maps

    You are honestly the first and only spawn plugin I have used since you covered my needs at that time and looks like you will do even more for me
    It is nice to see a plugin that specializes in one thing and not a million... You could have added a warp system, basic tp commands, or even spawning of monsters. But instead you are taking something basic and expanding upon it.
    Afforess is another plugin dev that follows the same suit but with the minecart portion of the game - It is another addon that I heavily use and love!

    I have yet to find a use for the /groupspawn command... I guess it could be integrated with some sort of guild/group/zone/nation feature that will make that there base spawn for everyone one in that guild/group/zone/nation. I run a server with a small group of friends (8-12 people) so we really don't need it, but I can now see how it could be used.

    Back to specializing in spawning...
    I am toying with the notion of adding a single player built adventure map called Skyworld (http://www.minecraftforum.net/viewtopic.php?f=25&t=38214) to my multiplier server. The creator added a client side 'password' mod that would reset your spawn point to a set point on the map. This is where the making multiple spawn (zonespawn) points might/could come handy.
    If a person entered that set zone somewhere on that map, then that spawn is now active for them. Upon death, they would spawn at the closest zone that they have activated.

    Having a /setspawn per world would be nice and (1.) have the ability to set one maps /setspawn to be the global spawn OR (2.) have a /setglobalspawn so servers can have a set area for new people to spawn (then the admin and forward the death of that world to the /setspawn area for that map, a place that is meant for people that are not new to the server).

    Could also have some sort of spawn hierarchy (eg: first do /home, if none set go to /sapwn, if none set, go to /globalspawn, ect). This could be set up out side of in game commands in a text file...
    (Going back to my last post, this would be my dream setup)
    (Using the same xml format that Afforess uses for his minecraft config file)
    Code:
    <world>    <--- this is the map name (as per the folder the map is saved in)
      <first>home:world</first>    <---You could allow up to 5 arguments for spawn rules - typeofspawn:worldname
      <second>spawn:world</second>
      <third>globalspawn:world</third>
      <fourth></forth>
      <fifth></fifth>
    
    <nether>
      <first>home:nether</first>
      <second>spawn:nether</second>
      <third>home:world</third>
      <fourth>spawn:world</forth>
      <fifth>globalspawn:world</fifth>
    
    <adventuresky>
      <first>zonespawn:adventuresky</first>
      <second>spawn:adventuresky</second>
      <third>home:world</third>
      <fourth>spawn:world</forth>
      <fifth>globalspawn:world</fifth>
    
    <freebuild>
      <first>home:freebuild</first>
      <second>spawn:freebuild</second>
      <third>home:world</third>
      <fourth>spawn:world</forth>
      <fifth>globalspawn:world</fifth>
    If none of the arguments work, it will default to the vanilla spawn.

    My goodness! I though of something else >.<
    If there was a way to also check to see if the spawn is safe or not...
    When it goes through the spawn arguments it could check to see if there is a block below spawn...
    Lets say you die and hit spawn... If there was 5 or more (user defined number) blocks of air till you hit something -
    it will not spawn you.
    It could also check to see the type of block you would land on or around where you would land -- Say if there was lava/water (user defined blocks) within a 2 block (user defined number) of spawn, it will be deemed unsave (giving a user print out saying so and why ("UNSAFE: LAVA AT SPAWN" or "UNSAFE: 10 BLOCK VERTICAL DROP AT SPAWN")) and will go to the next spawn argument.
    Could be tricky to program but it is something that would make this plugin unique.

    Please don't take my post as me saying "OMG DO THIS OR A LEAVE" type of thing (I tend not to use the correct wording a lot of the time). This post is just full of ideas that you could use to specialize what this plugin could do.

    I normally don't put this much effort in to a post/feature request but you did want feedback :)

    Thanks again for the plugin!

    ps. Could also use the groupspawn for player vs player maps - 2 set teams or how many ever lol
    Or some sort of admin clubhouse only thing
     
  29. Offline

    Phaedrus

    I use it because it's powerful in how you control spawn behavior (obviously).
    For instance.. When a user dies they respawn at that worlds spawn point. When they get disconnected and reconnect, they spawn where they last were. Simple. I use multiverse to portal between world spawn points. I don't even use groupspawn yet, but it's nice to know it's there.

    The addition of more multiworld control is welcome. And beyond that, I'm not sure what I'd want out of this plugin, other than I would like to see a real properties config file in addition to the in game commands.

    Great work on the plugin. I hope you keep i up.
     
  30. Offline

    PhantomGamers

    Hey, awesome plugin.
    Works great!

    Two things.

    One, it does work on 670 but I'm getting this error in the chat.
    Doesn't seem to affect performance or functionality, but I figured if there is an error something's wrong with the plugin.
    "19:51:38 [SEVERE] Nag author: 'Timberjaw' of 'SpawnControl' about the following:
    onPlayerJoin has been replaced with a new signature, (PlayerJoinEvent)"

    Lastly, would there be a way to have /setspawn permanently set the spawn in the map file?
    So it isn't completely dependent on SpawnControl?
    Just think that would be cool, not completely necessarily though.
     
  31. Offline

    tehMorag

    That would be minecraft coding from notch him self

    Minecraft doesn't spawn you in a set place - only around a set place
     

Share This Page