FakeBlock
Обзор
FakeBlock показывает схемы Sponge (.schem) только выбранным игрокам. Блоки отправляются пакетами: реальный мир никогда не изменяется, поэтому два игрока, стоящие в одном и том же месте, могут видеть две разные постройки. Схема может следовать за аудиторией TypeWriter (шаг квеста, предмет в руке, регион), воспроизводиться как кинематика или размещаться игроком с помощью предмета «блок хранения».
Блоки можно сделать разрушаемыми на стороне клиента. Разрушения проверяются сервером, могут выбрасывать добычу, могут ограничиваться белым или чёрным списком предметов и сохраняются для каждого игрока в артефакте, поэтому постройка остаётся разрушенной после повторного подключения.
Возможности
- Постройки для каждого игрока — показывайте схему аудитории, зрителю кинематики или игроку, который её разместил.
- Три привязки — фиксированная позиция в мире, то же смещение на каждом острове BTC Sky измерения или позиция внутри экземпляра Dungeon.
- Постепенное размещение — блоки появляются в порядке
LINEAR,HELICALилиRANDOMс настраиваемой скоростью либо мгновенно. - Расстояние видимости и затухания — скрывайте постройку за пределами расстояния и плавно растворяйте её.
- Разрушение на стороне клиента — разрушения проверяются сервером, с необязательной добычей, белым и чёрным списком.
- Постоянное состояние — разрушенные блоки и размещённые экземпляры хранятся в артефакте, для игрока или для группы.
- Блок хранения — выдайте игрокам предмет, который при установке раскрывается в схему, одноразовый или с возможностью забрать обратно.
Установка
- Установите на сервер PacketEvents.
- Поместите JAR-файл FakeBlock в
plugins/Typewriter/extensions/и перезапустите сервер. - Скопируйте свои файлы
.schemвplugins/Typewriter/schematics/. Выполните/fakeblock reloadпосле добавления новых файлов.
Начало работы
Покажите разрушенный мост игрокам, дошедшим до определённого шага квеста:
- В веб-панели TypeWriter откройте страницу manifest и добавьте запись Schematic Audience.
- Задайте
schematicравным имени файла, напримерbridge_ruined.schem, аcenterLocation— точкой вставки. - Оберните её в фильтр аудитории, соответствующий шагу квеста (например, аудиторию факта или квеста), чтобы её видели только эти игроки.
- Чтобы игроки могли расчистить завал, включите
breakable, при необходимости задайтеdropLootи свяжите артефакт Schematic State вstateArtifact, чтобы разрушенные блоки запоминались. - Опубликуйте страницу и подойдите к месту с игроком, который входит в аудиторию.
Чтобы игроки могли разместить постройку сами, используйте действие Schematic Block: оно выдаёт spawnItem, а установка этого предмета раскрывает схему. singleUse и ownerOnlyRetrieval определяют, можно ли подобрать её обратно.
Как это работает
Команды
Все команды требуют typewriter.fakeblock.admin. Псевдонимы: /fb, /schematicblock.
| Команда | Описание |
|---|---|
/fakeblock list | Перечислить все размещённые экземпляры схем. |
/fakeblock info <instance-id> | Показать подробности одного экземпляра. |
/fakeblock undo <instance-id> | Удалить размещённый экземпляр. |
/fakeblock count [player] | Посчитать фальшивые блоки, отправленные игроку. |
/fakeblock reset <player> [entry-id] | Восстановить реальные блоки для игрока, для всех записей или для одной. |
/fakeblock reload | Перезагрузить схемы с диска. |
/fakeblock debug | Вывести отладочную информацию. |
Права
| Право | Что даёт |
|---|---|
typewriter.fakeblock.admin | Все команды /fakeblock. |
Записи
Записей: 5, сгенерированы из исходного кода расширения.
Действия1
- Schematic BlockPlace a schematic as a block
Аудитории2
- Blockify Schematic AudienceDisplay a schematic clientside for an audience with breakable blocks support
- Holding Item AudienceFilters an audience based on if they are holding a specific item
Кинематики1
- Blockify Schematic CinematicPaste a schematic (client-side) during a cinematic for the player
Артефакты1
- Schematic State ArtifactArtifact for storing fake block state
Устранение неполадок
Ничего не появляется. Проверьте имя файла в schematic (с расширением .schem) и что файл лежит в plugins/Typewriter/schematics/. Выполните /fakeblock reload, затем убедитесь, что игрок находится в пределах viewDistance и входит в аудиторию.
Постройка появляется не в том месте. При positionMode: ISLAND_DIMENSION значение dimensionOffset отсчитывается от острова измерения из dimensionTemplateId; при INSTANCE_DIMENSION постройка показывается только внутри активного экземпляра Dungeon (названного в instanceId или любого экземпляра, если поле пусто), а instanceOffset задаёт её координаты в мире экземпляра. Только CLASSIC использует centerLocation.
Разрушенные блоки возвращаются после перезапуска. Свяжите артефакт Schematic State в stateArtifact (аудитория) или position (действие). Без него разрушения существуют только в памяти.
Игроки ничего не могут сломать. breakable должен быть включён. Непустой whitelist разрешает только перечисленные предметы; blacklist всегда приоритетнее.