Residence: Difference between revisions

From BadWolfMC Wiki
(→‎Residence Modification: Separated pset instructions to be more visible.)
(Clarified sections concerning pset use, added "Remove Your Friends" section, and added "/res info -players" description.)
Line 66: Line 66:
=== Modify Your Flags ===
=== Modify Your Flags ===
Every residence has a set of flags that you can customize (and some you can't). Flags allow a player to control what happens within the residence. You can also customize flags in subzones. These can be modified using the GUI or with commands.  
Every residence has a set of flags that you can customize (and some you can't). Flags allow a player to control what happens within the residence. You can also customize flags in subzones. These can be modified using the GUI or with commands.  
A list of many of the available flags and explanations is below. Some of these, like animalkilling, build, container, and creeper (should) automatically default to "false". At any time you can revert all of your flags to their defaults by using "'''/res reset <resname>'''".


It is important to note that some of these flags are nested within others (listed in each flag below, but these are usually self-explanatory) to allow fine-tuning of permissions. For example, the "button" flag is nested under "redstone" which is itself nested under "use". The parent flag will usually override the child if the child flag is set to "removed" (some exceptions, noted in the flags), so if you have "use" set to false it will override any of the flags nested within it. So, for example, if you want visitors to be able to push a button but not flip levers you'll need to set "use" to true, "button" to true, and "lever" to false.
It is important to note that some of these flags are nested within others (listed in each flag below, but these are usually self-explanatory) to allow fine-tuning of permissions. For example, the "button" flag is nested under "redstone" which is itself nested under "use". The parent flag will usually override the child if the child flag is set to "removed" (some exceptions, noted in the flags), so if you have "use" set to false it will override any of the flags nested within it. So, for example, if you want visitors to be able to push a button but not flip levers you'll need to set "use" to true, "button" to true, and "lever" to false.
Line 75: Line 77:
** Or use '''/res set <resname> <flagname> <true|false>''' to use the commands.
** Or use '''/res set <resname> <flagname> <true|false>''' to use the commands.
** You are able to do both of these commands without including <resname> if you are inside the residence.
** You are able to do both of these commands without including <resname> if you are inside the residence.
* To set flags for specific subzones you'll want to use '''/res subzone <resname.subzonename> <flagname> <true|false>'''.


=== Add Your Friends ===
=== Add Your Friends ===
You can also set specific flags for individual players, also with the GUI or with commands.
You can also set specific flags for individual players, also with the GUI or with commands.
*'''To set flags for specific players:'''
*'''To set flags for specific players:'''
** Type '''/res pset <resname> <playername>''' to access the GUI
** Type '''/res pset <resname> <username>''' to access the GUI.
** Or use '''/res pset <resname> <playername> <flagname> <true|false>''' to use the commands.
** 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 <playername>.
** 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'''".
** This is where you can set the "trusted" flags for your friends  by using "'''/res pset CesarMC13 trusted true'''".
* If you are setting these flags for specific subzones you'll want to use '''/res subzone <resname.subzonename> <flagname> <true|false>'''.
*** 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.


A list of many of the available flags and explanations is below. Some of these, like animalkilling, build, container, and creeper (should) automatically default to "false". At any time you can revert all of your flags to their defaults by using "'''/res reset <resname>'''".
=== 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 ===
Line 122: Line 128:
* '''note''' - Allows or denys players to use note blocks.
* '''note''' - Allows or denys players to use note blocks.
* '''place''' - Allows or denys only placement of blocks, child of the build flag.
* '''place''' - Allows or denys only placement of blocks, child of the build flag.
* '''piston''' - Controls use of pistons. True = pistons operate normally, false = pistons do not change state. Does not control placing or breaking pistons.
* '''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.
* '''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.
* '''pressure''' - Allows or denys players to use pressure plates.

Revision as of 18:03, 13 August 2022

Residence is the self-serve area protection system. If you're used to older versions, ours has simplified things somewhat, especially with commands and the flag GUI, but it is still a massive and somewhat complicated plugin so we'll do our best to walk you through it.

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

First of all, to access the plugin help menu at any time you can use "/res ?".

Now before we get into how to create a residence, you might also want to know the cost and what your limits are. To view this type "/res limits". Due to the easy availability of our in-game currency the price is currently set at $0.02 per block, with refunds set at $0.01 per block. This sets the minimum residence creation of a 5x5x1 (x z y) area at a total of 50 cents. For a member to purchase a 50x50x20 plot it would cost $1,000. To go bedrock to sky on a 50x50 residence it will cost about $12,750.

Players must be active on the server for Residence protections to persist. 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.

To create a residence, you'll first need to select the area you want to protect. There are two methods for residence selection:

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

If you're not familiar with selecting a cuboid area in Minecraft, try this: imagine that in front of you there is a big cube around the area you want to protect. This cube has 8 corners where the imaginary faces meet -- we're going to pay attention to two of these corners, the one on the bottom left on the front side of the cube, which is what we'll call "position one" and the one on the top right on the back side of the cube, which we'll call "position two". Together these two points can determine the outline of the entire area. See the image to the right for an illustration.

Obtain a stick and left-click the block on the lower left corner of the area you want to protect. This sets the first position. From there you'll want to right-click the second position block at the opposite and upper-most corner of the area. You may need to place a block in either of these corners since you can't select air or liquid with this method. If you do this correctly you should see particles outlining your cuboid area from exactly the blocks you clicked. If the area isn't quite right you can adjust the two points by either left-clicking a new first position or right-clicking a new second position until the particles match the area you want.

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)

  • If you want to expand the selection from sky to bedrock, type /res select vert
  • You can also expand the selection by looking in the direction you want to expand and typing /res select expand # (where you replace the # with the number of blocks you want to expand in that direction).
    • TIP: One method I've used is to first select a 3x3 area in the blocks at my feet using the stick, left-clicking one corner and right-clicking the opposite corner. From there I simply use the expand commands until the area matches what I'm trying to protect. The particle effects make this particularly easy.
  • If you selected more than you intended you can also use /res select contract # to contract the residence by # of blocks from the direction you're looking. For example, if your selection is too tall and you want to make it one block shorter you will look up and type /res select contract 1.

Once you're happy with the selection, you can type /res select cost to see the size and price of the selection, or just type /res create <resname> to confirm, where <resname> is a unique name of your choice, such as /res create mercsawesomebuild (no spaces or special characters).

Create Subzones

What a subzone might look like within your residence.

Subzones are areas within your residence that can have their own flags and their own teleport location. You can use these if you want to set up apartments to rent out to other players, if you want to give someone access to a certain part of your home but not all of it, you have a mob farm in part of your house that you want to allow mobs to spawn in, or if you just want to have a couple different places within your build that you can teleport to because you're too lazy to WASD your way over there. These are free to set up!

Use the same selection methods described above to select an area within your residence. Once selected, type /res subzone <subzonename> to create. And you're good to go!

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 know that 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 indeed 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

Every residence has a set of flags that you can customize (and some you can't). Flags allow a player to control what happens within the residence. You can also customize flags in subzones. These can be modified using the GUI or with commands.

A list of many of the available flags and explanations is below. Some of these, like animalkilling, build, container, and creeper (should) automatically default to "false". At any time you can revert all of your flags to their defaults by using "/res reset <resname>".

It is important to note that some of these flags are nested within others (listed in each flag below, but these are usually self-explanatory) to allow fine-tuning of permissions. For example, the "button" flag is nested under "redstone" which is itself nested under "use". The parent flag will usually override the child if the child flag is set to "removed" (some exceptions, noted in the flags), so if you have "use" set to false it will override any of the flags nested within it. So, for example, if you want visitors to be able to push a button but not flip levers you'll need to set "use" to true, "button" to true, and "lever" to false.

The commands are divided in 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> 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 you'll want to use /res subzone <resname.subzonename> <flagname> <true|false>.

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.