Commit Graph

378 Commits

Author SHA1 Message Date
Eric edd7608c02 Cleaned up code
- Removed unnecessary methods
- Split long methods into multiple shorter ones
- Updated Bukkit dependency to 1.12-pre5
- Removed permission for "/shop" command
2017-05-20 12:44:07 +02:00
Eric 7560cddb7a Fixed old shop updating 2017-05-17 17:12:45 +02:00
Eric 63a0509248 Added support for Minecraft 1.12-pre2 2017-05-15 20:29:38 +02:00
Eric 50adf1f1d1 Replaced "Usable Regex" with "Usable Placeholders" 2017-05-14 18:54:09 +02:00
Eric 8367bd5e57 Added missing soft-depend for GriefPrevention 2017-05-14 13:34:38 +02:00
Eric fbfb05faf9 Fixed help message for shop creation 2017-05-13 17:38:09 +02:00
Eric 81c5ed05f5 Added tab completion for Towny's and AreaShop's config values 2017-05-13 17:28:10 +02:00
Eric 56dc0c9c65 Added support for AreaShop 2017-05-13 17:23:44 +02:00
Eric 02275103c0 Use custom method to get blocks in sight 2017-05-06 16:13:59 +02:00
Eric f95122daaa Removed automatic shop reloading
+ Fixed config reload after entering "/shop reload"
2017-05-06 15:25:42 +02:00
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 928c0ef817 Added AuthMe in as soft-dependence in plugin.yml 2017-03-28 14:37:58 +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 8efdd8768e Disable auto shop reloads by default 2017-03-17 14:21:20 +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
Eric 8b8c7d4d73 Show and hide holograms asynchronously 2017-02-05 17:22:37 +01:00
Eric bae02c910a Fixed fallback command "/shopchest:shop" 2017-02-05 17:19:31 +01:00
Eric cdb862d435 Updated item names file 2017-02-05 15:04:57 +01:00
Eric 4d7f5dc3b7 Fixed holograms in the end world
Fixes #74
2017-02-05 14:51:46 +01:00
Eric 150c178679 Check if item names in config are valid 2017-01-28 12:23:10 +01:00
Eric c269cea82b Fixed holograms from being displayed too far away after teleporting 2017-01-21 13:30:39 +01:00
Eric f0a0d760a0 Fixed NPE on hologram updating
Fixes #63
2017-01-13 15:31:28 +01:00
Eric 5a40f84e21 Shorten lines in config file 2017-01-08 17:05:29 +01:00
Eric 39e3b4f837 Fixed error when clicking an entity that is not an ArmorStand
(only occurred with WorldGuard)
2017-01-06 13:21:06 +01:00
Eric c78f81a1b6 Fixed no permission message when removing an admin shop (en_US) 2017-01-05 14:36:32 +01:00
Eric 30ede5e01e Added configurable maximum prices
Closes #55
2017-01-05 14:35:42 +01:00
Eric bdf39503ab Added regex information to vendor-out-of-stock message 2017-01-05 14:15:09 +01:00
Eric 4c5ec37588 Call ShopUpdateEvent synchronously 2017-01-05 14:13:07 +01:00
Eric 4194c72bd4 Added vendor information about a sold out shop 2017-01-04 18:46:50 +01:00
Eric f6f8d93b85 Improve performance while updating shops
Inspired from the fork of @gonzalociocca but not exactly the same
Closes #39
2017-01-04 17:07:00 +01:00
Eric e08b09fe3f Allow better customization of hologram lift
Closes #38
2017-01-04 14:50:11 +01:00
Eric 2951ef8349 Only permitted players can remove admin shops
+ Changed permission "shopchest.removeOther" to "shopchest.remove.other"
Closes #36
2017-01-04 14:34:59 +01:00
Eric f233c626e1 Add way to invert mouse buttons
Closes #35
2017-01-03 15:35:35 +01:00
Eric f54c2ff7ff Shortened method to check WorldGuard permission 2017-01-03 14:28:54 +01:00
Eric 8217cdef6f Allow customization of custom WorldGuard flags' default values
Closes #45
2017-01-03 13:59:09 +01:00
Eric 49398547f1 Hide WorldGuard message when interacting with hologram 2017-01-03 13:34:34 +01:00
Eric 8e867a7c1d Hopefully fixed item meta issues for good 2017-01-03 13:06:29 +01:00
Eric f1712a6bce Added 1.11.2 translation values and the missing one for "Nether Wart" 2017-01-02 19:20:41 +01:00
Eric 222b553a8e Fixed Shulker Boxes
Closes #53
2017-01-02 17:50:46 +01:00
Steven M bedf207210 Fix fireworks (#52)
Fixes #51
2017-01-01 17:52:33 +01:00
gonzalociocca 253e40e8b9 Only compare a world's name to improve performace (#40)
When using .equals() on classes with many variables and methods, means that every single thing on the class would be checked to be equals to the one from the another class, and its taking too much CPU.
2016-12-08 20:11:48 +01:00
Steven M f4b7df8c92 Add additional check for permissions (#42) 2016-12-08 20:08:28 +01:00
Eric 192b124eb5 Added way to disable vendor messages
(= Messages that a vendor gets after players buy or sell something from/to
his shop)

Closes #33
2016-11-26 17:23:32 +01:00
Eric 98c79f5e8a Fixed issue when shop limit by permission is smaller than default 2016-11-26 17:13:39 +01:00
Eric 73f5d0f79e Change get(...) to getShop(...) in database 2016-11-26 17:07:21 +01:00
Eric 4f894ddac7 Fix ClassCastException when using Shulker Boxes
Closes #34
2016-11-26 17:06:21 +01:00
Eric 1fa0f08073 Shortened getShops method in ShopUtils 2016-11-25 13:55:39 +01:00
Eric a522197112 Improve performance while reloading shops 2016-11-24 22:00:49 +01:00
Eric d4a88a2a9b Fixed typos in config file 2016-11-24 21:43:26 +01:00
Eric 1fbcd76098 Fixed WorldGuard support for lower versions 2016-11-23 17:23:57 +01:00
Eric e9bcd2dd2f Add config value to enable quality mode 2016-11-23 17:17:09 +01:00
Eric cda28be3e3 Set ignoreCancelled flag to chest protection events 2016-11-23 17:08:46 +01:00
Eric eda52af179 Fix support for WorldGuard v6.1.3 and later 2016-11-23 17:08:20 +01:00
Eric 103662c532 Add support for per-world-economy plugins
The money will be withdrawn or deposited on the world of the shop
2016-11-23 16:11:07 +01:00
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