Skip to content

Таймер исчезновения и наследование возраста (MC 26.2)

Этот документ описывает жизненный цикл исчезновения, перевод тиков в секунды, наследование возраста самого молодого предмета и защиту ферм в Minecraft 26.2.


📊 Информационный блок функции

СвойствоСпецификация
Имя системыХранитель возраста самого молодого предмета
Ванильный порог исчезновения$6,000\text{ тиков}$ ($300\text{ с} = 5.0\text{ мин}$)
Правило наследования возраста$\text{age}_{\text{merged}} = \min(\text{age}_A, \text{age}_B)$ (выбирается самый молодой)
Задержка подбора$\text{pickupDelay}_{\text{merged}} = \max(\text{pickupDelay}_A, \text{pickupDelay}_B)$ (сохраняется наибольшая)
Целевые поляItemEntity.age и ItemEntity.pickupDelay
Поведение при простоеСтандартный 5-минутный таймер при отсутствии новых предметов

⏳ Математика перевода тиков в секунды

В Minecraft таймеры сущностей обновляются со скоростью 20 тиков в секунду:

$$1\text{ second} = 20\text{ ticks}$$ $$1\text{ minute} = 60\text{ seconds} = 1,200\text{ ticks}$$ $$5\text{ minutes} = 300\text{ seconds} = 6,000\text{ ticks}$$

В ванильной игре ItemEntity увеличивает поле age на $+1$ каждый игровой тик. При $\text{age} \ge 6000$ предмет навсегда удаляется из мира.


🛡️ Правило сохранения возраста самого молодого предмета

При слиянии двух предметов в Item Clumps уцелевшая сущность выполняет:

$$\text{age}{\text{merged}} = \min(\text{age}{\text{this}}, \text{age}_{\text{other}})$$

  Existing Ground Clump                           Newly Dropped Item
  - Count: 500 Cobblestone                       - Count: 1 Cobblestone
  - Age: 5,800 ticks (4m 50s old)                - Age: 0 ticks (Brand new)
                 │                                              │
                 └──────────────────────┬───────────────────────┘
                                        │ (Item Clumps Merging)

                           Merged Mega-Stack Entity
                           - Count: 501 Cobblestone
                           - Age: min(5800, 0) = 0 ticks (Fresh 5-minute timer)

Почему это защищает высокоэффективные фермы

  • Проблема ванильного времени жизни: В ванильной механике при медленном сборе новые предметы, вливаясь в старые, могут исчезнуть через 10 секунд, если старый предмет лежал уже 4 минуты 50 секунд.
  • Решение Item Clumps: Постоянный поток предметов на активных фермах мобов, авто-фермах дерева или карьерах непрерывно сбрасывает возраст скопления на 0. Пока ферма работает, предметы никогда не исчезнут.
  • Очистка бездействующих предметов: Когда ферма перестает производить дроп, скопление лежит неподвижно. Таймер возраста отсчитывает от $0$ до $6000$ тиков, удаляя предметы через 5 минут для предотвращения раздувания файла мира.

🛑 Безопасность задержки подбора

Чтобы игрок моментально не подобрал только что выброшенный из рук предмет, игра назначает pickupDelay (обычно 40 тиков = 2 секунды).

При слиянии предметов:

$$\text{pickupDelay}{\text{merged}} = \max(\text{pickupDelay}{\text{this}}, \text{pickupDelay}_{\text{other}})$$

Это гарантирует, что если игрок бросит предмет на лежащее скопление, оно не притянется мгновенно обратно в инвентарь до истечения задержки подбора.


💻 Исходный код реализации на Java

Из ItemEntityMixin.java в Minecraft 26.2:

java
// During Complete or Partial Merging:
this.pickupDelay = Math.max(this.pickupDelay, ((ItemEntityMixin)(Object)other).pickupDelay);
this.age = Math.min(this.age, ((ItemEntityMixin)(Object)other).age);

🔗 Связанная документация (MC 26.2)

Official documentation & web portal for Dasik Igaijinn mods.