From 4d1901c03ab1116e6d5892338b868f02d898fa13 Mon Sep 17 00:00:00 2001 From: M_Viper Date: Wed, 18 Mar 2026 17:28:10 +0000 Subject: [PATCH] README.md aktualisiert --- README.md | 483 +++++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 438 insertions(+), 45 deletions(-) diff --git a/README.md b/README.md index b6ec130..cd49450 100644 --- a/README.md +++ b/README.md @@ -1,84 +1,477 @@ -# 🔘 ButtonControl +# 📖 ButtonControl – VollstĂ€ndige Anleitung -Ein leistungsstarkes Minecraft-Plugin zum Steuern von TĂŒren und Redstone-Lampen ĂŒber Buttons und Tageslichtsensoren. -Ideal fĂŒr smarte Beleuchtung und TĂŒrsysteme in Survival-, Citybuild- oder Roleplay-Servern. +> **Version:** 1.8 · **Autor:** M_Viper · **Spigot:** [spigotmc.org/resources/127702](https://www.spigotmc.org/resources/127702/) --- -## 📩 Features +## 📋 Inhaltsverzeichnis -- đŸŽ›ïž **Steuer-Button** – steuert beliebige TĂŒren oder Lampen -- 🌞 **Tageslichtsensor-Erkennung** – automatische Lampensteuerung bei Tag/Nacht -- 🔌 **Verbindungssystem** – verknĂŒpfe mehrere Blöcke mit einem SteuergerĂ€t -- đŸ§± **Custom Rezepte** – eigene Crafting-Rezepte fĂŒr Steuer-Button & Tageslichtsensor -- 🔍 **Kommando `/bc info`** – zeigt Plugin-Infos direkt im Spiel an -- ✅ VollstĂ€ndig kompatibel mit **Minecraft 1.21.5 – 1.21.8** +1. [Was ist ButtonControl?](#was-ist-buttoncontrol) +2. [Controller-Typen im Überblick](#controller-typen-im-ĂŒberblick) +3. [Steuerbare Blöcke](#steuerbare-blöcke) +4. [Schritt-fĂŒr-Schritt: Erste Schritte](#schritt-fĂŒr-schritt-erste-schritte) +5. [Rezepte – Controller herstellen](#rezepte--controller-herstellen) +6. [Controller platzieren & verbinden](#controller-platzieren--verbinden) +7. [Bewegungsmelder konfigurieren](#bewegungsmelder-konfigurieren) +8. [Geheimwand (Secret Wall)](#geheimwand-secret-wall) +9. [Zeitplan konfigurieren](#zeitplan-konfigurieren) +10. [Controller umbenennen](#controller-umbenennen) +11. [Trust-System](#trust-system) +12. [Alle Befehle im Überblick](#alle-befehle-im-ĂŒberblick) +13. [Berechtigungen](#berechtigungen) +14. [Konfigurationsdateien](#konfigurationsdateien) +15. [HĂ€ufige Fragen & Probleme](#hĂ€ufige-fragen--probleme) --- -## đŸ› ïž Installation +## Was ist ButtonControl? -1. Lade die neueste `.jar`-Datei herunter -2. Lege sie in den `plugins/`-Ordner deines Servers -3. Starte oder reloade deinen Server -4. Fertig! 🎉 +ButtonControl erlaubt es Spielern, **TĂŒren, EisentĂŒren, Zauntore, FalltĂŒren, Redstone-Lampen, Notenblöcke und Glocken** mit einem selbst hergestellten Controller zu steuern – ohne Redstone-Kabel, ohne Mechanismen. + +**Mögliche Controller-Typen:** +- Holz- und Steinbuttons aller Arten +- Tageslichtsensoren (öffnen/schließen automatisch nach Tageszeit) +- Bewegungsmelder (Tripwire Hook – reagiert auf Spieler **und** Mobs) +- Teppich-Sensoren (reagieren **nur** auf Spieler) +- Schilder (wandmontierte Controller) --- -## 🎼 Befehle +## Controller-Typen im Überblick -| Befehl | Beschreibung | -|----------------|------------------------------------------| -| `/bc info` | Zeigt Informationen ĂŒber das Plugin an | +| Symbol | Controller | Auslöser | Besonderheit | +|--------|-----------|---------|--------------| +| 🔘 | **Steuer-Button** | Rechtsklick | Manuelles Öffnen/Schließen | +| ☀ | **Steuer-Tageslichtsensor** | Tag/Nacht-Wechsel | Automatisch, kein Klick nötig | +| đŸȘ | **Steuer-Bewegungsmelder** | Spieler + Mobs in der NĂ€he | Einstellbarer Radius & Verzögerung | +| đŸŸ« | **Steuer-Teppich** | Nur Spieler in der NĂ€he | Mobs lösen ihn **nicht** aus | +| đŸȘ§ | **Steuer-Schild** | Rechtsklick | Wandmontiert, unsichtbarer Controller | --- -## đŸ§Ș Getestete Versionen +## Steuerbare Blöcke -- ✅ Minecraft: **1.21.5** – **1.21.8** -- ✅ Java 17+ -- ✅ Paper / Spigot / Purpur +Folgende Blöcke können mit einem Controller verbunden werden: + +| Block | Funktion | Anmerkung | +|-------|---------|-----------| +| Alle HolztĂŒren | Öffnen / Schließen | Inkl. DoppeltĂŒren (beide HĂ€lften werden automatisch erkannt) | +| **EisentĂŒr** | Öffnen / Schließen | Kein Redstone-Signal nötig – funktioniert direkt | +| Alle Holz-FalltĂŒren | Öffnen / Schließen | | +| **EisenfalltĂŒr** | Öffnen / Schließen | Wie EisentĂŒr, kein Redstone nötig | +| Alle Zauntore | Öffnen / Schließen | | +| Redstone-Lampe | Ein / Ausschalten | | +| Notenblock | Klingelton abspielen | Instrument pro Spieler einstellbar | +| Glocke | LĂ€uten | | --- -## 📐 Crafting-Rezepte +## Schritt-fĂŒr-Schritt: Erste Schritte -### đŸȘ› Steuer-Button +### 1. Controller herstellen +Stelle einen Controller in der Werkbank her (siehe [Rezepte](#rezepte--controller-herstellen)). -| | | | -|---|---|---| -| | 🔘 | | -| | 🔘 | | -| | 🔘 | | +### 2. Controller platzieren +Halte den hergestellten Controller in der Hand und **platziere ihn** wie einen normalen Block. Du erhĂ€ltst die Nachricht: `§aController platziert.` -### 🌞 Steuer-Tageslichtsensor +### 3. Blöcke verbinden +Halte den Controller weiterhin **in der Hand** (nicht platziert!) und **klicke mit Rechtsklick** auf einen Zielblock (TĂŒr, Lampe usw.). Du erhĂ€ltst: `§aBlock verbunden.` -| | | | -|---|---|---| -| | 🌞 | | -| | 🌞 | | -| | 🌞 | | +> Du kannst denselben Controller mit mehreren Blöcken verbinden – einfach nacheinander alle Zielblöcke anklicken. -> 🔘 = Stone Button -> 🌞 = Daylight Detector +### 4. Controller benutzen +Klicke mit **Rechtsklick** auf den platzierten Controller. Alle verbundenen Blöcke werden gleichzeitig umgeschaltet. --- -## đŸ‘€ Autor +## Rezepte – Controller herstellen -**M_Viper** -Plugin-Entwicklung & Idee +Alle Rezepte folgen demselben Muster: **3× dasselbe Material in der mittleren Spalte** der Werkbank. + +``` +[ ] [X] [ ] +[ ] [X] [ ] +[ ] [X] [ ] +``` + +| Ergebnis | Zutat (X) | +|---------|---------| +| Steuer-Button (Eiche) | Eichen-Button | +| Steuer-Button (Stein) | Stein-Button | +| Steuer-Button (jede Holzart) | Entsprechender Button | +| Steuer-Tageslichtsensor | Tageslichtsensor | +| Steuer-Notenblock | Notenblock | +| Steuer-Bewegungsmelder | Tripwire Hook | +| Steuer-Schild | Eichenschild | +| Steuer-Teppich (Weiß) | Weißer Teppich | +| Steuer-Teppich (alle Farben) | Entsprechender Teppich | + +> Alle 16 Teppichfarben können als Sensor verwendet werden – sie verhalten sich identisch, nur die Farbe unterscheidet sich. --- -**Copyright © 2026 - M_Viper - Alle Rechte vorbehalten** +## Controller platzieren & verbinden -Die unbefugte VervielfĂ€ltigung, Verbreitung oder Weitergabe dieses Plugins ist strafbar und wird rechtlich verfolgt. +### Platzieren +1. Halte den fertigen Controller in der Hand +2. Platziere ihn wie einen normalen Block auf einer FlĂ€che +3. ✅ `Controller platziert.` + +### Verbinden +1. Halte den **nicht platzierten** Controller in der Hand +2. Klicke mit **Rechtsklick** auf einen Zielblock +3. ✅ `Block verbunden.` + +### Grenzen pro Controller +| Block-Typ | Standard-Limit | +|-----------|---------------| +| TĂŒren (inkl. EisentĂŒr) | 20 | +| Zauntore | 20 | +| FalltĂŒren (inkl. Eisen) | 20 | +| Redstone-Lampen | 50 | +| Notenblöcke | 10 | +| Glocken | 5 | + +> Limits können vom Server-Admin in `config.yml` angepasst werden. + +### Controller abbauen +Schlage den Controller ab. Nur der **Besitzer** oder ein Admin darf ihn abbauen. + +Beim Abbau werden jetzt alle zugehörigen Daten automatisch entfernt (sowohl in `data.yml` als auch in MySQL): +- Verbindungen +- Trust/Public-Status +- Zeitplan +- Bewegungsmelder-Einstellungen +- Secret-Wall-Blöcke, Delay und Animation + +> ⚠ Wenn ein verbundener Block (TĂŒr, Lampe usw.) abgebaut wird, entfernt ButtonControl den Eintrag **automatisch** aus der Liste. + +### Verbundene Blöcke anzeigen +Sieh einen platzierten Controller an (max. 5 Blöcke Entfernung) und tippe: +``` +/bc list +``` +Du siehst alle verbundenen Blöcke mit Typ, Koordinaten und Welt sowie den aktuellen Zeitplan. --- -## 💡 Weitere Ideen? +## Bewegungsmelder konfigurieren -Wenn du VorschlĂ€ge oder Bugs hast – öffne ein [Issue](https://github.com/dein-benutzername/ButtonControl/issues) oder einen Pull Request! +### Tripwire Hook (Standard-Bewegungsmelder) +- Erkennt **Spieler und Mobs** in einem einstellbaren Radius +- Öffnet verbundene Blöcke sobald jemand in der NĂ€he ist +- Schließt sie automatisch nach einer konfigurierbaren Verzögerung + +### Teppich-Sensor +- Funktioniert genauso wie der Tripwire Hook +- Erkennt jedoch **nur Spieler** – Tiere, Monster und andere Mobs lösen ihn **nicht** aus +- Ideal fĂŒr EingĂ€nge wo Tiere nicht versehentlich TĂŒren öffnen sollen + +### GUI öffnen +Klicke mit **Rechtsklick** auf einen platzierten Bewegungsmelder oder Teppich-Sensor. + +``` +┌─────────────────────────────┐ +│ Bewegungsmelder-Einstellungen │ +│ │ +│ [🧭 Radius] [ ] [🕐 Verzögerung] │ +│ │ +│ [💚 Speichern] │ +└─────────────────────────────┘ +``` + +| Taste | Aktion | +|-------|--------| +| **Linksklick** auf Kompass | Radius +0,5 Blöcke | +| **Rechtsklick** auf Kompass | Radius −0,5 Blöcke | +| **Linksklick** auf Uhr | Verzögerung +1 Sekunde | +| **Rechtsklick** auf Uhr | Verzögerung −1 Sekunde | +| **Klick** auf Smaragd | Speichern & Schließen | + +**Wertebereiche:** +- Radius: 0,5 – 20,0 Blöcke +- Verzögerung: 1 – 30 Sekunden + +Secret-Wall-Verhalten mit Sensoren: +- Bewegungsmelder/Teppich kann auch eine Secret Wall öffnen +- Bei Erkennung: Wall öffnet +- Nach Ablauf der Verzögerung ohne Erkennung: Wall schließt --- + +## Geheimwand (Secret Wall) + +Mit Secret Walls kannst du Blöcke eines Eingangs temporĂ€r „wegfahren“ lassen und automatisch wiederherstellen. + +### Einrichtung +1. Controller ansehen und auswĂ€hlen: +``` +/bc secret select +``` +2. Geheimblöcke nacheinander hinzufĂŒgen (jeweils Block ansehen): +``` +/bc secret add +``` +3. Optional Animation setzen: +``` +/bc secret animation +``` +4. Optional Wiederherstellungszeit setzen: +``` +/bc secret delay +``` +5. Status prĂŒfen: +``` +/bc secret info +``` + +### Animationen +- `instant`: alle Blöcke gleichzeitig +- `wave`: der Reihe nach +- `reverse`: umgekehrte Reihenfolge +- `center`: von der Mitte nach außen (und beim Schließen außen nach innen) + +Hinweis: +- Secret Walls funktionieren auch ohne normale verbundene Blöcke. +- Tageslichtsensoren und Bewegungsmelder können Secret Walls automatisch öffnen/schließen. + +--- + +## Zeitplan konfigurieren + +Der Zeitplan erlaubt es, verbundene Blöcke **automatisch zu einer bestimmten Ingame-Uhrzeit** zu öffnen und zu schließen – ohne dass jemand klicken muss. + +**Beispielanwendungen:** +- Dorftor öffnet automatisch morgens um 07:00, schließt abends um 19:00 +- Laternenpfahl-Lampen schalten sich nachts ein, tagsĂŒber aus +- GeschĂ€fts-Eingang öffnet nur zu "Öffnungszeiten" + +### GUI öffnen +Sieh den Controller an und tippe: +``` +/bc schedule +``` + +``` +┌─────────────────────────────────┐ +│ Zeitplan-Einstellungen │ +│ │ +│ [🟱 Öffnungszeit] [🔧 An/Aus] [🔮 Schließzeit] │ +│ │ +│ [💚 Speichern] │ +└─────────────────────────────────┘ +``` + +| Taste | Aktion | +|-------|--------| +| **Linksklick** auf Zeit-Item | +1 Stunde | +| **Rechtsklick** auf Zeit-Item | −1 Stunde | +| **Shift + Linksklick** | +15 Minuten | +| **Shift + Rechtsklick** | −15 Minuten | +| **Klick** auf Hebel/Strauch | Zeitplan ein-/ausschalten | +| **Klick** auf Smaragd | Speichern & Schließen | + +> ⚠ Die Zeiten sind **Ingame-Zeiten** (ein Minecraft-Tag = 20 Minuten Echtzeit). +> Beispiel: "07:00" = Minecraft-Sonnenaufgang, "19:00" = Sonnenuntergang. + +**Über Mitternacht:** ZeitplĂ€ne die ĂŒber Mitternacht gehen (z.B. Öffnen 22:00, Schließen 04:00) werden korrekt erkannt. + +--- + +## Controller umbenennen + +Du kannst jedem Controller einen eigenen Namen geben, der bei `/bc list` angezeigt wird. + +``` +/bc rename +``` + +**Beispiele:** +``` +/bc rename Haupteingang +/bc rename ScheunentĂŒr Nordseite +/bc rename Licht Wohnraum +``` + +> Maximale LĂ€nge: 32 Zeichen. Leerzeichen sind erlaubt. Farbcodes mit § werden unterstĂŒtzt. + +--- + +## Trust-System + +Mit dem Trust-System kannst du anderen Spielern erlauben, **deinen Controller zu benutzen** – ohne dass sie ihn verwalten oder abbauen dĂŒrfen. + +### Spieler hinzufĂŒgen +Sieh den Controller an und tippe: +``` +/bc trust +``` +Der Spieler darf nun den Controller benutzen (auch wenn er offline ist, wenn er vorher schon einmal auf dem Server war). + +### Spieler entfernen +``` +/bc untrust +``` + +### Controller öffentlich machen +``` +/bc public +``` +Jeder Spieler auf dem Server kann den Controller nun benutzen – kein Trust nötig. + +### Controller privat machen +``` +/bc private +``` +Nur du (und vertraute Spieler) können den Controller benutzen. + +### Aktuellen Status anzeigen +``` +/bc list +``` +Zeigt unter anderem ob der Controller öffentlich oder privat ist. + +--- + +## Alle Befehle im Überblick + +| Befehl | Beschreibung | Berechtigung | +|--------|-------------|-------------| +| `/bc info` | Plugin-Version und Statistiken anzeigen | Jeder | +| `/bc list` | Verbundene Blöcke des angesehenen Controllers anzeigen | Besitzer / Trusted / Admin | +| `/bc rename ` | Controller umbenennen (Controller ansehen) | Besitzer / Admin | +| `/bc schedule` | Zeitplan-GUI öffnen (Controller ansehen) | Besitzer / Admin | +| `/bc secret select` | Secret-Controller auswĂ€hlen (alternativ Blickerkennung) | Besitzer / Admin | +| `/bc secret add` | Angesehenen Block als Geheimblock hinzufĂŒgen | Besitzer / Admin | +| `/bc secret remove` | Angesehenen Geheimblock entfernen | Besitzer / Admin | +| `/bc secret clear` | Alle Geheimblöcke des Controllers löschen | Besitzer / Admin | +| `/bc secret delay ` | Auto-Restore-Zeit fĂŒr Secret Wall setzen | Besitzer / Admin | +| `/bc secret animation ` | Secret-Wall-Animation setzen | Besitzer / Admin | +| `/bc secret info` | Secret-Wall-Konfiguration anzeigen | Besitzer / Admin | +| `/bc note ` | Notenblock-Instrument Ă€ndern | `buttoncontrol.note` | +| `/bc trust ` | Spieler darf Controller benutzen | Besitzer / Admin | +| `/bc untrust ` | Berechtigung entziehen | Besitzer / Admin | +| `/bc public` | Controller fĂŒr alle freigeben | Besitzer / Admin | +| `/bc private` | Controller nur fĂŒr Besitzer & Trusted | Besitzer / Admin | +| `/bc reload` | Konfiguration neu laden | `buttoncontrol.reload` | + +### VerfĂŒgbare Instrumente fĂŒr `/bc note` + +``` +PIANO BASS_DRUM SNARE_DRUM STICKS +BASS_GUITAR FLUTE BELL CHIME +GUITAR XYLOPHONE IRON_XYLOPHONE COW_BELL +DIDGERIDOO BIT BANJO PLING +``` + +**Beispiel:** +``` +/bc note FLUTE +``` + +--- + +## Berechtigungen + +| Permission | Beschreibung | Standard | +|-----------|-------------|---------| +| `buttoncontrol.admin` | Zugriff auf **alle** Controller (Bypass) | OP | +| `buttoncontrol.reload` | `/bc reload` ausfĂŒhren | OP | +| `buttoncontrol.note` | Instrument mit `/bc note` Ă€ndern | Alle | +| `buttoncontrol.trust` | Trust-System verwenden | Alle | +| `buttoncontrol.update` | Update-Benachrichtigungen erhalten | OP | + +### Admin-Bypass (`buttoncontrol.admin`) +Admins mit dieser Berechtigung können: +- Jeden Controller benutzen (auch private) +- Jeden Controller verwalten (trust, rename, schedule, public/private) +- Jeden Controller abbauen +- Alle verbundenen Blöcke einsehen (`/bc list`) + +--- + +## Konfigurationsdateien + +### `config.yml` – Hauptkonfiguration + +```yaml +# Maximale Anzahl verbundener Blöcke pro Controller +max-doors: 20 # Holz- und EisentĂŒren +max-lamps: 50 # Redstone-Lampen +max-noteblocks: 10 # Notenblöcke +max-gates: 20 # Zauntore +max-trapdoors: 20 # Holz- und EisenfalltĂŒren +max-bells: 5 # Glocken + +# Notenblock-Einstellungen +default-note: "PIANO" # Standard-Instrument +double-note-enabled: true # Zweiter Ton aktiviert +double-note-delay-ms: 1000 # Abstand zwischen den Tönen (ms) + +# Bewegungsmelder-Standardwerte (ĂŒberschreibbar per GUI pro Sensor) +motion-detection-radius: 5.0 # Erkennungsradius in Blöcken +motion-close-delay-ms: 5000 # Verzögerung vor dem Schließen (ms) +motion-trigger-cooldown-ms: 2000 # Mindestzeit zwischen zwei Auslösungen + +# Sounds beim Öffnen/Schließen +sounds: + enabled: true + door-open: BLOCK_WOODEN_DOOR_OPEN + door-close: BLOCK_WOODEN_DOOR_CLOSE + iron-door-open: BLOCK_IRON_DOOR_OPEN + iron-door-close: BLOCK_IRON_DOOR_CLOSE + lamp-on: BLOCK_LEVER_CLICK + lamp-off: BLOCK_LEVER_CLICK +``` + +### `lang.yml` – Nachrichten anpassen + +Alle Spielernachrichten können in `lang.yml` geĂ€ndert werden. Farbcodes mit `§` sind ĂŒberall unterstĂŒtzt. + +```yaml +tueren-geoeffnet: "§aTĂŒren wurden geöffnet." +controller-platziert: "§aController platziert." +# ... usw. +``` + +### `data.yml` – Spielerdaten + +Diese Datei wird **automatisch** verwaltet und sollte nicht manuell bearbeitet werden. Sie enthĂ€lt alle Controller-Positionen, Verbindungen, Trust-Einstellungen, ZeitplĂ€ne, Bewegungsmelder-Settings und Secret-Wall-Daten. + +--- + +## HĂ€ufige Fragen & Probleme + +**❓ Ich habe einen Controller platziert, aber beim Klicken passiert nichts.** +→ Du musst erst Blöcke verbinden. Halte den Controller **in der Hand** (nicht den platzierten Block anklicken) und klicke auf TĂŒren, Lampen usw. + +**❓ Ich kann den Controller eines anderen Spielers nicht benutzen.** +→ Der Controller ist privat. Bitte den Besitzer, dich per `/bc trust ` hinzuzufĂŒgen oder den Controller mit `/bc public` zu öffnen. + +**❓ Ich kann den Controller nicht abbauen.** +→ Nur der Besitzer (oder ein Admin mit `buttoncontrol.admin`) darf einen Controller abbauen. + +**❓ Die EisentĂŒr öffnet sich nicht.** +→ Stelle sicher, dass die EisentĂŒr tatsĂ€chlich mit dem Controller verbunden ist. Halte den Controller in der Hand und klicke auf die EisentĂŒr (untere HĂ€lfte). Die obere HĂ€lfte wird automatisch mitgenommen. + +**❓ Der Bewegungsmelder schließt nicht nach der Zeit.** +→ PrĂŒfe den Wert `motion-close-delay-ms` in der GUI (Rechtsklick auf den Sensor) oder in `config.yml`. StandardmĂ€ĂŸig sind es 5 Sekunden. + +**❓ Der Teppich-Sensor reagiert auf Mobs.** +→ Nur der **Steuer-Teppich** (hergestellt mit dem Rezept) erkennt nur Spieler. Ein normaler Teppich ist kein Controller. + +**❓ Der Zeitplan funktioniert nicht.** +→ Stelle sicher, dass der Zeitplan in der ScheduleGUI **aktiviert** ist (grĂŒner Hebel, nicht Strauch). Öffne die GUI mit `/bc schedule` und prĂŒfe den Ein/Aus-Status. + +**❓ `/bc list` zeigt "Keine Blöcke verbunden".** +→ Entweder wurde der Controller noch nie mit Blöcken verbunden, oder alle verbundenen Blöcke wurden abgebaut (werden automatisch entfernt). + +**❓ Wie sehe ich ob ein Controller einen Zeitplan hat?** +→ `/bc list` zeigt ganz unten den aktiven Zeitplan mit Öffnungs- und Schließzeit an. + +**❓ Kann ich mehrere Controller auf dieselbe TĂŒr zeigen lassen?** +→ Ja. Du kannst z.B. einen Button-Controller und einen Bewegungsmelder mit derselben TĂŒr verbinden. + +--- + +*Diese Anleitung bezieht sich auf ButtonControl v1.8. FĂŒr Ă€ltere Versionen können einzelne Funktionen abweichen.* \ No newline at end of file