Better Horses

Better Horses

Introduction

Horse combat abilities, improved breeding options and configuration, horse protections, warps, skeleton/zombie horse reanimation and more!

Originally a plugin intended to only change the horse breeding formula, this plugin provides multiple horse-related features that are simple to understand and do not require the use of commands to operate, providing a more interesting vanilla-like experience in regards to horses. Features include:

  • Improved horse breeding formula, making it possible to breed better horses across multiple generations at a significantly cheaper cost/faster pace.
  • Reanimate your horses as skeleton/zombie horses!
  • Feed your baby horses with sugar, apples, or wheat to boost their stats while speeding up their age!
  • Horse Combat Abilities: Horses can now aid you in combat with abilities like charge and stomp!
  • View a horse's stats by left-clicking a horse with a lead.
  • Horses can be warped through the use of commands such as /warp and /spawn, with configurable options to prevent players from bringing them into unwanted areas such as parkour.
  • Horse-grief protection: lock players from killing/riding horses they don't own, and protect their inventory.
  • Several configurable options to adjust the easy of breeding, protection, etc so you can tailor the plugin to your server's needs.

As this plugin takes inspiration from many other horse-related plugins, you may be familiar with some of these features. My intention here is to create an all-in-one package of sorts without bogging down players with more commands to type out while also hopefully offering new exciting features that feel integrated into the Minecraft world.

Improved Breeding Formula and Breeding/Feeding Options

In the current build of Minecraft, a bred foal's stats is determined by averages its' parents with a random set of stats. Good in theory, but bad in practice, as it becomes unrealistic to breed horses for anything other than looks; you're better off just looking in the wild for one that begins with high stats. The formula in this plugin looks to change that with an emphasis on a bonus system.

Default Formula: (P1 + P2 + R) / 3, where P1 and P2 are the parents and R is a randomly generated set of stats based on a distributed that tends toward the average.(Note: each stat is calculated individually)

New Formula: (X*PI + (1-X)*P2) + Y, where X is a random value between 0 and 1 and Y is the a bonus added to the parent-influenced stats. (Again, each stat is calculated individually)

What the new formula does is make it so a foal can possibly take after one of it's parents more than the other, though it may still be the average of their stats. The bonus system makes it possible, by default, to breed horses with stronger stats more easily, and the ability to completely configure it means you can make it as difficult or as easy as you'd like.

To explain how Y works in this formula, it is the average of two values that lie between (by default) -5 to 10% of the maximum natural value of Minecraft horse stats. (you can still raise the limits of these stats through breeding, but spawned horses will have stats below this) These are:

Health: 30 Jump: 5.5 blocks Speed: 14.5 blocks/second

For those who would rather not trouble themselves with formulas, take these tips into consideration when adjusting the Configuration for the formula:

  • minBonus at a negative value, and maxBonus at a positive value is recommended.
  • Increase the size and range between minBonus and maxBonus for variability. (eg. -.5 and .5 can create huge stat gains or loses compared to -.05 and .1)
  • Putting bonus options as positive means stats will always increase. Putting both as negative means stats will always decrease.
  • To prevent weird things from happening, keep minBonus lower than maxBonus.

For players:

  • The type of breeding item you use also affects horse stats. Golden carrots aren't potent beyond allowing breeding, but golden apples and enchanted golden apples can provide stronger stat boosts and better shots at horses with legendary stats.
  • When horses are born, you can feed the foals with food like normal, turning them into adults more quickly. However, doing this with sugar, wheat/hay, or regular apples will now also give them bonus stats until they become an adult! The gains are small, but they can possibly exceed even the configured limits you've set! Sugar tends to provide more speed, wheat/hay tends to provide more health, and apples tend to provide more jumping power. Mix them up to see how much better your horse can get!

Horse Combat Abilities

Charge : This will cause a horse to do a slight-speed up and flash red. While the horse is flashing red, running into an enemy will send them flying and deal damage based on the horse's health. To activate this ability, right-click while holding any item in hand.

Stomp : After landing from a jump, a horse will perform an AoE attack that knocks enemies back from the point of impact and deals damage based on the horse's jump strength.

Zombie/Skeleton Horse Reanimation Event

Players can reanimate their horses without the use of commands, or admins cheating in the variants. The chance is small, but on a full moon, killing your tamed, adult horse may cause it to revive as a skeleton/zombie version. When revived, the horses preserve their stats and ownership. Zombies have significantly more health while skeletons have significantly more speed.

Horse Griefing Protection

Simple horse griefing protections are in place so players can protect their animals. These are adjustable and more deeply explained in the configuration table, though are mainly done without the use of commands. As such, current griefing measures available to players may be limited, due to the difficult nature of collecting the necessary items. This will likely be expanded in the future.

Configuration Options

Change these if you want to adjust how certain aspects of the plugin work. The Config file will be automatically created on first running a server with the plugin implemented.

Keep in mind that the configurations for max health, jump, and speed only affect horses bred in captivity and have no effect on the stats of horses that naturally spawn in the wild. Horses in the wild can only reach the vanilla Minecraft maximums on their stats. The defaults for max health, speed, and jump roughly align with what is available in vanilla Minecraft, but feel free to adjust higher. A sample recommendation might be 40 health, 18 blocks/second speed, and 5.5 jump (unchanged)

  • MinBonus: the lower percentage value of the Y in the formula. Decimal form. (Default: -0.05)
  • MaxBonus: the higher percentage value of the Y in the formula. Decimal form. (Default: 0.10)
  • MaxHealth: maximum health possible from a horse bred in captivity. (Default: 30)
  • MaxJump: maximum jump possible from a horse bred in captivity in block height. Horses with more than 6 block jumps will not take fall damage from falls roughly equivalent to their jump height. (Default: 5.5)
  • MaxSpeed: maximum speed possible from horses bred in captivity in blocks per second. (Default: 14.5125)
  • RareChanceStat: 1/n chance of creating a horse with exceptional stats. Set to 0 or a negative number to disable. (Default: n = 200)
  • moonSpawn: Allows zombie/skeleton reanimation to happen. (Default: true)
  • moonSpawnChance: 1/n chance of reanimation event happening. (Default: n = 10)
  • claimNameTag: Allows players to prevent others from riding their horse if it is given a custom name, usually via nametag (Default: true)
  • claimArmorChest: Allows players to prevent others from riding their horse if it has armor/chest equipped. (Default: true)
  • horseGrief: Allows players to kill, warp or steal the inventory of tamed horses they don't own. (Default: false)
  • babyFoodGrowth: Allows baby horses to gain additional stats through feeding. (Default: true)
  • horseWarp: Allows horses to warp with players who warp through commands. (Default: true)
  • horseWarpLag: Delays horse warp in ticks (20 ticks per second). Set as Warp delay (seconds) x 20 + 1 for best effect. (Default: 1)
  • horseCombat: Allows the use of horse-related combat abilities such as charge and stomp. (Default: true)

Current Issues/Other information

Currently, this plugin is only available for 1.7.2, 1.7.9 and 1.8.1, though 1.7.2 is severely limited in features. I'll mainly be looking to update for the latest version first before making it compatible for earlier versions.

  • The displayed horse stats is not perfectly accurate and becomes less accurate for jump heights over 5.5. This is due to the difficulty in determining the actual formula for how jump is determined within Minecraft from jumping power and perceived gravity.
  • In the 1.7.9 version, current health will not appear when left clicking a horse with a lead. Currently unsure how to remedy this issue.

Closing

Hope you enjoy this plugin. If you have any questions, concerns, suggestions, or want to point out any bugs or issues that have not been listed, please leave a comment, PM me, or email at [email protected]


Comments

  • To post a comment, please or register a new account.
Posts Quoted:
Reply
Clear All Quotes

About This Project

  • Project ID
    76497
  • Created
    Mar 19, 2014
  • Last Released File
    Jan 3, 2015
  • Total Downloads
    2,759
  • License

Categories

Members

Recent Files