Aller au contenu principal

BTC Sky

Îles skyblock avec dimensions, coop, recherche, saisons, événements, générateurs, banque et limites.

Privéesv0.1.1Monde et construction
NécessiteTypeWriter0.9.0-beta-177 (BTC build)BTC Core (Advanced Slime Paper)Region extensionEntity extensionRoadNetwork extensionBTCMobsProfiles extensionGUI extensionMySql extensionfacultatifUiCorefacultatifPacketEventsfacultatifMiniPlaceholdersfacultatif

Conçue pour le réseau BornToCraft. Cette extension est documentée à titre de référence et n'est pas distribuée.

Vue d'ensemble​

BTC Sky est le moteur skyblock de la version BTC de TypeWriter. Chaque profil de joueur possède une île. L'île est composée d'une ou plusieurs dimensions (Overworld, Nether, End ou tout monde personnalisé que vous concevez), chacune clonée à partir d'un monde modèle et configurée par un Dimension Template. Chaque dimension a sa propre taille, ses améliorations, ses limites, son générateur, ses saisons, ses événements et ses paramètres de combat.

Les joueurs développent leur île en achetant des chunks, des améliorations et des paliers de générateur, en recherchant de nouvelles technologies, en remplissant des collections, en prenant des contrats et en visitant ou en combattant d'autres îles. Tout se configure depuis le panel web : une BTC Sky Main Configuration contient les règles globales, un modèle par dimension contient le gameplay, et un BTC Sky Menu construit le panneau de contrôle.

BTC Sky est une extension privée. Elle fonctionne sur BTC Core (Paper ou Folia avec Advanced Slime Paper) et est documentée ici à titre de référence. D'autres extensions BTC en dépendent : Machine utilise ses îles pour le placement, les limites et les paliers de recherche, et FakeBlock peut ancrer des schematics à ses dimensions.

Fonctionnalités​

  • Îles liées au profil — une île par profil, créée à partir d'un modèle de dimension, partagée par les propriétaires d'un profil coop.
  • Plusieurs dimensions — débloquez et concevez autant de dimensions par île que vous le souhaitez, chacune avec sa propre progression.
  • Extension par chunks — commencez avec un seul chunk et achetez-en d'autres, avec une courbe de coût configurable, des chunks personnalisés et un aperçu en direct avec bordures de particules et de monde.
  • Rôles et paramètres — rôles visiteur, membre, modérateur, admin et chef, permissions par dimension et flags d'île (PvP, vol, apparition de mobs, explosions, règles pour les visiteurs).
  • Arbre de recherche — branches et nœuds débloqués en fournissant des fragments, en chargeant du combustible et en attendant un temps de cuisson.
  • Saisons et événements — saisons par dimension et événements composables (pluies de météores, tempêtes, vagues de mobs, boss, pluies de trésors).
  • Générateurs et améliorations — générateurs de cobblestone par paliers et catalogue d'améliorations piloté par les données.
  • Limites — limites de blocs, d'entités, de machines et de familiers, ainsi qu'un budget de population de mobs par dimension.
  • Banque d'île et contrats — une banque qui sert aussi d'économie du serveur, et des contrats de joueur à joueur à une Contracts Table.
  • Collections, classement, guerre — collections globales avec récompenses de niveau, un classement par niveau et une file d'attente de guerre d'îles.
  • Hooks pour TypeWriter — 38 facts, 33 événements, groupes, un objectif et de nombreuses actions pour construire des quêtes autour des îles.

Installation​

  1. Installez la version BTC de TypeWriter avec BTC Core. Les mondes d'îles sont créés avec Advanced Slime Paper : le serveur doit donc le fournir.
  2. Installez les extensions que BTC Sky déclare comme requises : Region, Entity, RoadNetwork et BTCMobs. En pratique, elle a aussi besoin de l'extension Profiles (chaque île est identifiée par un identifiant de profil) et de l'extension GUI (menus).
  3. Extensions facultatives : MySql (stockage partagé entre serveurs), UiCore (menus avancés et bannières), Party, Friend et Guild pour les liens sociaux, NumericalStorage pour les monnaies, CraftEngine pour les blocs personnalisés, CustomBiome pour les biomes personnalisés, et PacketEvents pour les bordures et hologrammes côté client. MiniPlaceholders est nécessaire pour les placeholders.
  4. Placez le JAR de BTC Sky dans plugins/Typewriter/extensions/ et redémarrez le serveur.
  5. Créez un monde modèle par dimension et placez-le dans le dossier slime_worlds du serveur, sous le nom que vous donnerez à templateWorldName.

Fonctionnement​

L'instance​

Une instance est une copie placée d'un objet de jeu dans une dimension d'une île. BTC Sky possède deux types d'entrées d'instance. Une BTC Sky Instance fait apparaître une entité (un PNJ ou un modèle BetterModel) dans une dimension donnée (targetDimension) à un décalage du point d'apparition de la dimension (spawnOffset), avec un road network facultatif pour la recherche de chemin. Une Island NPC Instance est la variante de PNJ dont la position est stockée par dimension d'île : chaque île a donc sa propre copie, que le propriétaire peut déplacer avec l'action Move Island NPC.

Modèles de dimension​

Un Dimension Template est le plan d'une dimension. Ajoutez-le à la liste dimensionTemplates de la configuration principale. Il définit :

GroupeChampsCe qu'il contrôle
IdentitédimensionId, displayName, priority, description, icon, menuSlotsComment la dimension est nommée et affichée dans les menus.
MondetemplateWorldName, defaultBiome, allowedBiomes, spawnLe monde cloné pour chaque île, les groupes de biomes parmi lesquels le joueur peut choisir, et le coin d'apparition.
AccèsunlockDébloquée par défaut ou non, dimension principale, coût, niveau d'île requis, permission, actions déclenchées au déblocage.
TailleexpansionTaille initiale et maximale en chunks par côté, courbe de coût, chunks personnalisés, matériaux d'aperçu.
LimiteslimitsLimites de blocs, d'entités, de machines et de familiers, et limite de warps.
Populationspawner, mobLevelAtCenter, mobLevelAtEdgeTaux d'apparition des mobs, distances et plafonds, et niveau des mobs du centre au bord.
ÉconomieblockValues, generator, multipliersValeur de niveau d'île de chaque bloc, paliers de générateur, multiplicateurs de cultures, de drops, de spawners et d'XP.
PersonnesrolePermissions, overrideGlobalFlags, enabledFlagsCe que chaque rôle peut faire dans cette dimension.
Tempsseasons, eventsThèmes saisonniers et événements d'île aléatoires.
ProgressionupgradesLe catalogue d'améliorations de cette dimension.
Combat et cristalcombat, crystal, crystalOffset, crystalMovableParamètres de guerre et cristal de stabilisation de la dimension.

Le cristal de stabilisation a trois états (crystal) : ACTIVE ouvre la salle de contrôle de la dimension (et son tableau de bord de machines), DECORATIVE est un décor qui refuse l'interaction, ABSENT interdit d'en placer un.

Îles​

Une île appartient à un profil : son identifiant est l'identifiant du profil. Elle contient ses dimensions, paramètres, membres, améliorations, solde de banque, statistiques, progression de recherche, collections, warps, hologrammes, évaluations et bannissements. Les îles sont enregistrées dans le Player Sky Data Artifact, que vous référencez dans le champ playerSkyDataArtifact de la configuration principale.

Une île est créée à partir d'un modèle avec l'action Create Island. Par défaut, rien ne la crée automatiquement : activez autoProvisionIslandOnProfileCreation pour créer et entrer dans l'île principale juste après la création d'un profil, ou laissez-le désactivé pour qu'un tutoriel ou un menu débloque l'île plus tard.

Les niveaux d'île sont calculés par un scanner à partir des blockValues de chaque dimension. Les blocs empilés comptent dans le niveau mais ne prennent la place que d'un seul bloc.

Membres, rôles et coop​

RôleSignification
VISITORToute personne qui n'est pas membre.
MEMBERUn ami du propriétaire avec un accès de base.
MODERATORPeut inviter et expulser.
ADMINGestion complète sauf la dissolution.
LEADERLe propriétaire.

Le propriétaire attribue des rôles à ses amis (members). Un rôle élevé est un niveau de permission : il ne fait pas de l'ami un copropriétaire et ne partage pas la progression. Ce que chaque rôle peut faire (BUILD, BREAK, CHEST_ACCESS, INVITE, KICK, BAN, SET_WARP, SET_HOME, SET_BIOME, MANAGE_FLAGS, MANAGE_UPGRADES, TRANSFER, DISBAND…) se définit par dimension dans rolePermissions du modèle.

La coop est différente : une île coop a plusieurs propriétaires, qui partagent la progression de l'île (recherche, collections, niveau). La coop nécessite un profil Coop dans l'extension Profiles. Un propriétaire ou un admin de l'île invite un joueur avec l'action Invite Coop Partner. L'invitation expire après 60 secondes et s'accepte avec Accept Invite ou se refuse avec Decline Invite. Le Coop Countable Objective double sa cible sur les îles coop.

Les paramètres de l'île (flags) s'activent par île : 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 et WORLD_BORDER.

Améliorations, générateurs et limites​

Chaque dimension liste ses upgrades. Une amélioration a des niveaux avec un cost, un effectValue et des actions facultatives à l'achat. Son effectType décide de ce qu'elle fait : multiplicateurs de croissance des cultures, de drops de mobs ou de taux de spawners, effets de potions et d'île, augmentations de limites de blocs et d'entités, taille de l'équipe, limite de warps, palier de générateur, vol sur l'île, fréquence et butin des événements, déblocage d'événements, ou un effet personnalisé via des actions. Si vous ne touchez pas à upgrades, le catalogue par défaut intégré est utilisé.

Le générateur de cobblestone a des paliers (generator.tiers), chacun avec un cost et une liste de rates (un bloc vanilla ou un identifiant de bloc CraftEngine, avec un pourcentage). Laissez tiers vide pour utiliser les valeurs par défaut intégrées pour l'overworld, le nether et l'end.

Les limites proviennent uniquement du modèle : un type de bloc ou d'entité qui n'est pas listé est illimité. Chaque limite a une valeur de base et peut être améliorable (upgradeCost, upgradeIncrease). Les limites de machines et de familiers s'appliquent lorsque ces extensions sont installées. Le bloc spawner ajoute un budget de population de mobs (maxNearbyMobs, maxPerChunk, plafonds par modèle) pour qu'une ferme ne puisse pas bloquer toutes les autres apparitions. Lorsque UiCore est installé, les joueurs voient une bannière quand un plafond refuse une apparition.

Recherche​

L'arbre de recherche est défini dans la section research de la configuration principale, et non dans des entrées séparées :

  • Les branches (research.branches) sont des catégories avec une courbe de niveaux : l'XP nécessaire par niveau, les points attribués et les actions exécutées à la montée de niveau.
  • Les nœuds (research.nodes) appartiennent à une branche, sont placés à une position x/y, et listent leurs parents, powerCost, requiredLevel, criteria, fuels, output, successChance, paramètres de répétition et récompenses.
  • Les fragments (research.fragments) sont des objets qui donnent de la puissance.

Un nœud se recherche par étapes. Le joueur place des fragments dans le nœud pour remplir sa puissance, charge un objet de combustible, le nœud cuit pendant la durée du combustible, puis le joueur récupère le résultat. En cas de succès, les rewards s'exécutent (chacune avec sa propre chance) et les recettes listées dans recipes sont débloquées ; en cas d'échec, les failRewards s'exécutent. La recherche appartient à l'île : tous les propriétaires la partagent, et les recettes sont rendues à chaque joueur à sa connexion. D'autres extensions lisent les nœuds débloqués : par exemple, les paliers de Machine nomment un nœud de recherche.

Les entrées manifest Research Branch et Research Node existent, mais l'exécution de la recherche lit la configuration principale : définissez donc votre arbre à cet endroit. Utilisez les actions Research Grant Points, Research Grant XP, Unlock Research et Open Research Menu pour la relier à vos quêtes.

Saisons​

Les saisons se configurent par dimension dans seasons et sont désactivées par défaut (enabled). Il existe deux modes de durée :

  • FIXED_DURATION — chaque saison dure fixedDurationHours en temps réel (168 par défaut, une semaine).
  • CALENDAR_LINKED — l'année d'un calendrier TinyEssentials (calendar, startMonth) est répartie uniformément entre les saisons.

Chaque définition de saison (definitions, avec printemps, été, automne et hiver par défaut) peut remplacer le biome, définir un régime météo (CLEAR, RAIN, THUNDER, SNOW), multiplier la croissance des cultures, les apparitions de mobs, les drops de mobs et l'XP, afficher des particules, et déclencher des actions à son début et à sa fin. L'événement Season Change signale chaque changement.

Événements​

Un événement d'île est une coquille composable : l'Island Event décrit quand il peut se dérouler (chancePerCheck, weight, cooldownMinutes, minimumPlayers, conditions, requiredUpgradeId, dimensions autorisées et bloquées) et liste les mécaniques qu'il joue (mechanics). Ajoutez les événements qu'une dimension peut utiliser à events.events de son modèle ; minIntervalMinutes et maxIntervalMinutes espacent les vérifications.

Les mécaniques sont des entrées séparées que vous combinez : Meteor Shower, Treasure Rain, Mob Wave, Storm, Eclipse, Boss, Event Ambience (particules et son), Event Flag, Event Trigger (actions), Temporary Multiplier (XP ou drops), Temporary Client Block, Coop Buff et BetterModel Impact. Elles sont listées dans l'index des Entrées ci-dessous.

Économie, contrats et collections​

La banque d'île contient l'argent de l'île. Sur un serveur sans plugin d'économie, la banque est publiée comme économie du serveur : l'argent d'un joueur est donc celui de son île. Déposez et retirez avec les actions Island Bank Deposit et Island Bank Withdraw. Les coûts dans les modèles utilisent une référence de monnaie (currency) qui pointe vers une entrée de monnaie comme celle de NumericalStorage.

Les contrats sont des accords entre joueurs, conclus à une Contracts Table. Par défaut (contractsRequireWorkstation), le menu ne s'ouvre que depuis le bloc de la table (contractsTableBlock, une table de cartographie par défaut). Les récompenses sont taxées par contracts.rewardTaxPercent.

Les collections suivent ce que l'île récolte, tue et pêche, par objet, avec des seuils de niveau (collections.categories). Chaque niveau peut exécuter des actions une fois (onReach). Les joueurs peuvent aussi débloquer ou verrouiller une collection avec l'action Unlock Collection.

Guerre​

Lorsque combat.enabled est défini sur un modèle, les îles de cette dimension peuvent participer à des guerres. Une île rejoint la file de guerre comme attaquante ou défenseuse (depuis le panneau de contrôle) et est appariée avec une île placée en file dans le rôle opposé. L'île doit atteindre combatWar.minIslandLevel, et combatWar.warCooldownMinutes espace deux guerres. Le modèle définit le combat lui-même : santé et régénération du cœur (coreHealth, coreRegeneration), durationMinutes, attackCooldownHours, points d'apparition et actions de début, de victoire et de défaite. Le vainqueur peut piller une part de la banque du perdant (combatWar.pillagePercent). Les victoires, défaites et égalités sont conservées dans les statistiques de l'île.

L'Archipel​

L'Archipel des Métiers est un monde partagé en lecture seule (listé dans readOnlyWorlds) de neuf îlots restaurés par l'île : l'accès, les ponts et les paliers sont stockés sur l'île et exposés sous forme de facts et d'actions archipel_*.

Premiers pas​

Créez une première île avec une dimension et laissez les joueurs ouvrir le panneau de contrôle :

  1. Dans le panel web TypeWriter, ouvrez une page static et ajoutez un Player Sky Data Artifact.
  2. Ajoutez un Dimension Template. Définissez dimensionId sur overworld, templateWorldName sur le nom de votre monde modèle, et gardez unlock.isPrimary activé. Ajustez expansion (initialSizeChunks, maxSizeChunks, baseCost).
  3. Ajoutez une BTC Sky Main Configuration. Placez le modèle dans dimensionTemplates et l'artefact dans playerSkyDataArtifact.
  4. Ajoutez un BTC Sky Menu avec l'identifiant control_panel (la Contracts Table ouvre cette entrée), construisez son layoutPool et ses views, et ajoutez une BTC Sky Menu Configuration avec les modèles des listes dynamiques.
  5. Ajoutez une action Create Island avec template défini sur votre modèle, et reliez-la à un bouton, une commande ou une étape de tutoriel.
  6. Publiez. Créez un profil, déclenchez l'action, et l'île apparaît avec son monde modèle.
  7. Testez le flux d'administration avec /typewriter island admin search <name> sur un compte du staff.
remarque

BTC Sky enregistre ses commandes sous la commande TypeWriter. Un /island de premier niveau n'est pas défini par l'extension : créez-en un avec une entrée de commande qui déclenche le BTC Sky Menu (voir Commandes).

Commandes​

Les commandes d'île sont enregistrées avec @TypewriterCommand, elles se trouvent donc sous /typewriter (alias /tw). Les menus les exécutent pour le joueur, ce qui explique pourquoi la plupart sont internes.

Commandes d'île​

CommandeDescription
/typewriter islandOuvre le panneau de contrôle.
/typewriter island visit <islandId>Vous téléporte vers une île ouverte, sauf si vous êtes banni.
/typewriter island invite [player]Ouvre la boîte de dialogue d'invitation, ou invite un joueur en ligne comme partenaire de coop.
/typewriter island dimension tp <dimId>Vous téléporte vers une dimension de votre île.
/typewriter island dimension buy <dimId>Débloque une dimension de votre île.

Le panneau de contrôle exécute aussi ces commandes internes : navigation entre onglets et dimensions (dim_select, list_scroll, cp, close), extension (expansion_map, expansion_nav, buy_chunk), niveau (recalculate_level, recalc_level), warps (warps, warp, warp_create, warp_delete, warp_edit, warp_set_icon, warp_toggle_public), membres (members, member_manage, member_promote, member_demote, member_kick), modération (visitor_kick, visitor_ban, unban), bordures (border …), hologrammes (holograms, create_hologram, edit_hologram), contrats (contracts_browse, contract_apply, contracts_create, contract_accept, contract_reject, contract_cancel et apparentées), améliorations (upgrade, upgrade_confirm, upgrade_generator), recherche (research_input, research_feed, research_fuel, research_claim), guerre (declare_war, combat_queue, combat_history, attack), évaluations (rate), biomes (biomes, set_biome, set_chunk_biome), paramètres (toggle_setting, fly_toggle, fly_scope) et classement (ranking_sort, ranking_dim). Elles ne sont pas destinées à être saisies à la main.

Les boutons de chat d'une invitation coop exécutent /island coop accept et /island coop deny. Ces sous-commandes ne sont pas enregistrées par l'extension : reliez donc Accept Invite et Decline Invite à vos propres commandes.

commandAliases de la configuration principale (island, is, islands par défaut) indique seulement au système de menus quels mots de commande router vers l'arbre des îles. Il n'enregistre pas de nouvelles commandes.

Commandes d'administration​

Toute la branche admin nécessite btcsky.admin (ou le statut d'opérateur).

CommandeDescription
/typewriter island admin search <query>Trouve des îles par identifiant, propriétaire ou nom de membre.
/typewriter island admin create <player> <template>Crée une île pour un joueur en ligne à partir d'un modèle (par identifiant d'entrée ou de dimension).
/typewriter island admin delete <profileId>Supprime une île.
/typewriter island admin tp <player or id>Vous téléporte vers une île.
/typewriter island admin setlevel <profileId> <level>Définit le niveau de l'île.
/typewriter island admin eco <islandId> get, set <amount>, add <amount>Lit, définit ou ajoute à la banque de l'île.
/typewriter island admin collection <islandId> <collectionId> <level>Définit le niveau d'une collection.
/typewriter island admin upgrade <upgradeId> <level>Définit le niveau d'une amélioration sur l'île où vous vous trouvez, dans la dimension sélectionnée.
/typewriter island admin unlock dimension <islandId> <dimId>Débloque une dimension pour une île.
/typewriter island admin event <eventId>Démarre immédiatement un événement d'île sur votre île.
/typewriter island admin limit show <profileId>Affiche les limites d'entités à côté des décomptes réels.
/typewriter island admin limit budget <profileId> <dimensionId> <value>Définit le budget de mobs d'une dimension (unlimited ou -1 le supprime).
/typewriter island admin limit species <profileId> <dimensionId> <entityType> <value>Définit le plafond d'un type d'entité.
/typewriter archipel, acces, passerelle <islet>, palier <islet>, ouvrirInspectent et accordent l'accès, les ponts et les paliers de l'Archipel (permission btcsky.admin.archipel).

Permissions​

PermissionAutorise
btcsky.adminToute la branche /typewriter island admin.
btcsky.admin.search, .create, .delete, .tp, .setlevel, .eco, .collection, .upgrade, .dimension, .event, .limitChaque sous-commande d'administration, comme alternative plus fine. La branche parente nécessite toujours btcsky.admin ou le statut d'opérateur.
btcsky.admin.archipelLes commandes /typewriter archipel.
btcsky.admin.bypassContourne la protection de l'île et les restrictions de warps, une fois que le joueur a aussi le flag de contournement admin.
btcsky.admin.dimensionsEntrer dans des dimensions non débloquées.
btcsky.warp.unlimitedIgnorer la limite de warps.
btcsky.contracts.bypassOuvrir des contrats sans passer par la Contracts Table (configurable : contractsBypassPermission).
Permissions de contracts.permissionLimitsAugmentent le nombre de contrats ouverts.

L'entrée BTC Sky Permission Definitions et les sections permissions et commands de la configuration principale listent bien d'autres nœuds (btcsky.island.*, btcsky.vip.*, btcsky.command.*). Ils sont documentaires : le code actuel ne les vérifie pas.

Placeholders​

Balises MiniPlaceholders de l'extension btcsky, fournies via TypeWriter. Un joueur sans île obtient 0 pour chaque balise sauf has_island. Partout où une dimension est attendue, current désigne la dimension dans laquelle se trouve le joueur, et c'est cette dimension par défaut lorsque l'argument est omis.

Île​

PlaceholderRenvoie
<btcsky_has_island>true ou false.
<btcsky_context_state>État du lien entre le profil et l'île (NO_PROFILE s'il n'y en a pas).
<btcsky_island_id>Identifiant de l'île (du profil).
<btcsky_island_owner>, <btcsky_owner_name>Nom du propriétaire.
<btcsky_island_role>Rôle du joueur sur l'île.
<btcsky_island_level>, <btcsky_level>Niveau de l'île.
<btcsky_island_balance>, <btcsky_bank_balance>Solde de la banque.
<btcsky_island_members_count>, <btcsky_member_count>Nombre de membres.
<btcsky_island_members_online>Membres en ligne.
<btcsky_member_max>Limite de taille de l'équipe, améliorations comprises.
<btcsky_team_members_list>Noms des membres séparés par des virgules.
<btcsky_is_coop_island>true pour une île coop.
<btcsky_island_creation_date>Date de création (yyyy-MM-dd HH:mm:ss).
<btcsky_island_worth>Somme des niveaux des dimensions.
<btcsky_visitor_count>Visiteurs actuellement sur l'île.
<btcsky_biome_current>Nom du biome sous le joueur.
<btcsky_season>Saison de la dimension actuelle, ou de la date du calendrier en dehors d'une île.
<btcsky_setting:name>État activé/désactivé coloré d'un paramètre : visit (ou open), fly, pvp, mobs, explosions, fire, world_border, possession_border.

<btcsky_island_exp> renvoie toujours 0, <btcsky_island_level_progress> toujours 100 et <btcsky_bank_interest_rate> toujours 0.0 : ils n'existent que pour la compatibilité.

Taille, biomes et décomptes​

PlaceholderRenvoie
<btcsky_size>Chunks débloqués dans la dimension actuelle.
<btcsky_island_size>Chunks débloqués dans toutes les dimensions.
<btcsky_size_max>, <btcsky_max_size>Chunks maximum de la dimension actuelle, d'après son modèle.
<btcsky_island_size_max>, <btcsky_island_max_size>Chunks maximum sur toutes les dimensions.
<btcsky_biomes_acquired>, <btcsky_island_biomes_total>Biomes débloqués sur toutes les dimensions.
<btcsky_biomes_total>Biomes qui peuvent exister sur toutes les dimensions.
<btcsky_biomes:group>Biomes débloqués d'un groupe de biomes dans la dimension actuelle.
<btcsky_island_biomes:group>Biomes débloqués d'un groupe de biomes sur toutes les dimensions.
<btcsky_block_count:MATERIAL>Nombre d'un bloc dans la dimension actuelle.
<btcsky_upgrade_level:id>Niveau d'une amélioration dans la dimension actuelle.
<btcsky_upgrades_acquired>, <btcsky_upgrades_total>Améliorations achetées, et améliorations disponibles, sur toutes les dimensions.
<btcsky_warp_count>, <btcsky_warp_list>Nombre et noms des warps.
<btcsky_warp_limit>Limite de warps par défaut issue de la configuration.

Progression et social​

PlaceholderRenvoie
<btcsky_contract_completed_count>Contrats terminés.
<btcsky_research_unlocked_nodes>, <btcsky_research_unlocked_count>Nœuds de recherche débloqués.
<btcsky_research_points>Points de recherche.
<btcsky_collection_total_unlocked>Collections débloquées.
<btcsky_collection_progress:id>Quantité collectée pour un identifiant de collection.
<btcsky_ban_count>Joueurs bannis.
<btcsky_rating>, <btcsky_rating_count>Note moyenne (1 décimale) et nombre de votes.
<btcsky_combat_wins>, <btcsky_combat_losses>, <btcsky_combat_draws>, <btcsky_combat_winrate>Statistiques de guerre et taux de victoire en pourcentage.

Dimensions​

L'argument est un identifiant de dimension ou current.

PlaceholderRenvoie
<btcsky_dimension_id:dim>, <btcsky_dimension_display:dim>Identifiant de la dimension, et son nom affiché avec majuscule.
<btcsky_dimension_unlocked:dim>, <btcsky_dimension_is_locked:dim>true ou false.
<btcsky_dimension_level:dim>Niveau de la dimension.
<btcsky_dimension_generator_tier:dim>Palier du générateur.
<btcsky_dimension_event_next:dim>Temps avant le prochain événement (mm:ss), Now ou Unknown.
<btcsky_dimension_size:dim>, <btcsky_dimension_size_max:dim>Chunks débloqués et chunks maximum.
<btcsky_dimension_biomes_total:dim>Biomes débloqués.
<btcsky_dimension_upgrades_acquired:dim>, <btcsky_dimension_upgrades_total:dim>Améliorations achetées et disponibles.
<btcsky_dimension_visitor_count:dim>Visiteurs dans la dimension.
<btcsky_dimension_upgrade_level:dim:id>Niveau d'une amélioration dans la dimension.
<btcsky_dimension_biomes:dim:group>Biomes débloqués d'un groupe dans la dimension.
<btcsky_block_limit:dim:MATERIAL>Limite de blocs dans la dimension.
<btcsky_dimension_lock_mark:dim>[X] lorsque la dimension est verrouillée, vide lorsqu'elle est ouverte.
<btcsky_dimension_locked_palette:dim>Nom de palette pour une dimension verrouillée ou ouverte, pour les boutons de menu.

Le panneau de contrôle est un menu unique avec des vues.

  • BTC Sky Menu contient le layoutPool, les views (une par écran), le defaultViewId et les inventoryRows. Les emplacements d'onglets portent la balise view:<viewId> ; les cadres au contenu variable utilisent l'identifiant de disposition @view. Une vue s'ouvre avec <viewId> ou <viewId>:<argument> (par exemple collection_detail:mining).
  • Les objets de contenu utilisent un buttonType de la forme btcsky_button:TYPE. L'extension remplit les données en direct (infos de l'île, dimensions, améliorations, collections, classement, warps, contrats, membres, bannissements, recherche, chunks d'extension, bordures, combat, hologrammes…) et associe les clics.
  • BTC Sky Menu Configuration contient les modèles d'objets des listes dynamiques.
  • Open Specific Menu ouvre une vue donnée, et Open Friends Menu ouvre l'écran des amis.

Le panneau est un catalogue lorsqu'il est ouvert depuis le menu global (vous parcourez, vous n'achetez rien). Ouvert depuis un cristal de stabilisation, il devient la salle de contrôle de la dimension, et l'achat d'améliorations et de chunks est autorisé ; les commandes d'achat refusent dans les autres cas.

Lorsque UiCore est installé, BTC Sky publie aussi des listes (améliorations, carte d'extension, visites, collections, classement, membres et bordures) vers les menus UiCore, et affiche des bannières lorsqu'un plafond de population refuse une apparition.

Entrées​

161 entrées, générées depuis la source de l'extension.

Actions61
Événements33
Objectifs1
Faits38
Entités1
Activités1
Groupes2
Artefacts1
Manifestes20
Définitions1
Autres entrées2

Dépannage​

Le monde de l'île n'est pas créé. Chaque dimension clone le monde nommé dans templateWorldName depuis le dossier slime_worlds. Le fichier doit exister et BTC Core doit fournir Advanced Slime Paper. Consultez le journal du serveur pour l'identifiant de la dimension et de l'île.

Un joueur n'a pas d'île après avoir créé un profil. autoProvisionIslandOnProfileCreation est désactivé par défaut. Déclenchez une action Create Island, ou activez l'option.

/island n'existe pas. L'extension n'enregistre que /typewriter island. Créez votre propre commande qui déclenche le BTC Sky Menu, et notez que l'entrée de menu ouverte par la Contracts Table doit avoir l'identifiant control_panel.

Les contrats refusent de s'ouvrir. Avec contractsRequireWorkstation activé, les contrats ne s'ouvrent que depuis la Contracts Table (contractsTableEnabled et contractsTableBlock). Désactivez-le sur un serveur de test ou donnez la permission de contournement.

Chaque placeholder renvoie 0. Le joueur n'a pas d'île ou pas de profil actif. Vérifiez <btcsky_has_island> et <btcsky_context_state>. Un argument de dimension doit être un identifiant de dimension valide ou current.

Mon arbre de recherche n'apparaît pas. L'exécution de la recherche lit research.branches et research.nodes de la configuration principale. Les entrées Research Branch et Research Node ne sont pas lues.

Les saisons ou les événements ne démarrent jamais. Les saisons sont désactivées par défaut (seasons.enabled). Les événements ont besoin d'au moins un événement dans events.events du modèle, et un événement ne se déclenche que lorsque ses conditions, requiredUpgradeId et minimumPlayers correspondent.

Aucun mob n'apparaît sur l'île. Vérifiez spawner.enabled, maxNearbyMobs et maxPerChunk, ainsi que le flag d'île IS_MOB_SPAWNING_ENABLED. Utilisez /typewriter island admin limit show <profileId> pour comparer les compteurs au nombre réel de mobs.

Les joueurs ne peuvent pas construire dans un monde partagé. Les mondes listés dans readOnlyWorlds (archipel_metiers par défaut) sont protégés pour tout le monde, sauf les détenteurs de machine.protection.bypass.

Extensions associées​

  • Machine — machines placées sur les îles, avec limites d'île et paliers de recherche.
  • FakeBlock — schematics ancrés aux dimensions des îles.