Zum Hauptinhalt springen

7. Beacon Lights - Animierte Warnlichter

Übersicht

Warnung außerhalb der Saison Mit Beacon Lights können animierte Rundumleuchten (Warnlichter) zu Produktionen hinzugefügt werden.

💡 Beispiel: Ein Fabrikgebäude zeigt ein blaues Warnlicht beim Produzieren, ein rotes bei fehlenden Inputs.

Funktionsweise

  • Automatische Aktivierung: Beacon-Lichter werden basierend auf dem Produktionsstatus aktiviert
  • Giants BeaconLight-System: Nutzt das offizielle BeaconLight-System von FS25
  • Mehrere Lichter möglich: Pro Status können mehrere Beacon-Lichter gleichzeitig aktiv sein
  • Status-gesteuert: Jedes Licht ist an einen Produktionsstatus gebunden

XML-Konfiguration

Basis-Struktur

<placeable>
<productionExtension>
<productions>
<production id="fabrik">
<statusAnimations>
<statusAnimation status="RUNNING">
<beaconLight
node="0>5|0|0"
filename="shared/beaconLights/beaconLight01.xml"
speed="1.5"
intensity="1.0"/>
</statusAnimation>
</statusAnimations>
</production>
</productions>
</productionExtension>
</placeable>
WICHTIG

Der node muss auf einen existierenden Transform-Node im i3D zeigen!

Parameter

ParameterBeschreibungPflichtStandard
nodeTransform-Node für Beacon-Position-
filenamePfad zur Beacon-Light XML-Datei-
speedRotationsgeschwindigkeit1.0
intensityLichtintensität (0-1)1.0
useRealLightsEchte Lichter verwendentrue
realLightRangeReichweiten-Multiplikator1.0
mountTypeBefestigungstyp-
variationNameVarianten-Name-

Produktionsstatus

Beacon-Lichter können an verschiedene Status gebunden werden:

StatusBeschreibung
RUNNINGProduktion läuft normal
MISSING_INPUTSFehlende Input-Materialien
NO_OUTPUT_SPACEKein Platz für Output
INACTIVEProduktion ist gestoppt

Beispiele

Einfaches Beacon-Licht

Blaues Licht beim Produzieren:

<statusAnimation status="RUNNING">
<beaconLight
node="0>5|0|0"
filename="shared/beaconLights/beaconLight01.xml"
speed="1.5"
intensity="1.0"/>
</statusAnimation>

📷 [SCREENSHOT: Blaues Beacon-Licht auf Fabrik]

Mehrere Status-Lichter

Verschiedene Farben für verschiedene Status:

<statusAnimations>
<!-- Blau = Läuft -->
<statusAnimation status="RUNNING">
<beaconLight
node="0>5|0|0"
filename="shared/beaconLights/beaconLight01.xml"
speed="1.5"
intensity="1.0"/>
</statusAnimation>

<!-- Rot = Fehlende Inputs -->
<statusAnimation status="MISSING_INPUTS">
<beaconLight
node="0>5|0|0"
filename="shared/beaconLights/beaconLight02.xml"
speed="2.0"
intensity="0.8"/>
</statusAnimation>

<!-- Orange = Kein Output-Platz -->
<statusAnimation status="NO_OUTPUT_SPACE">
<beaconLight
node="0>5|0|0"
filename="shared/beaconLights/beaconLight03.xml"
speed="1.0"
intensity="1.0"/>
</statusAnimation>
</statusAnimations>
TIPP

Alle Beacon-Lichter nutzen denselben Node - sie werden nicht gleichzeitig aktiv!

Mehrere Lichter pro Status

Zwei Beacon-Lichter gleichzeitig:

<statusAnimation status="RUNNING">
<!-- Links -->
<beaconLight
node="0>5|0|0"
filename="shared/beaconLights/beaconLight01.xml"
speed="1.5"
intensity="1.0"/>

<!-- Rechts -->
<beaconLight
node="0>5|0|1"
filename="shared/beaconLights/beaconLight01.xml"
speed="1.5"
intensity="1.0"/>
</statusAnimation>

📷 [SCREENSHOT: Zwei Beacon-Lichter auf Fabrik (links und rechts)]

Speed Parameter

Die Rotationsgeschwindigkeit steuert, wie schnell sich das Licht dreht:

<!-- Langsam -->
<beaconLight node="0>5|0|0" filename="..." speed="0.5"/>

<!-- Normal -->
<beaconLight node="0>5|0|0" filename="..." speed="1.0"/>

<!-- Schnell -->
<beaconLight node="0>5|0|0" filename="..." speed="2.0"/>

<!-- Sehr schnell -->
<beaconLight node="0>5|0|0" filename="..." speed="3.0"/>
TIPP

speed="2.0" für dringende Warnungen (z.B. MISSING_INPUTS)

Intensity Parameter

Die Lichtintensität steuert die Helligkeit (0.0 - 1.0):

<!-- Dunkel -->
<beaconLight node="0>5|0|0" filename="..." intensity="0.3"/>

<!-- Mittel -->
<beaconLight node="0>5|0|0" filename="..." intensity="0.6"/>

<!-- Hell (Standard) -->
<beaconLight node="0>5|0|0" filename="..." intensity="1.0"/>

Häufige Fehler

❌ Beacon-Licht wird nicht angezeigt

Ursache 1: Node existiert nicht im i3D

<!-- FALSCH - Node "0>5|0|99" existiert nicht -->
<beaconLight node="0>5|0|99" filename="..."/>

<!-- RICHTIG - Node existiert im i3D -->
<beaconLight node="0>5|0|0" filename="..."/>

Lösung: Node-Index im i3D überprüfen!

Ursache 2: Falsche Beacon-Datei

<!-- FALSCH - Datei existiert nicht -->
<beaconLight node="0>5|0|0" filename="mods/meinMod/beacon.xml"/>

<!-- RICHTIG - Standard Beacon verwenden -->
<beaconLight node="0>5|0|0" filename="shared/beaconLights/beaconLight01.xml"/>

❌ Beacon-Licht dreht sich nicht

Ursache: speed ist 0 oder fehlt

<!-- FALSCH - keine Drehung -->
<beaconLight node="0>5|0|0" filename="..." speed="0"/>

<!-- RICHTIG - normale Drehung -->
<beaconLight node="0>5|0|0" filename="..." speed="1.5"/>

❌ Beacon-Licht ist zu dunkel

Ursache: intensity ist zu niedrig

<!-- FALSCH - fast unsichtbar -->
<beaconLight node="0>5|0|0" filename="..." intensity="0.1"/>

<!-- RICHTIG - gut sichtbar -->
<beaconLight node="0>5|0|0" filename="..." intensity="1.0"/>

Praktische Beispiele

Fabrik mit Status-Anzeige

<production id="fabrik">
<statusAnimations>
<!-- Produktion läuft = Blaues Licht -->
<statusAnimation status="RUNNING">
<beaconLight
node="0>5|0|0"
filename="shared/beaconLights/beaconLight01.xml"
speed="1.0"
intensity="1.0"
realLightRange="1.5"/>
</statusAnimation>

<!-- Fehlende Inputs = Rotes Licht (schnell) -->
<statusAnimation status="MISSING_INPUTS">
<beaconLight
node="0>5|0|0"
filename="shared/beaconLights/beaconLight02.xml"
speed="2.5"
intensity="1.0"
realLightRange="1.2"/>
</statusAnimation>

<!-- Output voll = Oranges Licht -->
<statusAnimation status="NO_OUTPUT_SPACE">
<beaconLight
node="0>5|0|0"
filename="shared/beaconLights/beaconLight03.xml"
speed="1.5"
intensity="0.8"
realLightRange="1.0"/>
</statusAnimation>
</statusAnimations>
</production>

📷 [SCREENSHOT: Fabrik mit verschiedenen Status-Lichtern]

Große Anlage mit mehreren Lichtern

<production id="anlage">
<statusAnimations>
<statusAnimation status="RUNNING">
<!-- Beacon-Licht vorne links -->
<beaconLight
node="0>5|0|0"
filename="shared/beaconLights/beaconLight01.xml"
speed="1.5"
intensity="1.0"/>

<!-- Beacon-Licht vorne rechts -->
<beaconLight
node="0>5|0|1"
filename="shared/beaconLights/beaconLight01.xml"
speed="1.5"
intensity="1.0"/>

<!-- Beacon-Licht hinten links -->
<beaconLight
node="0>5|0|2"
filename="shared/beaconLights/beaconLight01.xml"
speed="1.5"
intensity="0.7"/>

<!-- Beacon-Licht hinten rechts -->
<beaconLight
node="0>5|0|3"
filename="shared/beaconLights/beaconLight01.xml"
speed="1.5"
intensity="0.7"/>
</statusAnimation>
</statusAnimations>
</production>

📷 [SCREENSHOT: Große Anlage mit 4 Beacon-Lichtern]

Vollständiges Beispiel

<productionExtension>
<productions>
<production id="fabrik" name="Fabrik" cyclesPerHour="2" costsPerActiveHour="50">
<inputs>
<input fillType="WHEAT" amount="1000"/>
</inputs>
<outputs>
<output fillType="FLOUR" amount="800"/>
</outputs>

<statusAnimations>
<!-- Status: RUNNING -->
<statusAnimation status="RUNNING">
<beaconLight
node="0>5|0|0"
filename="shared/beaconLights/beaconLight01.xml"
speed="1.5"
intensity="1.0"
useRealLights="true"
realLightRange="1.5"/>
</statusAnimation>

<!-- Status: MISSING_INPUTS -->
<statusAnimation status="MISSING_INPUTS">
<beaconLight
node="0>5|0|0"
filename="shared/beaconLights/beaconLight02.xml"
speed="2.5"
intensity="1.0"
useRealLights="true"
realLightRange="1.2"/>
</statusAnimation>

<!-- Status: NO_OUTPUT_SPACE -->
<statusAnimation status="NO_OUTPUT_SPACE">
<beaconLight
node="0>5|0|0"
filename="shared/beaconLights/beaconLight03.xml"
speed="1.5"
intensity="0.8"
useRealLights="true"
realLightRange="1.0"/>
</statusAnimation>
</statusAnimations>
</production>
</productions>
</productionExtension>

📷 [SCREENSHOT: Vollständiges Fabrik-Setup mit Beacon-Lichtern]

Node-Pfade verstehen

Der node Parameter verwendet die Giants-Node-Syntax:

0>5|0|0
│ │ │ │
│ │ │ └─ Index 0 (erstes Kind)
│ │ └─── Ebene Separator
│ └───── Node-Index 5
└─────── Root (0)

Beispiele:

  • 0>5|0|0 = Root → Node 5 → erstes Kind → erstes Kind
  • 0>5|0|1 = Root → Node 5 → erstes Kind → zweites Kind
  • 0>5|1|0 = Root → Node 5 → zweites Kind → erstes Kind
TIPP

Node-Pfade im Giants Editor unter "Scenegraph" ablesen!

Kombination mit anderen Features

Mit Status Lights

<statusAnimations>
<statusAnimation status="RUNNING">
<!-- Beacon-Licht -->
<beaconLight node="0>5|0|0" filename="..."/>

<!-- Status-Licht -->
<visibilityNode node="0>6|0" visible="true"/>
</statusAnimation>
</statusAnimations>
Hinweis

Siehe auch: Status Lights

Beispieldatei

Siehe: examples/09_BeaconLights.xml

Verwandte Features

Zusammenfassung

✅ Animierte Rundumleuchten für Produktionen ✅ Status-basierte Aktivierung ✅ Giants BeaconLight-System ✅ Mehrere Lichter pro Status möglich ✅ Konfigurierbare Geschwindigkeit & Intensität ✅ Multiplayer-kompatibel