Removed a hasAccount check from add, subtract and hasEnough. These checks should not exist.
The reasons are:
hasEnough: The default for an account may not have enough to pay for anything. Changed to check if Server Account instead.
add & subtract: Changed the check to only isEmpty. This is because money should not just be created or destroyed.
Fixes problems with isValid() when used on a sign which has it's price line formatted with lower case letters. Also, uses RegEx to check the price line is valid.
Moved packages in a more logical order.
Fixed TransactionLogger using only event.getStock()[0] while logging the
transaction.
Also, TransactionLogger uses string formatter now, instead of a
StringBuilder.
- Copied utilities from ChestShop-4
- Made code really, really nicer to read
- Made every external plugin's wrapper a listener, so it listens to events instead of being hard-coded.
- Switched from YamlConfiguration to BreezeConfiguration (from ChestShop 4)
- Fixed getDouble()
- Instead of checking for Admin Shops, we just pass in a new AdminShop Container
- Created events for shop creation, protection checks and protection creation
- Expanded string data value parsing, for example - you can use "Ocelot Monster" on the sign
- Collected all external plugin wrappers in a single folder
- Instead of using statics, now we use objects
- Fixed enchantments for armour
- Made config more readable
- Added a setting for removing empty shops
- Switched from System.out to logger
- Also, switched from ugly file logging to Java's native one (FileHandler)
- Added an option to tax transactions even when SERVER_ECONOMY_ACCOUNT is empty
- Changed the Container interface
- Removed old pre-CB 1.1-R6 chest compatibility
- Changed priorities for block destroying
- Synchronised run() in Queue, as it's called from asynch thread.