Algehele Werking: AttractieBeheer v10.0

De AttractieBeheer plugin is ontworpen om de volledige levenscyclus van een pretparkattractie binnen Minecraft te automatiseren en te beheren. Dit document legt stap voor stap uit hoe de interne logica werkt, hoe de systemen met elkaar communiceren en hoe de data flows lopen.

1. De Kern: De Levenscyclus van een Attractie (Statuslogica)

Een attractie kan verschillende statussen aannemen via het /wwm status [id] menu. De twee belangrijkste hoofdtatussen zijn GEOPEND en GESLOTEN. Wanneer een status handmatig wordt gewijzigd, gebeurt er achter de schermen het volgende:

Stap 1: Statuswijziging gedetecteerd
De operator klikt op de groene of rode wol in het Status Menu. De plugin past de status direct aan in het geheugen en in de config.yml.
Stap 2: De Drieledige Command-omloop (Eenmalige uitvoering)
De plugin zoekt in de configuratie naar de drie gekoppelde commands voor die specifieke status:
  • cmd_a (Direct): Voert direct een technisch commando uit (bijv. backend update).
  • cmd_c (Poortjes): Past de fysieke deuren of hekjes aan (openen of sluiten van de wachtrij).
  • cmd_b (Omroep): Start de audio of stuurt een chatbericht over het park. Omdat dit nu gekoppeld is aan de statuswissel, gebeurt dit gegarandeerd slechts 1 keer!

2. Het Automatische Scansysteem (Autopilot / Scanner)

Als een attractie is ingesteld op automatisch_modus: true, activeert de plugin een achtergrond-scanner (een asynchrone BukkitRunnable) die elke seconde (20 ticks) de station-regio controleert.

De Autopilot Logica-Flow:

  1. Voorwaarden-check: De scanner controleert of de attractie aan 4 strikte eisen voldoet:
    • De automatische modus staat AAN (automatisch_modus: true).
    • De hoofdstroom staat AAN (power: true).
    • Er is GEEN actieve storing (storing: false).
    • De huidige status is exact GEOPEND.
  2. Regio-scan: Als de voorwaarden kloppen, kijkt de plugin binnen de met de WWM Wand geselecteerde coördinaten (x1/y1/z1 tot x2/y2/z2) of er spelers in de buurt/trein zitten.
  3. Verwerkingsfase (Anti-Spam):
    • Zodra er een speler in de zone wordt gevonden, switcht de status direct naar VERWERKEN.
    • Dit zorgt ervoor dat de scanner de volgende seconde niet nóg een procedure start (dit voorkomt dat treinen door elkaar heen spawnen of crashen).
  4. De Dispatch (Lancering): Na een korte vertraging (10 seconden / 200 ticks) wordt automatisch Knop 1 (het startcommando van de attractie) vanuit de console afgevuurd.
  5. Reset: Nadat de trein vertrokken is en de timer afloopt, springt de status weer veilig terug naar GEOPEND, klaar voor de volgende lading bezoekers.

3. De Vier Bedieningsmenu's & Functies

De plugin maakt een strikt onderscheid tussen verschillende taken via aparte grafische menu's (GUI's):

4. Het In-Game Setup Proces

Om een nieuwe attractie succesvol operationeel te krijgen, doorloopt de administrator de volgende logische keten:

  1. Gebruik /wwm create [id] om de attractie aan te maken in de database/config.
  2. Neem de gouden /wwm wand en selecteer met links- en rechtsklik de vloer van het station (de zone waar de trein wacht op bezoekers).
  3. Koppel de zone aan de attractie via /wwm setstation [id].
  4. Open het configuratiemenu via /wwm edit [id] om via de chat de gewenste titels, omroepen, poortcommando's en knopfuncties in te stellen.

5. Interactieve Naambordjes (Signs)

Bezoekers en medewerkers hoeven geen commands te typen. Door fysieke bordjes te plaatsen met de volgende layout, kunnen menu's met een simpele rechtsklik geopend worden:

Regel 1: [Walibi]
Regel 2: [attractieid]
Regel 3: menu  OF  statusmenu
Regel 4: (Leeg laten)