v1.71
Details
-
FilenameShopkeepers.jar
-
Uploaded by
-
UploadedApr 7, 2016
-
Size291.38 KB
-
Downloads13,237
-
MD516ccb9ccde7f5fb58c786bfa0cd1d933
Supported Bukkit Versions
- 1.9
- 1.8
Changelog
v1.71 for MC 1.9.x, 1.8.x, 1.7.10
This update contains a few changes, which might require you to update/reset your config and language file.
- In MC 1.9 all spawn-eggs use the data value 0 now. The default shop creation item data value was changed to 0 for now. This will cause all spawn-eggs to function as shop creation item by default. There is no new option yet to limit the shop creation item to the villager egg.
- Replaced 'disable-living-shops' with 'enabled-living-shops'. You might have to update your config due to this, however it has the advantage that whenever new mob types, which are disabled by default, are added to shopkeepers in the future, they don't automatically get enabled on servers which already run shopkeepers (which already have an old config which doesn't list those new mob types as disabled yet).
- Did some internal refactoring, mostly related to living shop types: Shopkeepers is now automatically 'supporting' all living entity types available for your server version for being used as shop entities. However, not all entity types will properly work: If you want to try out on your own risk if a living entity type works as shop entity, you will have to manually enable it in the config.
- Added RABBIT to the by default enabled living shop entity types.
- Slightly changed the default shopkeeper list entry message, to display the shopkeeper's session id instead of the list index. Also the colors where slightly changed to make it better readable.
- Added some german translations for some command argument names to the included default german translation.
- Added setTradePerm command: This allows setting of a custom permission for individual admin shopkeepers, which is then required for being allowed to trade with the affected shopkeeper. Also added a few new messages related to this.
- Also added a new message which gets sent to players which don't have the regular trade-permission. By default the message text is the same as the message being sent if the player is missing the newly added custom trading permission, though those can be changed in the config independently.
- The 'remote' command now also accepts a shop's unique id or session id (instead of the shop name).
- The default 'unknown-shopkeeper'-message was changed to include the 'unknown id' fact.
- No longer manually saving item attributes for servers running on MC 1.9 upwards. Since somewhere in late 1.8 bukkit started saving attribute data as part of their 'internal' data. Attribute loading is left in for now, in case someone updates from a bukkit version which didn't save attributes yet. This should also fix the issue of the new Slot attribute added in MC 1.9 being now properly saved.
- Slightly changed the saving procedure which will hopefully make it less likely that all your save data gets lost if something goes wrong during saving: The data gets now first saved to a different, temporary file (in the shopkeepers plugin folder). Only if saving was successful, the old save file gets removed and replaced by the new one. Also added a bit more debugging information to the related messages.
- Added a possible workaround for the 'duplicating villagers' issue some people still seem to have sometimes:
My current guess on the problem is, that: The shopkeeper entities get saved to disk when the world gets saved. Shopkeepers removes a shop entity, respawns the entity (this replaces the old 'last-entity-uuid'). This does not necessarily have to happen at the same time or for all entities, but it does occur when shopkeepers is for ex. getting reloaded. Now if the server closes (ex. due to a crash) without another world save taking place, the old shop entity is still saved in the chunk data of the world, but we cannot identify it as shop entity on the next server start, because we remembered the entity-uuid of the last entity we spawned, which is not the same as the last entity which was saved to disk.
This workaround: Whenever the world gets saved (at least whenever WorldSaveEvent gets triggered) all shopkeepers get temporarily unloaded (and by that removed from the world) and loaded (respawned) again shortly after the world-save. With this the shop entities will hopefully no longer get stored to the chunk data. You will notice a short flicker of shop entities, but trading etc. should keep working, even during world-saves. If you have debug-mode enabled in the config, you will get a rather large block of debugging output everytime all your worlds get saved.
- If the trade for a written book fails players can sometimes still open and read the book if they close the shop and click the temporary fake book in their inventory fast enough. There is not much I can do about this..
- Server crashes and improper shutdowns might cause living non-citizens shopkeeper entities to duplicate sometimes.
- The 'always-show-nameplates' setting is no longer working on MC 1.8.
- Compatibility with older bukkit versions is untested. If you encounter any problems let me know and I will look into it.
- A bunch of entity types are only meant for experimental usage. They might cause all kinds of issues if used. See changelog of v1.50.
- In the latest MC 1.8.x versions default minecraft trading logic has slightly changed (and by that those of shopkeepers as well): if a trade requires an item with special data (like a custom name, etc.) minecraft is now only allowing this trade, if the offered item is perfectly matching, including all special item data and attributes.
- MC 1.9 has changed how the different spawn eggs are differentiated internally. All spawn eggs now have the data value 0 and there is no API in bukkit yet which would allow me to check which type of spawn egg a player is holding. In order to get the shop creation via item working for now, you will have to either change the data value of the shop creation item to 0 (which will however let ALL types of spawn eggs act like the creation item), or you change the creation item type all together.