Skip to content

Интеграция API и аддонов (MC 26.2)

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


📊 Информационный блок интеграции

СвойствоЗначение
Архитектура APIНативные ванильные API ItemEntity и ItemStack
Протокол хранения данныхПрямой ItemStack.getCount() (VarInt / 32-битный Integer)
API GameRuleDynamicGameRuleManager (API DasikLibrary)
Интерфейсы типизацииСовместимо с интерфейсами магнитов и сущностей предметов

🔌 Программные запросы к скоплениям для разработчиков аддонов

Поскольку Item Clumps хранит размер скопления непосредственно в стандартном объекте ItemStack, разработчикам аддонов не требуются специальные фасады для чтения или изменения количества:

1. Чтение количества предметов в скоплении

java
// Standard ItemEntity instance
ItemEntity entity = ...;

// Native vanilla getter returns true mega-count (e.g. 5000)
int trueCount = entity.getItem().getCount();

2. Проверка возможности объединения

java
// Queries Item Clumps customIsMergable logic
boolean canMerge = entity.isMergable();

3. Безопасное изменение количества в скоплении

java
// When mutating item entity counts, always update the stack object:
ItemStack stack = entity.getItem().copyWithCount(newCount);
entity.setItem(stack); // Triggers custom name tag update automatically!

🧲 Хук «утиной типизации» для магнитов и полета предметов

Если вы разрабатываете магнит для предметов или телекинез, вы можете предотвратить слияние предметов в полете, добавив один из следующих методов в миксин ItemEntity:

java
public boolean ig_magnet$isMagnetized() {
    return this.isFlyingTowardsPlayer;
}

// Or legacy alternative:
public boolean ig$isMagnetized() {
    return this.isFlyingTowardsPlayer;
}

Item Clumps автоматически вызывает этот метод через рефлексию во время проверки слияния.


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

Official documentation & web portal for Dasik Igaijinn mods.