Adds a way to change number length for stack region names

Adds dots after all config explaination lines, fixes a couple things
with groups.yml file saving (would save unnecessary sometimes).

Fixes #26
This commit is contained in:
Thijs Wiefferink 2015-07-26 20:56:44 +02:00
parent 3bf493109c
commit 04e02c4ce4
9 changed files with 199 additions and 183 deletions

View File

@ -139,7 +139,7 @@
<artifactId>maven-antrun-plugin</artifactId>
<configuration>
<tasks>
<copy file="./target/${project.build.finalName}.jar" tofile="C:\Games\Minecraft\Spigot 1.8\plugins\${project.build.finalName}.jar"/>
<copy file="./target/${project.build.finalName}.jar" tofile="C:\Games\Minecraft\Spigot 1.8.7\plugins\${project.build.finalName}.jar"/>
</tasks>
</configuration>
<executions>

View File

@ -83,7 +83,6 @@ public class GroupaddCommand extends CommandAreaShop {
}
// Update all regions, this does it in a task, updating them without lag
plugin.getFileManager().updateRegions(toUpdate, player);
group.saveRequired();
} else {
GeneralRegion region = plugin.getFileManager().getRegion(args[2]);
if(region == null) {
@ -97,7 +96,6 @@ public class GroupaddCommand extends CommandAreaShop {
} else {
plugin.message(sender, "groupadd-failed", region.getName(), group.getName());
}
group.saveRequired();
}
}

View File

@ -47,7 +47,6 @@ public class GroupdelCommand extends CommandAreaShop {
if(group == null) {
group = new RegionGroup(plugin, args[1]);
plugin.getFileManager().addGroup(group);
group.saveRequired();
}
if(args.length == 2) {
if(!(sender instanceof Player)) {
@ -69,7 +68,7 @@ public class GroupdelCommand extends CommandAreaShop {
ArrayList<String> namesFailed = new ArrayList<String>();
ArrayList<GeneralRegion> toUpdate = new ArrayList<GeneralRegion>();
for(GeneralRegion region : regions) {
if(group.addMember(region)) {
if(group.removeMember(region)) {
namesSuccess.add(region.getName());
toUpdate.add(region);
} else {
@ -98,7 +97,6 @@ public class GroupdelCommand extends CommandAreaShop {
} else {
plugin.message(sender, "groupdel-failed", region.getName(), group.getName());
}
group.saveRequired();
}
}

View File

@ -140,10 +140,20 @@ public class StackCommand extends CommandAreaShop {
for(int i=0; i<regionsPerTick; i++) {
if(current < amount) {
// Create the region name
String regionName = namePrefix + counter;
String counterName = counter+"";
int minimumLength = plugin.getConfig().getInt("stackRegionNumberLength");
while(counterName.length() < minimumLength) {
counterName = "0"+counterName;
}
String regionName = namePrefix + counterName;
while(manager.getRegion(regionName) != null || AreaShop.getInstance().getFileManager().getRegion(regionName) != null) {
counter++;
regionName = namePrefix + counter;
counterName = counter+"";
minimumLength = plugin.getConfig().getInt("stackRegionNumberLength");
while(counterName.length() < minimumLength) {
counterName = "0"+counterName;
}
regionName = namePrefix + counterName;
}
// Add the region to WorldGuard (at startposition shifted by the number of this region times the blocks it should shift)
ProtectedCuboidRegion region = new ProtectedCuboidRegion(regionName,

View File

@ -264,6 +264,7 @@ public class FileManager {
groupsConfig.set(lowGroup + ".name", group.getName());
groupsConfig.set(lowGroup + ".priority", 0);
}
saveGroupsIsRequired();
}
/**
@ -331,7 +332,6 @@ public class FileManager {
for(RegionGroup group : groups) {
group.removeMember(rent);
}
saveGroupsIsRequired();
rent.resetRegionFlags();
regions.remove(rent.getLowerCaseName());
File file = new File(plugin.getDataFolder() + File.separator + AreaShop.regionsFolder + File.separator + rent.getLowerCaseName() + ".yml");
@ -396,7 +396,6 @@ public class FileManager {
for(RegionGroup group : getGroups()) {
group.removeMember(buy);
}
saveGroupsIsRequired();
// Deleting the file
File file = new File(plugin.getDataFolder() + File.separator + AreaShop.regionsFolder + File.separator + buy.getLowerCaseName() + ".yml");
@ -592,7 +591,6 @@ public class FileManager {
* Save the group file to disk
*/
public void saveGroupsIsRequired() {
AreaShop.debug("saveGroupsRequired() set");
saveGroupsRequired = true;
}
public boolean isSaveGroupsRequired() {

View File

@ -57,6 +57,7 @@ public class RegionGroup {
} else {
members.add(region.getName());
setSetting("regions", members);
this.saveRequired();
return true;
}
}
@ -75,6 +76,9 @@ public class RegionGroup {
} else {
setSetting("regions", members);
}
if(result) {
this.saveRequired();
}
return result;
}

View File

@ -1,78 +1,52 @@
# ╔════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════╗
# ║ config.yml file of the AreaShop plugin created by NLThijs48, Github can be found at https://github.com/NLthijs48/AreaShop
# ║ This file contains options to change the working of the plugin, the profiles defined here can be used in default.yml
# ║ config.yml file of the AreaShop plugin created by NLThijs48, Github can be found at https://github.com/NLthijs48/AreaShop.
# ║ This file contains options to change the working of the plugin, the profiles defined here can be used in default.yml.
# ╚════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════╝
# ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
# │ GENERAL: Options that influence the global state of the plugin │
# └────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
## Chatprefix used for all messages in the chat, also changes the greeting messages.
chatPrefix: '&2[AreaShop]&r '
## The language file that should be used, check the 'lang' folder for build-in languages (use the filename without .yml here)
## The language file that should be used, check the 'lang' folder for build-in languages (use the filename without .yml here).
language: EN
## The tags you need to write on the sign to trigger the plugin
## The tags you need to write on the sign to trigger the plugin.
signTags:
## Tag for adding a rent region
## Tag for adding a rent region.
rent: '[rent]'
## Tag for adding a buy region
## Tag for adding a buy region.
buy: '[buy]'
## Tag for adding a sign to an existing region
## Tag for adding a sign to an existing region.
add: '[as]'
## Blacklist of region names that cannot be added to AreaShop for renting or buying. Regular expressions can be used, search
## for 'java regex pattern' to find documentation about how to use it. The case-insensitive option is enabled because
## WorldGuard will return the correct region no matter what the casing is.
## Example: Blocking all regions that have a name like 'house_1', 'house_2', etc. would be done with 'house_\d+'
## 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__'
## Enable sending stats to http://mcstats.org/ (Metrics plugin).
## This information will give me an indication about how much the plugin is used and encourages me to continue development.
sendStats: true
## If enabled it will check for updates when loading the plugin, it will never download files, it will only notify about it
## A message will be printed in the console when an update is available and OPs will be notified when joining the server
checkForUpdates: true
## Use colors when sending messages to console and log files
useColorsInConsole: false
## 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
## Enables / disables debug messages in the console, could be useful to figure out where errors come from
debug: false
## Version of the config, do not change!
version: ${project.version}
# ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
# │ NUMBERS: Options to change the output of prices
# │ NUMBERS: Options to change the output of prices. │
# └────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
## The characters displayed before a price, special characters like € can be used
## The characters displayed before a price, special characters like € can be used.
moneyCharacter: '$'
## The characters displayed after a price, special characters like € can be used
## The characters displayed after a price, special characters like € can be used.
moneyCharacterAfter: ''
## How many numbers behind the dot should be shown (2 will make numbers like '8.55', '9.01')
## How many numbers behind the dot should be shown (2 will make numbers like '8.55', '9.01').
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')
## 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
## Use metric suffixes if the price is above this number (use 1.00M instead of 1000000.00 etc.), use -1 for disable
## Indications are used as defined on: http://en.wikipedia.org/wiki/Metric_prefix, implemented from 'k' to 'Y'
## Use metric suffixes if the price is above this number (use 1.00M instead of 1000000.00 etc.), use -1 for disable.
## Indications are used as defined on: http://en.wikipedia.org/wiki/Metric_prefix, implemented from 'k' to 'Y'.
metricSuffixesAbove: 1000000.0
## The character(s) to use as decimal mark
## The character(s) to use as decimal mark.
decimalMark: '.'
# ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
# │ RENTING: Options that apply to all rent regions
# │ RENTING: Options that apply to all rent regions. │
# └────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
## Timeformat to use on the signs, default is like '30-06 14:52', US format: 'MM-dd KK:mm a'
## Search for 'java SimpleDateFormat' for more options and documentation
## Timeformat to use on the signs, default is like '30-06 14:52', US format: 'MM-dd KK:mm a'.
## Search for 'java SimpleDateFormat' for more options and documentation.
timeFormatSign: 'dd-MM HH:mm'
## Timeformat used in the chat, default is like '30 june 2014 14:52', US format: 'MMMMMMMMMMMMMMMMM dd yyyy KK:mm a'
## Search for 'java SimpleDateFormat' for more options and documentation
## Timeformat used in the chat, default is like '30 june 2014 14:52', US format: 'MMMMMMMMMMMMMMMMM dd yyyy KK:mm a'.
## Search for 'java SimpleDateFormat' for more options and documentation.
timeFormatChat: 'dd MMMMMMMMMMMMMMMMM yyyy HH:mm'
## Time indicators, used for specifing time periods (for example rent duration)
## Be careful with deleting words, will break settings using those, adding is no problem
## Time indicators, used for specifing time periods (for example rent duration).
## Be careful with deleting words, will break settings using those, adding is no problem.
seconds: [s, sec, secs, second, seconds]
minutes: [m, min, mins, minute, minutes, minuten, minuut]
hours: [h, hour, hours, uur, uren]
@ -82,15 +56,15 @@ years: [y, year, years, jaar, jaren]
# ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
# │ PERMISSION GROUPS: Assigned by giving players certain permissions
# │ PERMISSION GROUPS: Assigned by giving players certain permissions.
# └────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
## 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' and ops have the unlimited group
## 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 .
## 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' and ops have the unlimited group.
## 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.
## This can be used to get different limits for other worlds or area's.
## Give players permissions globally and not per world! That would break limits when then try renting/buying from within another world
## Give players permissions globally and not per world! That would break limits when then try renting/buying from within another world.
limitGroups:
default:
total: 1
@ -102,50 +76,50 @@ limitGroups:
# │ PROFILES: Assigned in general (default.yml), for a group (groups.yml) or individually (<region>.yml) │
# └────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
## Below is a list of tags that can be used with all the profiles below.
## If a tag has no value (for example when you use %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), will not get replaced if no renter/buyer
## %uuid% The uuid of the player that rents/buys the region, will not get replaced if no renter/buyer
## %friends% The names of friends added to this region separated by ', '
## %friendsuuid% The UUID's of friends added to this region separated by ', '
## %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 characters)
## %rawmoneyback% The moneyback without formatting, like '10.0' or '7.77'
## %moneybackpercent% The percentage of the price the player will get back when unrenting (only the number between 0-100)
## %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)
## If a tag has no value (for example when you use %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), will not get replaced if no renter/buyer.
## %uuid% The uuid of the player that rents/buys the region, will not get replaced if no renter/buyer.
## %friends% The names of friends added to this region separated by ', '.
## %friendsuuid% The UUID's of friends added to this region separated by ', '.
## %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 characters).
## %rawmoneyback% The moneyback without formatting, like '10.0' or '7.77'.
## %moneybackpercent% The percentage of the price the player will get back when unrenting (only the number between 0-100).
## %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).
## Below are profiles for the signs, you can assign profiles to regions
## by setting 'general.signProfile' in default.yml, groups or individual regions
## Below are profiles for the signs, you can assign profiles to regions
## by setting 'general.signProfile' in default.yml, groups or individual regions.
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 clicking player and 'Console' ones from the console
## leftClickPlayer, leftClickConsole, shiftLeftClickPlayer, shiftLeftClickConsole.
## Sections with 'Player' at the end will be run by the clicking player and 'Console' ones from the console.
forrent:
line1: '&2&l[For Rent]'
line2: '%region%'
@ -197,11 +171,11 @@ signProfiles:
- 'areashop info region %region%'
shiftRightClickPlayer:
- 'areashop sell %region%'
## Option to run certain commands when one of these events happen
## Option to run certain commands when one of these events happen.
## Commands at a 'before' section will execute before the region details are changed in the AreaShop system
## and before any other actions occurred (changing signs, saving/loading schematics, etc.),
## the 'after' commands will be run when all changes are done.
## After 'before' or 'after' you can create a list of commands (see example at the created event)
## After 'before' or 'after' you can create a list of commands (see example at the created event).
eventCommandProfiles:
default:
created:
@ -229,11 +203,11 @@ 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
## 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.
## Be carefull with these options, it could crash your server or destroy (parts of) your world if used wrong!
## 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 regions are below the limit.
schematicProfiles:
default:
created:
@ -257,13 +231,13 @@ schematicProfiles:
resell:
save: ''
restore: ''
## Flag profiles to specify what flags should be set on the WorldGuard regions
## 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:cool-guy'
## Flag profiles to specify what flags should be set on the WorldGuard regions.
## 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:cool-guy'.
## 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 owners can enter the region:
## members, non_members, owners, non_owners, all. Example, only owners can enter the region:
## entry: 'deny g:non_owners'
## Use '' for a flag to reset it.
flagProfiles:
@ -283,10 +257,10 @@ flagProfiles:
resale:
members: '%uuid%, %friendsuuid%'
greeting: '%lang:prefix%%lang:greeting-resale%'
## Profiles that specify when players should get messages about rent that almost run out
## The numbers that start sections in the profile specify how time before it actually runs out it should be executed
## 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
## Profiles that specify when players should get messages about rent that almost run out.
## The numbers that start sections in the profile specify how time before it actually runs out it should be executed.
## 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.
expirationWarningProfiles:
default:
"1 day":
@ -302,57 +276,91 @@ expirationWarningProfiles:
# ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
# │ LIMITS AND TIMINGS: Options for limits and the frequencies for certain functions (be very careful with these!)
# │ ADVANCED AND DEBUG: Specific options to tweak the plugin precisely and check if it functions correctly.
# └────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
## Maximum number of blocks to save to or restore from a .schemetic
## Blacklist of region names that cannot be added to AreaShop for renting or buying. Regular expressions can be used, search
## for 'java regex pattern' to find documentation about how to use it. The case-insensitive option is enabled because
## WorldGuard will return the correct region no matter what the casing is.
## Example: Blocking all regions that have a name like 'house_1', 'house_2', etc. would be done with 'house_\d+'.
## 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__'
## 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
## Enable sending stats to http://mcstats.org/ (Metrics plugin).
## This information will give me an indication about how much the plugin is used and encourages me to continue development.
sendStats: true
## If enabled it will check for updates when loading the plugin, it will never download files, it will only notify about it
## A message will be printed in the console when an update is available and OPs will be notified when joining the server.
checkForUpdates: true
## Use colors when sending messages to console and log files.
useColorsInConsole: false
## 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
## Enables / disables debug messages in the console, could be useful to figure out where errors come from.
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.
maximumBlocks: 1000000
## Maximum number of locations the teleport function should check to find a safe spot
## 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
## 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:
## Time between saving files that need to be saved (not all files will be saved by default)
## Time between saving files that need to be saved (not all files will be saved by default).
delay: '10 minutes'
## How many regions per tick will be saved
## How many regions per tick will be saved.
regionsPerTick: 1
## Timings for rent expiration checking
## Timings for rent expiration checking.
expiration:
## Time between checking if rent regions have been expired
## Time between checking if rent regions have been expired.
delay: '59 seconds'
## Number of rent regions to check per tick
## Number of rent regions to check per tick.
regionsPerTick: 5
## Timings for expiration warning to online players
## Timings for expiration warning to online players.
expireWarning:
## The time between checking if expiration warning need to be sent
## The time between checking if expiration warning need to be sent.
delay: '5 minutes'
## Number of regions to update per tick
## Number of regions to update per tick.
regionsPerTick: 3
## Timings for updating signs and region flags ('/as reload' or after '/as groupadd' or '/as groupdel')
## Timings for updating signs and region flags ('/as reload' or after '/as groupadd' or '/as groupdel').
update:
## Number of regions to update per tick
## Number of regions to update per tick.
regionsPerTick: 5
## Time between checking if any regions need to be unrented because the player was not online for the specified time period
## Time between checking if any regions need to be unrented because the player was not online for the specified time period.
inactive:
## Time between checking if a regions needs to be unrented/sold because of inactivity by the player
## Time between checking if a regions needs to be unrented/sold because of inactivity by the player.
delay: '15 minutes'
## Number of rent regions to check per tick
## Number of rent regions to check per tick.
regionsPerTick: 5
## Timings for the periodic updating of signs (for timeleft tags etc)
## Timings for the periodic updating of signs (for timeleft tags etc).
signs:
## Time between updates of all signs
## Time between updates of all signs.
delay: '60 seconds'
## Number of regions to update signs for per tick
## Number of regions to update signs for per tick.
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)
## 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:
## Number of regions to update signs for per tick
## Number of regions to update signs for per tick.
regionsPerTick: 5
## Timings for adding regions to AreaShop ('/as stack')
## Timings for adding regions to AreaShop ('/as stack').
adding:
## Number of regions to add per tick
## Number of regions to add per tick.
regionsPerTick: 2

View File

@ -1,77 +1,77 @@
# ╔════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════╗
# ║ default.yml file of the AreaShop plugin created by NLThijs48, Github can be found at https://github.com/NLthijs48/AreaShop
# ║ All settings below are default settings and can be overridden by group settings or individual region settings
# ║ default.yml file of the AreaShop plugin created by NLThijs48, Github can be found at https://github.com/NLthijs48/AreaShop.
# ║ All settings below are default settings and can be overridden by group settings or individual region settings.
# ╚════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════╝
# ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
# │ GENERAL: Options for all regions
# │ GENERAL: Options for all regions.
# └────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
general:
## Set this to true to enable saving/restoring for regions as specified in the profile below, which is specified in the config
## Set this to true to enable saving/restoring for regions as specified in the profile below, which is specified in the config.
enableRestore: false
## The schematic profile as specified in the config
## The schematic profile as specified in the config.
schematicProfile: 'default'
## The event commands profile as specified in the config
## The event commands profile as specified in the config.
eventCommandProfile: 'default'
## The profile for the format of the sign as specified in the config
## The profile for the format of the sign as specified in the config.
signProfile: 'default'
## The profile for the WorldGuard flags as specified in the config
## The profile for the WorldGuard flags as specified in the config.
flagProfile: 'default'
## The y location within the region to start searching for safe teleport spots (x and z will be in the middle of the region)
## Possible values: bottom, middle, top
## The y location within the region to start searching for safe teleport spots (x and z will be in the middle of the region).
## Possible values: bottom, middle, top.
teleportLocationY: bottom
## If true the teleportation algorithm only allows telportation to inside the region, otherwise it will expand algorithm
## a cube from the starting point to check for safe spots (then it could end outside the region)
## If you set a teleport location outside of the region with /as settp then setting this to true breaks that teleport (players cannot use it)
## a cube from the starting point to check for safe spots (then it could end outside the region).
## If you set a teleport location outside of the region with /as settp then setting this to true breaks that teleport (players cannot use it).
teleportIntoRegion: true
## Same as above, but then for when you teleport to the sign of a region instead of the region itself
## Same as above, but then for when you teleport to the sign of a region instead of the region itself.
teleportToSignIntoRegion: false
## Set where the '/as find' command should teleport the player to, set to true for the first sign of the region and set to
## false to teleport to the location set by '/as settp' or the default location (if not set).
findTeleportToSign: true
## Restricts the /as buy and /as rent commands to the world of the region
## Usefull if you have diffrent economies for different worlds
## Restricts the /as buy and /as rent commands to the world of the region .
## Useful if you have diffrent economies for different worlds.
restrictedToWorld: false
## Restricts the /as buy and /as rent commands to the region itself (player needs to be inside)
## Restricts the /as buy and /as rent commands to the region itself (player needs to be inside).
restrictedToRegion: false
## The UUID of the landlord, this player will receive all money from rents/buys (but not reselling with '/as resell')
## The UUID of the landlord, this player will receive all money from rents/buys (but not reselling with '/as resell').
## If you use this value be sure that you set 'moneyBack' to 0, because money will not be substracted from the account
## of the landlord and the player would get money 'out of thin air'.
landlord: ""
# ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
# │ RENT: Options for rent regions
# │ RENT: Options for rent regions.
# └────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
rent:
## The default price of a renting region
## The default price of a renting region.
price: 1000
## The default duration of a renting region, you can find all time indicators in config.yml below the RENTING header
## The default duration of a renting region, you can find all time indicators in config.yml below the RENTING header.
duration: '1 day'
## The percentage of the renting price you get back if you unrent the region (price of time left will be multiplied by this/100)
## The percentage of the renting price you get back if you unrent the region (price of time left will be multiplied by this/100).
moneyBack: 100
## Maximum number of extends a player can do (-1 for infinite, 0 for no extending)
## Maximum number of extends a player can do (-1 for infinite, 0 for no extending).
maxExtends: -1
## The Maximum time they can have the region rented in advance (use times like '1 day' etc, or 'unlimited' for no limit)
## The Maximum time they can have the region rented in advance (use times like '1 day' etc, or 'unlimited' for no limit).
## If you set this lower then the rent duration then players will not be able to rent the region
## (because it always exceeds the maxRentTime in that case)
## (because it always exceeds the maxRentTime in that case).
maxRentTime: 'unlimited'
## Automatically unrent the region after the specified number of minutes between the last login time of the renter and the current time
## Use times like '1 day' etc, or 'disabled' for never
## Automatically unrent the region after the specified number of minutes between the last login time of the renter and the current time.
## Use times like '1 day' etc, or 'disabled' for never.
inactiveTimeUntilUnrent: 'disabled'
## If a region of a player has less then this time left when he joins the server he will get a warning
## You can find all time indicators in config.yml below the RENTING header, change to '' to disable
## If a region of a player has less then this time left when he joins the server he will get a warning.
## You can find all time indicators in config.yml below the RENTING header, change to '' to disable.
warningOnLoginTime: '1 day'
## The profile for the expiration warnings as specified in the config
## The profile for the expiration warnings as specified in the config.
expirationWarningProfile: 'default'
# ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
# │ BUY: Options for buy regions
# │ BUY: Options for buy regions.
# └────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
buy:
## The default price of a buying region
## The default price of a buying region.
price: 1000
## The percentage of the buying price you get back if you sell the region
## The percentage of the buying price you get back if you sell the region.
moneyBack: 100
## Automatically sell the region after the specified number of minutes between the last login time of the buyer and the current time
## -1 mean never, 1440 is one day, 43200 is one month, 525600 is one year
## -1 mean never, 1440 is one day, 43200 is one month, 525600 is one year.
inactiveTimeUntilSell: -1

View File

@ -8,8 +8,8 @@ author: NLThijs48
website: http://dev.bukkit.org/bukkit-plugins/regionbuyandrent/
commands:
AreaShop:
description: 'For all commands use /as help'
usage: 'AreaShop has not started correctly, check the log file (or console) and correct any errors'
description: 'For all commands use /as help.'
usage: 'AreaShop has not started correctly, check the log file (or console) and correct any errors.'
aliases: [as]
permissions:
areashop.*: