MC Toolkit

MC Toolkit / Kalkulatory / Kalkulator hodowli koni / Materiały o statystykach koni — Kalkulator hodowli koni

Materiały o statystykach koni — Kalkulator hodowli koni

Przewidź zdrowie, skok i prędkość źrebaka na podstawie rodziców, według dokładnego wzoru dziedziczenia z kodu gry.

Parents

Parent A

Parent B

Dopuszczalne zakresy: Zdrowie 15–30 HP, Skok 1.09–5.29 bloków, Szybkość 4.74–14.23 b/s. Wartości spoza tego zakresu zostaną przycięte do najbliższej dopuszczalnej wartości przed symulacją. Oboje rodzice muszą zostać nakarmieni Złotym jabłkiem lub Złotą marchewką w grze, zanim będą mogli się rozmnażać.

Foal Outlook

Per-Stat Prediction

How This Is Computed

Real Stat Ranges (Java Edition)

StatLegal rangeDisplayed as
Max Health15 – 30HP (2 HP per heart)
Jump Strength1.09 – 5.29Blocks of jump height
Movement Speed4.74 – 14.23Blocks per second

Siła skoku i Szybkość ruchu są pokazywane w blokach i blokach na sekundę. W samej grze są przechowywane jako surowy atrybut (Siła skoku 0.4–1.0, przeliczana przez krzywą wysokości skoku height = -0.1817v³ + 3.689v² + 2.128v - 0.343, co daje rzeczywistą minimalną wysokość w blokach na poziomie ~1.09 zamiast 0; Szybkość 0.1125–0.3375 bloków na tick, w przybliżeniu ×42.16 przy przeliczaniu na bloki na sekundę przy 20 tickach na sekundę). Symulacja działa na tym surowym atrybucie, tak jak gra, i przelicza na bloki / bloki na sekundę tylko na potrzeby wyświetlania — tak właśnie liczby te pojawiają się w większości modów wyświetlających statystyki.

The Offspring Formula

Każda statystyka źrebięcia — Zdrowie, siły skoku i Szybkość ruchu — jest losowana niezależnie, używając dokładnie tego samego wzoru z kodu gry AbstractHorse.createOffspringAttribute (dotyczy to również osłów i mułów):

  1. midpoint = (parentA + parentB) / 2
  2. range = statMax - statMin for that stat’s legal range
  3. spread = |parentA - parentB| + 0.3 × range
  4. roll = (random() + random() + random()) / 3 - 0.5 — trzy niezależne losowania 0–1 uśrednione, a następnie wyśrodkowane na zero
  5. foalValue = midpoint + spread × roll
  6. Jeśli wynik wykracza poza dozwolony zakres, gra odbija go z powrotem o wartość przekroczenia (max - (foalValue - max)), i to narzędzie robi tak samo — dlatego dwoje rodziców z maksymalnymi statystykami daje średnio około 13.84 b/s szybkości, a nigdy nie osiąga limitu 14.23.

Uśrednianie trzech losowych rzutów (krok 4) zamiast używania jednego płaskiego rzutu sprawia, że wynik skupia się wokół punktu środkowego, zamiast rozkładać się równomiernie — większość źrebiąt ląduje dość blisko średniej swoich rodziców, z okazjonalnymi odstępstwami w kierunku jednej z krawędzi.

Wykorzystuje rzeczywisty waniliowy wzór atrybutów potomstwa (punkt środkowy rodzica + rozkład oparty na różnicy, losowany za pomocą 3 uśrednionych wartości losowych) uruchamiany jako symulacja Monte Carlo po stronie klienta — wyniki są probabilistycznymi szacunkami z wielu symulowanych rzutów, a nie pojedynczą deterministyczną odpowiedzią, co odpowiada działaniu prawdziwej gry. Siła skoku i szybkość są pokazane w bardziej intuicyjnych jednostkach bloków/bloków na sekundę, a nie w surowych wartościach atrybutów.