# 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.