Skip to content

Home Russian

github-actions[bot] edited this page Jun 13, 2026 · 1 revision

HUD Glasses для ComputerCraft: Tweaked

🇬🇧 English version

Мод для NeoForge 1.21.1, добавляющий HUD-очки и HUD-модем. Модем — это периферия ComputerCraft с терминальным API в стиле монитора; то, что компьютер пишет в модем, рисуется на экране любого игрока, носящего привязанные к этому модему очки.

Привязка живёт на самом предмете-очках, поэтому передал очки другому игроку — передал и HUD. Работает с Create Aeronautics через Sable Companion: дистанция и привязка остаются корректными, когда модем уезжает внутрь летающего саб-уровня.


Возможности

  • 📺 CC-совместимый peripheralwrite, blit, clear, scroll, setCursorPos, setTextColour, setBackgroundColour, getSize, setPaletteColour, … (см. API)
  • 🕶️ Рендерится на голове — стандартная модель брони; HUD на весь экран
  • 🔗 Привязка следует за очками — передал предмет, передал HUD; смотреть один модем может сколько угодно игроков
  • 🆔 Стабильные ID модемов — привязка сохраняется при переезде модема в саб-уровень Create Aeronautics (bundled Sable Companion)
  • 📡 Опциональный лимит дистанции — настраивается, по умолчанию ∞
  • 🌫️ Прозрачный фонsetBackgroundColour(0) или - в blit
  • 🎨 Пиксель-в-пиксель CC-шрифт — использует собственный набор глифов CC:Tweaked (все 256 символов)
  • Минимум накладных расходов — кеш payload-а на сервере, батч-фон и одна draw-call на весь текст на клиенте

Зависимости

Мод Версия Тип
NeoForge 21.1.x (MC 1.21.1) required
CC: Tweaked 1.119.0+ required
Sable Companion 1.6.0+ bundled (JiJ)
Create Aeronautics / Sable любая optional — лучше работает дистанция через саб-уровни
Curios 9.5+ optional — добавляет отдельный слот Glasses

CC: Tweaked ставится отдельно. Sable Companion ужат в jar мода (jar-in-jar), отдельная установка не требуется.


Установка

  1. Положите jar мода в mods/.
  2. Положите туда же CC: Tweaked для 1.21.1.
  3. Запустите клиент/сервер NeoForge.

Оба предмета лежат в креативной вкладке ComputerCraft.


Быстрый старт

  1. Скрафтить HUD Glasses и HUD Modem (рецепты ниже).
  2. Поставить модем.
  3. Держа очки в руке, ПКМ по модему → очки привязаны (в чате: Glasses bound to HUD Modem #1).
  4. Надеть очки в слот шлема или в слот Glasses (Curios).
  5. Подключить модем к CC-компьютеру (например, через wired modem / cable).
  6. На компьютере:
local hud = peripheral.find("hud_glasses")
hud.setBackgroundColour(0)         -- прозрачный фон
hud.setTextColour(colors.lime)
hud.setCursorPos(1, 1)
hud.write("Hello, HUD!")

ПКМ по модему теми же очками ещё раз — отвязка.


Рецепты

HUD Glasses (shaped)

M L M     M = computercraft:monitor_advanced
          L = minecraft:leather

Два продвинутых монитора (линзы) и кожа между ними.

HUD Modem (shapeless)

  • computercraft:wireless_modem_advanced
  • minecraft:glass_pane
  • minecraft:ender_pearl

Конфиг

Файл: config/hudglassescc-common.toml. Применяется на лету — буферы пересоздаются в течение одного серверного тика после правки.

Ключ По умолчанию Что значит
hudWidth 80 Ширина текстовой сетки в символах. Меньше клеток → крупнее текст.
hudHeight 28 Высота сетки.
maxRangeBlocks -1 Макс. расстояние модем↔игрок в блоках. -1 = ∞.

Клиентский конфиг (config/hudglassescc-client.toml, у каждого игрока свой):

Ключ По умолчанию Что значит
hudEnabled true Рисуется ли HUD. Переключается клавишей H.
hudFit FIT Как HUD масштабируется на экран — см. Разрешение экрана.
textShadow NONE Тень текста: NONE / SHADOW / OUTLINE. (экспериментально)

Редактируется через Mods → CC: HUD Glasses → Config, либо назначь клавишу «Открыть настройки», чтобы сразу попасть в клиентский раздел.

Разрешение экрана

На вид HUD влияют две вещи:

  • Размер буфера (сервер / Lua) — сетка символов. Дефолты задаются hudWidth / hudHeight, либо для конкретного модема в рантайме через hud.setSize(w, h). Меньше клеток — крупнее текст. Сетка близкая к 16:9 (например 80×28) чисто заполняет широкоформатный монитор.
  • Вписывание в экран (клиентский hudFit) — как эта сетка масштабируется на твой экран:
    • FIT — сохранять пропорции, по центру; по краям поля, если не совпало.
    • STRETCH — растянуть на весь экран; искажает, если пропорции не совпадают.
    • COVER — сохранять пропорции, увеличить до покрытия экрана; лишнее обрезается.

Если игрок вышел за лимит дистанции — он видит последний доставленный кадр; как только вернётся в радиус, получит свежий.


API

Полная документация Lua API: docs/API_ru.md.

Тип периферии: "hud_glasses". peripheral.find("hud_glasses") находит модем.

API в основном совместим с monitor / term из ComputerCraft, плюс HUD-специфика (прозрачность, инфо о зрителях, ID модема, ресайз в рантайме).

Справочник по кодировке символов (CP437-ish CC-шрифт): docs/CHARS.md.


Как работает привязка

Привязка живёт на самих очках (data-компонент с id модема). Модем не помнит игроков — он просто выводит свой буфер всем, кто носит привязанные к нему очки.

  • Никто не носит привязанные очки → модем продолжает писать в буфер; кто наденет — сразу видит текущее состояние.
  • Игрок снял очки → HUD у него пропадает; надел снова — снова видит.
  • Очки переданы другому игроку → HUD «переезжает» вместе с предметом; новый владелец видит то же самое. Можно делать «дубликаты» — несколько пар очков, привязанных к одному модему, показывают один общий экран.
  • Модем уехал в саб-уровень Create Aeronautics → привязка держится (матчинг по стабильному ID, дистанция через Sable).
  • Очки сломались / выкинул в лаву → просто пропадает один зритель; на модеме ничего не «зависает» (учёта по игрокам нет).

Совместимость

  • CC: Tweaked 1.119+ — основная зависимость.
  • Create Aeronautics + Sable — через bundled Sable Companion (no-op fallback, если Sable не установлен).
  • Curios — не обязателен. Если установлен — мод добавляет отдельный слот Glasses (иконка очков), чтобы очки не занимали слот шлема. Обычный слот шлема тоже работает. В обоих случаях модель очков рендерится на голове.

Лицензия

All Rights Reserved. См. gradle.propertiesmod_license.

Clone this wiki locally