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