README.md aktualisiert

This commit is contained in:
Rainer 2026-02-12 12:33:54 +01:00
parent ff423fc029
commit 32830aacc9

View file

@ -0,0 +1,87 @@
# 💡 Smart Light System for Luanti
Ein hocheffizientes Beleuchtungssystem für Luanti (Minetest), das eine zentrale Steuerung von Lichtquellen über Areas und Channels ermöglicht. Es bietet Unterstützung für Dimmen, Bewegungsmelder und eine automatisierte Einbindung externer Licht-Mods.
---
## 🚀 Kern-Features
* **Zentrales Management:** Steuerung beliebig vieler Lampen über ein einziges Panel.
* **Area & Channel Logik:** Gruppierung von Lichtquellen (z.B. "Erdgeschoss" -> "Küche").
* **Programmer-Tool:** Schnelle Zuweisung von Konfigurationen per Klick kein mühsames Eintippen von Koordinaten.
* **Motion Sensors:** Automatisches Schalten bei Bewegung mit einstellbarer Reichweite und Zeit.
* **Smart Overrides:** Einzigartiges System zur automatischen Integration von Lampen aus Mods wie **morelights** oder **myschool**.
---
## 🛠 Installation
1. Navigiere in deinen Luanti **mods** Ordner.
2. Klone das Repository:
```bash
git clone https://git.geigernet.eu/Luanti-Minetest/smart_light.git
```
3. Stelle sicher, dass die Mod in der **world.mt** aktiviert ist.
```
load_mod_smart_light = mods/smart_light
```
---
## 📋 Konfiguration der Lampen-Filter (overrides.lua)
Das System nutzt spezifische Lua-Patterns, um externe Lampen automatisch zu erkennen und mit Smart-Light-Funktionen auszustatten. Dies geschieht in der **overrides.lua**.
### 1. Muster-Definition (Patterns)
Anstatt jede Lampe einzeln zu registrieren, werden Muster verwendet:
| Muster | Ziel | Erklärt |
| :--- | :--- | :--- |
| **mod:name** | Exakter Node | Registriert nur diesen einen Node. |
| **mod:name_.* ** | Alle Untertypen | Findet alles, was mit dem Präfix beginnt. |
| **mod:name_.** | Varianten | Der Punkt **.** steht für genau ein Zeichen (z.B. **_d**, **_l**, **_c**). |
```lua
local lamp_patterns = {
"mod:specific_light", -- finds specific light
"mod_pack:light.*", -- finds ex. light_normal, light_vintage, ...
"mod_pack:light_.", -- finds ex. light_a, light_b, ...
}
```
### 2. Blacklist
Falls ein Muster zu weit greift, können Nodes explizit ausgeschlossen werden:
```lua
local blacklist = {
["lights_mod:light_cable"] = true, -- Wird ignoriert
}
```
---
## 🎮 Bedienung
### Der Programmer
Das wichtigste Werkzeug für den Aufbau deines Netzwerks:
* **Rechtsklick in die Luft:** Öffnet das Setup (Area/Channel Wahl).
* **Linksklick auf Node:** "Paste" Überträgt die Konfiguration auf Lampen, Schalter oder Sensoren.
* **Rechtsklick auf Node:** Öffnet das gerätespezifische Menü (z.B. Sensor-Reichweite).
### Das Controller-Panel
* Zeigt alle aktiven Kanäle einer Area an.
* Ermöglicht das Dimmen in Stufen (Max, Med, Min, Off).
* **Admin-Modus:** Linksklick mit dem Programmer auf das Panel öffnet die Kanal-Verwaltung.
---
## 🏗 Technische Funktionsweise (Shadow Nodes)
Um fremde Lampen steuerbar zu machen, ohne deren Code zu ändern, erstellt Smart Light beim Serverstart automatisch **Shadow-Nodes**. Diese übernehmen die Texturen und Eigenschaften der Original-Nodes, werden aber um die Smart-Light-Logik erweitert.
---
## 📜 Lizenz
Dieses Projekt ist unter der **MIT-Lizenz** lizenziert. Du kannst es frei verwenden, modifizieren und teilen.