Dit is een oude revisie van het document!
TulpenCraft Rentals
Status: Concept / ontwikkeling
Doelgroep: TulpenCraft Staff
Plugin: TulpenCraft Rentals
1. Wat is TulpenCraft Rentals?
TulpenCraft Rentals is het verhuursysteem van TulpenCraft voor verschillende soorten ruimtes en locaties.
Met het systeem kunnen spelers tijdelijk een vooraf ingerichte WorldGuard-region huren.
Denk hierbij aan:
- 🏠 Woningen
- 🏪 Winkels
- 🛏️ Hotelkamers
- In de toekomst eventueel andere typen locaties
De huur wordt centraal geregistreerd en beheerd door de plugin.
Belangrijk uitgangspunt:
Een rental is een tijdelijk gebruiksrecht op een vooraf bepaalde WorldGuard-region.
WorldGuard blijft verantwoordelijk voor de daadwerkelijke gebiedsbeveiliging. TulpenCraft Rentals regelt de huur, betaling, toegang, looptijd, bewoners/medewerkers, ChestShops en het verlopen van de huur.
2. Hoe werkt een rental?
Een rental heeft een vaste WorldGuard-region.
Bijvoorbeeld:
Rental:
Shop #12
WorldGuard:
tc_shop_012
Type:
SHOP
Prijs:
€750
Duur:
30 dagen
ChestShops:
maximaal 10
Medewerkers:
maximaal 3
Rank:
VIP vereist
Een speler huurt vervolgens deze locatie via het rentalsysteem.
Na een succesvolle betaling wordt de speler gekoppeld aan de WorldGuard-region.
3. Soorten rentals
🏠 Woningen
Een woning is een tijdelijk gehuurd huis.
Mogelijkheden:
- Eigenaar/huurder
- Huisgenoten
- WorldGuard-toegang
- Bouwen en aanpassen
- Eigen inrichting
- Preview vóór het huren
- Optionele rank-eis
- Instelbare huurprijs
- Instelbare huurduur
- Automatische reset na definitief einde huur
🏪 Winkels
Een winkel is een gehuurde commerciële locatie.
Mogelijkheden:
- Huurder/eigenaar
- Medewerkers
- WorldGuard-toegang
- ChestShop
- Maximum aantal ChestShops per winkel
- Preview
- Optionele rank-eis
- Instelbare huurprijs en huurduur
- Automatische reset
ChestShop-regels
ChestShops zijn gekoppeld aan de specifieke rental.
Een ChestShop mag alleen worden geplaatst:
- binnen de gekoppelde shop-region;
- door de huurder of een geautoriseerde medewerker;
- wanneer de huur actief is;
- zolang het maximum aantal ChestShops niet is bereikt.
Voorbeeld:
Shop #12 ChestShops: 4 / 10
Wanneer een ChestShop wordt verwijderd, komt die plek weer vrij:
4 / 10 ↓ 3 / 10
De plugin houdt de ChestShops per rental bij.
🛏️ Hotelkamers
Hotelkamers werken hetzelfde als woningen, maar zijn bedoeld voor kortdurend verblijf.
Een hotelkamer kan bijvoorbeeld:
Kamer 101 €75 / 7 dagen Maximaal 2 bewoners
Een suite kan bijvoorbeeld:
Suite 301 €250 / 7 dagen VIP vereist Maximaal 4 bewoners
Hotelkamers kunnen dus hun eigen prijs, huurperiode, rank-eis en bewonerslimiet hebben.
4. Rank en LuckPerms
TulpenCraft Rentals gebruikt LuckPerms-permissions om te bepalen welke rentals een speler mag huren.
Er wordt bewust niet rechtstreeks gekeken naar de naam van een rank.
Voorbeeld:
tulpencraft.rent.vip
Een rental kan deze permission vereisen.
Heeft een speler deze permission niet, dan kan de speler de rental wel bekijken, maar niet huren.
Voorbeeld
🏪 Shop #12 €750 / 30 dagen 🔒 VIP vereist
LuckPerms inheritance zorgt ervoor dat hogere ranks automatisch toegang kunnen krijgen wanneer zij de betreffende permission erven.
Dit maakt het systeem flexibel en voorkomt dat de plugin afhankelijk wordt van specifieke ranknamen.
5. Meerdere rentals per speler
Een speler kan meerdere rentals huren.
Er kan een limiet worden ingesteld.
Bijvoorbeeld:
Normale speler: 2 winkels VIP: 3 winkels Premium: 5 winkels
Deze limieten worden via permissions/configuratie beheerd.
Hetzelfde principe kan eventueel voor woningen worden gebruikt.
6. Medewerkers en huisgenoten
De eigenaar van een rental kan andere spelers toevoegen.
Bij een woning
Dit zijn bijvoorbeeld:
- huisgenoten
- familie
- vrienden
Deze spelers krijgen toegang tot de WorldGuard-region en mogen daar bouwen.
Bij een winkel
Dit zijn medewerkers.
Medewerkers mogen binnen de winkel:
- de shop betreden;
- bouwen;
- ChestShops plaatsen;
- ChestShops verwijderen;
- ChestShops beheren.
De eigenaar blijft verantwoordelijk voor de rental.
7. Huurperiode
Iedere rental heeft een vaste huurperiode.
Bijvoorbeeld:
€750 30 dagen
De einddatum wordt bij het huren automatisch berekend.
De speler krijgt vooraf waarschuwingen.
Voorgestelde waarschuwingen:
7 dagen voor einde 3 dagen voor einde 1 dag voor einde
8. Einde van de huur
Wanneer de huurperiode eindigt, wordt de rental verlopen.
De speler krijgt vervolgens maximaal 3 dagen om de locatie leeg te halen.
Dit is geen verlenging van de huurperiode, maar een ontruimingstermijn.
Tijdens deze periode kan de huurder:
- spullen ophalen;
- de locatie leeghalen;
- de huur alsnog verlengen.
Nieuwe ChestShops plaatsen is niet toegestaan.
Belangrijk
De huurder is zelf verantwoordelijk voor het verwijderen van spullen.
TulpenCraft is niet verantwoordelijk voor achtergebleven items.
Na afloop van de drie dagen worden achtergebleven spullen verwijderd tijdens de reset.
9. Waarschuwingen bij einde huur
De plugin waarschuwt de huurder duidelijk.
Voorbeeld:
⚠️ Je huur van Shop #12 verloopt over 3 dagen. Zorg dat je winkel tijdig wordt leeggemaakt. Achtergebleven spullen worden na de ontruimingsperiode vernietigd.
Bij het daadwerkelijk verlopen:
🔴 Je huur van Shop #12 is verlopen. Je hebt maximaal 3 dagen om je spullen op te halen of de huur te verlengen. Na deze periode wordt de locatie gereset.
Dit beleid moet ook duidelijk worden opgenomen in de huurvoorwaarden.
10. Huur voortijdig beëindigen
Een speler mag een huur voortijdig beëindigen.
Er wordt geen geld terugbetaald.
Voorbeeld:
Huur: €750 / 30 dagen Speler beëindigt na: 10 dagen Restitutie: €0
Dit moet vóór bevestiging duidelijk aan de speler worden getoond.
De speler krijgt na voortijdige beëindiging eveneens de maximaal drie dagen ontruimingstijd.
11. Reset van een rental
Na afloop van de ontruimingstermijn wordt de locatie gereset.
De reset brengt de locatie terug naar de oorspronkelijke staat.
Bijvoorbeeld:
Shop #12
↓
ChestShops verwijderen
↓
Toegang huurder verwijderen
↓
Toegang medewerkers verwijderen
↓
Achtergebleven voorraad verwijderen
↓
WorldEdit schematic terugplaatsen
↓
Controle
↓
Beschikbaar
Een rental mag pas opnieuw verhuurbaar worden wanneer de reset succesvol is afgerond.
Reset mislukt
Wanneer een reset mislukt:
RESETTING
↓
❌ fout
↓
STAFF MELDING
De rental wordt niet automatisch beschikbaar gemaakt.
Staff moet de situatie controleren.
12. WorldGuard
Iedere rental is gekoppeld aan één WorldGuard-region.
Bijvoorbeeld:
Rental: Shop #12 WorldGuard: tc_shop_012
De plugin gebruikt WorldGuard voor toegang en bescherming.
Staff maakt eerst de region aan met WorldGuard.
Daarna wordt deze region geregistreerd als rental.
Een WorldGuard-region mag niet tegelijkertijd aan meerdere rentals gekoppeld zijn.
13. Preview
Spelers kunnen een rental bekijken voordat ze deze huren.
Dit voorkomt dat iemand een locatie huurt zonder te weten hoe deze eruitziet.
De speler kan bijvoorbeeld:
👁 Preview 🏪 Huren ↩ Terug
De preview geeft geen huurrecht.
De speler moet de locatie daadwerkelijk huren om toegang te krijgen als eigenaar.
14. Staffbeheer
Staff kan rentals aanmaken, aanpassen, uitschakelen en resetten.
Een rental begint met een bestaande WorldGuard-region.
Voorbeeld:
/rg define tc_shop_012
Daarna wordt de region geregistreerd in Rentals.
De exacte commands worden in de technische documentatie opgenomen.
Belangrijke staffacties zijn onder andere:
- rental aanmaken;
- rental aanpassen;
- prijs wijzigen;
- huurduur wijzigen;
- rank-eis instellen;
- maximaal aantal ChestShops instellen;
- maximaal aantal medewerkers instellen;
- rental uitschakelen;
- huur handmatig beëindigen;
- rental resetten;
- rental vrijgeven.
15. Staff moet voorzichtig zijn met handmatige acties
Een rental kan actief verhuurd zijn.
Voordat staff een rental handmatig reset of vrijgeeft, moet gecontroleerd worden of dit gewenst is.
Een handmatige reset kan namelijk:
- bouwwerken van een speler verwijderen;
- ChestShops verwijderen;
- voorraad verwijderen;
- WorldGuard-toegang wijzigen.
Gebruik handmatige reset daarom alleen wanneer daar een geldige reden voor is.
Alle belangrijke acties worden geregistreerd in de auditlog.
16. Auditlog
TulpenCraft Rentals houdt belangrijke gebeurtenissen bij.
Bijvoorbeeld:
Rental #12 aangemaakt Rental #12 verhuurd aan Speler Rental #12 verlengd Medewerker toegevoegd ChestShop geplaatst ChestShop verwijderd Rental verlopen Rental gereset Rental reset mislukt
Hiermee kan staff achteraf controleren wat er met een rental is gebeurd.
17. Discord-meldingen
Belangrijke gebeurtenissen kunnen naar Discord worden gestuurd.
Bijvoorbeeld:
Nieuwe huur
🏪 Nieuwe rental Shop #12 Huurder: Speler Prijs: €750 Duur: 30 dagen Einddatum: 09-10-2026
Verlopen
🔴 Rental verlopen Shop #12 Huurder: Speler Ontruimingstermijn: 3 dagen
Reset mislukt
🚨 Rental reset mislukt Shop #12 De rental is geblokkeerd en is niet opnieuw verhuurbaar. Staff controle vereist.
Discord moet vooral worden gebruikt voor belangrijke gebeurtenissen en fouten. Het systeem moet geen spamkanaal worden.
18. Verantwoordelijkheid van de huurder
De huurder is verantwoordelijk voor:
- betaling van de huur;
- het tijdig verlengen van de huur;
- het tijdig leeghalen van de rental;
- eigen voorraad;
- eigen bouwwerken;
- medewerkers/huisgenoten;
- gebruik van de locatie volgens de TulpenCraft-regels.
Bij het einde van de huur bestaat geen recht op vergoeding voor achtergebleven items.
19. Voor staff: kort samengevat
Het systeem werkt volgens:
Beschikbaar
↓
Huren
↓
Betaling
↓
WorldGuard-toegang
↓
Gebruiken
↓
Waarschuwingen
↓
Huur verloopt
↓
3 dagen ontruiming
↓
Reset
↓
Beschikbaar
🏠 Huis
Huren → wonen → huisgenoten → ontruimen → reset
🏪 Shop
Huren → verkopen → medewerkers → ChestShops → ontruimen → reset
🛏️ Hotelkamer
Huren → tijdelijk verblijf → bewoners → ontruimen → reset
20. Belangrijkste uitgangspunten
- WorldGuard beschermt de locatie.
- TulpenCraft Rentals beheert het huurcontract.
- LuckPerms bepaalt rank-/permission-toegang.
- ChestShop wordt voor winkels geïntegreerd.
- Iedere shop heeft een eigen ChestShop-limiet.
- Medewerkers kunnen winkelbeheer uitvoeren.
- Een verlopen huur krijgt maximaal 3 dagen ontruimingstijd.
- Achtergebleven spullen worden daarna vernietigd.
- Voortijdig beëindigen mag, maar zonder restitutie.
- Een mislukte reset maakt een rental nooit automatisch beschikbaar.
- Belangrijke acties worden gelogd.
- Belangrijke gebeurtenissen kunnen via Discord worden gemeld.
Staff commands
Let op: de exacte commandostructuur kan tijdens de ontwikkeling nog wijzigen. Onderstaande commands zijn de voorgestelde staff-interface.
1. Permissions
Voor staffbeheer worden aparte permissions gebruikt.
tulpencraft.rentals.admin tulpencraft.rentals.create tulpencraft.rentals.edit tulpencraft.rentals.reset tulpencraft.rentals.force tulpencraft.rentals.members
tulpencraft.rentals.admin geeft toegang tot het volledige staffbeheer.
2. Rentals bekijken
Alle rentals
/tc rental list
Toont alle geregistreerde rentals.
Voorbeeld:
ID TYPE NAAM HUURDER STATUS 1 HOUSE Huis #01 Ronny_NL RENTED 2 HOUSE Huis #02 - AVAILABLE 3 SHOP Shop #01 Lijpie RENTED 4 HOTEL Kamer 101 - AVAILABLE
Filteren
/tc rental list available /tc rental list rented /tc rental list expired /tc rental list resetting /tc rental list house /tc rental list shop /tc rental list hotel
3. Rental aanmaken
Een WorldGuard-region moet eerst bestaan.
Bijvoorbeeld:
/rg define tc_shop_012
Daarna:
/tc rental create tc_shop_012 shop
De plugin controleert:
- bestaat de WorldGuard-region?
- bestaat de wereld?
- is de region al gekoppeld?
- is het rental-type geldig?
- heeft staff voldoende rechten?
Na het aanmaken krijgt de rental een uniek ID.
Bijvoorbeeld:
Rental #12 aangemaakt. Type: SHOP Region: tc_shop_012 Status: DISABLED
Een nieuwe rental wordt bewust niet automatisch verhuurbaar gemaakt.
4. Rental configureren
Informatie bekijken
/tc rental info <id>
Voorbeeld:
/tc rental info 12
Toont onder andere:
Naam Type WorldGuard-region Status Prijs Huurduur Huurder Startdatum Einddatum Rank/permission Maximum aantal ChestShops Maximum aantal medewerkers/bewoners Reset-configuratie
Naam wijzigen
/tc rental name <id> <naam>
Voorbeeld:
/tc rental name 12 Dorpswinkel
Prijs instellen
/tc rental price <id> <bedrag>
Voorbeeld:
/tc rental price 12 750
Betekent:
€750 per huurperiode.
Huurduur instellen
/tc rental duration <id> <dagen>
Voorbeeld:
/tc rental duration 12 30
Rank/permission instellen
/tc rental permission <id> <permission>
Voorbeeld:
/tc rental permission 12 tulpencraft.rent.vip
Iedereen zonder deze permission kan de rental bekijken, maar niet huren.
Permission verwijderen:
/tc rental permission <id> none
5. Shop-instellingen
Deze instellingen zijn alleen relevant voor SHOP rentals.
Maximum ChestShops
/tc rental chestshops <id> <aantal>
Voorbeeld:
/tc rental chestshops 12 10
Betekent:
Shop #12 mag maximaal 10 ChestShops bevatten.
Maximum medewerkers
/tc rental members <id> <aantal>
Voorbeeld:
/tc rental members 12 3
6. Bewoners en medewerkers
Bewoner toevoegen
Voor woningen/hotelkamers:
/tc rental member add <id> <speler>
Bewoner verwijderen
/tc rental member remove <id> <speler>
Bij een woning of hotelkamer krijgt de speler hierdoor toegang tot de betreffende WorldGuard-region.
Winkelmedewerker toevoegen
Voor shops kan dezelfde functionaliteit worden gebruikt:
/tc shop employee add <id> <speler>
Winkelmedewerker verwijderen
/tc shop employee remove <id> <speler>
Een medewerker mag binnen de winkel onder andere:
- bouwen;
- ChestShops plaatsen;
- ChestShops verwijderen;
- ChestShops beheren.
7. Rental beschikbaar maken
Na het volledig configureren:
/tc rental enable <id>
De rental wordt:
AVAILABLE
en kan door spelers worden gehuurd.
8. Rental uitschakelen
/tc rental disable <id>
Een uitgeschakelde rental kan niet opnieuw worden verhuurd.
Een bestaande huurder wordt hiermee niet automatisch verwijderd.
Dit kan bijvoorbeeld worden gebruikt wanneer:
- de locatie tijdelijk dicht moet;
- er onderhoud nodig is;
- een WorldGuard-region aangepast moet worden;
- staff problemen met de locatie onderzoekt.
9. Huur handmatig beëindigen
/tc rental expire <id>
Hiermee beëindigt staff de actieve huur.
Dit moet een bevestiging vereisen:
⚠️ Rental #12 is momenteel verhuurd. Huurder: Lijpie Einddatum: 09-10-2026 Weet je zeker dat je deze huur wilt beëindigen?
Na bevestiging gaat de rental naar de ontruimingsfase.
10. Rental vrijgeven
/tc rental release <id>
Hiermee kan staff een rental handmatig vrijgeven wanneer deze klaar is voor een nieuwe huurder.
Gebruik dit alleen wanneer:
- de vorige huurder verwijderd is;
- de locatie gecontroleerd is;
- eventuele ChestShops verwijderd zijn;
- de WorldGuard-toegang klopt;
- de locatie klaar is voor verhuur.
11. Rental resetten
Handmatige reset
/tc rental reset <id>
Hiermee wordt de rental handmatig teruggezet naar de oorspronkelijke staat.
De reset kan onder andere:
- ChestShops verwijderen;
- rental members verwijderen;
- WorldGuard-toegang herstellen;
- achtergebleven voorraad verwijderen;
- de WorldEdit schematic terugplaatsen.
WAARSCHUWING: een reset kan bouwwerken en items definitief verwijderen.
Gebruik dit daarom alleen wanneer je zeker weet dat de rental hiervoor klaar is.
12. Reset status controleren
/tc rental reset status <id>
Geeft bijvoorbeeld:
Rental #12 Status: RESETTING Schematic: shop_012.schem ChestShops verwijderd: 10 WorldGuard access verwijderd: OK Schematic restore: BEZIG
Bij een fout:
Rental #12 Status: RESETTING Restore: FAILED De rental is niet beschikbaar voor verhuur. Staff intervention required.
13. Huurder opzoeken
/tc rental player <speler>
Voorbeeld:
/tc rental player Lijpie
Geeft:
Lijpie Woningen: 1 / 2 Winkels: 2 / 2 Hotelkamers: 0 Actieve rentals: #12 Shop #21 Huis #22 Shop
Dit is vooral handig voor staffcontrole.
14. Rental geschiedenis
/tc rental history <id>
Geeft de auditlog van een rental.
Voorbeeld:
09-09-2026 18:42 Lijpie RENTED 09-09-2026 18:43 Lijpie EMPLOYEE_ADDED Niensje 10-09-2026 12:31 Lijpie CHESTSHOP_CREATED 09-10-2026 18:42 SYSTEM EXPIRED 12-10-2026 18:42 SYSTEM RESET_COMPLETED
15. ChestShops bekijken
Voor een shop:
/tc shop info <id>
Voorbeeld:
Shop #12 ChestShops: 7 / 10 #1 -120 72 450 #2 -116 72 450 #3 -112 72 450 #4 -108 72 450 #5 -104 72 450 #6 -100 72 450 #7 -096 72 450
Hiermee kan staff controleren hoeveel ChestShops een winkel gebruikt.
16. Alle belangrijke staff commands
| Command | Functie |
|---|---|
/tc rental list | Rentals bekijken |
/tc rental info <id> | Rental details |
/tc rental create <region> <type> | Rental aanmaken |
/tc rental name <id> <naam> | Naam wijzigen |
/tc rental price <id> <bedrag> | Prijs instellen |
/tc rental duration <id> <dagen> | Huurduur instellen |
/tc rental permission <id> <permission> | Rank-eis instellen |
/tc rental chestshops <id> <aantal> | ChestShop-limiet instellen |
/tc rental members <id> <aantal> | Bewoners/medewerkers-limiet |
/tc rental enable <id> | Rental beschikbaar maken |
/tc rental disable <id> | Rental uitschakelen |
/tc rental expire <id> | Huur handmatig beëindigen |
/tc rental release <id> | Rental vrijgeven |
/tc rental reset <id> | Rental resetten |
/tc rental reset status <id> | Resetstatus bekijken |
/tc rental player <speler> | Rentals van speler bekijken |
/tc rental history <id> | Auditlog bekijken |
/tc rental member add <id> <speler> | Bewoner toevoegen |
/tc rental member remove <id> <speler> | Bewoner verwijderen |
/tc shop employee add <id> <speler> | Medewerker toevoegen |
/tc shop employee remove <id> <speler> | Medewerker verwijderen |
/tc shop info <id> | ChestShops van shop bekijken |
17. Voorbeeld: nieuwe winkel opzetten
Een stafflid wil een nieuwe winkel toevoegen.
Stap 1 — WorldGuard
/rg define tc_shop_025
Stap 2 — Rental maken
/tc rental create tc_shop_025 shop
Stap 3 — Instellingen
/tc rental name 25 Bloemenmarkt /tc rental price 25 750 /tc rental duration 25 30 /tc rental permission 25 tulpencraft.rent.vip /tc rental chestshops 25 10 /tc rental members 25 3
Stap 4 — Controleren
/tc rental info 25
Stap 5 — Beschikbaar maken
/tc rental enable 25
De winkel is nu beschikbaar voor spelers die aan de voorwaarden voldoen.
18. Belangrijk voor staff
Gebruik reset, expire en release zorgvuldig.
Deze commands kunnen directe gevolgen hebben voor spelers en hun bezittingen.
Bij twijfel:
- Controleer de rental.
- Controleer de huurder.
- Controleer de einddatum.
- Controleer de ChestShops.
- Controleer de WorldGuard-region.
- Controleer de auditlog.
- Voer pas daarna een handmatige actie uit.
Alle belangrijke staffacties worden door TulpenCraft Rentals geregistreerd.
Status
Dit document beschrijft de huidige functionele afspraken voor TulpenCraft Rentals.
Technische implementatiedetails, databaseontwerp, API's, configuratie en ontwikkelaarsinformatie worden afzonderlijk gedocumenteerd.