README.md aktualisiert
This commit is contained in:
parent
ff423fc029
commit
32830aacc9
1 changed files with 87 additions and 0 deletions
87
README.md
87
README.md
|
|
@ -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.
|
||||||
Loading…
Add table
Add a link
Reference in a new issue