Inactive [TP] MultiHome v0.11.3 - Multiple personal named home locations [2058 / 1.2.3-R0.2]

Discussion in 'Inactive/Unsupported Plugins' started by MadManMarkAu, Apr 2, 2011.

  1. Offline

    MadManMarkAu

    MultiHome - Multiple named home locations:
    Version: v0.11.3

    This plugin is much the same as other multi-home plugins, except this plugin supports named home locations and home sharing. no longer do you need to keep a list of which home number is for what location; why not simply name the location from the start?

    When the plugin generates it's data files for the first time, it will import and convert your home locations if you use Essentials or MultipleHomes.

    To enable home-on-death, set enableHomeOnDeath, under MultiHome, in the config file to "true" and give the appropriate users the multihome.homeondeath permission.

    All test displayed to the user can be fully customized. This also allows for translations to other languages!

    Acknowledgements
    Sleaker: Too much to list here... Heaps of stuff. You rock!
    HereInPlainSight: Submitting a pull request to add PermissionsBukkit support. Also a pull request for new event system.
    Maxis010: For providing basic support in this thread.

    Donate:
    Donations help with development of this and other plugins, as well as the upkeep of our server. They're completely optional and give you that feel-good feeling we all know and love. :)

    [​IMG]

    Features:
    • Supports multi-world.
    • Multiple per-user home locations.
    • Home locations use names rather than numbers.
    • Can respawn player to their default home upon death.
    • Forwards-compatible with SimpleHome data file format. Simply replace "MultiHome/homes.txt" with the homes.txt from SimpleHome to migrate.
    • Can list and delete home locations.
    • Optional warm-up, cool-down and max-homes settings for all Permissions groups. Global settings for undefined
    • Automatically imports home locations from Essentials, MyHome and MultipleHomes data directories.
    • Can invite players to your home. Can globally invite all players to your home. Can impose a time limit on invites.
    • Every piece of text displayed to the player can be customized!

    Download: http://dev.bukkit.org/media/files/579/623/MultiHome.jar

    Source Code: https://github.com/MadManMarkAu/MultiHome

    Todo:
    • Support for custom commands.
    • User-settable option to enable/disable spawn-to-home.
    • Lockable homes.
    • Persistant, user settable HomeOnDeath option.
    • Option to store home locations in MySQL database.
    • Settable message colors.

    Bugs:
    If you encounter bugs in my plugin, open an issue on GitHub: https://github.com/MadManMarkAu/MultiHome/issues

    Commands (open)

    Commands:
    • /home - Teleport you to your default home location
    • /home <name> - Teleport to a named home location
    • /home <player>:<name> - Teleport to another players home location if you have permission or an invite is open.
    • /sethome - Set your default home location
    • /sethome <name> - Set a named home location
    • /sethome <player>:<name> - Set a home location for another player. Requires permission. Leave <name> blank to set default home.
    • /deletehome <name> - Delete named home location.
    • /deletehome <player>:<name> - Delete another player's named home location. Permission required.
    • /listhomes - List home locations for yourself.
    • /listhomes <username> - List home locations for another player. Requires permission.
    • /invitehome {<user>|*} - Invite another user (use "*" for global invite) to your default home location.
    • /invitehome {<user>|*} <home> - Invite another user (use "*" for global invite) to your named home location.
    • /invitehometimed {<user>|*} <time> - Invite another user (use "*" for global invite) to your default home for a short time.
    • /invitehometimed {<user>|*} <time> <home> - Invite another user (use "*" for global invite) to your named home for a short time.
    • /uninvitehome {<user>|*} - Retract invitation for another player to visit your default home.
    • /uninvitehome {<user>|*} <home> - Retract invitation for another player to visit your named home.
    • /listinvites - List invites open to you.
    • /listmyinvites - List invites you have open to others.
    Permissions (open)

    Permissions:
    • multihome.defaulthome.go - Allow user to teleport to their default home location.
    • multihome.defaulthome.set - Allow user to create their default home location.
    • multihome.defaulthome.invite - Allow player to invite others to their default home.
    • multihome.defaulthome.invitetimed - Allow player to invite others to their default home with a timer.
    • multihome.defaulthome.uninvite - Allow player to retract invitations to their default home.
    • multihome.namedhome.go - Allow user to teleport to a named home location.
    • multihome.namedhome.set - Allow user to create a named home location.
    • multihome.namedhome.delete - Allow user to delete a named home location.
    • multihome.namedhome.list - Allow user to list their home locations.
    • multihome.namedhome.invite - Allow player to invite others to their named home.
    • multihome.namedhome.invitetimed - Allow player to invite others to their named home with a timer.
    • multihome.namedhome.uninvite - Allow player to retract invitations to their named home.
    • multihome.othershome.go - Allow user to teleport to another player's home without invite.
    • multihome.othershome.set - Allow user to create another player's home.
    • multihome.othershome.delete - Allow user to delete another player's named home location.
    • multihome.othershome.list - Allow user to list home locations of another user.
    • multihome.free.defaulthome.go - Teleporting to default home is always free.
    • multihome.free.defaulthome.set - Setting default home is always free.
    • multihome.free.namedhome.go - Teleporting to named home is always free.
    • multihome.free.namedhome.set - Setting named home is always free.
    • multihome.free.othershome.go - Teleporting to other players home is always free.
    • multihome.listinvites.tome - Allow player to list invites open to them.
    • multihome.listinvites.toothers - Allow player to list invites they have open to others.
    • multihome.ignore.cooldown[/B] - Player will ignore the cooldown timer.
    • multihome.ignore.warmup[/B] - Player will ignore the warmup timer.
    • multihome.homeondeath - Player will be taken to their default home when respawning.
    Changelog (open)

    Version 0.11.2
    • Consolidated MultiHome and MultiHome_m commands.
    • Fixed a permissions bug.
    • Improved compatibility for Essentials.
    Version 0.11.1
    • Plugin resends target chunk to clients one second after teleporting. Might fix teleport chunk glitches.
    Version 0.11
    • Updated to latest Bukkit version.
    • Trying a fix to alleviate missing chunk glitches.
    Version 0.10
    • Fixed a typo in handling "{AMOUNT}" payment tags.
    • Added support for Bukkit permissions and SuperPerms.
    • Switched to using "Register" for economy handling.
    • Added permissions list to plugin.yml (for Bukkit perms support).
    Version 0.9.7
    • Rewrote permissions nodes.
    • Fixed permissions loading and economy loading (or lack thereof).
    Version 0.9.6
    • Merged update from Sleaker.
    • Added economy support.
    • Added PermissionsEX support.
    • Bunch of tweaks.
    Version 0.9.5
    • Updated to CraftBukkit 953
    Version 0.9.3
    • Updated to CraftBukkit 798
    • Added importing of newer Essentials home formats.
    Version 0.9.2
    • Fixed cooldowns.
    Version 0.9.1
    • Fixed typo in permissions.
    Version 0.9
    • Massive code rewrite.
    • Added invite system.
    • More permissions.
    • Lots of stuff, some large, some small.
    Version 0.8
    • Optional home-on-death. Players can teleport back home rather than to spawn when dead.
    Version 0.7
    • Imports home locations from Essentials and MultipleHomes.
    Version 0.6.2
    • Fixed a bug where plugin wasn't honoring groups correctly.
    Version 0.6.1
    • Fixed unnecesary warp scheduling when warmup time = 0
    Version 0.6
    • Updated to CraftBukkit 670
    • Implemented new config file.
    • Per-group warm-up, cool-down and max-homes settings.
    • Split create and teleport permissions.
    Version 0.5.2
    • Fixed a bug to do with MultiHome loading before MultiVerse and removing all home locations.
    Version 0.5.1
    • Fixed listing homes when no homes set.
    Version 0.5
    • Added /listhomes and /deletehome
    Version 0.4
    • Added support for Permissions/FakePermissions
    Version 0.3
    • Homing from another world will now teleport between worlds before teleporting to home. Fixes a server bug when changing worlds and locations simultaneously.
    Version 0.1-0.2
    • I honnestly can't remember... Released, I guess?
     
  2. Would be nice if iConomy was supported for sethome buying at least. And even home using also but as an option of development.
     
  3. Offline

    WhosDaMan

    This plugin is officially named DEAD! Have a nice day.
     
  4. Offline

    Keavon

    Hello. This looks like a great plug-in!
    I installed it (v0.9.3) in the plugins folder, but whenever I try to run it it gives me an error.
    The error in the chat is this:
    Code:
    An internal error occurred while attempting to perform this command
    The server console gives me this:

    Code:
    09:34:51 [SEVERE] null
    org.bukkit.command.CommandException: Unhandled exception executing command 'sethome' in plugin MultiHome v0.9.3
            at org.bukkit.command.PluginCommand.execute(PluginCommand.java:37)
            at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:129)
            at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:304)
            at net.minecraft.server.NetServerHandler.handleCommand(NetServerHandler.java:725)
            at net.minecraft.server.NetServerHandler.chat(NetServerHandler.java:691)
    
            at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:684)
            at net.minecraft.server.Packet3Chat.a(Packet3Chat.java:32)
            at net.minecraft.server.NetworkManager.b(NetworkManager.java:223)
            at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:75)
            at net.minecraft.server.NetworkListenThread.a(SourceFile:105)
            at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:451)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:361)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
    Caused by: java.lang.NoClassDefFoundError: com/nijiko/permissions/PermissionHandler
            at net.madmanmarkau.MultiHome.Permissions.has(Permissions.java:28)
            at net.madmanmarkau.MultiHome.CommandExecutor.setDefaultHome(CommandExecutor.java:126)
            at net.madmanmarkau.MultiHome.MultiHome.onCommandFromPlayer(MultiHome.java:129)
            at net.madmanmarkau.MultiHome.MultiHome.onCommand(MultiHome.java:104)
            at org.bukkit.command.PluginCommand.execute(PluginCommand.java:35)
            ... 12 more
    Caused by: java.lang.ClassNotFoundException: com.nijiko.permissions.PermissionHandler
            at java.net.URLClassLoader$1.run(Unknown Source)
            at java.security.AccessController.doPrivileged(Native Method)
            at java.net.URLClassLoader.findClass(Unknown Source)
            at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:36)
            at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:24)
            at java.lang.ClassLoader.loadClass(Unknown Source)
            at java.lang.ClassLoader.loadClass(Unknown Source)
            ... 17 more
    Does anybody know what's wrong and what I need to do to fix this?
    I would love some help!
    Thanks!
     
  5. Offline

    Darq

    On Recommended Bukkit Build #953
    Using 0.9.3 of Multihome, with the 'm' command prefixes
    While not getting an error at all in the console at all when running plugins found here: http://monstercraft.net/wiki/monstercraft-17-test-server-versions/, the multiple home part of this multiple home plugin does not work.

    When removing every plugin except multihome, I get a nice error.
    Code:
    13:20:13 [SEVERE] Error occurred while enabling MultiHome v0.9.3 (Is it up to date?): Plugin attempted to register PLAYER_RESPAWN while not enabled
    org.bukkit.plugin.IllegalPluginAccessException: Plugin attempted to register PLAYER_RESPAWN while not enabled
            at org.bukkit.plugin.SimplePluginManager.registerEvent(SimplePluginManager.java:357)
            at net.madmanmarkau.MultiHome.MultiHome.registerEvents(MultiHome.java:92)
            at net.madmanmarkau.MultiHome.MultiHome.onEnable(MultiHome.java:55)
            at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:126)
            at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:857)
            at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:264)
            at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:151)
            at org.bukkit.craftbukkit.CraftServer.enablePlugins(CraftServer.java:136)
            at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:284)
            at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:271)
            at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:148)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:335)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
    
    And the plugin doesn't enable at all, ;P

    So yes, this definitely needs an update for RB #953
     
  6. Offline

    MadManMarkAu

    And you're officially named AN IDIOT! Have a nice day.

    Okay, this plugin has been updated for Permissions 3+, CraftBukkit 953.

    @WhoDaMan The plugin is not dead, but some of us actually have gainful employment, rather than having the luxury of sitting on our asses all day, playing games, heckling forum users and being Internet Tough Guys.

    It's the end of financial year, so things are reaaaly busy for me at the moment.

    BUG REPORTS:

    If you have a bug, have trouble starting the plugin, have home locations that don't save or disappear, etc... open an issue on GitHub: https://github.com/MadManMarkAu/MultiHome/issues
    Please post the plugin version you're using, the Bukkit version you're using, copy/paste any errors to your post. I haven't had time to fully test this version, but I believe it's working fully.

    iConomy support: I don't plan on making home locations buyable, but if enough people request the functionality, I can certinly add it.

    Distance limit, same as above. If others think it's a good feature and request it, I'll add it.

    Please note, I only get a couple of hours a week to work on Minecraft. I haven't actually played the game in almost a month. So please, be patient.

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

    Jadedwolf

    When 90% of plugins broke versions ago this one did not, even from 1.5 to 1.6 it didn't break, for that you're a great plugin dev. I have yet to have an issue and I hope to keep using this plugin forever.
     
  8. Offline

    monir

    Best plugin ever waiting for uppdate take your time bro
     
  9. Offline

    MadManMarkAu

    I updated it today. Did I miss something? :eek:
     
  10. Offline

    monir

    No you didnt :) i just tested it whitout permissions works perfect and thank you for uppdating.
     
  11. Offline

    MadManMarkAu

    You were getting the error "Plugin attempted to register PLAYER_RESPAWN while not enabled." Was this error resolved? If so, how?
     
  12. Offline

    monir

    I got the error message when i tested it whitout permissions then whit permissions it worked perfect
     
  13. Offline

    MadManMarkAu

    Oh, I know why that is. It'll be fixed in the next release.

    Basically, if Permissions is not found, the plugin disables itself. Unfortunately, the next part of the code is where the plugin registers its events, and this code executes regardless.
     
    monir likes this.
  14. Offline

    tha d0ctor

    for some reason all my permissions are set properly, everything worked fine before the update, and now my users can't have access to the command and my home don't exist or point to the right place

    it says its hooking fine too

    using essentials group manager w/ fake permissions

    and then when I set a home and try to go there is says player not found
     
  15. Offline

    spunkiie

    0.9.5 is buggy.

    Users with -1 homes are getting limited to 10 :\
     
  16. Offline

    tha d0ctor

    hmm anyone have a link to the last working version?
     
  17. Offline

    Hydrosis

    Config isn't working for me. Everyone can set an infinite amount of homes, no matter what group they are in.
    Code:
        default:
            warmup: 0
            cooldown: 0
            maxhomes: -1
        groups:
            default:
                warmup: 0
                cooldown: 0
                maxhomes: 3
            moderator:
                warmup: 0
                cooldown: 0
                maxhomes: 3
            builder:
                warmup: 0
                cooldown: 0
                maxhomes: 5
     
  18. Offline

    Maxis010

    Ensure that the groups match letter for letter, including caps
     
  19. Offline

    Hydrosis

    Thanks ^__^ Didn't know it was case sensitive.
     
  20. Offline

    DQuaN

    Would it be possible for users to choose if they want their home to be their spawn point instead of me setting it in permssions? Something like /sethomespawn?

    Great plugin btw. :)
     
  21. Offline

    Jobsti

    Heyho @MadManMarkAu

    Great Plugin, works very well, but some Requests:
    - sqlite support
    - If a user has a home in another world, he only can teleport to this home, if he is in the world where the home is.

    And a problem/important request:
    I use SpawnX, because it has exact spawn and a warmup for spawn (but no cooldown ;( ), with this plugin "home after dead" doesn't work and the pluginauthor was gone.
    Could you look at his plugin or better: could you build in a simple (multiworld) spawn and setspawn with cooldown and warmup in your plugin?

    Or did anyone knows a spawn plugin which has a warmup and works with MultiHome?
     
  22. Offline

    MadManMarkAu

    Post your config and I'll take a look at it. Note that group names are case sensitive.

    I have a multiworld exact spawn plugin I wrote for our server, I'm sure I can add a warmup/cooldown to that. That will come later. Hit me up on the weekend and I'll take a look at it.

    Great suggestion. I'll add it to the todo list.

    Are you still having this issue? Note that usernames must be typed out in full and I believe are case sensitive. It's safest to treat everything as case sensitive.
     
  23. Offline

    spunkiie

    @MadManMarkAu

    Forget to say: It's the exactly same config file that always worked like a charm (with 0.9.4). In fact I Just switched back to 0.9.4 and everything is working again. I can still post my config if you want btw.
     
  24. Offline

    fatmarley

    I have the newest one and I am having he same issue...Help?
     
  25. Offline

    tha d0ctor

    can you post a link to 0.9.4 please?

    0.9.5 stopped working for me, .0.9.4 was fine but thats it
     
  26. Offline

    Sleaker

    I have a pull request waiting that adds Full econ support - PEX natively - Warmup disruption and a more intuitive approach to the permission nodes. We'll see where it goes.
     
  27. Offline

    MadManMarkAu

    HOLY HELL YOU ROCK! I'm loving this code. I'll review it and merge it tonight.

    EDIT: Dammit, the changes I made on the latest release means I can't automatically merge it. I'll do it manually.

    I've looked into this and I can't replicate the issue. Can you make sure you're using the correct capitalization and spelling when deleting others homes? Can you pastebin your homes.txt and let me know the user/home you're trying to delete?

    Will be in the next release! Thanks to Sleaker for his AWESOME code pull request. He implemented this. :)

    This issue is fixed and will be in the next release.

    I believe this to be a problem with Permissions and how it handles grouping. Before, when each user had one group and one group only, it was easy to get the group name. Now, Permissions doesn't supply a method of getting the BASE group of a user, seeing multi-grouping is implemented. The plugin must ask for a list of groups the player is in, and takes the first one as the players group. Until I figure out the CORRECT way to handle multigrouping, I don't know what to do.

    EDIT: And, new release. 0.9.6. THANK YOU SLEAKER, YOU AWESOME PERSON YOU :D

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

    Sleaker

    PEX shouldn't have this issue at all, inheritance never overrides a groups option nodes for a group -> IE the one that inherits all other groups. (I had a discussion about this with the devs). There may be an issue if you aren't using a single laddered setup, but I haven't seen issues with it pulling the top level inheretance group with getGroups[0]

    Just so everyone doesn't freak out. Permission nodes did change here's the new list:

    May need to be adjusted so the free nodes are split off by themselves which would let you give multihome.home.* without bypassing econ

    update: they are a bit borked atm. it's a mix of the old + only partial changes.

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

    Maxis010

    I believe that when you pull the groups you get the last group in the list as natural priority (this is an assumption based off of the behaviour of another plugin) so here is my notion for a fix
    Extend the config with a priority setting, so say for example I wanted to give groupa 5 homes, groupb 10 homes, groupc -1 homes but then groupx 0 homes
    Groupx is a punishment group for those that abuse the home system so it has to take priority so I give it priority 1
    Then I just set c, b and a to 2, 3 and 4 respectively
    Now when MultiHome sees multiple groups it checks the group priority to see which settings to apply

    Any questions?
     
  30. Offline

    kramcomposer

    all my non admin users are getting access denied even though ive added the new permissions

    any ideas? im using group manager...
     
  31. Offline

    Sleaker

    You just need to make sure you setup your hierarchy properly. I do it like this:
    Group A inherits Group B which Inherits Group C which Inherits Group D.
    If a player is in group A permissions only sees them as in that group, even though their group inherited all previous permission nodes. If you don't use an inherited system like this, there is no possible way for a plugin to know what the 'top level' group is. Example: Player has Group A and Group B. Group B inherits Group C which inherits Group D. In this cause because the Player has 2 separate Groups applied there is no consistent way to know which group is 'top level' between Group A or Group B.

    We could force it to apply the most 'restrictive setting' of all the groups the player has if we added a special option to rate each group level in multihome, but then that can get nasty.

    I just realized I had only refactored some of the nodes. I'm fixing them now, and will put up another pull request for them. Sorrrrryy! :O

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

Share This Page