BTC Sky
Обзор
BTC Sky — движок скайблока в сборке BTC TypeWriter. Каждый профиль игрока владеет одним островом. Остров состоит из одного или нескольких измерений (Верхний мир, Незер, Энд или любой пользовательский мир, который вы создадите), каждое из которых клонируется из шаблонного мира и настраивается через Dimension Template. У каждого измерения свои размер, улучшения, лимиты, генератор, сезоны, события и боевые настройки.
Игроки развивают остров, покупая чанки, улучшения и уровни генератора, исследуя новые технологии, заполняя коллекции, беря контракты и посещая чужие острова или сражаясь с ними. Всё настраивается из веб-панели: одна BTC Sky Main Configuration содержит глобальные правила, по одному шаблону на измерение — игровой процесс, а BTC Sky Menu создаёт панель управления.
BTC Sky — закрытое расширение. Оно работает на BTC Core (Paper или Folia с Advanced Slime Paper) и документировано здесь для справки. От него зависят другие расширения BTC: Machine использует его острова для размещения, лимитов и уровней исследований, а FakeBlock может привязывать схематики к его измерениям.
Возможности
- Острова, привязанные к профилям — один остров на профиль, создаваемый из шаблона измерения, общий для владельцев кооп-профиля.
- Несколько измерений — открывайте и создавайте сколько угодно измерений на остров, у каждого своя прогрессия.
- Расширение по чанкам — начните с одного чанка и покупайте новые с настраиваемой кривой стоимости, пользовательскими чанками и живым предпросмотром с границами из частиц и мировыми границами.
- Роли и настройки — роли посетителя, участника, модератора, администратора и лидера, права для каждого измерения и флаги острова (PvP, полёт, появление мобов, взрывы, правила для посетителей).
- Дерево исследований — ветви и узлы, открываемые подачей фрагментов, загрузкой топлива и ожиданием времени варки.
- Сезоны и события — сезоны для каждого измерения и составные события (метеоритные дожди, бури, волны мобов, боссы, дождь сокровищ).
- Генераторы и улучшения — многоуровневые генераторы булыжника и управляемый данными каталог улучшений.
- Лимиты — лимиты блоков, сущностей, машин и питомцев, а также бюджет популяции мобов для каждого измерения.
- Банк острова и контракты — банк, служащий серверной экономикой, и контракты между игроками за столом контрактов.
- Коллекции, рейтинг, война — глобальные коллекции с наградами за уровни, таблица лидеров по уровню и очередь войн островов.
- Хуки для TypeWriter — 38 фактов, 33 события, группы, цель и множество действий для построения квестов вокруг островов.
Установка
- Установите сборку BTC TypeWriter с BTC Core. Миры островов создаются с помощью Advanced Slime Paper, поэтому сервер должен его предоставлять.
- Установите расширения, которые BTC Sky объявляет обязательными: Region, Entity, RoadNetwork и BTCMobs. На практике ему также нужны расширение Profiles (каждый остров идентифицируется id профиля) и расширение GUI (меню).
- Необязательные расширения: MySql (общее хранилище между серверами), UiCore (расширенные меню и баннеры), Party, Friend и Guild для социальных связей, NumericalStorage для валют, CraftEngine для пользовательских блоков, CustomBiome для пользовательских биомов и PacketEvents для клиентских границ и голограмм. Для плейсхолдеров нужен MiniPlaceholders.
- Положите JAR-файл BTC Sky в
plugins/Typewriter/extensions/и перезапустите сервер. - Создайте по одному шаблонному миру на измерение и поместите его в папку
slime_worldsсервера под именем, которое вы укажете вtemplateWorldName.
Как это работает
Экземпляр
Экземпляр (instance) — это размещённая копия игрового объекта внутри одного измерения одного острова. В BTC Sky два вида записей экземпляров. BTC Sky Instance создаёт сущность (NPC или модель BetterModel) в заданном измерении (targetDimension) со смещением от точки появления измерения (spawnOffset) и необязательной сетью дорог для поиска пути. Island NPC Instance — вариант NPC, чья позиция хранится для каждого измерения острова, поэтому у каждого острова своя копия, которую владелец может перемещать действием Move Island NPC.
Шаблоны измерений
Dimension Template — это чертёж одного измерения. Добавьте его в список dimensionTemplates основной конфигурации. Он определяет:
| Группа | Поля | Чем управляет |
|---|---|---|
| Идентификация | dimensionId, displayName, priority, description, icon, menuSlots | Как измерение называется и отображается в меню. |
| Мир | templateWorldName, defaultBiome, allowedBiomes, spawn | Мир, клонируемый для каждого острова, группы биомов, из которых игрок может выбирать, и угол появления. |
| Доступ | unlock | Открыто ли по умолчанию, основное ли измерение, стоимость, требуемый уровень острова, право, действия при открытии. |
| Размер | expansion | Начальный и максимальный размер в чанках на сторону, кривая стоимости, пользовательские чанки, материалы предпросмотра. |
| Лимиты | limits | Лимиты блоков, сущностей, машин и питомцев, а также лимит варпов. |
| Популяция | spawner, mobLevelAtCenter, mobLevelAtEdge | Скорость появления мобов, расстояния и ограничения, а также уровень мобов от центра к краю. |
| Экономика | blockValues, generator, multipliers | Стоимость каждого блока для уровня острова, уровни генератора, множители культур, дропа, спавнеров и опыта. |
| Люди | rolePermissions, overrideGlobalFlags, enabledFlags | Что может делать каждая роль в этом измерении. |
| Время | seasons, events | Сезонные темы и случайные события острова. |
| Прогрессия | upgrades | Каталог улучшений этого измерения. |
| Бой и кристалл | combat, crystal, crystalOffset, crystalMovable | Настройки войны и стабилизирующий кристалл измерения. |
У стабилизирующего кристалла три состояния (crystal): ACTIVE открывает центр управления измерения (и его панель машин), DECORATIVE — декорация, не реагирующая на взаимодействие, ABSENT запрещает его размещение.
Острова
Остров принадлежит профилю: его id — это id профиля. Он содержит свои измерения, настройки, участников, улучшения, баланс банка, статистику, прогресс исследований, коллекции, варпы, голограммы, оценки и баны. Острова сохраняются в Player Sky Data Artifact, на который вы ссылаетесь в поле playerSkyDataArtifact основной конфигурации.
Остров создаётся из шаблона действием Create Island. По умолчанию автоматически он не создаётся: включите autoProvisionIslandOnProfileCreation, чтобы создавать основной остров и входить на него сразу после создания профиля, либо оставьте выключенным, чтобы остров позже открывался обучением или меню.
Уровни островов вычисляются сканером по blockValues каждого измерения. Сложенные блоки учитываются в уровне, но занимают место одного блока.
Участники, роли и коопы
| Роль | Значение |
|---|---|
VISITOR | Любой, кто не является участником. |
MEMBER | Друг владельца с базовым доступом. |
MODERATOR | Может приглашать и исключать. |
ADMIN | Полное управление, кроме роспуска. |
LEADER | Владелец. |
Владелец назначает роли друзьям (members). Высокая роль — это уровень прав: она не делает друга совладельцем и не делит прогрессию. Что может делать каждая роль (BUILD, BREAK, CHEST_ACCESS, INVITE, KICK, BAN, SET_WARP, SET_HOME, SET_BIOME, MANAGE_FLAGS, MANAGE_UPGRADES, TRANSFER, DISBAND…), задаётся для каждого измерения в rolePermissions шаблона.
Кооп — это другое: у кооп-острова несколько владельцев, и они делят прогрессию острова (исследования, коллекции, уровень). Для коопа нужен кооп-профиль в расширении Profiles. Владелец или администратор острова приглашает игрока действием Invite Coop Partner. Приглашение истекает через 60 секунд и принимается через Accept Invite или отклоняется через Decline Invite. Coop Countable Objective удваивает свою цель на кооп-островах.
Настройки острова (флаги) переключаются для каждого острова: IS_OPEN, ALLOW_FLY, IS_PVP_ENABLED, IS_MOB_SPAWNING_ENABLED, IS_EXPLOSIONS_ENABLED, IS_FIRE_SPREAD_ENABLED, VISITOR_ITEM_PICKUP, VISITOR_ITEM_DROP, VISITOR_DOOR_USE, VISITOR_CONTAINER_ACCESS, VISITOR_ANIMAL_INTERACT, BORDER_VISIBLE и WORLD_BORDER.
Улучшения, генераторы и лимиты
Каждое измерение перечисляет свои upgrades. У улучшения есть уровни со cost, effectValue и необязательными действиями при покупке. Его effectType определяет, что оно делает: множители роста культур, дропа мобов или скорости спавнеров, зелья и эффекты острова, увеличение лимитов блоков и сущностей, размер команды, лимит варпов, уровень генератора, полёт на острове, частота и добыча событий, открытие событий или пользовательский эффект через действия. Если оставить upgrades нетронутым, используется встроенный каталог по умолчанию.
У генератора булыжника есть уровни (generator.tiers), каждый со cost и списком rates (ванильный блок или id блока CraftEngine с процентом). Оставьте tiers пустым, чтобы использовать встроенные значения по умолчанию для верхнего мира, Незера и Энда.
Лимиты берутся только из шаблона: тип блока или сущности, которого нет в списке, не ограничен. У каждого лимита есть базовое значение, и он может быть улучшаемым (upgradeCost, upgradeIncrease). Лимиты машин и питомцев действуют, когда установлены соответствующие расширения. Блок spawner добавляет бюджет популяции мобов (maxNearbyMobs, maxPerChunk, ограничения шаблона), чтобы ферма не могла остановить все остальные появления. Если установлен UiCore, игроки видят баннер, когда ограничение отклоняет появление.
Исследования
Дерево исследований определяется в разделе research основной конфигурации, а не в отдельных записях:
- Ветви (
research.branches) — категории с кривой уровней: опыт, необходимый на каждый уровень, начисляемые очки и действия при повышении уровня. - Узлы (
research.nodes) принадлежат ветви, располагаются в позицииx/yи перечисляют своиparents,powerCost,requiredLevel,criteria,fuels,output,successChance, настройки повтора и награды. - Фрагменты (
research.fragments) — предметы, дающие энергию.
Узел исследуется по шагам. Игрок кладёт фрагменты в узел, чтобы заполнить его энергию, загружает один предмет топлива, узел варится в течение времени топлива, затем игрок забирает результат. При успехе выполняются rewards (у каждой свой шанс) и открываются рецепты из recipes; при неудаче выполняются failRewards. Исследования принадлежат острову, поэтому их делят все владельцы, а рецепты возвращаются каждому игроку при входе. Другие расширения читают открытые узлы: например, уровни Machine называют узел исследования.
Записи manifest Research Branch и Research Node существуют, но среда выполнения исследований читает основную конфигурацию, поэтому определяйте дерево там. Используйте действия Research Grant Points, Research Grant XP, Unlock Research и Open Research Menu, чтобы связать его с квестами.
Сезоны
Сезоны настраиваются для каждого измерения в seasons и по умолчанию выключены (enabled). Есть два режима отсчёта времени:
FIXED_DURATION— каждый сезон длитсяfixedDurationHoursреального времени (по умолчанию 168, одна неделя).CALENDAR_LINKED— год календаря TinyEssentials (calendar,startMonth) делится поровну между сезонами.
Каждое определение сезона (definitions, по умолчанию весна, лето, осень и зима) может переопределять биом, задавать шаблон погоды (CLEAR, RAIN, THUNDER, SNOW), умножать рост культур, появление мобов, дроп мобов и опыт, показывать частицы и запускать действия в начале и в конце. Событие Season Change сообщает о каждой смене.
События
Событие острова — это составная оболочка: Island Event описывает, когда оно может запускаться (chancePerCheck, weight, cooldownMinutes, minimumPlayers, conditions, requiredUpgradeId, разрешённые и заблокированные измерения), и перечисляет механики, которые оно проигрывает (mechanics). Добавляйте события, которые может использовать измерение, в events.events его шаблона; minIntervalMinutes и maxIntervalMinutes задают интервалы между проверками.
Механики — это отдельные записи, которые вы комбинируете: Meteor Shower, Treasure Rain, Mob Wave, Storm, Eclipse, Boss, Event Ambience (частицы и звук), Event Flag, Event Trigger (действия), Temporary Multiplier (опыт или дроп), Temporary Client Block, Coop Buff и BetterModel Impact. Они перечислены в указателе Записи ниже.
Экономика, контракты и коллекции
Банк острова хранит деньги острова. На сервере без плагина экономики банк публикуется как серверная экономика, поэтому деньги игрока — это деньги его острова. Вносите и снимайте средства действиями Island Bank Deposit и Island Bank Withdraw. Стоимости в шаблонах используют ссылку на валюту (currency), указывающую на запись валюты, например из NumericalStorage.
Контракты — это соглашения между игроками, заключаемые за столом контрактов. По умолчанию (contractsRequireWorkstation) меню открывается только от блока стола (contractsTableBlock, по умолчанию картографический стол). Награды облагаются налогом contracts.rewardTaxPercent.
Коллекции отслеживают то, что остров собирает, убивает и вылавливает, по каждому предмету, с порогами уровней (collections.categories). Каждый уровень может один раз запускать действия (onReach). Игроки также могут открывать или блокировать коллекцию действием Unlock Collection.
Война
Когда в шаблоне задан combat.enabled, острова этого измерения могут участвовать в войнах. Остров встаёт в очередь войны как атакующий или защитник (из панели управления) и сопоставляется с островом, стоящим в очереди в противоположной роли. Остров должен достичь combatWar.minIslandLevel, а combatWar.warCooldownMinutes разделяет две войны. Сам бой задаёт шаблон: здоровье и регенерация ядра (coreHealth, coreRegeneration), durationMinutes, attackCooldownHours, точки появления и действия для начала, победы и поражения. Победитель может разграбить долю банка проигравшего (combatWar.pillagePercent). Победы, поражения и ничьи хранятся в статистике острова.
Archipel
Archipel des Métiers — общий мир только для чтения (указан в readOnlyWorlds) из девяти островков, восстанавливаемых островом: доступ, мосты и уровни хранятся на острове и доступны как факты и действия archipel_*.
Быстрый старт
Создадим первый остров с одним измерением и позволим игрокам открывать панель управления:
- В веб-панели TypeWriter откройте страницу static и добавьте Player Sky Data Artifact.
- Добавьте Dimension Template. Задайте
dimensionIdравнымoverworld,templateWorldName— имя вашего шаблонного мира и оставьтеunlock.isPrimaryвключённым. Настройтеexpansion(initialSizeChunks,maxSizeChunks,baseCost). - Добавьте BTC Sky Main Configuration. Поместите шаблон в
dimensionTemplates, а артефакт — вplayerSkyDataArtifact. - Добавьте BTC Sky Menu с id
control_panel(эту запись открывает стол контрактов), постройте егоlayoutPoolиviewsи добавьте BTC Sky Menu Configuration с шаблонами динамических списков. - Добавьте действие Create Island с
template, равным вашему шаблону, и подключите его к кнопке, команде или шагу обучения. - Опубликуйте. Создайте профиль, запустите действие, и остров появится со своим шаблонным миром.
- Проверьте административный сценарий командой
/typewriter island admin search <name>с аккаунта персонала.
BTC Sky регистрирует свои команды под командой TypeWriter. Команда верхнего уровня /island расширением не определяется: создайте её записью команды, запускающей BTC Sky Menu (см. раздел «Команды»).
Команды
Команды острова регистрируются как @TypewriterCommand, поэтому находятся под /typewriter (псевдоним /tw). Меню выполняют их от имени игрока, поэтому большинство из них внутренние.
Команды острова
| Команда | Описание |
|---|---|
/typewriter island | Открывает панель управления. |
/typewriter island visit <islandId> | Телепортирует на открытый остров, если вы не забанены. |
/typewriter island invite [player] | Открывает диалог приглашения или приглашает игрока в сети как кооп-партнёра. |
/typewriter island dimension tp <dimId> | Телепортирует в измерение вашего острова. |
/typewriter island dimension buy <dimId> | Открывает измерение вашего острова. |
Панель управления также выполняет такие внутренние команды: навигация по вкладкам и измерениям (dim_select, list_scroll, cp, close), расширение (expansion_map, expansion_nav, buy_chunk), уровень (recalculate_level, recalc_level), варпы (warps, warp, warp_create, warp_delete, warp_edit, warp_set_icon, warp_toggle_public), участники (members, member_manage, member_promote, member_demote, member_kick), модерация (visitor_kick, visitor_ban, unban), границы (border …), голограммы (holograms, create_hologram, edit_hologram), контракты (contracts_browse, contract_apply, contracts_create, contract_accept, contract_reject, contract_cancel и связанные), улучшения (upgrade, upgrade_confirm, upgrade_generator), исследования (research_input, research_feed, research_fuel, research_claim), война (declare_war, combat_queue, combat_history, attack), оценки (rate), биомы (biomes, set_biome, set_chunk_biome), настройки (toggle_setting, fly_toggle, fly_scope) и рейтинг (ranking_sort, ranking_dim). Вводить их вручную не предполагается.
Кнопки в чате приглашения в кооп выполняют /island coop accept и /island coop deny. Эти подкоманды расширением не регистрируются, поэтому подключите Accept Invite и Decline Invite к собственным командам.
commandAliases основной конфигурации (по умолчанию island, is, islands) лишь сообщает системе меню, какие слова команд направлять в дерево острова. Новые команды они не регистрируют.
Административные команды
Вся ветка admin требует btcsky.admin (или статуса оператора).
| Команда | Описание |
|---|---|
/typewriter island admin search <query> | Ищет острова по id, имени владельца или участника. |
/typewriter island admin create <player> <template> | Создаёт остров для игрока в сети из шаблона (по id записи или id измерения). |
/typewriter island admin delete <profileId> | Удаляет остров. |
/typewriter island admin tp <player or id> | Телепортирует на остров. |
/typewriter island admin setlevel <profileId> <level> | Задаёт уровень острова. |
/typewriter island admin eco <islandId> get, set <amount>, add <amount> | Читает, задаёт или пополняет банк острова. |
/typewriter island admin collection <islandId> <collectionId> <level> | Задаёт уровень коллекции. |
/typewriter island admin upgrade <upgradeId> <level> | Задаёт уровень улучшения на острове, на котором вы стоите, в выбранном измерении. |
/typewriter island admin unlock dimension <islandId> <dimId> | Открывает измерение для острова. |
/typewriter island admin event <eventId> | Запускает событие острова прямо сейчас на вашем острове. |
/typewriter island admin limit show <profileId> | Показывает лимиты сущностей рядом с реальными количествами. |
/typewriter island admin limit budget <profileId> <dimensionId> <value> | Задаёт бюджет мобов измерения (unlimited или -1 снимает его). |
/typewriter island admin limit species <profileId> <dimensionId> <entityType> <value> | Задаёт ограничение для одного типа сущности. |
/typewriter archipel, acces, passerelle <islet>, palier <islet>, ouvrir | Просмотр и выдача доступа, мостов и уровней Archipel (право btcsky.admin.archipel). |
Права
| Право | Даёт доступ к |
|---|---|
btcsky.admin | Всей ветке /typewriter island admin. |
btcsky.admin.search, .create, .delete, .tp, .setlevel, .eco, .collection, .upgrade, .dimension, .event, .limit | Каждой административной подкоманде как более детальной альтернативе. Родительская ветка по-прежнему требует btcsky.admin или статуса оператора. |
btcsky.admin.archipel | Командам /typewriter archipel. |
btcsky.admin.bypass | Обход защиты острова и ограничений варпов, когда у игрока также есть флаг административного обхода. |
btcsky.admin.dimensions | Вход в измерения, которые не открыты. |
btcsky.warp.unlimited | Игнорирование лимита варпов. |
btcsky.contracts.bypass | Открытие контрактов без обращения к столу контрактов (настраивается: contractsBypassPermission). |
Права из contracts.permissionLimits | Увеличивают число открытых контрактов. |
Запись BTC Sky Permission Definitions и разделы permissions и commands основной конфигурации перечисляют гораздо больше узлов (btcsky.island.*, btcsky.vip.*, btcsky.command.*). Это документация: текущий код их не проверяет.
Плейсхолдеры
Теги MiniPlaceholders расширения btcsky, предоставляемые через TypeWriter. Игрок без острова получает 0 для каждого тега, кроме has_island. Везде, где ожидается измерение, current означает измерение, в котором стоит игрок, и по умолчанию используется именно оно, если аргумент опущен.
Остров
| Плейсхолдер | Возвращает |
|---|---|
<btcsky_has_island> | true или false. |
<btcsky_context_state> | Состояние связи профиля и острова (NO_PROFILE, если нет). |
<btcsky_island_id> | Id острова (профиля). |
<btcsky_island_owner>, <btcsky_owner_name> | Имя владельца. |
<btcsky_island_role> | Роль игрока на острове. |
<btcsky_island_level>, <btcsky_level> | Уровень острова. |
<btcsky_island_balance>, <btcsky_bank_balance> | Баланс банка. |
<btcsky_island_members_count>, <btcsky_member_count> | Число участников. |
<btcsky_island_members_online> | Участники в сети. |
<btcsky_member_max> | Лимит размера команды с учётом улучшений. |
<btcsky_team_members_list> | Имена участников через запятую. |
<btcsky_is_coop_island> | true для кооп-острова. |
<btcsky_island_creation_date> | Дата создания (yyyy-MM-dd HH:mm:ss). |
<btcsky_island_worth> | Сумма уровней измерений. |
<btcsky_visitor_count> | Посетители, находящиеся сейчас на острове. |
<btcsky_biome_current> | Название биома под игроком. |
<btcsky_season> | Сезон текущего измерения или календарной даты вне острова. |
<btcsky_setting:name> | Цветное состояние включено/выключено для настройки: visit (или open), fly, pvp, mobs, explosions, fire, world_border, possession_border. |
<btcsky_island_exp> всегда возвращает 0, <btcsky_island_level_progress> — всегда 100, а <btcsky_bank_interest_rate> — всегда 0.0: они существуют только для совместимости.
Размер, биомы и количества
| Плейсхолдер | Возвращает |
|---|---|
<btcsky_size> | Открытые чанки в текущем измерении. |
<btcsky_island_size> | Открытые чанки во всех измерениях. |
<btcsky_size_max>, <btcsky_max_size> | Максимум чанков текущего измерения из его шаблона. |
<btcsky_island_size_max>, <btcsky_island_max_size> | Максимум чанков по всем измерениям. |
<btcsky_biomes_acquired>, <btcsky_island_biomes_total> | Открытые биомы по всем измерениям. |
<btcsky_biomes_total> | Биомы, которые могут существовать по всем измерениям. |
<btcsky_biomes:group> | Открытые биомы группы биомов в текущем измерении. |
<btcsky_island_biomes:group> | Открытые биомы группы биомов по всем измерениям. |
<btcsky_block_count:MATERIAL> | Количество блока в текущем измерении. |
<btcsky_upgrade_level:id> | Уровень улучшения в текущем измерении. |
<btcsky_upgrades_acquired>, <btcsky_upgrades_total> | Купленные и доступные улучшения по всем измерениям. |
<btcsky_warp_count>, <btcsky_warp_list> | Число и названия варпов. |
<btcsky_warp_limit> | Лимит варпов по умолчанию из конфигурации. |
Прогрессия и социальные функции
| Плейсхолдер | Возвращает |
|---|---|
<btcsky_contract_completed_count> | Завершённые контракты. |
<btcsky_research_unlocked_nodes>, <btcsky_research_unlocked_count> | Открытые узлы исследований. |
<btcsky_research_points> | Очки исследований. |
<btcsky_collection_total_unlocked> | Открытые коллекции. |
<btcsky_collection_progress:id> | Собранное количество для id коллекции. |
<btcsky_ban_count> | Забаненные игроки. |
<btcsky_rating>, <btcsky_rating_count> | Средняя оценка (1 знак после запятой) и число голосов. |
<btcsky_combat_wins>, <btcsky_combat_losses>, <btcsky_combat_draws>, <btcsky_combat_winrate> | Статистика войн и процент побед. |
Измерения
Аргумент — id измерения или current.
| Плейсхолдер | Возвращает |
|---|---|
<btcsky_dimension_id:dim>, <btcsky_dimension_display:dim> | Id измерения и его отображаемое название с заглавной буквы. |
<btcsky_dimension_unlocked:dim>, <btcsky_dimension_is_locked:dim> | true или false. |
<btcsky_dimension_level:dim> | Уровень измерения. |
<btcsky_dimension_generator_tier:dim> | Уровень генератора. |
<btcsky_dimension_event_next:dim> | Время до следующего события (mm:ss), Now или Unknown. |
<btcsky_dimension_size:dim>, <btcsky_dimension_size_max:dim> | Открытые чанки и максимум чанков. |
<btcsky_dimension_biomes_total:dim> | Открытые биомы. |
<btcsky_dimension_upgrades_acquired:dim>, <btcsky_dimension_upgrades_total:dim> | Купленные и доступные улучшения. |
<btcsky_dimension_visitor_count:dim> | Посетители в измерении. |
<btcsky_dimension_upgrade_level:dim:id> | Уровень улучшения в измерении. |
<btcsky_dimension_biomes:dim:group> | Открытые биомы группы в измерении. |
<btcsky_block_limit:dim:MATERIAL> | Лимит блока в измерении. |
<btcsky_dimension_lock_mark:dim> | [X] , когда измерение закрыто, пусто, когда открыто. |
<btcsky_dimension_locked_palette:dim> | Название палитры для закрытого или открытого измерения, для кнопок меню. |
Меню
Панель управления — это одно меню с представлениями.
- BTC Sky Menu содержит
layoutPool,views(по одному на экран),defaultViewIdиinventoryRows. Слоты вкладок несут тегview:<viewId>; фреймы с переменным содержимым используют id макета@view. Представление открывается через<viewId>или<viewId>:<argument>(напримерcollection_detail:mining). - Предметы содержимого используют
buttonTypeвидаbtcsky_button:TYPE. Расширение подставляет живые данные (информация об острове, измерения, улучшения, коллекции, рейтинг, варпы, контракты, участники, баны, исследования, чанки расширения, границы, бой, голограммы…) и привязывает клики. - BTC Sky Menu Configuration содержит шаблоны предметов динамических списков.
- Open Specific Menu открывает заданное представление, а Open Friends Menu открывает экран друзей.
При открытии из глобального меню панель — это каталог (вы просматриваете, но ничего не покупаете). При открытии от стабилизирующего кристалла она становится центром управления измерением, и покупка улучшений и чанков разрешена; иначе команды покупки отказывают.
Если установлен UiCore, BTC Sky также публикует списки (улучшения, карта расширения, посещения, коллекции, рейтинг, участники и границы) в меню UiCore и показывает баннеры, когда ограничение популяции отклоняет появление.
Записи
Записей: 161, сгенерированы из исходного кода расширения.
Действия61
- Archipel Build Bridge ActionArchipel : bâtir une passerelle
- Archipel Grant Access ActionArchipel : accorder l'accès
- Archipel Raise Tier ActionArchipel : monter un îlot d'un palier
- Btcsky Add RatingAdd rating to island
- Btcsky Apply EffectApply island effect
- Btcsky Decline InviteDecline island invite
- Btcsky Invite Coop PartnerInvite a player to start a Coop
- Btcsky Leave CoopLeave cooperative island
- Btcsky MenuBTC Sky Menu
- Btcsky Open Friends MenuOpens the friends menu for the player
- Btcsky Open MenuOpen specific menu
- Btcsky Remove EffectRemove island effect
- Btcsky Reset UpgradesReset all upgrades
- Btcsky Set Dimension BiomeSet dimension biome
- Btcsky Set Generator TierSet generator tier
- Btcsky Set TimeSet dimension time
- Btcsky Set Upgrade LevelSet upgrade level (admin)
- Btcsky Switch Next DimensionCycle to next unlocked island dimension
- Btcsky Teleport Random IslandTeleport to random public island
- Btcsky Teleport to PlayerTeleport to player on island
- Btcsky Toggle Warp PublicToggle warp visibility
- Btcsky Upgrade GeneratorUpgrade generator one tier
- Create Island ActionCreate Island
- Create Named HologramCreate a hologram from menu input
- Create Named WarpCreate a named warp from menu input
- Create Warp ActionCreate Island Warp
- Delete Island ActionDelete Island
- Delete Named HologramDelete a hologram from menu
- Delete Warp ActionDelete Island Warp
- Demote Member ActionDemote Member
- Edit Named HologramEdit a hologram from menu input
- Initiate Guild WarInitiates a Guild War instance directly via ASPaper.
- Invite Member ActionInvite Member
- Invite Named PlayerInvite a player by name from menu input
- Island Accept Invite ActionAccepts a pending island invitation
- Island Ban PlayerBan a player from the island
- Island Bank DepositDeposits money into island bank
- Island Bank WithdrawWithdraw money from island bank
- Island Calculate LevelRecalculate island level
- Island Rename WarpRename an island warp
- Island Research ActionUnlock a research node
- Island Reset ActionResets the player's island (Delete & Re-create)
- Island Set BiomeSet the island's biome
- Island Set HomeSet island home location
- Island Set WeatherSet dimension weather
- Island Show BorderVisually show island border
- Island Teleport DimensionTeleport to specific dimension
- Island Teleport SpawnTeleport to server spawn
- Island Toggle FlyToggle Fly mode on the island
- Island Toggle PVPToggle PvP on the island
- Island Upgrade ActionPurchase an upgrade for the island
- Kick Member ActionKick Member
- Leave Island ActionLeave Island
- Move Island NPC ActionDéplacer un habitant de l'île
- Open Research MenuOpen a research menu for the player
- Promote Member ActionPromote Member
- Research Grant PointsGrant research points to the player's island
- Research Grant XPGrant experience to a research category
- Teleport Home ActionTeleport Home
- Unlock Collection ActionUnlock/Lock Collection
- Unlock Dimension ActionUnlock Island Dimension
События33
- Btcsky Block Broken EventWhen a block is broken on the island
- Btcsky Block Limit Reached EventWhen block limit is reached
- Btcsky Block Placed EventWhen a block is placed on the island
- Btcsky Combat End EventWhen island combat ends
- Btcsky Combat Start EventWhen island combat starts
- Btcsky Coop Invite Accepted EventWhen a coop invitation is accepted
- Btcsky Coop Invite Declined EventWhen a coop invitation is declined
- Btcsky Coop Invite Sent EventWhen a coop invitation is sent
- Btcsky Coop Partner Left EventWhen a coop partner leaves
- Btcsky Entity Limit Reached EventWhen entity limit is reached
- Btcsky Generator Used EventWhen a cobblestone generator is used
- Btcsky Island Enter EventWhen a player enters any island
- Btcsky Island Event EndWhen a random island event ends
- Btcsky Island Event StartWhen a random island event starts
- Btcsky Island Leave EventWhen a player leaves an island
- Btcsky Island Visit EventWhen a player visits another player's island
- Btcsky Level Up EventWhen island level increases
- Btcsky Member Banned EventWhen a player is banned from the island
- Btcsky Member Demoted EventWhen a member is demoted
- Btcsky Member Join EventWhen a new member joins the island
- Btcsky Member Kicked EventWhen a member is kicked
- Btcsky Member Leave EventWhen a member leaves the island
- Btcsky Member Promoted EventWhen a member is promoted
- Btcsky Member Unbanned EventWhen a player is unbanned
- Btcsky Research Complete EventWhen a research is completed
- Btcsky Season Change EventWhen the island season changes
- Btcsky Top Reached EventWhen island enters top rankings
- Btcsky Warp Create EventWhen an island warp is created
- Btcsky Warp Delete EventWhen an island warp is deleted
- Island Bank Transaction EventTriggered on bank transactions
- On Island CreateTriggered when a player creates an island
- On Island Dimension EnterWhen player enters an island dimension
- On Island UpgradeWhen an island upgrade is purchased
Цели1
- Coop Countable ObjectiveA countable objective that scales its target for coop islands
Факты38
- Archipel Access FactArchipel : accès accordé
- Archipel Bridge FactArchipel : passerelle bâtie
- Archipel Bridges FactArchipel : passerelles bâties
- Archipel Progression FactArchipel : progression totale
- Archipel Tier FactArchipel : palier de l'îlot
- Btcsky Block Count FactCount of specific block/material
- Btcsky Block Limit FactLimit for specific block/material
- Btcsky Dimension Is Primary FactDimension is primary/home
- Btcsky Dimension Unlocked FactDimension is unlocked
- Btcsky Entity Count FactCount of specific entity type
- Btcsky Entity Limit FactLimit for specific entity type
- Btcsky Fly Enabled FactIf fly is enabled (upgrade/setting)
- Btcsky Generator Tier FactGenerator tier for dimension
- Btcsky Has Island FactPlayer has an island
- Btcsky Has Upgrade FactHas upgrade (level > 0)
- Btcsky Is Coop Island FactIsland is cooperative
- Btcsky Is in Void FactPlayer is in the void (Y < -64)
- Btcsky Is Island Admin FactPlayer is island admin or higher
- Btcsky Is Island Member FactPlayer is island member or higher
- Btcsky Is Island Moderator FactPlayer is island moderator or higher
- Btcsky Is Island Owner FactPlayer is island owner
- Btcsky Is on Any Island FactPlayer is on valid island world
- Btcsky Is on Island FactPlayer is on their own island
- Btcsky Is Visitor FactPlayer is visiting another island
- Btcsky Island Age FactIsland age in days
- Btcsky Island Balance FactIsland bank balance
- Btcsky Island Rating FactIsland average rating
- Btcsky Member Count FactNumber of island members
- Btcsky Member Role FactPlayer's island role (ordinal)
- Btcsky Online Member Count FactNumber of online island members
- Btcsky Upgrade Level FactLevel of specific upgrade
- Btcsky Warp Count FactNumber of warps in dimension
- Contract Completion FactReturns the number of contracts completed by the player
- Island Block Count FactCount specific blocks on an island dimension
- Island Dimension ActivityGet last activity timestamp for an island dimension
- Island Level FactCheck Island Level
- Island NPC PositionStores island npc position per dimension
- Island Role FactCheck Island Role
Сущности1
- Island NPC InstanceNpc instance per island dimension
Активности1
- Btcsky Runtime PathRuntime Path Activity
Группы2
- Btcsky Island GroupGroups players by their BTCSky island (Global)
- Btcsky Role GroupGroups players by their BTCSky island and role
Артефакты1
- Player Sky Data ArtifactGlobal BTC Sky Data Storage
Манифесты20
- Btcsky Bettermodel Impact MechanicBetterModel Impact Mechanic
- Btcsky Boss MechanicBoss Mechanic
- Btcsky ConfigBTC Sky Main Configuration
- Btcsky Coop Buff MechanicCoop Buff Mechanic
- Btcsky Dimension TemplateIsland Dimension Template
- Btcsky Eclipse MechanicEclipse Mechanic
- Btcsky Event Ambience MechanicEvent Ambience Mechanic
- Btcsky Event Flag MechanicIsland Event Flag
- Btcsky Event Trigger MechanicEvent Trigger Mechanic
- Btcsky Island EventIsland Event
- Btcsky Menu ConfigBTC Sky Menu Configuration
- Btcsky Meteor Shower MechanicMeteor Shower Mechanic
- Btcsky Mob Wave MechanicMob Wave Mechanic
- Btcsky PermissionsBTC Sky Permission Definitions
- Btcsky Research BranchResearch Branch
- Btcsky Research NodeResearch Node
- Btcsky Storm MechanicStorm Mechanic
- Btcsky Temporary Client Block MechanicTemporary Client Block Mechanic
- Btcsky Temporary Multiplier MechanicTemporary Multiplier Mechanic
- Btcsky Treasure Rain MechanicTreasure Rain Mechanic
Определения1
- Island Dimension Road NetworkRoad network shared across BTC Sky dimensions
Другие записи2
- Btcsky InstanceSpawns an Entity Instance in a specific Island Dimension.
- Btcsky NPC Reference BlockNPC Reference Block
Устранение неполадок
Мир острова не создаётся. Каждое измерение клонирует мир с именем из templateWorldName из папки slime_worlds. Файл должен существовать, а BTC Core должен предоставлять Advanced Slime Paper. Проверьте журнал сервера на id измерения и id острова.
После создания профиля у игрока нет острова. autoProvisionIslandOnProfileCreation по умолчанию выключен. Запустите действие Create Island или включите эту опцию.
/island не существует. Расширение регистрирует только /typewriter island. Создайте собственную команду, запускающую BTC Sky Menu, и учтите, что у записи меню, которую открывает стол контрактов, должен быть id control_panel.
Контракты не открываются. При включённом contractsRequireWorkstation контракты открываются только от стола контрактов (contractsTableEnabled и contractsTableBlock). Отключите это на тестовом сервере или выдайте право обхода.
Каждый плейсхолдер возвращает 0. У игрока нет острова или активного профиля. Проверьте <btcsky_has_island> и <btcsky_context_state>. Аргумент измерения должен быть допустимым id измерения или current.
Моё дерево исследований не появляется. Среда выполнения исследований читает research.branches и research.nodes основной конфигурации. Записи Research Branch и Research Node не читаются.
Сезоны или события никогда не начинаются. Сезоны по умолчанию отключены (seasons.enabled). Событиям нужно хотя бы одно событие в events.events шаблона, а событие срабатывает, только когда совпадают его conditions, requiredUpgradeId и minimumPlayers.
На острове не появляются мобы. Проверьте spawner.enabled, maxNearbyMobs и maxPerChunk, а также флаг острова IS_MOB_SPAWNING_ENABLED. Используйте /typewriter island admin limit show <profileId>, чтобы сравнить счётчики с реальным числом мобов.
Игроки не могут строить в общем мире. Миры из readOnlyWorlds (по умолчанию archipel_metiers) защищены для всех, кроме обладателей machine.protection.bypass.