▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Моды/Icy's Better Horses
Icy's Better Horses

Icy's Better Horses

Better Horses reworks horses into long-term companions through better traversal, progression, and utility systems.

Оцените первым
919
15
Все версииIcy's Better Horses 1.1.4

Icy's Better Horses 1.1.4

Release19.05.2026

Список изменений

Icy's Better Horses — 2026-05-19 Change Log

A consolidated summary of every change made today. Mod target: Minecraft 1.21.11 / 26.1.2 (Fabric).


1. New per-horse traits

Each AbstractHorse now persists three new pieces of data in addition to the existing bond:

TraitTypeNotes
GenderMALE / FEMALESynched + saved to NBT. Donkeys/mules also get a gender.
Breedone of 15 breeds, or a species placeholderOnly real horses (Horse.class) use real breeds; donkeys/mules/skeleton/zombie horses get a species label.
Mixed-breed flagbooleanTrue when a child inherits from two different-breed parents — display gets a (mix) suffix.

Files: HorseGender.java, HorseBreed.java, IHorseData.java, AbstractHorseMixin.java.


2. Horse Info Screen (P key while mounted)

Pressing P while riding a horse now opens a screen showing the horse's full profile. Pressing P while NOT mounted still whistles other horses as before.

The screen shows:

  • Gender
  • Breed (with (mix) suffix if cross-bred)
  • Coat (color + markings, e.g. Brown + White Field)
  • Bond — raw value X / 100 with bar
  • SpeedX.X blk/s with bar
  • JumpX.XX blk with bar
  • HealthX.X HP with bar

Bars are zero-baselined (fill = value / max) and use mod-attainable ceilings derived from the bond multiplier:

StatMinMax (full bond)
Speed0 blk/s25.52 blk/s (0.3375 × 1.75 × 43.2)
Jump0 blk9.50 blk (1.0 × 1.75 × 6 − 1)
Health0 HP30 HP

Files: HorseInfoScreen.java, IcysBetterHorsesClient.java.


3. Upgraded-saddle HUD now shows Breed + Gender

When you hold the upgraded saddle and look at a horse, the in-world stats HUD shows four lines under the title:

Horse Stats
Gender: <m/f>
Breed: <breed>
Speed: <blk/s>
Jump: <blk>

File: GuiMixin.java.


4. Gender-gated breeding

  • A new mixin (AnimalMixin) makes Animal.canMate return false when both sides are AbstractHorse and share a gender.
  • If you feed a golden apple to a horse whose neighbor is already in love mode and same gender, the apple is still consumed, love mode is reset on this horse, and the player gets "These horses are the same gender and can't breed." in chat.

File: AnimalMixin.java, plus the existing fedFood RETURN hook in AbstractHorseMixin.


5. Child inheritance

When two horses successfully breed:

  1. Gender — random 50/50 for the child.
  2. Breed
    • Same-breed parents → child gets that breed (no mix suffix).
    • Different breeds → child gets one parent's breed at 50/50 + (mix) suffix.
    • Cross-species (e.g. horse + donkey) → child gets the appropriate species placeholder.
  3. Stat inheritance for HP / speed / jump:
    • child = max(parent1, parent2) + delta
    • delta is a uniform random in display units: -0.5 to +1.0 (HP, blk/s, blk).
    • Clamped at the vanilla base ceiling (HP 30, raw speed 0.3375, raw jump 1.0) so no amount of breeding can push past the mod-attainable max.
  4. Coat — re-rolled from the child breed's allowed coat list.

File: AnimalMixin.java.


6. Breed → Coat binding

Each real breed has its own list of allowed vanilla coats (Variant × Markings). Coats follow breed:

  • New horses — coat is forced from the breed's allowed list when the horse spawns.
  • Pre-existing horses (already in the world before this update) — keep their current coat and the mod infers a breed from that coat. Fallback breed if no match: Mustang.
  • Bred children — coat re-rolled from the child's inherited breed.

Mapping:

BreedAllowed coats
ThoroughbredBrown · Chestnut · Black · Dark Brown · Brown+White · Chestnut+White
ArabianGray · Gray+White · White · Chestnut · Brown · Black
QuarterChestnut · Chestnut+White · Brown · Brown+White · Black+White · Creamy+White
FriesianBlack
AndalusianGray · White · Black · Chestnut
PercheronGray · Black · White
ClydesdaleBrown+White Field · Black+White Field · Dark Brown+White Field · Chestnut+White Field
ShireBlack+White Field · Brown+White Field · Gray+White Field · Dark Brown+White Field
BelgianChestnut · Chestnut+White · Creamy · Creamy+White
IcelandicChestnut+White Field · Brown+White Field · Black+White · Gray+White Field · Creamy+White Field · Dark Brown+White
MustangDark Brown · Brown · Chestnut · Black · Dark Brown+White · Chestnut+White Field
HaflingerChestnut+White · Chestnut · Creamy+White
MorganBrown · Chestnut · Black · Dark Brown · Brown+White
American PaintBrown+White Field · Black+White Field · Chestnut+White Field · Dark Brown+White Field · White+White Field · Creamy+White Field
AppaloosaWhite+Black Dots · Gray+Black Dots · Chestnut+White Dots · Brown+White Dots · Black+White Dots · Dark Brown+White Dots

Files: HorseBreed.java, HorseAccessor.java (Invoker for Horse.setVariantAndMarkings).


7. Spawn-group same-breed + biome-locked breeds

  • Same-breed spawn groups — all horses that spawn together as a natural group share one breed. Implemented by a custom BhHorseGroupData : SpawnGroupData that is passed between siblings inside finalizeSpawn.
  • Biome-locked breeds — the breed chosen for a fresh spawn group is picked at random from the list of breeds that are allowed in that biome. If the biome has no entry in the table, fallback to a random breed.
BreedAllowed biomes
ThoroughbredPlains · Sunflower Plains · Meadow · Forest · Birch Forest
ArabianDesert · Badlands · Eroded Badlands · Savanna · Savanna Plateau · Windswept Savanna
QuarterPlains · Sunflower Plains · Savanna · Savanna Plateau · Windswept Savanna
FriesianDark Forest · Forest · Pale Garden · Old Growth Spruce Taiga · Taiga
AndalusianMeadow · Cherry Grove · Flower Forest · Plains · Forest
PercheronOld Growth Spruce Taiga · Forest · Meadow · Plains
ClydesdaleWindswept Hills · Windswept Gravelly Hills · Windswept Forest · Old Growth Pine Taiga
ShireForest · Birch Forest · Old Growth Birch Forest · Windswept Forest · Dark Forest
BelgianTaiga · Old Growth Spruce Taiga · Old Growth Pine Taiga · Forest
IcelandicSnowy Plains · Snowy Taiga · Ice Spikes · Frozen Peaks · Jagged Peaks · Snowy Slopes · Grove
MustangPlains · Savanna · Windswept Hills · Badlands · Wooded Badlands · Sparse Jungle
HaflingerSnowy Slopes · Grove · Meadow · Frozen Peaks · Jagged Peaks · Stony Peaks
MorganPlains · Sunflower Plains · Forest · Birch Forest · Meadow
American PaintPlains · Sunflower Plains · Savanna · Sparse Jungle
AppaloosaPlains · Wooded Badlands · Savanna Plateau · Sunflower Plains

Files: HorseBreed.java, BhHorseGroupData.java, AbstractHorseMixin.java.


8. Translations added

assets/icys-better-horses/lang/en_us.json now contains keys for:

  • Info-screen labels: screen.icys-better-horses.info.{gender,breed,coat,bond,speed,jump,health}
  • HUD lines: hud.icys-better-horses.{gender,breed}
  • Genders: gender.icys-better-horses.{male,female}
  • All 15 breeds + 5 species placeholders + mix_format
  • Coat colors (7) + markings (4) + combined formatter
  • Message: message.icys-better-horses.same_gender_breed

9. Mixin registration changes

icys-better-horses.mixins.json now also references:

  • AnimalMixin (server-side)
  • HorseAccessor (server-side; Invoker)

Файлы

icys-better-horses-1.1.4.jar(1.25 MiB)
Основной
Скачать

Метаданные

Канал релиза

Release

Номер версии

1.1.4

Загрузчики

Fabric

Версии игры

26.1.2

Загрузок

168

Дата публикации

19.05.2026

Загрузил

ID версии

Главная