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
<<reply 747735="">>
Yes, use: uhome.bypass.economy
Is there a permissions node to bypass economy cost? I want some players to be able to /home for free.
<<reply 727552="">>
Hey Andy_Fox,
Could you please enable the debug setting in your uHome config, restart, and then try testing your limits? This will print permissions information returned by PEX, which will identify what permissions nodes are incorrectly being given, if any.
For some reason, my users can set any number of homes with no limit. I have distributed the limit permissions appropriately, but everyone can set as many homes as they want. Here's my YML. Any idea why this might be? I am using PEX.
<mod edit,="" pyraetos="">
@ks07
Plugin work normal - only this message on logs .
With the newest build I was suffocating in walls a lot. I set load chunks to true and it's seems to have stopped that from happening. Will edit if I continue to randomly suffocate.
<<reply 704998="">>
Hmm, that certainly shouldn't be happening. Let me see if I can reproduce.
Edit: In fact, the "default" level should never be added, as it's in a section of it's own now. Have you tried deleting your config file and recreating it?
@ks07
Can't get it to work - whenever I add my own it just adds these on top of it:
uHome v1.5b_1
It would be amazing if you could add support for Dynmap, so that homes are shown on a Dynmap map.
There is an API. https://github.com/webbukkit/dynmap/wiki
(Example working with CommandBook homes - http://dev.bukkit.org/server-mods/dynmap-commandbook/ )
<<reply 701555="">>
Hmm, odd. Have you used the plugin before succesfully? Does it still work? If so, then this is probably just the plugin seeing that the freebsd library has changed (i.e. has gone) and trying to update.
I can't say for certain what the lib caters for, as it's not my code, nor am I a FreeBSD user, but if it works then there is your answer. :p Chances are it will come back up soon. Otherwise, MyHome has changed/removed the support, in which case I may have to follow suit.
This is critical or not ?
2012-05-11 23:57:20 [INFO] [uHome] Connected to iConomy 6 for economy support. 2012-05-11 23:57:20 [INFO] Need to download 1 object(s) 2012-05-11 23:57:20 [INFO] - Downloading file : http://www.playminecraft.net/MyHome/lib/freebsd-amd64.lib 2012-05-11 23:57:20 [WARNING] [uHome] Failed to update libs.
<<reply 698349="">>
Ah my mistake, it would appear I haven't updated that part of the page!
As KJanar says, you have full control over the number of limits there are. In the limits section of the new v1.5 config file, you can add any number of key: value pairs. The key will become the permission node, in the form "uhome.limit.key", and it's limit will be the value given in the config file. The order of these nodes in the config is important - the higher the node is in the file, the higher importance it is given.
For example:
(Config file:)
homeLimits:
a: 50
b: 39
c: 16
foobar: 5
This would create the permission nodes "uhome.limit.a", "uhome.limit.b", "uhome.limit.c", and "uhome.limit.foobar". These nodes would give users a limit of 50, 39, 16, and 5 homes respectively. If a user has been given the nodes "uhome.limit.b" AND "uhome.limit.foobar", the plugin will ignore "uhome.limit.foobar" and instead only use "uhome.limit.b", as it comes higher in the list.
Hope that clears things up. :)
(And yes, you can use any string for these permission nodes. These nodes should not contain any periods (.) or other special characters that are reserved in YAML. The safest way to avoid issues with names is to only use the letters a-z. Nodes -should- be case-sensitive, but this may depend on your permissions plugin.)
@chaseoes But it's actually dynamic SUPRISE!!! :D
You can probably have unlimited limits. A-Z, Z-A, AZ-AZ, ZA-ZA and so on :D
@ks07
From what I'm seeing that page says it only supports uhome.limit.[a-e].
<<reply 697472="">>
Haha glad you got it working. Enjoy.
I mean "broke" :) BTW- i removed function HOME of commandbook. Yep, that helped) thank you
<<reply 695472="">>
Present in v1.5b_1, you should upgrade if you haven't done so already. Information on using the permission nodes is available by visiting the 1.5.x configuration page linked via the "Pages" tab at the top of this page.
I still need "uhome.limit.a-z" support. :/
<<reply 693666="">>
Good to hear you like it noahdutch. The easiest permissions setup you can use is to give your users "uhome.own" and your admins "uhome.admin" (no ".*" is needed at the end of these, as doing this will not work in most permissions plugins).
Note this is all explained in the installation section above. ;)
@noahdutch Give them "- uhome.own.*" if you are using PEX you can use the .* at the end