BTC Sky
概述
BTC Sky 是 TypeWriter 的 BTC 构建版中的空岛引擎。每个玩家档案拥有一座岛屿。岛屿由一个或多个维度(主世界、下界、末地,或你设计的任意自定义世界)组成,每个维度都从一个模板世界克隆而来,并由一个 Dimension Template 配置。每个维度都有自己的大小、升级、限制、生成器、赛季、事件和战斗设置。
玩家通过购买区块、升级和生成器层级、研究新技术、填满收藏、承接合约,以及访问或攻打其他岛屿来发展自己的岛屿。一切都在网页面板中配置:一个 BTC Sky Main Configuration 保存全局规则,每个维度一个模板保存玩法设定,而 BTC Sky Menu 用于构建控制面板。
BTC Sky 是一个私有扩展。它运行于 BTC Core(搭载 Advanced Slime Paper 的 Paper 或 Folia),此处的文档仅供参考。其他 BTC 扩展依赖它:Machine 使用它的岛屿来进行放置、限制和研究层级,FakeBlock 则可以把结构图(schematic)锚定到它的维度上。
功能
- 与档案绑定的岛屿 — 每个档案一座岛屿,由维度模板创建,并由合作档案的所有者共享。
- 多个维度 — 每座岛屿可以解锁并设计任意多个维度,每个维度都有各自的成长进程。
- 区块扩张 — 从单个区块开始并购买更多区块,带有可配置的费用曲线、自定义区块,以及带粒子和世界边界的实时预览。
- 角色和设置 — 访客、成员、协管员、管理员和领袖角色,按维度的权限,以及岛屿标志(PvP、飞行、怪物生成、爆炸、访客规则)。
- 研究树 — 通过投入碎片、装入燃料并等待烹制时间来解锁的分支和节点。
- 赛季和事件 — 按维度的赛季,以及可组合的事件(流星雨、风暴、怪物浪潮、首领、宝藏雨)。
- 生成器和升级 — 分层的圆石生成器,以及数据驱动的升级目录。
- 限制 — 方块、实体、机器和宠物的限制,以及每个维度的怪物数量预算。
- 岛屿银行和合约 — 兼作服务器经济的银行,以及在合约台(Contracts Table)进行的玩家之间的合约。
- 收藏、排名、战争 — 带有等级奖励的全局收藏、等级排行榜和岛屿战争队列。
- TypeWriter 钩子 — 38 个 fact、33 个事件、分组、一个目标以及许多动作,用于围绕岛屿构建任务。
安装
- 安装带有 BTC Core 的 TypeWriter BTC 构建版。岛屿世界使用 Advanced Slime Paper 创建,因此服务器必须提供它。
- 安装 BTC Sky 声明为必需的扩展:Region、Entity、RoadNetwork 和 BTCMobs。实际上它还需要 Profiles 扩展(每座岛屿以档案 id 为键)和 GUI 扩展(菜单)。
- 可选扩展:MySql(服务器之间共享存储)、UiCore(高级菜单和横幅)、Party、Friend 和 Guild(社交关联)、NumericalStorage(货币)、CraftEngine(自定义方块)、CustomBiome(自定义生物群系),以及用于客户端边界和全息图的 PacketEvents。占位符需要 MiniPlaceholders。
- 将 BTC Sky 的 JAR 放入
plugins/Typewriter/extensions/,然后重启服务器。 - 为每个维度创建一个模板世界,并将其放入服务器的
slime_worlds文件夹中,名称与你将设置给templateWorldName的名称一致。
工作原理
实例
**实例(instance)**是某个游戏对象在某座岛屿的某个维度内的一份放置副本。BTC Sky 有两种实例条目。BTC Sky Instance 会在给定的维度(targetDimension)中、相对于该维度出生点偏移 spawnOffset 的位置生成一个实体(NPC 或 BetterModel 模型),并可带有用于寻路的道路网络。Island NPC Instance 是 NPC 的变体,其位置按岛屿维度存储,因此每座岛屿都有自己的副本,所有者可以用 Move Island NPC 动作移动它。
维度模板
Dimension Template 是一个维度的蓝图。将它添加到主配置的 dimensionTemplates 列表中。它定义:
| 分组 | 字段 | 控制的内容 |
|---|---|---|
| 标识 | dimensionId, displayName, priority, description, icon, menuSlots | 维度如何命名并在菜单中显示。 |
| 世界 | templateWorldName, defaultBiome, allowedBiomes, spawn | 为每座岛屿克隆的世界、玩家可选择的生物群系组,以及出生角点。 |
| 访问 | unlock | 是否默认解锁、主要维度、费用、所需的岛屿等级、权限、解锁时触发的动作。 |
| 大小 | expansion | 以每边区块数计的初始和最大大小、费用曲线、自定义区块、预览材质。 |
| 限制 | limits | 方块、实体、机器和宠物的限制,以及传送点(warp)限制。 |
| 数量 | 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 中设置的。
**合作(coop)**则不同:合作岛屿有多位所有者,他们共享岛屿的成长进度(研究、收藏、等级)。合作需要 Profiles 扩展中的 Coop 档案。所有者或岛屿管理员通过 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 列表(原版方块或 CraftEngine 方块 id,加上百分比)。让 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 的层级就指定了一个研究节点。
Research Branch 和 Research Node manifest 条目虽然存在,但研究运行时读取的是主配置,所以请在那里定义你的树。使用 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)(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_* 的 fact 和动作的形式提供。
快速上手
创建带有一个维度的第一座岛屿,并让玩家打开控制面板:
- 在 TypeWriter 网页面板中,打开一个 static 页面,添加一个 Player Sky Data Artifact。
- 添加一个 Dimension Template。将
dimensionId设为overworld,templateWorldName设为你的模板世界的名称,并保持unlock.isPrimary开启。调整expansion(initialSizeChunks、maxSizeChunks、baseCost)。 - 添加一个 BTC Sky Main Configuration。将模板放入
dimensionTemplates,将 artifact 放入playerSkyDataArtifact。 - 添加一个 id 为
control_panel的 BTC Sky Menu(合约台会打开这个条目),构建其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(或 OP 身份)。
| 命令 | 说明 |
|---|---|
/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 | 检查并授予群岛的访问权限、桥梁和层级(权限 btcsky.admin.archipel)。 |
权限
| 权限 | 授予 |
|---|---|
btcsky.admin | 整个 /typewriter island admin 分支。 |
btcsky.admin.search, .create, .delete, .tp, .setlevel, .eco, .collection, .upgrade, .dimension, .event, .limit | 每个管理子命令,作为更细粒度的替代方案。上级分支仍然需要 btcsky.admin 或 OP 身份。 |
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.*)。它们只是文档:当前的代码并不会检查它们。
占位符
btcsky expansion 的 MiniPlaceholders 标签,通过 TypeWriter 提供。没有岛屿的玩家,除 has_island 外的每个标签都会得到 0。凡是需要维度的地方,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)。 - 内容物品使用
btcsky_button:TYPE形式的buttonType。扩展会填入实时数据(岛屿信息、维度、升级、收藏、排名、传送点、合约、成员、封禁、研究、扩张区块、边界、战斗、全息图…),并附加点击行为。 - 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
故障排查
岛屿世界没有被创建。 每个维度都会从 slime_worlds 文件夹中克隆 templateWorldName 里指定的世界。该文件必须存在,并且 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 的持有者除外。