Перейти к основному содержимому

FakeBlock

Фиктивные блоки на уровне пакетов и клиентские схемы.

Приватныеv0.1.0Мир и строительство
ТребуетсяTypeWriter0.9.0-beta-177 (BTC build)PacketEventsBTC SkyнеобязательноDungeonнеобязательно

Создано для сети BornToCraft. Это расширение описано для справки и не распространяется.

Обзор​

FakeBlock показывает схемы Sponge (.schem) только выбранным игрокам. Блоки отправляются пакетами: реальный мир никогда не изменяется, поэтому два игрока, стоящие в одном и том же месте, могут видеть две разные постройки. Схема может следовать за аудиторией TypeWriter (шаг квеста, предмет в руке, регион), воспроизводиться как кинематика или размещаться игроком с помощью предмета «блок хранения».

Блоки можно сделать разрушаемыми на стороне клиента. Разрушения проверяются сервером, могут выбрасывать добычу, могут ограничиваться белым или чёрным списком предметов и сохраняются для каждого игрока в артефакте, поэтому постройка остаётся разрушенной после повторного подключения.

Возможности​

  • Постройки для каждого игрока — показывайте схему аудитории, зрителю кинематики или игроку, который её разместил.
  • Три привязки — фиксированная позиция в мире, то же смещение на каждом острове BTC Sky измерения или позиция внутри экземпляра Dungeon.
  • Постепенное размещение — блоки появляются в порядке LINEAR, HELICAL или RANDOM с настраиваемой скоростью либо мгновенно.
  • Расстояние видимости и затухания — скрывайте постройку за пределами расстояния и плавно растворяйте её.
  • Разрушение на стороне клиента — разрушения проверяются сервером, с необязательной добычей, белым и чёрным списком.
  • Постоянное состояние — разрушенные блоки и размещённые экземпляры хранятся в артефакте, для игрока или для группы.
  • Блок хранения — выдайте игрокам предмет, который при установке раскрывается в схему, одноразовый или с возможностью забрать обратно.

Установка​

  1. Установите на сервер PacketEvents.
  2. Поместите JAR-файл FakeBlock в plugins/Typewriter/extensions/ и перезапустите сервер.
  3. Скопируйте свои файлы .schem в plugins/Typewriter/schematics/. Выполните /fakeblock reload после добавления новых файлов.

Начало работы​

Покажите разрушенный мост игрокам, дошедшим до определённого шага квеста:

  1. В веб-панели TypeWriter откройте страницу manifest и добавьте запись Schematic Audience.
  2. Задайте schematic равным имени файла, например bridge_ruined.schem, а centerLocation — точкой вставки.
  3. Оберните её в фильтр аудитории, соответствующий шагу квеста (например, аудиторию факта или квеста), чтобы её видели только эти игроки.
  4. Чтобы игроки могли расчистить завал, включите breakable, при необходимости задайте dropLoot и свяжите артефакт Schematic State в stateArtifact, чтобы разрушенные блоки запоминались.
  5. Опубликуйте страницу и подойдите к месту с игроком, который входит в аудиторию.
Размещено игроками

Чтобы игроки могли разместить постройку сами, используйте действие 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
Аудитории2
Кинематики1
Артефакты1

Устранение неполадок​

Ничего не появляется. Проверьте имя файла в 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 всегда приоритетнее.

Связанные расширения​

  • BTC Sky — размещение относительно острова с ISLAND_DIMENSION.
  • Dungeon — экземпляры подземелий, используемые INSTANCE_DIMENSION.