Commit Graph

155 Commits

Author SHA1 Message Date
Eric
d44e30b625 Improved support for GriefPrevention
Now checks if the claim where the shop is located allows
container access for the player. If there is no claim, shop creation
is allowed (except it has been denied by other plugins)
2017-04-29 14:37:52 +02:00
Eric
4ecbbb417b Added support for GriefPrevention
Only players who are allowed to build can create a shop
2017-04-26 17:03:39 +02:00
Eric
53a9bb0274 Show WorldGuard permission message when trying to create a shop
(e.g. when not allowed to open the chest)

This also has the effect that the original event won't be un-cancelled
anymore, so the flag "chest-access" now also has to be allowed!
2017-04-26 16:38:33 +02:00
Eric
460abc722e Added permission nodes for shop creation for specific items
Examples:
- "shopchest.create.apple"
- "shopchest.create.stone.2"

But: If a player has permission "shopchest.create", he is allowed to
create shops of all items. Also, the creation of admin shops is not
affected by these permissions.
2017-04-26 16:21:04 +02:00
Eric
d161fc60ac Only show the shop the player targets instead of all the shops he sees
(configurable)
2017-04-19 14:07:22 +02:00
Eric
a4886c8cbb Added debug messages for shop creation (external plugins) 2017-04-19 14:04:57 +02:00
Eric
d34e5f809f Fixed NPE when chest is not on an island (ASkyBlock and uSkyBlock) 2017-04-17 18:31:12 +02:00
Eric
bc222b6b37 Added support for IslandWorld
Only players who can build on the island (owner and members) are
allowed to create a shop, but anyone can use it (if not limited by
other plugins like WorldGuard)
2017-04-17 18:30:59 +02:00
Eric
7c1cb7f665 Added support for ASkyBlock
Only members and the owner of an island are allowed to create a shop,
but everyone is allowed to use it (if not restricted by other plugins
like WorldGuard)

Closes #50
2017-04-17 17:07:47 +02:00
Eric
dcea39ab9e Improved Towny integration
Closes #95
2017-04-17 16:35:43 +02:00
Eric
bf6f24313b Added book generation to shop info message 2017-04-16 18:31:50 +02:00
Eric
98275ef57d Switch to Bukkit's inbuilt isSimilar method 2017-04-16 15:48:12 +02:00
Eric
468fa0e645 Include shop's world in error messages 2017-04-10 20:36:28 +02:00
Eric
f6a7f5e3ba Use more prepared statements
+ Removed quotation marks and semi colons from queries
2017-04-10 20:32:36 +02:00
Eric
508baf4f6b If a world is not found, only show the error once 2017-04-10 20:06:05 +02:00
Eric
8e5b61c7a0 Reload shops when a world loads after initializing the shops 2017-04-10 20:05:31 +02:00
Eric
8140db76c5 Prevent characters in translations from being escaped 2017-04-10 20:03:20 +02:00
Eric
fd9c6beea4 Reduced amount of log messages 2017-04-10 20:01:47 +02:00
Eric
ed4a14dfa5 Fixed exploit to generate money or items
When 'auto-calculate-item-amount' was set to true and the player was
sneaking, he could buy something even though the shop didn't have a
whole stack in stock, but still get the items, or he could sell
something even though he didn't have a stack in his inventory, but
still get the money for it.

Closes #93
2017-04-10 17:46:00 +02:00
Eric
d7985c615d Added support for uSkyBlock
Only the leader pr members of an island can create or expand a shop,
but everyone can use them.
2017-04-10 17:25:48 +02:00
Eric
35028f2cab Fix shop visibility after respawn or world change 2017-04-10 16:19:41 +02:00
Eric
e969aa35da Removed isUUID method 2017-03-30 20:45:09 +02:00
Eric
08f65dbee0 Fixed NPE when creating a shop not in a PlotSquared plot 2017-03-30 20:44:28 +02:00
Eric
71e2c48cc2 Fixed NPE while removing a shop when vendor is not online
+ Added missing javadoc parameter 'message'

Fixes #91
2017-03-29 20:05:56 +02:00
Eric
0a67cd81a2 Removed unnecessary debug methods 2017-03-29 20:02:41 +02:00
Eric
4a7202df6f Added support for PlotSquared
Three new custom flags will be available for every plot to set:
- create-shop
- use-shop
- use-admin-shop

These flags can be set to the following values
to allow the flag to that group. If you set the group to
members, trusted members and owners are also allowed the flag:
- owners
- trusted
- members
- everyone
- none

The default value for the flags will be 'none', so be sure to
change it in order to create or use shops!

The flag 'create-shop' can be bypassed by granting the permission
'shopchest.create.protected' (which is not recommended), and the
other flags can be bypassed by granting the permission
'shopchest.external.bypass'.

This closes #87
2017-03-28 14:37:12 +02:00
Eric
97c0ca70c2 Force to not use SSL for connecting to MySQL server
Fixes #86
2017-03-25 15:17:37 +01:00
Eric
b6a233f2b4 Fixed javadoc for methods with a callback as parameter
Also, the getShops() method now always gets all shops from the
database instead of returning the existing one
2017-03-25 15:17:36 +01:00
Eric
dd7a82b49e Added notification about offline revenue on join
Closes #47
2017-03-25 15:17:35 +01:00
Eric
b554ef1efd Re-import BukkitRunnable
Got lost while rebasing...
2017-03-25 15:17:34 +01:00
Eric
dfafa2930d Added missing null check for callback 2017-03-25 15:17:34 +01:00
Eric
1e38edc7a0 Improved database interaction 2017-03-25 15:17:33 +01:00
Eric
7b3dac61ac Query and update SQL database asynchronously 2017-03-25 15:17:32 +01:00
Eric
248cf08811 Added tab completion for commands
Had to change the way the custom command is registered,
so I could add a tab completer
2017-03-25 15:12:09 +01:00
Eric
da41151402 Added shift-click to sell stack
Only works when a player does not have an axe in one of his hands.
If he has, the shop will be broken/removed (if he has permission).

Closes #84
2017-03-25 13:45:17 +01:00
Eric
1de56fcf6a Protect holograms from damage 2017-03-25 13:24:05 +01:00
Eric
ea41f6759e Shop chests can only be broken with an axe 2017-03-25 13:18:52 +01:00
Eric
2302962eac Added shift-click to buy stack
Closes #85
2017-03-21 15:40:23 +01:00
Eric
474f734456 Added command "/shop open" to open shops
Shift-click no longer works anywhere to open a shop.
2017-03-21 15:03:12 +01:00
Eric
79660920d8 Updated events
Methods getPlayer() and getShop() don't need to be overridden,
as they are now declared in the ShopEvent superclass.
2017-03-21 14:25:49 +01:00
Eric
bc13dd7a9d Prevent armor items from being taken by the hologram 2017-03-17 15:01:11 +01:00
Eric
d2b75295ca Added null checks for Hologram in WorldGuardListener 2017-03-17 15:00:35 +01:00
Eric
39822fe8df Added AuthMe support
Closes #64
2017-03-17 14:59:34 +01:00
Eric
268d69c077 Only update shops if player has moved 2017-03-17 14:04:29 +01:00
Eric
598f9434e6 Switch from MCStats to bStats
New stats link: https://bstats.org/plugin/bukkit/ShopChest
2017-03-15 18:40:45 +01:00
Eric
6d6595c642 Fixed Events
Added missing static method getHandlerList
2017-03-14 15:54:47 +01:00
Eric
e29da1279b Catch IllegalStateException for getLineOfSight
Closes #79
2017-02-15 17:04:32 +01:00
Eric
00323510bb Only show shops to players who point on the shop (configurable) 2017-02-10 17:59:08 +01:00
Eric
3459a8ccba Stop shop updater when server is empty and restart on join 2017-02-08 21:49:23 +01:00
Eric
9583b77413 Fix NPE on player join
Fixes #77
2017-02-08 14:04:23 +01:00