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.
12:23:47 [WARNING] Could not properly handle event CHUNK_LOAD: java.lang.IllegalAccessError: Synchronized code got accessed from another thread : net.madmanmarkau.MultiHome.ChunkResendTask at org.bukkit.event.Listener.onChunkLoad(Listener:0) at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.bukkit.plugin.java.JavaPluginLoader$103.execute(JavaPluginLoader. java:1024) at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.jav a:57) at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.j ava:453) at net.minecraft.server.ChunkProviderServer.getChunkAt(ChunkProviderServ er.java:103) at org.bukkit.craftbukkit.CraftWorld.getChunkAt(CraftWorld.java:112) at org.bukkit.craftbukkit.CraftWorld.getChunkAt(CraftWorld.java:464) at net.madmanmarkau.MultiHome.ChunkResendTask.run(ChunkResendTask.java:1 5) at org.bukkit.craftbukkit.scheduler.CraftWorker.run(CraftWorker.java:34)
12:23:47 [INFO] This error is logged only once: it could have occurred multiple times by now. 12:23:47 [INFO] Please contact one of the authors of plugin 'MultiHome': MadManM arkAu, Sleaker
craftbukkit1846 multihome v0.11.2
permissions? I'm running server for just 2 ppl so I don't use permissions plugin .. we are both ops what can I do to bypas it? thank you
Is there any way to Interupt the recall?
I tried out about a frooglepoopillion Home Plugins, and yet this one still is the best.
I really hope you are not stopping the developement, or at least release the source if you do :)
@nedercraft
I know. It's just that I don't want this plugin to go inactive because it is the best multi home plugin iv'e seen. Maybe he/she could release the source code if it is going to be abandoned?
@Smiley43210
@user_91836
the plugin works great with 1.1
Don't abandon this!
Do you Use MySQL?
Redstoner-Pro
Supports Permissions, PermissionsEx, GroupManager and SuperPerms.
In his list of features
Abandoned?
does this plugin not work with bpermissions?? ive got it all setup how IT should be with groups and such yet noone on my server can make more than one home.. .this is starting to get very frustrating.
Hello MadManMarkAu,
Awesome job on the plugin!
I'm also playing on the same server as kittsfu and ClowneN1 and I'm asking for the possibility to move a set home to another place by setting a home with the same name again somewhere else.
And also some confirmation messages.
Example:
First time: /sethome iBullfisk
"Are you sure you want to set a home here?" (To confirm retype: /sethome iBullfisk)
Second time: /sethome iBullfisk
"Are you sure you want to move your home?" (To confirm retype: /sethome iBullfisk)
An option to the second time setting the same home (moving your home) would be an other command like:
/movehome iBullfisk
"Are you sure you want to move your home? (To confirm retype: /movehome iBullfisk)
Thank you for your time, work and this great plugin! / / iBullfisk
Hi MadManMarkAu,
I play on the same server as kittsfu and I'm asking for the same thing that he is and that is to have the possibility to move a home by naming it to a already created home.
Keep up the good work and thank you for a great plugin so far.
Kind Regards ClowneN1
In addition to the request from kittsfu, it would be nice if you could implement some kind of confirmation before you actually buy a namedhome.
/sethome whaaaat. "This will cost you xxx credits, are you sure? type /sethome whaaaat again to confirm"
Hello there MadManMarkAu!
First i wish to say: Great work creating this plugin! Totally rocks my socks. =)
Main reason of this post:
The following text describes my request of you (My english may not be perfect, but i know you'll somehow manage to understand me somewhat anyhow.):
This wonderful plugin is currently being used on a public server im playing on. The server player's are all ecstatic that they can create their own /home's for an price. As it adds something to reach for economily. But! And this is an important fault for us. Once a player creates his '/sethome ThisIsANameForAWarp' and the amount of money is credited. He/She can't change the place/position of the /home without paying anew. And this greatly irritates people who regret the placement or wish to put it just some few meters to the side without paying for a new home.
To say out of the blue one way, that might work to solve this(I know nothing of creating plugins, only configuring them.), is the following: If you could make it so that if a player first put's '/sethome name1' an amount of iconomy money is taken (and here it registers the players name with the chosen 'home name', and if that player puts '/sethome name1' once again(it finds the player connected to the chosen 'home name' already in a file), it recognizes that the Player has already bought the "name" and so, he/she won't have to pay for the 'change of placement' of the warp.
I'm truly hoping you will manage this problem so our Public Server could still stick with this one. And surely if this problem is solved, other (admins of other servers) will notice this plugin with rekindled intrest as it will Really be suited to use on large servers.
Well, that's all. Ill bookmark this page and visit again to check for reply or update. I wish you all the best. Thanks for reading, and thanks on advance if you decied to try fix what ive talked 'bout. =)
/ kitts #nt qnet irc