2012-11-23 20:59:12 +01:00
package com.Acrobot.ChestShop.Configuration ;
2013-04-23 20:09:23 +02:00
import com.Acrobot.Breeze.Configuration.Annotations.ConfigurationComment ;
2018-10-23 20:04:18 +02:00
import com.Acrobot.Breeze.Configuration.Annotations.Parser ;
2013-04-23 20:09:23 +02:00
import com.Acrobot.Breeze.Configuration.Annotations.PrecededBySpace ;
2018-10-23 20:04:18 +02:00
import com.Acrobot.Breeze.Configuration.Configuration ;
import com.Acrobot.Breeze.Configuration.ValueParser ;
import com.Acrobot.ChestShop.ChestShop ;
import org.bukkit.Material ;
2012-11-23 20:59:12 +01:00
2018-05-05 17:23:30 +02:00
import java.util.Arrays ;
2018-10-23 20:04:18 +02:00
import java.util.Collection ;
import java.util.EnumSet ;
import java.util.HashSet ;
import java.util.LinkedHashSet ;
2018-05-05 17:23:30 +02:00
import java.util.List ;
2018-10-23 20:04:18 +02:00
import java.util.Set ;
import java.util.logging.Level ;
2018-05-05 17:23:30 +02:00
2012-11-23 20:59:12 +01:00
/ * *
* @author Acrobot
* /
public class Properties {
2018-10-23 20:04:18 +02:00
static {
Configuration . registerParser ( " StringSet " , new ValueParser ( ) {
public Object parseToJava ( Object object ) {
if ( object instanceof Collection ) {
return new LinkedHashSet < > ( ( Collection < String > ) object ) ;
}
return object ;
}
} ) ;
Configuration . registerParser ( " MaterialSet " , new ValueParser ( ) {
public Object parseToJava ( Object object ) {
if ( object instanceof Collection ) {
EnumSet < Material > set = EnumSet . noneOf ( Material . class ) ;
for ( Object o : ( Collection ) object ) {
if ( o instanceof Material ) {
set . add ( ( Material ) o ) ;
} else if ( o instanceof String ) {
try {
set . add ( Material . getMaterial ( ( ( String ) o ) . toUpperCase ( ) ) ) ;
} catch ( IllegalArgumentException e ) {
ChestShop . getBukkitLogger ( ) . log ( Level . WARNING , o + " is not a valid Material name in the config! " ) ;
}
}
}
return set ;
}
return object ;
}
} ) ;
}
2014-03-20 16:57:32 +01:00
@ConfigurationComment ( " Do you want to turn off the automatic updates of ChestShop? " )
public static boolean TURN_OFF_UPDATES = false ;
2017-06-30 21:28:18 +02:00
@PrecededBySpace
2018-03-12 21:01:28 +01:00
@ConfigurationComment ( " How large should the internal caches be? " )
2017-06-30 21:28:18 +02:00
public static int CACHE_SIZE = 1000 ;
2018-10-23 20:04:18 +02:00
@PrecededBySpace
@ConfigurationComment ( " What containers are allowed to hold a shop? (Only blocks with inventories work!) " )
@Parser ( " MaterialSet " )
public static Set < Material > SHOP_CONTAINERS = EnumSet . of (
Material . CHEST ,
Material . TRAPPED_CHEST
) ;
2013-04-23 20:09:23 +02:00
@PrecededBySpace
2012-11-23 20:59:12 +01:00
@ConfigurationComment ( " (In 1/1000th of a second) How often can a player use the shop sign? " )
2012-11-23 21:00:35 +01:00
public static int SHOP_INTERACTION_INTERVAL = 250 ;
2012-11-23 20:59:12 +01:00
@ConfigurationComment ( " Do you want to allow using shops to people in creative mode? " )
public static boolean IGNORE_CREATIVE_MODE = true ;
@ConfigurationComment ( " If true, people will buy with left-click and sell with right-click. " )
public static boolean REVERSE_BUTTONS = false ;
2013-04-05 14:17:34 +02:00
@ConfigurationComment ( " If true, people will be able to buy/sell in 64 stacks while holding the crouch button. " )
public static boolean SHIFT_SELLS_IN_STACKS = false ;
2012-11-23 20:59:12 +01:00
2013-04-05 14:17:34 +02:00
@ConfigurationComment ( " What can you do by clicking shift with SHIFT_SELLS_IN_STACKS turned on? (ALL/BUY/SELL) " )
2013-03-30 15:58:06 +01:00
public static String SHIFT_ALLOWS = " ALL " ;
2012-11-23 20:59:12 +01:00
@ConfigurationComment ( " Can shop's chest be opened by owner with right-clicking a shop's sign? " )
public static boolean ALLOW_SIGN_CHEST_OPEN = true ;
@ConfigurationComment ( " If true, when you left-click your own shop sign you won't open chest's inventory, but instead you will start destroying the sign. " )
public static boolean ALLOW_LEFT_CLICK_DESTROYING = true ;
2013-04-23 20:09:23 +02:00
@PrecededBySpace
2012-11-23 20:59:12 +01:00
@ConfigurationComment ( " If true, if the shop is empty, the sign is destroyed and put into the chest, so the shop isn't usable anymore. " )
public static boolean REMOVE_EMPTY_SHOPS = false ;
@ConfigurationComment ( " If true, if the REMOVE_EMPTY_SHOPS option is turned on, the chest is also destroyed. " )
public static boolean REMOVE_EMPTY_CHESTS = false ;
2018-05-05 17:23:30 +02:00
@ConfigurationComment ( " A list of worlds in which to remove empty shops with the previous config. Case sensitive. An empty list means all worlds. " )
2018-10-23 20:04:18 +02:00
@Parser ( " StringSet " )
public static Set < String > REMOVE_EMPTY_WORLDS = new LinkedHashSet < > ( Arrays . asList ( " world1 " , " world2 " ) ) ;
2018-05-05 17:23:30 +02:00
2013-04-23 20:09:23 +02:00
@PrecededBySpace
2012-11-23 20:59:12 +01:00
@ConfigurationComment ( " First line of your Admin Shop's sign should look like this: " )
public static String ADMIN_SHOP_NAME = " Admin Shop " ;
@ConfigurationComment ( " The economy account which Admin Shops should use and to which all taxes will go " )
public static String SERVER_ECONOMY_ACCOUNT = " " ;
@ConfigurationComment ( " Percent of the price that should go to the server's account. (100 = 100 percent) " )
public static int TAX_AMOUNT = 0 ;
@ConfigurationComment ( " Percent of the price that should go to the server's account when buying from an Admin Shop. " )
public static int SERVER_TAX_AMOUNT = 0 ;
@ConfigurationComment ( " Amount of money player must pay to create a shop " )
public static double SHOP_CREATION_PRICE = 0 ;
@ConfigurationComment ( " How much money do you get back when destroying a sign? " )
public static double SHOP_REFUND_PRICE = 0 ;
2018-09-06 00:07:35 +02:00
@ConfigurationComment ( " How many decimal places are allowed at a maximum for prices? " )
public static int PRICE_PRECISION = 2 ;
2013-04-23 20:09:23 +02:00
@PrecededBySpace
2012-11-23 20:59:12 +01:00
@ConfigurationComment ( " Should we block shops that sell things for more than they buy? (This prevents newbies from creating shops that would be exploited) " )
public static boolean BLOCK_SHOPS_WITH_SELL_PRICE_HIGHER_THAN_BUY_PRICE = true ;
2013-04-23 20:09:23 +02:00
@PrecededBySpace
2012-11-23 20:59:12 +01:00
@ConfigurationComment ( " Do you want to allow other players to build a shop on a block where there's one already? " )
public static boolean ALLOW_MULTIPLE_SHOPS_AT_ONE_BLOCK = false ;
2018-01-05 18:30:06 +01:00
@ConfigurationComment ( " Can shops be used even when the buyer/seller doesn't have enough items, space or money? (The price will be scaled adequately to the item amount) " )
2012-11-23 20:59:12 +01:00
public static boolean ALLOW_PARTIAL_TRANSACTIONS = true ;
2014-03-12 13:27:30 +01:00
@ConfigurationComment ( " Can '?' be put in place of item name in order for the sign to be auto-filled? " )
public static boolean ALLOW_AUTO_ITEM_FILL = true ;
2013-04-23 20:09:23 +02:00
@PrecededBySpace
2012-11-23 20:59:12 +01:00
@ConfigurationComment ( " Do you want to show \" Out of stock \" messages? " )
public static boolean SHOW_MESSAGE_OUT_OF_STOCK = true ;
2017-07-04 17:06:34 +02:00
@ConfigurationComment ( " Do you want to show \" Full shop \" messages? " )
public static boolean SHOW_MESSAGE_FULL_SHOP = true ;
@PrecededBySpace
@ConfigurationComment ( " Can players hide the \" Out of stock \" messages with /cstoggle? " )
public static boolean CSTOGGLE_TOGGLES_OUT_OF_STOCK = false ;
@ConfigurationComment ( " Can players hide the \" Full shop \" messages with /cstoggle? " )
public static boolean CSTOGGLE_TOGGLES_FULL_SHOP = false ;
2012-11-23 20:59:12 +01:00
@ConfigurationComment ( " Do you want to show \" You bought/sold... \" messages? " )
public static boolean SHOW_TRANSACTION_INFORMATION_CLIENT = true ;
@ConfigurationComment ( " Do you want to show \" Somebody bought/sold... \" messages? " )
public static boolean SHOW_TRANSACTION_INFORMATION_OWNER = true ;
2013-04-23 20:09:23 +02:00
@PrecededBySpace
2012-11-23 20:59:12 +01:00
@ConfigurationComment ( " If true, plugin will log transactions in its own file " )
public static boolean LOG_TO_FILE = false ;
@ConfigurationComment ( " Do you want ChestShop's messages to show up in console? " )
public static boolean LOG_TO_CONSOLE = true ;
2013-04-23 20:09:23 +02:00
@PrecededBySpace
2013-02-07 14:17:23 +01:00
@ConfigurationComment ( " Do you want to stack all items up to 64 item stacks? " )
public static boolean STACK_TO_64 = false ;
2012-11-23 20:59:12 +01:00
@ConfigurationComment ( " Do you want to use built-in protection against chest destruction? " )
public static boolean USE_BUILT_IN_PROTECTION = true ;
@ConfigurationComment ( " Do you want to have shop signs \" stick \" to chests? " )
public static boolean STICK_SIGNS_TO_CHESTS = false ;
@ConfigurationComment ( " EXPERIMENTAL: Do you want to turn off the default protection when another plugin is protecting the block? (Will leave the chest visually open - CraftBukkit bug!) " )
public static boolean TURN_OFF_DEFAULT_PROTECTION_WHEN_PROTECTED_EXTERNALLY = false ;
@ConfigurationComment ( " Do you want to turn off the default sign protection? Warning! Other players will be able to destroy other people's shops! " )
public static boolean TURN_OFF_SIGN_PROTECTION = false ;
2013-08-26 23:36:50 +02:00
@ConfigurationComment ( " Do you want to disable the hopper protection, which prevents the hoppers from taking items out of chests? " )
public static boolean TURN_OFF_HOPPER_PROTECTION = false ;
2012-11-23 20:59:12 +01:00
@ConfigurationComment ( " Do you want to protect shop chests with LWC? " )
public static boolean PROTECT_CHEST_WITH_LWC = false ;
@ConfigurationComment ( " Do you want to protect shop signs with LWC? " )
public static boolean PROTECT_SIGN_WITH_LWC = false ;
2014-06-22 14:32:40 +02:00
@ConfigurationComment ( " Should the chest's LWC protection be removed once the shop sign is destroyed? " )
public static boolean REMOVE_LWC_PROTECTION_AUTOMATICALLY = true ;
2013-04-23 20:09:23 +02:00
@PrecededBySpace
2012-11-23 20:59:12 +01:00
@ConfigurationComment ( " Do you want to only let people build inside regions? " )
public static boolean WORLDGUARD_INTEGRATION = false ;
2017-07-24 16:04:58 +02:00
@ConfigurationComment ( " Do you want to only let people build inside region flagged by doing /region regionName flag allow-shop allow? " )
2018-01-07 02:11:59 +01:00
public static boolean WORLDGUARD_USE_FLAG = false ;
2012-11-23 20:59:12 +01:00
@ConfigurationComment ( " Do you want ChestShop to respect WorldGuard's chest protection? " )
public static boolean WORLDGUARD_USE_PROTECTION = false ;
2016-08-20 22:17:10 +02:00
@PrecededBySpace
@ConfigurationComment ( " Do you want to deny shop access to unlogged users? " )
public static boolean AUTHME_HOOK = true ;
@ConfigurationComment ( " Do you want to allow shop access to unregistered users? (Example: registration is optional) " )
public static boolean AUTHME_ALLOW_UNREGISTERED = false ;
2013-04-23 20:09:23 +02:00
@PrecededBySpace
2012-11-23 20:59:12 +01:00
@ConfigurationComment ( " How much Heroes exp should people get for creating a ChestShop? " )
public static double HEROES_EXP = 100 ;
2018-05-07 16:32:51 +02:00
2018-01-06 17:44:35 +01:00
@PrecededBySpace
@ConfigurationComment ( " Add icons and make item names hoverable in transaction messages when ShowItem is installed? " )
public static boolean SHOWITEM_MESSAGE = true ;
2016-08-20 22:17:10 +02:00
}