Commit Graph

358 Commits

Author SHA1 Message Date
Eric
d097a15122 Added way to disable WorldGuard/Towny integration
+ Added permission to use shops in WorldGuard regions that deny shop use
2016-11-23 16:05:33 +01:00
Eric
a112d82c16 Set default value of permission "shopchest.limit.*" to OP 2016-11-22 14:35:51 +01:00
Eric
04a6d836b9 Added towny support
- Players can only create shops in shop plots, not in wilderness or normal
  plots
- Added permission "shopchest.extend.protected"
- Changed permission "shopchest.extendOther" to "shopchest.extend.other"
- When creating a shop on a double chest, both chests must not be
  protected/in a protected region
- To extend a shop into a protected region (e.g. WorldGuard/Towny), you
  need permission (shopchest.extend.protected)
- Added no-permission message for "shopchest.extend.protected"
2016-11-20 14:18:36 +01:00
Eric
dcd50bad33 Fixed NPE when database was not initialized 2016-11-20 14:18:35 +01:00
Eric
198f83c738 Fix hologram interaction in 1.8.x 2016-11-19 21:34:59 +01:00
Eric
6dcedc9bff Added messages when WorldGuard denies shop use 2016-11-19 14:45:18 +01:00
Eric
0c127a7d74 Fix hologram bounding box when interaction is enabled 2016-11-19 14:45:17 +01:00
Eric
6223d9393f Fix hologram visibility on join 2016-11-19 14:45:16 +01:00
Eric
0e73880603 Fixed console spam again
(Output of language reload)
2016-11-18 22:29:29 +01:00
Eric
3c822332d1 Allow console to use some commands
This changes the command executor class a lot
2016-11-18 22:29:29 +01:00
Eric
e8100564ff Fix and shorten command registration 2016-11-18 22:29:28 +01:00
Eric
fdfc7419d9 Permission constants & No more Vault permission system 2016-11-18 22:29:28 +01:00
Eric
1d7a534fe4 Added permission for extending other players' shop chests 2016-11-18 22:29:27 +01:00
Eric
ef3bc57381 Allow permitted players to break other players' shops 2016-11-18 22:29:26 +01:00
Eric
58ad504f7f Add hologram interaction (configurable) 2016-11-18 17:58:50 +01:00
Eric
0b206168cc Added missing German translation for Vindicator 2016-11-18 17:58:49 +01:00
Eric
068edfa9ff Fixed book meta for 1.10 2016-11-18 17:58:49 +01:00
Eric
8ecd53e78a Fix description of "shop-limits.default" configuration 2016-11-17 20:33:12 +01:00
Eric
b7aa71599e Add support for 1.11 2016-11-17 20:30:26 +01:00
Eric
7e044eb7b1 Fixed selling to full admin shops and support for lower versions 2016-11-17 20:16:42 +01:00
Eric
2bacca0915 Fix shop limits configuration 2016-11-13 20:58:48 +01:00
Eric
3562a534c7 Fix loading when WorldGuard is not enabled 2016-11-13 20:51:25 +01:00
Eric
334219cbe1 Fixed issue with BlockStateMeta 2016-11-13 14:00:07 +01:00
Eric
ff406abf2d Added WorldGuard support
Might contain issues, as it's not tested extensively
2016-11-13 13:43:03 +01:00
Eric
dbf809ea5b Only show help messages of commands a player can enter 2016-11-12 15:55:36 +01:00
Eric
acef90335c Changed/Fixed hologram appearing
I didn't like the look of the performance saving, as the hologram would appear at a lower distance then it would disappear
2016-11-12 15:43:56 +01:00
Eric
8ecea0d938 Fix NPEs caused by non-existent Shop Items 2016-11-12 15:17:13 +01:00
Eric
3f3ddfe66f Fixed issues with ItemMeta
(Mostly issues with books)
Fixes #30
2016-11-12 15:03:19 +01:00
Eric
b73ad05034 Use permission based shop limits
This also removes the permission "shopchest.limits"
Closes #27
2016-11-12 15:02:10 +01:00
Eric
8452fad8a3 Hide messages in the console on auto reload 2016-10-12 20:09:18 +02:00
Eric
f75e07aad0 Show shop item and hologram on creation 2016-10-12 18:30:51 +02:00
Eric
6009ad20c3 Amount must be greater than 0 2016-10-12 18:25:36 +02:00
Eric
99a15fd8f6 Fix ocelot spawn eggs
Closes #29
2016-09-27 20:26:04 +02:00
Eric
076846d74e Fix error when a book doesn't have a title (e.g. book and quill) 2016-09-27 20:24:50 +02:00
Eric
c9c5b5b37d Slightly improved economy transactions
- Only start the second economy transaction after the first one succeeds
- Undo the first transaction if the second one fails
2016-09-07 17:00:59 +02:00
Eric
94011c997d Improved illogical condition whether buying/selling is enabled 2016-09-06 11:53:20 +02:00
Eric
c9a63c7cbb Display "Disabled" instead of 0$ when selling/buying is disabled 2016-09-06 11:53:06 +02:00
Eric
da772fcbd6 Shop items now protected from spreading and growing blocks 2016-09-06 11:16:36 +02:00
Eric
f76ec6fe2d Added null check for shop item when updating visibility 2016-08-20 12:41:27 +02:00
Eric
6a96e235a6 Readded autoReconnect parameter to MySQL connection url 2016-08-20 12:38:53 +02:00
Eric
684a0b3c8a Use bukkit's ChatColor 2016-08-19 19:47:12 +02:00
Eric
1b51318dbe Fixed shop items after teleporting far or changing worlds 2016-08-19 14:34:02 +02:00
Eric
418c82e4bf Display UUID when a vendor's name is not found 2016-08-19 12:48:59 +02:00
Eric
c8f4e8980e Fixed error message in console after teleporting
p.getWorld() does not return the right world when the process of teleporting has not yet finished. We need to use the world of the passed location object, which in the PlayerTeleportEvent is e.getTo()
2016-08-18 22:59:12 +02:00
MineTheCube
e94463ccbe Make logEconomy asynchronous (#21) 2016-08-18 16:59:57 +02:00
Eric
dfdf253837 Removed "softdepend" and "loadbefore" in plugin.yml 2016-08-18 15:37:34 +02:00
Eric
7c27fc0d54 Added configurable value "allow-decimals-in-price"
When disabled, "auto-calculate-item-amount" will be disabled too, even if it's set to true in the config.
This closes #20
2016-08-18 15:33:58 +02:00
Eric
6205dfbd65 Merge pull request #18 from MineTheCube/master
- Improve listeners performances
- Fixes #17
2016-08-18 15:03:37 +02:00
MineTheCube
1c079b5abe Change method name to what it really does 2016-08-18 14:43:36 +02:00
MineTheCube
55a3bb87d3 Change event priority and ignore cancelled
Make it consistent with ShopItemListener#onPlayerMove(PlayerMoveEvent)
2016-08-18 14:34:43 +02:00
Eric
d1453d5839 Added economy log in database file
Closes #19
2016-08-18 13:30:14 +02:00
MineTheCube
c2b6281410 Improve listeners performances
This should slightly improve performances, especially with a lot of shops.
Now shops are updated only on block changes and not every move event.
It also uses distanceSquared instead of distance to avoid sqrt operations.
2016-08-18 02:14:59 +02:00
Eric
be52d2c623 Added config value "maximal-item-distance"
This should fix the issue, that shop items are despawning and not spawning again after the chunk unloads.
The item spawn delay was removed.
2016-08-17 21:26:55 +02:00
Eric
f8dd53bf31 Use #getNMSClass in #sendPacket instead of Class#forName 2016-08-17 13:16:37 +02:00
Eric
efaec3cd93 Fixed admin shops 2016-08-17 13:14:35 +02:00
Eric
f511ff66a0 Added configurable item spawn delay after join
This might fix the issue, that items won't be spawned after joining.
2016-08-17 12:54:19 +02:00
Eric
af3b6612b1 Fixed version and JsonBuilder 2016-08-16 19:59:45 +02:00
Eric
a8f1051dc2 Changed description of ping-interval in config file 2016-08-16 15:17:05 +02:00
Eric
c220f269c8 Reset shop item after cancelled shop break 2016-08-16 15:11:44 +02:00
Eric
4bf5472e61 Added way to auto calculate item amount
You can find an explanation here:
- https://www.spigotmc.org/threads/shopchest.87948/page-15#post-1820672
- In the configuration file
2016-08-16 15:06:26 +02:00
Eric
aa2051e9cc Added configurable ping interval to MySQL 2016-08-16 12:26:35 +02:00
Eric
51584a3d04 Removed almost every stack trace that might me printed
Stack traces will now be printed in the debug log (if enabled) and in the console, there will only be displayed an error message without the stack trace
2016-08-10 13:47:25 +02:00
Eric
6bce68768a Only apply additional hologram lift on two-line-shops
(When "two-line-prices" is enabled and the shop has buying and selling enabled)
2016-08-10 13:47:25 +02:00
Eric
ade20c8255 Remove a shop by breaking its chest
I'm gonna close #8 with this.
2016-08-10 13:46:52 +02:00
Eric
5a975661eb Added way to show prices in hologram below each other 2016-08-09 22:10:44 +02:00
Eric
be17d366d9 Added missing shopchest.config permission 2016-08-09 17:47:03 +02:00
Eric
9a9f95eec2 Added extra class for BlockExplodeEvent
BlockExplodeEvent class is not found in v1.8_R1, and if a class is not found in a listener, the whole listener with all its event won't get registered.
2016-08-09 15:04:34 +02:00
Eric
c713d0f014 Replace deprecated getItemInHand method 2016-08-09 14:41:41 +02:00
Eric
a95106a335 Client-side shop items
All shop items are now spawned with packets and reflection client-side, so probably duplicated items are history (finally). This also allowed me to remove the ClearLag and LWC dependency, as ClearLag can't remove client-side items and LWC's Magnet Sucker can't suck them inside a chest. I also changed a bit in the classes of the nms package, so all required classes have to be found before attempting to do anything.

Fixes #11 and fixes #4
2016-08-08 22:04:29 +02:00
Eric
bb54c7da67 Fixed NPE when player clicks in air 2016-08-06 13:32:37 +02:00
Eric
417aaa36d3 Allow not officially supported server versions
As ShopChest is now using reflection, if the NMS code didn't change much in the new version, it may work (except for unknown item names)
2016-08-06 12:23:24 +02:00
Eric
312e7c9dca Disconnect from database when plugin disables
+ Reconnect to database on shop reload or server reload
+ A few debug messages were added on SQLExceptions
2016-08-06 12:17:53 +02:00
Eric
d99f63a8e5 Now displays if a potion is extended 2016-08-05 22:16:14 +02:00
Eric
20badd36fb Added possibility to append potion level to item name 2016-08-05 21:44:11 +02:00
Eric
7e24b8e596 Changed message when translation not found
Apparently the old message wasn't clear enough
2016-08-05 21:25:57 +02:00
Eric
d3111a3670 Debug timestamp should be in 24h format 2016-08-05 16:42:01 +02:00
Eric
57af99da1b Now using reflection instead of different modules
This commit also fixes spawn eggs on 1.8.x
2016-08-05 15:26:47 +02:00
Eric
54a1b637c6 Converted ShopChest to Maven Project 2016-07-03 20:59:29 +02:00
Eric
dae00a2013 Updated Javadoc 2016-07-02 14:22:47 +02:00
Eric
8b736da181 Prevent liquids from washing shop items away 2016-07-01 17:09:49 +02:00
Eric
582cc76c83 Add player head item name 2016-07-01 16:43:55 +02:00
Eric
c975437b66 Fix 1.9 Item names being loaded in 1.8 2016-07-01 16:15:12 +02:00
Eric
8bef79d47f Prevent blocks from being placed or pushed above the chest
Fixes #6
2016-07-01 16:13:44 +02:00
Eric
57c6955d6a Creation price should only be withdrawn if the shop is created successfully 2016-07-01 14:33:13 +02:00
Eric
8f75f9f90d Check database connection before accessing it
This hopefully fixes #7
2016-07-01 14:28:31 +02:00
Eric
428d4bf029 Fix typo in javadoc of UpdateChecker 2016-07-01 13:50:40 +02:00
Eric
80a32bf0dc Added Javadoc 2016-06-30 21:59:06 +02:00
Eric Biedert
f52be003ab ItemMeta of shop item should be applied + Remove Items with "shopItem" metadata on disable 2016-06-28 21:33:11 +02:00
Eric Biedert
3b734ac429 Code Cleanup 2016-06-28 21:19:05 +02:00
Eric Biedert
4470300624 Renamed Listeners and their package 2016-06-28 18:30:48 +02:00
Eric Biedert
82cffd8c31 Fixed some localization errors 2016-06-24 19:23:56 +02:00
Eric Biedert
67016787df Double Chests shouldn't be counted twice 2016-06-24 18:39:31 +02:00
Eric Biedert
2b9a2c957f Admin shops can be excluded of shop limits 2016-06-24 18:13:33 +02:00
Eric Biedert
04e63c6225 Prevent Zombies from picking up shop item 2016-06-24 14:53:20 +02:00
Eric
08286e6beb Added configurable language for everything and more
This can read the default minecraft language files, but in order to
translate the messages, you need to add the message section from the
en_US.lang.
Also, spawn eggs will work now, the title of music discs will be
displayed in the info sections and "tipped arrow effect" is now named
"potion effect" and is displayed also if the product is a potion,
splashed potion or a lingering potion (and of course tipped arrows).
The message configuration is no longer found in the config.yml file, but
has gone to the .lang file, so you need to reconfigure every message!
As the Jsoup library is no longer needed, the filesize of the final jar
shrunk quite a bit.
Maybe there are some more changes, which I already forgot.
2016-06-22 20:51:29 +02:00
Eric
77d474fb03 Fix Item Names for Heads and Colored Banners 2016-06-22 20:51:29 +02:00
Eric
22a1876d6e Renamed some Items 2016-06-09 21:35:51 +02:00
Eric
e5ed1918ad Ensure that all shop item get removed on disable 2016-06-09 20:34:10 +02:00
Eric
9a37efd49e Fixed explosion protection 2016-06-09 19:46:40 +02:00
Eric
479bf49286 Creator of an admin shop shouldn't need enough money to let players sell 2016-06-09 19:39:00 +02:00
Eric
8def855a43 Added 1.10 Support (1.10_R1) 2016-06-09 19:34:48 +02:00
Eric
260bc8f594 Format Prices with Vault
ShopChest will now use the currency symbol specified in the configuration of the economy plugin.
2016-06-08 16:28:47 +02:00
Eric
01886ca88a Fix money transfers on sales 2016-06-08 16:17:33 +02:00
Eric
18457357ba Hide vendor and in-stock in info message if Admin Shop 2016-06-08 16:08:49 +02:00
Eric
f155b67f4c Players should be able to open their sell-only shops
Also, they should be able to open shops even when they don't have permission to buy something
2016-06-08 16:06:36 +02:00
Eric
1666051eb8 Display '∞' instead of '-1' in the shop limits message 2016-06-05 18:53:46 +02:00
Eric
b423fbd98b Shops created at double chests will be saved now 2016-06-05 18:46:14 +02:00
Eric
e1aaa34c92 Better display prices
Examples:
- "3$" instead of "3.0$"
- "3.50$" instead of "3.5$"
2016-06-03 18:20:55 +02:00
Eric
77365f388c Changed method of adding and removing a shop
Well, I had to change quite a bit and hopefully this fixes the issue,
that shop items can be collected and that shops aren't saved or reloaded
correctly.
2016-06-03 17:58:53 +02:00
Eric
e2e034bcc8 Added shop creation costs (configurable) 2016-06-03 16:28:44 +02:00
Eric
ce2c812b27 Added Graph "Database Type" to Statistics Page
Statistics Page: http://mcstats.org/plugin/ShopChest
2016-06-03 15:03:38 +02:00
Eric
3ff0b4c556 Changed the way LWC is loaded (if available) 2016-06-03 14:42:48 +02:00
Eric
380705fe29 Fixed update-available message not displayed correctly in console 2016-06-03 14:30:42 +02:00
Eric
9690817f40 Add LWC magnet pull listener
Currently only working with 'LWC Unofficial - Entity locking' by
'Me_Goes_RAWR' v1.7.3 or later.
2016-06-02 20:36:48 +02:00
Eric
70449399bc Added MySQL Support 2016-06-01 21:30:46 +02:00
Eric
0015adefb5 Improved and simplified buy and sell methods
Well, at least I hope I've improved that...
This should also fix the bug (what initially was my goal), where the
item didn't get removed from the player's inventory after selling it.
2016-05-31 18:07:38 +02:00
Eric
654fa260f4 Shortened SQLite/Database class
The method to get data of the database has changed completely so the
uses also had to be changed. The IDE also did some code reformatting,
but these are just very small changes.
2016-05-29 15:32:54 +02:00
Eric
e00f30bf0b Automatically convert infinite to admin shops 2016-05-29 13:53:38 +02:00
Eric
ddebe5c594 Removed Infinite Shops
I don't see any sense, why infinite shops should exist. They are
basically the same as admin shops, except that money gets withdrawn from
the vendor for something he doesn't even get or money gets deposited to
the vendor for something that he sold, but didn't even have.
Also the  possibility to convert the database column 'infinite' to
'shoptype' has been removed, so server owners, who update from a version
below 1.7.1 first have to download a version below 1.8.0 to let the
resource convert the database columns.
2016-05-29 13:41:14 +02:00
Eric
f9f5068f6d Simplified saving of item_names.txt file 2016-05-29 12:35:46 +02:00
Eric
543da0682b Automated code cleanup by IntelliJ IDEA
As I Switched from Eclipse to IntelliJ IDEA, I also had to add a few
entries to the .gitignore file.
2016-05-28 16:28:13 +02:00
Eric
099208de67 Add support for both hands when buying or selling something 2016-05-27 16:22:40 +02:00
Eric
4c022dd9dc On admin and infinite shops, the player must have enough items 2016-05-27 15:00:39 +02:00
Eric
c4bc318a25 The creator of an admin shop should be able to use it 2016-05-27 14:57:47 +02:00
Eric
04636a7b01 Added 1.9.4 Support (1.9_R2) 2016-05-11 18:53:34 +02:00
Eric
54b0f42eaf Allow multiline broadcast messages
Apparently the new-line character isn't detected so I had to make a
workaround with a custom new-line character (#n) where it could split
the lines.
2016-05-07 22:50:26 +02:00
Eric
5f5fd05e6c Removed some unnecessary extra lines 2016-05-07 15:41:55 +02:00
Eric
558741e587 Re-added broadcast messages
They work a bit different now. They are still only shown on startup, on
join or when a player checks for updates, but also if no update is
available. Also the player needs the permission "shopchest.broadcast" in
order to get the message.
2016-05-07 15:35:34 +02:00
Eric
e1198028ee Improved Update Checker error handling
(temporary removed broadcast messages)
2016-05-07 15:08:40 +02:00
Eric
ca2185a7a6 Added update message broadcast 2016-05-05 18:09:51 +02:00
Eric
20d3814aac Added missing "Purpur Slab (Double)" item name 2016-05-04 17:05:09 +02:00
Eric
756abaddae Add 1.9 and missing 1.8 Item Names and support for Tipped Arrows
Tipped Arrow Effect will be displayed in the shop info message. A
configuration section is also available.
2016-04-16 16:49:45 +02:00
Eric
2516f6e491 Admin Shop: Vendor doesn't need enough money, Chest doesn't need space
Infinite Shops also don't need free space when someone wants to sell
something.

Fixes #3
2016-04-15 15:32:10 +02:00
Eric
8d190f93c0 Add permission to create an admin shop 2016-04-13 21:05:21 +02:00
Eric
ecf48629e5 Added Admin Shops
Admin Shops are basically the same as infinite shops, but the vendor
won't get money and won't get a message if someone bought from or sold
to it.
As I rewrote the buy and sell methods, I also fixed a bug that you had
to pay even though you didn't have enough space in your inventory and
that the vendor had to pay even though his shop's inventory was full
2016-04-13 17:30:34 +02:00
Eric
c7aa1feb18 Fix display of price in "messages.someone-bought" 2016-04-13 15:12:16 +02:00
Eric
6d747f6fea Bug fixes and better shop protection
- Fixed Update Checker after reload
- Fixed Update Checker on Minecraft 1.9
- Hoppers shouldn't suck items out of a shop's chest (configurable)
- Hoppers shouldn't pickup a shop's floating item
- Shops shouldn't get destroyed by an explosion (configurable)
2016-04-09 16:34:26 +02:00
Eric
103c96bc2f Added Support for 1.9 and fixed bugs
Fixes #2
2016-04-08 14:52:11 +02:00
Eric
49530f806d Added Graph "Shop Type" to Statistics Page (Still Testing) 2015-09-16 21:16:21 +02:00
Eric
7828e81ea6 Added Blacklist and "In Stock" in Shop Info Message 2015-09-16 16:45:05 +02:00
Eric
66750cd570 Fixed Bugs & Added Hologram Format Configuration 2015-09-13 13:15:07 +02:00
Eric
0ba461f16f Added ItemTags Support; Removed compiling 2015-09-09 12:27:23 +02:00
Eric
207b249019 Fixed Bugs 2015-09-08 12:59:34 +02:00
Eric
b88d38c8f5 Added messages the shop owner gets when someone bought/sold something. 2015-09-07 14:38:37 +02:00
Eric
2f5945c536 Fixed Database Entry Removal 2015-09-06 14:12:12 +02:00
Eric
246cd5d298 Added compile permission and command description 2015-09-06 12:02:56 +02:00
Eric
ae756f43e7 Now saves shops to a SQLite Database 2015-09-06 11:58:25 +02:00
Eric
477b6a4701 Added Group- and Player limits for Shops 2015-09-04 20:16:33 +02:00
Eric
a2ea19afa2 Removed debug messages 2015-09-04 14:05:44 +02:00
Eric
125d0381a1 Fixed LWC and Lockette Support 2015-09-04 13:41:24 +02:00
Eric
22442f0429 Added LWC and Lockette Support 2015-09-04 12:31:19 +02:00
Eric
56967951da Fixed issue that the shop gets mad if a player place a chest next a shop 2015-09-03 21:16:40 +02:00
Eric
5e54d4c356 Merged all versions of ShopChest to one jar file 2015-09-03 20:52:13 +02:00
Eric
06e1d20576 Merged all versions of ShopChest to one jar file 2015-09-03 20:51:30 +02:00
Eric
9d3b1d7226 Fixed Trapped-Chest Shops 2015-09-03 13:43:40 +02:00
Eric
36bf9e8623 Disabled Item Merging 2015-09-03 12:12:33 +02:00
Eric
24c32b5e64 Added ClearLagg Support 2015-09-02 16:18:32 +02:00
Eric
0cdcfb5cc6 Commit Default Files 2015-09-02 13:41:34 +02:00