Список изменений
2.4.0b122-122o1
- Множественные небольшие улучшения внутренней работы движка
- Добавлены методы World.addListenerChunkStateChanged(listener, statesList)/addLocalListenerChunkStateChanged для отслеживания загрузки и выгрузки чанков
- Добавлена возможность получения игровых настроек с помощью Game.getOption(key), воспользуйтесь Game.getOptions для получения списка всех доступных ключей
- Добавлен каллбек OptionsChanged, вызывающийся сразу после завершения изменения игровых опций
- Реализованы пакеты с двоичными данными, передайте массив с байтами для их отправки
- Исправлена работа раздатчиков с ведрами жидкостей из модов, а также передача идентификатора игрока в каллбек CraftRecipePreProvided
- Добавлен EDamageCause для определения типов урона мобов, стандартное значение урона для ToolAPI.registerSword установлено на 4
- Добавлена возможность применить события клика и долгого клика на слотах инвентаря, исправлены обновления и изменение размера слотов
- Добавлены методы для клиентской работы с Updatable: getAllLocal и getLocalSyncTime
- Исправлено отображение переводов для заголовков в конфиге, ItemContainer.sealSlot корректно перезаписывает getTransferPolicy, Entity.health снова работает
2.4.0b120-121 (@reider745)
- Исправления прокси браузера модов
- Исправления повреждающихся сохранений в некоторых случаях, из-за коллизии
- Исправлен текст сообщений об ошибках в модах
- Добавлен модуль API GameController, который позволяет эмулировать действия игрока из модов
- Добавлен метод Entity.getAllLocal
- Исправлены каллбеки EntityAddedLocal/EntityRemovedLocal в мультиплеере
- Исправлен метод Player.localPlayerTurn
- Исправления крашей в мод браузере
- Исправления некоторых крашей в игре, в частности от всплывающих сообщений на некоторых прошивках
2.4.0b118-119 (@reider745)
- Улучшение сетевого протокола
- Добавлены методы BlockSource для управления погодой
- Добавлен метод Particles.addBreakingItemParticle для создания частиц обломков предмета
- Добавлены методы Item.setShouldDespawn/setFireResistant/setExplodable
- Исправлена утечка памяти при рендере моделей
2.4.0b116-117
Добавлена поддержка серверов с модами на основе ядра ZoteCore от @reider745, что также включает в себя:
- Исправления списка серверов (для модпаков список хранится в основной папке модпака)
- Исправление не статичного uuid игрока (от параметров XUID и ника игрока), исправляет сохранения инвентаря в локальной игре
- Добавлена функция синхронизации порта сокет-сервера
- Добавлена синхронизация id биомов
- Другие различные исправления для серверов
- Добавлен прокси в мод браузере, который включается при невозможности подключиться к основной игре (@spawnrys)
- Исправления синхронизации клиентской части TileEntity, добавлены новые методы onConnectionPlayer/onDisconnectionPlayer
- Теперь в сохранениях вместо ошибки будет передаваться пустой объект
- Добавлено условие ICRender.BlockState(x, y, z, stateId, valueState)
- Исправлена работа интерфейсов с челкой (добавлен переключатель в настройки)
- Оптимизация генерации моделей предметов (добавлены настройки)
- Исправлен loadCustom у статических моделей на подключенных клиентах
- Исправлен Entity.getMobile
- World.getWorldTime может возвращать время на клиенте
- Исправлены частые краши Inner Core при запуске
- Обновлен до последней версии Rhino - движок javascript для модов
- Различные оптимизации нативной части Inner Core
- Добавлен метод Player.localPlayerTurn(x, y)
- В PlayerActor добавлены методы canFly/setCanFly, setPlayerBoolean/FloatAbility, getPlayerBoolean/FloatAbility
- Исправлено то что модуль World не работал при подключении в мультиплеере
- Добавлена поддержка пустых ведер для жидкостей
- Исправлен сломанный эвент наступания на блок
- Исправлено перемещение игрока с помощью Dimensions.transfer в тоже измерение где он находится
- Небольшие исправления генератора кастомных измерений
- Исправлена установка некоторых модов
2.3.1b115
- Множество улучшений производительности, стабильности и небольших фиксов
- Исправлен поиск и отсутствие некоторых предметов в верстаке (например аккумулятор из IC2)
- Поддержка приоритета загрузки модов
- Добавлена экспериментальная встроенная ECS
- Добавлен метод ItemModel.setSpriteHandRender
- Добавлен метод CustomDimensionGenerator.setGenerateCaves(generate[, generateUnderwater]), исправлена генерация подземных водоемов по умолчанию
- В BlockSource добавлен метод listEntitiesOfTypeInAABB(x1, y1, z1, x2, y2, z2, stringType), исправлен listEntitiesInAABB с теми же аргументами
- Добавлены методы Player.getLocal() и Player.getServer()
- Добавлены методы UI.getMinecraftUiScale() и UI.getRelMinecraftUiScale()
- Исправлен краш кастомных энчантов
- Исправлена установка сопротивления отбрасыванию броне
- Исправления процесса установки модов
2.2.1b114
Это обновление включает в себя ряд глобальных оптимизаций, которые должны заметно улучшить производительность.
Если у вас установлен мод Kernel Extension, для работы требуется обновить его до последней версии.
2.2.1b107-108
- Исправлен и улучшен API верстака, добавлена полная поддержка рецептов 2х2
- Исправлен баг, из-за которого верстак не вызывал срабатывания каллбека смены экрана
- Исправлен баг прошлой версии, из-за которого некоторые предметы и блоки создавались неправильно
2.2.1b106
- Ванильный верстак теперь поддерживает полный функционал рецептов из модов. Замена интерфейса верстака теперь не используется, но ее можно включить в настройках, если возникнут проблемы.
- Оптимизация доступа к TileEntity по координатам
- Оптимизация и исправления вызовов C++ -> Java
2.2.1b105
- Добавлена экспериментальная возможность создания зачарований
- Небольшая оптимизация вызовов C++ -> Java
- Исправления некоторых отсутствующих иконок в интерфейсе
2.2.1b104
- Исправлен баг, из-за которого последний предмет в руке не тратился
- Исправлены анимированные текстуры жидкостей
- Исправлены кастомные ведра в выживании
- Теперь изменение предмета в событии ItemUse без его отмены работает корректно
- Добавлены методы Block.registerClickFunction[ForID](nameId/id, (coords, item, block, player) => void)
- Исправлены координаты, передаваемые в событие раздатчика, добавлен параметр слота (4 аргумент)
2.2.1b103
- При создании жидкости теперь можно автоматически создать ведро с полным функционалом (см. документацию)
- Добавлен параметр isRenewable для жидкостей, отвечающий за то, является ли она возобновляемой
- Исправлено взаимодействие ведер с жидкостями из модов
2.2.1b102
- Добавлен функционал для создания жидкостей
- Исправлены различные баги менеджера модов, добавлена возможность искать мод по его идентификатору
- Добавлены методы Entity.hasEffect(entity, effectId) и Entity.getEffect(entity, effectId)
- Добавлен метод BlockSource.setDestroyParticlesEnabled(boolean)
- Исправлено то, что Item.invokeItemUseOn не использовал BlockSource переданной сущности
- Исправлены проблемы с ломанием блоков ванильными мечами
- Исправлен вылет при уничтожении присоединяемой модели
- Исправлено создание BlockState по идентификатору блока
- Исправлено, что BlockState.addStates не принимал объекты
- Другие, менее значительные исправления
2.2.1b101
- Исправлен баг, из-за которого блоки забора могли неправильно отображаться в мире
2.2.1b100
- Добавлен метод Block.getMaterial(blockId)
- Добавлены методы PlayerActor: getItemUseDuration(), getItemUseIntervalProgress(), getItemUseStartupProgress()
- Исправлена ошибка из-за которой список модов в мультиплеере строился некорректно
- Исправлено то, что BlockSource.listEntitiesInAABB не возвращал игрока, если ему не передавали параметров для фильтрации
2.2.1b99
- Исправлен баг, из-за которого синхронизация блоков в мультиплеере могла не работать
- Исправлена проверка совпадения списка модов в мультиплеере
- Исправлен вылет при запуске на старых версиях Android на некоторых устройствах
2.2.1b98
- Исправлен Commands.exec
- Исправлен Entity.getNameTag
2.2.1b97
- Теперь при игре по сети производится дополнительная синхронизация идентификаторов вариаций блоков, которая должна убрать ошибку с рассинхроном идентификаторов даже при разных модах на подключенных устройствах.
2.2.1b96
- Добавлены методы Recipes.getAllWorkbenchRecipes() и Recipes.getAllFurnaceRecipes()
- Добавлен метод BlockSource.getBiomeDownfallAt(x, y, z)
- Добавлены настройки элемента слота: iconScale и disablePixelPerfect
- Добавлен ы методы UI.Window: updateScrollDimensions() и updateWindowPositionAndSize()
- Добавлен новый тип расположения текста: 3 - ALIGN_CENTER_HORIZONTAL
- Добавлен метод runOnClientThread(function), аналог runOnMainThread, но для клиентского потока
- Исправления числовых идентификаторов предметов и связанных рецептов - звезда ада, арбуз, пластинки, лошадиная броня, огненный шар, фейерверки
- Исправлена модель нагрудника для брони из модов
2.2.1b95
- Добавлены методы BlockSource setExtraBlock(x, y, z, BlockState/[id, data]) и getExtraBlock(x, y, z) -> BlockState для доступа и установки дополнительных блоков, таких как вода внутри других блоков
- Добавлены параметры описания блоков can_contain_liquid и can_be_extra_block
- Добавлены методы Block.canContainLiquid(id) and Block.canBeExtraBlock(id)
- Исправлена ошибка, из-за которой изменения настроек не применялись в первый запуск после изменений
- Исправлены вылеты в конфигурации модов
- Исправлена ошибка, из-за которой настройки языка загружались некорректно
- Добавлена настройка для разработчиков, чтобы создавать дампы информации о всех блоках
2.2.1b94
- Исправлен баг с выбором сборок, возникший в версии 2.2.1b93
- Исправлен метод Item.isValid(id), добавлены методы IDRegistry.getStringIdAndTypeForIntegerId(id), IDRegistry.getTypeForIntegerId(id), IDRegistry.getStringIdForIntegerId(id)
- Исправлен getEnchantName у ItemExtraData
2.2.1b93
- Исправлена еда, добавляемая модами
- Восстановлен базовый функционал PathNavigation
- Доба влены методы для изменения цвета и дистанции подводного тумана, исправлен подводный туман в кастомных измерениях
- Добавлены события EntityAddedLocal и EntityRemovedLocal - аналоги EntityAdded и EntityRemoved на стороне клиента
- Исправлен метод Entity.setOffhandItem
- Добавлен метод Dimensions.getAllRegisteredCustomBiomes(), возвращающий объект, содержащий все кастомные биомы
- Исправления вылетов во время игры
- Исправления ошибок и небольшой редизайн менеджера модов
- Исправлена ошибка, из-за которой могла загрузиться не та сборка модов
- Улучшена поддержка китайского языка
2.2.1b92
- Ошибки обновляемых объектов (например механизмов) теперь не выключают все моды, вместо этого они отключают конкретный обновляемый объект.
- Исправления вылетов на некоторых устройствах
2.2.1b90-91
- Хот фикс ошибок прошлой версии
2.2.1b89
- Исправлены ошибки, вызванные рассинхронизацией блоков в мультиплеере и работа верстака у подключенных игроков
- Добавлена возможность работы с параметрами ванильных блоков (block states)
- Исправлены ошибки с вызовом событий генерации
- Улучшена стабильность сохранений
- Исправлена вкладка ссылок
- Исправлен баг с лишними предметами в инвентаре креатива
2.2.1b88
- Добавлен коллбек поднятия существом дропа EntityPickUpDrop(entity, dropEntity, dropStack, count), на данный момент вызывается только для игроков
- Обновлена страница ссылок, добавлены ссылки на статьи по разработке модов и сборок
- Исправлены ошибки ItemModel, другие ошибки и вылеты
2.2.1b87
- Исправлены о шибки системы паков, а также ошибки менеджера модов
- Исправлены отсутствующие и неправильные рецепты верстака, а также отсутствующие иконки блоков и предметов
- Добавлены полезные ссылки в пункте меню "Настройки и Ссылки"
2.2.1b86
- Общая оптимизация, затрагивающая многие аспекты игры, которая улучшит производительность в мире. Больше всего это проявится при нескольких крупных модах.
- Исправлены сильные лаги в инвентаре креатива, если присутствуют предметы с дополнительными данными
- Немного оптимизирован поиск в креативе
2.2.1b85
- Глобальное обновление менеджера модов, интерфейс полностью переработан, исправлены недочеты предыдущих версий
- Добавлена поддержка сборок модов, их установки, изменения и создания своих
- Модели блоков теперь загружаются быстрее и потребляют меньше оперативной памяти
- Методы BlockSource.breakBlock/ForJsResult теперь вызывают событие DestroyBlock, если им был передан игрок или сущность, которая существует и находится в том же измерении, что и BlockSource (и вызов не был отменен в событии BreakBlock)
2.2.0b84
- Добавлены события PreProcessChunk и PostProcessChunk - универсальные события генерации, первое из которых вызывается перед генерацией ванильных структур, а второе после. Все остальные события генерации вызываются после генерации ванильных структур, но до PostProcessChunk.
- Исправлены отсутствующие рецепты кровати и сундука
- Исправлены установка мещи в ActorRenderer
- Исправлены редкие вылеты при входе и выходе из мира
- Исправлены непрозрачность текстур на далеких блоках
- Исправлен config.json для модов с .redirect
- Элементу слота добавлен binding selection_forced
2.2.0b83
- Перерабо тана система дропа блоков из модов
- Добавлено событие BreakBlock(BlockSource, position, block, isDropAllowed, player, item) - вызывается при уничтожении блока, в отличие от DestroyBlock вызывается не только при уничтожении игроком, но и при уничтожении блока новыми методами BlockSource. Событие используется в основном для реализации дропа с блоков, логика при уничтожении руками должна находиться в DestroyBlock.
- Функции дропа теперь используют BreakBlock за основу
- Добавлены методы BlockSource: breakBlock(x, y, z, isDropAllowed[, actor][, item]) - уничтожает блок, вызывая событие BreakBlock, breakBlockForJsResult(x, y, z[, actor][, item]) - то же самое, что и breakBlock, однако дроп и опыт не выпадает, а возвращается как результат, формат:
{ experience:, items: [{ id:, count:, data:, extra: }, ... ] }
2.2.0b82
- Добавлены методы контейнера setSlotSavingEnabled(name, enabled), setGlobalSlotSavingEnabled(enabled), которые контролируют то, какие слоты сохраняются
- Добавлен парамет р методу destroy в TileEntity, отвечающий за то, было ли уничтожение вызвано событием DestroyBlock
- Оптимизированы методы редактирования инвентаря игрока
- Исправлена установка способностей игрока, включая полет
- Исправлен серверный каллбек открытия ItemContainer, который происходил до отправки пакета открытия
- Исправлены некоторые рецепты печи
- Исправлен баг с загрузкой на старых версиях Android
- Исправлен баг с ломанием льда
2.2.0b79-81
- Добавлены отсутствующие и исправлены существующие рецепты в верстаке
- Исправлен баг, из-за которого новая версия вылетала при запуске на некоторых устройствах (начиная с 1.16.201)
- Исправлен баг, из-за которого были частые вылеты при запуске на некоторых устройствах (старый баг, начиная с 1.11.4)
2.2.0b78
- Продолжение исправл ения генерации мира
2.2.0b77
- Исправлена генерация мира, которая вызывалась несколько раз на чанк. Это сильно снизит лаги от генерации мира.
- Генерация модов теперь проиcходит ПОСЛЕ ванильной генерации
- Еще одна попытка исправить загрузку модов на некоторых устройствах
- Добавлены методы логгера: Logger.debug(tag, message), Logger.info(tag, message), Logger.error(tag, message[, error])
2.2.0b76
- Исправлена загрузка модов с ресурспаками
- Исправлены ошибки, вызываемые сохранением
- Исправлена загрузка модов на некоторых устройствах
- Добавлен параметр "category" при Item.createItem
2.2.0b75
Перенос на Minecraft 1.16.201
- В мультиплеере может возникнуть проблема синхронизации ванильных ID блоков, для ее решения можно поменять местами хоста и клиента
- Добавлен API для рендера брони и присоединяемых к мобам моделей
- Переписан загрузчик модов
- Переписана система сохранений и некоторые другие модули
- Начата работа над ECS и Java API
2.1.0b72
- При подключении к миру, для всех блоков и предметов, которые по какой то причине есть у хоста, но нет у клиента, создаются пустышки, для предотвращения вылетов
- Нативный протокол протестирован на высокой нагрузке, исправлены возможные вылеты и зависания
2.1.0b71
- (Экспериментально) Сохранение аккаунта Xbox при повторном запуске
- Небольшие исправления
2.1.0b70
- Добавлена помощь по мультиплееру в окне логина в Xbox
- Увеличен таймаут инициализации клиента до 90 секунд
- Исправления сетевых сущностей
- Другие мелкие исправления
2.1.0b69
- Исправлена ошибка, из-за который предметы с доп. данными могли время от времени пропадать из интерфейса
- Добавлен метод getLightLevel(x, y, z) в BlockSource
2.1.0b68
- Небольшие улучшения нативного протокола (игра по сети через Xbox)
2.1.0b65-67
- Xbox логин теперь рабочий на большинстве устройств.
2.1.0b64
- Добавлена экспериментальная возможность логина в аккаунт Xbox
Теперь можно подключаться к друзьям из аккаунта Xbox с такими же модами (с поддержкой мультиплеера). Подключение через Xbox происходит только через нативный протокол, добавленный в 2.1.0b63.
2.1.0b63
- Добавлена возможность использовать нативный протокол MCPE для игры по сети. Эта опция может быть включена в настройках движка. Нативный протокол может улучшить соединение, но на данный момент может быть нестабилен.
- Небольшие исправления
2.1.0b61-62
- Исправления ItemContainer и BlockSource
- Другие исправления
2.1.0b60
- Добавлен метод exists() у анимаций
- Небольшие исправления
2.1.0b59
- Добавлены методы BlockRenderer.setCustomRaycastShape(id, data, collisionShape), BlockRenderer.setCustomCollisionAndRaycastShape(id, data, collisionShape)
- Добавлены методы BlockRenderer.mapCollisionModelAtCoords(dimensionId, x, y, z, model), BlockRenderer.mapRaycastModelAtCoords(dimensionId, x, y, z, model), BlockRenderer.mapCollisionAndRaycastModelAtCoords(dimensionId, x, y, z, model), для маппинга физических моделей и моделей для взаимодействия, передача null вместо модели уберет маппинг, маппинг работает на любой блок, включая воздух
- В BlockSource добавлен м етод getBlock(x, y, z), возвращающий объект, содержащий идентификатор и мету
- Очистка маппинга визуальных моделей и анимаций при смене измерения (на стороне клиента)
- Небольшие исправления
2.1.0b58
- Небольшие исправления
2.1.0b57
- Добавлен метод Network.inRemoteWorld() - возвращает
true
, если не является хостом - Добавлено событие ItemUseLocal(coords, item, block, player) - использование предмета на стороне клиента
- Добавлено событие ConnectingToHost(host, minecraftPort, moddedPort) - подключение к удаленному миру
- Улучшения NetworkConnectedClientList
- Добавлен метод BlockSource.getCurrentClientRegion()
- Другие исправления
2.1.0b56
- Новая система кеширования моделей предмет ов, которая кеширует все модели, а не только измененные модом, и поддерживает группы кеширования.
- Вызовите ItemModel.setCurrentCacheGroup("groupName", "version") в начале мода, чтобы создать группу кеша, все модели, созданные в корне этого мода (включая стандартные модели блоков) будут занесены в эту группу. Если версия кеша группы не совпадает с установленной, то кеш будет создан заново.
- Исправлено взаимодействие ItemContainer с дополнительными данными предметов.
2.1.0b55
- Исправлена совместимость с Recipe Viewer
- Добавлен параметр спецтипа блока color_source, может быть одним из 4 значений: "none", "leaves", "grass", "water"
- Загрузка моделей предметов ускорена и требует меньше памяти
- Небольшие улучшения
2.1.0b48-54
Эти версии содержат в основном исправления после введения мультиплеера.
2.1.0b47
Данное обновление добавляет экспериментальную поддержку локального мультиплеера, позволяющую игрокам с одинаковыми модами и подключенными к одной сети Wi-Fi играть вместе, при условии, что моды поддерживают игру по сети.
Оставлена возможность подключиться к миру с модами без поддержки мультиплеера (появится предупреждение), однако это может вызвать неправильное поведение этих модов и краши.
В скором времени выйдет документация по добавлению поддержки сетевой игры в моды для их разработчиков.
2.0.5b46
- Исправлен баг версии 2.0.5b45, вызывавший баги иконок от предметов с доп. данными
- Исправлен баг, из-за которого менеджер модов не отображал моды с .redirect
2.0.5b45
- Добавлен метод модели предмета setModelOverrideCallback(function(item) { ... }), которая устанавливает модели функцию, возвращающую модель предмета для конкретного предмета в мире. Работает как item override function, но для моделей.
- Добавлен метод ItemModel.newStandalone(), создающий пустую модель предмета, которая ни к чему не привязана, данные модели могут быть использованы, как результат функции setModelOverrideCallback
- Теперь в функцию определения иконки предмета (item override function) может передаваться extra
- Исправлен вылет, который мог быть вызван вызовом методом toScriptable() NBT-тэгов
- Для сборки java кода теперь используются другие инструменты (для построения .dex файлов исп ользуется d8, а не dx)
2.0.5b44
- Возможность получения и изменения NBT мобов, ванильных TileEntity и предметов
- Добавлены методы: Entity.getCompoundTag(entity), Entity.setCompoundTag(entity, tag)
- Добавлены методы ванильных TileEntity, возвращаемых World.getContainer(): getCompoundTag(), setCompoundTag(tag)
- Добавлены методы ItemExtraData: getCompoundTag(), setCompoundTag(tag)
- Интерфейс модов теперь поддерживает предметы модов с анимированной иконкой
- Функция динамичной иконки предметов теперь получает второй булевый параметр isModUi, показывающий, в ванильном интерфейсе иконка или нет
- Добавлен метод Debug.big, аналогичен Debug.m, однако выводит все в диалог с возможностью копирования текста и форматирует JSON
- Событие click у TileEntity теперь получает еще один аргумент - координаты клика
- Исправлен краш, происходивший в некоторых условиях от аддонов
2.0.4b43
- Автоматическое удаление из миров паков ресурсов и поведения, которые были добавлены удаленными модами
- RenderMesh теперь может принимать не только абсолютный путь к файлу, но также путь в ресурсах мода или имя файла внутри директории models/ в ресурсах мода
- Параметры элемента слота isTransparentBackground и его устаревшая версия needClean теперь оба являются устаревшими, теперь слот по умолчанию поддерживает прозрачный фон
- Добавлен метод контейнера setOnOpenListener(function(container, window) { ... })
- Временно убрана сборка для архитектуры x86, которая пока что не была рабочей, это снизит размер пака
- Исправлена ошибка от двойного вызова WRAP_JAVA на один и тот же класс