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.
@p000ison
Hey I found out the problem. I had CommandBook's "Home" feature enabled. If you disable it, there's no more error!
@p000ison
I do have Vault installed, which is weird.
Thanks alot XD
now it works again perhaps it's a good idea to tell it on the first line of this plugin or something like that XD
@Buff1e
@bukOhTwo
You need to install vault
Hm the messages for the default home dont get displayed...
I have gotten this error recently. I have tried removing all plugins that I have recently installed, but I am still experiencing problems. It appears that the plugin still accomplishes its task as intended, but I'm sure something is wrong if an error is appearing.
<<code 2012-07-25 02:31:57 [SEVERE] Error occurred while enabling MultiHome v0.15 (Is it up to date?) java.lang.NullPointerException at net.madmanmarkau.MultiHome.MultiHome.setupCommands(MultiHome.java:97) at net.madmanmarkau.MultiHome.MultiHome.onEnable(MultiHome.java:69) at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:217) at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:337) at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:381) at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:257) at org.bukkit.craftbukkit.CraftServer.enablePlugins(CraftServer.java:239) at net.minecraft.server.MinecraftServer.t(MinecraftServer.java:383) at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:370) at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:199) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:434) at net.minecraft.server.ThreadServerApplication.run(SourceFile:492)>>
<</code>>
@Buff1e
I get a similar error but I have vault. What error do you get?
As I asked a long time ago I still get the error that the plugin is not up to date and it's not working
Could it have to do with vault cause i don't have it and one of the error lines is: java.lang.noclassdeffounderror: net/milkbowl/vault/permission/permission
How do i set somebody elses default home? Or how do i teleport to someone elses default home? O.o
people in my server are getting ported into the floors or slammed into the ceilings of their homes and are taking dmg. any ideas?
@omgwtfballs
I still think the staying in one place better, because i like to /home instantly, even if the time is nothing
@Maddis1337
i understand that would eat up a lot of ram is i was saying to my other admins and server owner but if i did something like a warmup would that help? so it loads the chunks before the player gets teleported to the home?
@omgwtfballs
Same here! But keeping it loaded the whole time is a stupid idea, the RAM will be filled with data junk and chunkload based thinks like redstone or the growth of wheat would be manipulateble (set a home next to your farm and it will always grow, even if your mining in a whole other area).
Dear developer: Please let the server load the chunk before the player gets teleported!
@omgwtfballs
Yah i would like this, or have it for a second when they go to there home they do not fall, and just stay in one place so that the chunk could load, then it would release you and let you move...
i love this plugin but im guessing my chunks aren't loading quickly enough when my users /home because they always fall through the world, would it be possible to keep all sethomes for online users to be preloaded?
@JorenCombs
u dont need this to do that, use the basics warps from essentials /createwarp (or setwarp dont remember for sure) and use whatever name u want and when ur users type /warp XXXXX with X being the name of any warp they wanna use they will be teleport to there. Just be sure u give them the permisions node to use warps, check the essentials permissions nodes and go for it.
Would it be possible to add a feature to define a set of homes for all players, that they cannot alter? e.g. /home spawn, /home servershop, /home rules... or is there already a way to do this?
Thanks :)
JorenWell, there was supposed to be a new version released tonight, nearing version 1.0, but due to a bugged-out update from Eclipse, my entire development environment is dead. It's too late to reinstall it all tonight, so I'll do this tomorrow and see if I can get an update out.
@spunkiie
You should submit a ticket of the error like the author requested.
Also: we're having this error while trying to enable mysql support:
http://pastebin.com/tzTw5RBL
It seems MultiHome isn't creating tables at server start as normally done by plugins using mysql.
How do we import from flat-file to the mysql database ?