Система тиков

From Vintage Story Wiki
This page is a translated version of the page ServerBlockTicking and the translation is 100% complete.
Other languages:

This page was last verified for Vintage Story version 1.15.


Общее

По умолчанию сервер случайным образом проверяет блоки по всему миру каждые 50 мс. Отмечает радиус фрагмента вокруг игрока. Для каждого фрагмента случайным образом выбираются 16 блоков. У каждого блока спрашивают, хочет ли он получить игровой тик. Если он говорит «да», то местоположение блока будет поставлено в очередь для отметки. Каждый блок решает, что происходит, когда он получает тик, и это различно для каждого блока. Большинство блоков не получают тики. Ниже приведено краткое описание каждого блока, который получает тики, и того, что они делают.

Это не следует путать с общей частотой тиков сервера 33,33 мс.

Блокировка тика

Блокировать Поведение Условие Вероятность
Почва Растет на 1 этап Если его окружает трава. Может быть на 1 блок выше или на 1 блок ниже. 1.0
Культуры Растет на 1 стадию и возвращается к 1, когда полностью вырастет Должен быть размещен во время генерации мира 0.05
Лава Сжигает горючие предметы поблизости Радиус 3 блока вокруг воздуха прямо над лавой. 4 радиуса блока выше этого. на 3 квартала выше. Лава 1200 градусов. Температура блока

падает на 100 градусов на каждый метр расстояния от лавы. Если температура горения блока ниже, чем температура в этом блоке, то блок будет гореть, когда лава отмечена галочкой.

1.0

Сколько времени это займет

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

Каждые 50 мс сервер отмечает чанки вокруг игрока. По умолчанию это радиус из 3 фрагментов, включая фрагмент, в котором в данный момент находится игрок. Это означает, что каждый фрагмент тикает 20 раз в секунду. В каждом тиковом цикле будут отмечены 16 блоков. В чанке 32 768 блоков. Таким образом, это означает, что существует вероятность 16/32768 = 0,00048828125 тиков каждый раз или 1/2048. Таким образом, для тикания конкретного блока потребуется в среднем 2048 тиковых циклов. Блоки тикают 20 раз в секунду, поэтому для тика блока потребуется в среднем 2048/20 = 102,4 секунды.

Конфигурация

Вы можете изменить скорость, с которой сервер тикает, отредактировав значения в файле serverconfig.json.

Свойство Элементы управления По умолчанию
RandomTickDistance Скольким чанкам вокруг игрока поставить галочку 3
RandomTickSamples Количество блоков для галочки в каждом цикле 16
RandomTickInterval Как часто выполняется тиковый цикл в миллисекундах 50
MaxRandomTicks Максимальное количество тиков в очереди для обработки каждого цикла. Вам никогда не нужно прикасаться к этому 10000

Команды

Вы можете отметить блок с помощью команды /tickblock. Например, чтобы отметить блок, на котором вы стоите, вы можете запустить следующее: /tickblock ~0 ~-1 ~0


Создание модов
Зеленые вещи требуют программирования на C#
Основы

С чего начать | Типы модов | Простые примеры | Набор тем

Система ассетов | Текстуры | Предметы | Рецепты | Блоки | Сущности | Редактор моделей | Базовая анимация | VTML и иконки | Упаковка и выпуск мода | Modinfo | Отладка

Продвинутое

JSON-патчи | Продвинутый предмет JSON | Ремаппер|Modding:The_Remapper | Сервер и клиент | Совместимость с другими модами

Настройка среды разработки (Основное - Windows - Linux)

Продвинутые блоки en | Продвинутые предметы en | Взаимодействие блоков и предметов en | Block Behavior | Block Entities en | Простые частицы en | Доступ к миру en | Базовая обработка инвентаря en | Команды чата en | GUI en | Взаимодействие сервер-клиент en | Monkey patching (Harmony) en

Управление данными

Хранение данных в игровом сейве en | Конфиг мода en | Хранение данных в чанке en | Tree Attribute en

Генерация мира

Концепт генерации | Рельеф | Руды en | Деревья en | WorldGen API en

Рендеринг

Шейдеры и рендереры en

Обзор свойства

Предмет en | Энтити en | Блок en | Block Behaviors en | Классы блока en | Block Entity en | Block Entity Behaviors en

Рабочие процессы и инфраструктура

Советы по эффективности моддинга | Совместимость мод-движка | Расширяемость модов | Порядок загрузки

Дополнительные ресурсы

List of server commands/ru | List of client commands/ru | Client startup parameters/ru | Creative Starter Guide/ru | Рандомные тики | Система ботов | WorldEdit | Cinematic Camera/ru

Примеры модов | Документация по API | Репозиторий GitHub