Technik
Festabend
Stand: 02.11.2026. Erster spielbarer Schnitt von Ausbaustufe 6 aus dem Originalkonzept. Plan und Abgrenzung stehen im Festplatz-Plan, Abschnitt 4. Leitlinie von Nils: Spaß vor Strenge.
Kennzeichnung: [A] Anforderung aus dem Originalkonzept, [V] Vorschlag, [T] technische Annahme, [F] offene Frage.
Was gebaut ist
[A] „DJ-Pult, Lichttechnik, Liveband, Stimmungsbarometer, Polonaise; Großer Zapfenstreich, Kehraus.“ Gebaut sind alle Teile, die Liveband seit E117 (aus Dorfbewohnern, E49; siehe „Bühne und Liveband“ unten).
Alle Blöcke kommen ohne BlockEntity aus (CLAUDE.md). An/aus, Lichtszene und Titel stehen im Blockstate, geplante Block-Ticks laufen im Takt. Alle Vorgänge rechnet der Server; der Client zeigt nur Bossleiste, Partikel und Töne.
Blöcke und Items
IDs nach den Ergänzungen, Tafel 07. Die Ergänzungen schlagen für Pult und Lampen BlockEntities vor; gebaut sind einfache Blöcke mit Blockstate ([V], CLAUDE.md: einfache Blöcke zuerst).
| ID | Name | Verhalten | Rezept (formlos) |
|---|---|---|---|
dj_pult |
DJ-Pult | legt auf, steuert das Licht, startet die Feier | Notenblock, Redstone, 2 Eisenbarren |
led_scheinwerfer |
LED-Scheinwerfer | sichtbarer Lichtstrahl schräg nach vorn unten, Helligkeit 15 | Redstone-Lampe, 2 Eisenbarren → 2 |
moving_head |
Moving Head | hängt unter der Traverse, schwenkt im Takt und wirft einen sichtbaren Lichtstrahl, Helligkeit 12 | LED-Scheinwerfer, Eisenbarren, Redstone |
nebelmaschine |
Nebelmaschine | Bodennebel nach vorn | Lagerfeuer, 2 Eisenbarren, Redstone |
konfettikanone |
Konfettikanone | buntes Konfetti mit Knall | Eisenbarren, Schwarzpulver, 2 Papier, Redstone |
lichterkette |
Lichterkette | leuchtet (10), begehbar | 2 Faden, Glowstonestaub → 4 |
lichttraverse |
Lichttraverse | Träger zum Aufhängen der Lampen | 2 Eisengitter, Eisenbarren → 4 |
lautsprecher |
Lautsprecher | spielt die Musik des Pults mit (bis zu 4) | Notenblock, schwarze Wolle, Eisenbarren |
zeltbarometer |
Zeltbarometer | Säule zeigt die Stimmung in 5 Stufen, Klick zeigt den Wert | Glasflasche, Redstone, Stock |
festfackel (Item) |
Festfackel | in der Hand brennt eine kleine Flamme | Fackel, Stock, Faden → 2 |
Grafik: Würfelmodelle mit Vanilla-Texturen (Beton, Eisen, Redstone-Lampe aus/an für die Linsen, Fackel für die Festfackel). Eigene Texturen fehlen noch.
Licht bedienen
- Von Hand: leere Hand schaltet an und aus, schleichend wechselt die Szene.
- Redstone: Strom an schaltet ein, Strom weg schaltet aus (nur die Flanke, damit Pult und Hand das Licht auch ohne Strom steuern können).
- DJ-Pult: schaltet alle Lampen im Umkreis mit und gibt die Szene vor. Lampen zählen bis 16 Blöcke über dem Pult. Kronleuchter, Discokugel und Tanzfläche aus dem Festschmuck gehören dazu: Kronleuchter werden zur Party gedimmt (im Umkreis von 36 Blöcken) und nach der Feier wieder hell.
Szenen: Warmweiß, Bunt (Farbe wechselt mit jedem Schlag), Konfetti (bunt, Konfetti auf jedem Takt) und Fackelschein (nur beim Zapfenstreich). Statt einer Audio-Analyse läuft das Licht auf einem festen Takt von 10 Ticks (120 Schläge pro Minute), passend zum Tempo der Partystücke (Ergänzungen 07: Cue-Daten statt Analyse). Alle Lampen liegen auf demselben Takt.
DJ-Pult und Musik
[A] „Ein Spieler legt auf.“ Jeder darf auflegen ([V], Spaß vor Strenge).
- Leere Hand: einschalten, nächster Titel, nach dem letzten Titel aus.
- Schleichend: nächste Lichtszene.
Titel: Zeltpolka, Schunkelwalzer, Zeltrock. Dazu für die Festphasen Ehrentanz, Zapfenstreich und Kehraus. Alle sechs Stücke sind eigens für die Mod geschrieben (CLAUDE.md: keine geschützte Musik, keine Partyhits) und nutzen die Stimmen und Notenblock-Klänge aus dem Musik-Paket. Lautsprecher im Umkreis spielen dieselbe Musik im Gleichtakt mit. Spieler mit Instrument in der Hand spielen ihre Stimme wie beim Spielmannszug mit.
Eigene Titel als Datei (E91): Ein Ressourcenpaket kann bis zu acht eigene .ogg-Titel mitbringen. Das Pult legt sie nach Zeltpolka, Schunkelwalzer und Zeltrock auf, an Pult und Lautsprechern zugleich, und beginnt sie am Ende von vorn. Name und Länge stehen in festabend.json unter eigene_titel. Anleitung: Eigene DJ-Titel.
Eigene Musik (E50): Mit Simple Voice Chat läuft der Voice-Chat eines Spielers, der am eingeschalteten Pult steht, über Pult und Lautsprecher; Musik-Apps wie Tidal kommen per virtuellem Audiokabel dazu. Anleitung und Technik: DJ-Pult mit Simple Voice Chat.
Zeltbarometer und Stimmung
[A] „Ein Zeltbarometer steigt mit Musik, Getränken und Gästen; ab bestimmten Werten starten Schunkeln oder eine Polonaise.“
- [T] Der Zeltbereich ist ein Zylinder um das eingeschaltete Pult: 16 Blöcke im Umkreis, 8 nach oben und unten. Das Zelt selbst wird nicht geprüft (passt zu Antwort 10: freier Bau).
- Wer im Bereich ist, sieht eine Bossleiste „Zeltbarometer: Wert – Stufe“. Ein Zeltbarometer-Block im Bereich zeigt dieselbe Stimmung als Säule.
- [V] Regeln (
StimmungsRegeln): jeder Gast 0,3 pro Sekunde (höchstens 3), Musik 0,5, jeder Tänzer in der Polonaise 0,4, jedes ausgetrunkene Glas einmalig 4. Die Stimmung sinkt um 0,6 plus 1 % des Werts, ohne Gäste doppelt so schnell. Ein Gast allein mit Musik hält etwa 20; vier Gäste mit Musik schaffen die Polonaise. - Stufen: flau, locker, gute Laune, Schunkelstimmung (ab 40), Polonaise (ab 70).
Schunkeln
Ab Schunkelstimmung schunkeln alle, die an einer Bierbank oder Bierzeltgarnitur stehen, im Takt nach links und rechts. Wer schleicht, schunkelt nicht mit.
Im Sitzen mitschunkeln (Idee 21, [V]): Wer bei einer laufenden Feier sitzt (Bierbank, Stuhl, Hocker …) und die Sprungtaste drückt, schunkelt mit; noch einmal drücken oder aufstehen hört auf. Das geht bei jeder Stimmung, auch wenn das Zelt noch flau ist. Im Takt pendeln die Sitze des Schunklers und aller Sitznachbarn bis 2,5 Blöcke daneben gemeinsam seitlich hin und her, Dorfbewohner eingeschlossen (keine Partikel). Je mehr mitmachen, desto schneller steigt die Stimmung: Jeder Schunkler zählt 1, jeder mitgezogene Nachbar ½, der Bonus ist 0,15·n + 0,05·n² pro Sekunde, höchstens 5 (StimmungsRegeln.schunkelBonus). Ein Gast allein mit Musik kommt schunkelnd etwa auf 40, mit zwei Sitznachbarn auf 70.
[T] Die Taste liest der Server aus dem normalen Eingabepaket (ServerPlayer#getLastClientInput), es gibt also keine eigene Client-Taste; im Sitzen macht die Sprungtaste in Vanilla nichts. Nach gut zwei Sekunden im Sitz zeigt die Aktionsleiste „Sprungtaste: mitschunkeln“. Code: festabend/Schunkeln, Pendeln über SitzEntity#schunkeln.
Polonaise
[A] „…eine Polonaise, an die sich Spieler anhängen.“
- Ab Stimmung 70 sagt die Feier „Polonaise!“ an.
- Rechtsklick mit leerer Hand auf einen Mitspieler: Ist noch keine Polonaise unterwegs, wird er die Spitze und du hängst an ihm. Sonst kommst du hinten an.
- Die Spitze läuft frei. Alle anderen zieht der Server ihrer Spur nach, mit 1,2 Blöcken Abstand.
- Schleichen lässt los. Wer mehr als 10 Blöcke von seinem Platz wegkommt, ist abgehängt.
- Fällt die Stimmung 15 unter die Schwelle, löst sich die Polonaise auf.
- [V] Dorfkinder laufen später mit, sobald es NPC-Rollen gibt (Stufe 3).
Krönungsball
[A] „Der Ehrentanz des Königspaars eröffnet den Abend.“ Zu Beginn des Festzelt-Abends an Tag 4 (E52: Parade und Party) sagt der Server den Krönungsball an, mit dem Namen des amtierenden Königs, falls es einen gibt. An jeder laufenden Feier spielt einmal der Ehrentanz bei warmem Licht, die Stimmung steigt um 15, danach geht es mit dem Titel am Pult weiter.
Großer Zapfenstreich, letztes Lied, Feierabend
[A] „Großer Zapfenstreich mit Fackeln, letztes Lied, Sperrstunde.“ Nach dem Festplan (E51, E52):
- Phase Zapfenstreich (Abend von Tag 1): Ansage „Großer Zapfenstreich! Fackeln hoch.“ Die DJ-Musik stoppt, alle Lampen gehen auf Fackelschein, und das Stück „Zapfenstreich“ spielt an jedem eingeschalteten Pult. Läuft keine Feier, spielt es bei den Spielern (einmal je Gruppe im Umkreis von 32 Blöcken). Danach Ansage „Die Party beginnt!“, das Licht wird bunt, und der DJ darf auflegen.
- Ende jedes Festzelt-Abends (Tag 1 und Tag 4): „Das letzte Lied!“ mit dem Kehraus.
- Danach Feierabend: Alle DJ-Pulte gehen aus. Getränke gibt es weiter, und wer mag, legt wieder auf (E54: keine strenge Sperrstunde).
Während Zapfenstreich und letztem Lied (je etwa 20 bis 25 Sekunden) lässt sich kein Pult einschalten. [A] nennt eine Sperrstunde; Nils hat sie mit E54 bewusst locker gemacht. Wird die Zapfenstreich-Phase vorzeitig übersprungen, endet das Stück sofort.
Die Festfackel kann man immer tragen; im Zapfenstreich macht sie am meisten her.
Config
config/schuetzenfest/festabend.json, wird beim ersten Serverstart angelegt:
| Feld | Standard | Bedeutung |
|---|---|---|
partikel_prozent |
100 | Dichte von Licht-, Nebel-, Konfetti- und Fackelpartikeln, 0 = keine |
schunkeln_ab |
40 | Stimmung, ab der geschunkelt wird |
polonaise_ab |
70 | Stimmung, ab der eine Polonaise geht |
schunkeln |
true | Schunkeln an oder aus |
polonaise |
true | Polonaise an oder aus |
eigene_titel |
[] |
eigene Titel aus einem Ressourcenpaket: nummer (1–8), name, sekunden (Standard 180), siehe Eigene DJ-Titel |
Spieler können Partikel zusätzlich in den Videoeinstellungen reduzieren. Blinkende Effekte (Stroboskop) gibt es bewusst nicht (Ergänzungen 07).
Aufbau im Code
Paket io.github.schapfeldnils.schuetzenfest.festabend, eigener Creative-Tab „Schützenfest – Festabend“.
| Klasse | Aufgabe |
|---|---|
Festabend |
Registrierung, Creative-Tab |
FestabendBloecke, FestabendItems, FestabendIds |
Blöcke, Items, IDs für Tests |
LichtBlock, Lichtart, LichtEffekte, Lichtszene |
Lichttechnik im Takt |
DjPultBlock, Partymusik |
Pult und Stücke |
Feiern, Feier |
laufende Feiern: Musik, Licht, Bossleiste, Barometer, Schunkeln |
StimmungsRegeln, Stimmungsstufe |
Barometer-Regeln ohne Welt |
Polonaise, KettenRegeln |
Polonaise und ihre Geometrie |
ZeltbarometerBlock |
Barometer zum Aufstellen |
Zapfenstreich |
Anbindung an die Festphasen, letztes Lied, Feierabend, Festfackel |
FestabendConfig |
Config |
Schnittstellen zu anderen Teilen
- Festphasen:
FestEvents.ZUSTAND_GEAENDERTaus dem Paketfest(phaseBeginntfür Zapfenstreich und Krönungsball an Tag 4,phaseEndetdes Festzelt-Abends für Kehraus und Feierabend). - Musik:
Kapelle.spielenundStueckaus dem Paketmusik. - Festplatz: ein neuer Haken, abgestimmt mit dem Festplatz-Thread:
FestplatzEvents.GETRAENK_GETRUNKEN(feuert nach jedem ausgetrunkenen Glas). - König:
KoenigsRegister.lesen(server).amtierend()für den Namen beim Krönungsball.
Technische Annahmen [T]
- Eine Feier lebt im Speicher. Nach einem Neustart läuft ein eingeschaltetes Pult über seinen gespeicherten Block-Tick von selbst weiter, die Stimmung beginnt aber wieder bei 0.
- Lampen, Lautsprecher und Barometer sucht das Pult beim Einschalten und dann alle 30 Sekunden im Umkreis, nur in geladenen Chunks.
- Gezogen wird in der Polonaise per Bewegungspaket an den Client, wie beim Schwanken durch „Angeheitert“.
- Ein Klick auf einen Spieler mit leerer Hand gehört nur dann zur Polonaise, wenn man im Bereich einer Feier steht; sonst bleibt alles wie in Vanilla.
Tests
src/test/.../festabend/FestabendRegelnTest: Stimmung, Stufen, Polonaise-Geometrie, Lichtszenen, Takt, Tempo der Stücke, Configsrc/test/.../festabend/FestabendRessourcenTest: zu jeder ID Name, Blockstate mit an/aus, Modelle, Loot, Rezept, Item; alle Texte übersetztsrc/gametest/.../FestabendGameTest: Registrierung, DJ-Pult schaltet Lampe und Titel bis aus, Redstone schaltet Licht, Polonaise erst ab Stimmung und ohne doppeltes Anhängensrc/test/.../DjMikrofonTest: wer am Pult als DJ gilt, wie lange das Mikrofon als live gilt, DJs kommen und gehen
Noch offen
| Punkt | Art | Plan |
|---|---|---|
| Liveband | A | gebaut (E117), siehe „Bühne und Liveband“; offen: eigene Bandmusik statt der Pult-Titel, Bühnenoutfits als Kleidungsschicht |
| Eigene Tracks am DJ-Pult | A | gebaut über Simple Voice Chat (Anleitung) und als .ogg im Ressourcenpaket (Eigene DJ-Titel, E91); im Spiel noch nicht angehört |
| Musik außerhalb des Zeltes leiser | A | E50: gilt für alle Quellen (Pult, Lautsprecher, eigene Tracks); heute nimmt die Lautstärke nur mit dem Abstand ab |
| Ehrentanz mit Königspaar | A | die Tanzfläche frei machen und das Paar in die Mitte holen, sobald es die Königin gibt (Stufe 1/7) |
| Dorfkinder in der Polonaise | A | mit den NPC-Rollen (Stufe 3) |
| Eigene Texturen | V | Pult-Front, Linsen, Lautsprechermembran; an den Texturen-Thread gemeldet |
| Seite im Handbuch | V | eine Seite „Festabend“, sobald das Handbuch über Stufe 1 hinausgeht |
Bühne und Liveband (E117)
[A] Nils 04.11.2026: „DJ Pult und Liveband im Zelt detaillierter ausarbeiten … Finde die Ausstattung der Bühne etwas spärlich. Außerdem soll Fashion Willi auch dort Singen und Tanzen können“ (Antworten auf die Fragen 92–96, Band an Tag 2 und 3).
- Bühne: 17 × 7 Blöcke (im kleinen Zelt 17 × 6), hinten das DJ-Podest einen Block höher mit dem Pult, links Schlagzeug, rechts Keyboard. Vorn Blumenkästen und zwei Bühnenmonitore, dahinter drei Mikrofonständer (Gitarre, Gesang, Fashion Willi), ein Rahmen aus Alu-Traversen mit Querträger, Gitarrenverstärker, eine Ersatzgitarre und Flightcases mit den PA-Boxen. An der Rückwand Samtvorhang und Volant in den Vereinsfarben zwischen den Vereinsfahnen. Das große Zelt ist dafür 50 statt 49 tief.
- Neue Blöcke (Reiter Festabend, alle mit Rezept): Schlagzeug, E-Gitarre im Ständer, Keyboard, Mikrofonständer, Bühnenmonitor, Gitarrenverstärker, Flightcase, Bühnenvorhang, Vorhang-Volant, Bühnentraverse. Modelle aus
assets_src/werkzeuge/erzeuge_buehne.py. - Liveband: An Tag 2 (Preisschießen) und Tag 3 (Königsball) stellen sich zu jedem laufenden DJ-Pult Schlagzeuger, Gitarrist, Keyboarder und Sänger hinter die Instrumente im Umkreis von 10 Blöcken. Sie spielen die Titel des Pults, nicken, wippen und hüpfen im Takt, der Sänger singt eigene Liedzeilen, die in der Actionbar über der Schnellleiste erscheinen (nicht im Chat). Selbst gebaute Bühnen gehen genauso: Schlagzeug, Keyboard und Mikrofonständer mit Platz dahinter aufstellen. Pult aus, Zapfenstreich oder anderer Festtag: Die Band geht.
- Fashion Willi: tritt einmal je Festtag von selbst auf, wenn er in der Nähe eines laufenden Pults ist (auch an DJ-Tagen), und sofort, wenn ein Spieler einen Mikrofonständer anklickt. Zwei Minuten singt er (eigene Zeilen, drei davon nur für ihn) und tanzt: hüpfen, Hüftschwung, ganze Drehung. Danach mischt er sich wieder unters Volk.
- [T] Die Musiker stehen ohne KI, damit sie auf der Bühne bleiben; wird einer verletzt oder vertrieben, stellt sich nach einer Sekunde ein neuer hin. Bands und Auftritte leben im Speicher; nach einem Neustart stellt sich die Band neu auf.
- Offen: eigene Musik für die Band (heute die Pult-Titel), Bühnenkleidung für die Musiker, im Spiel nicht angesehen.
Bühnentechnik (E118)
[A] Nils 04.11.2026: „Mehr Lautsprecher und Traversen überarbeiten. Traversen und Licht sollen sehr realistisch sein. Neue Licht Elemente wie LED Bars“; dazu „Ton finde ich mega mit den Line Arrays und Sub, Delay Boxen nicht zwangsläufig benötigt, FOH nicht benötigt … Bühnentreppe jaaa. Bitte alles sehr detailliert erstellen“.
- Traversen: 4-Punkt-Traverse im Querschnitt 6 × 6 Pixel (Gurtrohre, Diagonalen auf allen vier Seiten, Sprossen, Konusverbinder) für die Lichttraverse und den Turm. Neu: Traversenfuß (Stahlplatte mit Schrauben), Traversenkopf mit Sleeve-Block und Kettenzug (Motor, Kette, Kettensack), Traversenecke mit Armen in zwei Richtungen. Über der Bühne steht ein Ground Support: vier Türme, oben ein Rechteck aus Traversen (so hoch, wie das Dach es zulässt). Moving Heads hängen weiter an der Lichttraverse; an ihnen ist nichts geändert. Eine zweite Traverse hängt über der Tanzfläche vor der Discokugel, mit vier Moving Heads (für den Licht-Thread).
- Ton: zwei Line Arrays hängen links und rechts an der vorderen Traverse (oben drei Boxen mit Flugrahmen und Kette, darunter drei zum Publikum geneigt), darunter je ein Subwoofer, zwei weitere Subs außen an der Bühnenkante. Die vier PA-Boxen bleiben der Ton der Feier (
Feiern), die neuen Boxen sind Ausstattung. - Licht (schaltet wie alles Partylicht mit dem Pult, keine Partikel; Farbe und Stufe im Blockstate, auf dem Client eingefärbt, Muster in
BuehnenlichtMuster): - LED-Bar: vier Segmente; warm: alle an, Fackeln: Wechselblinken in Orange, Party: Lauflicht von links nach rechts, Wechselblinken, Regenbogen, alle 4 Sekunden ein anderes Muster.
- Blinder mit zwei oder vier Lampen: glimmen warm, blitzen zur Party auf den ersten Schlag jedes Takts, bei Konfetti öfter.
- LED-PAR: Scheinwerfer im Bügel, Linse in der Szenenfarbe.
- Strobe-Bar: weiße Blitze nur zur Party, versetzt.
- LED-Wand: Module hinter dem DJ-Pult, nebeneinander ein Laufband „SCHÜTZENFEST“ mit dem Vereinswappen (Schießscheibe im Eichenkranz), in der Szenenfarbe, jeden Schlag ein Stück weiter.
- Bühnentreppe mit drei Stufen in der Mitte der Bühnenkante; Geländer setzt sie selbst nur außen. Bühnenkante mit Schürze in der Hauptfarbe des Vereins und goldener Borte.
- Neue Blöcke (Reiter Festabend, alle mit Rezept): Traversenfuß, Traversenkopf mit Kettenzug, Traversenecke, Line Array mit Flugrahmen, Line Array, Subwoofer, LED-Bar, LED-PAR, Blinder (2 und 4 Lampen), Strobe-Bar, LED-Wand, Bühnentreppe, Bühnenkante. Modelle aus
assets_src/werkzeuge/erzeuge_buehnentechnik.py. - [T] Die Leuchtflächen haben
light_emission15; der Lichtwert hängt nur an „an/aus“, Farbwechsel im Takt beleuchten nichts neu. Hängende Lampen greifen mit dem Haken an die unteren Gurte der Traverse darüber. - Offen: im Spiel nicht angesehen; Delay-Boxen und FOH-Platz nicht gewünscht.
Offene Fragen
Gesammelt an den Koordinator für den Fragenkatalog geschickt; die Annahmen oben gelten bis zur Antwort.
- ~~F-FA1 Liveband~~: beantwortet, E49 (Dorfbewohner, ohne GeckoLib).
- ~~F-FA2 Eigene Tracks~~: beantwortet, E50 (optional über Simple Voice Chat; Musik außerhalb des Zeltes leiser).
- Zu E51: umgesetzt: Der Zapfenstreich hängt an der eigenen Phase am Abend von Tag 1 (Festplan nach E52).
- ~~F-FA3 Sperrstunde~~: beantwortet, E54 (nicht streng, nur die Musik geht aus).
