Verschillen

Dit geeft de verschillen weer tussen de geselecteerde revisie en de huidige revisie van de pagina.

Link naar deze vergelijking

Beide kanten vorige revisie Vorige revisie
Volgende revisie
Vorige revisie
plugins:tulpencraftrentals [2026/09/10 12:30] – rroethofplugins:tulpencraftrentals [2026/09/11 17:16] (huidige) – rroethof
Regel 1: Regel 1:
-====== TulpenCraftRentals ======+# TulpenCraftRentals — interne wiki
  
-~~NOTOC~~+## Inhoud
  
-===== 📌 Status =====+- Installatie 
 +- Configuratie 
 +- Permissies 
 +- Rentals aanmaken 
 +- Verhuurproces 
 +- Verhuurborden 
 +- ChestShop 
 +- Evacuatie 
 +- Reset 
 +- WorldGuard 
 +- Admin-GUI 
 +- Commando-overzicht 
 +- Database 
 +- Probleemoplossing
  
-^ Eigenschap ^ Waarde ^ +## Overzicht
-| **Plugin** | TulpenCraftRentals | +
-| **Status** | 🟡 In ontwikkeling | +
-| **Versie** | 0.1.0-SNAPSHOT | +
-| **Buildsysteem** | Maven | +
-| **Platform** | Paper 26.2 | +
-| **Java** | Java 25 | +
-| **Server(s)** | Survival | +
-| **Onderdeel van netwerk** | Ja | +
-| **Laatste controle** | {{DATUM}} |+
  
-^ Server ^ Actief ^ +TulpenCraftRentals beheert tijdelijke verhuur van vooraf gedefinieerde WorldGuard-regio's. WorldGuard beschermt de fysieke regio; TulpenCraftRentals beheert contracten, betalingen, huurders, leden, ChestShops, verloopdatums, evacuatie en reset.
-| **Velocity** | ❌ | +
-| **Lobby** | ❌ | +
-| **Survival** | ✅ | +
-| **Events** | ❌ |+
  
----+| Onderdeel | Functie | 
 +|---|---| 
 +| WorldGuard | Fysieke regiobescherming | 
 +| TulpenCraftRentals | Huurcontract en verhuurregels | 
 +| Vault | Betalingen in florijnen | 
 +| LuckPerms | Toegang en huurlimieten | 
 +| WorldEdit | Schematic-reset | 
 +| ChestShop | Winkeltransacties | 
 +| MariaDB | Centrale opslag | 
 +| Discord-webhook | Optionele meldingen |
  
-===== 🎯 Doel =====+## Permissies
  
-TulpenCraftRentals beheert tijdelijke verhuur van vooraf gedefinieerde gebieden binnen TulpenCraft.+Verhuurtoegang:
  
-De plugin maakt het mogelijk om bijvoorbeeld: +```text 
- +tulpencraft.rent.<type>.<naam> 
-* 🏠 Huizen +```
-* 🛒 Winkels +
-* 🏨 Hotelkamers +
- +
-tijdelijk aan spelers te verhuren. +
- +
-Een huurcontract koppelt een speler aan een vooraf geconfigureerde WorldGuard-regio. De plugin beheert vervolgens de administratieve en technische onderdelen van de huurperiode. +
- +
-Hieronder vallen onder andere: +
- +
-* huurprijs; +
-* huurperiode; +
-* huurder; +
-* medebewoners; +
-* winkelmedewerkers; +
-* ChestShop-limieten; +
-* permissievereisten; +
-* vervaldatum; +
-* ontruimingsperiode; +
-* huurverlenging; +
-* beëindiging; +
-* reset van de ruimte; +
-* audit logging; +
-* notificaties. +
- +
-WorldGuard blijft verantwoordelijk voor de daadwerkelijke gebiedsbeveiliging. TulpenCraftRentals beheert de huurstatus en bepaalt wie toegang tot een verhuurd gebied krijgt. +
- +
---- +
- +
-===== 🏗️ Huurtypes ===== +
- +
-==== 🏠 HOUSE ==== +
- +
-Een huis is een persoonlijke woonruimte die tijdelijk door een speler kan worden gehuurd. +
- +
-Eigenschappen: +
- +
-* tijdelijke huurder; +
-* optionele medebewoners; +
-* configureerbaar maximum aantal bewoners; +
-* WorldGuard-beveiliging; +
-* optionele rank/permissie-eis; +
-* vrije inrichting door de huurder; +
-* preview voordat de huur wordt afgesloten; +
-* reset na afloop van de huur. +
- +
-Meerdere huizen kunnen tegelijkertijd worden gehuurd wanneer de speler hiervoor voldoende rechten heeft. +
- +
-==== 🛒 SHOP ==== +
- +
-Een winkel is een verhuurbare ruimte waarin de huurder een ChestShop kan exploiteren. +
- +
-Eigenschappen: +
- +
-* tijdelijke huurder; +
-* medewerkers kunnen worden toegevoegd; +
-* medewerkers kunnen de winkel beheren; +
-* WorldGuard-beveiliging; +
-* ChestShop-integratie; +
-* configureerbaar maximum aantal ChestShops; +
-* optionele rank/permissie-eis; +
-* preview voordat de huur wordt afgesloten; +
-* reset na afloop van de huur. +
- +
-ChestShops mogen uitsluitend binnen het gekoppelde winkelgebied worden aangemaakt. +
- +
-==== 🏨 HOTEL ==== +
- +
-Een hotelkamer is een tijdelijke woonruimte met een relatief korte huurperiode. +
- +
-Eigenschappen: +
- +
-* tijdelijke huurder; +
-* configureerbaar aantal bewoners; +
-* WorldGuard-beveiliging; +
-* optionele rank/permissie-eis; +
-* preview voordat de huur wordt afgesloten; +
-* configureerbare huurperiode; +
-* reset na afloop van de huur. +
- +
-Hotelkamers ondersteunen geen ChestShop-functionaliteit. +
- +
---- +
- +
-===== 🔄 Huurstatussen ===== +
- +
-Een rental doorloopt verschillende statussen: +
- +
-<code> +
-DISABLED +
-    ↓ +
-AVAILABLE +
-    ↓ +
-RENTED +
-    ↓ +
-EXPIRED +
-    ↓ +
-RESETTING +
-    ↓ +
-AVAILABLE +
-</code> +
- +
-^ Status ^ Betekenis ^ +
-| **DISABLED** | Rental is uitgeschakeld en kan niet worden gehuurd | +
-| **AVAILABLE** | Rental is beschikbaar voor verhuur | +
-| **RENTED** | Rental is actief verhuurd | +
-| **EXPIRED** | Huurperiode is verlopen en de ontruimingsperiode is gestart | +
-| **RESETTING** | Rental wordt teruggezet naar de oorspronkelijke staat | +
- +
-Een rental mag uitsluitend automatisch terugkeren naar `AVAILABLE` wanneer de reset succesvol is uitgevoerd. +
- +
-Wanneer een reset mislukt, blijft de rental op `RESETTING` staan en wordt de fout aan staff gemeld. +
- +
---- +
- +
-===== ⏱️ Huurperiode ===== +
- +
-Iedere rental heeft een configureerbare huurperiode. +
- +
-De periode wordt opgeslagen als een exacte vervaldatum.+
  
 Voorbeelden: Voorbeelden:
  
-* 7 dagen; +```text 
-* 14 dagen; +tulpencraft.rent.house.small 
-* 30 dagen; +tulpencraft.rent.house.medium 
-* 90 dagen.+tulpencraft.rent.shop.small 
 +tulpencraft.rent.shop.special001 
 +```
  
-De exacte periode wordt per rental bepaald.+Gebruik bij bijzondere sleutels geen extra punt:
  
-==== Waarschuwingen ====+```text 
 +FOUT: tulpencraft.rent.house.special.003 
 +GOED: tulpencraft.rent.house.special003 
 +```
  
-De huurder ontvangt waarschuwingen voordat de huur afloopt.+Een rental zonder toegangspermissie is niet verhuurbaar.
  
-Standaard:+Huurlimieten:
  
-^ Moment ^ Melding ^ +```text
-| 7 dagen voor einde | Eerste waarschuwing | +
-| 3 dagen voor einde | Tweede waarschuwing | +
-| 1 dag voor einde | Laatste waarschuwing | +
-| Einde huurperiode | Huur is verlopen | +
- +
---- +
- +
-===== 🚪 Ontruimingsperiode ===== +
- +
-Na het verlopen van een huurcontract krijgt de huurder maximaal **72 uur** om de ruimte leeg te maken. +
- +
-Deze periode is geen verlenging van het huurcontract. +
- +
-Tijdens deze periode: +
- +
-* is de huur officieel verlopen; +
-* kan de huurder persoonlijke spullen verwijderen; +
-* kan de huurder een verlenging uitvoeren; +
-* mogen geen nieuwe ChestShops worden aangemaakt; +
-* blijft de ruimte tijdelijk beschikbaar voor ontruiming. +
- +
-Na het verstrijken van de 72 uur wordt de rental gereset. +
- +
-De huurder is zelf verantwoordelijk voor het verwijderen of verplaatsen van alle eigendommen. +
- +
-Achtergebleven items worden bij de reset verwijderd. +
- +
---- +
- +
-===== 💰 Betaling ===== +
- +
-TulpenCraftRentals gebruikt **Vault** als abstractielaag voor het economy-systeem. +
- +
-De plugin implementeert geen eigen economie. +
- +
-Betalingen worden geregistreerd in de database. +
- +
-Ondersteunde transactietypes: +
- +
-* `RENT` +
-* `RENEW` +
-* `REFUND` +
- +
-Een betaling moet veilig worden verwerkt zodat een speler niet wordt belast wanneer de huur uiteindelijk niet kan worden toegekend. +
- +
-Vroegtijdig beëindigen van een huurcontract geeft **geen recht op restitutie**. +
- +
---- +
- +
-===== 👥 Bewoners en medewerkers ===== +
- +
-==== Bewoners ==== +
- +
-Bij huizen en hotelkamers kunnen spelers als bewoners worden toegevoegd. +
- +
-Een bewoner krijgt toegang tot de gekoppelde WorldGuard-regio volgens de configuratie van de rental. +
- +
-De eigenaar van de rental blijft verantwoordelijk voor het beheer van de bewoners. +
- +
-==== Winkelmedewerkers ==== +
- +
-Bij shops kunnen medewerkers worden toegevoegd. +
- +
-Een medewerker kan, afhankelijk van de configuratie: +
- +
-* bouwen; +
-* blokken plaatsen; +
-* blokken verwijderen; +
-* ChestShops plaatsen; +
-* ChestShops verwijderen; +
-* ChestShops beheren. +
- +
-De technische database gebruikt hiervoor dezelfde member-structuur. Het onderscheid tussen bewoner en medewerker wordt bepaald door het rentaltype. +
- +
---- +
- +
-===== 🛒 ChestShop ===== +
- +
-ChestShop-functionaliteit is uitsluitend beschikbaar voor rentals van het type `SHOP`. +
- +
-De plugin integreert met: +
- +
-<code> +
-ChestShop 3.12.2 +
-</code> +
- +
-==== Regels ==== +
- +
-Een ChestShop: +
- +
-* moet binnen de gekoppelde WorldGuard-regio staan; +
-* mag uitsluitend door de huurder of geautoriseerde medewerker worden aangemaakt; +
-* telt mee voor het maximale aantal ChestShops van de rental; +
-* wordt geregistreerd in de TulpenCraftRentals-database. +
- +
-Wanneer het maximale aantal ChestShops is bereikt, wordt een nieuwe shopaanmaak geweigerd. +
- +
-Bij het verwijderen van een ChestShop wordt de registratie uit de database verwijderd. +
- +
-Bij het beëindigen/resetten van een rental worden de geregistreerde ChestShops verwerkt voordat de ruimte wordt gereset. +
- +
---- +
- +
-===== 🔐 Rechten ===== +
- +
-TulpenCraftRentals gebruikt Bukkit/Paper-permissions en LuckPerms voor toegangscontrole. +
- +
-Ranknamen worden niet hardcoded in de plugin. +
- +
-In plaats daarvan worden permissies gebruikt. +
- +
-==== Algemene rechten ==== +
- +
-^ Permission ^ Beschrijving ^ +
-| `tulpencraft.rentals.admin` | Volledige administratieve toegang | +
-| `tulpencraft.rentals.create` | Rentals aanmaken | +
-| `tulpencraft.rentals.edit` | Rentals aanpassen | +
-| `tulpencraft.rentals.reset` | Rentals resetten | +
-| `tulpencraft.rentals.force` | Geforceerde acties uitvoeren | +
-| `tulpencraft.rentals.members` | Bewoners/medewerkers beheren | +
- +
-==== Rankvereisten voor rentals ==== +
- +
-Een rental kan optioneel een permission vereisen. +
- +
-Voorbeelden: +
- +
-<code> +
-tulpencraft.rent.vip +
-tulpencraft.rent.premium +
-</code> +
- +
-Hierdoor kan LuckPerms bepalen welke spelers toegang hebben tot bepaalde rentals. +
- +
-==== Rental-limieten ==== +
- +
-Ook het maximale aantal gelijktijdige rentals kan via permissions worden geregeld. +
- +
-Voorbeelden: +
- +
-<code>+
 tulpencraft.rent.limit.house.2 tulpencraft.rent.limit.house.2
-tulpencraft.rent.limit.shop.2 +tulpencraft.rent.limit.shop.1 
-tulpencraft.rent.limit.hotel.3 +tulpencraft.rent.limit.hotel.1 
-</code> +```
- +
-De plugin hoeft hierdoor geen specifieke ranknamen te kennen. +
- +
---- +
- +
-===== 💬 Commando's ===== +
- +
-De primaire gebruikerscommand is: +
- +
-<code> +
-/huur +
-</code> +
- +
-`/huren` kan als alias worden gebruikt. +
- +
-==== Spelercommando's ==== +
- +
-^ Commando ^ Permission ^ Beschrijving ^ +
-| <code>/huur</code> | — | Opent het huurmenu | +
-| <code>/huur mijn</code> | — | Toont actieve eigen rentals | +
-| <code>/huur info <id></code> | — | Toont informatie over een rental | +
-| <code>/huur huren <id></code> | — | Start het huurproces | +
-| <code>/huur verlengen <id></code> | — | Verlengt een actieve huur | +
-| <code>/huur opzeggen <id></code> | — | Beëindigt een huurcontract | +
- +
-==== Beheercommando's ==== +
- +
-^ Commando ^ Permission ^ Beschrijving ^ +
-| <code>/huur beheer</code> | `tulpencraft.rentals.admin` | Opent het beheermenu | +
-| <code>/huur beheer lijst</code> | `tulpencraft.rentals.admin` | Toont alle rentals | +
-| <code>/huur beheer info <id></code> | `tulpencraft.rentals.admin` | Toont volledige rentalinformatie | +
-| <code>/huur beheer aanmaken <region> <type></code> | `tulpencraft.rentals.create` | Maakt een rental aan | +
-| <code>/huur beheer naam <id> <naam></code> | `tulpencraft.rentals.edit` | Wijzigt de naam | +
-| <code>/huur beheer prijs <id> <bedrag></code> | `tulpencraft.rentals.edit` | Wijzigt de huurprijs | +
-| <code>/huur beheer duur <id> <dagen></code> | `tulpencraft.rentals.edit` | Wijzigt de huurperiode | +
-| <code>/huur beheer activeren <id></code> | `tulpencraft.rentals.edit` | Activeert een rental | +
-| <code>/huur beheer uitschakelen <id></code> | `tulpencraft.rentals.edit` | Schakelt een rental uit | +
-| <code>/huur beheer reset <id></code> | `tulpencraft.rentals.reset` | Start een rental-reset | +
-| <code>/huur beheer reset status <id></code> | `tulpencraft.rentals.reset` | Toont resetstatus | +
-| <code>/huur beheer geschiedenis <id></code> | `tulpencraft.rentals.admin` | Toont de auditgeschiedenis | +
- +
---- +
- +
-===== 🖥️ Huurmenu ===== +
- +
-`/huur` opent het gebruikersmenu. +
- +
-Het menu wordt opgebouwd rond de verschillende huurtypes. +
- +
-^ Categorie ^ Beschrijving ^ +
-| 🏠 Huizen | Beschikbare huurhuizen | +
-| 🛒 Winkels | Beschikbare winkelruimtes | +
-| 🏨 Hotel | Beschikbare hotelkamers | +
-| 📋 Mijn huur | Eigen actieve en verlopen rentals | +
- +
-Bij een rental worden onder andere getoond: +
- +
-* naam; +
-* type; +
-* prijs; +
-* huurperiode; +
-* vereiste permission; +
-* beschikbare plaatsen; +
-* aantal ChestShops; +
-* aantal bewoners; +
-* huidige status. +
- +
-De speler kan vanuit het menu eerst een **preview** bekijken voordat de huur wordt afgesloten. +
- +
---- +
- +
-===== 👁️ Preview ===== +
- +
-Een speler kan een rental bekijken voordat deze wordt gehuurd. +
- +
-De preview geeft uitsluitend toegang om de ruimte te bekijken. +
- +
-Een preview: +
- +
-* geeft geen huurrechten; +
-* maakt de speler geen eigenaar; +
-* geeft geen permanente WorldGuard-rechten; +
-* start geen huurperiode; +
-* brengt geen kosten met zich mee. +
- +
-Pas na het bevestigen van de huur wordt de rental daadwerkelijk aan de speler toegewezen. +
- +
---- +
- +
-===== 🌍 WorldGuard ===== +
- +
-TulpenCraftRentals gebruikt WorldGuard voor fysieke gebiedsbeveiliging. +
- +
-Iedere rental is gekoppeld aan een vooraf bestaande WorldGuard-regio. +
- +
-TulpenCraftRentals beheert: +
- +
-* huurder; +
-* bewoners; +
-* medewerkers; +
-* toegang tijdens de huurperiode. +
- +
-WorldGuard blijft verantwoordelijk voor de daadwerkelijke bescherming van het gebied. +
- +
-Een rental kan niet succesvol worden aangemaakt wanneer de gekoppelde WorldGuard-regio niet bestaat. +
- +
---- +
- +
-===== 🧱 Reset ===== +
- +
-Na het einde van een huurperiode wordt de rental teruggezet naar de oorspronkelijke staat. +
- +
-De reset gebruikt een WorldEdit-schematic. +
- +
-Globale volgorde: +
- +
-<code> +
-Rental verlopen +
-      ↓ +
-Ontruimingsperiode +
-      ↓ +
-ChestShops verwerken +
-      ↓ +
-Members verwijderen +
-      ↓ +
-Achtergebleven items verwijderen +
-      ↓ +
-WorldEdit schematic plaatsen +
-      ↓ +
-Controle +
-      ↓ +
-AVAILABLE +
-</code>+
  
-Wanneer een reset mislukt:+Admin:
  
-<code> +```text 
-RESETTING+tulpencraft.rentals.admin
 ``` ```
  
-De rental wordt in dat geval **niet automatisch beschikbaar gemaakt**.+## Rentals aanmaken
  
-Staff moet het probleem eerst oplossen. +1. Maak de WorldGuard-regio aan. 
- +2. Controleer dat de regio niet overlapt met een andere rental-regio. 
---- +3. Kies de toegangspermissie. 
- +4. Geef de rental een zichtbare naam. 
-===== 🗄️ Database ===== +5. Stel prijs, ledenlimiet en ChestShoplimiet in. 
- +6. Koppel eventueel een schematic. 
-TulpenCraftRentals gebruikt **MariaDB**. +7. Koppel eventueel een bord. 
- +8. Activeer de rental.
-De database bevat onder andere: +
- +
-^ Tabel ^ Functie ^ +
-| `rentals` | Hoofdgegevens en status van rentals | +
-| `rental_members` | Bewoners en medewerkers | +
-| `rental_chestshops` | Geregistreerde ChestShops | +
-| `rental_transactions` | Betalingen en transacties | +
-| `rental_notifications` | Verzonden huurwaarschuwingen | +
-| `rental_audit_log` | Audit- en beheergeschiedenis | +
- +
-Databaseverbindingen worden beheerd via HikariCP. +
- +
-Database-I/O wordt asynchroon uitgevoerd om de Minecraft-serverthread niet onnodig te blokkeren. +
- +
---- +
- +
-===== 🔔 Notificaties ===== +
- +
-Belangrijke gebeurtenissen kunnen via Discord worden gemeld. +
- +
-Voorbeelden: +
- +
-* nieuwe huur; +
-* huurverlenging; +
-* verlopen huur; +
-* reset gestart; +
-* reset succesvol afgerond; +
-* reset mislukt; +
-* medewerker toegevoegd; +
-* medewerker verwijderd. +
- +
-De plugin gebruikt hiervoor een afzonderlijke notification-laag zodat de Discord-integratie niet direct aan de rental-logica gekoppeld is. +
- +
---- +
- +
-===== 📊 Audit logging ===== +
- +
-Belangrijke acties worden geregistreerd. +
- +
-Voorbeelden: +
- +
-<code> +
-RENTED +
-RENEWED +
-EXPIRED +
-CANCELLED +
-MEMBER_ADDED +
-MEMBER_REMOVED +
-CHESTSHOP_CREATED +
-CHESTSHOP_REMOVED +
-RESET_STARTED +
-RESET_COMPLETED +
-RESET_FAILED +
-</code> +
- +
-Hierdoor kan achteraf worden nagegaan wat er met een rental is gebeurd. +
- +
---- +
- +
-===== 📦 Installatie ===== +
- +
-**Jar-bestand:** +
- +
-<code> +
-TulpenCraftRentals-0.1.0-SNAPSHOT.jar +
-</code> +
- +
-**Locatie:** +
- +
-<code> +
-/srv/minecraft/survival/plugins/TulpenCraftRentals-0.1.0-SNAPSHOT.jar +
-</code> +
- +
-**Builden:** +
- +
-Het project gebruikt Maven. +
- +
-<code bash> +
-mvn clean package +
-</code> +
- +
-De gebouwde JAR wordt aangemaakt in: +
- +
-<code> +
-target/TulpenCraftRentals-0.1.0-SNAPSHOT.jar +
-</code> +
- +
---- +
- +
-===== ⚙️ Configuratie ===== +
- +
-**Configuratiebestand:** +
- +
-<code> +
-/srv/minecraft/survival/plugins/TulpenCraftRentals/config.yml +
-</code> +
- +
-==== Database ==== +
- +
-De plugin gebruikt een MariaDB-database.+
  
 Voorbeeld: Voorbeeld:
  
-<code yaml> +```text 
-database: +/rg define testshop02 
-  host: 172.16.0.30 +/huur aanmaken testshop02 tulpencraft.rent.shop.small Shop001 
-  port: 3306 +```
-  name: tulpencraft_rentals +
-  username: rentals +
-  password: "" +
-  use-environment-password: true +
-  environment-password-variable: TULPENCRAFT_RENTALS_DB_PASSWORD +
-  pool-size: 10 +
-  connection-timeout-ms: 5000 +
-</code>+
  
-Het databasewachtwoord wordt bij voorkeur via een environment variable beschikbaar gesteld en niet rechtstreeks in `config.yml` opgeslagen.+## Verhuurproces
  
-==== Rentalinstellingen ====+Bij het huren controleert de plugin de permissie, huurlimiet, beschikbaarheid, het saldo via Vault en de geldigheid van de WorldGuard-regio.
  
-<code yaml> +Daarna worden betaling, huurder, status, regio en bord bijgewerkt. Een fout mag niet leiden tot geld afgeschreven zonder toegekende huur.
-rental: +
-  evacuation-hours: 72 +
-  warnings: +
-    - 168 +
-    - 72 +
-    - 24 +
-</code>+
  
-De standaard ontruimingsperiode bedraagt 72 uur.+Verlengen betaalt opnieuw de weekprijs en verlengt de einddatum met één week.
  
-De waarschuwingen worden standaard 168, 72 en 24 uur voor het einde van de huurperiode verstuurd.+## Verhuurborden
  
-==== Standaardlimieten ====+```text 
 +/huur bord shop001 
 +/huur bord shop001 ontkoppelen 
 +/huur bordactie shop001 aan 
 +/huur bordactie shop001 uit 
 +```
  
-<code yaml> +Beschikbaar:
-limits: +
-  default: +
-    house: 1 +
-    shop: 1 +
-    hotel: 1 +
-</code>+
  
-Deze waarden kunnen later worden uitgebreid met permission-gebaseerde limieten.+```text 
 +Shop001 
 +Beschikbaar 
 +10,00 ƒ/week 
 +Rechtsklik 
 +```
  
----+Verhuurd:
  
-===== 🔗 Afhankelijkheden =====+```text 
 +Shop001 
 +Ronny_NL 
 +t/m 18-09-2026 
 +VERHUURD 
 +```
  
-==== Verplichte platformafhankelijkheid ====+Evacuatie:
  
-* Paper 26.2 +```text 
-* Java 25+Shop001 
 +Ronny_NL 
 +t/m 21-09-2026 
 +EVACUATIE 
 +```
  
-==== Verplichte plugin-afhankelijkheden ====+Rechtermuisklik opent altijd een GUI. Een normale speler krijgt huur- en informatieopties, de huurder krijgt eigen huurdetails en staff met adminrechten krijgt de admin-GUI.
  
-* WorldGuard +## ChestShop
-* WorldEdit +
-* Vault +
-* LuckPerms+
  
-==== Shopintegratie ====+ChestShops zijn uitsluitend toegestaan binnen een actieve `SHOP`-rental.
  
-* ChestShop 3.12.2+De huurder en geautoriseerde medewerkers mogen ChestShops plaatsen, gebruiken en verwijderen, zolang het maximum niet is bereikt.
  
-==== Database ====+```text 
 +/huur chestshops shop001 6 
 +```
  
-* MariaDB +Buiten een actieve SHOP-rental zijn ChestShops niet toegestaan. Tijdens evacuatie mogen bestaande ChestShops eventueel nog worden gebruikt, maar nieuwe plaatsen is verboden.
-* MariaDB Java Client +
-* HikariCP+
  
----+## Evacuatie
  
-===== 🛡️ Beveiliging =====+Na afloop van de huurperiode start een evacuatieperiode van maximaal 72 uur.
  
-TulpenCraftRentals verwerkt onder andere:+```text 
 +/huur evacuatie shop001 
 +/huur ontruimen shop001 
 +```
  
-* Minecraft UUID's; +Tijdens evacuatie kan de huurder spullen ophalen en eventueel verlengen. Nieuwe ChestShops mogen niet worden geplaatst.
-* huurcontracten; +
-* toegangsrechten; +
-* transacties; +
-* auditinformatie.+
  
-De database moet daarom uitsluitend vanaf geautoriseerde systemen bereikbaar zijn.+Na afloop worden toegang, ChestShops en achtergebleven inhoud opgeruimd, waarna de schematic wordt geplaatst en de rental weer `AVAILABLE` wordt.
  
-De Minecraft-server maakt verbinding met MariaDB via een afzonderlijke databasegebruiker.+## Rental verwijderen
  
-Aanbevolen configuratie:+```text 
 +/huur verwijderen shop001 
 +```
  
-* aparte database voor TulpenCraftRentals; +Verwijderen vereist bevestiging. De databasekoppelingen worden verwijderd, maar de fysieke WorldGuard-regio blijft bestaan.
-* aparte MariaDB-user; +
-* alleen benodigde databaseprivileges; +
-* verbinding vanaf uitsluitend geautoriseerde Minecraft-servers; +
-* databasewachtwoord niet in Git opslaan.+
  
-De plugin gebruikt geen ranknamen in de Java-code. Toegangscontrole gebeurt via permissions en LuckPerms.+## WorldGuard-richtlijnen
  
----+TulpenCraftRentals maakt geen fysieke WorldGuard-regio's aan. Regio's worden handmatig aangemaakt.
  
-===== ⚠️ Aandachtspunten =====+Rental-regio's mogen niet onderling overlappen. Een algemene bovenliggende gebiedsregio is toegestaan.
  
-* Een rental is altijd gekoppeld aan een WorldGuard-regio. +Bij problemen:
-* Een verlopen huurcontract is geen automatische verlenging. +
-* De maximale ontruimingsperiode bedraagt 72 uur. +
-* De huurder is verantwoordelijk voor het verwijderen van eigendommen. +
-* Achtergebleven items worden tijdens de reset verwijderd. +
-* Vroegtijdig opzeggen geeft geen recht op restitutie. +
-* ChestShops zijn uitsluitend toegestaan binnen SHOP-rentals. +
-* Het maximale aantal ChestShops wordt per rental bewaakt. +
-* Een mislukte reset maakt een rental niet automatisch beschikbaar. +
-* Database-I/O mag niet blokkerend op de Minecraft-serverthread worden uitgevoerd.+
  
----+```text 
 +/rg info <regio> 
 +/rg flags <regio> 
 +```
  
-===== 🧪 Troubleshooting =====+Controleer members, buildflags, parent-regio's, prioriteiten, gamemode en andere plugins.
  
-==== Plugin wordt niet geladen ====+## Probleemoplossing
  
-Controleer eerst: +### Speler kan niet bouwen
- +
-<code> +
-/plugins +
-</code> +
- +
-Controleer vervolgens: +
- +
-<code bash> +
-grep -i "TulpenCraftRentals" logs/latest.log +
-</code> +
- +
-Controleer de Java-versie: +
- +
-<code bash> +
-java -version +
-</code> +
- +
-TulpenCraftRentals vereist Java 25. +
- +
-==== Databaseverbinding mislukt ====+
  
 Controleer: Controleer:
  
-* MariaDB-host; +1. Juiste regio. 
-* MariaDB-poort; +2. Speler is member. 
-* databasenaam; +3. Geen overlap met andere rental. 
-* username; +4. Geen beperkende parent-flags. 
-* wachtwoord; +5. Speler staat in Survival. 
-* MariaDB grants; +6. Geen andere plugin blokkeert bouwen.
-* firewall; +
-* netwerkverbinding.+
  
-Test vanaf de Minecraft-server: +### ChestShop kan niet worden geplaatst
- +
-<code bash> +
-mariadb -h 172.16.0.30 -P 3306 -u rentals -p tulpencraft_rentals +
-</code> +
- +
-De MariaDB-user moet verbinding mogen maken vanaf het IP-adres van de Minecraft-server. +
- +
-==== `/huur` bestaat niet ==== +
- +
-Controleer of TulpenCraftRentals geladen is: +
- +
-<code> +
-/plugins +
-</code> +
- +
-Controleer daarnaast `plugin.yml` en de serverlog. +
- +
-De primaire command is: +
- +
-<code> +
-/huur +
-</code> +
- +
-Alias: +
- +
-<code> +
-/huren +
-</code> +
- +
-==== Rental kan niet worden aangemaakt ====+
  
 Controleer: Controleer:
  
-* of de WorldGuard-regio bestaat; +- actieve SHOP-rental; 
-* of de rental-ID uniek is; +- huurder of medewerker; 
-* of het opgegeven rentaltype geldig is; +- juiste regio; 
-* of de uitvoerende speler voldoende rechten heeft.+- maximum niet bereikt; 
 +- geen evacuatie- of resetstatus.
  
-==== ChestShop kan niet worden aangemaakt ====+### Bord toont verkeerde gegevens
  
 Controleer: Controleer:
  
-* of de rental van het type `SHOP` is; +- juiste rentalkoppeling; 
-* of de speler huurder of geautoriseerde medewerker is; +- huurder; 
-* of de ChestShop binnen de gekoppelde regio staat; +- `expires_at`; 
-* of het maximum aantal ChestShops nog niet is bereikt. +- `evacuation_until`; 
- +- rentalstatus; 
-==== Rental blijft op RESETTING staan ==== +- serverconsole.
- +
-Dit betekent dat de reset niet succesvol is afgerond. +
- +
-Controleer de serverlog en resetstatus: +
- +
-<code> +
-/huur beheer reset status &lt;id&gt; +
-</code> +
- +
-Een rental mag pas opnieuw beschikbaar worden gemaakt nadat de oorzaak van de resetfout is opgelost. +
- +
---- +
- +
-===== 🧪 Ontwikkelstatus ===== +
- +
-De plugin wordt gefaseerd ontwikkeld. +
- +
-^ Onderdeel ^ Status ^ +
-| Basis plugin | 🟢 | +
-| Maven build | 🟢 | +
-| Java 25 | 🟢 | +
-| Paper 26.2 | 🟢 | +
-| MariaDB verbinding | 🟢 | +
-| Database-schema | 🟢 | +
-| Rental model | 🟢 | +
-| `/huur` command | 🟡 | +
-| Rental CRUD | 🟡 | +
-| WorldGuard-integratie | 🟡 | +
-| Vault economy | 🔴 | +
-| LuckPerms-integratie | 🔴 | +
-| Rental GUI | 🔴 | +
-| Preview | 🔴 | +
-| House members | 🔴 | +
-| Shop employees | 🔴 | +
-| ChestShop-integratie | 🔴 | +
-| Hotelkamers | 🔴 | +
-| Expiration scheduler | 🔴 | +
-| 72 uur ontruiming | 🔴 | +
-| WorldEdit reset | 🔴 | +
-| Discord notificaties | 🔴 | +
-| Audit logging | 🟡 | +
- +
-**Legenda:** +
- +
-* 🟢 = geïmplementeerd +
-* 🟡 = gedeeltelijk / in ontwikkeling +
-* 🔴 = nog niet geïmplementeerd +
- +
---- +
- +
-===== 📝 Onderhoud ===== +
- +
-**Laatste wijziging:** {{DATUM}} +
- +
-**Wijziging:** Documentatie aangemaakt voor TulpenCraftRentals. +
- +
-**Status:** 🟡 In ontwikkeling +
- +
---- +
- +
-===== 🔗 Externe links =====+
  
-* [[[https://github.com/TulpenCraft/TulpenCraftRentals|GitHub](https://github.com/TulpenCraft/TulpenCraftRentals|GitHub) repository]] +### Rental blijft op RESETTING
-* [[[https://tulpencraft.nl|TulpenCraft](https://tulpencraft.nl|TulpenCraft)]] +
-* [[[https://wiki.tulpencraft.nl|TulpenCraft](https://wiki.tulpencraft.nl|TulpenCraft) Wiki]]+
  
 +Controleer schematic, wereld, resetcoördinaten, WorldEdit-toegang en consolefouten.
  • plugins/tulpencraftrentals.1789036214.txt.gz
  • Laatst gewijzigd: 2026/09/10 12:30
  • door rroethof