uHome
uHome - The Ultimate Multi-Home Plugin
Is teleporting to your homes making you suffocate? Having trouble getting in and out of minecarts? Update to v1.5.3 and set loadChunks: true in your uHome config.yml!
Introduction
uHome is a fork of the wonderful MyHome plugin by tkelly and spathizilla, modified to provide multiple homes to players that are simple to use and easy for server operators to control. Developed for use on my server, Ultimate Minecraft, some features have been removed that were previously available in MyHome, namely publicizing of homes and economy support, which were removed as they were not needed on the server. Currently, economy support is implemented in v1.5a and above, and will be available in release versions shortly.
Version Support
uHome 1.5.3 is known to be compatible with all releases of CraftBukkit 1.4.7.
Feature Summary
- Creation of multiple private homes (warps) for each player.
- Bukkit SuperPerms support, including permissions variables.
- Works out of the box without config changes and no permissions plugin necessary
- Home creation limit, with support for different levels through permissions nodes.
- Command cool-downs and warm-ups, also variable according to permissions nodes.
- MySQL and SQLite support.
- Simple default home support - players can use /sethome and /home, without parameters, to warp to a default named home.
- Importing of homes from MyHome.
- Inviting of players to homes.
- Locale Support - customise uHome to talk your language, or fit your server's theme.
- Multi-world support, you decide if players can move between worlds with their homes.
- Auto completion of home names when warping.
- All commands work with online and offline players, case insensitively.
- Use Minecraft's vanilla command blocks with uHome to make teleporters in your world!
Installation & Setup
Simply download and place the uHome.jar into your plugins folder in your Bukkit directory. A configuration file is generated when running the plugin for the first time, which contains many options to adjust the behaviour of the plugin to your needs. Hopefully, the defaults provided should prove a good basis for most users. Easy permissions setup is possible by giving your players 'uhome.own' and your admins 'uhome.admin'. A 'uhome.all' node is provided that will also give the group/player no limits in addition to the player and admin command rights. If you're not a user of permissions, uHome allows all players to do basic actions by default, while giving ops full access.
For information on setting up permissions based (per group) limits, see the section entitled "Other Permissions" below.
For more configuration information, check out the Configuration page.
Need Help?
If you have any queries, you can use the comments section below and I should reply fairly quickly, as I check this page almost daily. If you'd like live support, you can ask me in IRC, either in #bukkit or #uhome under the username 'ks'. If you come across bugs, or have a feature request, create a ticket using the "Tickets" tab at the top of the page.
Live Support: irc.esper.net #uhome (May not be online, sorry!)
Commands & Permissions
Basic Commands: /home - (uhome.own.warp) - Takes you to your "home" home. /home set - (uhome.own.set) - Sets your "home" home to your current position. /home delete - (uhome.own.delete) - Deletes your home "home". /home help - Display help Multihome Commands: /home <name> - (uhome.own.warp) - Takes you to your home with the name <name>. /home list - (uhome.own.list) - Displays the homes you own. /home set <name> - (uhome.own.set) - Sets a home called <name> to your current position. /home delete <name> - (uhome.own.delete) - Deletes your home named <name>. /home limit - (uhome.own.set) - Displays the number of homes you can set. /home warp <name> - (uhome.own.warp) - Takes you to your home with the name <name>, avoiding conflicts with other commands. Invite Commands: /home invite <player> <name> - (uhome.own.invite) - Allows <player> to warp to your home called <name>. /home uninvite <player> <name> - (uhome.own.uninvite) - Removes <player> from <name>'s invited players list. /home invites [page] - (uhome.own.listinvites) - Displays the homes that you have been invited to. /home requests [page] - (uhome.own.listinvites) - Displays the players that you have invited to your homes. /home lock <name> - (uhome.own.unlock) - Locks a home, so that only those invited can warp to it. (Default behaviour.) /home unlock <name> - (uhome.own.unlock) - Unlocks a home, so that anybody who knows the name of the home may warp to it. Admin Commands: /home <player> - (uhome.admin.warp) - Warps to a player's default home (provided you have no homes with similar names). /home list <player> - (uhome.admin.list) - Lists a player's homes. /home delete <player> <name> - (uhome.admin.delete) - Delete's a player's home. /home reload - (uhome.admin.reload) - Reload uHome's configuration - Do not use this for swapping to MySQL /home <player> <name> - (uhome.admin.warp) - Takes you to the home of <player> called <name>. /home set <player> <name> - (uhome.admin.set) - Sets another player's home to your location. /home limit <player> - (uhome.admin.list) - Displays the maximum number of homes <player> can set. /home invites <player> - (uhome.admin.listinvites) - Displays the invites <player> has received. /home requests <player> - (uhome.admin.listinvites) - Displays the invites <player> has sent. /home info <player> <name> - (uhome.admin.info) - Displays information on the given home, including it's co-ordinates. /home debug - **(Console Only)** - Toggles debug logging to investigate permissions errors. Can create a lot of messages. /home <player> <owner> <name> (uhome.admin.send and uhome.admin.warp) - Sends the given player to another player's home. Can be used from the console, and from command blocks!
Other Permissions
Variable Permissions: (uhome.limit.[a-e]) - Gives the player the home limit reflected by the config. E.g. if limitB=10, and the player has the permission "uhome.limit.b", the player can make up to 10 homes. (uhome.cooldown.[a-e]) - Gives the player the cooldown time reflected by the config, as above. (uhome.warmup.[a-e]) - Gives the player the warmup time reflected by the config, as above. Bypassing Timers/Limits Permisions: (uhome.bypass) - Bypass all limits (cooldowns, warmups, bed usage and home limit) (uhome.bypass.cooldown) - Permission to bypass /home cooldowns (uhome.bypass.warmup) - Permission to bypass /home warmup (uhome.bypass.warmup.damage) - Permission to ignore damage when warming-up (uhome.bypass.warmup.movement) - Permission to ignore movement when warming-up (uhome.bypass.bed) - Permission to use /sethome when bed usage is forced. (uhome.crossworld) - Allows a player to move between worlds with homes. Admin Permissions: (uhome.all) - Has access to all commands in uHome (uhome.admin.reload) - Is able to reload uHome config.
Limits Explained
Limits and variable permissions are powerful and actually very simple to use. However, they may seem confusing at first, so for information on how to use them visit the Configuration page.
Importing From Other Plugins
uHome v1.5a and above support importing homes from both CommandBook and MyHome. For information on how to do this, please read the page Importing From Other Plugins. Would you like to see import support from other home plugins? Create a ticket!
Current Usage Stats
Stats provided from v1.5 and above only!
Credits
A huge thankyou to the original authors - tkelly and spathizilla, for their work on the base plugin. :)
Thanks to CubeNation for adding economy implementation via Vault.
Thanks to linkinkov & Schmarotzer for the Russian translation.
Another thanks to those users who consistently send good feedback, bug reports and feature requests. You know who you are!
Source code available on GitHub, feel free to fork, butcher and re-release to your liking. https:github.com/ks07/uHome
Want to see it in action? Visit Ultimate Minecraft
@ks07
The latter, but I have it set up so they have to use beds in survival, and get the override in creative. So, it works in that they can only set a default home in survival - but it can still be overridden (rather easily) in creative and then they end up with no survival home.
On another note, would it be possible to have a warmup 'interrupt' (if a player moves or is damaged) reset or not trigger the cooldown? I don't want players to be able to run away from danger during the warmup, but currently if they even nudge their mouse accidentally they end up with an extensive cooldown.
Removing the pitch/yaw detection from the movement check would be nice too. Only physical movement should really matter on the X/Y/Z.
@MigtyFlyRudy
Only idea i have is to negate permissions.
If your OP has this permission '*' (Thats a permission in PEX 1.18)
I would negate this permission "- -uhome.bypass" and give him the "uhome.limit.a" permission and then set the limit in the config file.
Should work. Enjoy!
Is there a way to make it so that ops obey the cooldown/warmup?
@deleted_7554077
Good to hear - let me know if anything breaks after the update.
Tested uHome on CB 1964 latest R5 and it works like a charm. Or at least loads OK
uHome will remain supported on Bukkit up until the official move over to the Mojang server API. When this happens, I'll be glad to port uHome to either Mojang's system or Spout's server - which ever turns out to be the "worthy contender". Of course, uHome is open source, so if people would like to port it to other systems, be my guest. :)
@Silarn
Hey Silarn,
Do you mean permissions for specific names (as in uhome.own.set.<warpname>) or as in (uhome.own.set.named)? If you mean the latter, you can (almost) do that using home limits in a multiworld setup rather than globally. Give your players uhome.limit.e in survival (presuming that e is set to 1), and give them the other permissions in the creative world. They would still be able to name their home in the survival world, but they would only be able to set 1 anyway.
Would it be possible to change permissions so that named home locations require their own special permission to set? I need to transition from Acru's old MultiHome plugin, since it will no longer work. I have my server set up with creative and survival world sets. My players use named homes in creative and a single default home in survival.
Maybe you could 'toggle' these extra named home permissions in the config file?
Thanks.
@Puremin0rez
Should be done already - moved over to the new system in 1.4. :)
Please make sure your plugin is read for R5 - Thank you! :)
@MariuszT
Ah I missed that - changed it in the config/help pages but not there. Will be fixed next version.
@ks07
Oooh so it should be locale: file. I was trying everything. Custom, customlocale, customlocale.propeties :(
You have to update comment in customlocale.propeties:
To make uHome use this file, set the locale in config.yml to 'custom'!
@MariuszT Hey MariuszT
To load the locale from the customlocale.properties, you need to set locale: file in your config.yml.
locale.name and locale.author inside the file are only displayed when the plugin is loading, to give credit to the author.
I've got this error in logs:
2012-02-16 22:08:12 [WARNING] [uHome] Failed to find locale custom. Falling back to using English (en).
I've got file customlocale.properties with configuration:
locale.name=Custom
locale.author=Custom
and config.yml with:
locale: custom
@erdrickk
The import option will be coming in 1.5. The code for it is already there, but it's not ready for a release just yet.
@11RJB
Oh dear - sure you haven't accidentally changed access rights for your mysql user(s) recently? Good luck getting it fixed.
@ks07
Thanks @ks07 . Unfortunately I don't think this is going to work for me, but the good news is that I don't think it's your plugin! For some reason no new plugins can create tables in MySQL automatically anymore, so this has to be a problem with my SQL server. I'm going to have to go at this from a different angle...
Awesome job so far on this great plugin. Is there the option yet to import homes from Commandbook's .csv file to uHome's MySQL database?
@11RJB
uHome should convert your MyHome mysql database if you set it to mysql and it finds the database table (named 'homeTable') in the old MyHome format.
It's been a long time since I've looked at any of the import code, but I hope that it works!
Note that if the tables 'uhomeTable' and 'uhomeInvites' exist, uHome will not look for your old MyHome database. This is to stop you from losing homes (as importing them would overwrite any new ones). If you delete these two tables, provided you're sure you don't need any warps saved in them, and the MyHome table exists in the same location with the name 'homeTable', when you start up with mysql enabled in the config, it should convert automatically.
Your mysql table will not be backed up, and will be made unreadable by MyHome. Please make a backup before trying the import!
@ks07
Thanks for the advice, however I was using MySQL with MyHome, and I don't see any way to convert it all back to a .db file. I don't suppose uHome can import from MySQL, too, can it?