Zum Hauptinhalt springen

BTC Sky

Skyblock-Inseln mit Dimensionen, Coop, Forschung, Saisons, Events, Generatoren, Bank und Limits.

Privatv0.1.1Welt & Bauen
BenötigtTypeWriter0.9.0-beta-177 (BTC build)BTC Core (Advanced Slime Paper)Region extensionEntity extensionRoadNetwork extensionBTCMobsProfiles extensionGUI extensionMySql extensionoptionalUiCoreoptionalPacketEventsoptionalMiniPlaceholdersoptional

Für das BornToCraft-Netzwerk entwickelt. Diese Erweiterung ist zu Referenzzwecken dokumentiert und wird nicht verteilt.

Überblick​

BTC Sky ist die Skyblock-Engine des BTC-Builds von TypeWriter. Jedes Spielerprofil besitzt eine Insel. Die Insel besteht aus einer oder mehreren Dimensionen (Overworld, Nether, End oder jede eigene Welt, die du entwirfst), jede aus einer Vorlagenwelt geklont und über ein Dimension Template konfiguriert. Jede Dimension hat ihre eigene Größe, Upgrades, Limits, ihren eigenen Generator sowie eigene Jahreszeiten, Events und Kampfeinstellungen.

Spieler lassen ihre Insel wachsen, indem sie Chunks, Upgrades und Generatorstufen kaufen, neue Technologien erforschen, Sammlungen füllen, Verträge annehmen und andere Inseln besuchen oder bekämpfen. Alles wird im Web-Panel konfiguriert: Eine BTC Sky Main Configuration enthält die globalen Regeln, eine Vorlage pro Dimension das Gameplay, und ein BTC Sky Menu baut das Bedienfeld.

BTC Sky ist eine private Erweiterung. Sie läuft auf BTC Core (Paper oder Folia mit Advanced Slime Paper) und ist hier als Referenz dokumentiert. Andere BTC-Erweiterungen hängen davon ab: Machine nutzt ihre Inseln für Platzierung, Limits und Forschungsstufen, und FakeBlock kann Schematics an ihren Dimensionen verankern.

Funktionen​

  • An Profile gebundene Inseln — eine Insel pro Profil, aus einer Dimensionsvorlage erstellt, geteilt von den Besitzern eines Coop-Profils.
  • Mehrere Dimensionen — schalte beliebig viele Dimensionen pro Insel frei und gestalte sie, jede mit eigener Progression.
  • Chunk-Erweiterung — beginne mit einem einzelnen Chunk und kaufe weitere, mit konfigurierbarer Kostenkurve, eigenen Chunks und einer Live-Vorschau mit Partikel- und Weltgrenzen.
  • Rollen und Einstellungen — Rollen für Besucher, Mitglied, Moderator, Admin und Leader, Berechtigungen pro Dimension und Insel-Flags (PvP, Fliegen, Mob-Spawning, Explosionen, Besucherregeln).
  • Forschungsbaum — Zweige und Knoten, die durch Einspeisen von Fragmenten, Laden von Brennstoff und Warten auf eine Kochzeit freigeschaltet werden.
  • Jahreszeiten und Events — Jahreszeiten pro Dimension und kombinierbare Events (Meteoritenschauer, Stürme, Mob-Wellen, Bosse, Schatzregen).
  • Generatoren und Upgrades — gestaffelte Cobblestone-Generatoren und ein datengesteuerter Upgrade-Katalog.
  • Limits — Limits für Blöcke, Entities, Maschinen und Haustiere sowie ein Mob-Populationsbudget pro Dimension.
  • Inselbank und Verträge — eine Bank, die zugleich als Server-Wirtschaft dient, und Verträge zwischen Spielern an einem Contracts Table.
  • Sammlungen, Rangliste, Krieg — globale Sammlungen mit Stufenbelohnungen, eine Level-Bestenliste und eine Inselkrieg-Warteschlange.
  • Hooks für TypeWriter — 38 Facts, 33 Events, Gruppen, ein Objective und viele Actions, um Quests rund um Inseln zu bauen.

Installation​

  1. Installiere den BTC-Build von TypeWriter mit BTC Core. Inselwelten werden mit Advanced Slime Paper erstellt, der Server muss es also bereitstellen.
  2. Installiere die Erweiterungen, die BTC Sky als erforderlich deklariert: Region, Entity, RoadNetwork und BTCMobs. In der Praxis benötigt es außerdem die Profiles-Erweiterung (jede Insel wird über eine Profil-ID identifiziert) und die GUI-Erweiterung (Menüs).
  3. Optionale Erweiterungen: MySql (gemeinsamer Speicher zwischen Servern), UiCore (erweiterte Menüs und Banner), Party, Friend und Guild für soziale Verbindungen, NumericalStorage für Währungen, CraftEngine für Custom-Blöcke, CustomBiome für eigene Biome und PacketEvents für clientseitige Grenzen und Hologramme. MiniPlaceholders wird für die Platzhalter benötigt.
  4. Lege die BTC-Sky-JAR in plugins/Typewriter/extensions/ ab und starte den Server neu.
  5. Erstelle pro Dimension eine Vorlagenwelt und lege sie im Ordner slime_worlds des Servers ab, unter dem Namen, den du templateWorldName gibst.

So funktioniert es​

Die Instanz​

Eine Instanz ist eine platzierte Kopie eines Spielobjekts innerhalb einer Dimension einer Insel. BTC Sky hat zwei Arten von Instanz-Entries. Eine BTC Sky Instance spawnt eine Entity (einen NPC oder ein BetterModel-Modell) in einer bestimmten Dimension (targetDimension) mit einem Versatz zum Spawnpunkt der Dimension (spawnOffset), mit einem optionalen Road Network für die Wegfindung. Eine Island NPC Instance ist die NPC-Variante, deren Position pro Inseldimension gespeichert wird, sodass jede Insel ihre eigene Kopie hat, die der Besitzer mit der Action Move Island NPC verschieben kann.

Dimensionsvorlagen​

Ein Dimension Template ist der Bauplan einer Dimension. Füge es zur Liste dimensionTemplates der Hauptkonfiguration hinzu. Es definiert:

GruppeFelderWas es steuert
IdentitätdimensionId, displayName, priority, description, icon, menuSlotsWie die Dimension benannt und in Menüs angezeigt wird.
WelttemplateWorldName, defaultBiome, allowedBiomes, spawnDie für jede Insel geklonte Welt, Biomgruppen, aus denen der Spieler wählen kann, und die Spawn-Ecke.
ZugangunlockStandardmäßig freigeschaltet oder nicht, primäre Dimension, Kosten, erforderliches Inselniveau, Berechtigung, beim Freischalten ausgelöste Actions.
GrößeexpansionAnfangs- und Maximalgröße in Chunks pro Seite, Kostenkurve, eigene Chunks, Vorschau-Materialien.
LimitslimitsLimits für Blöcke, Entities, Maschinen und Haustiere sowie das Warp-Limit.
Populationspawner, mobLevelAtCenter, mobLevelAtEdgeMob-Spawnrate, Abstände und Obergrenzen sowie Mob-Level von der Mitte bis zum Rand.
WirtschaftblockValues, generator, multipliersInselwert jedes Blocks, Generatorstufen, Multiplikatoren für Ernte, Drops, Spawner und XP.
PersonenrolePermissions, overrideGlobalFlags, enabledFlagsWas jede Rolle in dieser Dimension tun darf.
Zeitseasons, eventsJahreszeitliche Themen und zufällige Insel-Events.
ProgressionupgradesDer Upgrade-Katalog dieser Dimension.
Kampf und Kristallcombat, crystal, crystalOffset, crystalMovableKriegseinstellungen und der Stabilisierungskristall der Dimension.

Der Stabilisierungskristall hat drei Zustände (crystal): ACTIVE öffnet den Kontrollraum der Dimension (und ihr Maschinen-Dashboard), DECORATIVE ist Dekoration, die Interaktion ablehnt, ABSENT verbietet das Platzieren eines Kristalls.

Inseln​

Eine Insel gehört zu einem Profil: Ihre ID ist die Profil-ID. Sie enthält ihre Dimensionen, Einstellungen, Mitglieder, Upgrades, den Bankstand, Statistiken, den Forschungsfortschritt, Sammlungen, Warps, Hologramme, Bewertungen und Banns. Inseln werden im Player Sky Data Artifact gespeichert, auf das du im Feld playerSkyDataArtifact der Hauptkonfiguration verweist.

Eine Insel wird mit der Action Create Island aus einer Vorlage erstellt. Standardmäßig erstellt sie nichts automatisch: Setze autoProvisionIslandOnProfileCreation, um die primäre Insel direkt nach dem Erstellen eines Profils zu erstellen und zu betreten, oder lass es aus, damit ein Tutorial oder ein Menü die Insel später freischaltet.

Inselstufen werden von einem Scanner aus den blockValues jeder Dimension berechnet. Gestapelte Blöcke zählen zur Stufe, belegen aber nur den Platz eines einzelnen Blocks.

Mitglieder, Rollen und Coop​

RolleBedeutung
VISITORJeder, der kein Mitglied ist.
MEMBEREin Freund des Besitzers mit Basiszugriff.
MODERATORKann einladen und kicken.
ADMINVolle Verwaltung außer Auflösen.
LEADERDer Besitzer.

Der Besitzer weist Freunden Rollen zu (members). Eine hohe Rolle ist eine Berechtigungsstufe: Sie macht den Freund nicht zum Miteigentümer und teilt die Progression nicht. Was jede Rolle tun darf (BUILD, BREAK, CHEST_ACCESS, INVITE, KICK, BAN, SET_WARP, SET_HOME, SET_BIOME, MANAGE_FLAGS, MANAGE_UPGRADES, TRANSFER, DISBAND…), wird pro Dimension in rolePermissions der Vorlage festgelegt.

Coop ist etwas anderes: Eine Coop-Insel hat mehrere Besitzer, und sie teilen sich die Inselprogression (Forschung, Sammlungen, Stufe). Coop benötigt ein Coop-Profil in der Profiles-Erweiterung. Ein Besitzer oder Inseladmin lädt einen Spieler mit der Action Invite Coop Partner ein. Die Einladung läuft nach 60 Sekunden ab und wird mit Accept Invite angenommen oder mit Decline Invite abgelehnt. Das Coop Countable Objective verdoppelt sein Ziel auf Coop-Inseln.

Inseleinstellungen (Flags) werden pro Insel umgeschaltet: 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 und WORLD_BORDER.

Upgrades, Generatoren und Limits​

Jede Dimension listet ihre upgrades auf. Ein Upgrade hat Stufen mit cost, effectValue und optionalen Actions beim Kauf. Sein effectType bestimmt, was es tut: Multiplikatoren für Pflanzenwachstum, Mob-Drops oder Spawner-Rate, Trank- und Inseleffekte, Erhöhungen von Block- und Entity-Limits, Teamgröße, Warp-Limit, Generatorstufe, Insel-Flug, Event-Häufigkeit und -Beute, Event-Freischaltungen oder ein eigener Effekt über Actions. Lässt du upgrades unberührt, wird der eingebaute Standardkatalog verwendet.

Der Cobblestone-Generator hat Stufen (generator.tiers), jede mit einem cost und einer Liste von rates (ein Vanilla-Block oder eine CraftEngine-Block-ID, mit einem Prozentsatz). Lass tiers leer, um die eingebauten Standardwerte für Overworld, Nether und End zu verwenden.

Limits stammen allein aus der Vorlage: Ein Block- oder Entity-Typ, der nicht aufgeführt ist, ist unbegrenzt. Jedes Limit hat einen Basiswert und kann aufwertbar sein (upgradeCost, upgradeIncrease). Maschinen- und Haustier-Limits gelten, wenn diese Erweiterungen installiert sind. Der Block spawner fügt ein Mob-Populationsbudget hinzu (maxNearbyMobs, maxPerChunk, Obergrenzen pro Vorlage), damit eine Farm nicht jedes andere Spawnen verhindern kann. Ist UiCore installiert, sehen Spieler ein Banner, wenn eine Obergrenze ein Spawnen ablehnt.

Forschung​

Der Forschungsbaum wird im Abschnitt research der Hauptkonfiguration definiert, nicht in separaten Entries:

  • Zweige (research.branches) sind Kategorien mit einer Stufenkurve: die pro Stufe benötigten XP, die vergebenen Punkte und beim Stufenaufstieg ausgeführte Actions.
  • Knoten (research.nodes) gehören zu einem Zweig, sitzen an einer x/y-Position und listen ihre parents, powerCost, requiredLevel, criteria, fuels, output, successChance, Wiederholungseinstellungen und Belohnungen auf.
  • Fragmente (research.fragments) sind Items, die Kraft geben.

Ein Knoten wird in Schritten erforscht. Der Spieler legt Fragmente in den Knoten, um seine Kraft zu füllen, lädt ein Brennstoff-Item, der Knoten gart für die Dauer des Brennstoffs, dann holt der Spieler das Ergebnis ab. Bei Erfolg laufen die rewards (jede mit eigener Chance) und die in recipes aufgeführten Rezepte werden freigeschaltet; bei einem Fehlschlag laufen die failRewards. Forschung gehört zur Insel, daher teilen alle Besitzer sie, und Rezepte werden jedem Spieler beim Beitritt zurückgegeben. Andere Erweiterungen lesen die freigeschalteten Knoten: Zum Beispiel nennen die Stufen von Machine einen Forschungsknoten.

Die Manifest-Entries Research Branch und Research Node existieren, aber die Forschungs-Laufzeit liest die Hauptkonfiguration, definiere deinen Baum also dort. Verwende die Actions Research Grant Points, Research Grant XP, Unlock Research und Open Research Menu, um ihn mit deinen Quests zu verbinden.

Jahreszeiten​

Jahreszeiten werden pro Dimension in seasons konfiguriert und sind standardmäßig aus (enabled). Es gibt zwei Zeitmodi:

  • FIXED_DURATION — jede Jahreszeit dauert fixedDurationHours in Echtzeit (standardmäßig 168, eine Woche).
  • CALENDAR_LINKED — das Jahr eines TinyEssentials-Kalenders (calendar, startMonth) wird gleichmäßig auf die Jahreszeiten aufgeteilt.

Jede Jahreszeitendefinition (definitions, standardmäßig mit Frühling, Sommer, Herbst und Winter) kann das Biom überschreiben, ein Wettermuster festlegen (CLEAR, RAIN, THUNDER, SNOW), Pflanzenwachstum, Mob-Spawns, Mob-Drops und XP multiplizieren, Partikel zeigen und bei ihrem Start und Ende Actions auslösen. Das Event Season Change meldet jeden Wechsel.

Events​

Ein Insel-Event ist eine kombinierbare Hülle: Das Island Event beschreibt, wann es laufen darf (chancePerCheck, weight, cooldownMinutes, minimumPlayers, conditions, requiredUpgradeId, erlaubte und blockierte Dimensionen) und listet die Mechaniken auf, die es abspielt (mechanics). Füge die Events, die eine Dimension nutzen darf, zu events.events ihrer Vorlage hinzu; minIntervalMinutes und maxIntervalMinutes legen den Abstand der Prüfungen fest.

Mechaniken sind separate Entries, die du kombinierst: Meteor Shower, Treasure Rain, Mob Wave, Storm, Eclipse, Boss, Event Ambience (Partikel und Sound), Event Flag, Event Trigger (Actions), Temporary Multiplier (XP oder Drops), Temporary Client Block, Coop Buff und BetterModel Impact. Sie sind im Index Entries weiter unten aufgeführt.

Wirtschaft, Verträge und Sammlungen​

Die Inselbank hält das Geld der Insel. Auf einem Server ohne Wirtschafts-Plugin wird die Bank als Server-Wirtschaft veröffentlicht, sodass das Geld eines Spielers das Geld seiner Insel ist. Zahle mit den Actions Island Bank Deposit und Island Bank Withdraw ein und hebe ab. Kosten in Vorlagen verwenden eine Währungsreferenz (currency), die auf einen Währungs-Entry wie einen NumericalStorage-Entry zeigt.

Verträge sind Vereinbarungen zwischen Spielern, die an einem Contracts Table geschlossen werden. Standardmäßig (contractsRequireWorkstation) öffnet sich das Menü nur über den Tischblock (contractsTableBlock, standardmäßig ein Kartentisch). Belohnungen werden mit contracts.rewardTaxPercent besteuert.

Sammlungen verfolgen, was die Insel erntet, tötet und angelt, pro Item, mit Stufenschwellen (collections.categories). Jede Stufe kann einmalig Actions ausführen (onReach). Spieler können eine Sammlung außerdem mit der Action Unlock Collection freischalten oder sperren.

Krieg​

Ist combat.enabled in einer Vorlage gesetzt, können Inseln dieser Dimension an Kriegen teilnehmen. Eine Insel tritt (vom Bedienfeld aus) als Angreifer oder Verteidiger der Kriegswarteschlange bei und wird mit einer Insel gepaart, die in der entgegengesetzten Rolle in der Warteschlange steht. Die Insel muss combatWar.minIslandLevel erreichen, und combatWar.warCooldownMinutes legt den Abstand zwischen zwei Kriegen fest. Die Vorlage bestimmt den Kampf selbst: Kern-Gesundheit und -Regeneration (coreHealth, coreRegeneration), durationMinutes, attackCooldownHours, Spawnpunkte und Actions für Start, Sieg und Niederlage. Der Gewinner kann einen Anteil der Bank des Verlierers plündern (combatWar.pillagePercent). Siege, Niederlagen und Unentschieden werden in den Inselstatistiken festgehalten.

Das Archipel​

Das Archipel des Métiers ist eine gemeinsame, schreibgeschützte Welt (aufgeführt in readOnlyWorlds) mit neun Inselchen, die von der Insel wiederhergestellt werden: Zugang, Brücken und Stufen werden auf der Insel gespeichert und als archipel_*-Facts und -Actions bereitgestellt.

Erste Schritte​

So erstellst du eine erste Insel mit einer Dimension und lässt Spieler das Bedienfeld öffnen:

  1. Öffne im TypeWriter-Web-Panel eine Static-Seite und füge ein Player Sky Data Artifact hinzu.
  2. Füge ein Dimension Template hinzu. Setze dimensionId auf overworld, templateWorldName auf den Namen deiner Vorlagenwelt und lass unlock.isPrimary aktiviert. Passe expansion an (initialSizeChunks, maxSizeChunks, baseCost).
  3. Füge eine BTC Sky Main Configuration hinzu. Trage die Vorlage in dimensionTemplates und das Artifact in playerSkyDataArtifact ein.
  4. Füge ein BTC Sky Menu mit der ID control_panel hinzu (der Contracts Table öffnet diesen Entry), baue seinen layoutPool und seine views und füge eine BTC Sky Menu Configuration mit den Vorlagen der dynamischen Listen hinzu.
  5. Füge eine Create Island-Action hinzu, mit template auf deine Vorlage gesetzt, und verbinde sie mit einem Button, einem Befehl oder einem Tutorial-Schritt.
  6. Veröffentliche. Erstelle ein Profil, löse die Action aus, und die Insel erscheint mit ihrer Vorlagenwelt.
  7. Teste den Admin-Ablauf mit /typewriter island admin search <name> auf einem Staff-Konto.
hinweis

BTC Sky registriert seine Befehle unter dem TypeWriter-Befehl. Ein /island auf oberster Ebene wird von der Erweiterung nicht definiert: Erstelle einen mit einem Command-Entry, der das BTC Sky Menu auslöst (siehe Befehle).

Befehle​

Die Insel-Befehle sind als @TypewriterCommand registriert, liegen also unter /typewriter (Alias /tw). Die Menüs führen sie für den Spieler aus, weshalb die meisten von ihnen intern sind.

Insel-Befehle​

BefehlBeschreibung
/typewriter islandÖffnet das Bedienfeld.
/typewriter island visit <islandId>Teleportiert zu einer Insel, die offen ist, außer du bist gebannt.
/typewriter island invite [player]Öffnet den Einladungsdialog oder lädt einen Online-Spieler als Coop-Partner ein.
/typewriter island dimension tp <dimId>Teleportiert zu einer Dimension deiner Insel.
/typewriter island dimension buy <dimId>Schaltet eine Dimension deiner Insel frei.

Das Bedienfeld führt außerdem diese internen Befehle aus: Tab- und Dimensionsnavigation (dim_select, list_scroll, cp, close), Erweiterung (expansion_map, expansion_nav, buy_chunk), Stufe (recalculate_level, recalc_level), Warps (warps, warp, warp_create, warp_delete, warp_edit, warp_set_icon, warp_toggle_public), Mitglieder (members, member_manage, member_promote, member_demote, member_kick), Moderation (visitor_kick, visitor_ban, unban), Grenzen (border …), Hologramme (holograms, create_hologram, edit_hologram), Verträge (contracts_browse, contract_apply, contracts_create, contract_accept, contract_reject, contract_cancel und verwandte), Upgrades (upgrade, upgrade_confirm, upgrade_generator), Forschung (research_input, research_feed, research_fuel, research_claim), Krieg (declare_war, combat_queue, combat_history, attack), Bewertungen (rate), Biome (biomes, set_biome, set_chunk_biome), Einstellungen (toggle_setting, fly_toggle, fly_scope) und Rangliste (ranking_sort, ranking_dim). Sie sind nicht dafür gedacht, von Hand eingegeben zu werden.

Die Chat-Buttons einer Coop-Einladung führen /island coop accept und /island coop deny aus. Diese Unterbefehle werden von der Erweiterung nicht registriert, verbinde Accept Invite und Decline Invite also mit deinen eigenen Befehlen.

commandAliases der Hauptkonfiguration (standardmäßig island, is, islands) teilt dem Menüsystem nur mit, welche Befehlswörter in den Insel-Baum geleitet werden. Es registriert keine neuen Befehle.

Admin-Befehle​

Der gesamte Zweig admin erfordert btcsky.admin (oder Operator-Status).

BefehlBeschreibung
/typewriter island admin search <query>Findet Inseln nach ID, Besitzer- oder Mitgliedsname.
/typewriter island admin create <player> <template>Erstellt für einen Online-Spieler eine Insel aus einer Vorlage (per Entry-ID oder Dimensions-ID).
/typewriter island admin delete <profileId>Löscht eine Insel.
/typewriter island admin tp <player or id>Teleportiert zu einer Insel.
/typewriter island admin setlevel <profileId> <level>Setzt die Inselstufe.
/typewriter island admin eco <islandId> get, set <amount>, add <amount>Liest die Inselbank, setzt sie oder addiert dazu.
/typewriter island admin collection <islandId> <collectionId> <level>Setzt eine Sammlungsstufe.
/typewriter island admin upgrade <upgradeId> <level>Setzt eine Upgrade-Stufe auf der Insel, auf der du stehst, in der gewählten Dimension.
/typewriter island admin unlock dimension <islandId> <dimId>Schaltet eine Dimension für eine Insel frei.
/typewriter island admin event <eventId>Startet sofort ein Insel-Event auf deiner Insel.
/typewriter island admin limit show <profileId>Zeigt Entity-Limits neben den echten Zählungen an.
/typewriter island admin limit budget <profileId> <dimensionId> <value>Setzt das Mob-Budget einer Dimension (unlimited oder -1 entfernt es).
/typewriter island admin limit species <profileId> <dimensionId> <entityType> <value>Setzt die Obergrenze eines Entity-Typs.
/typewriter archipel, acces, passerelle <islet>, palier <islet>, ouvrirPrüft und gewährt Archipel-Zugang, Brücken und Stufen (Berechtigung btcsky.admin.archipel).

Berechtigungen​

BerechtigungErlaubt
btcsky.adminDen gesamten Zweig /typewriter island admin.
btcsky.admin.search, .create, .delete, .tp, .setlevel, .eco, .collection, .upgrade, .dimension, .event, .limitJeden Admin-Unterbefehl, als feinere Alternative. Der übergeordnete Zweig erfordert weiterhin btcsky.admin oder Operator-Status.
btcsky.admin.archipelDie /typewriter archipel-Befehle.
btcsky.admin.bypassUmgeht Inselschutz und Warp-Beschränkungen, sobald der Spieler auch das Admin-Bypass-Flag hat.
btcsky.admin.dimensionsBetritt Dimensionen, die nicht freigeschaltet sind.
btcsky.warp.unlimitedIgnoriert das Warp-Limit.
btcsky.contracts.bypassÖffnet Verträge, ohne den Contracts Table zu verwenden (konfigurierbar: contractsBypassPermission).
Berechtigungen aus contracts.permissionLimitsErhöhen die Anzahl offener Verträge.

Der Entry BTC Sky Permission Definitions und die Abschnitte permissions und commands der Hauptkonfiguration listen viele weitere Nodes auf (btcsky.island.*, btcsky.vip.*, btcsky.command.*). Sie sind Dokumentation: Der aktuelle Code prüft sie nicht.

Platzhalter​

MiniPlaceholders-Tags der Expansion btcsky, über TypeWriter bereitgestellt. Ein Spieler ohne Insel erhält für jeden Tag außer has_island 0. Überall dort, wo eine Dimension erwartet wird, bedeutet current die Dimension, in der der Spieler steht, und diese Dimension ist der Standard, wenn das Argument weggelassen wird.

Insel​

PlatzhalterLiefert
<btcsky_has_island>true oder false.
<btcsky_context_state>Zustand der Verknüpfung von Profil und Insel (NO_PROFILE, wenn keine besteht).
<btcsky_island_id>Insel-ID (Profil-ID).
<btcsky_island_owner>, <btcsky_owner_name>Name des Besitzers.
<btcsky_island_role>Rolle des Spielers auf der Insel.
<btcsky_island_level>, <btcsky_level>Inselstufe.
<btcsky_island_balance>, <btcsky_bank_balance>Bankstand.
<btcsky_island_members_count>, <btcsky_member_count>Anzahl der Mitglieder.
<btcsky_island_members_online>Mitglieder online.
<btcsky_member_max>Teamgrößen-Limit einschließlich Upgrades.
<btcsky_team_members_list>Mitgliedsnamen, durch Kommas getrennt.
<btcsky_is_coop_island>true bei einer Coop-Insel.
<btcsky_island_creation_date>Erstellungsdatum (yyyy-MM-dd HH:mm:ss).
<btcsky_island_worth>Summe der Dimensionsstufen.
<btcsky_visitor_count>Besucher, die sich gerade auf der Insel befinden.
<btcsky_biome_current>Name des Bioms unter dem Spieler.
<btcsky_season>Jahreszeit der aktuellen Dimension oder des Kalenderdatums außerhalb einer Insel.
<btcsky_setting:name>Farbiger An/Aus-Zustand einer Einstellung: visit (oder open), fly, pvp, mobs, explosions, fire, world_border, possession_border.

<btcsky_island_exp> liefert immer 0, <btcsky_island_level_progress> immer 100 und <btcsky_bank_interest_rate> immer 0.0: Sie existieren nur aus Kompatibilitätsgründen.

Größe, Biome und Zählungen​

PlatzhalterLiefert
<btcsky_size>Freigeschaltete Chunks in der aktuellen Dimension.
<btcsky_island_size>Freigeschaltete Chunks in allen Dimensionen.
<btcsky_size_max>, <btcsky_max_size>Maximale Chunks der aktuellen Dimension, aus ihrer Vorlage.
<btcsky_island_size_max>, <btcsky_island_max_size>Maximale Chunks über alle Dimensionen.
<btcsky_biomes_acquired>, <btcsky_island_biomes_total>Freigeschaltete Biome über alle Dimensionen.
<btcsky_biomes_total>Biome, die über alle Dimensionen existieren können.
<btcsky_biomes:group>Freigeschaltete Biome einer Biomgruppe in der aktuellen Dimension.
<btcsky_island_biomes:group>Freigeschaltete Biome einer Biomgruppe über alle Dimensionen.
<btcsky_block_count:MATERIAL>Anzahl eines Blocks in der aktuellen Dimension.
<btcsky_upgrade_level:id>Stufe eines Upgrades in der aktuellen Dimension.
<btcsky_upgrades_acquired>, <btcsky_upgrades_total>Gekaufte und verfügbare Upgrades über alle Dimensionen.
<btcsky_warp_count>, <btcsky_warp_list>Anzahl und Namen der Warps.
<btcsky_warp_limit>Standard-Warp-Limit aus der Konfiguration.

Progression und Soziales​

PlatzhalterLiefert
<btcsky_contract_completed_count>Abgeschlossene Verträge.
<btcsky_research_unlocked_nodes>, <btcsky_research_unlocked_count>Freigeschaltete Forschungsknoten.
<btcsky_research_points>Forschungspunkte.
<btcsky_collection_total_unlocked>Freigeschaltete Sammlungen.
<btcsky_collection_progress:id>Gesammelte Menge für eine Sammlungs-ID.
<btcsky_ban_count>Gebannte Spieler.
<btcsky_rating>, <btcsky_rating_count>Durchschnittliche Bewertung (1 Dezimalstelle) und Anzahl der Stimmen.
<btcsky_combat_wins>, <btcsky_combat_losses>, <btcsky_combat_draws>, <btcsky_combat_winrate>Kriegsstatistiken und Siegquote in Prozent.

Dimensionen​

Das Argument ist eine Dimensions-ID oder current.

PlatzhalterLiefert
<btcsky_dimension_id:dim>, <btcsky_dimension_display:dim>Dimensions-ID und ihr großgeschriebener Anzeigename.
<btcsky_dimension_unlocked:dim>, <btcsky_dimension_is_locked:dim>true oder false.
<btcsky_dimension_level:dim>Dimensionsstufe.
<btcsky_dimension_generator_tier:dim>Generatorstufe.
<btcsky_dimension_event_next:dim>Zeit bis zum nächsten Event (mm:ss), Now oder Unknown.
<btcsky_dimension_size:dim>, <btcsky_dimension_size_max:dim>Freigeschaltete Chunks und maximale Chunks.
<btcsky_dimension_biomes_total:dim>Freigeschaltete Biome.
<btcsky_dimension_upgrades_acquired:dim>, <btcsky_dimension_upgrades_total:dim>Gekaufte und verfügbare Upgrades.
<btcsky_dimension_visitor_count:dim>Besucher in der Dimension.
<btcsky_dimension_upgrade_level:dim:id>Stufe eines Upgrades in der Dimension.
<btcsky_dimension_biomes:dim:group>Freigeschaltete Biome einer Gruppe in der Dimension.
<btcsky_block_limit:dim:MATERIAL>Block-Limit in der Dimension.
<btcsky_dimension_lock_mark:dim>[X] , wenn die Dimension gesperrt ist, leer, wenn sie offen ist.
<btcsky_dimension_locked_palette:dim>Palettenname für eine gesperrte oder offene Dimension, für Menü-Buttons.

Menüs​

Das Bedienfeld ist ein einzelnes Menü mit Views.

  • BTC Sky Menu enthält den layoutPool, die views (eine pro Bildschirm), die defaultViewId und die inventoryRows. Tab-Slots tragen das Tag view:<viewId>; Frames mit variablem Inhalt verwenden die Layout-ID @view. Eine View wird mit <viewId> oder <viewId>:<argument> geöffnet (zum Beispiel collection_detail:mining).
  • Inhalts-Items verwenden einen buttonType der Form btcsky_button:TYPE. Die Erweiterung füllt die Live-Daten (Inselinfo, Dimensionen, Upgrades, Sammlungen, Rangliste, Warps, Verträge, Mitglieder, Banns, Forschung, Erweiterungs-Chunks, Grenzen, Kampf, Hologramme …) und hängt die Klicks an.
  • BTC Sky Menu Configuration enthält die Item-Vorlagen der dynamischen Listen.
  • Open Specific Menu öffnet eine bestimmte View, und Open Friends Menu öffnet den Freunde-Bildschirm.

Das Bedienfeld ist ein Katalog, wenn es aus dem globalen Menü geöffnet wird (du stöberst, kaufst aber nichts). Wird es über einen Stabilisierungskristall geöffnet, wird es zum Kontrollraum der Dimension, und das Kaufen von Upgrades und Chunks ist erlaubt; die Kaufbefehle lehnen es andernfalls ab.

Ist UiCore installiert, veröffentlicht BTC Sky außerdem Listen (Upgrades, Erweiterungskarte, Besuche, Sammlungen, Rangliste, Mitglieder und Grenzen) in UiCore-Menüs und zeigt Banner, wenn eine Populationsobergrenze ein Spawnen ablehnt.

Entries​

161 Einträge, aus dem Quellcode der Erweiterung generiert.

Aktionen61
Ereignisse33
Ziele1
Fakten38
Entitäten1
Aktivitäten1
Gruppen2
Artefakte1
Manifeste20
Definitionen1
Weitere Einträge2

Fehlerbehebung​

Die Inselwelt wird nicht erstellt. Jede Dimension klont die in templateWorldName genannte Welt aus dem Ordner slime_worlds. Die Datei muss existieren, und BTC Core muss Advanced Slime Paper bereitstellen. Suche im Server-Log nach der Dimensions-ID und der Insel-ID.

Ein Spieler hat nach dem Erstellen eines Profils keine Insel. autoProvisionIslandOnProfileCreation ist standardmäßig aus. Löse eine Create Island-Action aus oder aktiviere die Option.

/island existiert nicht. Die Erweiterung registriert nur /typewriter island. Erstelle einen eigenen Befehl, der das BTC Sky Menu auslöst, und beachte, dass der vom Contracts Table geöffnete Menü-Entry die ID control_panel haben muss.

Verträge lassen sich nicht öffnen. Bei aktivem contractsRequireWorkstation öffnen sich Verträge nur über den Contracts Table (contractsTableEnabled und contractsTableBlock). Schalte es für einen Testserver aus oder vergib die Bypass-Berechtigung.

Jeder Platzhalter liefert 0. Der Spieler hat keine Insel oder kein aktives Profil. Prüfe <btcsky_has_island> und <btcsky_context_state>. Ein Dimensionsargument muss eine gültige Dimensions-ID oder current sein.

Mein Forschungsbaum erscheint nicht. Die Forschungs-Laufzeit liest research.branches und research.nodes der Hauptkonfiguration. Research-Branch- und Research-Node-Entries werden nicht gelesen.

Jahreszeiten oder Events starten nie. Jahreszeiten sind standardmäßig deaktiviert (seasons.enabled). Events benötigen mindestens ein Event in events.events der Vorlage, und ein Event wird nur ausgelöst, wenn seine conditions, requiredUpgradeId und minimumPlayers passen.

Auf der Insel spawnen keine Mobs. Prüfe spawner.enabled, maxNearbyMobs und maxPerChunk sowie das Insel-Flag IS_MOB_SPAWNING_ENABLED. Verwende /typewriter island admin limit show <profileId>, um die Zähler mit der echten Anzahl der Mobs zu vergleichen.

Spieler können in einer gemeinsamen Welt nicht bauen. In readOnlyWorlds aufgeführte Welten (Standard archipel_metiers) sind für alle geschützt, außer für Inhaber von machine.protection.bypass.

Verwandte Erweiterungen​

  • Machine — auf Inseln platzierte Maschinen, mit Insel-Limits und Forschungsstufen.
  • FakeBlock — an Inseldimensionen verankerte Schematics.