Dion is lekker geil

Minecraft plugin

EpicHuizen

Rent out or sell houses, shops and apartments on your server.

Coming soon
Follow releases on Discord(opens in a new tab)

Not released yet, and there is no release date. The release is posted in the Discord first, with how to get it.

  • Weekly rent, paying ahead and up to three residents
  • Buildings for sale, with no end date
  • Every building is reset when it becomes free
  • Vault money, coins or both
Server
Paper 26.2 or newer, or a fork such as Purpur
Java
25
Needs
Vault, WorldGuard 7.0.19+, WorldEdit 7.4+ / FastAsyncWorldEdit 2.15+
Optional
PlaceholderAPI
Languages
Dutch, English, German
Delivery
A jar for your plugins folder. Free plugins run as they are; Pro and paid plugins run with your Forward licence key, on one server at a time.

Commands

/pand
/huurinfo
/adminhuur
/epichuizen help
Players use /pand and /huurinfo. Staff set everything up with /adminhuur and the guide in /epichuizen help.

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

  • /pand shows 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.
  • /huurinfo opens 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 language in config.yml to nl, en or de and 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.yml or de.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.yml has 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 reload applies 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.yml with 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

CommandWhat it doesPermissionDefault
Right-click a makelaarRent a pand, or manage your ownepichuizen.renteveryone
/pandYour pand and the time left on itepichuizen.pandeveryone
/huurinfoDetails of the pand you stand inepichuizen.huurinfoeveryone
/epichuizenShow the commands you can useepichuizen.useeveryone
/adminhuurStaff menu and commands for panden, rents, the blacklist and makelaarsepichuizen.adminop
/epichuizen helpGuide: setup and use, step by stepepichuizen.adminop
/adminhuur muntenMake coins and give them to a player, also from the consoleepichuizen.coinsop
/epichuizen reloadReload the config, messages and themeepichuizen.reloadop
/epichuizen infoPlugin, licence, update, pand and economy status, also from the consoleepichuizen.infoop

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

  1. Install Vault, an economy plugin such as EssentialsX, WorldEdit and WorldGuard.
  2. Put the Forward-EpicHuizen jar in your plugins folder.
  3. Start the server once, so the config is created.
  4. Put your licence key after private-key at the top of plugins/Forward-EpicHuizen/config.yml.
  5. Pick your language with the language option, and change the rest of config.yml, your language file in languages and the theme to your liking.
  6. Restart the server.
  7. Open /epichuizen help and 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.

Changelog

v1.0.0

First version.

  • Rent out panden (WorldGuard regions) per week at a makelaar NPC, for Vault money, coins or both.
  • Coins as an item (stackable, protected against duplication), made with /adminhuur munten, also from the console.
  • Panden for rent or for sale, set per pand and changeable at any time; a bought pand has no end date.
  • PlaceholderAPI (optional): own pand, time left, price, coins, the pand you're standing in and counts.
  • Pay weeks ahead, up to three residents, cancel whenever you want, /pand and /huurinfo.
  • Red warning in the last 24 hours, a notice when a rent ended while you were offline, and a notice when you walk into a pand that is for rent.
  • The pand is put back the way it was when a rent ends, with WorldEdit or FastAsyncWorldEdit; only changed blocks are written.
  • Menu, forms and commands in /adminhuur for panden, rent time, the blacklist and makelaars.
  • /epichuizen help: a step-by-step guide in a menu that shows what is already set up.
  • /epichuizen reload also checks the licence key in config.yml again; with a wrong key the plugin turns off.
  • Dutch by default; English or German with language in config.yml. Every text is in the language file in languages.