
hotel
i want to create a hotel plugin, it needs to be sync with vault, configurable rent hour, and claim the rooms with a sign, or with a npc. I like to create...
00—paperServer1.21.10mod
hotel plugin overview:
- Adds rentable rooms tied to Vault. Players claim or extend via
/hotel claim <room>, right-clicking[Hotel]signs, or clicking hotel NPCs. - Rooms are defined from WorldEdit selections (//pos1 and //pos2) and saved to
rooms.ymlwith price, rent hours, tenant, and expiry. - Automatic eviction checks run on a configurable interval; expired tenants are cleared and, if inside their room, teleported to the world spawn with a notice.
- Configurable options in
config.yml: default rent price/hours, eviction check seconds, sign header text, whether sign/NPC claims are allowed, NPC display name, currency symbol, and eviction message/time format. - Admin commands:
/hotel create <id> [price] [hours],/hotel setprice <id> <price>,/hotel sethours <id> <hours>,/hotel npc <id>,/hotel unclaim <id>,/hotel delete <id>,/hotel reload,/hotel info <id>,/hotel list. Player command:/hotel claim <id>. - Hotel signs: place a sign with the header matching
rent.sign-header(default[Hotel]) on line 1 and the room id on line 2; the plugin formats the sign when you havehotel.admin. - NPCs:
/hotel npc <room>spawns an invulnerable villager at your location tagged to that room; right-click to rent/extend.
Important notes and limitations:
- Vault with an active economy provider is required; the plugin disables itself if none is found.
- WorldEdit must be installed to create rooms; claims can still work via commands/signs/NPCs without it.
- Eviction moves tenants to the world spawn only if they are online and still inside the room when the rent expires; the region is not actively protected against re-entry after eviction.
- NPCs are simple villagers using persistent data, not Citizens NPCs; remove them manually if no longer needed.
Server Validation
✅ Server validation passed - The mod was tested on a real Minecraft server and loaded successfully.