Forward-EpicHuizen turns WorldGuard regions into panden (buildings) that players rent or buy from a makelaar (estate agent) with in-game money or coins. Renters pay per week, can pay weeks ahead, add friends as residents and cancel whenever they want; buyers pay once. When a pand becomes free, it is put back exactly the way it was, ready for the next one.
Made by Forward Development for Paper 26.2 and newer. It ships in Dutch; switch to English or German with one line in the config.
For players
Renting at the makelaar
Right-click a makelaar to see every pand on the server: which ones are for rent, what they cost per week and who rents the others. Click a pand, confirm, and the first week is paid with your money. You now have access to all of its regions, including cellars and extra floors.
Each player can rent or own one pand at a time. When you already have one, the makelaar opens your pandbeheer (pand management) instead.
Buying instead of renting
A pand that is for sale is paid once. After that it is yours, with no end date and no warnings, until you give it up in the pandbeheer. Adding residents works the same. When you give it up, it is put back the way it was when you bought it; how much you get back is up to the server (nothing by default).
Pandbeheer
- Pay ahead: pay one more week at a time, whenever less than 12 weeks are left (configurable).
- Residents: add up to 3 friends (configurable). They get the same access to the pand as you. Pick them from the players who are online; click a resident to remove them.
- Cancel: stop renting whenever you want. Everyone loses access right away and the pand is put back the way it was. Renting again is possible after a minute (configurable).
Always know where you stand
/pandshows your pand, the time left (for example "2 weeks, 3 days"), the end date and your residents.- In the last 24 hours before a rent ends, the renter gets a red warning with the time left every time they join, and once when that time starts while they are online. It also reminds them that chests are emptied when the rent ends.
- A renter who was offline when their rent ended is told when they come back.
/huurinfoopens the details of the pand you are standing in.- Walking into a pand that is for rent shows its name and price in chat.
For staff
In-game guide
/epichuizen help opens a menu that explains step by step how to set up and use the plugin, in four chapters: setup, managing, what players can do and the reset. The setup chapter shows what is already done: the economy, your panden and your makelaars. From the guide you create a pand in one click, or open the admin menu, the blacklist or the makelaar menu. The explanations use your own server's settings, like the weeks ahead and the number of residents.
Creating a pand takes seconds
Stand in the region of the building and run /adminhuur. Click New pand: a form opens with the region you stand in already filled in. Type a name (with & color codes, &#rrggbb hex colors or MiniMessage), check the price and save. That's it.
- A pand can have several regions, for example the house, its cellar and its garden. Cuboid and polygon regions both work.
- Every pand has its own price: money, coins or both.
- Every pand is for rent or for sale. Tick it in the form or use
/adminhuur settype <pand> rent|buy. This can change at any time; whoever has the pand now keeps it. - Every pand gets a short id for commands, like
kerkstraat-12.
Managing panden
The /adminhuur menu lists every pand with its status, renter, end date, residents and regions. Click one to:
- edit its name, regions and price;
- teleport to it;
- give the renter extra time for free;
- end the rent;
- delete the pand.
Almost everything is also a command, which works from the console too: create, rename, setprice, setcoins, settype, regions, extend, settime, end, info, list, delete, blacklist, unblacklist and munten. edit (the form) and tp need a player. Tab completion suggests pand ids and free region names.
The regions of a pand can't change while it is rented or being reset, so a reset always puts back the right place.
Blacklist
Blacklist players who may not rent: they can't rent a pand or be added as a resident. Add and remove them in the menu or with /adminhuur blacklist <player> [reason] and /adminhuur unblacklist <player>.
Makelaars
/adminhuur makelaar places a makelaar where you stand: a villager that doesn't move, can't be hurt, traded with, pushed or changed. Using an NPC plugin such as Citizens? Look at your NPC and run /adminhuur makelaar link, and it works as a makelaar too. NPC plugins that don't use real entities (such as FancyNpcs or ZNPCs) can run /adminhuur makelaar open {player} from the console as their click action.
The reset
When a rent ends, by cancelling, running out or staff, every region of the pand is put back to how it was when that rent started: placed blocks disappear, broken blocks come back, also in cellars and extra regions. Only the regions themselves are touched, also with polygon regions, so neighbours are never affected. Loose items, minecarts, boats and leads left behind are removed, and the paintings, item frames and armor stands that were there come back.
Nothing can be duplicated with a reset. Items in chests, barrels, furnaces and other containers, in item frames and on armor stands are never put back, and loot tables are removed, so taking items out and resetting doesn't give them back. Renters are reminded to take their belongings with them before their rent ends.
Blocks are put back, so don't build valuable blocks (ores, beacons) into a pand: a renter could mine them once per rent.
The reset uses WorldEdit or FastAsyncWorldEdit, is saved to disk, and is finished after a restart, or when the world loads, if the server stopped in between. Resets run one after another, so many rents ending at once don't stall the server. Very large panden (more than 500,000 blocks, configurable) are rented as normal but not reset.
Money and coins
Every pand has its own price per week, in money, in coins or both: for example 25000, or 5 coins, or 25000 and 5 coins. Both at 0 makes a free pand.
- Money goes through any economy that works with Vault, such as EssentialsX.
- Coins are an item: a shiny gold nugget with its own name, stackable up to 64. Players pay them from their inventory at the makelaar. Staff make coins with
/adminhuur munten <player> <amount>, also from the console, so crates, quests or a shop can give them as a reward. The item, the shine and a custom model from a resource pack can be set. - Coins are protected against duping and loss: only coins with the right mark count (a gold nugget with the same name doesn't), and they can't go into crafting, an anvil, furnace or brewing stand, can't be placed or used, and can't be picked up by mobs.
The payment is taken before the pand is given, a payment that fails charges nothing, clicking twice can't pay twice, and a player always pays the price they saw on the confirmation screen. Paid weeks are not refunded when a rent is cancelled; the confirmation screen says so.
PlaceholderAPI
With PlaceholderAPI (optional) you show pand details on scoreboards, in the tab list or in chat. The values are updated every second:
%epichuizen_pand%,%epichuizen_pand_id%: the player's own pand (rented or bought) and its id.%epichuizen_has_pand%,%epichuizen_owned%: whether the player has a pand, and whether it was bought.%epichuizen_type%: rent or buy.%epichuizen_time_left%,%epichuizen_until%: the time left and the end date ("forever" for a bought pand).%epichuizen_price%: the price of the player's pand, with "per week" or "once".%epichuizen_residents%,%epichuizen_resident_count%: the residents and how many there are.%epichuizen_home%: the pand where the player lives, as renter, owner or resident.%epichuizen_coins%: how many coins the player carries.%epichuizen_here%,%epichuizen_here_status%,%epichuizen_here_price%: the pand the player stands in, its status and price.%epichuizen_available%,%epichuizen_for_sale%,%epichuizen_total%: how many panden are for rent and for sale, and how many there are in total.
Everything can be changed
- Pick the language with one line: set
languageinconfig.ymltonl,enordeand run/epichuizen reload. Make your own language by copying a language file and filling in its name. - Every text is in the language file (
languages/nl.yml,en.ymlorde.yml), each message on its own line with MiniMessage, so you can change every word and color. Menu titles, item names and lore, forms, the makelaar's name, time units, the date format and command descriptions are all there. config.ymlhas a comment above every option: weeks ahead, residents, the join warning, the walk-in notice, the reset, the makelaar's look, menu items and sounds.- Six color themes: forward (blue), crimson, emerald, amber, amethyst and mono, or make your own.
- The name in the chat prefix and menus is one line in
config.yml. /epichuizen reloadapplies your changes without a restart.- When you update, new options and messages are added to your files automatically. Your own settings are never overwritten.
- A mistake in a file is reported in the console with the value used instead. A broken file is never replaced or cleared.
Safe to run on a public server
- Menus are read-only. Nothing can be taken out of or put into any menu, with any click, key or drag.
- No double payments. Every payment is checked and taken in one step.
- Renting and residents follow WorldGuard. Renters and residents are members of the regions; nobody else gets access. When a rent ends, access is taken away again, also if the server crashed right after or the world was unloaded.
- Placed makelaars can't be killed, pushed, traded with or turned into a witch.
- Your data is safe. Panden are saved to
data.ymlwith a backup of the previous save. If the file ever gets damaged, the backup is loaded and the damaged file is kept for you to look at.
Commands and permissions
| Command | What it does | Permission | Default |
|---|---|---|---|
| Right-click a makelaar | Rent a pand, or manage your own | epichuizen.rent | everyone |
/pand | Your pand and the time left on it | epichuizen.pand | everyone |
/huurinfo | Details of the pand you stand in | epichuizen.huurinfo | everyone |
/epichuizen | Show the commands you can use | epichuizen.use | everyone |
/adminhuur | Staff menu and commands for panden, rents, the blacklist and makelaars | epichuizen.admin | op |
/epichuizen help | Guide: setup and use, step by step | epichuizen.admin | op |
/adminhuur munten | Make coins and give them to a player, also from the console | epichuizen.coins | op |
/epichuizen reload | Reload the config, messages and theme | epichuizen.reload | op |
/epichuizen info | Plugin, licence, update, pand and economy status, also from the console | epichuizen.info | op |
epichuizen.* gives every permission. Staff with epichuizen.admin also see the rent details of every pand in /huurinfo.
Requirements
- Paper 26.2 or newer, or a fork of Paper such as Purpur.
- Java 25.
- Vault with an economy plugin, such as EssentialsX.
- PlaceholderAPI (optional), for placeholders.
- WorldGuard 7.0.19 or newer and WorldEdit 7.4 or newer, or FastAsyncWorldEdit 2.15 or newer.
- A licence key from Forward Development. The server needs an internet connection to check it when it starts.
Spigot, CraftBukkit and Folia are not supported. The plugin uses features that only exist in Paper.
Staff forms open as dialogs, which Java Edition shows as a form. Staff on Bedrock can use the /adminhuur commands instead.
Good to know
- A pand is a set of WorldGuard regions. Make the regions first with WorldEdit and
/rg define, then turn them into a pand. - A region can belong to one pand only, and all regions of a pand are in the same world.
- The plugin stores, on your server in
plugins/Forward-EpicHuizen/data.yml: the ids and names of renters, residents and blacklisted players, blacklist reasons with who added them and when, and a short notice for renters whose rent ended while they were offline. Saved regions are kept insnapshots/until the rent ends. Nothing about players is sent anywhere. - To update, replace the jar and restart the server. Reloading plugins while the server runs is not supported.
Support
Questions or problems: support@fwdscripts.com. Please include the output of /epichuizen info, your Paper version and the part of the console log with the error.
Licence terms
Paid or free, your licence lets you use the plugin on one server at a time with your own licence key. You may not share the key or the plugin, resell it, or remove or bypass the licence check. The licence check sends the key, a server id, the plugin version and the server's IP address to Forward Development, only to check the licence and detect misuse. The full terms are in EULA.txt, which comes with the plugin. Questions: legal@fwdscripts.com
Forward-EpicHuizen is not an official Minecraft product and is not approved by or associated with Mojang or Microsoft.
Installation
- Install Vault, an economy plugin such as EssentialsX, WorldEdit and WorldGuard.
- Put the Forward-EpicHuizen jar in your
pluginsfolder. - Start the server once, so the config is created.
- Put your licence key after
private-keyat the top ofplugins/Forward-EpicHuizen/config.yml. - Pick your language with the
languageoption, and change the rest ofconfig.yml, your language file inlanguagesand the theme to your liking. - Restart the server.
- Open
/epichuizen helpand follow the steps under Setup: regions, your first pand and a makelaar.
A licence key works on one server at a time. To move it to another server, stop the old one first. If the old server crashed, the key is free again after a few minutes.
