Set Homes
PLEASE READ!!!
This plugin will no longer be updated. We have released a new an improved version called, Set Homes Two. All future updates will be applied there, however this plugin will not be removed from the projects page so feel free to use it in it's current state as it is stable.
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
Only choose one option below
- LuckPerms permission plugin
- 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
- Set Homes Two released: https://dev.bukkit.org/projects/set-homes-two
- 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
*Bug Report*
Symptom: Countdown stuck at 3 and/or players are stuck after teleport.
Cause: This happens if a player runs the home command again while the delay is still counting down.
MC-version: pappermc-1.14.4-209
Mod-version: v1.2.3
Log data: Nothing is logged to the console outside of the normal.
Temp fix: Set the delay to zero so this bug can't happen.
A simple hotfix would be to prevent another teleport from getting initiated while one is currently on delay.
Edit:
after looking at your script I would say line:122 of GoHome.java "taskId" is your issue, I'm guessing when they trigger the command again the previous saved "taskId" gets replaced so line:128 can never cancel it causing and endless teleport loop like we see. (my fix above would prevent this)
~Hope this helps, have a great day!
*Update Request*
Add a command to update a homes location. (currently you need to delete and re-set)
In reply to appeternal:
Awesome, thank you so much for giving me this detailed report. I should have a fix uploaded within the next day or so. This is depending on the amount of time taken for approval of the patch. I will get to work on that update command too.
Best Regards,
Xquiset
Hi. I'm new to managing plugins on a server and I'm not sure how to edit the config file correctly to make it so people can create more than one home. Right now my config file looks like this:
allNamedHomes:
27b4f1be-37f4-4ffd-b7b2-ec94a6bb17ad:
o:
world: 'Building #6'
x: 682.421926017056
y: 157.0
z: -565.2352252265259
pitch: -9.662348
yaw: -51.676586
y:
world: 'Building #6'
x: 687.6558075460744
y: 157.0
z: -564.4555049179332
pitch: -9.662348
yaw: -51.676586
2e7552ad-ba4a-4ac7-8fd3-36f7a4d46af2:
sparkedoutdonkey:
world: 'Building #6'
x: 3570.91369025658
y: 38.0
z: -266.7288971765919
pitch: 88.94999
yaw: -338.8075
276c459a-6ac8-43b1-a461-97c6ce71148b:
main:
world: 'Building #6'
x: 219.27326286075126
y: 250.0
z: -378.9096813228537
pitch: 47.49462
yaw: 167.7843
unknownHomes:
27b4f1be-37f4-4ffd-b7b2-ec94a6bb17ad:
world: 'Building #6'
x: 679.8346678579948
y: 157.0
z: -563.5719472201552
pitch: 16.996307
yaw: -3.4859402
b41f5b1c-f045-4a4e-9a5a-fc5067c636a5:
world: 'Building #6'
x: -2386.699999988079
y: 232.0
z: -943.3662229680373
pitch: 13.1593895
yaw: -91.193665
It doesn't show anywhere to edit the values like in your "default config" example.
In reply to Fymatdsrio:
Hi,
If this is what is contained within your "config.yml" then your plugin is outdated. I would suggest updating when you can, latest version is V1.2.3. However, if all your after is the ability to allow users to set multiple homes then you should still be able to accomplish this with your version. Just install a permissions plugin and apply the permission homes.sethome to the player/group you want to allow usage of multiple homes. The permissions plugin I use to test is PermissionsEX. The command for it is as follows, /pex user <PlayerName> add homes.sethome.
-Note: There is a small bug in the latest version(V1.2.3) that is causing some players to get stuck when teleporting while using the teleport delay, so use this with caution. I am currently working on a fix for this issue.
Best Regards,
Xquiset
I am the admin of a Craftbukkit 1.14.4 server and I have had several complaints of the plugin counting down from 3 and then not teleporting, or just continuously teleporting them to the same spot, not allowing them to move at all. I wanted to see what they were talking about, so I waited until the bug occurred again, then tried to kill them, tp them away and told them to disconnect and reconnect. After killing them, they just respawned back at the same spot and the bug continued. When I tp'd them, same thing happened. It did stop after a reconnect, but they were unable to use the /home command. This for some reason only effects some of the players, and is temporarily fixed by doing a server restart. I have tried figure out why it does this, and it seems usually it occurs when someone uses the /home command multiple times in quick succession. Hope there is a fix, as this is a great plugin.
In reply to lobbo02:
Hi,
Were there any errors in the logs? If there were logs please either post them here, or use a site like pastebin so I can view them via a link. Also which version of the plugin are you using? It tells you the version in console when the server first starts up.
Best Regards,
Xquiset
I admin a server using Bukkitcraft 1.14.4
I can set homes, but other users can't saying they don't have permission. How do I grant entire server permission to set homes?
In reply to stormchasingk9:
Hi,
You simply need to download and install a permission plugin. The one I use for testing is called "PermissionsEX". If you install that plugin then the command to give a certain player permission to set multiple homes would be as follows, "/pex user <PlayerName> add homes.sethome". You can also setup groups to apply a set of permissions to specific players.
Best Regards,
Xquiset
Whenever I or anyone else on the server does /home it ethier stops at 3 or repeatedly teleports them.
In reply to MrStageBoss:
Hi,
Could you tell me what version of the plugin you are using? Also are the any errors in the server log? If so could you please post them or post a link to a place where I can view them, such as "pastebin".
Best Regards,
Xquiset
Is it possible to make different groups of premissions have different amount of max homes with this add-on? i see the max home in the config but not one in the permissions.
Thanks!
In reply to wildcard64:
Hello,
No, sorry to say this is not a feature at the moment. I can add it to the list of features to add.
Best Regards,
Xquiset
Hi I have a problem I as an admin can set multiple homes but the teammates can't set it how can I set it that every player on the world can set 3 homes
greeting
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.