Cleanup the config file and settings

- Moved scheduled task settings to hiddenConfig.yml (settings that are not visible, but still usable)
- Remove 'postCommandErrors' setting
- Also execute commands defined in 'expirationWarningProfiles' when player is not online
- Move around settings in config.yml and improve explanations
- Closes #168
This commit is contained in:
Thijs Wiefferink 2016-06-13 17:03:20 +02:00
parent 6cc3f2a52f
commit 36dd978a92
7 changed files with 184 additions and 173 deletions

View File

@ -109,6 +109,7 @@
<includes>
<include>plugin.yml</include>
<include>config.yml</include>
<include>hiddenConfig.yml</include>
<include>default.yml</include>
<include>README.md</include>
<include>lang/*.yml</include>

View File

@ -68,8 +68,9 @@ public final class AreaShop extends JavaPlugin implements AreaShopInterface {
public static final String schematicExtension = ".schematic";
public static final String regionsFolder = "regions";
public static final String groupsFile = "groups.yml";
public static final String defaultFile = "default.yml";
public static final String configFile = "config.yml";
public static final String defaultFile = "default.yml";
public static final String configFile = "config.yml";
public static final String configFileHidden = "hiddenConfig.yml";
public static final String versionFile = "versions";
// Euro tag for in the config

View File

@ -809,7 +809,8 @@ public class FileManager {
// Load config.yml from the plugin folder
try(
InputStreamReader custom = new InputStreamReader(new FileInputStream(configFile), Charsets.UTF_8);
InputStreamReader normal = new InputStreamReader(plugin.getResource(AreaShop.configFile), Charsets.UTF_8)
InputStreamReader normal = new InputStreamReader(plugin.getResource(AreaShop.configFile), Charsets.UTF_8);
InputStreamReader hidden = new InputStreamReader(plugin.getResource(AreaShop.configFileHidden), Charsets.UTF_8)
) {
config = YamlConfiguration.loadConfiguration(custom);
if(config.getKeys(false).size() == 0) {
@ -817,6 +818,9 @@ public class FileManager {
result = false;
} else {
config.addDefaults(YamlConfiguration.loadConfiguration(normal));
plugin.getLogger().info("defaults keys after normal: "+config.getDefaults().getKeys(true));
config.addDefaults(YamlConfiguration.loadConfiguration(hidden));
plugin.getLogger().info("defaults keys after hidden: "+config.getDefaults().getKeys(true));
// Set the debug and chatprefix variables
plugin.setDebug(this.getConfig().getBoolean("debug"));
if(getConfig().isList("chatPrefix")) {

View File

@ -1723,7 +1723,6 @@ public abstract class GeneralRegion implements GeneralRegionInterface, Comparabl
return;
}
boolean postCommandErrors = plugin.getConfig().getBoolean("postCommandErrors");
for(String command : commands) {
if(command == null || command.length() == 0) {
continue;
@ -1741,7 +1740,7 @@ public abstract class GeneralRegion implements GeneralRegionInterface, Comparabl
stacktrace = ExceptionUtils.getStackTrace(e);
}
boolean printed = false;
if(!result && postCommandErrors) {
if(!result) {
printed = true;
if(error != null) {
plugin.getLogger().warning("Command execution failed, command=" + command + ", error=" + error + ", stacktrace:");

View File

@ -361,30 +361,28 @@ public class RentRegion extends GeneralRegion {
return;
}
Player player = Bukkit.getPlayer(getRenter());
if(player != null) {
long sendUntil = Calendar.getInstance().getTimeInMillis() + (plugin.getConfig().getInt("expireWarning.delay") * 60 * 1000);
// loop through warning defined in the config for the profile that is set for this region
String configPath = "expirationWarningProfiles." + getStringSetting("rent.expirationWarningProfile");
ConfigurationSection section = plugin.getConfig().getConfigurationSection(configPath);
if(section == null) {
long sendUntil = Calendar.getInstance().getTimeInMillis()+(plugin.getConfig().getInt("expireWarning.delay")*60*1000);
// loop through warning defined in the config for the profile that is set for this region
String configPath = "expirationWarningProfiles."+getStringSetting("rent.expirationWarningProfile");
ConfigurationSection section = plugin.getConfig().getConfigurationSection(configPath);
if(section == null) {
return;
}
for(String timeBefore : section.getKeys(false)) {
long timeBeforeParsed = Utils.durationStringToLong(timeBefore);
if(timeBeforeParsed <= 0) {
return;
}
for(String timeBefore : section.getKeys(false)) {
long timeBeforeParsed = Utils.durationStringToLong(timeBefore);
if(timeBeforeParsed <= 0) {
return;
long checkTime = getRentedUntil()-timeBeforeParsed;
if(checkTime > warningsDoneUntil && checkTime <= sendUntil) {
if(plugin.getConfig().getBoolean(configPath+"."+timeBefore+".warnPlayer") && player != null) {
message(player, "rent-expireWarning");
}
long checkTime = getRentedUntil() - timeBeforeParsed;
if(checkTime > warningsDoneUntil && checkTime <= sendUntil) {
if(plugin.getConfig().getBoolean(configPath + "." + timeBefore + ".warnPlayer")) {
message(player, "rent-expireWarning");
}
this.runCommands(Bukkit.getConsoleSender(), plugin.getConfig().getStringList(configPath + "." + timeBefore + ".commands"));
}
this.runCommands(Bukkit.getConsoleSender(), plugin.getConfig().getStringList(configPath+"."+timeBefore+".commands"));
}
warningsDoneUntil = sendUntil;
}
}
warningsDoneUntil = sendUntil;
}
/**

View File

@ -10,7 +10,7 @@
chatPrefix:
- '[darkgreen][AreaShop][reset]'
- ' hover: AreaShop region management plugin'
- ' hover: Click to check the available commands'
- ' hover: %lang:action|Click to check the available commands|%'
- ' command: /areashop help'
- ' '
## The language file that should be used, check the 'lang' folder for build-in languages (use the filename without .yml here).
@ -32,7 +32,7 @@ signTags:
moneyCharacter: '$'
## The characters displayed after a price.
moneyCharacterAfter: ''
## How many numbers behind the dot should be shown (2 will make numbers like '8.55', '9.01', '5,20').
## How many numbers behind the dot should be shown (2 will make numbers like '8.55', '9.01', '5.20').
fractionalNumbers: 2
## Set this to true if you want to hide '.0' for a number like '15.0' ('4.50' will still stay '4.50').
hideEmptyFractionalPart: true
@ -60,9 +60,6 @@ days: [d, day, days]
weeks: [w, week, weeks]
months: [M, month, months]
years: [y, year, years]
## Allow or disallow extending a rental region when the player is above his limits enforced by the 'limitGroups' section below.
## false will ensure a player will eventually lose his region when he has no access anymore.
allowRegionExtendsWhenAboveLimits: false
# ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
@ -71,10 +68,9 @@ allowRegionExtendsWhenAboveLimits: false
## Configure the max total regions, max rent regions and max buy regions with different groups (-1 is unlimited).
## Assign a group to players by giving them the permission 'areashop.limits.<group>'.
## Every player already has the group 'default', OPs bypass the limits because of the 'areashop.limitbypass' permission.
## All the groups applied to the player will be checked and only if they all allow an extra region it will be permitted.
## Add a 'worlds' or 'groups' list to a group to only count regions from those worlds and/or groups.
## Give players permissions globally and not world specific! This ensures renting/buying while in another world works correctly.
## More information can be found here: https://github.com/NLthijs48/AreaShop/wiki/Limitgroups-information-and-examples.
## All the groups applied to the player will be checked and only if they all allow an extra region it will be allowed.
## More information like limits for regions of a certain group or in a certain word can be found here:
## https://github.com/NLthijs48/AreaShop/wiki/Limitgroups-information-and-examples.
limitGroups:
default:
total: 1
@ -85,67 +81,17 @@ limitGroups:
# ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
# │ PROFILES: Assigned in general (default.yml), for a group (groups.yml) or individually (<region>.yml) │
# └────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
## The idea of profiles is that you can make different variations of them, and then assign the different variations to different
## subsects of regions (by assigning a profile to a region group, or an individual region).
## Below is a list of tags that can be used in all settings of profiles.
## If a tag has no value (for example %player% when the region is not rented/bought) then the tag will not get replaced.
## %region% The region name (with correct capitalization).
## %player% The name of the player that rents/buys the region (with correct capitalization).
## %uuid% The UUID of the player that rents/buys the region.
## %friends% The names of friends added to this region separated by ', '.
## %friendsuuid% The UUID's of friends added to this region separated by ', '.
## $landlord$ The name of the landlord.
## %landlorduuid% The UUID of the landlord.
## %price% The price of the region formatted with the configured characters before and after the number.
## %rawprice% The price without formatting, like '10.0' or '7.77'.
## %duration% The duration of a rent region, for example '1 d', '4 minutes' or '2 years'.
## %world% The name of the world that the region is in.
## %type% The type of the region, 'rent' or 'buy'.
## %until% The end time of a rent formatted as configured with 'timeFormatChat'.
## %untilshort% The end time of a rent formatted as configured with 'timeFormatSign'.
## %width% The width of the region (amount of blocks on the x-axis).
## %depth% The depth of the region (amount of blocks on the z-axis).
## %height% The height of the region (amount of blocks on the y-axis).
## %timeleft% The time left on the rent (uses the unit of time that fits best, minutes used from 121 seconds till 120 minutes).
## %clicker% The name of the player that clicked the sign (only to be used in the signProfiles section).
## %resellprice% The price of a region when it is in resell mode.
## %rawresellprice% The resellprice without formatting, like '10.0' or '7.77'.
## %moneyback% The amount of money the player will get back when unrenting/selling the region (formatted with currency layout).
## %rawmoneyback% The moneyback without formatting, like '10.0' or '7.77'.
## %moneybackpercent% The percentage of the price the player will get back when unrenting the region.
## %maxextends% The maximum number of extends a player can do on the region.
## %extendsleft% The number of extends that are left (maxextends - timesextended).
## %maxrenttime% The maximum time you can rent a region in advance (human readable).
## %inactivetime% The maximum time a player may be inactive before unrent/sell (human readable).
## %year% The current year.
## %month% The current month in the year.
## %day% The current day in the month.
## %hour% The current hour in the day (0-23).
## %minute% The current minute of the hour.
## %second% The current second of the minute.
## %millisecond% The current millisecond of the second.
## %epoch% The number of milliseconds since January 1, 1970 (Unix Epoch).
## %tpx% The exact x coordinate of the location that the teleport is set to
## %tpy% The exact y coordinate of the location that the teleport is set to
## %tpz% The exact z coordinate of the location that the teleport is set to
## %tpblockx% The rounded x coordinate of the location that the teleport is set to
## %tpblocky% The rounded y coordinate of the location that the teleport is set to
## %tpblockz% The rounded z coordinate of the location that the teleport is set to
## %tppitch% The exact pitch of the teleport location
## %tppitchround% The rounded pitch of the teleport location
## %tpyaw% The exact yaw of the teleport location
## %tpyawround% The rounded yaw of the teleport location
## %tpworld% The world name of the teleport location
## The idea of profiles is that you can make different variations of them, and then assign the different variations to
## subsets of regions (by assigning a profile to a region group, or an individual region).
## Determines the layout and functions of the signs linked to regions.
## Set 'general.signProfile' in default.yml, groups or individual regions to set the profile.
## The following sections can be added for performing certain commands when the sign is clicked:
## rightClickPlayer, rightClickConsole, shiftRightClickPlayer, shiftRightClickConsole,
## leftClickPlayer, leftClickConsole, shiftLeftClickPlayer, shiftLeftClickConsole.
## Sections with 'Player' at the end will be run by the player that clicks the sign and 'Console' ones from the console.
signProfiles:
default:
## The following sections can be added for performing certain commands when the sign is clicked:
## rightClickPlayer, rightClickConsole, shiftRightClickPlayer, shiftRightClickConsole,
## leftClickPlayer, leftClickConsole, shiftLeftClickPlayer, shiftLeftClickConsole.
## Sections with 'Player' at the end will be run by the player that clicks the sign and 'Console' ones from the console.
forrent:
line1: '&2&l[For Rent]'
line2: '%region%'
@ -153,7 +99,7 @@ signProfiles:
line4: '%price%'
rightClickPlayer:
- 'areashop rent %region%'
#- 'areashop message %clicker% %lang:confirm-rent|%region%|%' # Use this instead of the above one to confirm first
#- 'areashop message %clicker% %lang:confirm-rent|%region%|%' # Alternative to first ask for confirmation
leftClickPlayer:
- 'areashop info region %region%'
rented:
@ -163,7 +109,7 @@ signProfiles:
line4: '%untilshort%'
rightClickPlayer:
- 'areashop rent %region%'
#- 'areashop message %clicker% %lang:confirm-extend|%region%|%' # Use this instead of the above one to confirm first
#- 'areashop message %clicker% %lang:confirm-extend|%region%|%' # Alternative to first ask for confirmation
leftClickPlayer:
- 'areashop info region %region%'
shiftRightClickPlayer:
@ -175,7 +121,7 @@ signProfiles:
line4:
rightClickPlayer:
- 'areashop buy %region%'
#- 'areashop message %clicker% %lang:confirm-buy|%region%|%' # Use this instead of the above one to confirm first
#- 'areashop message %clicker% %lang:confirm-buy|%region%|%' # Alternative to first ask for confirmation
leftClickPlayer:
- 'areashop info region %region%'
resell:
@ -185,7 +131,7 @@ signProfiles:
line4: '&8%player%'
rightClickPlayer:
- 'areashop buy %region%'
#- 'areashop message %clicker% %lang:confirm-buy|%region%|%' # Use this instead of the above one to confirm first
#- 'areashop message %clicker% %lang:confirm-buy|%region%|%' # Alternative to first ask for confirmation
leftClickPlayer:
- 'areashop info region %region%'
shiftRightClickPlayer:
@ -201,11 +147,43 @@ signProfiles:
- 'areashop info region %region%'
shiftRightClickPlayer:
- 'areashop message %clicker% %lang:confirm-sell|%region%|%'
## Option to run certain commands when a region event happens.
## Flag profiles specify which flags to set on the WorldGuard regions depending on their state.
## All normal region flags as present in WorldGuard can be used, and also members, owners, priority and parent.
## The members and owners flag normally take a list of UUID's separated by a comma, adding by name is possible with 'n:<name>'.
## You can add groups by using 'g:<groupname>', so an example woul be: '%uuid%, %friendsuuid%, g:vip, n:coolGuy'.
## For allow/deny flags like 'entry' and 'exit' you can set the group setting by using 'g:<scope>', <scope> is one of the following:
## members, non_members, owners, non_owners, all. Example, only members can enter the region:
## entry: 'deny g:non_members'
## '' will remove the flag from the region.
flagProfiles:
default:
ALL: # Flags to apply for all states
priority: 10
members: ''
interact: 'deny g:non_members' # Only allow region members/owners to use things in the region (chests, crafting bench, etc)
build: 'deny g:non_members' # Only allow region members/owners to build (change to 'deny' to disallow building)
block-break: 'deny g:non_members'
block-place: 'deny g:non_members'
forrent:
greeting: '%lang:prefix%%lang:greeting-forrent%'
rented:
members: '%uuid%, %friendsuuid%'
greeting: '%lang:prefix%%lang:greeting-rented%'
forsale:
greeting: '%lang:prefix%%lang:greeting-forsale%'
sold:
members: '%uuid%, %friendsuuid%'
greeting: '%lang:prefix%%lang:greeting-bought%'
resale:
members: '%uuid%, %friendsuuid%'
greeting: '%lang:prefix%%lang:greeting-resale%'
## Run commands when an event happens.
## Commands at a 'before' section will execute before the region details are changed in the AreaShop system
## and before any other actions occurred (setting the owner, saving/loading schematics, etc.),
## the 'after' commands will be run when all changes are done.
## After 'before' or 'after' you can add a list of commands (see example at the created event).
## You can add a list of commands to 'before' and 'after'.
eventCommandProfiles:
default:
created:
@ -233,10 +211,10 @@ eventCommandProfiles:
resell:
before:
after:
## For the following events you can specify if you want to restore or save the region to a schematic.
## After 'save:' or 'restore:' you enter the name of the file to restore from/to.
## If you want your regions all looking the same then you can leave out the %region% part to use the same schematic for all.
## The limit 'maximumBlocks' applies to restoring/saving schematics, be sure your regions are below the limit.
## The limit 'maximumBlocks' applies to restoring/saving schematics, be sure your region size is below the limit.
## More information can be found here: https://github.com/NLthijs48/AreaShop/wiki/Region-blocks-save-restore.
schematicProfiles:
default:
@ -261,38 +239,8 @@ schematicProfiles:
resell:
save: ''
restore: ''
## Flag profiles to specify which flags should be set on the WorldGuard regions when the region is in a certain state.
## All normal region flags as present in WorldGuard can be used, and also members, owners, priority and parent.
## Each line represents a WorldGuard setting that should be set to a certain value when the region is in the specified state.
## The members and owners flag normally take a list of UUID's separated by 'comma space', adding by name is possible with 'n:<name>'.
## You can add groups by using 'g:<groupname>', so in total you could use: '%uuid%, %friendsuuid%, g:vip, n:coolGuy'.
## For flags like 'entry' and 'exit' you can add group setting by using 'g:<scope>' behind it, <scope> is one of the following:
## members, non_members, owners, non_owners, all. Example, only members can enter the region:
## entry: 'deny g:non_members'
## Use '' for a flag to reset it.
flagProfiles:
default:
ALL: # Flags to apply for all states
priority: 10 # Set region priority higher than default regions (it must be higher than other regions at the same place)
members: '' # Remove all members.
interact: 'deny g:non_members' # Only allow region members/owners to use things in the region (chests, crafting bench, etc)
build: 'deny g:non_members' # Only allow region members/owners to build (change to 'deny' to disallow building)
block-break: 'deny g:non_members'
block-place: 'deny g:non_members'
forrent:
greeting: '%lang:prefix%%lang:greeting-forrent%'
rented:
members: '%uuid%, %friendsuuid%' # Add the renter and added friends as region members.
greeting: '%lang:prefix%%lang:greeting-rented%'
forsale:
greeting: '%lang:prefix%%lang:greeting-forsale%'
sold:
members: '%uuid%, %friendsuuid%'
greeting: '%lang:prefix%%lang:greeting-bought%'
resale:
members: '%uuid%, %friendsuuid%'
greeting: '%lang:prefix%%lang:greeting-resale%'
## Profiles that specify when players should get messages about their rental region that almost runs out.
## Profiles that specify what happens when their rental region almost runs out.
## Time identifiers specify how much time before the rent is actually over the player should be notified.
## When warnPlayer is set to true a message will be send that is specified in the language file.
## All commands in the list below 'commands:' will execute together with the warning, all normal variables can be used.
@ -319,7 +267,7 @@ expirationWarningProfiles:
## The '\d' represents the numerical digits 0-9, the + symbol represents 1 or more times repeated.
## This means it would also block 'house_123' and 'house_000456'. It will not block 'ahouse_1' or 'house_'.
blacklist:
- '__global__' # Would give access to the complete world, and is therefore not a good idea to ever add.
- '__global__'
## Minimum length of the numbers that are suffixed for region names generated by the '/as stack' command.
## When having this at 3 it will generate names like this: 'region-001', 'region-014', 'region-4567'.
stackRegionNumberLength: 3
@ -335,8 +283,6 @@ checkForUpdates: true
useColorsInConsole: false
## Use tellraw style messages
useFancyMessages: true
## Post error messages in the console when a command run from the config fails (from the 'runCommands' section for example).
postCommandErrors: true
## Update all region flags and signs after starting the plugin (uses the 'regionsPerTick' setting from the 'update' section).
## This ensures that changes to the config are directly visible after restarting the server.
updateRegionsOnStartup: true
@ -344,48 +290,60 @@ updateRegionsOnStartup: true
debug: false
## Version of the config, do not change!
version: ${project.version}
# ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
# │ LIMITS AND TIMINGS: Options for limits and the frequencies for certain functions (be very careful with these!). │
# └────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
## Maximum number of blocks to save to or restore from a .schemetic.
## Maximum number of blocks to save to or restore from a .schemetic file.
maximumBlocks: 1000000
## Maximum number of locations the teleport function should check to find a safe spot.
maximumTries: 50000
## Setting the 'delay' setting to 0 or lower will prevent the taks from runnning, if you don't use a certain feature you
## could switch the task off this way.
## The 'delay' settings are specified using a number followed by one of the identifiers as defined above in the config.
## The 'regionsPerTick' settings are to configure how fast something goes, lower value is less lag, but slower updates.
## There are 20 ticks in 1 second, so if you set 'regionPerTick' to 5, then 5*20=100 regions per second will be updated.
## Timings for saving files that need saving.
saving:
delay: '10 minutes'
regionsPerTick: 1
## Timings for rent expiration checking.
expiration:
delay: '59 seconds'
regionsPerTick: 5
## Timings for expiration warning to online players.
expireWarning:
delay: '5 minutes'
regionsPerTick: 5
## Timings for updating signs and region flags ('/as reload' or after '/as groupadd' or '/as groupdel').
update:
regionsPerTick: 5
## Time between checking if any regions need to be unrented because the player was not online for the specified time period.
inactive:
delay: '15 minutes'
regionsPerTick: 5
## Timings for the periodic updating of signs (for timeleft tags etc).
signs:
delay: '60 seconds'
regionsPerTick: 3
## Number of regions per tick to check when a player joins to see if his name changed for regions he owned (updates the regions when changed).
nameupdate:
regionsPerTick: 10
## Timings for adding regions to AreaShop ('/as stack').
adding:
regionsPerTick: 2
# ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
# │ VARIABLES: Variables that can be used in messages and settings where a region is available. │
# └────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
## If a tag has no value (for example %player% when the region is not rented/bought) then the tag will not get replaced.
## %region% The region name (with correct capitalization).
## %player% The name of the player that rents/buys the region (with correct capitalization).
## %uuid% The UUID of the player that rents/buys the region.
## %friends% The names of friends added to this region separated by ', '.
## %friendsuuid% The UUID's of friends added to this region separated by ', '.
## $landlord$ The name of the landlord.
## %landlorduuid% The UUID of the landlord.
## %price% The price of the region formatted with the configured characters before and after the number.
## %rawprice% The price without formatting, like '10.0' or '7.77'.
## %duration% The duration of a rent region, for example '1 d', '4 minutes' or '2 years'.
## %world% The name of the world that the region is in.
## %type% The type of the region, 'rent' or 'buy'.
## %until% The end time of a rent formatted as configured with 'timeFormatChat'.
## %untilshort% The end time of a rent formatted as configured with 'timeFormatSign'.
## %width% The width of the region (number of blocks on the x-axis).
## %depth% The depth of the region (number of blocks on the z-axis).
## %height% The height of the region (number of blocks on the y-axis).
## %timeleft% The time left on the rent (uses the unit of time that fits best, minutes used from 121 seconds till 120 minutes).
## %clicker% The name of the player that clicked the sign (only to be used in the signProfiles section).
## %resellprice% The price of a region when it is in resell mode.
## %rawresellprice% The resellprice without formatting.
## %moneyback% The amount of money the player will get back when unrenting/selling the region (formatted with currency layout).
## %rawmoneyback% The moneyback without formatting.
## %moneybackpercent% The percentage of the price the player will get back when unrenting the region.
## %maxextends% The maximum number of extends a player can do on the region.
## %extendsleft% The number of extends that are left (maxextends - timesextended).
## %maxrenttime% The maximum time you can rent a region in advance (human readable).
## %inactivetime% The maximum time a player may be inactive before unrent/sell (human readable).
## %year% The current year.
## %month% The current month in the year.
## %day% The current day in the month.
## %hour% The current hour in the day (0-23).
## %minute% The current minute of the hour.
## %second% The current second of the minute.
## %millisecond% The current millisecond of the second.
## %epoch% The number of milliseconds since January 1, 1970 (Unix Epoch).
## %tpx% The exact x coordinate of the location that the teleport is set to
## %tpy% The exact y coordinate of the location that the teleport is set to
## %tpz% The exact z coordinate of the location that the teleport is set to
## %tpblockx% The rounded x coordinate of the location that the teleport is set to
## %tpblocky% The rounded y coordinate of the location that the teleport is set to
## %tpblockz% The rounded z coordinate of the location that the teleport is set to
## %tppitch% The exact pitch of the teleport location
## %tppitchround% The rounded pitch of the teleport location
## %tpyaw% The exact yaw of the teleport location
## %tpyawround% The rounded yaw of the teleport location
## %tpworld% The world name of the teleport location

View File

@ -0,0 +1,50 @@
# ╔════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════╗
# ║ hiddenConfig.yml file of the AreaShop plugin created by NLThijs48. ║
# ║ Options in this file are available in config.yml, but are not shown by default there. ║
# ║ The options in these file are either very advanced, or not useful for the majority of users. ║
# ╚════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════╝
# ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
# │ TIMERS: Settings to define how often scheduled tasks run. │
# └────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
## Setting the 'delay' setting to 0 or lower will prevent the taks from runnning.
## The 'delay' settings are specified using a number followed by one of the identifiers as defined in config.yml.
## The 'regionsPerTick' settings are to configure how fast something goes, lower value is less lag, but slower updates.
## There are 20 ticks in 1 second, so if you set 'regionPerTick' to 5, then 5*20=100 regions per second will be updated.
## Timings for saving files that need saving.
saving:
delay: '10 minutes'
regionsPerTick: 1
## Timings for rent expiration checking.
expiration:
delay: '59 seconds'
regionsPerTick: 5
## Timings for expiration warning to online players.
expireWarning:
delay: '5 minutes'
regionsPerTick: 5
## Timings for updating signs and region flags ('/as reload' or after '/as groupadd' or '/as groupdel').
update:
regionsPerTick: 5
## Time between checking if any regions need to be unrented because the player was not online for the specified time period.
inactive:
delay: '15 minutes'
regionsPerTick: 5
## Timings for the periodic updating of signs (for timeleft tags etc).
signs:
delay: '60 seconds'
regionsPerTick: 3
## Number of regions per tick to check when a player joins to see if his name changed for regions he owned (updates the regions when changed).
nameupdate:
regionsPerTick: 10
## Timings for adding regions to AreaShop ('/as stack').
adding:
regionsPerTick: 2
# ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
# │ OTHER: All other settings. │
# └────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
## Allow or disallow extending a rental region when the player is above his limits enforced by the 'limitGroups' section below.
## false will ensure a player will eventually lose his region when he has no access anymore.
allowRegionExtendsWhenAboveLimits: false