Commit Graph
98 Commits
Author SHA1 Message Date
MaXFeeD 103d687135 fix: Реимплементированы тики апдатейблов, очистка disabledDueToError, методы для обратной совместимости 2025-01-14 21:58:26 +03:00
MaXFeeD 34eded5df9 typo: Спрятаны неиспользуемые опции апдатейблов из конфига 2025-01-14 21:15:17 +03:00
MaXFeeD 8a50de87ea fix: Entity.getMobile() должен быть инвертирован 2024-03-02 23:47:13 +03:00
MaXFeeD f7a1d72450 fix: Исправлены методы Entity.getMobile(), Entity.health() 2024-03-02 23:45:02 +03:00
MaXFeeD f5bc6a0be2 Merge branch 'NukkitMot' of https://github.com/Reider745/ZotCore into NukkitMot 2024-02-29 01:07:15 +03:00
MaXFeeD 51251c701a feat: Поддержка серверных звуков
- Реализация `World.playSoundAtEntity(ent, sound, volume, pitch)`, метод `World.playSound(x, y, z, sound, volume, pitch)` признан устаревшим, звуки из него играют в стандартном мире.
- Добавлен метод в блоксурс `region.playSound(x, y, z, sound, volume, pitch, players?)`. Последний аргумент это массив из игроков, для которых необходимо воспроизвести звук, по умолчанию (если аргумент не указан) звук воспроизводится для игроков у которых загружен необходимый чанк.
2024-02-29 01:07:08 +03:00
MaXFeeD 8acd311264 feat: Улучшения для работы мультиплеера
- Получение идентификатора мира для игроков и регионов для использования в `BlockSource.getDefaultForLevel`.
- Установка респавна для определенного блоксурса `setRespawnCoords(x, y, z)`, изменение основной точки спавна старым методом.
- Так называемый стандартный мир, основное измерение. Возможно, следует использовать часть клиентских методов на нем для обратной совместимости.
2024-02-29 00:58:07 +03:00
MaXFeeD 3d4683ed22 feat: Телепортация игрока, а также поворот по осям 2024-02-29 00:47:30 +03:00
MaXFeeD ae13a7f664 feat: Овверайды для отмены попадания проджектайла
- Используется новая реализация Nukkit-MOT вместо овверайдов, по умолчанию сервер не перезапускается при ошибках тика.
2024-02-24 18:56:33 +03:00
MaXFeeD 44a416e4df typo: Отключение сообщений о конверсии типов по умолчанию 2024-02-24 18:42:58 +03:00
MaXFeeD e0a064594e typo: Удалены неиспользуемые классы и клиентские методы
- Типизация, разметка клиентских методов, фиксы случайных ошибок при подключении игрока, различные улучшения.
- В калбеки крафта передается игрок (изначально проблема иннера), использование региона генератора в части клиентских методов.
2024-02-24 18:36:48 +03:00
MaXFeeD bb5b5aa02c typo: Удалены неиспользуемые классы энчантов 2024-02-14 15:03:06 +03:00
MaXFeeD 6e993b6f8a feat: Опции для контроля поведения серверных ошибок тика
- Добавлены опции `display-ticking-errors-to-players`, `stop-on-critical-ticking-error`, обе по умолчанию включены и предпочтительны.
- Уточнения по поводу команды `/profilecallback [enabled] [showParameters]`.
2024-02-14 05:01:17 +03:00
MaXFeeD f576284822 build: Откат версии Rhino до 1.7.7, поскольку 1.7.8 препятствует запуску некоторых модов 2024-02-14 04:28:56 +03:00
MaXFeeD 50b8f092a4 build: Экспериментальное сжатие для основы плагинов 2024-02-14 04:20:03 +03:00
MaXFeeD 5e6f2ddc66 build: Nukkit-MOT vgit-9ebdd88 2024-02-14 01:03:27 +03:00
MaXFeeD 5dd821dce1 fix: Временное решение для дамага броне 2024-02-13 15:24:23 +03:00
MaXFeeD 368a5ed852 typo: Отображение правильной версии протокола 2024-02-13 15:24:23 +03:00
MaXFeeD ca60faaa8c feat: Чары кастомной брони и инструментов, добавление в луттейблы 2024-02-13 15:24:23 +03:00
MaXFeeD 5088182f68 typo: Клиентские методы, кодстайл 2024-02-13 15:24:23 +03:00
MaXFeeD b92ae5ea64 feat: Приостановка тика при ошибках, сообщение игрокам
- Если после повторного включения не пройдет небольшой таймаут до следующей ошибки, сервер перезапустится.
2024-02-13 15:24:23 +03:00
MaXFeeD eb757b460b feat: Отправка фатальных ошибок игрокам 2024-02-13 15:24:23 +03:00
MaXFeeD d6eb24c47f fix: Поддержка подключений IPv6 #4 2024-02-13 15:24:23 +03:00
MaXFeeD 09bc1cfed5 refactor: Оптимизация работы карты биомов, фикс высоты измерений 2024-02-13 15:24:23 +03:00
MaXFeeD a48d5fb380 feat: Регистрация кастомных зачарований
- Функции `setIsLootable` и `setIsDiscoverable` будут добавлены как только появится реализация.
2024-02-13 15:24:23 +03:00
MaXFeeD 6885d12241 feat: Возможность заливать блоки жидкостями 2024-02-13 15:23:04 +03:00
MaXFeeD 8ad872ce47 fix: Порядок аргументов в добавлении эффектов 2024-02-13 15:23:04 +03:00
MaXFeeD 44aaf3664b feat: Базовая форма и свойства блоков
- Реализация метода `Block.setShape` для кастомных блоков.
- Большинство свойств из специального типа задействуются на блоках.
2024-02-13 15:23:03 +03:00
MaXFeeD 69e5d24d77 feat: Реализация калбека ItemDispensed
- Превент действия отменяет дроп, позволяя задать пользовательское поведение.
2024-02-13 15:23:03 +03:00
MaXFeeD 71670deb3c feat: Добавлена команда /profilecallback [enabled] [showParameters]
- Предназначена для разработчиков и мододелов, отображает время затраченное на выполнение калбеков.
- Второй параметр отвечает за отображение аргументов передаваемых в калбеки, может использоваться отдельно.
2024-02-13 15:22:40 +03:00
MaXFeeD 61e37bfcf4 feat: Улучшения для кастомной брони
- Броню теперь можно надевать на стойку, а не только ложить ее в руку.
- Броня надевается без открытия инвентаря.
2024-02-13 15:22:40 +03:00
MaXFeeD fd24eec4fc feat: Добавлена обработка пакетов игроков при получении команд
- В случае если команда приходит от игрока, меняется последний аргумент калбека `fromPacket`.
2024-02-13 15:22:40 +03:00
MaXFeeD d5d698270f fix: Исправлена серьезная потеря экстры при клонировании предмета 2024-02-13 15:21:54 +03:00
MaXFeeD 902fb67bc5 fix: Калбек Redstone получает корректный уровень сигнала 2024-02-13 15:21:54 +03:00
MaXFeeD 2c833164d2 feat: Реализация нативного верстака 2024-02-13 15:21:54 +03:00
MaXFeeD 2bca5a0bf2 fix: Исправлен калбек ProjectileHit
- Отмена действия отменяет урон (но удаляет стрелу, ждем изменения поведения моты) и позволяет проджектайлу продолжать движение.
- Корректная передача энтити, убран hitEntity.
2024-02-13 15:21:53 +03:00
MaXFeeD eaa46b476e refactor: Снесены поинтеры в экстре и провайдеры
- Какие провайдеры, я не подключал услуги связи, будьте добры не подсаживать меня на них.
- Предметы в большинстве методов не дублируются для корректной обработки экстры.
- Использование конверсии идентификаторов, а также удалены устаревшие методы.
2024-02-13 15:21:53 +03:00
MaXFeeD 24c397b421 refactor: Разделение классов кастомных предметов и брони
- Регистрация кастомных идентификаторов поддерживает ItemDurable.
- Снесены свойства предметов, которые не могут описываться внутри предметов.
2024-02-13 15:21:53 +03:00
MaXFeeD 9efd2e2d39 feat: Экслюзивный метод Item.setFireResistant 2024-02-13 15:21:53 +03:00
MaXFeeD ec830e57d3 feat: Реализация BlockSource.spawnEntity 2024-02-13 15:21:52 +03:00
MaXFeeD e62a885a98 fix: Исправлено ограничение скорости ломания кастомных инструментов 2024-02-13 15:21:52 +03:00
MaXFeeD 3f6e6f61e5 fix: Исправлено ограничение полета на джетпаках 2024-02-13 15:21:52 +03:00
MaXFeeD 5cf78ec9e3 fix: Исправлен двойной дроп от кастомных блоков 2024-02-13 15:21:52 +03:00
MaXFeeD 3dd6427a36 refactor: Снесена загрузка модов ДО Nukkit-MOT
- Добавлен сбор всех мобов в fetchEntitiesInAABB, работа метода восстановлена.
- Вырезаны реализации очередных клиентских методов.
- Ванильные идентификаторы корректно возвращаются после вызова IDRegistry.getIdInfo.
2024-02-13 15:21:52 +03:00
MaXFeeD c139560f67 feat: Реализация BlockSource.fetchEntitiesInAABB здорового человека
- Фиксы метода IDRegistry.getIdInfo для ванильных идентификаторов и связанных методов.
2024-02-13 15:21:51 +03:00
MaXFeeD 1c70287484 feat: Экспериментальная поддержка ванильного верстака и печки
- По умолчанию отключено, необходимо добавить пропущенные ванильные рецепты в Nukkit-MOT и исправить существующие.
- Требует реализации калбеков крафта, заменяющих результат.
2024-02-13 15:21:51 +03:00
MaXFeeD fbf32867b8 fix: Хотфиксы внутренних API 2024-02-13 15:21:51 +03:00
MaXFeeD e9e28edcf1 feat: Реимплементация конверсии идентификаторов 2024-02-13 15:21:51 +03:00
MaXFeeD 227b15d414 feat: Добавлены калбеки ServerCommand и ServerPlayerLogin
- Если игрок с ником уже подключен, присоединяющегося кикнет.
- Удалены неактуальные предупреждения.
2024-02-13 15:21:51 +03:00
MaXFeeD d35cad3de3 typo: Информация по поводу сокетов 2024-02-13 15:21:51 +03:00
MaXFeeD ec59565514 fix: Удалены клиентские калбеки, исправлено переподключение по нативному протоколу 2024-02-13 15:21:50 +03:00
MaXFeeD 59c7bb0200 fix: NBT возвращает стандартные значения, если других не обнаружено 2024-02-13 15:21:50 +03:00
MaXFeeD a542cdac8f fix: Рекурсии в повторных вызовах методов
- Исправлено поведение `Entity.damageEntity`, `Item.invokeItemUseOn`, `Item.invokeItemUseNoTarget`.
- На всякий случай `BlockSource.explode`.
- Добавлен аргумент `hitEntity` в калбек ProjectileHit, все проджектайлы обрабатывают это событие.
2024-02-13 15:21:50 +03:00
MaXFeeD a55de6b20b fix: Получение NBT, идентификаторов, экстры у мобов
- NBT единожды обновляется перед получением для тайлов и существ.
- Возвращена экстра в `ItemStack`, моды по типу Vein Miner запускаются без костылепляски.
- Реализация `IDRegistry.getStringIdAndTypeForIntegerId`.
- Дроп может изменять длительность жизни через `Entity.get/setAge`.
- Добавлен метод `BlockSource.getLevelForName`, получение блоксурса моба учитывает его, а не измерение.
- Еще несколько отладочных реализаций.
2024-01-09 06:16:04 +03:00
MaXFeeD df01c3714a fix: Улучшен выхлоп от отладочных команд 2024-01-07 20:46:47 +03:00
MaXFeeD 89b2e50052 fix: Методы получения типов, базовая версия 2024-01-03 22:20:19 +03:00
MaXFeeD 7224f7a140 refactor: Улучшены отладочные команды
- Объединены player_info и inner_core_network, добавлено имя игрока.
- В список модов добавлены версии для мультиплеера, если они отличаются.
- Стандартизация вывода от команд.
2024-01-02 22:44:58 +03:00
MaXFeeD 80a44fb137 feat: Имплементация методов мобов
- Реализация setPositionAxis, get/setFireTicks, getTypeName, getRider, getRiding.
- Метод getEntityType работает на любых известных мобах.
- Метод setAge обновляет состояние мобов если они уже выросли.
- Метод dealDamage принимает причину урона и моба, который совершил атаку.
- Стандартизация необходимых проверок.
2024-01-02 21:26:38 +03:00
MaXFeeD 6e14b5b6bb fix: Закрытие сокета после неудачи 2023-12-31 03:03:21 +03:00
MaXFeeD 9889d7c225 feat: Реализация методов обработчика игрока
- Имплементация invokeUseItemNoTarget, getItemUseDuration, setExhaustion.
- Новые методы setCanFly, canFly, setFlying, isFlying.
2023-12-31 02:46:29 +03:00
MaXFeeD 27e399218b fix: Кастомные сохранения и модели блоков
- Если какой-либо скоуп с данными ранее не сохранялся, он не будет выдававать ошибку при чтении.
- Методы, изменяющие текстуры моделей блоков более не приводят к ошибкам.
2023-12-30 02:47:16 +03:00
MaXFeeD 8b5151bc89 feat: Игнорирование неподдерживаемых протоколов вне режима разработчика 2023-12-30 02:44:55 +03:00
MaXFeeD eb9c46959d fix: Уточнения опций загрузчика 2023-12-30 01:22:06 +03:00
MaXFeeD bf9c513eac feat: Добавлен выбор модпаков
- Принимает путь, имя папки или название модпака, который нужно загрузить.
- Взрывы, вызванные из модов, теперь тоже отлавливаются калбеком.
2023-12-26 05:05:15 +03:00
MaXFeeD 61beb45a3e refactor: Переписана реализация конфигурации
- Загрузчик теперь имеет собственный конфиг *zotecore.yml*, в котором хранятся настройки ядра.
- Свойства можно получить, используя инстенс сервера, наккитовский сервер доступен отдельно.
- Устаревшие или неподдерживаемые методы по умолчанию логгируются в отладочный лог если он включен.
2023-12-26 03:20:18 +03:00
MaXFeeD 118ec09512 refactor: Дополнены прошлые события
- Исправлена изначальная реализация события взрывов, теперь она вызывается для мобов и блоков.
- Добавлено событие смерти еще игрока, а не только существ.
- Еще раз отключена сборка на GHA.
2023-12-25 07:17:01 +03:00
MaXFeeD b45ffd1cd1 feat: Реализация новых событий
- Добавлено событие EntityDeath.
- Добавлены события ExpAdd и ExpLevelAdd.
- Добавлено событие EntityPickUpDrop.
- Добавлено событие BlockChanged (требуется уточнение).
- Добавлено событие ExpOrbsSpawned.
- Исправлены идентификаторы причин урона для EntityHurt.
- Событие Explosion может быть вызвано и для блоков.
2023-12-25 06:44:50 +03:00
MaXFeeD 67d040da70 feat: Добавлен патчинг нативных методов для Java 2023-12-24 06:44:53 +03:00
MaXFeeD a8a0efe9fa feat: Поддержка загрузки Java из модов 2023-12-24 02:40:07 +03:00
MaXFeeD 4b3c6d74a9 feat: Новогоднее событие, ожидаем обновления сервера 2023-12-23 00:45:02 +03:00
MaXFeeD 4e1de2c740 refactor: Клиентские методы должны быть устаревшими 2023-12-17 02:37:22 +03:00
MaXFeeD 5880887935 fix: Моды запускаются в потоке ядра 2023-12-15 13:01:10 +03:00
MaXFeeD d692bea880 perf: Реализация пакетов innercore.mod, innercore.modpack
- Добавлена загрузка, кеширование и компиляция модов из Instant Referrer.
- Загрузка иннера перемещена в соответствующий класс.
- Добавлен метод Level.getSeed, калбеки должны начать использовать его.
- Исправления, которые слишком долго описывать.
2023-12-11 15:38:19 +03:00
MaXFeeD 3b4accc12d lint: Отлинтован README.md 2023-12-11 11:43:41 +03:00
MaXFeeD e0c6b12995 perf: Удалены неиспользуемые бехавиоры
- Исправлена выгрузка артефакта CI.
2023-12-11 11:34:36 +03:00
MaXFeeD c3f7312cdb feat: Обновлены константы TileEntityType 2023-12-11 11:22:41 +03:00
MaXFeeD 6625f441ed perf: Реализация всего innercore.api 2023-12-11 03:55:44 +03:00
MaXFeeD 8ef53c56c5 perf: Реализация подпакетов innercore.api
- Подготовлены затычки под измерения, включено старое API для обратной совместимости.
- Реализованы методы ICLog для обратной совместимости, они будут доступны только по запросу.
- Улучшена стабильность именованных бинарных тегов и листов.
2023-12-11 03:45:57 +03:00
MaXFeeD f0e9196891 feat: Добавлены все тайлы наккита в энумы для конверсии 2023-12-08 19:44:15 +03:00
MaXFeeD 80b79e2207 perf: Реализация пакета innercore.api
- Убраны реализации для клиентских классов и методов, выводятся предупреждения.
- Улучшена реализация нативных тайлов, подготавливаются энумы.
- Добавлены затычки для нативных методов из Inner Core с поинтерами.
- При реализации тех же методов с другими аргументами ЗАПРЕЩАЕТСЯ менять типы аргументов и их количество для обратной совместимости.
2023-12-08 19:23:38 +03:00
MaXFeeD fafae8a1d7 perf: Скрыты папки .todo и .vscode 2023-12-08 18:39:55 +03:00
MaXFeeD 714928d0ba Merge branch 'NukkitMot' of https://github.com/Reider745/ZotCore into NukkitMot 2023-12-06 16:25:50 +03:00
MaXFeeD d0604f1558 feat: Имплементация нативных затычек
- Абстрактные методы также будут игнорироваться.
- Реализация `FileTools.unpackAsset`.
2023-12-06 16:25:43 +03:00
MaXFeeD 446c103153 feat: Реализация пакета innercore.api.runtime 2023-12-06 15:53:13 +03:00
MaXFeeD 1617db77e9 feat: Реализация пакета innercore.ui 2023-12-06 05:30:21 +03:00
MaXFeeD 566a338201 feat: Реализация пакета innercore.utils 2023-12-06 05:29:51 +03:00
MaXFeeD 0485e54377 style: Никаких змеиных раскладок, вы на Java
- Улучшены описания различных ошибок при обработке хуков.
2023-12-06 05:28:23 +03:00
MaXFeeD e9e92d69fe feat: Методы получения экземляров в затычках общедоступны 2023-12-06 05:22:58 +03:00
MaXFeeD 32b0b5823c feat: Внедрение патчей для методов Rhino
- Восстановлена работа `MembersPatch`, предоставляемого Inner Core.
- Использован овверайд получения цветов и изменения класспатча для старых модов.
- Немного изменен порядок загрузки, чтобы лучше соответствовать игре.
2023-12-06 05:21:58 +03:00
MaXFeeD 6d97358f38 fix: Проверки на null спасают жизни 2023-12-05 23:03:28 +03:00
MaXFeeD 092f40a414 refactor: Используется оригинальный метод распаковки модов
- Проверяется наличие 'build.config' и первый попавшийся используется для установки.
- Может быть использован скрипт установки, подробнее о котором можно прочитать в документации.
2023-12-05 21:43:15 +03:00
MaXFeeD 88e38e00a8 feat: Улучшения процесса первоначальной установки
- По умолчанию будет распакован 'innercore.zip', если его нет, папка 'innercore'.
- Ошибки стали информативнее и возвращают код 32 в случае неудачи.
- Удалены неиспользуемые методы, существующие могут распаковывать как файлы так и папки.
2023-12-05 21:42:41 +03:00
MaXFeeD 357c1c64be fix: Улучшение генерации заглушек для интерфейсов 2023-12-05 16:07:25 +03:00
MaXFeeD fae11a266a feat: Значительно расширены заглушки библиотек
- Добавлены имплементации к наиболее часто используемым методам, а также утильным классам, используемых в модах.
- Объекты возвращают ссылки на самих себя если это возможно, например в билдерах.
- Для экземляров используются синглтоны, это гарантирует ненулевые объекты, но требует некоторых ограничений во избежание рекурсии.
- Обновлен таск пересборки оригинального жабадока, дополнительных действий не требуется (`gradle rebuildAndroidStubs`).
- Некоторые возможности должны быть доработаны, смотреть #2.
2023-12-04 04:45:12 +03:00
MaXFeeD 6f07bea3b5 refactor: Очищаем код для приятной работы 2023-12-04 04:38:24 +03:00
MaXFeeD 4f68fcb310 feat: Добавлена поддержка Windows
- Потому что Илья сказал надо.
2023-12-03 11:47:06 +03:00
MaXFeeD 159e82e3aa feat: Обновлены идентификаторы VanillaItem/Block/TileID
- Задействуются легаси идентификаторы, использующиеся на стороне сервера.
- Модификации, не использующие встроенные карты идентификаторов, должны быть обновлены.
- В обновлении нуждаются динамические идентификаторы из последних версий.
2023-12-02 17:04:01 +03:00
MaXFeeD 4d0cd2de9f build: используется папка с паком вместо архива
- в качестве основы для пака используется папка в ресурсах, вместо сжатого архива
- исправлено поведение консоли при сборке по умолчанию, добавлены отладочные скрипты
2023-12-01 15:05:06 +03:00