diff --git a/README.md b/README.md index 9d5c510..7636696 100644 --- a/README.md +++ b/README.md @@ -1,259 +1,259 @@ -# Hotels Plugin - -Ein Minecraft Bukkit Plugin, das es Spielern ermöglicht, Hotels zu erstellen und Räume zu vermieten. - -![Version](https://img.shields.io/badge/version-2.0.0ALPHA-blue) -![Minecraft](https://img.shields.io/badge/minecraft-1.21.x-green) -![Java](https://img.shields.io/badge/java-21-orange) - -## 📋 Inhaltsverzeichnis - -- [Übersicht](#übersicht) -- [Features](#features) -- [Abhängigkeiten](#abhängigkeiten) -- [Installation](#installation) -- [Konfiguration](#konfiguration) -- [Befehle](#befehle) -- [Berechtigungen](#berechtigungen) -- [Verwendung](#verwendung) -- [Datenbank](#datenbank) -- [Support](#support) -- [Lizenz](#lizenz) - -## 🎯 Übersicht - -Das Hotels-Plugin ermöglicht es Spielern, eigene Hotels zu erstellen und Räume an andere Spieler zu vermieten. Es nutzt WorldGuard für Regionenverwaltung und Vault für Wirtschaftsintegration. - -## ✨ Features - -- ✅ Erstellen und Verwalten von Hotels -- ✅ Vermieten von Räumen an Spieler -- ✅ WorldGuard-Integration für Regionsschutz -- ✅ Vault-Integration für Wirtschaftssystem -- ✅ Unterstützung mehrerer Datenbanken (H2, MySQL, PostgreSQL) -- ✅ Konfigurierbare Limits und Preise -- ✅ Freunde-System für Räume -- ✅ Mehrsprachig (EN, DE, ES, FR) -- ✅ Auto-Save Funktion - -## 🔧 Abhängigkeiten - -**Erforderlich:** -- [Vault](https://www.spigotmc.org/resources/vault.34315/) -- [WorldEdit](https://dev.bukkit.org/projects/worldedit) -- [WorldGuard](https://dev.bukkit.org/projects/worldguard) - -**Server:** -- Minecraft 1.21.x -- Java 21 oder höher - -## 📥 Installation - -1. Lade das Plugin herunter -2. Stelle sicher, dass Vault, WorldEdit und WorldGuard installiert sind -3. Kopiere die `Hotels.jar` in den `plugins` Ordner -4. Starte den Server neu -5. Konfiguriere das Plugin in `plugins/Hotels/config.yml` - -## ⚙️ Konfiguration - -Die Hauptkonfiguration befindet sich in `config.yml`: - -### Datenbank-Einstellungen -```yaml -database: - type: h2 # h2, mysql, postgresql - h2-file: database - host: localhost - port: 3306 - database: hotels - username: root - password: "" -``` - -### Economy-Einstellungen -```yaml -economy: - enabled: true - currency-symbol: "$" -``` - -### Hotel-Einstellungen -```yaml -hotels: - max-hotels-per-player: 5 # Maximale Anzahl Hotels pro Spieler - max-rooms-per-hotel: 50 # Maximale Räume pro Hotel - min-hotel-distance: 100 # Minimaler Abstand zwischen Hotels (Blöcke) - allow-all-worlds: true # Hotels in allen Welten erlauben -``` - -### Raum-Einstellungen -```yaml -rooms: - default-rent-duration: 7 # Standard Mietdauer in Tagen - max-rent-duration: 30 # Maximale Mietdauer in Tagen - min-rent-price: 10.0 # Minimaler Mietpreis - max-rent-price: 10000.0 # Maximaler Mietpreis - allow-friends: true # Freunde-System erlauben - max-friends-per-room: 5 # Maximale Freunde pro Raum -``` - -### Regions-Einstellungen -```yaml -regions: - min-region-size: 16 # Minimale Regionsgröße (Blöcke) - max-region-size: 10000 # Maximale Regionsgröße (Blöcke) - require-worldguard: true # WorldGuard Region erforderlich -``` - -### Sonstige Einstellungen -```yaml -messages: - prefix: "&8[&6Hotels&8]&r " # Nachrichtenpräfix - colored-messages: true # Farbige Nachrichten aktivieren - -language: en # Sprache: en, de, es, fr -debug: false # Debug-Modus -auto-save-interval: 5 # Auto-Save Intervall in Minuten (0 = deaktiviert) -``` - -## 📝 Befehle - -Der Hauptbefehl ist `/hotels` oder `/ht`. Alle Unterbefehle können damit verwendet werden. - -### Allgemeine Befehle - -| Befehl | Aliase | Beschreibung | Permission | -|--------|--------|--------------|------------| -| `/hotels help` | `/ht help` | Zeigt die Hilfe an | `hotels.use` | -| `/hotels create ` | `/ht create `, `/ht c ` | Erstellt ein neues Hotel | `hotels.create` | -| `/hotels delete ` | `/ht delete ` | Löscht ein Hotel | `hotels.delete` | -| `/hotels list` | `/ht list`, `/ht hlist`, `/ht hotellist` | Listet alle Hotels auf | `hotels.list` | -| `/hotels list ` | `/ht list ` | Listet Hotels in einer bestimmten Welt auf | `hotels.list` | - -### Hotel-Verwaltung - -Die Verwaltungsbefehle ermöglichen es Hotelbesitzern, ihre Hotels zu konfigurieren: - -- **Räume erstellen**: Erstelle neue Räume in deinem Hotel -- **Räume vermieten**: Vermiete Räume an andere Spieler -- **Räume verwalten**: Setze Preise und Mietdauern -- **Freunde hinzufügen**: Erlaube anderen Spielern Zugriff auf gemietete Räume - -## 🔐 Berechtigungen - -### Basis-Berechtigungen - -| Berechtigung | Beschreibung | Standard | -|--------------|--------------|----------| -| `hotels.*` | Zugriff auf alle Hotels-Befehle | OP | -| `hotels.use` | Grundlegende Hotels-Befehle verwenden | Alle Spieler | -| `hotels.list` | Hotels auflisten | Alle Spieler | -| `hotels.rent` | Räume mieten | Alle Spieler | - -### Admin-Berechtigungen - -| Berechtigung | Beschreibung | Standard | -|--------------|--------------|----------| -| `hotels.admin` | Zugriff auf alle Admin-Befehle | OP | -| `hotels.create` | Hotels erstellen | OP | -| `hotels.delete` | Hotels löschen | OP | -| `hotels.manage` | Eigene Hotels verwalten | OP | -| `hotels.bypass` | Alle Einschränkungen umgehen | OP | - -### Berechtigungs-Hierarchie - -Die Berechtigung `hotels.*` beinhaltet: -- `hotels.use` -- `hotels.admin` -- `hotels.create` -- `hotels.delete` -- `hotels.list` -- `hotels.rent` -- `hotels.manage` - -Die Berechtigung `hotels.admin` beinhaltet: -- `hotels.create` -- `hotels.delete` -- `hotels.manage` -- `hotels.bypass` - -## 📖 Verwendung - -### Ein Hotel erstellen - -1. Wähle mit WorldEdit eine Region aus (`//wand`) -2. Markiere den Bereich für dein Hotel (Position 1 und 2 setzen) -3. Verwende `/hotels create ` -4. Das Hotel wird erstellt und die Region geschützt - -### Räume vermieten - -1. Als Hotelbesitzer kannst du Räume in deinem Hotel erstellen -2. Setze Mietpreise und -dauern für jeden Raum -3. Spieler können Räume mieten und erhalten Zugriff -4. Nach Ablauf der Mietzeit endet der Zugriff automatisch - -### Freunde hinzufügen - -Mieter können Freunden Zugriff auf ihre gemieteten Räume gewähren: -- Bis zu 5 Freunde pro Raum (konfigurierbar) -- Freunde haben die gleichen Rechte wie der Mieter - -## 💾 Datenbank - -Das Plugin unterstützt mehrere Datenbank-Typen: - -### H2 (Standard) -- Eingebettete Datenbank, keine zusätzliche Installation nötig -- Perfekt für kleine bis mittelgroße Server -- Daten werden in `plugins/Hotels/database.db` gespeichert - -### MySQL/PostgreSQL -- Für größere Server empfohlen -- Bessere Performance bei vielen Hotels -- Ermöglicht externe Datenverwaltung - -Konfiguriere die Datenbank in der `config.yml` unter dem Abschnitt `database`. - -## 🐛 Bekannte Einschränkungen - -- Das Plugin befindet sich in der Alpha-Phase (Version 2.0.0ALPHA) -- Einige Features sind noch in Entwicklung -- Bitte melde Bugs auf der GitHub-Seite - -## 📞 Support - -- **GitHub**: [https://github.com/mviper/hotels](https://github.com/mviper/hotels) -- **Issues**: Melde Bugs oder Feature-Requests auf GitHub -- **Wiki**: Weitere Dokumentation findest du im GitHub Wiki - -## 📄 Lizenz - -Dieses Plugin ist lizenziert unter der **GNU Affero General Public License v3.0 (AGPL-3.0)**. - -``` -Hotels Bukkit Plugin -Copyright (C) 2020-2026 mviper - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU Affero General Public License as published -by the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU Affero General Public License for more details. -``` - -Die vollständige Lizenz findest du in der [LICENCE](LICENCE) Datei. - -## 🙏 Credits - -- **Autor**: M_Viper -- **Repository**: [github.com/mviper/hotels](https://github.com/mviper/hotels) - ---- - -**Hinweis**: Dieses Plugin befindet sich in aktiver Entwicklung. Features und Befehle können sich in zukünftigen Versionen ändern. +# Hotels Plugin + +Ein Minecraft Bukkit Plugin, das es Spielern ermöglicht, Hotels zu erstellen und Räume zu vermieten. + +![Version](https://img.shields.io/badge/version-2.0.0ALPHA-blue) +![Minecraft](https://img.shields.io/badge/minecraft-1.21.x-green) +![Java](https://img.shields.io/badge/java-21-orange) + +## 📋 Inhaltsverzeichnis + +- [Übersicht](#übersicht) +- [Features](#features) +- [Abhängigkeiten](#abhängigkeiten) +- [Installation](#installation) +- [Konfiguration](#konfiguration) +- [Befehle](#befehle) +- [Berechtigungen](#berechtigungen) +- [Verwendung](#verwendung) +- [Datenbank](#datenbank) +- [Support](#support) +- [Lizenz](#lizenz) + +## 🎯 Übersicht + +Das Hotels-Plugin ermöglicht es Spielern, eigene Hotels zu erstellen und Räume an andere Spieler zu vermieten. Es nutzt WorldGuard für Regionenverwaltung und Vault für Wirtschaftsintegration. + +## ✨ Features + +- ✅ Erstellen und Verwalten von Hotels +- ✅ Vermieten von Räumen an Spieler +- ✅ WorldGuard-Integration für Regionsschutz +- ✅ Vault-Integration für Wirtschaftssystem +- ✅ Unterstützung mehrerer Datenbanken (H2, MySQL, PostgreSQL) +- ✅ Konfigurierbare Limits und Preise +- ✅ Freunde-System für Räume +- ✅ Mehrsprachig (EN, DE, ES, FR) +- ✅ Auto-Save Funktion + +## 🔧 Abhängigkeiten + +**Erforderlich:** +- [Vault](https://www.spigotmc.org/resources/vault.34315/) +- [WorldEdit](https://dev.bukkit.org/projects/worldedit) +- [WorldGuard](https://dev.bukkit.org/projects/worldguard) + +**Server:** +- Minecraft 1.21.x +- Java 21 oder höher + +## 📥 Installation + +1. Lade das Plugin herunter +2. Stelle sicher, dass Vault, WorldEdit und WorldGuard installiert sind +3. Kopiere die `Hotels.jar` in den `plugins` Ordner +4. Starte den Server neu +5. Konfiguriere das Plugin in `plugins/Hotels/config.yml` + +## ⚙️ Konfiguration + +Die Hauptkonfiguration befindet sich in `config.yml`: + +### Datenbank-Einstellungen +```yaml +database: + type: h2 # h2, mysql, postgresql + h2-file: database + host: localhost + port: 3306 + database: hotels + username: root + password: "" +``` + +### Economy-Einstellungen +```yaml +economy: + enabled: true + currency-symbol: "$" +``` + +### Hotel-Einstellungen +```yaml +hotels: + max-hotels-per-player: 5 # Maximale Anzahl Hotels pro Spieler + max-rooms-per-hotel: 50 # Maximale Räume pro Hotel + min-hotel-distance: 100 # Minimaler Abstand zwischen Hotels (Blöcke) + allow-all-worlds: true # Hotels in allen Welten erlauben +``` + +### Raum-Einstellungen +```yaml +rooms: + default-rent-duration: 7 # Standard Mietdauer in Tagen + max-rent-duration: 30 # Maximale Mietdauer in Tagen + min-rent-price: 10.0 # Minimaler Mietpreis + max-rent-price: 10000.0 # Maximaler Mietpreis + allow-friends: true # Freunde-System erlauben + max-friends-per-room: 5 # Maximale Freunde pro Raum +``` + +### Regions-Einstellungen +```yaml +regions: + min-region-size: 16 # Minimale Regionsgröße (Blöcke) + max-region-size: 10000 # Maximale Regionsgröße (Blöcke) + require-worldguard: true # WorldGuard Region erforderlich +``` + +### Sonstige Einstellungen +```yaml +messages: + prefix: "&8[&6Hotels&8]&r " # Nachrichtenpräfix + colored-messages: true # Farbige Nachrichten aktivieren + +language: en # Sprache: en, de, es, fr +debug: false # Debug-Modus +auto-save-interval: 5 # Auto-Save Intervall in Minuten (0 = deaktiviert) +``` + +## 📝 Befehle + +Der Hauptbefehl ist `/hotels` oder `/ht`. Alle Unterbefehle können damit verwendet werden. + +### Allgemeine Befehle + +| Befehl | Aliase | Beschreibung | Permission | +|--------|--------|--------------|------------| +| `/hotels help` | `/ht help` | Zeigt die Hilfe an | `hotels.use` | +| `/hotels create ` | `/ht create `, `/ht c ` | Erstellt ein neues Hotel | `hotels.create` | +| `/hotels delete ` | `/ht delete ` | Löscht ein Hotel | `hotels.delete` | +| `/hotels list` | `/ht list`, `/ht hlist`, `/ht hotellist` | Listet alle Hotels auf | `hotels.list` | +| `/hotels list ` | `/ht list ` | Listet Hotels in einer bestimmten Welt auf | `hotels.list` | + +### Hotel-Verwaltung + +Die Verwaltungsbefehle ermöglichen es Hotelbesitzern, ihre Hotels zu konfigurieren: + +- **Räume erstellen**: Erstelle neue Räume in deinem Hotel +- **Räume vermieten**: Vermiete Räume an andere Spieler +- **Räume verwalten**: Setze Preise und Mietdauern +- **Freunde hinzufügen**: Erlaube anderen Spielern Zugriff auf gemietete Räume + +## 🔐 Berechtigungen + +### Basis-Berechtigungen + +| Berechtigung | Beschreibung | Standard | +|--------------|--------------|----------| +| `hotels.*` | Zugriff auf alle Hotels-Befehle | OP | +| `hotels.use` | Grundlegende Hotels-Befehle verwenden | Alle Spieler | +| `hotels.list` | Hotels auflisten | Alle Spieler | +| `hotels.rent` | Räume mieten | Alle Spieler | + +### Admin-Berechtigungen + +| Berechtigung | Beschreibung | Standard | +|--------------|--------------|----------| +| `hotels.admin` | Zugriff auf alle Admin-Befehle | OP | +| `hotels.create` | Hotels erstellen | OP | +| `hotels.delete` | Hotels löschen | OP | +| `hotels.manage` | Eigene Hotels verwalten | OP | +| `hotels.bypass` | Alle Einschränkungen umgehen | OP | + +### Berechtigungs-Hierarchie + +Die Berechtigung `hotels.*` beinhaltet: +- `hotels.use` +- `hotels.admin` +- `hotels.create` +- `hotels.delete` +- `hotels.list` +- `hotels.rent` +- `hotels.manage` + +Die Berechtigung `hotels.admin` beinhaltet: +- `hotels.create` +- `hotels.delete` +- `hotels.manage` +- `hotels.bypass` + +## 📖 Verwendung + +### Ein Hotel erstellen + +1. Wähle mit WorldEdit eine Region aus (`//wand`) +2. Markiere den Bereich für dein Hotel (Position 1 und 2 setzen) +3. Verwende `/hotels create ` +4. Das Hotel wird erstellt und die Region geschützt + +### Räume vermieten + +1. Als Hotelbesitzer kannst du Räume in deinem Hotel erstellen +2. Setze Mietpreise und -dauern für jeden Raum +3. Spieler können Räume mieten und erhalten Zugriff +4. Nach Ablauf der Mietzeit endet der Zugriff automatisch + +### Freunde hinzufügen + +Mieter können Freunden Zugriff auf ihre gemieteten Räume gewähren: +- Bis zu 5 Freunde pro Raum (konfigurierbar) +- Freunde haben die gleichen Rechte wie der Mieter + +## 💾 Datenbank + +Das Plugin unterstützt mehrere Datenbank-Typen: + +### H2 (Standard) +- Eingebettete Datenbank, keine zusätzliche Installation nötig +- Perfekt für kleine bis mittelgroße Server +- Daten werden in `plugins/Hotels/database.db` gespeichert + +### MySQL/PostgreSQL +- Für größere Server empfohlen +- Bessere Performance bei vielen Hotels +- Ermöglicht externe Datenverwaltung + +Konfiguriere die Datenbank in der `config.yml` unter dem Abschnitt `database`. + +## 🐛 Bekannte Einschränkungen + +- Das Plugin befindet sich in der Alpha-Phase (Version 2.0.0ALPHA) +- Einige Features sind noch in Entwicklung +- Bitte melde Bugs auf der GitHub-Seite + +## 📞 Support + +- **GitHub**: [https://git.viper.ipv64.net/M_Viper/Hotels](https://github.com/mviper/hotels) +- **Issues**: Melde Bugs oder Feature-Requests auf GitHub +- **Wiki**: Weitere Dokumentation findest du im GitHub Wiki + +## 📄 Lizenz + +Dieses Plugin ist lizenziert unter der **GNU Affero General Public License v3.0 (AGPL-3.0)**. + +``` +Hotels Bukkit Plugin +Copyright (C) 2020-2026 mviper + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU Affero General Public License as published +by the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Affero General Public License for more details. +``` + +Die vollständige Lizenz findest du in der [LICENCE](LICENCE) Datei. + +## 🙏 Credits + +- **Autor**: M_Viper +- **Repository**: [github.com/mviper/hotels](https://github.com/mviper/hotels) + +--- + +**Hinweis**: Dieses Plugin befindet sich in aktiver Entwicklung. Features und Befehle können sich in zukünftigen Versionen ändern.