Zum Hauptinhalt springen

Tycoon

Die Tycoon-Erweiterung liefert einen kompletten Zoo-Tycoon-Spielmodus. Spieler steigen in einem Forschungsbaum auf, indem sie Mobs töten, um Kategorien freizuschalten, Katalysatoren mit Ressourcen füttern und Forschungsversuche mit Treibstoff-Gegenständen aktivieren. Besessene Tiere generieren passives Einkommen, sobald sie im Zoo platziert sind, können in temporären Abenteuerdimensionen als Reittiere geritten werden, zu Hybrid-Eiern gezüchtet, für einen dauerhaften Bonus prestigiert und auf zeitlich begrenzte Expeditionen geschickt werden. Ein einziges Control Panel-Menü — zu 100 % datengesteuert, ohne fest codierte Visuals — beherbergt alle Systeme über 16 Tabs.

Funktionen

  • Control Panel — Ein einziges FrameLayout-Menü im 4│1│4-Layout (Seitenleisten-Tabs │ Scroll-Navigation │ Inhalt), geklont vom BTCSky-Muster. 16 Tabs (Info, Bestiarium, Zoo, Forschung, Expeditionen, Reittiere, Shop, Abenteuer, Prestige, Rangliste, Herausforderungen, Zucht, Personal, Markt, Verträge, Dekorationen) teilen sich dasselbe Fenster; der Inhalt wird pro Tab aufgelöst, und Unteransichten (tab:context, z. B. research:reptiles) übernehmen die Hervorhebung des übergeordneten Tabs. Jedes Visual, jeder Titel und jede Schaltfläche stammt aus den Typewriter-Seiten — der Code füllt nur die Live-Daten-Tags und verknüpft die Interaktionen.
  • Forschungsbaum — Kategoriebasierter Techbaum, freigeschaltet durch das Töten von Mobs. Jedes Tier benötigt einen Katalysator (gefüttert mit konfigurierbaren Ressourcengegenständen) und einen Treibstoff-Gegenstand für den finalen Aktivierungswurf.
  • Passive Wirtschaft — Platzierte Zootiere generieren im Laufe der Zeit Einnahmen. Biom-Affinitäten, Habitat-Blöcke, Personal, Dekorationen und Zufriedenheit beeinflussen das Einkommen. Offline-Nachholung beim Wiederverbinden.
  • Abenteuerkarte — Erkunde eine temporäre Dimension, die bei Bedarf aus einer Vorlagenwelt geklont wird (über BTC-CORE / Advanced Slime Paper). Teleportiere dich zu konfigurierten Chunks, um sie zu entdecken; eine Erschöpfungsanzeige (verlängert durch Reittiere) leert sich während der Erkundung und erzwingt bei null eine Rückkehr zum Ursprung. Die Welt wird automatisch entladen, sobald sie leer ist.
  • Reittiere — Reite besessene Tiere mit ZQSD-Steuerung über die STEER_VEHICLE-Abfangung von PacketEvents. Die Erschöpfungsanzeige leert sich mit der Zeit und lädt sich außerhalb von Abenteuerdimensionen wieder auf.
  • Fusion — Aktionsausgelöste Fusion gleicher Arten: kombiniert die beiden ranghöchsten Tiere eines Spielers einer Art zu einem inkubierenden Ei, mit einer konfigurierbaren Chance auf Seltenheits-Upgrade und kosmetische Mutation.
  • Zucht — Rezeptgesteuerte artenübergreifende Zucht über den Zucht-Tab. Wähle zwei geeignete Elterntiere aus (pro Spieler während des Browsens gespeichert), starte eine Inkubation, die einem konfigurierten Rezept entspricht, und sammle den Nachwuchs, sobald er ausgeschlüpft ist.
  • Prestige — Setze ein Tier mit Höchststufe auf Stufe 1 zurück für einen dauerhaften Einnahmebonus. Stapelt sich je nach Prestige-Anzahl.
  • Lieferservice — Rotierender NPC-Händler mit einem echten Zeitplan (festes Intervall wie 30m/2h/1d, eine tägliche HH:MM-Uhrzeit, oder ein Cooldown als Rückfalllösung) und einem gewichteten Item-Pool. FOMO-Mechaniken — das Inventar ändert sich bei jeder Rotation.
  • Expeditionen — Schicke ein geeignetes Tier auf eine zeitlich begrenzte Leerlaufmission über den Expeditionen-Tab (leerer Slot → wähle ein Tier in der Unteransicht expeditions:start). Die Dauer wird durch einen angeheuerten Expeditionsführer verkürzt. Kehrt mit Ressourcen, XP, Katalysator-Gegenständen oder seltenen Bonustieren zurück.
  • Tierstufen & XP — Jedes Tier hat seine eigene Stufe, XP-Kurve und Höchststufe. Erhalte XP durch Reiten, Expeditionen und Zeit im Zoo platziert.
  • Personalisierung — Benenne Tiere um, wende Skin-Varianten an (referenzbasierte EntityDefinitions), rüste Accessoires aus (Hut, Halsband, Sattel).
  • Zufriedenheitssystem — Tiere haben eine Zufriedenheit von 0 bis 100, die das Einkommen beeinflusst. Wird durch passende Biome, Habitat-Blöcke, Fütterung, Personal und Dekorationen erhöht. Wird durch Überbelegung verringert.
  • Tägliche/wöchentliche Herausforderungen — Rotierende Herausforderungen (ein Tier fangen, ein Tier platzieren, Mobs töten, Einnahmen erzielen, prestigieren, ein Tier erforschen) in unabhängigen täglichen/wöchentlichen Zyklen. Einlösung über den Herausforderungen-Tab für Geld und Befehlsbelohnungen.
  • Zoo-Personal — Stelle Personal mit einem passiven Rolleneffekt ein: Einnahmen-Sammler (Einnahmenmultiplikator), Pfleger (Zufriedenheits-Untergrenze), Expeditionsführer (schnellere Expeditionen), Forscher (schnellere Forschung). Erhebt periodischen Unterhalt; wird bei Nichtzahlung automatisch entlassen.
  • Serverübergreifende Rangliste — Rangliste nach Gesamteinnahmen, besessenen Tieren, Gesamt-Prestige oder platzierten Tieren (Sortierzyklus im Rangliste-Tab). Netzwerkweit über Redis Pub/Sub synchronisiert, wenn TypeWriter-MySqlExtension vorhanden ist; andernfalls Rückfall auf die eigenen Spieler dieses Servers.
  • Spielermarkt — Biete ein besessenes Tier zum Verkauf an und kaufe von anderen Spielern, auch serverübergreifend. Ein Redis-Pub/Sub-Protokoll (list/unlist/buy/confirm/deny) hält den Server, dem das Angebot gehört, als Autorität über den Verkauf, mit Rückerstattungen auf Käuferseite bei Ablehnung oder Verbindungsabbruch. Rückfall auf einen rein lokalen Markt ohne Redis.
  • Tierlieferverträge — Übergib Tiere, die einer Art/Kategorie, einer Mindeststufe und einer Anzahl entsprechen, für eine Geld- und Befehlsbelohnung. Verträge können einmalig oder wiederholbar sein.
  • Dekorationen & Gehege — Platziere echte Blöcke als Zoodekorationen über den Dekorationen-Tab, jede gewährt einen Zufriedenheits- und/oder Einnahmebonus, begrenzt pro Spieler. Entferne sie, um den Slot zurückzugewinnen.

Architektur

Einträge

  • DefinitionenAnimal Definition: Artenkonfiguration (Seltenheit, Katalysator-Gegenstände, Treibstoff, Wirtschaft, Fusion, Reittier-Werte, Modellvarianten).
  • ManifesteResearch Category: Techbaum-Ordner mit Mob-Kill-Anforderungen. Research Recipe: Katalysator-/Treibstoff-Forschungsrezept. Adventure Map: Dimensionsvorlage, Chunk-Raster, Standard-Erschöpfung. Delivery Shop: Zeitplan und Item-Pool des rotierenden Händlers. Breeding Recipe: Elternarten-Paar → Nachwuchs. Challenge: tägliches/wöchentliches Ziel und Belohnung. Staff: anheuerbare Rolle, Kosten und Unterhalt. Animal Contract: Lieferanforderung und Belohnung. Decoration: platzierbarer Block, Kosten und Boni. Control Panel Configuration: dynamische Slot-Templates für jeden Tab.
  • AktionenControl Panel: öffnet das 4│1│4-Menü. Catalyst Activate: verwendet den Treibstoff-Gegenstand für einen Forschungsversuch. Category Unlock: schaltet eine Kategorie frei, sobald der Kill-Schwellenwert erreicht ist. Revenue Collect: sammelt die aufgelaufenen Zoo-Einnahmen ein. Animal XP: gewährt besessenen Tieren Erfahrung. Fusion: Fusion gleicher Arten zu einem inkubierenden Ei. Prestige: setzt ein Tier mit Höchststufe für einen dauerhaften Bonus zurück. Expedition Start: schickt ein Tier auf eine zeitlich begrenzte Mission. Customize Animal: umbenennen, Skin anwenden und Accessoires ausrüsten.
  • ArtefaktePlayer Data: Zoo-Profil pro Spieler (Tiere, Einnahmen, Forschung, Personal, Herausforderungen, Dekorationen). Market Listings: aktive Angebote des Spielermarkts.

Schnellstart

Diese Erweiterung ist vollständig datengesteuert — ohne Seiteninhalt wird nichts gerendert:

  • 1. Die Control-Panel-Seite erstellen — Erstelle einen tycoon_menu-Eintrag mit einem layoutPool vom Typ FrameLayout: ein sidebar-Frame (Tabs, tycoon_tab:<id>-Buttons), ein nav-Frame (Scrollen) und ein <tabId>_content-Layout pro Tab mit tycoon_button:-Buttons für dynamischen Inhalt.
  • 2. Die dynamischen Templates konfigurieren — Fülle tycoon_menu_config mit den SlotItemConfig-Templates für jede Liste, die deine Seiten verwenden (Bestiarium-Einträge, Forschungstiere, Ranglistenzeilen, Marktangebote, …). Jedes leer gelassene Template wird als leerer Slot gerendert.
  • 3. Den Inhalt definieren — Beginne mit animal_definition, research_category und adventure_map für den Kernspielablauf, füge dann tycoon_breeding_recipe, tycoon_challenge, tycoon_staff, tycoon_decoration, tycoon_animal_contract und delivery_shop für die zusätzlichen Systeme hinzu, die du aktivieren möchtest.

Befehle

Spieler

BefehlBeschreibungPermission
/zooÖffnet das Control Panel auf dem Info-Tabkeine
/zoo visit <player>Teleportiert zum Zoo eines anderen Spielerskeine
/adventureÖffnet das Control Panel auf dem Abenteuer-Tabkeine
/mountsÖffnet das Control Panel auf dem Reittiere-Tabkeine
/collectSammelt manuell die aufgelaufenen Einnahmen einkeine

Admin

Alle /tycoon-Unterbefehle (außer den internen Aktionen der GUI selbst) erfordern tycoon.admin.

BefehlBeschreibungPermission
/tycoon give <player> <animalId>Gibt einem Spieler ein Tiertycoon.admin
/tycoon remove <player> <animalId>Entfernt ein Tiertycoon.admin
/tycoon setlevel <player> <animalId> <level>Legt die Tierstufe festtycoon.admin
/tycoon info [player]Zeigt das Tycoon-Profil eines Spielerstycoon.admin
/tycoon reloadErzwingt das Speichern aller Profiletycoon.admin
/tycoon spawnshop <shopId>Erzwingt das Erscheinen eines Lieferservice-Shopstycoon.admin
/tycoon resetfatigue [player]Setzt die Abenteuer-Erschöpfung zurücktycoon.admin
/tycoon unlockcategory <player> <catId>Schaltet eine Forschungskategorie freitycoon.admin

Jeder Button-Klick im Control Panel läuft ebenfalls über /tycoon <action> ... (z. B. cp, list_scroll, market_buy, breed_start) — diese werden vom Menü selbst generiert und stehen jedem Spieler in seiner eigenen Sitzung offen, sind aber nicht für die manuelle Nutzung gedacht.

Platzhalter

Präfix: %typewriter_tycoon_*%

Globale Statistiken

PlatzhalterBeschreibung
%typewriter_tycoon_total_animals%Gesamtzahl besessener Tiere
%typewriter_tycoon_placed_animals%Aktuell im Zoo platziert
%typewriter_tycoon_unplaced_animals%Besessen, aber nicht platziert
%typewriter_tycoon_total_revenue%Gesamteinnahmen (formatiert)
%typewriter_tycoon_total_revenue_raw%Gesamteinnahmen (Rohzahl)
%typewriter_tycoon_categories_unlocked%Freigeschaltete Forschungskategorien
%typewriter_tycoon_categories_total%Gesamtzahl der Forschungskategorien
%typewriter_tycoon_categories_locked%Gesperrte Forschungskategorien
%typewriter_tycoon_milestones_count%Abgeschlossene Sammlungsmeilensteine
%typewriter_tycoon_prestige_bonuses_count%Aktive Prestige-Boni
%typewriter_tycoon_expeditions_active%Aktive Expeditionen
%typewriter_tycoon_expeditions_completed%Abgeschlossene Expeditionen (derzeit immer 0)
%typewriter_tycoon_zoo_visitors%Gesamtzahl der Zoobesucher
%typewriter_tycoon_active_mount_id%ID des aktuell ausgewählten Reittiers
%typewriter_tycoon_last_revenue_collect%Zeitstempel der letzten Einnahmen-Sammlung

Kategoriespezifisch

PlatzhalterBeschreibung
%typewriter_tycoon_category_<id>_unlocked%Ob die Kategorie freigeschaltet ist
%typewriter_tycoon_category_<id>_mobs_killed%Getötete Mobs bis zur Freischaltung
%typewriter_tycoon_category_<id>_required_kills%Für die Freischaltung erforderliche Kills
%typewriter_tycoon_category_<id>_progress_percent%Fortschrittsprozentsatz der Freischaltung
%typewriter_tycoon_category_<id>_name%Anzeigename der Kategorie

Tierspezifisch

PlatzhalterBeschreibung
%typewriter_tycoon_animal_<id>_level%Stufe des Tiers
%typewriter_tycoon_animal_<id>_owned%Besitzt das Tier (true/false)
%typewriter_tycoon_animal_<id>_prestige%Anzahl der Prestiges
%typewriter_tycoon_animal_<id>_xp%Aktuelle XP
%typewriter_tycoon_animal_<id>_rarity%Name der Seltenheit
%typewriter_tycoon_animal_<id>_rarity_color%Hex-Farbe der Seltenheit
%typewriter_tycoon_animal_<id>_placed%Im Zoo platziert (true/false)
%typewriter_tycoon_animal_<id>_custom_name%Benutzerdefinierter Name
%typewriter_tycoon_animal_<id>_is_mountable%Reitbar (true/false)
%typewriter_tycoon_animal_<id>_mount_speed%Geschwindigkeitsmultiplikator als Reittier
%typewriter_tycoon_animal_<id>_fatigue_capacity%Erschöpfungskapazität (Sekunden)
%typewriter_tycoon_animal_<id>_max_level%Höchststufe
%typewriter_tycoon_animal_<id>_revenue_rate%Basis-Einnahmerate
%typewriter_tycoon_animal_<id>_fusion_level%Mindeststufe für Fusion
%typewriter_tycoon_animal_<id>_display_name%Anzeigename
%typewriter_tycoon_animal_<id>_catalyst_progress%Füllstand des Katalysators in Prozent
%typewriter_tycoon_animal_<id>_catalyst_power%Aktuelle Kraft des Katalysators
%typewriter_tycoon_animal_<id>_catalyst_items%Anzahl gespendeter Gegenstandstypen

Informationen zu platzierten Tieren

PlatzhalterBeschreibung
%typewriter_tycoon_placed_<id>_happiness%Zufriedenheitslevel
%typewriter_tycoon_placed_<id>_biome%Aktuelles Biom
%typewriter_tycoon_placed_<id>_world%Weltname
%typewriter_tycoon_placed_<id>_coords%Koordinaten (x, y, z)
%typewriter_tycoon_placed_<id>_chunk%Chunk (x, z)

Prestige & Expeditionen

PlatzhalterBeschreibung
%typewriter_tycoon_prestige_<id>%Prestige-Bonusprozentsatz
%typewriter_tycoon_expedition_count%Gesamtzahl der Expeditionen
%typewriter_tycoon_expedition_<n>_animal%Tier-ID im Expeditions-Slot N
%typewriter_tycoon_expedition_<n>_remaining_seconds%Sekunden bis zur Rückkehr
%typewriter_tycoon_expedition_<n>_remaining_minutes%Minuten bis zur Rückkehr
%typewriter_tycoon_expedition_<n>_duration_hours%Gesamtdauer in Stunden
%typewriter_tycoon_expedition_<n>_ready%Bereit zum Einsammeln (true/false)

Berechtigungen

PermissionBeschreibung
tycoon.adminVerwaltet das Tycoon-System (alle /tycoon-Admin-Unterbefehle).

Abhängigkeiten

ExtensionErforderlichVerwendung
EntityExtensionErforderlichEntitätsdefinitionen für die Tiermodelle
Typewriter-GUIExtensionErforderlichRendering des Control Panels (FrameLayout, datengesteuerte Buttons)
TypeWriter-VehicleExtensionOptionalReittier-System (optional, basierend auf PacketEvents)
TypeWriter-RPGCOREExtensionOptionalBerufsstufen-Beschränkung für Fanglimits
TypeWriter-TemporaryDimensionExtensionOptionalKlonen der Abenteuerkarten-Dimension (SlimeWorldManager)
TypeWriter-ShopsExtensionOptionalWirtschaftsabstraktionen (Vault/Points/Placeholder)
TypeWriter-MySqlExtensionOptionalRedis Pub/Sub für die serverübergreifende Rangliste und den Spielermarkt