-
Notifications
You must be signed in to change notification settings - Fork 0
Home Russian
Мод для NeoForge 1.21.1, добавляющий HUD-очки и HUD-модем. Модем — это периферия ComputerCraft с терминальным API в стиле монитора; то, что компьютер пишет в модем, рисуется на экране любого игрока, носящего привязанные к этому модему очки.
Привязка живёт на самом предмете-очках, поэтому передал очки другому игроку — передал и HUD. Работает с Create Aeronautics через Sable Companion: дистанция и привязка остаются корректными, когда модем уезжает внутрь летающего саб-уровня.
- 📺 CC-совместимый peripheral —
write,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), отдельная установка не требуется.
- Положите jar мода в
mods/. - Положите туда же CC: Tweaked для 1.21.1.
- Запустите клиент/сервер NeoForge.
Оба предмета лежат в креативной вкладке ComputerCraft.
- Скрафтить HUD Glasses и HUD Modem (рецепты ниже).
- Поставить модем.
-
Держа очки в руке, ПКМ по модему → очки привязаны (в чате:
Glasses bound to HUD Modem #1). - Надеть очки в слот шлема или в слот Glasses (Curios).
- Подключить модем к CC-компьютеру (например, через wired modem / cable).
- На компьютере:
local hud = peripheral.find("hud_glasses")
hud.setBackgroundColour(0) -- прозрачный фон
hud.setTextColour(colors.lime)
hud.setCursorPos(1, 1)
hud.write("Hello, HUD!")ПКМ по модему теми же очками ещё раз — отвязка.
M L M M = computercraft:monitor_advanced
L = minecraft:leather
Два продвинутых монитора (линзы) и кожа между ними.
computercraft:wireless_modem_advancedminecraft:glass_paneminecraft: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— сохранять пропорции, увеличить до покрытия экрана; лишнее обрезается.
-
Если игрок вышел за лимит дистанции — он видит последний доставленный кадр; как только вернётся в радиус, получит свежий.
Полная документация 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.properties → mod_license.