Система тиков
Эта страница проверялась в последний раз для версии Vintage Story 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 секунды.
Configuration
You can change the rate at which the server ticks by editing values in the serverconfig.json file.
Property | Controls | Default |
---|---|---|
RandomTickDistance | How many chunks around the player to tick | 3 |
RandomTickSamples | The number of blocks to tick each loop | 16 |
RandomTickInterval | How often the tick loop runs in milliseconds | 50 |
MaxRandomTicks | Max queued ticks to process each loop. You shouldn't ever need to touch this | 10000 |
Commands
You can tick a block via the /tickblock command. For example, to tick the block you are standing on you can run the following: /tickblock ~0 ~-1 ~0
Wondering where some links have gone?
The modding navbox is going through some changes! Check out Navigation Box Updates for more info and help finding specific pages.
Modding | |
---|---|
Modding Introduction | Getting Started • Пакет тем |
Content Modding | Content Mods • Developing a Content Mod • Basic Tutorials • Intermediate Tutorials • Advanced Tutorials • Content Mod Concepts |
Code Modding | Code Mods • Setting up your Development Environment |
Property Overview | Item • Entity • Block • Block Behaviors • Block Classes • Block Entities • Block Entity Behaviors • World properties |
Workflows & Infrastructure | Modding Efficiency Tips • Mod-engine compatibility • Mod Extensibility • VS Engine |
Additional Resources | Community Resources • Modding API Updates • Programming Languages • List of server commands • List of client commands • Client startup parameters • Server startup parameters Example Mods • API Docs • GitHub Repository |