Скачать Omni Ocular — Minecraft Моды — MetaMods

Omni Ocular

Активный

Установок

0

Последнее обновление

2 года назад
Клиент
Утилиты

Omni Ocular

Внимание: ознакомьтесь с журналом изменений перед использованием этой модификации с Java19.

Модификация находится в активной разработке.

Обзор

Omni Ocular представляет собой расширенный инструмент для отображения пользовательских данных NBT через интерфейс Waila HUD. Полезен для опытных пользователей, ценящих точные показатели, а также для тестирования и отладки модов.

Этот проект является развитием концепции WailaNBT, предлагая полностью переработанный код и значительно расширенный функционал.

Установка

Необходимые компоненты

Для работы требуются моды Not Enough Items и Waila на стороне как клиента, так и сервера. Просто разместите JAR-файлы в папке mods.

Для удобства работы с данными NBT рекомендуется установить In-Game NBTEdit, который поможет изучить структуру NBT-данных и оптимизировать настройки отображения.

Галерея

Начните работу сразу после установки - дополнительные действия не требуются.

Настройка конфигурации

Omni Ocular использует XML-файлы для настройки профилей. Их можно найти в папке minecraft/config/OmniOcular после первого запуска.

Команды в игре

  • /oor (Omni Ocular Reload) - перезагружает все XML-конфигурации из указанной папки. Если команда используется на сервере, новые настройки автоматически передаются всем онлайн-игрокам.

  • /ooe (Omni Ocular Entity) - показывает тип сущности, на которую направлен курсор.

  • /oon (Omni Ocular Name) - отображает полное название предмета в руке.

Создание конфигурационного файла

Файлы конфигурации используют XML формат с встроенным JavaScript кодом и должны соответствовать стандартам этих технологий.

Рекомендуется называть файлы по ID мода, для которого предназначена конфигурация. Пример настройки:

<!--Автор: EpixZhang-->
<!--Дата: 2015/1/1-->
<!--Версия: 1.0-->
<oo>
  <init>
    function tick2second(n){return n/20}
  </init>
  <tileentity id="Furnace">
    <line displayname="Время горения">
      return tick2second(nbt['BurnTime'])
    </line>
  </tileentity>
  <entity id="Sheep">
    <line displayname="До следующей любви">
      tick2second(nbt['InLove'])
    </line>
  </entity>
  <tooltip id="minecraft:skull">
    <line displayname="Владелец">
       return nbt['SkullOwner']
    </line>
  </tooltip>
</oo>

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

<!--Автор: EpixZhang-->
<!--Дата: 2015/1/1-->
<!--Версия: 1.0-->

Эта секция не обязательна, но полезна для отслеживания информации о версии и авторе.

Основная структура:

Все рабочие элементы должны находиться внутри тегов <oo></oo>.

Блоки Tile Entity:

Определение информации, отображаемой для блоков с дополнительными данными:

<tileentity id="Furnace"></tileentity>

Атрибут "id" определяет конкретный тип блока. Поддерживаются регулярные выражения для группового выбора.

Элементы Entity:

Настройка отображения данных для живых существ:

<entity id="Sheep"></entity>

Подсказки для предметов:

Добавление информации в подсказки при наведении курсора:

<tooltip id="minecraft:skull"></tooltip>

Блок инициализации:

Здесь размещаются часто используемые функции и переменные:

<init></init>

Код выполняется при загрузке конфигурации.

Строки отображения:

Формат определения индивидуальных строк данных:

<line displayname="Название">
    JavaScript код
</line>

JavaScript код должен возвращать значение для отображения. По умолчанию используется формат: название (белым) + табуляция + значение (серым). Для изменения всего цвета строки оставьте displayname пустым.

Специальные символы форматирования

Доступны константы для удобного использования кодов форматирования:

BLACK, DBLUE, DGREEN, DAQUA, DRED, DPURPLE, GOLD, GRAY, DGRAY, BLUE, GREEN, AQUA, RED, LPURPLE, YELLOW, WHITE, OBF, BOLD, STRIKE, UNDER, ITALIC, RESET

TAB - символ табуляции ALIGNRIGHT, ALIGNCENTER - выравнивание текста HEART, HHEART, EHEART - символы сердец

Встроенные функции JavaScript

translate() - возвращает локализованный текст name() - показывает имя объекта fluidName() - локализованное название жидкости holding() - ID предмета в руке armor() - ID экипированной брони isInHotbar() - проверка наличия предмета в панели быстрого доступа isInInv() - проверка наличия предмета во всем инвентаре

Практическое применение

Представим, что вы хотите отслеживать состояние печи в реальном времени:

<oo>
  <tileentity id="Furnace">
    <line displayname="Прогресс готовки">
      return nbt['CookTime']
    </line>
  </tileentity>
</oo>

Для идентификации типов объектов используйте команды /ooe (для сущностей) и /oon (для предметов).

Работа с конфигурациями

Клиентская часть

Загружаются все XML-файлы из папки minecraft/config/OmniOcular. Основываясь на установленных модах, автоматически создаются предварительные настройки, которые не перезаписывают существующие файлы.

Серверная часть

Файлы конфигурации работают аналогично клиентской версии, но предварительные настройки не создаются автоматически. В многопользовательской игре серверные настройки имеют приоритет над клиентскими.

Планы по развитию

  • Поддержка отображения данных для предметов на земле
  • Возможность скрытия информации по условным командам (например, нажатию клавиш)
Участники проекта
EpixZhang

EpixZhang

Создан: 5 апр 2023

ID: 77948