Commit Graph

575 Commits

Author SHA1 Message Date
Phoenix616
35dd13f917 Slightly change access_denied message to indicate container access error
This is necessary as the no_permission error was worded exactly the same making debugging more difficulty. Also this way someone who thinks he needs to access the chest doesn't think that he doesn't have access to the shop at all.
2019-11-04 17:26:22 +01:00
g--o
88a23a38db Added toggle access command (#271)
Thanks to @g--o and @JRoy
2019-09-16 12:56:30 +01:00
Phoenix616
c028015d5e Improve /cstoggle by using UUIDs and HashSet instead of ArrayList 2019-09-14 23:49:40 +01:00
Phoenix616
d51a512ab8 Fix Vault CurrencyAmountEvent listener returning wrong balance 2019-09-06 13:31:19 +01:00
Phoenix616
bc680afcaf Slightly rework item comparison to fix legacy spawn eggs (Fixes #264) 2019-09-06 13:23:49 +01:00
Phoenix616
58cf96dca8 Fix issues with double chests not begin detected as shops in some cases 2019-08-31 11:20:02 +01:00
Phoenix616
b718fcc429 Use shop owner for LWC protections and not the creator
Also fix a bug where it was possible for shops to be created with shop owners that did not have a valid Account information when other plugins manipulated the name line after the NameChecker checked it. Now it gets checked twice, once at the start (to abort early and to populate the ownerAccount field) and once at the end to check again when the name line changed.
2019-08-22 14:03:27 +01:00
Phoenix616
f90d23cfc3 Update LWC protection and support more LWC forks (LWCX and Modern-LWC) 2019-08-22 13:09:54 +01:00
Phoenix616
5eb467a1d3 Set UUID version if players are online when manager loads (Fixes #265) 2019-08-20 13:15:41 +01:00
Phoenix616
930b2cc07b Use prepared queries to avoid special character issues (Fixes #258) 2019-07-29 18:50:26 +01:00
Phoenix616
e972a7d657 Add further workarounds for comparing meta data (Fixes #250)
This is especially obvious for books where all the text will have color codes after dumping and loading them from the database. In order to be able to still compare to them we will load the item the item and then dump it again if it doesn't match the original one.
2019-07-08 18:05:50 +01:00
Phoenix616
6c5e5ece81 Block editing of shop signs that user can't destroy (BUKKIT-1293) 2019-07-08 17:21:21 +01:00
Phoenix616
481e2bdf9e Fix issue with sign sticker 2019-06-09 15:04:14 +01:00
Phoenix616
b0523b2199 Add cooldown for empty/full shop owner notifications 2019-05-27 17:11:09 +01:00
Phoenix616
26daa4531d Always register WorldGuard shop flag (Fixes #230)
The configuration isn't loaded yet when the plugin loaded and the flag initialised so we can't check that there. The config option is checked at the point where the flag is handled though so there is no difference from the intended functionality when registering the flag anyways. The only downside is that this could be a tiny bit confusing to the user in the end but I think that is a small price to pay when it wouldn't be working at all otherwise.
2019-05-13 00:16:57 +01:00
Phoenix616
17e7ab781b Fix shops creation message getting send on auto fill
The NameChecker now catches any exception that might be thrown when querying the account in order to properly cancel in the case of an unknown account or an error that occurred in the event to not let players create shops that they don't have access to if an exception occurs.
2019-05-08 00:22:16 +01:00
Phoenix616
2907706399 Actually send error message and break sign on unknown player error 2019-05-08 00:11:47 +01:00
Phoenix616
a8c57bc0ab Set name line empty if name isn't usable and always use account name 2019-05-07 23:57:56 +01:00
Phoenix616
ca94031ddf Fix wrong UUID version comparison logic 2019-05-07 23:48:04 +01:00
Phoenix616
a95f7316d6 Fix ProtectionCheckEvent not being used when accessing shop 2019-05-07 16:13:56 +01:00
Phoenix616
b300798a62 Make querying of accounts by (short) name an event too 2019-05-06 23:49:16 +01:00
Phoenix616
619ac17cd5 Also use registry to get the allow-shop flag 2019-05-06 18:19:33 +01:00
Phoenix616
2e0c5a3cac Fix issues with user account storage on shop creation
This fixes a bug where shop owner accounts would not be created in certain cases e.g. when the owner had certain admin permissions or created the account for another player while having certain admin permissions.
2019-05-05 19:23:04 +01:00
Phoenix616
4769ae2cf7 Allow loading of different numbers to BigDecimal (Fixes #225)
Also catch wrong types when loading the config better without completely disabling the plugin and revert "Make sure special parsers are setup" and register the parsers static again.
2019-05-03 21:08:56 +01:00
Phoenix616
da1dd94705 Make sure special parsers are setup (Might prevent #225)
There might have been a case where when trying to pair the yml file with the Properties class the parsers weren't actually registered yet as nothing was called on the Properties file yet.
2019-05-02 18:35:45 +01:00
Phoenix616
816fe77f27 Use registry to register WorldGuard flags 2019-05-01 17:21:46 +01:00
Phoenix616
04f91aa55b Add warnings about unknown OfflinePlayer to VaultListener
Also improve the ReserveListener by removing the query for the OfflinePlayer object as that's not necessary to use the Reserve economy API as it directly provides methods for UUID usage (and account existence has usually been checked before already)
Also use canAddHoldings to check if economy user can hold money instead of adding and removing.
2019-05-01 17:13:47 +01:00
Phoenix616
0b57382cd0 Don't use sign Material as that's going to change in 1.14 2019-05-01 17:01:43 +01:00
Phoenix616
c538f4a3dc Remove all usage of old MaterialData and other outdated code
This should make it more future-proof and possibly even work with 1.14 already.
2019-04-30 21:31:24 +01:00
Phoenix616
6773f89221 Improve internal precision of calculations (Fixes #221) 2019-04-30 16:02:01 +01:00
Phoenix616
8cf9934a32 Properly set scale and rounding mode for divisions (Fixes #220) 2019-04-28 15:41:20 +01:00
Phoenix616
f0bc277566 Move to BigDecimal in all events and use the CurrencyTransferEvent
Also add tax bypass permissions (#204, ChestShop.notax.buy/sell). When buying with that permission the buyer does not have to pay the tax (the seller will still get the reduced amount), when selling the seller will get the full amount instead of one lowered by the tax.
The permissions of the shop owner play no role due to there not being a good way of checking offline player permissions and it being a bit non-obvious for the buying/selling player if a shop would be with or without tax. This way all that gets changed is the amount the player pays/receives and not the shop owner (and the player should know their permissions/rank already)

The transfer event was necessary in order to correctly resolve who triggered the transaction. Economy adapters are now required to implement a listener for each of the events. It's also recommended that economy adapters that support transfers directly use that instead of passing it through subtract and add with the processTransfer method.
2019-04-25 18:44:22 +01:00
Phoenix616
6e78fea880 Update the container on item transfers (Fixes #217)
This was removed when the item transfer code changed which stopped comparators from working. This shouldn't be a true block update that observers can detect but only a notification for surrounding blocks that the content might have changed.
2019-04-23 18:00:21 +01:00
Phoenix616
28fb5cbeff Fix message amount display error when buying from admin shops
Also fix that the stock items were modified when buying from the admin shop
2019-04-07 13:48:16 +01:00
Phoenix616
53ae07b779 Fix error that prevented selling to admin shops 2019-04-07 13:47:18 +01:00
Phoenix616
8a09e91e62 Better catch for potential exceptions when de-serializing items
For some reason items might corrupt in the encoding and decoding process leading to invalid YAML strings. There's also another issue of the server not being able to load certain old itemstacks. (seems to be especially an issue with old entity types)
2019-04-06 18:39:49 +01:00
Phoenix616
52492f8469 Support registering of economy providers after the plugin loaded 2019-04-06 16:24:20 +01:00
Phoenix616
5a99180aab Fix Admin Shops by adding more implementation to AdminInventory
This is required as we now move items between inventories instead of individually removing and adding. This basically adds the stock represented by the admin shop sign to the AdminInventory so all transactions should always be possible.
2019-04-05 15:17:15 +01:00
Phoenix616
1952e5cb46 Directly transfer items (Fixes #169) 2019-04-05 14:49:27 +01:00
Phoenix616
2007c4a7fb Fix ShopDestroyEvent not getting called in certain cases
This could be triggered by updating a column of physics blocks with a shop attached
2019-04-01 13:55:21 +01:00
Phoenix616
be5f47cb1f Add config option to toggle if all shop removals should be logged
Removals that happened due to no player being present will always be logged
2019-04-01 13:49:48 +01:00
Phoenix616
03589b3fef Catch Vault issues with null usernames (#158, #194, #205, #209) 2019-03-30 16:09:48 +01:00
Phoenix616
b37bf12e7f Convert old item metadata to newest version (Fixes #202) 2019-03-30 15:40:31 +01:00
Phoenix616
8cd89bf8ee Work around issue with serialising explorer maps
This is due to a bug in CraftBukkit not properly supporting localised/translatable display names when serialising item meta.
This also adds/improves the message when no valid item ID could be generated.
2019-03-19 19:08:53 +01:00
Phoenix616
355fa58ac4 Properly detect if reserve economy is provided (Fixes #210) 2019-03-18 15:10:18 +01:00
Phoenix616
b931393a62 Fix more issues with the shop access permissions (#207) 2019-03-08 22:52:08 +01:00
Phoenix616
de5b505ec5 Fix issues with shop sign opening and access permissions (Fixes #207) 2019-03-07 17:33:47 +01:00
Phoenix616
6d99210dd7 Really fix price restriction 2019-01-19 00:40:50 +01:00
Phoenix616
20228dd645 Fix amount in price restriction not working correctly
Also fix copy and paste error in SELL_PRICE_BELOW_MIN error message.
2019-01-18 22:27:40 +01:00
Phoenix616
91a372bd05 Make Item and Material parsing events 2019-01-17 19:50:47 +01:00
Phoenix616
c8d0590614 Add different error messages when price limits are exceeded (#193) 2019-01-17 18:08:54 +01:00
Phoenix616
6fe6f80538 Use Bukkit's inbuilt command permissions system (Fixes #186)
Also fix plugin not disabling when dependencies aren't loaded correctly
2018-11-25 00:59:13 +01:00
Phoenix616
bc14736a37 Ignore cancelled sign change events 2018-11-21 00:45:39 +01:00
Phoenix616
b853afbd52 Fix issues with the permissions for using different player names
This adds separate permissions for accessing, creating and destroying of shops.
It also adds a config entry to allow using of a shop even if someone have access to it due to their permissions.
2018-11-19 21:10:48 +01:00
Phoenix616
b17a471c21 Check if dependency is enabled (Fixes #181) 2018-11-12 15:03:13 +01:00
Phoenix616
727f49fc28 Update to new Vector API in WorldEdit/WorldGuard 7 2018-11-06 15:35:28 +01:00
Phoenix616
7adf02e532 Improve hopper protection
The InventoryMoveItemEvent is now only used for Hopper Minecarts, other blocks that could move items (Hoppers and Droppers) are checked on place. That way players that have access to a shop can just use the blocks normally but other players can't place them.
2018-10-23 19:27:39 +01:00
Phoenix616
fe85dafec5 Allow configuring what containers can be used for shops (Fixes #175) 2018-10-23 19:14:21 +01:00
Phoenix616
b5f77d67b5 Fix color of ShowItem insert bleeding into message 2018-10-23 19:02:09 +01:00
Phoenix616
470f9d8d99 Allow admins to create shops for other users (Fixes #176) 2018-10-23 16:06:27 +01:00
Phoenix616
2243c2fbc6 Update to new AuthMeReloaded API (Fixes #174) 2018-10-15 20:27:38 +01:00
Phoenix616
26d800132c Merge branch '1.12' into 1.13 2018-09-26 17:02:21 +01:00
Phoenix616
b30688b635 Fix issues with admin shops, ops and creative mode (Fixes #168) 2018-09-26 17:02:13 +01:00
Phoenix616
39a522716f Merge branch '1.12' into 1.13 2018-09-18 00:09:07 +01:00
Phoenix616
96b5a675d6 Allow admins to use the admin shop in all cases
This fixes issues with the auto complete right click functionality not working with admin shops
2018-09-18 00:08:54 +01:00
Phoenix616
0c6aaaa6f7 Fix damage not getting set properly 2018-09-10 01:11:42 +01:00
Phoenix616
adf5340932 Remove spaces from shortened strings for better readability
This is necessary due to the extended length of some material names in 1.13 as they directly include the variation into the material where previously only the data value was used. (E.g. BLACK_STAINED_GLASS_PANE) By removing the spaces and using uppercase characters to separate parts the string stays both readable to the user and parseable by the plugin. It should also be backwards compatible with the old format. (At least with 1.13 material names)
2018-09-10 00:33:27 +01:00
Phoenix616
e1998bcd7c Merge branch '1.12' into 1.13
# Conflicts:
#	src/main/java/com/Acrobot/Breeze/Utils/MaterialUtil.java
2018-09-10 00:31:26 +01:00
Phoenix616
12d2107ce1 Fix passing Material enum strings directly to getShortenedName 2018-09-10 00:25:25 +01:00
Phoenix616
173991ab4a Use spaces and proper casing for calculating width (Fixes #166)
This also slightly changes which name part gets shortened first. It will first shorten the longest name and then the rest.
2018-09-09 22:43:49 +01:00
Phoenix616
54b3b6966c Merge branch '1.12' into 1.13
# Conflicts:
#	src/main/java/com/Acrobot/Breeze/Utils/MaterialUtil.java
#	src/test/java/com/Acrobot/Breeze/Tests/MaterialTest.java
2018-09-09 14:47:32 +01:00
Phoenix616
516eefc5b6 Allow longer item names on signs by calculating the width
This uses hardcoded widths for the main characters used in Minecraft and might not be precise for some characters but better than the previous 15 char hard limit.
2018-09-09 14:37:09 +01:00
Phoenix616
2459a406fe Auto-correct item code on sign.
This also makes it possible to input IDs on the sign that are longer than the max sign letters that the plugin uses as that just gets auto corrected back down to the correct amount.
2018-09-09 13:26:08 +01:00
Phoenix616
afab90d021 Fix wording in of incorrect item id message 2018-09-09 13:24:26 +01:00
Phoenix616
f1ce97dbce Merge branch '1.12' into 1.13 2018-09-05 23:07:49 +01:00
Phoenix616
df76347697 Improve sign price corrections
This includes a new price_precision config entry to set the amount of decimal places to allow on a shop sign (set to 2 by default). Thanks to @andrewkm for this idea.
It also fixes an issue where a zero inside the decimal places was removed instead of it's end and also removes the point and zeros from prices that only have trailing zeros to avoid confusion (e.g. in languages that use the decimal point for thousands)
2018-09-05 23:07:35 +01:00
Phoenix616
01ebedcc84 Merge branch '1.12' into 1.13 2018-08-31 13:55:54 +01:00
Phoenix616
06e4e1bf17 Don't search offline players when checking for existing (Fixes #162) 2018-08-31 13:55:36 +01:00
Phoenix616
5f0bbfff0c Merge branch '1.12' into 1.13 2018-08-29 21:29:52 +01:00
Phoenix616
dd4177e7cb Query server's player cache for missing players
This uses a cache for players that we haven't found before so to not check the cache too often and also checks if the online mode of the queried OfflinePlayer matches the server's mode (gotten from the first logged-in player in order to be compatible with BungeeCord requiring the server to be in offline-mode.
2018-08-29 21:29:27 +01:00
Phoenix616
640364e7e7 Actually return the block that the sign is attached to 2018-08-29 21:02:06 +01:00
Brokkonaut
f5b3aa6b75 1.13 allows single chests besides each other. Handle that correctly. 2018-08-29 20:57:48 +01:00
Brokkonaut
b972e79132 Update to WorldGuard 7.0.0 (for 1.13) 2018-08-29 20:32:27 +01:00
Phoenix616
cf9e5bafde Merge branch '1.12' into 1.13 2018-08-23 22:12:58 +01:00
Phoenix616
836ef56864 Add more message placeholders (Fixes #159) 2018-08-23 22:10:24 +01:00
Phoenix616
e155b98c96 Merge branch '1.12' into 1.13 2018-08-22 00:29:12 +01:00
Phoenix616
fc62ab0823 Use different economy responses and make some events cancellable
Also moved the creation fee subtraction to before the shop was created to be able to cancel the creation
2018-08-22 00:21:34 +01:00
Phoenix616
89dcde83de Differentiate between wall and standing signs (Fixes #147) 2018-07-29 15:05:45 +01:00
Phoenix616
d4e39a3751 Make it compile with 1.13. No guarantees that it works without issues! 2018-07-26 00:13:06 +01:00
Daniel V
8ae72e5803 Feature: Reserve Support (#143)
This introduces a new AccountCheckEvent to check if a user actually has an account with the used economy plugin. Also fix CurrencyTransferEvent logic (even though it's not used anywhere currently)
2018-07-11 18:09:07 +01:00
Phoenix616
7311907559 Add more per material shop creation permissions 2018-06-24 00:17:35 +01:00
Phoenix616
1cb481097c Don't refund for non-finished signs (Fixes #141) 2018-06-23 15:01:41 +01:00
Phoenix616
247b2d239e Fix issues with alternative block materials forms
This also removes the number in the name from /iteminfo and the autocompletion
2018-06-18 20:04:17 +01:00
Phoenix616
5b925171e3 Add support for stored enchantments to /iteminfo and format it better
Partly fixes #135
2018-06-03 19:23:40 +01:00
Phoenix616
c39720b449 Don't try to get the MaterialData from every damage (Fixes #131)
We will have to add a new way of handling that for 1.13 anyways when data isn't using damage values anymore.
2018-05-15 23:58:34 +01:00
Phoenix616
036d309965 [CI-SKIP] Fix some formatting inconsistencies
Remove spaces on empty lines and changed doc comment formatting
Also includes some minor comments and import fixes
2018-05-07 15:32:51 +01:00
Phoenix616
b3e62f199f Add option to set the worlds where shops should be removed (Fixes #129)
This also adds the ability to set string lists in the config.
2018-05-05 16:23:30 +01:00
Phoenix616
34b6ab2cf2 Update spigot-api and ormlite-jdbc
This might fix the Xerial driver warning from #9/BUKKIT-1073
2018-04-18 14:58:15 +01:00
Phoenix616
88bffc6fde Move comments in above config fields.
This should help avoid confusions as it matches the class' annotation layout and almost every other plugin does it like this.
2018-04-02 18:20:52 +01:00
Phoenix616
ae8d1c79e9 Properly check if item is empty (Fixes #123) 2018-04-02 17:41:45 +01:00
Phoenix616
68ce9d56f6 Allow lowercase config keys too 2018-03-22 18:33:11 +01:00
Phoenix616
d28e44f377 Make sure to set the item if removed manually 2018-03-22 17:01:56 +01:00
Phoenix616
679000de15 Improve MaterialData handling
- Adds ability to shorten MaterialData type strings
- Removes Banner color string in name
2018-03-16 18:30:51 +01:00
Phoenix616
dd44217132 Fix issues with metadata IDs
Also log more info when the code couldn't be generated and send it to the sender when the iteminfo command is used
2018-03-16 18:24:52 +01:00
Phoenix616
51495cdefb Fix issues with banners and display their color
Also print more info when the code couldn't be generated.
2018-03-14 18:53:34 +01:00
Phoenix616
26ddb52434 Properly split the material name (Fixes #114) 2018-03-14 15:08:51 +01:00
Phoenix616
d04e17450b Make material name shortening testable and move test to proper package 2018-03-14 15:07:13 +01:00
Phoenix616
58a14bc508 Optimize StringUtil 2018-03-12 21:02:57 +01:00
Phoenix616
6e9824e6b0 Add better item name shortening. (Fixes #112) 2018-03-12 21:01:28 +01:00
Phoenix616
b22d8fd95d Move cache to own class in Breeze package 2018-03-12 21:01:03 +01:00
Tim222
21815197c6 Fix Vault-Accountcheck for renamed player (#106) 2018-01-27 17:12:34 +01:00
Phoenix616
c5c9e96b13 Properly stack partial stacks (Fixes #102) 2018-01-23 17:32:54 +01:00
Phoenix616
650d02e401 No need to log console message async (Fixes #101)
Iirc this was only async for database logging or name resolving. Neither of these is done anymore and async access of the Bukkit API can lead to strange problems like the CME described in the mentioned issue.
2018-01-22 01:00:24 +01:00
Phoenix616
e4fb9f9872 Use lowercase name instead of full lowercase permission 2018-01-22 00:39:42 +01:00
Phoenix616
1788fa9702 Fix NPE when section doesn't exist (Fixes #99) 2018-01-13 23:35:55 +01:00
Phoenix616
6d4db1c8f6 1.13 preparations: Get rid of numeric item ids 2018-01-12 17:54:57 +01:00
Phoenix616
0176ea1dc5 Check the block that the sign is attached to first (Fixes #97)
Also fix some oddities and duplicate code/method execution
2018-01-11 18:28:45 +01:00
Phoenix616
445ed9574a Send buy notification to shop owner, not to buyer (Fixes #98) 2018-01-11 15:29:04 +01:00
Phoenix616
4fd2bcb836 Send correct message when shop is full. (Fixes #95) 2018-01-09 19:55:37 +01:00
Phoenix616
eaeeb80fd3 Fix issues with partial item transfer due to full inventory 2018-01-08 23:56:58 +01:00
Phoenix616
3ad0849c3d Merge similar stacks when showing the ShowItem message 2018-01-08 22:53:44 +01:00
Phoenix616
b2a31b8eb2 Add ability to autofill sign by clicking it
Also disable the worldguard shop flag by default...
2018-01-07 02:11:59 +01:00
Phoenix616
ac73442643 Added ability to show item icons and hover info with ShowItem 2018-01-06 17:44:35 +01:00
Phoenix616
110d98d599 Fix cast exception (Fixes issue #93) 2018-01-06 15:44:51 +01:00
Phoenix616
0e8ef9f2be Revert cancelling change. The events don't and can't extend Cancellable. 2018-01-05 18:34:45 +01:00
Phoenix616
b23a0d238e Allow partial transactions due to missing inventory space (Fixes #88) 2018-01-05 18:30:06 +01:00
Phoenix616
a0505e995e Merge items in logger message 2018-01-03 17:28:31 +01:00
Phoenix616
d84313716f Add old piston checks back in for backwards compatibility. (Fixes #91)
These checks are completely unsupported though!
2017-12-31 01:13:13 +01:00
Phoenix616
7c9dd5c3f3 Check all blocks moved by pistons (Fixes DBO-1247) 2017-12-30 16:08:09 +01:00
Phoenix616
8687b94e22 Make sure the maxStackSize isn't zero (Fixes #87)
By returning an empty array here we completely stop the transaction if the max stack size somehow manages to be zero.
2017-12-04 16:39:23 +01:00
Phoenix616
0354258251 Migrate all versions and disable on fail.
This should make it possible to theoretically upgrade from version 1 to version 3 databases.
2017-11-26 18:57:32 +01:00
Phoenix616
5d73320889 Set sign lines even when the event is cancelled (Fixes #82)
Also get the sign line from the event instead of the sign when checking if it is an admin shop so you can actually change that via an event listener.
2017-11-20 13:44:59 +01:00
Phoenix616
1276c6f031 Add method to get the last account information from a shortened name 2017-11-17 22:08:06 +01:00
Phoenix616
29ef7f25aa Fix errors when server economy account is not defined or invalid 2017-11-15 21:13:07 +01:00
Phoenix616
4075b2e38a Use the alias on the sign if one is defined in OddItem 2017-11-15 21:08:32 +01:00
Phoenix616
d332603fb4 Do not automatically color config strings (Fixes BUKKIT-1241)
This is necessary so that we still store the messages with the & code internally as they would get saved back to the config file using the converted color code (section sign) which could lead to encoding issues on different operating systems. (It also fixes issues with strings that contain an and sign that isn't supposed to be a color code) Instead we load the real string and color messages via the prefix method which should get called in every instance where a message is send.
2017-11-13 15:11:22 +01:00
Phoenix616
519a4fca8a Names with a colon are valid (Fixes #81)
The NameManager appends a unique id for every player that has the same short name as another already existing one with a colon to the end of the clashing usernames. This is necessary so that a player can't just change their name to another user's old name and get access to all his shops.
2017-11-10 00:05:59 +01:00
Phoenix616
2d45dcdac0 Get rid of expensive calls to Bukkit#getOfflinePlayer with a username
This changes events to store the database Account instead of an OfflinePlayer and deprecates any event method that uses/returns OfflinePlayer. This is necessary as Bukkit#getOfflinePlayer(String) queries Mojang for the UUID when the user was not found in the local cache. As we already store this information (name to UUID mapping) in our database we should not have no need to rely on querying Mojang. (This might make transactions fail for shop owners that haven't played before but that shouldn't really be an issue in most cases)
2017-10-29 23:50:24 +01:00
Phoenix616
61c08a3b18 Calculate the amount instead of using a loop (Fixes #78) 2017-10-25 15:22:26 +01:00
Phoenix616
e81077143e Also check for full account name permission 2017-09-26 15:39:08 +01:00
Phoenix616
1d80edbf9b Get rid of google dependencies
Mostly replaced with Java 8 features and our own cache
2017-09-23 15:19:00 +01:00
Phoenix616
9b7000272d Merge remote-tracking branch 'origin/master' 2017-09-06 14:20:14 +01:00
Phoenix616
9da7d5198b Fix stacking issues (Fixes #74)
This also fixes some conditions under which the STACK_TO_64 option did not get applied correctly and wrong inventory space checking for items with a max stack size of less than 64
2017-09-06 14:19:34 +01:00
Max Lee
3434c8860c Merge pull request #64 from LukBukkit/master
Fixed an error when trading with a admin shop (Fixes #59, #63 & DevBukkit #1219)
2017-08-27 16:16:11 +01:00
Phoenix616
7199acb8ef Added progress to migration and made error messages prettier (#67) 2017-08-17 21:38:05 +01:00
Phoenix616
9368dfea75 Make sure owner name is set (Fixes DevBukkit-1225) 2017-08-15 13:02:26 +01:00
Phoenix616
9a9e89206b Fix NPE that occurs when STACK_TO_64 is true (DevBukkit-1222) 2017-08-06 11:40:20 +01:00
Phoenix616
0413f24e64 Fix error in config comment 2017-08-06 11:40:02 +01:00
LukBukkit
e672dc5e22
Fixed an error when trading with a admin shop (Fixes #59 & fixes #63) 2017-07-26 15:13:03 +02:00
Phoenix616
4a71af39af Return account by normal name if name is longer than 15 cars (DevBukkit-1217) 2017-07-09 17:30:26 +01:00
Phoenix616
b3b9e690dd Fix NPE when server economy account info can't be found (DevBukkit-1216)
Also add a warning to the startup if that happens
2017-07-09 17:00:31 +01:00
Phoenix616
4120455974 Strings already get colored by the Breeze library 2017-07-05 23:51:49 +01:00
Phoenix616
9269fc4049 Added bstats metrics as mcstats isn't really stable anymore 2017-07-05 15:23:28 +01:00
Phoenix616
2e7613ae9c Create LWC protections with UUIDs instead of the name
Thanks to @Brokkonaut for noticing this
2017-07-04 16:18:21 +01:00
Phoenix616
0dea862cd0 Add full shop message, location and respect cstoggle
Inspired by @Brokkonaut's fork this adds a new NOT_ENOUGH_SPACE_IN_YOUR_SHOP message to send to the shop owner when someone tries to sell to his shop. It also adds new %world, %x, %y and %z variables to display the shop's location in the message, adds a config option to make both the full-shop and out-of-stock messages respect /cstoggle and makes values in the locale.yml support ampersand color codes.
2017-07-04 16:06:34 +01:00
Phoenix616
b9f9166d6c Add permission check to version and reload command 2017-07-04 15:18:00 +01:00
Phoenix616
cae36a94bd Reload the NameManager when reloading the config 2017-07-04 15:14:57 +01:00
Phoenix616
f4e060071d Make accounts v3 migration more robust to errors (Fixes #58) 2017-07-03 00:46:43 +01:00
Phoenix616
70fa6292b1 Get OfflinePlayer from namewith offline mode UUIDs. Fixes #60 2017-07-02 23:32:06 +01:00
Phoenix616
0525c70452 Rewrite NameManager to support multiple short names per user
This should fix the issue where the player's short name on the shop sign does not reflect the actual player's name. This works by storing every uuid-username combination together with the associated short name and the last time the player logged in with that combination.
2017-07-01 17:14:41 +01:00
Phoenix616
7271cebd91 Properly use the plugin's logger 2017-06-30 21:00:30 +01:00
Phoenix616
4abb9ae518 Fix NPE when slot in chest is empty 2017-06-30 20:38:58 +01:00
Phoenix616
0b65a7cc92 Rewrite (and document) the NameManager
This should fix issues with how name changes are handled and also prevent short names of different players from clashing. It also uses guava caches instead of maps now with a configurable cache size
2017-06-30 20:28:18 +01:00
Phoenix616
cf2497ff91 Fix potential NPE 2017-06-28 22:11:54 +01:00
Phoenix616
ab1596632b Update spigot-api dependency to 1.12 pre6 and to log4j 2.1.0 2017-06-05 19:29:29 +01:00
Phoenix616
1948156b42 Update residence dependency 2017-05-09 14:54:32 +01:00
Phoenix616
fc5d84eebb Fix issue with selling written books (#1107)
Also improved the manual add method.
2017-05-04 18:54:49 +01:00
Phoenix616
583c50438c Revert "Fix merging of items that aren't actually equal. (Like skulls with textures)"
This reverts commit 11d2280d3e.

The method isn't actually the issue and the workaround introduces new
issues.
2017-02-20 00:39:30 +01:00
Phoenix616
11d2280d3e Fix merging of items that aren't actually equal. (Like skulls with textures) 2017-02-19 17:22:07 +01:00
Phoenix616
765548e0e5 Use Bukkit's addItem method if maxStackSize equals the item's natural stack size 2017-02-19 17:17:42 +01:00
Phoenix616
90f7dd5b0f No need to use the workaround anymore as CB adds large itemstacks properly now 2017-02-19 16:50:31 +01:00
Dan Mulloy
87071ca384 Merge branch 'master' into master 2017-01-16 13:53:21 -05:00
Eredrim
fc3c134c2a Update residence comptibility 2017-01-07 23:14:27 +01:00
Dan Mulloy
fa7a196bab Fix static access 2016-11-21 11:43:09 -05:00
L4BORG
2ff945bbe6 Fix Admin Shops 2016-11-10 03:17:27 +01:00
L4BORG
24eb1b1e19 Economy fixes, fix for https://github.com/dmulloy2/ChestShop-3/issues/11 2016-10-13 18:11:23 +02:00
Dan Mulloy
24df17fde2 Restore compatibility with 1.8
Fixes #9
2016-09-22 11:57:49 -04:00
Dan Mulloy
e186635484 Try to fix a few more errors
Fixes #7
2016-09-20 15:45:18 -04:00
Dan Mulloy
3fa939983b Merge branch 'master' of git+ssh://git@github.com/dmulloy2/ChestShop-3.git 2016-09-20 15:40:49 -04:00
Dan Mulloy
050ce61347 Try to fix (or just ignore) a weird null pointer
Fixes #6
2016-09-20 15:40:41 -04:00
mibby
58258c858f Re-add database suppression.
Re-add database suppression for SQLite driver start-up log warnings.

https://dev.bukkit.org/bukkit-plugins/chestshop/tickets/1059-warning-you-seem-to-not-be-using-the-xerial-sqlite/
https://dev.bukkit.org/bukkit-plugins/chestshop/tickets/1086-error-com-acrobot-chest-shop-ormlite-db-sqlite-database/
2016-08-27 20:20:46 -07:00
mibby
8c7594be51 Revert PlayerKick Behavior
Partial revert of 'Do not let people with already used usernames connect to the server' commit. 

See comments here b0369d8e69 (commitcomment-14185778) and here. 
c169df2265 (commitcomment-12846919)

I personally believe ChestShops should not dictate whether a player is allowed to connect to the server or not. I personally have had issues with ChestShops kicking legitimate players from the server in online mode.
2016-08-27 20:09:09 -07:00
mibby
17eb698e28 Move sign-update() to break listener
This fixes an infinite loop crash where the sign update calls the piston event and the update again and again.
Also signs can't even be pushed by pistons...
2016-08-27 19:58:45 -07:00
Dan Mulloy
5749c84c28 Fix and re-enable AuthMe hook 2016-08-20 16:17:10 -04:00
Dan Mulloy
02d18df559 Fix an error with empty signs
Fixes #3
2016-08-20 16:08:46 -04:00
Dan Mulloy
a13b2c9070 Fix a few NPE's caused by null accounts
Thanks @mibby
2016-07-07 12:15:43 -04:00
Dan Mulloy
a9f2f228d6 Update to 1.10, attempt fix for item overflow 2016-06-09 22:38:15 -04:00
Brian Ronald
ef5ccbb775 Implement missing methods so that this compiles without errors 2016-05-08 00:29:20 +01:00
Gabriele C
973ce58461 Fix authme hook 2016-04-05 22:23:50 +02:00
Dan Mulloy
123c05a98e Update to 1.9 2016-03-06 14:50:15 -05:00
Andrzej Pomirski
5f7d6776c2 kickPlayer() should be called asynchronously 2015-08-15 19:38:30 +02:00
Gabriele C.
1546461fa2 Update AuthMeChestShopListener.java 2015-08-07 15:18:21 +02:00
Gabriele C.
897127976a Merge pull request #1 from Acrobot/master
Up
2015-08-07 15:16:06 +02:00
Gabriele C.
656c1080ce Update AuthMeChestShopListener.java 2015-08-07 15:15:35 +02:00
Gabriele C
be26bea03c Moved AuthMe hook to ChestShop using the API 2015-08-06 15:59:51 +02:00
Andrzej Pomirski
b0369d8e69 Do not let people with already used usernames connect to the server 2015-08-06 15:19:46 +02:00
Gabriele C
27688735ad Readded suppress warning 2015-08-06 14:36:16 +02:00
Gabriele C
690af050e1 Style fix, removed useless cases 2015-08-06 14:33:15 +02:00
Gabriele C
8c49bfdbf4 Fixes 2015-08-01 09:52:13 +02:00
Andrzej Pomirski
c70fa03a6c Remove database suppression 2015-07-12 19:19:23 +02:00
Andrzej Pomirski
17c2f943c6 Do not let players create shops on donation chests 2015-07-12 19:18:53 +02:00
Andrzej Pomirski
3c949f0450 Remove trailing zeroes from prices 2015-07-12 19:18:31 +02:00
Andrzej Pomirski
1d550874fb Grammar! 2015-07-12 19:18:06 +02:00
Andrzej Pomirski
7bc452e203 Switch to thread-safe DTOs 2015-07-05 21:56:42 +02:00
Andrzej Pomirski
118f72e805 Speed up SignBreak 2015-07-05 21:55:59 +02:00
Andrzej Pomirski
e5953cd740 Speed up the isSign method
Theoretically, block.getState() returns a thread-safe instance of a
block, so getting it when not needed might have hurt performance of
ChestShop
2015-07-05 21:48:17 +02:00
Andrzej Pomirski
99959f2ca0 Fix the problem with colour signs
Apparently sign colour plugins do not consider &0 to be a colour that
needs to be removed if there is no other code like that on the sign,
thus ChestShop did not register the initial SignChangeEvent, however
after the server software removes the redundant colour from the sign, it
appeared and worked just like a ChestShop one. This commit "fixes" this
by stripping the colour codes from the sign before it is created.
2015-05-31 18:27:11 +02:00
Andrzej Pomirski
44d801db46 Remove obsolete configuration options 2015-05-22 13:31:43 +02:00
Andrzej Pomirski
6982ef38d1 Should fix the Mac issues 2015-05-22 13:26:42 +02:00
Andrzej Pomirski
2cde9da196 Remove DB logging 2015-05-22 13:26:28 +02:00
Andrzej Pomirski
cd3781c26c Should fix the lag, hopefully 2015-05-22 13:26:20 +02:00
Andrzej Pomirski
02673dec94 Make DB code nicer 2015-05-22 13:26:07 +02:00
Andrzej Pomirski
6466b2d6aa Remove logging to database! 2015-05-22 13:25:32 +02:00
Andrzej Pomirski
13d83ec92a Fix Essentials' Eco problem 2015-03-21 16:11:33 +01:00
Andrzej Pomirski
2c729789e8 Add a warning for Residence 2015-03-21 16:11:23 +01:00
Andrzej Pomirski
fac9a18b8f Add a simple shop edited event, not yet working 2015-03-17 11:36:55 +01:00
Andrzej Pomirski
cb126f22cf Fix the price exploit 2015-03-17 11:36:19 +01:00
Andrzej Pomirski
1bd0e9f8ef Change the priority of the discount handler 2015-03-11 18:02:41 +01:00
Andrzej Pomirski
28f9f08987 Fix money being transferred to the old username 2015-03-11 18:02:30 +01:00
Andrzej Pomirski
d25dbd5cce Migrate the database 2015-03-11 18:01:50 +01:00
Andrzej Pomirski
8c77057703 Fix the issue with name changes 2015-02-04 20:14:35 +01:00
Andrzej Pomirski
f975450130 Fix an issue caused by Spigot/CraftBukkit "forgetting" the usernames
Somehow, OfflinePlayer initiated with an UUID does not contain the
"name" property after a while.
2015-01-17 15:18:32 +01:00
Andrzej Pomirski
116d22dd62 Sign charge fees should go to the server account 2015-01-08 20:24:40 +01:00
Andrzej Pomirski
31003ca29f Add rounding option to tax getter 2015-01-08 20:12:53 +01:00
Andrzej Pomirski
f6aad7e397 Fix a problem with invalid item IDs 2015-01-08 20:12:38 +01:00
Andrzej Pomirski
a058b80990 Fix WordGuard + minor fixes 2014-11-30 20:15:27 +01:00
Andrzej Pomirski
a4fdc30e17 Add an additional "%buyer" tag to the out of stock message 2014-08-13 17:23:11 +02:00
Andrzej Pomirski
c646dd16a0 FOUND THE CULPRIT. 2014-08-13 17:22:52 +02:00
Andrzej Pomirski
bed883f7ae A small bugfix 2014-07-28 20:51:04 +02:00
Andrzej Pomirski
6bbfc93b27 Fix the "value already present" error 2014-07-22 22:03:50 +02:00
Andrzej Pomirski
be18af86f6 Prevent shops from being ignited 2014-07-13 12:54:30 +02:00
Andrzej Pomirski
d1a79425ed Automatically drop the username on leave 2014-07-03 18:49:12 +02:00
Andrzej Pomirski
1bbf293379 Fix nicknames 2014-06-29 22:22:28 +02:00
Andrzej Pomirski
e39825aa1f Update Residence 2014-06-29 17:35:49 +02:00
Andrzej Pomirski
2a89fb345b NameManager > Bukkit 2014-06-22 14:33:02 +02:00
Andrzej Pomirski
f6457e3d47 Add alternative fallbacks 2014-06-22 14:32:50 +02:00
Andrzej Pomirski
ddf32eda04 Add an option to not remove LWC protections 2014-06-22 14:32:40 +02:00
Andrzej Pomirski
9fa2f92ef8 Switch Vault from names to UUIDs 2014-06-14 20:46:59 +02:00
Andrzej Pomirski
404f7296e0 Remove Register - NO DEFAULT ECONOMY SUPPORT 2014-06-14 20:40:31 +02:00
Andrzej Pomirski
bdecaa1727 Add prefixes to commands 2014-05-24 11:50:27 +02:00
Andrzej Pomirski
a1a688c110 Update updater (yo dawg) 2014-05-24 11:38:13 +02:00
Andrzej Pomirski
83dbce40fd Add a warning if people try to run the new ChestShop version with an older CraftBukkit version 2014-05-24 11:37:51 +02:00
Andrzej Pomirski
4d5f568e1f Removed the admin shop message, since it is no longer necessary 2014-05-24 11:23:43 +02:00
Andrzej Pomirski
39213b2be1 Refactoring the latest /cstoggle changes 2014-05-24 11:15:54 +02:00
Faris Rehman
482ea412b2 Made usage for the command 2014-05-20 22:20:14 +01:00
Faris Rehman
4194a09c86 Fixed missing code 2014-05-20 22:18:51 +01:00
KingFaris10
dffbb7f06a Added /cstoggle to disable spam messages. 2014-05-20 22:13:25 +01:00
Andrzej Pomirski
bd0a40e16c Cache names in NameManager 2014-05-06 11:55:33 +02:00
Andrzej Pomirski
c403c1736f Fix the ? item recognition 2014-04-21 17:08:31 +02:00
Andrzej Pomirski
11ffd64952 Fix the version file not saving 2014-04-21 17:08:20 +02:00