plugins:tulpencraftrentalstaff

Dit is een oude revisie van het document!


TulpenCraft Rentals

Status: Concept / ontwikkeling Doelgroep: TulpenCraft Staff Plugin: 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

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

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

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

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

Dit zijn bijvoorbeeld:

  • huisgenoten
  • familie
  • vrienden

Deze spelers krijgen toegang tot de WorldGuard-region en mogen daar bouwen.

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.

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.

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 rental
 
Shop #12
Huurder: Speler
Prijs: €750
Duur: 30 dagen
Einddatum: 09-10-2026
🔴 Rental verlopen
 
Shop #12
Huurder: Speler
Ontruimingstermijn: 3 dagen
🚨 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

Huren → wonen → huisgenoten → ontruimen → reset

Huren → verkopen → medewerkers → ChestShops → ontruimen → reset

Huren → tijdelijk verblijf → bewoners → ontruimen → reset


20. Belangrijkste uitgangspunten

  1. WorldGuard beschermt de locatie.
  2. TulpenCraft Rentals beheert het huurcontract.
  3. LuckPerms bepaalt rank-/permission-toegang.
  4. ChestShop wordt voor winkels geïntegreerd.
  5. Iedere shop heeft een eigen ChestShop-limiet.
  6. Medewerkers kunnen winkelbeheer uitvoeren.
  7. Een verlopen huur krijgt maximaal 3 dagen ontruimingstijd.
  8. Achtergebleven spullen worden daarna vernietigd.
  9. Voortijdig beëindigen mag, maar zonder restitutie.
  10. Een mislukte reset maakt een rental nooit automatisch beschikbaar.
  11. Belangrijke acties worden gelogd.
  12. 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.

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

/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
/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

/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

/tc rental name <id> <naam>

Voorbeeld:

/tc rental name 12 Dorpswinkel

/tc rental price <id> <bedrag>

Voorbeeld:

/tc rental price 12 750

Betekent:

€750 per huurperiode.


/tc rental duration <id> <dagen>

Voorbeeld:

/tc rental duration 12 30

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

/tc rental chestshops <id> <aantal>

Voorbeeld:

/tc rental chestshops 12 10

Betekent:

Shop #12 mag maximaal 10 ChestShops bevatten.

/tc rental members <id> <aantal>

Voorbeeld:

/tc rental members 12 3

6. Bewoners en medewerkers

Voor woningen/hotelkamers:

/tc rental member add <id> <speler>
/tc rental member remove <id> <speler>

Bij een woning of hotelkamer krijgt de speler hierdoor toegang tot de betreffende WorldGuard-region.


Voor shops kan dezelfde functionaliteit worden gebruikt:

/tc shop employee add <id> <speler>
/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

/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

CommandFunctie
/tc rental listRentals 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.

/rg define tc_shop_025
/tc rental create tc_shop_025 shop
/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
/tc rental info 25
/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:

  1. Controleer de rental.
  2. Controleer de huurder.
  3. Controleer de einddatum.
  4. Controleer de ChestShops.
  5. Controleer de WorldGuard-region.
  6. Controleer de auditlog.
  7. Voer pas daarna een handmatige actie uit.

Alle belangrijke staffacties worden door TulpenCraft Rentals geregistreerd.

Dit document beschrijft de huidige functionele afspraken voor TulpenCraft Rentals.

Technische implementatiedetails, databaseontwerp, API's, configuratie en ontwikkelaarsinformatie worden afzonderlijk gedocumenteerd.

  • plugins/tulpencraftrentalstaff.1788971079.txt.gz
  • Laatst gewijzigd: 2026/09/09 18:24
  • door rroethof