Saltar al contenido principal

BTC Sky

Islas de skyblock con dimensiones, cooperativo, investigación, temporadas, eventos, generadores, banco y límites.

Privadasv0.1.1Mundo y construcción
RequiereTypeWriter0.9.0-beta-177 (BTC build)BTC Core (Advanced Slime Paper)Region extensionEntity extensionRoadNetwork extensionBTCMobsProfiles extensionGUI extensionMySql extensionopcionalUiCoreopcionalPacketEventsopcionalMiniPlaceholdersopcional

Creada para la red BornToCraft. Esta extensión está documentada como referencia y no se distribuye.

Descripción general​

BTC Sky es el motor de skyblock de la compilación BTC de TypeWriter. Cada perfil de jugador posee una isla. La isla está formada por una o más dimensiones (Overworld, Nether, End o cualquier mundo personalizado que diseñes), cada una clonada de un mundo plantilla y configurada por una Dimension Template. Cada dimensión tiene su propio tamaño, mejoras, límites, generador, temporadas, eventos y ajustes de combate.

Los jugadores hacen crecer su isla comprando chunks, mejoras y niveles de generador, investigando nuevas tecnologías, completando colecciones, aceptando contratos y visitando o combatiendo contra otras islas. Todo se configura desde el panel web: una BTC Sky Main Configuration contiene las reglas globales, una plantilla por dimensión contiene la jugabilidad y un BTC Sky Menu construye el panel de control.

BTC Sky es una extensión privada. Funciona sobre BTC Core (Paper o Folia con Advanced Slime Paper) y se documenta aquí como referencia. Otras extensiones de BTC dependen de ella: Machine usa sus islas para la colocación, los límites y los niveles de investigación, y FakeBlock puede anclar esquemas a sus dimensiones.

Características​

  • Islas vinculadas a perfiles — una isla por perfil, creada a partir de una plantilla de dimensión, compartida por los propietarios de un perfil coop.
  • Múltiples dimensiones — desbloquea y diseña tantas dimensiones por isla como quieras, cada una con su propia progresión.
  • Expansión por chunks — empieza con un solo chunk y compra más, con una curva de costes configurable, chunks personalizados y una vista previa en vivo con bordes de partículas y de mundo.
  • Roles y ajustes — roles de visitante, miembro, moderador, administrador y líder, permisos por dimensión y flags de isla (PvP, vuelo, aparición de mobs, explosiones, reglas para visitantes).
  • Árbol de investigación — ramas y nodos que se desbloquean aportando fragmentos, cargando combustible y esperando un tiempo de cocción.
  • Temporadas y eventos — temporadas por dimensión y eventos componibles (lluvias de meteoritos, tormentas, oleadas de mobs, jefes, lluvia de tesoros).
  • Generadores y mejoras — generadores de adoquín por niveles y un catálogo de mejoras basado en datos.
  • Límites — límites de bloques, entidades, máquinas y mascotas, además de un presupuesto de población de mobs por dimensión.
  • Banco de la isla y contratos — un banco que hace de economía del servidor y contratos entre jugadores en una Contracts Table.
  • Colecciones, ranking, guerra — colecciones globales con recompensas por nivel, una clasificación por nivel y una cola de guerras de islas.
  • Enlaces con TypeWriter — 38 facts, 33 eventos, grupos, un objetivo y muchas acciones para construir misiones alrededor de las islas.

Instalación​

  1. Instala la compilación BTC de TypeWriter con BTC Core. Los mundos de las islas se crean con Advanced Slime Paper, así que el servidor debe proporcionarlo.
  2. Instala las extensiones que BTC Sky declara como obligatorias: Region, Entity, RoadNetwork y BTCMobs. En la práctica también necesita la extensión Profiles (cada isla se identifica con un id de perfil) y la extensión GUI (menús).
  3. Extensiones opcionales: MySql (almacenamiento compartido entre servidores), UiCore (menús avanzados y banners), Party, Friend y Guild para vínculos sociales, NumericalStorage para monedas, CraftEngine para bloques personalizados, CustomBiome para biomas personalizados y PacketEvents para bordes y hologramas del lado del cliente. MiniPlaceholders es necesario para los placeholders.
  4. Coloca el JAR de BTC Sky en plugins/Typewriter/extensions/ y reinicia el servidor.
  5. Crea un mundo plantilla por dimensión y colócalo en la carpeta slime_worlds del servidor, con el nombre que darás a templateWorldName.

Cómo funciona​

La instancia​

Una instancia es una copia colocada de un objeto del juego dentro de una dimensión de una isla. BTC Sky tiene dos tipos de entradas de instancia. Una BTC Sky Instance genera una entidad (un NPC o un modelo de BetterModel) en una dimensión dada (targetDimension) con un desplazamiento respecto al punto de aparición de la dimensión (spawnOffset), con una red de carreteras opcional para el cálculo de rutas. Una Island NPC Instance es la variante de NPC cuya posición se almacena por dimensión de isla, de modo que cada isla tiene su propia copia que el propietario puede mover con la acción Move Island NPC.

Plantillas de dimensión​

Una Dimension Template es el plano de una dimensión. Añádela a la lista dimensionTemplates de la configuración principal. Define:

GrupoCamposQué controla
IdentidaddimensionId, displayName, priority, description, icon, menuSlotsCómo se nombra y se muestra la dimensión en los menús.
MundotemplateWorldName, defaultBiome, allowedBiomes, spawnEl mundo clonado para cada isla, los grupos de biomas entre los que puede elegir el jugador y la esquina de aparición.
AccesounlockDesbloqueada por defecto o no, dimensión primaria, coste, nivel de isla requerido, permiso, acciones lanzadas al desbloquear.
TamañoexpansionTamaño inicial y máximo en chunks por lado, curva de costes, chunks personalizados, materiales de vista previa.
LímiteslimitsLímites de bloques, entidades, máquinas y mascotas, y el límite de warps.
Poblaciónspawner, mobLevelAtCenter, mobLevelAtEdgeFrecuencia de aparición de mobs, distancias y topes, y nivel de los mobs del centro al borde.
EconomíablockValues, generator, multipliersValor de nivel de isla de cada bloque, niveles del generador y multiplicadores de cultivos, drops, spawners y XP.
PersonasrolePermissions, overrideGlobalFlags, enabledFlagsQué puede hacer cada rol en esta dimensión.
Tiemposeasons, eventsTemas estacionales y eventos aleatorios de isla.
ProgresiónupgradesEl catálogo de mejoras de esta dimensión.
Combate y cristalcombat, crystal, crystalOffset, crystalMovableAjustes de guerra y el cristal de estabilización de la dimensión.

El cristal de estabilización tiene tres estados (crystal): ACTIVE abre la sala de control de la dimensión (y su panel de máquinas), DECORATIVE es decoración que rechaza la interacción y ABSENT prohíbe colocar uno.

Islas​

Una isla pertenece a un perfil: su id es el id del perfil. Contiene sus dimensiones, ajustes, miembros, mejoras, saldo bancario, estadísticas, progreso de investigación, colecciones, warps, hologramas, valoraciones y expulsiones. Las islas se guardan en el Player Sky Data Artifact, al que haces referencia desde el campo playerSkyDataArtifact de la configuración principal.

Una isla se crea a partir de una plantilla con la acción Create Island. Por defecto nada la crea automáticamente: establece autoProvisionIslandOnProfileCreation para crear y entrar en la isla primaria justo después de crear un perfil, o déjalo desactivado para que un tutorial o un menú desbloquee la isla más tarde.

Los niveles de isla los calcula un escáner a partir de los blockValues de cada dimensión. Los bloques apilados cuentan en el nivel pero ocupan un solo bloque de espacio.

Miembros, roles y coop​

RolSignificado
VISITORCualquiera que no sea miembro.
MEMBERUn amigo del propietario con acceso básico.
MODERATORPuede invitar y expulsar.
ADMINGestión completa excepto disolver.
LEADEREl propietario.

El propietario asigna roles a los amigos (members). Un rol alto es un nivel de permisos: no convierte al amigo en copropietario ni comparte la progresión. Lo que puede hacer cada rol (BUILD, BREAK, CHEST_ACCESS, INVITE, KICK, BAN, SET_WARP, SET_HOME, SET_BIOME, MANAGE_FLAGS, MANAGE_UPGRADES, TRANSFER, DISBAND…) se establece por dimensión en rolePermissions de la plantilla.

Coop es distinto: una isla coop tiene varios propietarios, y comparten la progresión de la isla (investigación, colecciones, nivel). Coop necesita un perfil Coop en la extensión Profiles. Un propietario o un administrador de la isla invita a un jugador con la acción Invite Coop Partner. La invitación caduca a los 60 segundos y se acepta con Accept Invite o se rechaza con Decline Invite. El Coop Countable Objective duplica su meta en las islas coop.

Los ajustes de la isla (flags) se activan por isla: 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 y WORLD_BORDER.

Mejoras, generadores y límites​

Cada dimensión lista sus upgrades. Una mejora tiene niveles con un cost, un effectValue y acciones opcionales al comprar. Su effectType decide lo que hace: multiplicadores de crecimiento de cultivos, de drops de mobs o de frecuencia de spawners, efectos de poción y de isla, aumentos de límites de bloques y entidades, tamaño del equipo, límite de warps, nivel de generador, vuelo en la isla, frecuencia y botín de eventos, desbloqueos de eventos, o un efecto personalizado mediante acciones. Si dejas upgrades intacto, se usa el catálogo por defecto integrado.

El generador de adoquín tiene niveles (generator.tiers), cada uno con un cost y una lista de rates (un bloque de vanilla o un id de bloque de CraftEngine, con un porcentaje). Deja tiers vacío para usar los valores por defecto integrados del overworld, el nether y el end.

Los límites provienen solo de la plantilla: un tipo de bloque o entidad que no figure en la lista es ilimitado. Cada límite tiene un valor base y puede ser mejorable (upgradeCost, upgradeIncrease). Los límites de máquinas y mascotas se aplican cuando esas extensiones están instaladas. El bloque spawner añade un presupuesto de población de mobs (maxNearbyMobs, maxPerChunk, topes por plantilla) para que una granja no pueda detener todas las demás apariciones. Cuando UiCore está instalado, los jugadores ven un banner cuando un tope rechaza una aparición.

Investigación​

El árbol de investigación se define en la sección research de la configuración principal, no en entradas separadas:

  • Las ramas (research.branches) son categorías con una curva de niveles: la XP necesaria por nivel, los puntos concedidos y las acciones que se ejecutan al subir de nivel.
  • Los nodos (research.nodes) pertenecen a una rama, están en una posición x/y y listan sus parents, powerCost, requiredLevel, criteria, fuels, output, successChance, ajustes de repetición y recompensas.
  • Los fragmentos (research.fragments) son objetos que dan poder.

Un nodo se investiga por pasos. El jugador pone fragmentos en el nodo para llenar su poder, carga un objeto de combustible, el nodo se cocina durante la duración del combustible y luego el jugador reclama el resultado. Si tiene éxito, se ejecutan las rewards (cada una con su propia probabilidad) y se desbloquean las recetas listadas en recipes; si falla, se ejecutan las failRewards. La investigación pertenece a la isla, así que todos los propietarios la comparten, y las recetas se devuelven a cada jugador al conectarse. Otras extensiones leen los nodos desbloqueados: por ejemplo, los niveles de Machine nombran un nodo de investigación.

Las entradas de manifest Research Branch y Research Node existen, pero el runtime de investigación lee la configuración principal, así que define allí tu árbol. Usa las acciones Research Grant Points, Research Grant XP, Unlock Research y Open Research Menu para conectarlo con tus misiones.

Temporadas​

Las temporadas se configuran por dimensión en seasons y están desactivadas por defecto (enabled). Existen dos modos de temporización:

  • FIXED_DURATION — cada temporada dura fixedDurationHours de tiempo real (168 por defecto, una semana).
  • CALENDAR_LINKED — el año de un calendario de TinyEssentials (calendar, startMonth) se divide uniformemente entre las temporadas.

Cada definición de temporada (definitions, con primavera, verano, otoño e invierno por defecto) puede sobrescribir el bioma, establecer un patrón de clima (CLEAR, RAIN, THUNDER, SNOW), multiplicar el crecimiento de cultivos, las apariciones de mobs, los drops de mobs y la XP, mostrar partículas y lanzar acciones al comenzar y terminar. El evento Season Change informa de cada cambio.

Eventos​

Un evento de isla es un armazón componible: el Island Event describe cuándo puede ejecutarse (chancePerCheck, weight, cooldownMinutes, minimumPlayers, conditions, requiredUpgradeId, dimensiones permitidas y bloqueadas) y lista las mecánicas que reproduce (mechanics). Añade los eventos que una dimensión puede usar a events.events de su plantilla; minIntervalMinutes y maxIntervalMinutes espacian las comprobaciones.

Las mecánicas son entradas separadas que combinas: Meteor Shower, Treasure Rain, Mob Wave, Storm, Eclipse, Boss, Event Ambience (partículas y sonido), Event Flag, Event Trigger (acciones), Temporary Multiplier (XP o drops), Temporary Client Block, Coop Buff y BetterModel Impact. Están listadas en el índice de Entradas de más abajo.

Economía, contratos y colecciones​

El banco de la isla guarda el dinero de la isla. En un servidor sin plugin de economía, el banco se publica como la economía del servidor, de modo que el dinero de un jugador es el dinero de su isla. Deposita y retira con las acciones Island Bank Deposit e Island Bank Withdraw. Los costes en las plantillas usan una referencia de moneda (currency) que apunta a una entrada de moneda, como una de NumericalStorage.

Los contratos son acuerdos entre jugadores, que se toman en una Contracts Table. Por defecto (contractsRequireWorkstation), el menú solo se abre desde el bloque de la mesa (contractsTableBlock, una mesa de cartografía por defecto). Las recompensas están gravadas por contracts.rewardTaxPercent.

Las colecciones registran lo que la isla cosecha, mata y pesca, por objeto, con umbrales de nivel (collections.categories). Cada nivel puede ejecutar acciones una vez (onReach). Los jugadores también pueden desbloquear o bloquear una colección con la acción Unlock Collection.

Guerra​

Cuando combat.enabled está establecido en una plantilla, las islas de esa dimensión pueden participar en guerras. Una isla entra en la cola de guerra como atacante o defensora (desde el panel de control) y se empareja con una isla en cola con el rol opuesto. La isla debe alcanzar combatWar.minIslandLevel, y combatWar.warCooldownMinutes espacia dos guerras. La plantilla establece el propio combate: salud y regeneración del núcleo (coreHealth, coreRegeneration), durationMinutes, attackCooldownHours, puntos de aparición y acciones para el inicio, la victoria y la derrota. El ganador puede saquear una parte del banco del perdedor (combatWar.pillagePercent). Las victorias, derrotas y empates se guardan en las estadísticas de la isla.

El Archipel​

El Archipel des Métiers es un mundo compartido de solo lectura (listado en readOnlyWorlds) de nueve islotes restaurados por la isla: el acceso, los puentes y los niveles se almacenan en la isla y se exponen como facts y acciones archipel_*.

Primeros pasos​

Crea una primera isla con una dimensión y deja que los jugadores abran el panel de control:

  1. En el panel web de TypeWriter, abre una página static y añade un Player Sky Data Artifact.
  2. Añade una Dimension Template. Establece dimensionId en overworld, templateWorldName con el nombre de tu mundo plantilla y mantén unlock.isPrimary activado. Ajusta expansion (initialSizeChunks, maxSizeChunks, baseCost).
  3. Añade una BTC Sky Main Configuration. Coloca la plantilla en dimensionTemplates y el artefacto en playerSkyDataArtifact.
  4. Añade un BTC Sky Menu con el id control_panel (la Contracts Table abre esta entrada), construye su layoutPool y views, y añade una BTC Sky Menu Configuration con las plantillas de las listas dinámicas.
  5. Añade una acción Create Island con template establecido en tu plantilla, y conéctala a un botón, un comando o un paso de tutorial.
  6. Publica. Crea un perfil, activa la acción y la isla aparece con su mundo plantilla.
  7. Prueba el flujo de administración con /typewriter island admin search <name> en una cuenta del staff.
nota

BTC Sky registra sus comandos bajo el comando de TypeWriter. La extensión no define un /island de nivel superior: crea uno con una entrada de comando que active el BTC Sky Menu (consulta Comandos).

Comandos​

Los comandos de isla se registran como @TypewriterCommand, por lo que viven bajo /typewriter (alias /tw). Los menús los ejecutan por el jugador, por eso la mayoría son internos.

Comandos de isla​

ComandoDescripción
/typewriter islandAbre el panel de control.
/typewriter island visit <islandId>Te teletransporta a una isla que esté abierta, salvo que estés expulsado.
/typewriter island invite [player]Abre el diálogo de invitación, o invita a un jugador conectado como compañero coop.
/typewriter island dimension tp <dimId>Te teletransporta a una dimensión de tu isla.
/typewriter island dimension buy <dimId>Desbloquea una dimensión de tu isla.

El panel de control ejecuta también estos comandos internos: navegación por pestañas y dimensiones (dim_select, list_scroll, cp, close), expansión (expansion_map, expansion_nav, buy_chunk), nivel (recalculate_level, recalc_level), warps (warps, warp, warp_create, warp_delete, warp_edit, warp_set_icon, warp_toggle_public), miembros (members, member_manage, member_promote, member_demote, member_kick), moderación (visitor_kick, visitor_ban, unban), bordes (border …), hologramas (holograms, create_hologram, edit_hologram), contratos (contracts_browse, contract_apply, contracts_create, contract_accept, contract_reject, contract_cancel y relacionados), mejoras (upgrade, upgrade_confirm, upgrade_generator), investigación (research_input, research_feed, research_fuel, research_claim), guerra (declare_war, combat_queue, combat_history, attack), valoraciones (rate), biomas (biomes, set_biome, set_chunk_biome), ajustes (toggle_setting, fly_toggle, fly_scope) y clasificación (ranking_sort, ranking_dim). No están pensados para escribirse a mano.

Los botones de chat de una invitación coop ejecutan /island coop accept y /island coop deny. La extensión no registra estos subcomandos, así que conecta Accept Invite y Decline Invite a tus propios comandos.

commandAliases de la configuración principal (por defecto island, is, islands) solo indica al sistema de menús qué palabras de comando enrutar hacia el árbol de isla. No registra comandos nuevos.

Comandos de administración​

Toda la rama admin requiere btcsky.admin (o ser operador).

ComandoDescripción
/typewriter island admin search <query>Busca islas por id, propietario o nombre de miembro.
/typewriter island admin create <player> <template>Crea una isla para un jugador conectado a partir de una plantilla (por id de entrada o id de dimensión).
/typewriter island admin delete <profileId>Elimina una isla.
/typewriter island admin tp <player or id>Te teletransporta a una isla.
/typewriter island admin setlevel <profileId> <level>Establece el nivel de la isla.
/typewriter island admin eco <islandId> get, set <amount>, add <amount>Lee, establece o suma al banco de la isla.
/typewriter island admin collection <islandId> <collectionId> <level>Establece el nivel de una colección.
/typewriter island admin upgrade <upgradeId> <level>Establece el nivel de una mejora en la isla en la que estás, en la dimensión seleccionada.
/typewriter island admin unlock dimension <islandId> <dimId>Desbloquea una dimensión para una isla.
/typewriter island admin event <eventId>Inicia ahora un evento de isla en tu isla.
/typewriter island admin limit show <profileId>Muestra los límites de entidades junto a los recuentos reales.
/typewriter island admin limit budget <profileId> <dimensionId> <value>Establece el presupuesto de mobs de una dimensión (unlimited o -1 lo elimina).
/typewriter island admin limit species <profileId> <dimensionId> <entityType> <value>Establece el tope de un tipo de entidad.
/typewriter archipel, acces, passerelle <islet>, palier <islet>, ouvrirInspecciona y concede acceso, puentes y niveles del Archipel (permiso btcsky.admin.archipel).

Permisos​

PermisoConcede
btcsky.adminToda la rama /typewriter island admin.
btcsky.admin.search, .create, .delete, .tp, .setlevel, .eco, .collection, .upgrade, .dimension, .event, .limitCada subcomando de administración, como alternativa de granularidad más fina. La rama padre sigue requiriendo btcsky.admin o ser operador.
btcsky.admin.archipelLos comandos /typewriter archipel.
btcsky.admin.bypassOmite la protección de la isla y las restricciones de warps, una vez que el jugador tiene también el flag de bypass de administrador.
btcsky.admin.dimensionsEntrar en dimensiones que no están desbloqueadas.
btcsky.warp.unlimitedIgnora el límite de warps.
btcsky.contracts.bypassAbre contratos sin pasar por la Contracts Table (configurable: contractsBypassPermission).
Permisos de contracts.permissionLimitsAumentan el número de contratos abiertos.

La entrada BTC Sky Permission Definitions y las secciones permissions y commands de la configuración principal listan muchos más nodos (btcsky.island.*, btcsky.vip.*, btcsky.command.*). Son documentación: el código actual no los comprueba.

Placeholders​

Etiquetas de MiniPlaceholders de la expansión btcsky, proporcionadas a través de TypeWriter. Un jugador sin isla recibe 0 en todas las etiquetas excepto has_island. Donde se espera una dimensión, current significa la dimensión en la que está el jugador, y ese es el valor por defecto cuando se omite el argumento.

Isla​

PlaceholderDevuelve
<btcsky_has_island>true o false.
<btcsky_context_state>Estado del vínculo entre perfil e isla (NO_PROFILE cuando no hay).
<btcsky_island_id>Id de la isla (perfil).
<btcsky_island_owner>, <btcsky_owner_name>Nombre del propietario.
<btcsky_island_role>Rol del jugador en la isla.
<btcsky_island_level>, <btcsky_level>Nivel de la isla.
<btcsky_island_balance>, <btcsky_bank_balance>Saldo del banco.
<btcsky_island_members_count>, <btcsky_member_count>Número de miembros.
<btcsky_island_members_online>Miembros conectados.
<btcsky_member_max>Límite de tamaño del equipo incluidas las mejoras.
<btcsky_team_members_list>Nombres de los miembros separados por comas.
<btcsky_is_coop_island>true para una isla coop.
<btcsky_island_creation_date>Fecha de creación (yyyy-MM-dd HH:mm:ss).
<btcsky_island_worth>Suma de los niveles de las dimensiones.
<btcsky_visitor_count>Visitantes actualmente en la isla.
<btcsky_biome_current>Nombre del bioma bajo el jugador.
<btcsky_season>Temporada de la dimensión actual, o de la fecha del calendario fuera de una isla.
<btcsky_setting:name>Estado coloreado de activado o desactivado de un ajuste: visit (u open), fly, pvp, mobs, explosions, fire, world_border, possession_border.

<btcsky_island_exp> siempre devuelve 0, <btcsky_island_level_progress> siempre 100 y <btcsky_bank_interest_rate> siempre 0.0: existen solo por compatibilidad.

Tamaño, biomas y recuentos​

PlaceholderDevuelve
<btcsky_size>Chunks desbloqueados en la dimensión actual.
<btcsky_island_size>Chunks desbloqueados en todas las dimensiones.
<btcsky_size_max>, <btcsky_max_size>Máximo de chunks de la dimensión actual, según su plantilla.
<btcsky_island_size_max>, <btcsky_island_max_size>Máximo de chunks en todas las dimensiones.
<btcsky_biomes_acquired>, <btcsky_island_biomes_total>Biomas desbloqueados en todas las dimensiones.
<btcsky_biomes_total>Biomas que pueden existir en todas las dimensiones.
<btcsky_biomes:group>Biomas desbloqueados de un grupo de biomas en la dimensión actual.
<btcsky_island_biomes:group>Biomas desbloqueados de un grupo de biomas en todas las dimensiones.
<btcsky_block_count:MATERIAL>Recuento de un bloque en la dimensión actual.
<btcsky_upgrade_level:id>Nivel de una mejora en la dimensión actual.
<btcsky_upgrades_acquired>, <btcsky_upgrades_total>Mejoras compradas y mejoras disponibles, en todas las dimensiones.
<btcsky_warp_count>, <btcsky_warp_list>Número y nombres de los warps.
<btcsky_warp_limit>Límite de warps por defecto de la configuración.

Progresión y social​

PlaceholderDevuelve
<btcsky_contract_completed_count>Contratos completados.
<btcsky_research_unlocked_nodes>, <btcsky_research_unlocked_count>Nodos de investigación desbloqueados.
<btcsky_research_points>Puntos de investigación.
<btcsky_collection_total_unlocked>Colecciones desbloqueadas.
<btcsky_collection_progress:id>Cantidad recolectada de un id de colección.
<btcsky_ban_count>Jugadores expulsados.
<btcsky_rating>, <btcsky_rating_count>Valoración media (1 decimal) y número de votos.
<btcsky_combat_wins>, <btcsky_combat_losses>, <btcsky_combat_draws>, <btcsky_combat_winrate>Estadísticas de guerra y porcentaje de victorias.

Dimensiones​

El argumento es un id de dimensión o current.

PlaceholderDevuelve
<btcsky_dimension_id:dim>, <btcsky_dimension_display:dim>Id de la dimensión y su nombre visible con inicial mayúscula.
<btcsky_dimension_unlocked:dim>, <btcsky_dimension_is_locked:dim>true o false.
<btcsky_dimension_level:dim>Nivel de la dimensión.
<btcsky_dimension_generator_tier:dim>Nivel del generador.
<btcsky_dimension_event_next:dim>Tiempo hasta el próximo evento (mm:ss), Now o Unknown.
<btcsky_dimension_size:dim>, <btcsky_dimension_size_max:dim>Chunks desbloqueados y máximo de chunks.
<btcsky_dimension_biomes_total:dim>Biomas desbloqueados.
<btcsky_dimension_upgrades_acquired:dim>, <btcsky_dimension_upgrades_total:dim>Mejoras compradas y disponibles.
<btcsky_dimension_visitor_count:dim>Visitantes en la dimensión.
<btcsky_dimension_upgrade_level:dim:id>Nivel de una mejora en la dimensión.
<btcsky_dimension_biomes:dim:group>Biomas desbloqueados de un grupo en la dimensión.
<btcsky_block_limit:dim:MATERIAL>Límite de bloques en la dimensión.
<btcsky_dimension_lock_mark:dim>[X] cuando la dimensión está bloqueada, vacío cuando está abierta.
<btcsky_dimension_locked_palette:dim>Nombre de la paleta para una dimensión bloqueada o abierta, para botones de menú.

Menús​

El panel de control es un único menú con vistas.

  • BTC Sky Menu contiene el layoutPool, las views (una por pantalla), el defaultViewId y las inventoryRows. Las ranuras de pestaña llevan la etiqueta view:<viewId>; los marcos con contenido variable usan el id de layout @view. Una vista se abre con <viewId> o <viewId>:<argument> (por ejemplo collection_detail:mining).
  • Los items de contenido usan un buttonType con la forma btcsky_button:TYPE. La extensión rellena los datos en vivo (información de la isla, dimensiones, mejoras, colecciones, clasificación, warps, contratos, miembros, expulsiones, investigación, chunks de expansión, bordes, combate, hologramas…) y asocia los clics.
  • BTC Sky Menu Configuration contiene las plantillas de items de las listas dinámicas.
  • Open Specific Menu abre una vista dada, y Open Friends Menu abre la pantalla de amigos.

El panel es un catálogo cuando se abre desde el menú global (exploras, no compras nada). Abierto desde un cristal de estabilización se convierte en la sala de control de la dimensión, y se permite comprar mejoras y chunks; en caso contrario, los comandos de compra lo rechazan.

Cuando UiCore está instalado, BTC Sky publica también listas (mejoras, mapa de expansión, visitas, colecciones, clasificación, miembros y bordes) en los menús de UiCore, y muestra banners cuando un tope de población rechaza una aparición.

Entradas​

161 entradas, generadas a partir del código fuente de la extensión.

Acciones61
Eventos33
Objetivos1
Hechos38
Entidades1
Actividades1
Grupos2
Artefactos1
Manifiestos20
Definiciones1
Otras entradas2

Solución de problemas​

El mundo de la isla no se crea. Cada dimensión clona el mundo indicado en templateWorldName desde la carpeta slime_worlds. El archivo debe existir y BTC Core debe proporcionar Advanced Slime Paper. Revisa el registro del servidor para ver el id de la dimensión y el id de la isla.

Un jugador no tiene isla tras crear un perfil. autoProvisionIslandOnProfileCreation está desactivado por defecto. Activa una acción Create Island, o activa la opción.

/island no existe. La extensión solo registra /typewriter island. Crea tu propio comando que active el BTC Sky Menu, y ten en cuenta que la entrada de menú que abre la Contracts Table debe tener el id control_panel.

Los contratos se niegan a abrirse. Con contractsRequireWorkstation activado, los contratos solo se abren desde la Contracts Table (contractsTableEnabled y contractsTableBlock). Desactívalo en un servidor de pruebas o da el permiso de bypass.

Todos los placeholders devuelven 0. El jugador no tiene isla ni perfil activo. Comprueba <btcsky_has_island> y <btcsky_context_state>. El argumento de dimensión debe ser un id de dimensión válido o current.

Mi árbol de investigación no aparece. El runtime de investigación lee research.branches y research.nodes de la configuración principal. Las entradas Research Branch y Research Node no se leen.

Las temporadas o los eventos nunca empiezan. Las temporadas están desactivadas por defecto (seasons.enabled). Los eventos necesitan al menos un evento en events.events de la plantilla, y un evento solo se activa cuando coinciden sus conditions, requiredUpgradeId y minimumPlayers.

No aparecen mobs en la isla. Comprueba spawner.enabled, maxNearbyMobs y maxPerChunk, y el flag de isla IS_MOB_SPAWNING_ENABLED. Usa /typewriter island admin limit show <profileId> para comparar los contadores con el número real de mobs.

Los jugadores no pueden construir en un mundo compartido. Los mundos listados en readOnlyWorlds (por defecto archipel_metiers) están protegidos para todos, excepto para quienes tengan machine.protection.bypass.

Extensiones relacionadas​

  • Machine — máquinas colocadas en las islas, con límites de isla y niveles de investigación.
  • FakeBlock — esquemas anclados a las dimensiones de las islas.