Skip to content

📏 Physical Scale & Dynamic Harvest Drops

NOTE

📌 Отказ от ответственности за статус исходного кода: Документация в этой Wiki отражает текущее состояние исходного кода в репозитории (v1.3.4+26.2), которое может содержать недавние неопубликованные коммиты или функции разработки, опережающие общедоступные релизы на CurseForge и Modrinth.


📋 System Infobox

PropertyValue
Feature NamePhysical Scale & Drop Multiplier System
Master Drop Togglenatural-reproduction:scale_drops (Default: true)
Minimum Scale Limitnatural-reproduction:min_scale (Default: 50 $\implies 0.50\text{x}$)
Maximum Scale Limitnatural-reproduction:max_scale (Default: 130 $\implies 1.30\text{x}$)
Affected ResourcesRaw Beef, Porkchops, Mutton, Chicken, Leather, Wool, Feathers, Bones
Mixin Injection PointAnimalDropScaleMixin.java (LivingEntity#dropFromLootTable)
Primary HelperAnimalDropHelper.java

🎮 Player & Survival Workflow

  1. Visualizing Livestock Size:
    • Animals naturally vary in physical height and width based on genetics, parentage, and pasture health.
    • Large prize animals stand visibly taller than vanilla livestock.
  2. Selective Breeding:
    • Pairing the largest specimens over several generations elevates herd baseline genetics toward the $1.30\text{x}$ maximum cap.
  3. Harvesting Rewards:
    • Harvesting a $1.30\text{x}$ heavyweight cow yields up to $130%$ to $160%$ meat and leather compared to vanilla.
    • Harvesting a $0.25\text{x}$ confined runt yields severely diminished drops (often single meat items).

🧮 Mathematical Formulas & Drop Yield Curve

1. Drop Scaling Multiplier

When an animal entity drops loot items:

$$\text{ScaleFactor} = \frac{\text{getPhysicalScale}(entity)}{1.00}$$

$$\text{FinalDropCount} = \max\Big(1,, \text{round}(\text{BaseLootCount} \times \text{ScaleFactor})\Big)$$

2. Physical Scale & Harvest Comparison Matrix

Scale AttributePhysical DescriptorMeat Drop YieldLeather / Wool YieldVisual Footprint
$0.25\text{x}$Extreme Confinement Runt$1\text{x}$ (Minimum)$0 - 1\text{x}$Tiny miniature runt
$0.50\text{x}$Subordinate / Inbred$1 - 2\text{x}$$1\text{x}$Half vanilla size
$1.00\text{x}$Standard Baseline$1 - 3\text{x}$$0 - 2\text{x}$Standard Minecraft size
$1.15\text{x}$Well-Nourished Pasture$2 - 4\text{x}$$1 - 3\text{x}$Large, healthy livestock
$1.30\text{x}$Alpha Champion / Hybrid Vigor$3 - 6\text{x}$$2 - 4\text{x}$Massive prize specimen
[Entity Death / Loot Drop Trigger]


Is scale_drops Enabled? ──No──► [Vanilla Unscaled Loot]
                │ Yes
Get Entity Scale Attribute (S)


Multiply Each Item Drop: Count = round(BaseCount * S)


Spawn Scaled Item Drops in World!

💻 Developer & Mixin Implementation

AnimalDropScaleMixin dynamically intercepts entity loot generation:

java
@Inject(method = "dropCustomDeathLoot", at = @At("HEAD"))
private void naturalreproduction$scaleLootDrops(ServerLevel level, DamageSource damageSource, boolean recentlyHit, CallbackInfo ci) {
    if (level.getGameRules().getBoolean(NaturalReproductionFabric.RULE_SCALE_DROPS)) {
        AnimalDropHelper.applyScaleToLoot(this, level);
    }
}

Поддержка разработки: Если вам нравится мод, поддержите автора на Ko-fi для раннего доступа к тестовым сборкам!


Official documentation & web portal for Dasik Igaijinn mods.