Commit Graph

378 Commits

Author SHA1 Message Date
Eric
27083e5093 Add convenience methods for database versioning 2019-06-16 17:54:55 +02:00
Eric
bc284a0717 Only use one date format instance 2019-06-16 17:32:27 +02:00
Eric
a2756620f5 Show "Updating database finished" message 2019-06-16 16:47:16 +02:00
Eric
1b1e5de47e Initialize SQLite driver before use 2019-06-16 16:47:16 +02:00
Eric
e3dadb5896 Add version for database for better future updates 2019-06-16 16:47:15 +02:00
Eric
3730eb9703 Disable plugin when shops fail to load or reload 2019-06-16 15:58:02 +02:00
Eric
9df50e8d87 Add metrics chart for creative mode setting 2019-06-15 13:55:12 +02:00
Eric
2e31bbc2b5 Fix another creative mode exploit 2019-06-14 21:16:06 +02:00
Eric
b090751d89 Disable creative mode item selection by default
Also added a short warning for possible exploits
2019-06-14 21:11:22 +02:00
Eric
00bdbaee53 Fix exploit that allows staying in creative mode 2019-06-13 13:11:55 +02:00
Eric
060c8a7295 Fix typo 2019-06-04 21:00:04 +02:00
Eric
27212f0496 Prevent NPEs when disabling plugin in onEnable 2019-06-04 16:12:55 +02:00
Eric
c9ce45dc0c Add chest space to shop info message
Space only shown if selling enabled, stock only shown if buying enabled
2019-06-03 17:03:24 +02:00
Eric
e6393ecd6c Added refund to "Shop removed" message
+ Fixed refund option being ignored
2019-06-03 16:53:23 +02:00
Eric
9646bd0318 Update config descriptions 2019-06-03 16:38:25 +02:00
Eric
48bb669c01 Remove a couple config options
- Shop items cannot be hidden
- Hologram interaction had to be removed
- Hopper/Explosion protection cannot be disabled
- Admin shops cannot be counted in shop limit
- Only the nearest shop the player points at is shown
2019-06-03 16:38:25 +02:00
Eric
ea894783fb Allow shop item to be selected from creative menu
If the player does not hold an item, he is asked to select one.
2019-05-28 15:53:26 +02:00
Eric
655e1f8b07 Automatically add missing translation entries
Entries will be appended to the bottom of the selected language file
with English default values
2019-05-09 14:42:33 +02:00
Eric
1c8cdb0639 Outsource external checks for shop creation
Every supported plugin has its own listener for ShopCreateEvent
and ShopExtendEvent.

I also tried to clean up a bit, there can be done more though.
2019-05-08 21:47:23 +02:00
Eric
63e1b263c2 Entity IDs should not be changing
Removing an entity from a client doesn't work if the ID has changed.
2019-05-01 12:53:38 +02:00
Eric
e47fc9765d UUID of hologram and shop item should be unique 2019-05-01 12:28:17 +02:00
Eric
8f2d2540ba Update some dependencies
Should fix #245, however PlotSquared support will not be working anymore
for versions below 1.13.
2019-04-30 22:24:01 +02:00
Eric
930483b56a Update language files
Now only contain names that are looked up by the plugin
2019-04-30 19:56:05 +02:00
Eric
f09d57b2a2 Fix error when WorldGuard not installed 2019-04-29 21:08:55 +02:00
Eric
71f6ee5d6f Fixes (especially for 1.8.x) 2019-04-28 23:27:15 +02:00
Eric
bd574e7aa1 Fix missing line in config 2019-04-28 23:12:58 +02:00
Eric
404c872396 Specify database connection test queries
Should fix database connection error on older Minecraft versions
2019-04-28 22:28:03 +02:00
Eric
6962ad995e Update language files 2019-04-28 22:15:34 +02:00
Eric
e402c21e1b Fix translation name errors 2019-04-28 22:10:58 +02:00
Eric
8ef1fb391f Fix "chest blocked" error with cave/void air 2019-04-28 22:10:27 +02:00
Eric
77a837fc05 Rework NMS
Fixes hologram duplicates
Fixes support for 1.14
Breaks hologram interaction (Events cannot be sent to the server)

Armor stand and item entities are now totally client side,they are not
even created, but instead are just put in a packet to send to the client

Performance has not been tested!
2019-04-28 20:56:49 +02:00
Eric
bac5a24b37 Add IS_BANNER_PATTERN for hologram format 2019-04-28 20:51:43 +02:00
Eric
03792981eb Fix typo in hologram format config 2019-04-28 20:04:02 +02:00
Eric
c3227e9a42 Update WorldGuardWrapper depdendency 2019-04-27 17:38:46 +02:00
Eric
8581622a57 Add support for 1.14 (untested) 2019-04-27 17:38:45 +02:00
ken_kentan
e532e9c095 Fix shop updater (#236) 2019-01-14 16:24:57 +01:00
Eric
6ae12f65c0 Database improvements
- Support table prefixes (Fixes #138)
- Support amounts above 127 in Paper (Fixes #149)
- Split UUID, name and shop type in economy log
- Split product and amount in economy log (Fixes #143)
- Added product data (Base64) to economy log
2018-11-10 20:34:11 +01:00
Eric
4c6c87dc08 Make database console error messages clearer 2018-11-05 17:05:34 +01:00
Eric
d55cc4c8fe Database errors should not affect shop removal
(when disabling the plugin)
2018-11-05 17:05:33 +01:00
Eric
3a7d49d292 Revise and fix update checker
Use spiget API to get retrieve latest uploaded version.
2018-11-05 17:05:25 +01:00
Eric
59828df99d Revise WorldGuard event hooks again
Hide all permission messages from WorldGuard on shop interaction,
except when chest-access is denied on shop creation.
2018-11-05 16:15:10 +01:00
Eric
e38fe9fe14 Revised WorldGuard event hooks
Make sure the flag chest-access is granted when creating a shop.
2018-11-04 17:07:44 +01:00
Eric
7df4f4b69d Don't send error when joining for the first time 2018-11-04 14:24:27 +01:00
Eric
51e16febe7 Deposit refund instead of withdrawing it 2018-11-04 14:21:14 +01:00
Eric
cc24669c0c Allow refund for shop creation price
Only refunded if shop is removed by vendor via command or by breaking
the chest. No refund will be given if shop is removed automatically or by
another player.

Closes #222
2018-11-03 21:44:02 +01:00
Eric
e359c3b21a Kill armor stands when removing 2018-11-03 20:31:01 +01:00
Louis Mau
e6637b546e Update WorldGuardWrapper dependency (#219) 2018-10-22 16:29:50 +02:00
Eric
fc27480d37 Remove async world access
Fixes #212
2018-09-08 15:33:37 +02:00
Eric
785dde70bc Add 1.13.1 to supported versions
Doesn't seem to add any issues
2018-09-04 23:15:33 +02:00
Eric
cfeaf3cf8d Allow update checker to be disabled
(Only automatic update check on start; command is not affected)

Fixes #208
2018-08-25 23:45:56 +02:00
Eric
7032209ef7 Use queue and move event for shop updater 2018-08-19 23:07:58 +02:00
Eric
c80129b56f Cancel 15 second timer after removing click type 2018-08-05 12:19:53 +02:00
Eric
f516b78776 Fix NPE when confirming buy or sell
Fixes #202
2018-08-05 11:54:52 +02:00
Eric
86322a1198 Fix warnings regarding PlotSquared flags 2018-08-03 18:56:09 +02:00
Eric
f40b0b7418 Use WorldGuardWrapper to support v7 and v6
https://github.com/CodeMC/WorldGuardWrapper
2018-08-03 18:24:09 +02:00
Eric
11c6af099b Fix ConcurrentModificationException 2018-08-03 18:19:45 +02:00
Eric
1e02539aab Don't allow WorldGuard access when sneaking
Sneaking doesn't open a shop chest anymore.
2018-08-01 16:17:24 +02:00
Eric
3678738048 Async shop creation (again)
This time, a thread pool with a maximum pool
size of 8 threads is used to execute the slow
methods of shop creation.
2018-08-01 13:37:07 +02:00
Eric
78384ebc7b Implement HikariCP for database 2018-08-01 12:20:10 +02:00
Eric
1a3641a377 Revert "Async shop creation"
This reverts commit 80626e823f.

It doesn't seem like a good idea to create 1000+ threads
(even if just for a minute)
2018-07-31 11:47:46 +02:00
Eric
80626e823f Async shop creation
This should fix timeouts when (re-)loading shops
2018-07-31 11:11:18 +02:00
Eric
16498424a8 Fix some NPEs for localizations 2018-07-30 17:52:32 +02:00
Eric
3cd655a2be Only have one ScriptEngine in HologramFormat class 2018-07-30 16:02:50 +02:00
Eric
5c2c3169b6 Change shop updater logic
I'm not sure if this better or worse, but it's worth a try.
2018-07-29 22:01:04 +02:00
Eric
0a06a69e65 Fix shops not being shown after re-join 2018-07-29 14:20:16 +02:00
Eric
09fef5b38c Remove database migration from old versions 2018-07-29 12:27:24 +02:00
Eric
b23040f7ce Update item_names.txt 2018-07-27 21:44:15 +02:00
Eric
baa67214b4 Fixed formatting for German translation 2018-07-27 21:44:14 +02:00
Eric
6ebffd020e Fix double chests for version <1.13 2018-07-27 21:44:13 +02:00
Eric
8ecc137835 Fixed command description (German and fallback) 2018-07-27 21:44:12 +02:00
Steven M
ff5c3cdd45 Fix books changing metadata by serialization (#165)
Fixes #164
2018-07-26 17:35:53 +02:00
Eric
148295ddb4 Don't check vendor balance at admin shops
Should fix errors with economy plugins when the vendor
does not have a valid name.
2018-07-26 17:25:55 +02:00
Eric
1a0920f239 Add product preview in shop info
This removes shop info messages for potion effect, enchantments,
music disc title and book generation.
2018-07-26 15:52:55 +02:00
Eric
8dd2a12375 Final updates for JsonBuilder 2018-07-26 15:48:25 +02:00
Eric
9a953f88f3 Fix item name for potions and some other items 2018-07-26 14:20:49 +02:00
Eric
3c0790d670 Make JsonBuilder.parse static 2018-07-26 13:44:44 +02:00
Eric
720fceaba1 Fix missing param in javadoc 2018-07-26 00:02:51 +02:00
Eric
9a70df5e01 Update JSON message builder/parser
Preparing for item preview in shop info
2018-07-26 00:02:06 +02:00
Eric
381de24362 Fixed formatting for update notification 2018-07-25 22:39:44 +02:00
Eric
4cb59b18de Re-add support for Minecraft 1.8 - 1.12.2 2018-07-25 16:54:22 +02:00
Eric
3d60b5b49c Replace deprecated AuthMe calls 2018-07-25 14:37:02 +02:00
Eric
8cf7b7c08e Fix javadoc warnings
A part of the documentation may still be incorrect
2018-07-25 13:11:44 +02:00
Eric
1dbf68af9c Fix typos 2018-07-24 18:15:26 +02:00
Steven M
cfff0b9ce2 Implemented economy log cleanup (#156) 2018-07-24 18:10:04 +02:00
Eric
372124b04e FIx double chests when facing south or west 2018-07-23 21:32:42 +02:00
Eric
43bb3e3b38 Fix display issues and double chests 2018-07-23 21:12:43 +02:00
Eric
2ac81b0b8f Fix update checker 2018-07-23 19:50:27 +02:00
Eric
036d7f3bd2 Fix holograms 2018-07-23 19:31:42 +02:00
Eric
2d3edc7dcc Clean up some warnings 2018-07-23 18:38:37 +02:00
Eric
5a4741ddf3 Support Java 9+
Drops support for Java 7
2018-07-23 18:38:36 +02:00
Eric
94a51373b5 Support Minecraft 1.13
Drops support for older Minecraft verions (1.8 - 1.12.2)
2018-07-23 18:38:06 +02:00
Eric
5bfb0a1a22 Renamed config variables 2018-07-23 17:57:01 +02:00
ken_kentan
47b23f126e Add permission check to a shop create func (#194) 2018-07-21 14:04:26 +02:00
Thijs Wiefferink
cf4d1716b8 Fix AreaShop integration for regions using capital characters in their name (#190)
* Use a system dependency for AuthMe (maven repository is down)

* Use maven repository for AreaShop instead of including the jar

https://jenkins.wiefferink.me hosts the maven repository of AreaShop, so it is better to use that

* Fix AreaShop integration for regions that use capital characters
2018-05-21 09:40:40 +02:00
Eric
3ae16b0c61 Instantly update hologram text after buying/selling 2017-08-15 12:53:15 +02:00
Eric
2340eb67e1 Added config option to confirm buying and selling
Closes #128
2017-08-15 12:44:03 +02:00
Eric
21fd9bb5ed Check if backup table already exists to prevent errors 2017-08-15 12:44:02 +02:00
Eric
8d459220d3 Vacuum SQLite database on server stop
Closes #132
2017-08-15 12:44:02 +02:00
Eric
a8f589c1b7 Added config option to disable economy logging 2017-08-15 12:44:01 +02:00
Eric
397304c748 Use collection instead of array in Database#getShops 2017-08-15 12:44:01 +02:00