Commit Graph

307 Commits

Author SHA1 Message Date
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