BTC Sky
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
- 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.
- 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).
- 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.
- Placez le JAR de BTC Sky dans
plugins/Typewriter/extensions/et redémarrez le serveur. - Créez un monde modèle par dimension et placez-le dans le dossier
slime_worldsdu 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 :
| Groupe | Champs | Ce qu'il contrôle |
|---|---|---|
| Identité | dimensionId, displayName, priority, description, icon, menuSlots | Comment la dimension est nommée et affichée dans les menus. |
| Monde | templateWorldName, defaultBiome, allowedBiomes, spawn | Le monde cloné pour chaque île, les groupes de biomes parmi lesquels le joueur peut choisir, et le coin d'apparition. |
| Accès | unlock | Débloquée par défaut ou non, dimension principale, coût, niveau d'île requis, permission, actions déclenchées au déblocage. |
| Taille | expansion | Taille initiale et maximale en chunks par côté, courbe de coût, chunks personnalisés, matériaux d'aperçu. |
| Limites | limits | Limites de blocs, d'entités, de machines et de familiers, et limite de warps. |
| Population | spawner, mobLevelAtCenter, mobLevelAtEdge | Taux d'apparition des mobs, distances et plafonds, et niveau des mobs du centre au bord. |
| Économie | blockValues, generator, multipliers | Valeur de niveau d'île de chaque bloc, paliers de générateur, multiplicateurs de cultures, de drops, de spawners et d'XP. |
| Personnes | rolePermissions, overrideGlobalFlags, enabledFlags | Ce que chaque rôle peut faire dans cette dimension. |
| Temps | seasons, events | Thèmes saisonniers et événements d'île aléatoires. |
| Progression | upgrades | Le catalogue d'améliorations de cette dimension. |
| Combat et cristal | combat, crystal, crystalOffset, crystalMovable | Paramè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ôle | Signification |
|---|---|
VISITOR | Toute personne qui n'est pas membre. |
MEMBER | Un ami du propriétaire avec un accès de base. |
MODERATOR | Peut inviter et expulser. |
ADMIN | Gestion complète sauf la dissolution. |
LEADER | Le 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 positionx/y, et listent leursparents,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 durefixedDurationHoursen 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 :
- Dans le panel web TypeWriter, ouvrez une page static et ajoutez un Player Sky Data Artifact.
- Ajoutez un Dimension Template. Définissez
dimensionIdsuroverworld,templateWorldNamesur le nom de votre monde modèle, et gardezunlock.isPrimaryactivé. Ajustezexpansion(initialSizeChunks,maxSizeChunks,baseCost). - Ajoutez une BTC Sky Main Configuration. Placez le modèle dans
dimensionTemplateset l'artefact dansplayerSkyDataArtifact. - Ajoutez un BTC Sky Menu avec l'identifiant
control_panel(la Contracts Table ouvre cette entrée), construisez sonlayoutPoolet sesviews, et ajoutez une BTC Sky Menu Configuration avec les modèles des listes dynamiques. - Ajoutez une action Create Island avec
templatedéfini sur votre modèle, et reliez-la à un bouton, une commande ou une étape de tutoriel. - Publiez. Créez un profil, déclenchez l'action, et l'île apparaît avec son monde modèle.
- Testez le flux d'administration avec
/typewriter island admin search <name>sur un compte du staff.
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
| Commande | Description |
|---|---|
/typewriter island | Ouvre 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).
| Commande | Description |
|---|---|
/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>, ouvrir | Inspectent et accordent l'accès, les ponts et les paliers de l'Archipel (permission btcsky.admin.archipel). |
Permissions
| Permission | Autorise |
|---|---|
btcsky.admin | Toute la branche /typewriter island admin. |
btcsky.admin.search, .create, .delete, .tp, .setlevel, .eco, .collection, .upgrade, .dimension, .event, .limit | Chaque sous-commande d'administration, comme alternative plus fine. La branche parente nécessite toujours btcsky.admin ou le statut d'opérateur. |
btcsky.admin.archipel | Les commandes /typewriter archipel. |
btcsky.admin.bypass | Contourne la protection de l'île et les restrictions de warps, une fois que le joueur a aussi le flag de contournement admin. |
btcsky.admin.dimensions | Entrer dans des dimensions non débloquées. |
btcsky.warp.unlimited | Ignorer la limite de warps. |
btcsky.contracts.bypass | Ouvrir des contrats sans passer par la Contracts Table (configurable : contractsBypassPermission). |
Permissions de contracts.permissionLimits | Augmentent 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
| Placeholder | Renvoie |
|---|---|
<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
| Placeholder | Renvoie |
|---|---|
<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
| Placeholder | Renvoie |
|---|---|
<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.
| Placeholder | Renvoie |
|---|---|
<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. |
Menus
Le panneau de contrôle est un menu unique avec des vues.
- BTC Sky Menu contient le
layoutPool, lesviews(une par écran), ledefaultViewIdet lesinventoryRows. Les emplacements d'onglets portent la baliseview:<viewId>; les cadres au contenu variable utilisent l'identifiant de disposition@view. Une vue s'ouvre avec<viewId>ou<viewId>:<argument>(par exemplecollection_detail:mining). - Les objets de contenu utilisent un
buttonTypede la formebtcsky_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
- 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
Événements33
- 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
Objectifs1
- Coop Countable ObjectiveA countable objective that scales its target for coop islands
Faits38
- 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
Entités1
- Island NPC InstanceNpc instance per island dimension
Activités1
- Btcsky Runtime PathRuntime Path Activity
Groupes2
- Btcsky Island GroupGroups players by their BTCSky island (Global)
- Btcsky Role GroupGroups players by their BTCSky island and role
Artefacts1
- Player Sky Data ArtifactGlobal BTC Sky Data Storage
Manifestes20
- 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
Définitions1
- Island Dimension Road NetworkRoad network shared across BTC Sky dimensions
Autres entrées2
- Btcsky InstanceSpawns an Entity Instance in a specific Island Dimension.
- Btcsky NPC Reference BlockNPC Reference Block
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.