PortableHorses
[ Français ]
IMPORTANT: Spigot Builds > #1521 currently have a bug which corrupts PortableHorses! Do *NOT* Use this plugin with spigot > build #1521
Portable Horses allows for players to store their steeds in their inventory. By removing the saddle from a horse or donkey, the animal will vanish, safely stored inside the saddle itself. by clicking the saddle on the ground again, the horse will respawn ready to ride exactly as you left it.
You could even store a donkey in a saddle in a donkey in a saddle (donkey-ception?)
NOTE: This plugin requires ProtocolLib
Features
- Pickup/Spawn your horse anytime / anywhere just by saddling it.
- Option to store (or drop) Horses armor, and donkey's inventory.
- Horse details are displayed on the saddle's lore for easy identification.
- NO DATABASE - All data is stored in the saddle. There is no database or flatfile to worry about.
- Can optionally require a special 'portable horse' saddle in order to function. Normal saddles will work as they used to.
Tutorial
Pour les utilisateur Français de ce plugin Voila une Video de "Miodo" (V 1.6.2)
Para los usuarios que hablan Español, aquí hay un tutorial por FeerBreezy.
Для русскоязычных пользователей видео от Rissman
Commands
All commands are under the main /portablehorses
or /ph
command
/portablehorses reloadconfig
- reloads the config file.
Permissions
- portablehorses.saddle: allows players to save a horse to a saddle.
- portablehorses.unsaddle: allows players to remove a saddle (picking up the horse).
- portablehorses.spawn: allows players to spawn their horses
- portablehorses.admin: allows the 'reloadconfig' command.
Configuration
A fully commented config.yml can be found here
Source Code & Development Builds
Source code is available on Github
Development builds of this project can be acquired at the provided continuous integration server. These builds have not been approved by the BukkitDev staff. Use them at your own risk.
Portable Horses Development Builds
Auto Updater
This plugin has a built-in auto-updater, which connects to BukkitDev to check for updates. If you, for some reason, wish to disable this process, you can do so by setting 'auto-update' to 'false' or 'notify-only' in the plugins' settings file.
Other Plugins
- ToughAnvils - Anvils that never break
- Scribe - Transfer enchantments from items to books using an anvil
- DigForDollars - Let's players earn money for mining.
- PotatoBombs - Allows players to craft poisonous potatoes into devastating and hillarious magical landmines.
- SalvageSmelter - Allows smelting unwanted tools/armor/anything into raw materials.
- Autocrafter - Turns droppers into redstone powered crafting tables.
My reloaded version of this is now available. It's 100% original, that is it doesn't use 1 single piece of code from the original plugin, while still maintaining the same functionality and adding more features. You can find it on SpigotMC. I am not allowed to post links here, but you'll easily find it after a google search with this: "PortableHorses-Reloaded"
please update this to 1.8
i really wanna use this r.i.p =3 <
<3«To all those looking for an updated version of this, heads-up! I'll soon release a new plugin based on this, version independent, that will be available for download on the spigotmc website as a premium plugin. It wil be based on this, however it won't use any of it's code and will also add many new togglable features. It will most likely be available for 5$.
I am not sure how long ago this happened, but the replacement plugin: Horsestore appears to no longer be in development and actually deleted from the website.
We are in dire need of an updated version of this.
Sad to see this go.
i think plugin is dead.
Just came back today to check if there has been any progress. Is someone working on a fork of this plugin or are you working on updating this?
The only other plugin that does this is "premium" and is very clearly half assed. We could really use this plugin once again.
Also, are there any plans on porting this over to sponge?
@metalhedd
Any updates? Many players want this on 1.8.3
@metalhedd
Sorry for the late reply (Curse subscriptions don't seem to be working). https:hub.spigotmc.org/stash/projects/SPIGOT/repos/craftbukkit/commits/6b061e25815c76ca4d736826d2b1b89231f43948
@thinkofdeath
that definitely wasn't the case in the past. the whole reason this plugin used ProtocolLib was because both nbt data was being wiped by the server as well as the client during creative mod e. do you have a link to the relevant changes or some discussion about it?
@metalhedd
If it helps both Spigot and CraftBukkit 1.8 will preserve unknown NBT tags on items instead of stripping them.
@metalhedd
It doens´t work in 1.8 :(
Wow, good! I`m happy to see that plugin is not dead!
@metalhedd
I'm sorry for posting a link in the comments. I'm new to the community and I didn't know about the rule.
Both of your points are correct, but I already fixed both issues. Saddles from previous versions no longer break anything and I added even more checks to prevent anything bad from happening. I also changed the storage system to store each horse in an individual file. It's still less scalable than storing all the data in a saddle, but it's good enough for my server.
@MoarPizzaPls
I was not trying to be passive aggressive, it's not my rule, it's bukkitdev's. you're not allowed to post downloads in comments, period. I'm not even allowed to post a download in the comments, the staff will remove it. (edit: apologies for misreading the code the first time around, I see how how the counter is persisted)
You say you don't want to offer downloads of your plugin because it's not yours... did you consider that I don't want to offer downloads of your plugin, because it's not mine? I don't want this page to become a support thread for your unofficial modifications, nor do I want people to think that your plugin is representative of my work. You can either contribute your changes to the official github repo via pull request, or you can release a fork of PortableHorses, both of which are preferable to posting unofficial binaries in the comments here.
As for the changes you've made, it appears that your plugin literally trashes any data saved by a previous version of PortableHorses. Have you attempted to spawn a horse that was saved in a saddle on a previous version? Your code no longer even attempts to parse the data in the lore, it just assumes the saddle is storing one of your IDs. That's irresponsible.
The file based storage is an idea I rejected a long time ago simply because it doesn't scale (especially when you're saving the ENTIRE database on every write). Your 5ms to save the file is based on how many saddles in the database? When that number increases 10 times, then it takes 50ms to save the database, that's an entire server tick. which means you're now producing lag every time you save that file, which is every time a portable horse is saved to a saddle.
@metalhedd
Hello
I understand the implications of saving the data in a file and that's why I said I'd look into NBT.
My storage scheme is entirely not broken. The id counter is not reset to zero when the server restart and nothing gets overridden.
Also, please stop being passive aggressive. I don't want to offer downloads of my plugin, because it's not mine. It's your plugin with some modifications and people have been asking for a fix, so I shared it with them. If you don't want me to share a modified version of your plugin that works in the comments, it's your decision and I can respect it. I just needed this plugin to work on my server and it does, so I thought maybe there were other people who would find it useful.
@MoarPizzaPls
@MoarPizzaPls. the decision to store data in the saddle NBT was a conscious one. There is no way to track the disappearance of an item from the game, so if someone tosses their saddle into the void for example, you won't know about it and you will have to keep that record in your database forever. eventually you'll need to design in a sort of expiry system. I've used that approach with several other plugins, and it doesn't work out well. without the 'packet stuff' the lore will be wiped out by switching to creating mode and clicking around the inventory.
Please edit your post to remove the download link, its not allowed on bukkitdev. if you want to offer downloads of your plugin, you need to go through the same process as everyone else, set up a page, and have the plugin approved by staff. also please be aware you'll have to post your source code and keep your plugin under the GPL license since it's a derivative work of PortableHorses.
EDIT: I looked through your code... your storage scheme is entirely broken. the id counter is reset to zero when the server restarts so the next newly saddled horse gets id 0 overwriting whoever previously had id 0 and so on.
Took me 5 hours to get it to work. Changes I did: -Got rid of all the packet stuff. (I don't even know what this was for) -Got rid of storing data in the NBT of saddles (the data kept getting corrupted for some reason) -The NBT data from a horse is serialised and stored in a file instead and each horse has an ID in the lore. (5ms to save the file)
Current bugs: -Can't shift click items to move them to a donkey's chest -Portable saddles still contain the same gibberish in their lore as they used to without the fix. This only seems to happen when the saddle is on a horse though so who cares.
I believe with the fix, it's perfectly usable on a live server and I'm running it on mine right now. I am going to keep updating my version of the plugin and perhaps even crate a dedicated bukkit/spigot page for it when I find some free time. I'm also going to look into how exactly NBT works to see if I can fix the corruption so that the data doesn't have to be stored in a file.
<sub>{
LINKremoved by Myrathi}</sub>Enjoy.
try to fix it again!
It's about time a 1.8 version is released. But no, it's no where to be found...