MultiHome

MultiHome is a plugin to allow your users to set multiple home locations, giving each location a unique name. Supports economy, warmup and cooldown, home-on-death.

This project was developed in response to other multiple-home plugins only using home numbers. By using home names, it makes it so much easier to keep track of what home goes to what location.

Features

  • Supports flat-file or MySQL storage of homes.
  • Supports multi-world.
  • Uses home names, rather than home numbers.
  • Multiple per-user home locations.
  • Can respawn player to their default home upon death.
  • Can list and delete home locations.
  • Optional warm-up, cool-down and max-homes settings for all Permissions groups. Global settings for undefined groups.
  • 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!
  • Supports Economy for pay-to-teleport servers.
  • Supports Permissions, PermissionsEx, GroupManager and SuperPerms.

Installation

Simply download the JAR file, copy to your Bukkit server's "plugins" directory and reload plugins/restart server.

When the plugin generates it's data files for the first time, it will import and convert your home locations if you use any of the home plugins listed above.

Configuration

Configuration is done by editing the "plugins/MultiHome/config.yml" file. This file is generated when the plugin is loaded for the first time.

You can edit this file to change any messages sent to users. Useful for translating the messages into another language.

Basic layout of config.yml:

MultiHome:
    enableHomeOnDeath: false # Set this to "true" to enable the home-on-death feature. Remember to give users the correct permission.
    enableEconomy: false # Enable/disable economy (pay-to-teleport)
    dataStoreMethod: file # Method used to store home locations. May be "file" or "sql".
    messages:
        # All messages sent to users reside here. Check the config file, it's all self explanitory.
    default: # These settings are used when your permissions system does not support groups, or the players group is not found below.
        warmup: 0 # Time (in seconds) for teleport warmup
        cooldown: 0 # Time (in seconds) for teleport cooldown
        maxhomes: -1 # Max number of homes for users, -1 for unlimited.
        disruptWarmup: true # Cancel any teleport warmup if the player moves
        setHomeCost: 0 # Cost to user to set their default home location
        setNamedHomeCost: 0 # Cost to user to set a named home location
        homeCost: 0 # Cost to user to teleport to their default home
        namedHomeCost: 0 # Cost to user to teleport to a named home
        othersHomeCost: 0 # Cost to user to teleport to another players home locations (invited or admin)
    groups: # This section stores per-group settings
        default: # "default" is the group name
            # This section is identical to the "default" section above.
    dataStoreSettings: # Stores settings for each data store method, "file" and "sql"
        file:
            filename: homes.txt # Name of file to store home locations in.
        sql:
            url: jdbc:mysql://localhost/MultiHome # Server URL to MySQL server where homes are to be stored.
            user: MultiHome # Username for logging on to MySQL server.
            pass: MultiHome # Password to use when logging on to MySQL server.

Translations

Translations are always appreciated. Any translations available will be posted under the "Pages" tab above.

Translations available:

  • English (default)
  • Russian (by alexpsico)

Commands

  • /home - Teleport to your default home location
  • /home <name> - Teleport to a named home location
  • /home <user>:<name> - Teleport to the home location of another user (need invite or correct permission)
  • /sethome - Set your default home location
  • /sethome <name> - Set a named home location
  • /sethome <user>:<name> - Set the home location of another user (need invite or correct permission)
  • /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

  • 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 - Player will ignore the cooldown timer.
  • multihome.ignore.warmup - Player will ignore the warmup timer.
  • multihome.homeondeath - Player will be taken to their default home when respawning.

Acknowledgements

  • Sleaker: This guy helped out so much on this project, providing support and code, I class him as a co-author. You rock!
  • HereInPlainSight: Submitting a pull request to add PermissionsBukkit support.
  • Maxis010: For providing basic support on the forum this thread.

Donate

Help keep the lights on.

Donate


Comments

Posts Quoted:
Reply
Clear All Quotes

About This Project

  • Project ID
    34149
  • Created
    Nov 26, 2011
  • Last Released File
    Jun 22, 2012
  • Total Downloads
    119,792
  • License

Categories

Members

Recent Files

Bukkit