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. Offline

    QQCucumber

    Got a pretty large error. I asked around and one of my players thinks he typoed /home 2 as /home 2e around this time frame and it caused it.

    Code:
    2011-05-10 07:19:53 [SEVERE] null
    org.bukkit.command.CommandException: Unhandled exception executing command 'home' in plugin MultiHome v0.9.2
    	at org.bukkit.command.PluginCommand.execute(PluginCommand.java:37)
    	at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:85)
    	at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:278)
    	at net.minecraft.server.NetServerHandler.handleCommand(NetServerHandler.java:682)
    	at net.minecraft.server.NetServerHandler.chat(NetServerHandler.java:645)
    	at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:639)
    	at net.minecraft.server.Packet3Chat.a(Packet3Chat.java:32)
    	at net.minecraft.server.NetworkManager.a(NetworkManager.java:196)
    	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:372)
    	at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:287)
    	at net.minecraft.server.ThreadServerApplication.run(SourceFile:394)
    Caused by: java.lang.StringIndexOutOfBoundsException: String index out of range: 2
    	at java.lang.String.charAt(Unknown Source)
    	at java.util.regex.Matcher.appendReplacement(Unknown Source)
    	at java.util.regex.Matcher.replaceAll(Unknown Source)
    	at java.lang.String.replaceAll(Unknown Source)
    	at net.madmanmarkau.MultiHome.Settings.sendMessageNoHome(Settings.java:239)
    	at net.madmanmarkau.MultiHome.CommandExecutor.goNamedHome(CommandExecutor.java:78)
    	at net.madmanmarkau.MultiHome.MultiHome.onCommandFromPlayer(MultiHome.java:120)
    	at net.madmanmarkau.MultiHome.MultiHome.onCommand(MultiHome.java:104)
    	at org.bukkit.command.PluginCommand.execute(PluginCommand.java:35)
    	... 12 more
    2011-05-10 07:19:5307:19:53 [SEVERE] null
    org.bukkit.command.CommandException: Unhandled exception executing command 'home' in plugin MultiHome v0.9.2
    	at org.bukkit.command.PluginCommand.execute(PluginCommand.java:37)
    	at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:85)
    	at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:278)
    	at net.minecraft.server.NetServerHandler.handleCommand(NetServerHandler.java:682)
    	at net.minecraft.server.NetServerHandler.chat(NetServerHandler.java:645)
    	at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:639)
    	at net.minecraft.server.Packet3Chat.a(Packet3Chat.java:32)
    	at net.minecraft.server.NetworkManager.a(NetworkManager.java:196)
    	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:372)
    	at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:287)
    	at net.minecraft.server.ThreadServerApplication.run(SourceFile:394)
    Caused by: java.lang.StringIndexOutOfBoundsException: String index out of range: 2
    	at java.lang.String.charAt(Unknown Source)
    	at java.util.regex.Matcher.appendReplacement(Unknown Source)
    	at java.util.regex.Matcher.replaceAll(Unknown Source)
    	at java.lang.String.replaceAll(Unknown Source)
    	at net.madmanmarkau.MultiHome.Settings.sendMessageNoHome(Settings.java:239)
    	at net.madmanmarkau.MultiHome.CommandExecutor.goNamedHome(CommandExecutor.java:78)
    	at net.madmanmarkau.MultiHome.MultiHome.onCommandFromPlayer(MultiHome.java:120)
    	at net.madmanmarkau.MultiHome.MultiHome.onCommand(MultiHome.java:104)
    	at org.bukkit.command.PluginCommand.execute(PluginCommand.java:35)
    	... 12 more
     
  3. Offline

    MadManMarkAu

    This happens when a backslash is included in the home name they type. I'm aware of the bug and it will be fixed in the next release :)
     
  4. Offline

    Hydrosis

    Code:
        default:
            warmup: 0
            cooldown: 0
            maxhomes: 3
        groups:
            Deafult:
                warmup: 0
                cooldown: 0
                maxhomes: 3
            5homes:
                warmup: 0
                cooldown: 0
                maxhomes: 5
            10homes:
                warmup: 0
                cooldown: 0
                maxhomes: 10
            admins:
                warmup: 0
                cooldown: 0
                maxhomes: -1
    
    That gives me this error in console:
    Code:
    2011-05-10 14:39:10 [SEVERE] Could not load 'plugins\MultiHome_m.jar' in folder 'plugins':
    while scanning for the next token
    found character     '\t' that cannot start any token
     in "<reader>", line 80, column 25:
                    maxhomes: -1
                                ^
    
        at org.yaml.snakeyaml.scanner.ScannerImpl.fetchMoreTokens(ScannerImpl.java:360)
        at org.yaml.snakeyaml.scanner.ScannerImpl.checkToken(ScannerImpl.java:183)
        at org.yaml.snakeyaml.parser.ParserImpl$ParseBlockMappingKey.produce(ParserImpl.java:564)
        at org.yaml.snakeyaml.parser.ParserImpl.peekEvent(ParserImpl.java:163)
        at org.yaml.snakeyaml.parser.ParserImpl.checkEvent(ParserImpl.java:148)
        at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java:228)
        at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:160)
        at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java:230)
        at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:160)
        at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java:230)
        at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:160)
        at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java:230)
        at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:160)
        at org.yaml.snakeyaml.composer.Composer.composeDocument(Composer.java:122)
        at org.yaml.snakeyaml.composer.Composer.getSingleNode(Composer.java:105)
        at org.yaml.snakeyaml.constructor.BaseConstructor.getSingleData(BaseConstructor.java:124)
        at org.yaml.snakeyaml.Yaml.load(Yaml.java:264)
        at org.bukkit.util.config.Configuration.load(Configuration.java:73)
        at org.bukkit.plugin.java.JavaPlugin.initialize(JavaPlugin.java:158)
        at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:140)
        at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:160)
        at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:108)
        at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:85)
        at org.bukkit.craftbukkit.CraftServer.reload(CraftServer.java:287)
        at org.bukkit.command.SimpleCommandMap$ReloadCommand.execute(SimpleCommandMap.java:201)
        at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:85)
        at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:255)
        at net.minecraft.server.NetServerHandler.handleCommand(NetServerHandler.java:677)
        at net.minecraft.server.NetServerHandler.chat(NetServerHandler.java:640)
        at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:634)
        at net.minecraft.server.Packet3Chat.a(Packet3Chat.java:32)
        at net.minecraft.server.NetworkManager.a(NetworkManager.java:195)
        at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:74)
        at net.minecraft.server.NetworkListenThread.a(SourceFile:100)
        at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:370)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:285)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:394)
     
  5. Offline

    Maxis010

    Go over the file and convert your tabs in to spaces, yml files don't like tabs
     
  6. Offline

    Hydrosis

    I didn't use any tabs 0_O
    Also, the plugin was reading only what the very first group (default) was. It wasn't reading the permissions from anything past groups.

    *EDIT*
    No matter what number I put for the admins (-1, 25, 30) it keeps telling me there is a read error there, but I am not using tabs.
     
  7. Offline

    EggRoll

    Homes aren't migrating over from Esssentials, only some were. (Like 8/50)
     
  8. Offline

    MadManMarkAu

    Troubling... Would you be willing to share your Essentials homes file with me for testing?
     
  9. Offline

    EggRoll

    They're all in seperate userdata files.
     
  10. Offline

    MadManMarkAu

    I know. MultiHome is supposed to import them properly, across all those data files. But I haven't been able to test with real-world data, only generated test data from a testing server. If you zip your homes files and upload them somewhere (PM the link to me) I'll be able to test the plugin against your data. This will also fox future problems other users may be having. :)
     
  11. Offline

    EggRoll

    Alright I'll do it now and PM you the download link
     
  12. Offline

    thefoxygranpa

    May be wishful thinking...but what about a feature to disable warmup on the event a player moves after sending command?

    i.e. in a PVP enviroment, preventing a player from teleporting away from combat.


    But great plugin, been running for weeks now with 0 flaws!
     
  13. Offline

    Hydrosis

    I found out the reason to my problem. I was using SmartFTP and it didn't like it when I edited the file from there. I had to use Notepad++ on my computer to modify it and it works perfectly. The only suggestion I have is to make it override the /home from essentials (there is a plugin that does that; I think it's called Multiple Homes). Even more helpful would be a "/home help" option. It gets annoying to have to explain to each person why /msethome and /msethome <name> are different and how if you have 3 homes you actually have 1 default and 2 named and you cannot delete the default one but you can delete the named ones to re-set them.
     
  14. Offline

    MadManMarkAu

    Great to see it's working now. This plugin supports the Help plugin. You can get help on this plugin by using that help system. Also, you don't need to delete a home to reset it. :)

    There may be a little hack I can pull off to disable those commands in Essentials, but it might be messy. I'll look into it.

    Probaby a good idea. Cancel any pending teleports if the player moves more than x blocks from the place where they initiated it. I'll do it.

    Great! I took a look at the files, and the format has changed when they incorporated the home system into Essentials itself. I've updated the import routines to handle both the old and new formats.
     
  15. is there any way you can add in a "invite group" function to allow a certain group to /home to the designated spot?

    its for my PvP server and i want the leader of the faction to be able to set an HQ and have all the members of the faction be able to teleport to the HQ. i noticed you have a global invite option but if a team leader invites all players it will invite members of the opposite faction aswell... i am really trying to avoid using either of the plugins "Factions" or "Towny" just for a basic HQ command...

    if you can do this it would be a GREAT help
    thanks
     
  16. Offline

    SoRampage

    It's work with bukkit 803 ??!

    Sorry for my english but i'm french

    I have a problem with this plugin with bukkit 803 ( I' ve essentials )


    /sethome test -> home set -- OK
    /listhomes -> Home locations: [Default] -- error ?
    /home test -> You have not set a home -- fail
    /home -> teleporting Home -- ok but i'm teleported at the last /sethome *

    I'm admin so I have permission.

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

    Maxis010

    get the m version of multihome, essencials might be hyjacking one or more of the commands
    With the m version all commands are prefixed with m so /mhome, /msethome, /mlisthomes etc
     
  18. Offline

    SoRampage

    it's ok !!! thank you !!
     
  19. Offline

    SoRampage

    It's work with bukkit 817 ??!
     
  20. Offline

    MadManMarkAu

    *sigh* How about you test it for yourself, rather than demanding others find out for you. I'm not going to answer this question from you every time a new version of Bukkit comes out.

    Yes, it works on 817. I'm running an 817 server and it works fine.

    EDIT: According to reports, HomeOnDeath does not work.
     
  21. Offline

    d00ba

    The Basic /sethome and /home appear to work on 817, but homeondeath does not.
     
  22. Offline

    yashua

    Just wondering have you updated your plugin for permissions 3.1 yet?
     
  23. Offline

    thefoxygranpa

    Same here
     
  24. Offline

    Malkierian

    I would like to report /sethome and /deletehome not showing confirmation in a player's console. We're using HeroChat if that makes any difference.
     
  25. Offline

    SpiiderPig

    I have 2 Worlds running with Multiverse but i cant set 2 different homes, one on each world :(

    I do on world A /msethome go to world B /msethome so that i should have 2 Home points, but when i'm on World B and use /mhome i get teleported to world A
     
  26. Offline

    Maxis010

    This is a Bukkit Problem, install Build 820 and try again
     
  27. Offline

    The Wizard

    I can't delete others homes with /deletehome username:homename.
    I get this message: Home homename not set.
    But the home is set, I've checked with /listhomes username, also in the homes.txt file.

    Server: 818
    Permissions 3.1.4
     
  28. Offline

    SpiiderPig

    I'm using Build 820 but it seems that the home point gets overwritten everytime i do /msethome

    In the homes.txt there is only one line pointing to the world i did the /msethome command the last time, when i switch to the other World and set an home it gets overwritten so that i only have one home point.
     
  29. Offline

    tha d0ctor

    any chance this will be updated, without confirmation and list homes a lot of the functionality is impaired
     
  30. Offline

    THEK

    We have some sort of permissions problem. I've added the following to default users

    Code:
        - multihome.home
        - multihome.listhomes.myself
        - multihome.namedhome
        - multihome.sethome
        - multihome.setnamedhome
    and I have the '*' permission. But default users can't set homes of any kind. They get 'You don't have permission to do that'. But I can set any homes. Have I missed something?
     
  31. Offline

    ZacGod

    I am not having any trouble using this plugin except for a few administrator commands. I have a suggestion though!

    Is it possible to have a distance limit when using /home?

    The reason I ask for this is because users on my PvP server are hiding near the border and I want them need to be within 1000 blocks to use their /home. Let me know what you think !
     

Share This Page