mcMMO Horses
Description
McMMOHorses is a plugin that add new abilities to horses. You can claim, name, summon, and level up abilities for your horse.
Skills
- Swiftness - Increases the speed of your horse (Activates when the horse jumps)
- Agility - Increases the chance of dodging attacks (Activates when the horse is attacked)
- Vitality - Increases the health of your horse (Instantly activates- Increases when your horse is attacked)
- Wrath - Temporarily disables damage and increases speed (Activates when the horse is attacked with a projectile/ thorns)
Features
- SQLite support
- Summon/banish horses
- Horse ownership (protection configurable)
- Horse skills/abilities
- Multiple horses
- Horse claim/buy/sell (Vault)
- Horse scoreboard
- More config options
- More admin commands
- More permissions
- Horse Races integration
- Skill leaderboard
- Currently Available - Will be available soon
Getting started
- To get started, claim a horse by taming it and giving it a saddle. Then, while riding it, use /h claim.
- To level up your horse stats, ride for long distances for a Swiftness increase. To increase it's health, wrath, or agility, let your horse take damage.
- To heal your horse, give them sugar, apples, carrots, golden apples, or golden carrots.
- To view your horses stats, use /h stats
- To protect your horse from damage when you are not riding it, use /h protect
- When you disconnect from the server, your horse will despawn to protect it. When you join the server again, use /h summon to summon your horse again.
- If you wish to rename your horse, use /h set name <the new name>
For Server owners:
Currently, I am planning on making most of the features in the plugin configurable, so this plugin can fit on any server. All global variables to configure the plugin can be found in the Horsedata.yml file. Here is a list of all the variables:
savetype: 2
Savetype controls how the server will save horse data. By Default, it is set to 2, which will save all data to the horsedata.yml file. If you wish for the server to save data to an SQL database, change the savetype to 3. If after saving the data to a database you wish to return to a file, change the save type to 1.
disable_banishment: false
Disable banishment disables the banish command. This is useful if you do not users to be able to temporarily remove horses from the world. By default, this is set to false.
banish_on_disable: true
Banish on disable will banish all horses in the world when the server reloads. When this id disabled, it is useful for removing the plugin (if you ever want to) without losing the horses. By default, it is set to true
banish_on_player_quit: true
Banish on player quit controls if horses should be banished when a player leaves the server, whether it be by logging off, kick, ban, or joining another server. When this is disabled, horses are persistant to the world, allowing other players to interact or even damage the horse (Which may be good for faction servers). By default, this is set to true
Permissions:
As a quick overview, there are only two permissions that you need to know about:
mcmmohorses.user
This is the permission given to all default users. This is what allows all players to claim, summon, level up, banish, and buy horses. A list of all of it's child permissions can be found below:
mcmmohorses.help
-Players can use the command "/h help"
mcmmohorses.me
-Players can use the command "/h me" to show all of the user's stats
mcmmohorses.stats
-Players can use the command "/h stats" to show all of the horse's stats
mcmmohorses.skills.info
-Players can use the command "/h skills" which shows the skill stats for their horse
mcmmohorses.claim
-Players can use the command "/h claim" which claims the horse the player is riding
mcmmohorses.buy
-If Enable-Economy is enabled in the config.yml, players will need to buy horses in order to claim them. This command allows users to buy horses.
mcmmohorses.sell
-Players can use the command "/h sell".
mcmmohorses.summon
-Players can use the command "/h summon" to summon horses
mcmmohorses.banish
-Players can use the command "/h banish" to remove horses from the world, which can be summoned using "/h summon"
mcmmohorses.kill
-Players can use the command "/h kill", which will kill one of their horses.
mcmmohorses.groups.default
mcmmohorses.admin
This permission lets the player control the database, and gives them permission to addXP, change their horses appearance, change their name, and even protect their horse against damage. All of the child permissions can be found below:
mcmmohorses.groups.admin
mcmmohorses.admin.protect
-Allows players to use "/h protect" to protect their horse from damage.
mcmmohorses.admin.unprotect
-Allows players to use "/h unprotect" to remove the protection
mcmmohorses.admin.addxp
-Allows players to use "/h addxp" to add xp to a specific stat
mcmmohorses.admin.delxp
-Allows players to use "/h delxp" to remove xp from a stat
mcmmohorses.admin.set
-Allows players to use "/h set" commands
mcmmohorses.admin.set.name
-Allows players to use "/h set name" command to change the horse's name
mcmmohorses.admin.set.color
-Allows players to use "/h set color" command to change the horse's color (can only be used on default horses, not donkeys, mules, llamas, or undead horses)
mcmmohorses.admin.set.style
-Allows players to use "/h set style" command to set the horse's style(can only be used on default horses, not donkeys, mules, llamas, or undead horses)
mcmmohorses.admin.set.type
-Allows players to use "/h set type" command to change their horse's type (Can be set to Donkeys, Mules, Llamas, Skele, or Zombie horses)
mcmmohorses.admin.create
-Allows players to use "/h breed" command to create a new horse
mcmmohorses.admin.save
-Allows players to use "/h save" command to save all horses on the server to a database
mcmmohorses.admin.db
-Allows players to use "/h db" command to view the database
mcmmohorses.admin.reload
-Allows players to use "/h reload" to reload all the horse data.
Plugin Wiki
Please visit https:github.com/GetGoodKid/Horse-RPG/wiki for installation instructions, permissions, commands, and more.
Cool People
- Dreamrdawn - donated :)
- mc.empirescraft.net - Gave a donation & awesome feedback :D
Donations
I have a really busy schedule so money motivation is always nice! There is a button in the top right corner to do so :) Even if you don't want to donate, I could use other forms of help. If anyone wants to help create a wiki/youtube tutorial or give ideas please message me. I can list you as a sponsor/helper on this page and promote your server. Also, any feedback is much appreciated!
Currently, Zombie_Striker is updating the plugin. All money donated to this project will go to the original author of this plugin, GetGoodKid.
Horse Races
Check out my Horse Races plugin which allows you to race horses and give prizes, etc. This plugin will soon be compatible with Horse Races.
This plugin does update automatically:
This plugin checks for updates and will download updates. If you do not want this plugin to automatically update, all you need to do is edit one line in the "plugins\AUpdater\global.yml" file. Just change the one variable in there to false (or, if you run into any problems, copy the code below)
# Updater by ArsenArsen
# Global config
# Sets should updates be downloaded globaly
update: false
How to Install
Drop this plugin into you plugins folder and restart your server.
@getgoodkid
I have the same problem too !! I use v3.0 version , and can't trading horse from one to another !
When I sold horse to B , and B type "/h buy" ! The trading seem complete, but the horse still belong me , not B (I use "/h me" to check result)!
@NuclearNarwhal
Thanks for your response. I'm assuming you mean the "/hr stats" command isn't working. The command requires that you own at least one horse (skills are stored WITH the horse NOT with the player). Was this the issue or did I misinterpret it?
As for adding what each skill does on the page, I'm sure I'll get around to it soon (I've been super busy).
And are you sure that trading horses doesn't work until "/h db"? Because the code is all there and should transfer ownership immediately. It won't auto-teleport the horse to the buyer though. It should work like this: Player A summons horse and sells to player B. Player B types "/h banish" then "/h summon" to spawn the horse next to him.
If I did not answer any of your issues then please submit a ticket so I can see exactly how to reproduce/fix the problem.
Thanks for the feedback again.
The method of checking skills doesn't seem to be working for me... I would also suggest adding what each skill does directly on this page, may give people a better idea as to whether they want to implement it on their server or not. :)
EDIT: I found a pretty serious problem... After trading horses it doesn't properly acknowledge the person it was traded to as the rightful owner until I end up doing "/h db"... So clearly it is a problem with the horse not transferring over from one player to the other. Please fix this quickly seeing as it makes trading horses extremely inconveniencing!
looks interesting... :)
@getgoodkid
"Version 3.0 implements this idea"
Nice, can't wait!
@Zerophis
Good idea :) That won't be too hard I'm sure.
Version 3.0 implements this idea :)
I see "More permissions" is under development (I assume that's what yellow means).
Will those include ability to make permission by rank/group so that some players can have more horses than others? Seems like a must have for this great plugin.
@DylanLee98
Why would I mind? haha. This is intended for people to use on RP servers :) Hope you like it.
I hope you don't mind if I use this on my server network, I am in the middle of designing a new RP server and this seems like a lot of fun! If you were wondering what Network, its pvpSmash.
@wiloh95
Version 2.3 should have this error fixed. Thank you for pointing it out! :)
@wiloh95
Thanks for your support! I'll do my best to try to fix this asap. If you could take me through the exact process to recreate this error, that might help me fix it faster. Also, it would be awesome if you would submit errors like this to the ticket system http:dev.bukkit.org/bukkit-plugins/horse-rpg/create-ticket/ here. Thanks again though.
Hi, I like the plugin so far and hope you implement MySQL support soon :)
But i get an error while trying to claim a horse http://pastebin.com/R9iDhiQy
This thing has potential, keep at it!
@dreamrdawn
Hey thanks for the feedback! I read the whole thing and I like all those terms you mentioned. I'll see if I can figure out a way to implement some of those ideas soon! And yet it was very helpful :)
Hope you like v2.1!
P.S. - Sadly I don't think the trample ability works from the wrath skill. I'll try to get that fixed a.s.a.p.
Yey!! It is here! I have been waiting to download v2.1. I am putting this on my server. We are not open to the public yet but we will be having lots of fun using this plugin.
I wanted to add something about how horses fight. They are powerful animals that can inflict serious damage if they desire too. They bite, kick, and thrash with their front legs. They will rear and strike downwards too. A good kick can crush the skull of a predator!
I also wanted to suggest levels for horses. Here are a few commonly used terms for horses. A horse that is just been trained for riding is called "greenbroke" The most difficult horse to train and ride is a stallion. They have a lot of power and stamina but are more difficult to control. A "bomb-proof" horse. Is a calm horse that anybody can ride. It a safe, dependable, trustworthy horse. They are highly valued and more valuble with training. As far as horse training, there are different levels too. There are trail horses with some training but good for average riding. There are show jumpers that have been trained in Hunter. These horses can have years of training. One of the highest levels of training for a horse, is in Dressage. Horses are trained for over a decade or more to compete in dressage. It is precision with the highest levels of communication between horse and rider.
Basically, more training, the more valuble the horse. A horse with training, endurance, and a good disposition is highly desired. A stallion, highly trained, powerful, with endurance and dependable would be very rare, worth millions.
I know this is really long but I hope it is helpful
dreamrdawn
@EmpiresCraft
I'm pretty sure I fixed this in 2.1 but I'll have to check again. I'm not sure what's taking v2.1 so long to be approved but it has been pending for like 2-3 days. It has 3 downloads so maybe the approval people downloaded it and forgot about it.
Sorry about the issue by the way. Maybe soon I'll set up a continuous integration server with Jenkins so that I can get nightly builds out quicker with fixes. This Bukkit system takes too long sometimes.
EDIT: I just checked. It seems to be fixed in 2.1.
EDIT 2: By the way I'd link you a download to 2.1 but Bukkit admins would throw a fit since it hasn't been "approved" yet.
Hey just me, we've run across some new problems. The main would be that now when you log off with a horse spawned, you can log back in and summon a whole new one. Could we get this fixed in 2.2?
@getgoodkid
Sounds good, we will be waiting for it. We'll continue to offer suggestions and I do hope to keep in touch; possibly even some future dealing.
@EmpiresCraft
Update 1.2 is pending approval :)
It doesn't have all the changes made yet but it's a good start.
Change log:
By the way, the donate button in the top right corner comes with the Bukkit page. It's linked to my paypal (Deceptive, I know. It looks like it goes to Bukkit's donations.)
Thanks again for being the guinea pig for my plugin :D
@getgoodkid
No problem XD. We love the plugin and enjoy helping you make it better. Now, you really don't need to stress on the whole leveling up thing. It's pretty good how it is but you should switch endurance and swiftness, as you suggested. But yea, we love the plugin and keep up the great work. If there was a Paypal donation tab, we'd definitely be sending a bucks your way XD!
@EmpiresCraft
Thank you so much for the feedback. It seriously helps. I've been working on the changes in my free time. I'll do my best to fix all the problems and implement those changes.
The only problem that might be kind of hard is the swiftness/running 100 blocks = 1xp. It sounds easy right? But there isn't really an easy way of tracking distance traveled. And the only way I can think of would probably require a lot of processing power. I'll see if I can figure out a decent way to do that one.
Also, there is an endurance skill. Should that still be leveled up each time you sprint? I was thinking flip the two. Endurance = distance traveled (100 blocks = 1xp) and Swiftness gets say 3xp each time you sprint.
Lastly, the storing of horse inventory is going to be a little bit difficult. It can be done I'm sure. It'll just take some time! I'm not quite sure how I'm going to store/serialize the entire inventory and store it in an SQLite database.
All other changes should be pretty easy to make. Thanks again!
Edit: Endurance skill measures how long you can sprint. Maybe I should combine swiftness and endurance into one skill though?