Files
Hotels/README.md

260 lines
8.0 KiB
Markdown

# 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 <name>` | `/ht create <name>`, `/ht c <name>` | Erstellt ein neues Hotel | `hotels.create` |
| `/hotels delete <name>` | `/ht delete <name>` | Löscht ein Hotel | `hotels.delete` |
| `/hotels list` | `/ht list`, `/ht hlist`, `/ht hotellist` | Listet alle Hotels auf | `hotels.list` |
| `/hotels list <welt>` | `/ht list <welt>` | 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 <Hotelname>`
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://git.viper.ipv64.net/M_Viper/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://git.viper.ipv64.net/M_Viper/Hotels)
---
**Hinweis**: Dieses Plugin befindet sich in aktiver Entwicklung. Features und Befehle können sich in zukünftigen Versionen ändern.