

NotEnoughMinecraft
Активный0.0
Установок
Последнее обновление
Версии
NotEnoughMinecraft
Хотели ли вы когда-нибудь играть в Minecraft внутри самого Minecraft без необходимости устанавливать моды на клиенте? НЕТ??? В любом случае, теперь это возможно!
Настройка
Для начала работы необходимо установить fabric-api и polymer. Модуль требует серверный ресурспак, который проще всего настроить через функцию автоподключения polymer.
Получите компьютер командой /give @s not-enough-minecraft:computer
, установите его в мире и нажмите ПКМ для запуска игры.
Управление
Система управления полностью соответствует стандартным настройкам Minecraft:
- Перемещение, прыжки и спринт используют привычные клавиши
- Разрушение блоков, установка, выбрасывание предметов работают как обычно
- Колесико мыши или цифровые клавиши переключают слоты горячей панели
- Правый клик активирует использование предмета, повторный клик завершает действие
- Красться - выйти из режима игры и закрыть компьютер
- Клавиша инвентаря переключает счетчик FPS
Поскольку это исключительно серверный мод, возможности управления ограничены данными, которые клиент отправляет на сервер!
Принцип работы
При запуске игры создается виртуальный игрок, который добавляется на сервер. Каждый тик генерируется изображение с помощью серверного рендерера с трассировкой лучей от tomalbrc. Полученное изображение отображается клиенту через специальный экранный предмет, где каждый пиксель окрашивается с использованием цветов из системы пользовательских моделей.
Конфигурация
Файл настроек расположен по пути config/not-enough-minecraft.json
.
{
// Дистанция рендеринга в блоках
"renderDistance": 64,
// Экспериментальный рендеринг существ
"renderEntities": false,
// Количество отображаемых существ при включенном рендеринге
"renderEntitiesAmount": 20,
// Игнорировать уровни освещения, отрисовывая всё с максимальной яркостью
"fullbright": false,
// Поле зрения, работает аналогично настройкам ванильного клиента, минимальное значение 30, максимальное 110 (Quake Pro)
"fov": 70,
// Смешивание биомов
"biomeBlend": 1,
// Количество потоков для рендеринга всех экземпляров. Влияет на нагрузку ЦП сервера и напрямую на FPS
"renderThreadCount": 4,
// Список команд, выполняемых при создании виртуального игрока
// Можно использовать для выдачи предметов или перемещения в определенные локации
"spawnCommands": [
"item replace entity @s hotbar.0 with minecraft:grass_block",
"item replace entity @s hotbar.1 with minecraft:dirt",
"item replace entity @s hotbar.2 with minecraft:stone",
"item replace entity @s hotbar.3 with minecraft:cobblestone",
"item replace entity @s hotbar.4 with minecraft:oak_planks",
"item replace entity @s hotbar.5 with minecraft:oak_log",
"item replace entity @s hotbar.6 with minecraft:glass",
"item replace entity @s hotbar.7 with minecraft:oak_door",
"item replace entity @s hotbar.8 with minecraft:oak_stairs"
],
// Разрешить виртуальному игроку устанавливать блоки
"allowPlacing": true,
// Разрешить виртуальному игроку разрушать блоки
"allowBreaking": true,
// Разрешить виртуальному игроку использовать предметы
"allowItemUsage": true,
// Разрешить виртуальному игроку выбрасывать предметы
"allowDropping": false,
// Разрешить виртуальному игроку подбирать предметы из блоков
"allowPicking": true
}
Ограничения
Это довольно нестандартный экспериментальный проект.
Серверный рендеринг требует значительных ресурсов процессора и может вызвать проблемы на слабых системах.
Отсутствует возможность сжатия или оптимизации данных экрана для передачи по сети, поэтому каждый кадр передается в виде сырых пикселей. Это увеличивает сетевую нагрузку при просмотре экранов компьютеров. Ожидайте увеличения трафика на 300-400 КБ/с на каждый экран при стандартном сетевом сжатии Minecraft.
Виртуальные игроки ведут себя как обычные игроки практически во всех аспектах: взаимодействие с миром, команды, список игроков, данные игрока и другие функции. Каждый игрок получает собственного виртуального спутника с таким же UUID, но с увеличенным на единицу младшим битом.