Residence

From BadWolfMC Wiki
Revision as of 07:36, 23 February 2024 by Merc (talk | contribs) (→‎Modify Your Flags)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Residence is a protection system that players can use to protect their areas. The plugin is complex but has allows incredible flexibility and fine-tuning depending on your needs. This tutorial will guide you on how to use it.

Residence Info

You can access the plugin's help menu at any time by using "/res ?". To know the cost and limits of your residence, use "/res limits". The price is set at $0.02 per block, and refunds are set at $0.01 per block. This brings the minimum residence creation of a 5x5x1 (x z y) area to a total of 50 cents.

Protections only persist as long as players are active on the server. If you are inactive more than 60 days the plugin will automatically reclaim the area for the server. Your builds will not be deleted, but protections will. You can bypass this auto-cleanup by supporting the server.

For the purposes of this tutorial, "<" and ">" denote variables contained within and <a|b> indicates that you must use either a or b. With the exception of the slash "/" do not include any special characters in the commands unless explicitly indicated.

Residence Creation

To create a residence, you need to first select the area you want to protect. You can do this using two methods, using a stick or using coordinate radii. Once you have your selection, you can adjust it using the expand or contract commands until the area matches what you want to protect. To confirm the creation of your residence, type "/res create <resname>", where <resname> is a unique name of your choice.

Method One: Use a Stick

Visual representation of a cuboid selection, with the red wool as "position one" and the blue wool as "position two".

To select a cuboid area in Minecraft, imagine a cube around the desired area with 8 corners. Identify two corners: "position one" on the bottom left of the front side, and "position two" on the top right of the back side. Using a stick. left-click the block at position one and right-click the block at position two. Since you cannot select air or liquid, place blocks in these corners if needed. Adjust your selection as necessary by left-clicking a new position one or right-clicking a new position two. Together these two points can determine the outline of the entire area. See the image to the right for an illustration.

Method Two: Use Coordinate Radii

  1. Stand where the exact center of the residence will be.
  2. /res select X Y Z

Your feet are the center block, so X, Y or Z = the radius of blocks along the X, Y or Z axis from your feet. e.g: /res select 10 5 10 = a selection size of 21 11 21. 10 blocks east, 10 west, 1 block in the center, 5 blocks above your feet, 5 blocks below your feet and 1 block where your feet are.

Adjust the Selection (for either method)

  • To select from sky to bedrock, type /res select vert.
  • To expand the selection, look in the desired direction and type /res select expand # (replace # with the number of blocks).
  • To contract the selection in the direction you're looking, use /res select contract #.

A helpful tip is to select a 3x3 area at your feet with the stick, then use expand commands until you have the desired area.

Once you have the desired area selected you can type /res select cost to see the size and price or type /res create <resname> to confirm your selection with a unique name like /res create mercsawesomebuild (no spaces or special characters).

Create Subzones

What a subzone might look like within your residence.

Create subzones within your residence to have areas with their own flags and teleport location. These can be used for different purposes such as renting out apartments, restricting or allowing mob spawning in specific parts of your residence, or having multiple teleport locations within your build. To set up a subzone, use the selection methods described above and type /res subzone <subzonename> to create. This is a free feature!

Set Your Teleport

Every residence has a teleport point, by default usually the center block but can be anywhere the plugin feels like at the time. You can customize your teleport location by standing at the desired location within the residence and typing "/res tpset". Note that half-slabs can make this a little buggy, so try to keep these to full block levels. To use this teleport you can then type "/res tp <resname>". Anyone that you add to your residence will also be able to use this teleport, or you can make it public by typing "/res set tp true". Anyone can then teleport to that location by using the same "/res tp <resname>" command. Subzones can be accessed with "/res tp <resname.subzonename>".

Stuck?!

Sometimes after teleporting to a residence, you may find yourself stuck in an awkward location like someone's secret diamond vault or dungeon sling. Just use /res unstuck and don't speak of it. Ever.

Get Residence Info

/res info - check permissions/details of the residence you are currently in /res info <resname> - check permissions/details of the specified residence /res list - list the residences you own. /res list # - list residences by page number (if you have more than one page of listings) /res sublist - list all subzones in current residence

Residence Modification

Modify the Area

To change the size of your entire residence after it has been created, use the following commands while standing in the residence. /res expand <#> - expands the residence in the direction you are facing by the specified amount. Note that this will immediately commit the expansion and charge your account for the associated cost. /res contract <#> - contracts the residence from the direction you are facing by the specified amount. Again, this is a one-step modification and the changes will be immediate.

If you would like to see how much it would cost to expand your residence before you commit to the expansions, we'll need to use a different method:

  1. First select the physical area of the residence by using /res select residence <resname> <areaname>. The area here is usually just "main".
  2. Next use the expansion command /res select expand <#> until you've selected the desired area (here you can also use /res select vert to select everything from bedrock to sky -- but this gets expensive fast).
  3. Now you can use /res select cost to see what the cost of the entire selection would be. Note that this is the cost of the entire selection -- not the cost of the expansion. If you remember the original cost of your residence you can subtract that from this new amount to get the cost of the expansion. The plugin will not otherwise charge you twice for the area you've already purchased.
  4. To commit your changes and purchase the additional blocks use /res area replace <resname> <areaname> (again, where <areaname> is typically "main").

Modify Your Flags

Residences have customizable flags that allow players to control activities within the residence, including subzones. These flags can be modified using the GUI or commands. Some flags, such as animalkilling, build, container, firespread, and creeper, usually default to "false". To revert all flags to their defaults, use "/res reset <resname>".

Note that some flags are nested within others to allow for fine-tuning of permissions. For example, the "button" flag is nested under "redstone" which is itself nested under "use". The parent flag usually overrides the child if the child flag is set to "removed" (with some exceptions noted in the flags). To allow visitors to push a button but not flip levers, set "use" to true, "button" to true, and "lever" to false.

The commands are divided into two sets:

  • To set flags for the entire residence and everyone inside it:
    • Type /res set <resname> to access the GUI
    • Or use /res set <resname> <flagname> <true|false|removed> to use the commands.
    • You are able to do both of these commands without including <resname> if you are inside the residence.
  • To set flags for specific subzones (if not standing inside them) you'll want to use /res subzone <resname.subzonename> <flagname> <true|false|removed>.

Add Your Friends

You can also set specific flags for individual players, also with the GUI or with commands.

  • To set flags for specific players:
    • Type /res pset <resname> <username> to access the GUI.
    • Or use /res pset <resname> <username> <flagname> <true|false> to use the commands.
    • Again, you are able to do these commands without including <resname> if you are inside the residence, but you'll still need to include the <username>.
    • This is where you can set the "trusted" flags for your friends by using "/res pset CesarMC13 trusted true".
      • A similar, older command exists to add trusted players through /res padd <resname> <username>, but this grants an unusually high level of access that can be tricky to remove. Rather, we recommend using the trusted flag described above in conjunction with additional fine-tuning through the pset command whenever necessary.

To quickly edit existing flags for a player in your residence, use the /res info command and click on their username to bring up the pset GUI for that player. If there are more than 5 players added to a residence and the names are not included in the info list, you can use the -players flag on the command, i.e. /res info <resname> -players to bring up the full list, then click the desired username from there.

Remove Your Friends

To quickly remove players from your residence use /res pdel <resname> <username>. This command will only remove any explicitly set permissions for the user, and their permissions will otherwise revert to your current global residence settings applied to all users (set with /res set). To instead deny a specific user access to certain flags beyond your normal residence settings you would need to use the pset command described above.

List of Flags

List of flags:

  • animals - Controls animals spawning. True = allows spawning, false = prevents spawning. Includes external commands such as /spawnmob. Animals include: Chicken, Cow, Pig, Sheep, Wolf, rabbit, horse.
  • animalkilling - Allows or denys animal killing.
  • brew - Allows or denys players to use brewing stands.
  • bed - Allows or denys players to use beds.
  • button - Allows or denys players to use buttons.
  • burn - Allows or denys Mob combustion in residences.
  • build - Controls building permission (placing and breaking) also prevents crop trampling. True = allows building, false = prevents building. Parent of several related flags.
  • cake - Allows or denys players to eat cake.
  • craft - Gives table, enchant, brew flags.
  • container - Controls ability to access anything with an inventory: chests, dispensers, furnaces, also jukeboxes. True = allows access, false = prevents access.
  • copper - Controls the ability to wax or scrape copper blocks. Because of the way this mechanic works in vanilla Minecraft, players must also have build access to the res, specifically the place flag.
  • creeper - Controls creeper explosions. True = creepers explode and damage as normal, false = creepers do no damage to players or blocks. Does not prevent creepers spawning.
  • destroy - Allows or denys only destruction of blocks, child of the build flag.
  • diode - Allows or denys players to use redstone repeaters.
  • door - Allows or denys players to use doors and trapdoors.
  • enchant - Allows or denys players to use enchanting tables.
  • firespread - Controls fire spread. True = allows firespread, false = prevents firespread.
  • flow - Controls whether or not liquid flows are allowed. True = allows, false = disallows. Parent flag of lavaflow and waterflow.
  • healing - Controls if the zone heals people. True = heals at half a heart per second, false = normal server rules.
  • ignite - Controls fire ignition. True = allows ignition, false = prevents ignition. Note that this flag does affect Nether Portal creation.
  • itemdrop - allows guests to drop items out of their inventory within your residence.
  • itempickup - allows guests to pickup items from the ground within your residence.
  • lavaflow - Allows or denys lava flow, child flag of flow.
  • leash - Allows or denys aninal leash.
  • lever - Allows or denys players to use levers.
  • monsters - Controls monsters spawning. True = allows spawning, false = prevents spawning. Includes external commands such as /spawnmob. Monsters include: Creeper, Giant, Monster (Human mob/Steve), Skeleton, Spider, (Pig)Zombie.
  • mobkilling - Allows or denys mob killing.
  • move - Controls whether player/group can move inside the residence. True = normal movement, false = denies entry.
  • nmonsters - controls natural monster spawns
  • note - Allows or denys players to use note blocks.
  • place - Allows or denys only placement of blocks, child of the build flag.
  • piston - Controls the function of pistons. True = pistons operate normally, false = pistons do not change state. Does not control placing or breaking pistons. Defaults to false in a new residence.
  • pvp - Controls PVP. True = designates PVP arena, false = players cannot attack other players or tamed wolves in the residence.
  • pressure - Allows or denys players to use pressure plates.
  • redstone - Gives lever, diode, button, pressure, note flags.
  • shear - Allows or denys sheep shear.
  • smonsters - controls monsters spawned from a spawner or eggs
  • table - Allows or denys players to use workbenches.
  • tnt - Controls TNT explosions. True = TNT explodes and damages as normal, false = TNT does no damage to players or blocks. Does not prevent TNT placing or breaking.
  • trusted - Adds player as friend to residence and adds flags: use, tp, build, container, bucket, move, leash, animalkilling, mobkilling, shear.
  • tp - Controls teleportation in the residence. True = allows teleports, false = prevents teleports.
  • use - Controls ability to use/access objects in the residence. True = normal server rules, false = denies usage. This includes doors, chests, furnaces, dispensers, levers etc.
  • vehicledestroy - Allows or denys vehicle destroy.
  • waterflow - allows or denys water flow, child flag of flow.

Copying Flags

A very easy way to set the same flags across your residences is to just use /res mirror <sourceresname> <targetresname>. You must be owner of both residences to do this.

Additional Modification Commands

  • /res message <resname> <enter|leave> <message> - sets a greeting or farewell message for the area. Per usual, no need to include <resname> if you're targeting the one you're currently in. Use <resname.subzonename> to target subzones.
  • /res message <resname> remove <enter|leave> - removes your greeting or farewell message.
  • /res rename <OldName> <NewName> - renames a residence. For subzones, OldName must be the full name <resname.subzonename>, while NewName is only the new subzone name.
  • /res remove <resname> - deletes a residence -- you do receive a 50% refund when you delete your residences.
  • /res removeall - deletes all of your residences T_T
  • /res give <resname> <playername> - Gives your residence to another player. Player must be online and you must own the residence.

Marketplace Commands

  • /res market - displays the plugin help info for this command
  • /res market list - view the list of residences for sale.
  • /res market info <resname> - view info on a residence for sale.
  • /res lease <renew|cost> <resname> - renew / show the cost of renewing a residence.
  • /res market sell <resname> <price> - put a residence up for sale.
  • /res market unsell <resname> - stop selling a residence (only if unsold).
  • /res market buy <resname> - buy a residence.
  • /res market rentable <resname> <price> <days> <true|false> - make a residence rentable for <days> number of days at a time, at <price> for that time period. If true is used, the residence will be rentable again automatically at the expiration of the current rental period; with false the rental time will expire each period unless manually renewed.
  • /res market sign <resname> - use this while targeting a blank sign to automatically create the market sign!
  • /res market rent <resname> <true|false> - rent a residence, if repeat is true the residence will be re-rented upon expire automatically as long as the owner has repeat:t for the rentable.
  • /res market release <resname> - remove a residence from rent or rentable status.

Once your res is on the market you can create a sign by simply typing "[market]" (with the brackets but not the quotes) on the first line of the sign and click "done". The sign should auto-populate with all the necessary information!

To use one of these marketplace signs just right-click to purchase or rent, and if already renting you can shift-click to unrent.

NOTE: If you are renting a shop from the mall or from someone else, sometimes the proper perms do not immediately attach and you might not be able to place or break items. If this happens do /res pset <your-username> while standing in the shop to access the flags for yourself. Here you can change place or break to true as needed.

Residence FAQ

Why do I keep getting "invalid residence" errors?

This could be a couple things. First, be sure you're executing the commands correctly and fully. If /res set when used by itself is still giving the error then we recommend checking the boundaries of your residence with /svis res while standing inside the residence or /res show [res name]. The vertical axis is not automatically included in residence creation and forgetting it is a common error, frequently resulting in the residence being created only in the floor, for example. The selection must include height. To correct this, be sure that at least your feet are inside the residence, look up, and use the /res expand [#] commands.

What flags do I need for villager zombification and healing?

The zombification process requires animalkilling, monsters, and nmonsters to all be true. The healing process requires animals and nanimals to be true. We recommend creating a subzone in the area you're working in to prevent monsters from spawning in the rest of your residence, then don't forget to turn monsters and nmonsters off once you've finished to prevent further monster spawns.