A configurable item that serves as a physical replacement for the /home command. Exactly like SpawnStar, except for home! In my survival world, I felt that the /home command was too easy. But my players really wanted to be able to return to home easily. So I made this plugin as a compromise. Now, players need to buy HomeStars from shops before venturing out into the wilderness if they want to be able to teleport back to their home (bed spawn) location.
Features
A fully configurable item that returns a player to their home (bed spawn) when used. Default item is a netherstar, but can be changed to any item.
Customizable display name and lore.
Configurable cool down period.
Configurable warm up period, with optional particle effects during warm up.
Individually configurable options to cancel teleport during warmup on damage, movement, or block interaction.
Configurable option to remove item from inventory on use, after successful teleport, or never.
Configurable option to prevent using HomeStar items in crafting recipes.
Configurable option to require shift-click to use.
Configurable option to fallback to world spawn if user bed spawn is not set.
Uses MultiVerse world aliases in messages, if installed.
Uses MultiVerse world spawn location, if installed and spawn fallback is configured. (So players will be looking in the right direction on respawn.)
Configurable per message repeat delay (message cooldown) where appropriate.
Customizable language support.
Commands
/homestar reload
reloads the configuration without needing to restart the server.
/homestar status
displays configuration settings.
/homestar give <playername> [quantity]
allows admins or others with permission to give HomeStars directly to players.
Permissions
Permission
Description
Default
homestar.use
gives a player the ability to use a HomeStar.
true
homestar.admin
gives a player access to the following admin commands:
op
homestar.give
allows players to give HomeStar items to other players.
Is there a way for a player to set a "home" location which is separate from a bed spawn?
I'd like players on my server to set a primary home location, but then still be able to use beds when mining or exploring the wilderness. Then when they are done adventuring for the day, they can use their homestar to go back to their primary home.
Spawnstar almost does this, except that most players on my server don't use the worldspawn for their primary home.
How can I specify required lore or a required enchantment for the netherstar since /spawnstar is also installed and I want to be able to use vanilla netherstars for other things too. I don't want to change the item because I want to retain access to all the vanilla items as well, so that wouldn't resolve it.
A new version (v1.13.3) has been uploaded. This is a maintenance release that fixes a bug that prevents the plugin from loading when a user provided language file is used. The embedded english language resource file will now be used as a fallback when a message can not be found in a user supplied language file.
No changes have been made to any configuration files in this version.
A new version (v1.13.2) has been uploaded. This version adds a time string placeholder for 'less than one' in the language files.
After upgrading, please backup and remove the language files to allow the plugin to install new versions. Alternatively, you may manually add the new entry in the language file. Simply paste the following line under the 'TIME_STRINGS' section:
LESS_THAN_ONE: 'less than one'
Note that this needs to be indented with two spaces, like the other entries under the TIME_STRINGS section.
A new version (v1.13.1) has been uploaded. This is a maintenance release to bring bukkit 1.13.x compatibility. There have been changes to the config.yml, sounds.yml and language files, so please backup and remove these files to allow the plugin to install new versions.
Yes I believe it would be fairly simple to add a customizable crafting recipe to the plugin. The original intent was to simply allow the items to be sold in shops, but allowing them to be crafted would be a nice addition.
I'll definitely add that to a future release. I can't say when that will be though, I've got quite a bit of work on my other plugins queued up at the moment.
It seems there was a bug in the plugin's code that checks for a safe bedspawn location. This code was found to be redundant, as it was trying (unsuccessfully) to use the same safety check that the server already performs. Therefore, I've removed it entirely, and it now just accepts the bedspawn location returned by the server.
The server algorithm checks for a location that is adjacent to the bed and has a two block high stack of non-solid blocks. If there is no such two-block high space directly adjacent to the bed, the server returns a null location, so there really isn't anything more that can be done if a player has placed solid blocks around the entire perimeter of the bed.
The only manipulation performed on the server returned bedspawn location is to center the location on a block, rather than being at the very corner of a block. A config option has been added for this feature so it can be disabled, and then absolutely no processing of the server returned location will be performed by the plugin.
I have also created a simple time duration string handler that will output hours, minutes and seconds as necessary. I applied this to both the cooldown and warmup output, even though a warmup period of more than a minute would just be sadistic, it is inevitable that somebody would ask for it eventually.
Finally, the typo has been corrected in the configuration for the endermen teleport sound. The sound configuration is now in a separate file, to make it easier for the one version of the plugin to support both 1.9 and older servers. An alternative sound file is included with the old names, so owners of older servers can simply copy the alternative file in place of the standard file.
Thanks again for bringing these issues to my attention.
Quote:
It's utterly mind-boggling that the code persistently ignores user specification and uses its own coordinates.
Actually, aside from the now removed safety check in this plugin, all of my plugins simply use the server returned locations for the world spawn or player bed spawn locations. If Multiverse is detected, it will use the world spawn returned by Multiverse for the simple reason that Multiverse includes the pitch and yaw from when the spawn was set in the returned location, while the standard bukkit world.getSpawn() method does not. If Multiverse is not installed, I then use the player's pitch and yaw at the time of teleportation, otherwise they will always be facing south and staring at their feet (or straight ahead, I don't recall) upon arrival.
It is possible that the server or another plugin is modifying the the spawn location for some reason. In the past, I've had issues on my own server when the spawn was set in a constrained area, and the players would be placed on the roof of a building instead of inside for instance. I also know that some plugins will randomly alter the spawn location by a small amount for each teleport, so that players on busy servers don't directly overlap each other at the exact spawn location. My plugins implement no such behavior.
Minor typos and trivial time strings aside, I'd much prefer to see a more efficient destination selection. Over the last few days, I've monitored how the system teleports the player and it's scary whimsical; often times you can get stuck in walls (facing death as a result) or find yourself unable to teleport at all due to nearby objects. It's like Russian Roulette with /tp. I've tried setting a global spawn point in conjunction with your other plugin, SpawnStar, and found that I face the same issue: whimsical placement when teleporting. It's utterly mind-boggling that the code persistently ignores user specification and uses its own coordinates.
I think the destination selection could be improved. After some initial trial and error, I decided to just use the same methodology as Essentials does with the /home command, but it's pretty simplistic, and could definitely be improved.
I can improve the custom message handling to allow for this, or perhaps use some builtin Java time/date handling to get an appropriate, localized string. I'll look into it further before committing to one way or the other.
That needs to be fixed, but you found the workaround, so that's good. I was pretty hasty getting this release out with new sound names for 1.9, so that must have slipped past me.
Thanks for bringing these issues to my attention, it is very much appreciated. I'll try to get a fix out asap.
First and foremost, I wanted to say thank you for providing a fantastic plugin! I have a pair of feature requests and a small bug report.
Please allow configuration of where HomeStar teleports the player to
To clarify, HomeStar appears to teleport players approximately 1.5 blocks away from the foot of their bed and ordinarily, that wouldn't be a problem, but for players who place objects at the foot of their bed (namely larger objects such as doors or stairs), this becomes an issue. When attempting to teleport, you'll receive the "missing or obstructed" error. I've confirmed that removing objects near the foot of the bed resolves the problem. I'd like to configure HomeStar to teleport the player on top of the bed itself or remove that extra half-block buffer that is seemingly being added.
Add string support for minutes
I've configured HomeStar to function a lot like World of Warcraft's hearthstone; in particular, the cooldown. Default settings only allow for a cooldown value in seconds and while that's fine and dandy, seeing "you need to wait 900 seconds" is an eyesore.
Config Bug
There is an issue with sound names for ENTITY_ENDERMAN_TELEPORT. Enderman needs to be pluralized (endermen) to resolve the warning.
Any chance you can make it use a configurable amount of XP on use? Either a static value, or maybe something dynamic based on distance teleported?
I'm thinking of making a crazy crafting recipe to make these. Something like having to be submerged in lava while crafting it or something. (I think there is an achievement plugin that can be used for that)
New versions that affect the language file bug on Windows servers have been uploaded. v1.1.1, for 1.8 and older servers, is available now. v1.2.1, for 1.9 servers, will be available as soon as it is approved.
The latest version of HomeStar has an issue that manifests itself on Windows servers only. I am working on a fix and will upload a new version once it is confirmed to solve the problem.
Probably doesn't actually need an update, but I will be putting out new versions that are built against bukkit 1.8.8 and bukkit 1.9, just to remain consistent with my other plugins.
-
View User Profile
-
Send Message
Posted Aug 27, 2020Is there a way for a player to set a "home" location which is separate from a bed spawn?
I'd like players on my server to set a primary home location, but then still be able to use beds when mining or exploring the wilderness. Then when they are done adventuring for the day, they can use their homestar to go back to their primary home.
Spawnstar almost does this, except that most players on my server don't use the worldspawn for their primary home.
-
View User Profile
-
Send Message
Posted Nov 1, 2019How can I specify required lore or a required enchantment for the netherstar since /spawnstar is also installed and I want to be able to use vanilla netherstars for other things too. I don't want to change the item because I want to retain access to all the vanilla items as well, so that wouldn't resolve it.
-
View User Profile
-
Send Message
Posted Jul 10, 2020In reply to APimpNamedShane:
The plugin uses persistent metadata to identify items. Normal items or other plugin items will not be affected by this plugin.
-
View User Profile
-
Send Message
Posted Dec 18, 2018A new version (v1.13.3) has been uploaded. This is a maintenance release that fixes a bug that prevents the plugin from loading when a user provided language file is used. The embedded english language resource file will now be used as a fallback when a message can not be found in a user supplied language file.
No changes have been made to any configuration files in this version.
-
View User Profile
-
Send Message
Posted Dec 14, 2018A new version (v1.13.2) has been uploaded. This version adds a time string placeholder for 'less than one' in the language files.
After upgrading, please backup and remove the language files to allow the plugin to install new versions. Alternatively, you may manually add the new entry in the language file. Simply paste the following line under the 'TIME_STRINGS' section:
Note that this needs to be indented with two spaces, like the other entries under the TIME_STRINGS section.
-
View User Profile
-
Send Message
Posted Dec 10, 2018A new version (v1.13.1) has been uploaded. This is a maintenance release to bring bukkit 1.13.x compatibility. There have been changes to the config.yml, sounds.yml and language files, so please backup and remove these files to allow the plugin to install new versions.
-
View User Profile
-
Send Message
Posted May 26, 2016@timsavage
This plugin does very well what it really want to do, it would be better not change it a lot, I sell everything on my server with NPCs, even HomeStar.
I think that option might improve the plugin a little.
Thank you and good job.
-
View User Profile
-
Send Message
Posted May 26, 2016@Kino876
Yes I believe it would be fairly simple to add a customizable crafting recipe to the plugin. The original intent was to simply allow the items to be sold in shops, but allowing them to be crafted would be a nice addition.
I'll definitely add that to a future release. I can't say when that will be though, I've got quite a bit of work on my other plugins queued up at the moment.
-
View User Profile
-
Send Message
Posted May 26, 2016This plugin is exactly what I was looking for.
One way of a configurable crafting is possible?, I mean, you can set the 9 slots with the items needed to craft it.
and perm: homestar.craft
Thank you.
-
View User Profile
-
Send Message
Posted May 23, 2016Latest version (1.2.4) is a maintenance release. There is no added functionality in this release.
-
View User Profile
-
Send Message
Posted May 6, 2016Latest version just removes the log message if the alternative sound file is already installed; no functional changes.
-
View User Profile
-
Send Message
Posted May 1, 2016@OrbitStorm88
It seems there was a bug in the plugin's code that checks for a safe bedspawn location. This code was found to be redundant, as it was trying (unsuccessfully) to use the same safety check that the server already performs. Therefore, I've removed it entirely, and it now just accepts the bedspawn location returned by the server.
The server algorithm checks for a location that is adjacent to the bed and has a two block high stack of non-solid blocks. If there is no such two-block high space directly adjacent to the bed, the server returns a null location, so there really isn't anything more that can be done if a player has placed solid blocks around the entire perimeter of the bed.
The only manipulation performed on the server returned bedspawn location is to center the location on a block, rather than being at the very corner of a block. A config option has been added for this feature so it can be disabled, and then absolutely no processing of the server returned location will be performed by the plugin.
I have also created a simple time duration string handler that will output hours, minutes and seconds as necessary. I applied this to both the cooldown and warmup output, even though a warmup period of more than a minute would just be sadistic, it is inevitable that somebody would ask for it eventually.
Finally, the typo has been corrected in the configuration for the endermen teleport sound. The sound configuration is now in a separate file, to make it easier for the one version of the plugin to support both 1.9 and older servers. An alternative sound file is included with the old names, so owners of older servers can simply copy the alternative file in place of the standard file.
Thanks again for bringing these issues to my attention.
Actually, aside from the now removed safety check in this plugin, all of my plugins simply use the server returned locations for the world spawn or player bed spawn locations. If Multiverse is detected, it will use the world spawn returned by Multiverse for the simple reason that Multiverse includes the pitch and yaw from when the spawn was set in the returned location, while the standard bukkit
world.getSpawn()method does not. If Multiverse is not installed, I then use the player's pitch and yaw at the time of teleportation, otherwise they will always be facing south and staring at their feet (or straight ahead, I don't recall) upon arrival.It is possible that the server or another plugin is modifying the the spawn location for some reason. In the past, I've had issues on my own server when the spawn was set in a constrained area, and the players would be placed on the roof of a building instead of inside for instance. I also know that some plugins will randomly alter the spawn location by a small amount for each teleport, so that players on busy servers don't directly overlap each other at the exact spawn location. My plugins implement no such behavior.
-
View User Profile
-
Send Message
Posted Apr 14, 2016@timsavage
Minor typos and trivial time strings aside, I'd much prefer to see a more efficient destination selection. Over the last few days, I've monitored how the system teleports the player and it's scary whimsical; often times you can get stuck in walls (facing death as a result) or find yourself unable to teleport at all due to nearby objects. It's like Russian Roulette with /tp. I've tried setting a global spawn point in conjunction with your other plugin, SpawnStar, and found that I face the same issue: whimsical placement when teleporting. It's utterly mind-boggling that the code persistently ignores user specification and uses its own coordinates.
-
View User Profile
-
Send Message
Posted Apr 9, 2016@jhawley
I think I can probably work something like that in.
@OrbitStorm88
Short answers: yes, yes, oops.
Long answers:
Thanks for bringing these issues to my attention, it is very much appreciated. I'll try to get a fix out asap.
-
View User Profile
-
Send Message
Posted Apr 8, 2016First and foremost, I wanted to say thank you for providing a fantastic plugin! I have a pair of feature requests and a small bug report.
Please allow configuration of where HomeStar teleports the player to
Add string support for minutes
Config Bug
Again, thanks for this plugin!
-
View User Profile
-
Send Message
Posted Apr 8, 2016This is a great idea!
Any chance you can make it use a configurable amount of XP on use? Either a static value, or maybe something dynamic based on distance teleported?
I'm thinking of making a crazy crafting recipe to make these. Something like having to be submerged in lava while crafting it or something. (I think there is an achievement plugin that can be used for that)
-
View User Profile
-
Send Message
Posted Mar 17, 2016New versions that affect the language file bug on Windows servers have been uploaded. v1.1.1, for 1.8 and older servers, is available now. v1.2.1, for 1.9 servers, will be available as soon as it is approved.
-
View User Profile
-
Send Message
Posted Mar 11, 2016The latest version of HomeStar has an issue that manifests itself on Windows servers only. I am working on a fix and will upload a new version once it is confirmed to solve the problem.
-
View User Profile
-
Send Message
Posted Mar 8, 2016@SmallSansSerif
Probably doesn't actually need an update, but I will be putting out new versions that are built against bukkit 1.8.8 and bukkit 1.9, just to remain consistent with my other plugins.
-
View User Profile
-
Send Message
Posted Mar 6, 2016Does this need an update for 1.9 or is it good to go? No errors that I've experienced so far.