Set Homes
SetHomes
A simple homes plugin with the ability to create, delete, and teleport to many different homes. Have the ability to control a blacklist of worlds in which players will be restricted from setting homes. Using the config you can control setting such as a maximum number of homes, teleport cooldown, teleport delay, and their respective messages that get displayed to the user.
Installation
Simply place the downloaded jar into your server plugins folder.
NOTE! For "MAX HOMES" to work you must meet one of the soft dependencies below, and setup groups for the respective permissions plugin. You will then also need to setup max-homes in the config.yml. An example max-homes setup can be found below the default config
Soft Dependencies
- LuckPerms permission plugin, or Vault plugin, as well as, a permissions plugin supported by Vault
Commands
- /sethome [HomeName] [HomeDescription] - This command will allow the issuer to set a home with a given name and description of their choosing at your standing location. If no name and description are given then you will set a default home at your standing location.
- /home [HomeName] - This command will teleport the user to the given "HomeName". If no home name is given then the user is teleported to their default home that was set by /sethome
- /home-of [PlayerName] [HomeName] - This command will allow players with the "homes.home-of" permission to teleport to any players set home. If no home name is provided it will assume the default home as the desired destination.
- /delhome [HomeName] - This command will delete the home at the given home name. If no home name is given then it will attempt to remove the default home.
- /delhome-of [PlayerName] [HomeName] - This command will allow players with the "homes.delhome-of" permission to delete any players set home. If no home name is given it will assume the default home as the home desired for deletion.
- /uhome <HomeName> <HomeDescription> - This command will allow players with the "homes.uhome" permission to update any of there already set homes. If no description is given, and there was one previously set before it will reuse the old one.
- /uhome-of <PlayerName> <HomeName> - This command will allow players with the "homes.uhome-of" permission to update a home for any player. If no home name is supplied then it will update the supplied players default home.
- /homes [PlayerName] - This command will list all of the players currently set homes if there are any. Players with the "home.gethomes" permission can use the extra PlayerName parameter to list the homes of a specific player.
- /blacklist [Add/Remove] [WorldName] - This command is used to both add and remove worlds to/from the blacklist. If passed no other arguments it will list all worlds currently blacklisted.
- /setmax <GroupName> <Amount> - This command will allow players with the "homes.setmax" permission to set a maximum number of allowed homes for a specific permission group. For example if you wanted to only allow the default permission group 4 homes you execute the command, "/setmax default 4".
- /strike - Have fun admins.
Permissions
- homes.* - A player given this permission will be allowed all commands under the Set Homes plugin
- homes.home - A player with this permission is allowed to teleport to named homes
- homes.sethome - A player with this permission is allowed to set named homes
- homes.strike - Give the power to others!
- homes.blacklist_list - A player given this permission will be able to list worlds in the blacklist
- homes.blacklist_add - A player given this permission will be able to add worlds to the blacklist
- homes.blacklist_remove - A player given this permission will be able to remove worlds from the blacklist
- homes.config_bypass - A player given this permission can set homes in blacklisted worlds, and doesn't have to wait for cooldown or teleport delays. They will also be able to exceed the max home limit.
- homes.gethomes - Give the ability to list any players active homes
- homes.home-of - Give the ability to teleport to one of any players active homes
- homes.delhome-of - Give the ability to delete one of any players active homes
- homes.uhome - Give the ability to update homes
- homes.uhome-of - Give the ability to update other players homes
- homes.setmax - Give the ability to set a maximum number of homes for a permission group
Default Config
# -------------------------- # SetHomes Config # -------------------------- # Messages: # You can use chat colors in messages with this symbol §. # I.E: §b will change any text after it to an aqua blue color. # Color codes may be found here https://www.digminecraft.com/lists/color_list_pc.php # Time: # Any time value is based in seconds. # Things to Note: # Set any integer option to 0 for it to be ignored. # The max-homes does not include the default un-named home. # Use %s as the seconds variable in the cooldown message. max-homes: default: 0 max-homes-msg: §4You have reached the maximum amount of saved homes! tp-delay: 3 tp-cooldown: 0 tp-cancelOnMove: false tp-cancelOnMove-msg: §4Movement detected! Teleporting has been cancelled! tp-cooldown-msg: §4You must wait another %s second(s) before teleporting!
Example Max-Homes setup
max-homes: default: 1 free: 3 subscriber: 5 admin: 0
F.A.Q
- Q: How can I give players permission to set named homes?
A: You will need to install a permissions plugin, either LuckPerms, or Vault & a Vault supported permissions plugin then apply the permission "homes.sethome" to the (player or group) you would like to allow the usage of multiple homes for.
Change Log
- Added support for Minecraft/Craftbukkit V1.16.3.
- Added support for LuckPerms permission plugin
- Made LuckPerms default permission plugin, and set Vault as a rollback before disabling all together
- Changed colors, and layout of list homes message to be more readable
- Fixed error, where SetHomes could not load without Vault
- Removed auto-updater functionality because it was not working properly
- Added server log messages for permissions plugin hooking, and no perms plugin found
Donations
I work on this plugin with the little amount of free time that I have. Please feel free to donate any amount you desire by using the link just below the download button to show your support, and help me stay motivated to keep this project going. Thank You!
In reply to aufziehendersturm:
Hi,
Install a permissions plugin and then give the player/group you want to have the ability to set multiple homes the "homes.sethome" permission. For example using the plugin "PermissionsEX" you can issue the command /pex user <PlayerName> add homes.sethome to give the player that you put in place of the "<PlayerName>" the permission to set multiple homes. As for setting the max homes. In your plugins folder find the "SetHomes" folder and open it. Then open the file called "config.yml" and set "max-homes: 3".
Best Regards,
Xquiset
estou abrindo um servidor e não estou conseguindo chegar a lista de homes dos jogadores e nem ver as minhas
I created a 1.14.4 bukkit server and installed this plugin but the multiple homes portion of it doesn't seem to be working correctly. /sethome works fine but as soon as I try to do /sethome mine or any other name for a home I get the message "an internal error has occurred while attempting to perform this command." Is there something I'm doing wrong or is it a bug? I noticed someone else posted this issue on sept 5th. I can include the server logs I'm just not sure the best way to do that.
Thanks.
In reply to bossmonster98:
Hi there,
I would be happy to help you. I am going to need to see those server logs though. The best way to do that is either paste the code here and put it in a code block or use a site like pastebin, so that I can view it in an easy to read format.
Best Regards,
Xquiset
In reply to Xquiset:
Sorry for such a long post but you can see when I type /sethome it works fine but when I type /sethome home2 the error codes start popping up.
[22:06:57] [Server thread/INFO]: Starting minecraft server version 1.14.4
[22:06:57] [Server thread/INFO]: Loading properties
[22:06:57] [Server thread/INFO]: Default game type: SURVIVAL
[22:06:57] [Server thread/INFO]: Generating keypair
[22:06:57] [Server thread/INFO]: Starting Minecraft server on 192.168.1.13:25565
[22:06:57] [Server thread/INFO]: Using default channel type
[22:06:58] [Server thread/INFO]: This server is running CraftBukkit version git-Bukkit-a3fdef8 (MC: 1.14.4) (Implementing API version 1.14.4-R0.1-SNAPSHOT)
[22:07:00] [Server thread/WARN]: Plugin SetHomes v1.2.1 does not specify an api-version.
[22:07:00] [Server thread/WARN]: Plugin Sleepy v1.3b does not specify an api-version.
[22:07:00] [Server thread/INFO]: [SetHomes] Loading SetHomes v1.2.1
[22:07:00] [Server thread/INFO]: [Sleepy] Loading Sleepy v1.3b
[22:07:00] [Server thread/INFO]: Preparing level "world"
[22:07:00] [Server thread/INFO]: Reloading ResourceManager: Default, bukkit
[22:07:01] [Server thread/INFO]: Loaded 6 recipes
[22:07:01] [Server thread/INFO]: Preparing start region for dimension 'world'/minecraft:overworld
[22:07:02] [Server thread/INFO]: Preparing spawn area: 0%
[22:07:02] [Server thread/INFO]: Preparing spawn area: 0%
[22:07:04] [Server-Worker-1/INFO]: Preparing spawn area: 0%
[22:07:04] [Server-Worker-3/INFO]: Preparing spawn area: 0%
[22:07:04] [Server-Worker-3/INFO]: Preparing spawn area: 0%
[22:07:04] [Server-Worker-3/INFO]: Preparing spawn area: 0%
[22:07:04] [Server thread/INFO]: Time elapsed: 3055 ms
[22:07:04] [Server thread/INFO]: Preparing start region for dimension 'world_nether'/minecraft:the_nether
[22:07:05] [Server thread/INFO]: Preparing spawn area: 0%
[22:07:05] [Server-Worker-2/INFO]: Preparing spawn area: 13%
[22:07:05] [Server thread/INFO]: Preparing spawn area: 13%
[22:07:06] [Server-Worker-3/INFO]: Preparing spawn area: 84%
[22:07:06] [Server-Worker-1/INFO]: Preparing spawn area: 85%
[22:07:06] [Server thread/INFO]: Time elapsed: 2311 ms
[22:07:06] [Server thread/INFO]: Preparing start region for dimension 'world_the_end'/minecraft:the_end
[22:07:07] [Server thread/INFO]: Preparing spawn area: 0%
[22:07:07] [Server-Worker-1/INFO]: Preparing spawn area: 85%
[22:07:07] [Server thread/INFO]: Time elapsed: 616 ms
[22:07:07] [Server thread/INFO]: [SetHomes] Enabling SetHomes v1.2.1
[22:07:07] [Server thread/INFO]: [Sleepy] Enabling Sleepy v1.3b
[22:07:07] [Server thread/INFO]: Server permissions file permissions.yml is empty, ignoring it
[22:07:07] [Server thread/INFO]: Done (6.975s)! For help, type "help"
[22:07:19] [User Authenticator #1/INFO]: UUID of player BossMonster44 is 25db0be0-2cb3-4c81-b432-3533d9fe83bc
[22:07:20] [Server thread/INFO]: BossMonster44[/192.168.1.13:62136] logged in with entity id 167 at ([world]-3192.1652422777743, 85.0, 601.695875834119)
[22:07:26] [Server thread/INFO]: BossMonster44 issued server command: /home
[22:07:30] [Server thread/INFO]: BossMonster44 issued server command: /home
[22:07:36] [Server thread/INFO]: BossMonster44 issued server command: /sethome
[22:07:45] [Server thread/INFO]: BossMonster44 issued server command: /sethome home2
[22:07:45] [Server thread/ERROR]: null
org.bukkit.command.CommandException: Unhandled exception executing command 'sethome' in plugin SetHomes v1.2.1
at org.bukkit.command.PluginCommand.execute(PluginCommand.java:47) ~[bukkit.jar:git-Bukkit-a3fdef8]
at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:148) ~[bukkit.jar:git-Bukkit-a3fdef8]
at org.bukkit.craftbukkit.v1_14_R1.CraftServer.dispatchCommand(CraftServer.java:689) ~[bukkit.jar:git-Bukkit-a3fdef8]
at net.minecraft.server.v1_14_R1.PlayerConnection.handleCommand(PlayerConnection.java:1590) ~[bukkit.jar:git-Bukkit-a3fdef8]
at net.minecraft.server.v1_14_R1.PlayerConnection.a(PlayerConnection.java:1444) ~[bukkit.jar:git-Bukkit-a3fdef8]
at net.minecraft.server.v1_14_R1.PacketPlayInChat.a(SourceFile:37) ~[bukkit.jar:git-Bukkit-a3fdef8]
at net.minecraft.server.v1_14_R1.PacketPlayInChat.a(SourceFile:9) ~[bukkit.jar:git-Bukkit-a3fdef8]
at net.minecraft.server.v1_14_R1.PlayerConnectionUtils.lambda$0(PlayerConnectionUtils.java:19) ~[bukkit.jar:git-Bukkit-a3fdef8]
at net.minecraft.server.v1_14_R1.TickTask.run(SourceFile:18) [bukkit.jar:git-Bukkit-a3fdef8]
at net.minecraft.server.v1_14_R1.IAsyncTaskHandler.executeTask(SourceFile:144) [bukkit.jar:git-Bukkit-a3fdef8]
at net.minecraft.server.v1_14_R1.IAsyncTaskHandlerReentrant.executeTask(SourceFile:23) [bukkit.jar:git-Bukkit-a3fdef8]
at net.minecraft.server.v1_14_R1.IAsyncTaskHandler.executeNext(SourceFile:118) [bukkit.jar:git-Bukkit-a3fdef8]
at net.minecraft.server.v1_14_R1.MinecraftServer.aX(MinecraftServer.java:867) [bukkit.jar:git-Bukkit-a3fdef8]
at net.minecraft.server.v1_14_R1.MinecraftServer.executeNext(MinecraftServer.java:860) [bukkit.jar:git-Bukkit-a3fdef8]
at net.minecraft.server.v1_14_R1.IAsyncTaskHandler.awaitTasks(SourceFile:127) [bukkit.jar:git-Bukkit-a3fdef8]
at net.minecraft.server.v1_14_R1.MinecraftServer.sleepForTick(MinecraftServer.java:844) [bukkit.jar:git-Bukkit-a3fdef8]
at net.minecraft.server.v1_14_R1.MinecraftServer.run(MinecraftServer.java:784) [bukkit.jar:git-Bukkit-a3fdef8]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_211]
Caused by: java.lang.NullPointerException
at com.samleighton.xquiset.sethomes.SetHomes.getPlayersNamedHomes(SetHomes.java:135) ~[?:?]
at com.samleighton.xquiset.sethomes.commands.SetHome.onCommand(SetHome.java:57) ~[?:?]
at org.bukkit.command.PluginCommand.execute(PluginCommand.java:45) ~[bukkit.jar:git-Bukkit-a3fdef8]
... 17 more
[22:07:55] [Server thread/INFO]: BossMonster44 issued server command: /home2
[22:07:58] [Server thread/INFO]: BossMonster44 issued server command: /homes
[22:08:01] [Server thread/INFO]: BossMonster44 lost connection: Disconnected
[22:08:01] [Server thread/INFO]: BossMonster44 left the game
[22:08:11] [Server thread/INFO]: Stopping the server
[22:08:11] [Server thread/INFO]: Stopping server
[22:08:11] [Server thread/INFO]: [Sleepy] Disabling Sleepy v1.3b
[22:08:11] [Server thread/INFO]: [SetHomes] Disabling SetHomes v1.2.1
[22:08:11] [Server thread/INFO]: Saving players
[22:08:11] [Server thread/INFO]: Saving worlds
[22:08:11] [Server thread/INFO]: Saving chunks for level 'world'/minecraft:overworld
[22:08:12] [Server thread/INFO]: ThreadedAnvilChunkStorage (world): All chunks are saved
[22:08:12] [Server thread/INFO]: Saving chunks for level 'world_nether'/minecraft:the_nether
[22:08:12] [Server thread/INFO]: ThreadedAnvilChunkStorage (DIM-1): All chunks are saved
[22:08:12] [Server thread/INFO]: Saving chunks for level 'world_the_end'/minecraft:the_end
[22:08:12] [Server thread/INFO]: ThreadedAnvilChunkStorage (DIM1): All chunks are saved
[22:08:12] [Server thread/INFO]: ThreadedAnvilChunkStorage (world): All chunks are saved
[22:08:12] [Server thread/INFO]: ThreadedAnvilChunkStorage (DIM-1): All chunks are saved
[22:08:12] [Server thread/INFO]: ThreadedAnvilChunkStorage (DIM1): All chunks are saved
In reply to bossmonster98:
Hello,
I just uploaded a fix for this error. The newest version of the plugin (V1.2.2) should fix this error. The file should be available for download here soon.
Best Regards,
Xquiset
How do you make it so that regular players (not server operators) will be able to set named homes? Thanks.
In reply to xenon767:
Hi,
Yes quite easily actually. Just install a permissions plugin and then give the player/group you want to have the ability to set multiple homes the "homes.sethome" permission. For example using the plugin "PermissionsEX" you can issue the command /pex user <PlayerName> add homes.sethome to give the player that you put in place of the "<PlayerName>" the permission to set multiple homes.
Best Regards,
Xquiset
In reply to Xquiset:
Thanks. That helped a lot.
In reply to xenon767:
Glad I could help.
Best Regards,
Xquiset
Is there a way to make it so you have to be completely stationary for 3 seconds to use the teleport?
In reply to Immortal_Beast16:
Hello,
No not at this time there is nothing like that implemented. It can totally be added but it may take some time as I am working by myself on this.
Best Regards,
Xquiset
In reply to Immortal_Beast16:
Hey there,
This functionality has just been added to version 1.2 of SetHomes. You can control the delay time and if you want the player to be stationary or not.
Best Regards,
Xquiset
I know under files it doesn't list that its made for any version below 1.13 but would it work for 1.7.10?, thanks in advance
In reply to CSilverr:
Hello,
Honestly, I dont know. I have never tested it on anything below 1.13. You're welcome to do so for us, and let us know on here what the outcome was.
Best of Luck,
Xquiset
How would I allow non-OP members to use this command?
In reply to rikko21:
Hello,
You can accomplish this with permissions. If you don't have a permissions plugin installed I would recommend PermissionsEX as that's what I use for testing my plugin.
Best of Luck,
Xquiset
In reply to rikko21:
how do i give permissions to non op players because homes.sethome is not working or i dont know how to use it properly
Hi,
An issue occurred when I tried to set up multiple homes; " an internal error occurred while attempting to perform this command." I an the server creator and admin. What do I do?
Thank you for your time,
Sincerely yours,
Lapoon
In reply to Lapoon:
There is not much I can tell you with the information provided. You would need to provide an excerpt of your server logs at the time this error occurred.
Best of Luck,
Xquiset