LodeStar
LodeStar
Allows the creation of items that are bound to named destinations. An extension of the SpawnStar plugin, but not just for spawn anymore! You can set a destination, similar to warps, and then bind any item to that destination so that when used, it will teleport the player to the destination.
Features
- A fully configurable item that teleports a player to preset destinations. Default item is a netherstar, but can be changed to any item.
- Includes all the functionality of SpawnStars, and a whole lot more!
- Customizable display name and lore.
- Option to teleport back to overworld spawn from nether or the end.
- 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 LodeStar items in crafting recipes.
- Configurable option to require shift-click to use.
- Uses MultiVerse world aliases in messages, if installed
- Uses MultiVerse world spawn location, if installed. (So players will be looking in the right direction on respawn.)
- Configurable per message repeat delay (message cooldown) where appropriate.
- Customizable language support.
Quick Start Guide
This will get you started while I create some documentation.
Perimissions
Permission | Description | Default |
---|---|---|
lodestar.use | Gives a player the ability to use a LodeStar. | true |
lodestar.list | Allows displaying a list of all LodeStar destinations. | true |
lodestar.admin | Parent node that gives a player all of the following permissions: | op |
lodestar.set | Allows players to create LodeStar destinations. | op |
lodestar.set.overwrite | Allows players to change LodeStar destinations. | op |
lodestar.delete | Allows players to remove LodeStar destinations. | op |
lodestar.bind | Allows players to bind a LodeStar destination to an item in hand. | op |
lodestar.give | Allows players to give LodeStar items to other players. | op |
lodestar.destroy | Allows players to destroy a LodeStar item in hand. | op |
lodestar.reload | Allows reloading of configuration files. | op |
lodestar.status | Allows viewing configuration settings. | op |
Commands
Command | Description |
---|---|
/lodestar reload | Reloads the configuration without needing to restart the server. |
/lodestar status | Displays configuration settings. |
/lodestar set | Creates a LodeStar destination at current player location. |
/lodestar list | Displays a list of all LodeStar destinations. |
/lodestar delete | Removes a LodeStar destination. |
/lodestar give | Allows those with permission to give LodeStar items directly to players. |
/lodestar bind | Binds a LodeStar destination to an item in hand. |
/lodestar destroy | Destroys a LodeStar item in hand. |
Installation
Simply drop the LodeStar.jar file in your server's plugins folder, and restart the server. Once the plugin has been loaded, make any customizations to the config.yml file, or the appropriate language file in the languages sub-directory. All display settings such as item name and lore are contained in the appropriate language files rather than the config file. When you are satisfied with the configuration, simply issue the reload command to apply configuration changes; restarting the server is not necessary to affect configuration changes.
Configuration
Source Code
The source code for this project is hosted on github.
https://github.com/tim-savage/LodeStar
A new version (v1.13.2) has been uploaded and will be available pending approval. 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.1) has been uploaded. This is a maintenance release to provide bukkit 1.13.x compatibility. The config.yml, sounds.yml and language files have had changes, so please backup and remove these files to allow the plugin to install the latest versions.
A new version with the correct sound name in sounds.yml has been uploaded, along with a couple other small bug fixes.
The latest version has an incorrect sound name in the sounds.yml, at least for 1.10 servers. The sound ENTITY_LEVEL_UP should be changed to ENTITY_PLAYER_LEVELUP if you are seeing an error in your log regarding an incorrect sound name.
Apparently sound names are subject to change at any time. You can view all of the sound names for the current version of bukkit here.
New versions that address the language file bug on Windows servers have been uploaded. v1.1.2, for 1.8 and older servers, is available now. v1.2.1, for 1.9 servers, will be available as soon as it has been approved.
The latest version 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.
@timsavage
Yooooooooooou, are the greatest! :D
@Ceress
I think that would be fairly easy to implement. I'll try to add a configurable option for that in the next release.
@timsavage
Is there any way to disable using a lodestar from using spawn as a destination when it's bound to "home"? If not, could that possibly be added as an option in the future sometime?
I ask because I'm using SpawnStar with a specific consumable item for players to purchase in order to return to the world spawn, but my intent is to give them a single specific item that is NOT consumable to return them to their home, with a 4 minute cooldown on use. I just want to be sure they can't use that same item to return them to the spawn if they haven't got a home set via a bed.
@phantom147
This plugin doesn't doesn't really operate on player names, except for the purpose of displaying them in messages. (Player uuids are used to keep track of players in the teleport and message cooldown lists.)
I think the issue you are experiencing is likely due to your permissions plugin, and its handling of name changes. On my own server, which uses Group Manager, I did have to reassign all permissions to an admin who changed his name. With his new name, he was only a member of the default group, and had to be re-added to the admin group.
Recently i messed around with the name changing thing on mojang site and I found out UUID isnt supported yet. What I mean is like when I'm still using old name I can still give myself the lodestar after i changed my name i was unable to give myself with the following error: That player is not online
The only way you can fix this is to delete a player database and regenerate a new one. This matter because I set up a GUI shop that sell LodeStar for returning to spawn. And it is inconvience when a player wanted to changed his/her name and unable to give out LodeStar item after changing his/her name.
Is this only happen to me or happened to someone else too? Thanks for reading this ik it a little long :P I literally took 1 whole month to test this due to the Mojang name changing restriction
@Culvanen
I have not implemented crafting of LodeStar items yet. The original intent was to allow the items to be placed in shops for players to purchase. However, I've did consider the possibility of making the items craftable, and will likely add that feature in a future version.
Making custom recipes with the bukkit api is easy. The difficult part is figuring out how to set a destination on an item when crafting, and making the recipes customizable by the server admin.
I will gladly accept language translations, and include them in future versions of the plugin. Thanks!
@timsavage
This is great! Thanks again!
Hi ! How to craft item with custom recipe ?
I'm make a french translation, if you want tell me !
Good plugin, good job!
Culvanen
@phantom147
That's good to hear. I've corrected the issue in my other plugins as well. Thanks for finding and reporting that one!
@timsavage
Fixed! :D
A new version (v1.0-RC2) has been uploaded. It (hopefully) fixes the issue with language files not installing on some platforms reported by phantom147, and also fixes a typo and clarifies an error message in the language files.
@phantom147
That's odd. I'm not able to reproduce this behavior. Do they install when you issue a /lodestar reload command? Is it possible there is an issue with file permissions?
Edit: I think I have found the cause of this issue. Try the next release (RC2) when it becomes available, and if you can let me know if it is working, I'll put this one to rest.
Language files doesnt load when you first install? Anyway to fix it?
Ah, ok :) No need, then