* Fixed: The LICENSE file gets properly included in the plugin jar now.
* Using ${project.parent.relativePath} variable everywhere, removing
unneeded/inherited entries and properties, moved a bunch of general
information into properties in the parent pom (version, urls, etc.),
updated scm information to point to the new repository.
* The plugin.yml now uses the dbo url defined in the maven pom.
* Added custom charts for supported third-party plugins, used (vault)
economy, usage of various features and total shopkeeper count.
* Added a few plugins as soft dependencies: Vault, WorldGuard, Towny,
Gringotts.
* Added an additional config setting 'enable-metrics', with which bStats
metrics can be disabled for Shopkeepers only.
Maven cleanup:
* All scopes are now explicitly specified.
* Removed duplicate group-ids form child-modules.
* Moved junit dependency into parent.
From a quick test, illusioner and parrot seem to work fine.
Updating player inventory after cancelling interaction. This helps in
cases whe the interaction would modify the inventory(ex. animal
feeding).
Due to some villager profession changes in bukkit, data about villager
professions gets converted to a new storage format (stored by name
instead of id) (not backwards compatible!).
Using bukkit's new API for setting entities silent on MC 1.10.
Minor changes to the compatibility mode, which didn't work for the past
few minecraft updates. Might still not work, as it wasn't fully tested.
Removed support for MC 1.7.10.
Removed 'use-strict-item-comparison' setting (minecraft is performing a
strict item comparison already itself since MC 1.8).
Removed uuid conversion related code: PlayerShops are expected to have a
valid owner uuid by now.
Slightly refactored handling of issues during shop creation and loading,
so that shopkeepers with invalid data (ex. missing owner uuids) can now
communicate to the loading procedure that the loading failed.
Players are now also allowed to place a shopkeeper if the region they
are in has WorldGuard's ALLOW_SHOP flag set (regardless if they can
build in that region).
Updated WorldGuard dependency to 5.9, added dependency to WorldEdit 5.6
(otherwise it wouldn't let me compile..) and added sk89q's official
maven repository.
the core with bukkit 1.6.2 R1.0 again and moving all bukkit version
specific stuff into the NMSCallProvider (maybe rename it to something
like 'VersionProvider' or similar, as it is not only used for NMS
related stuff anymore..?).
could probably be improved: instead of having to go through all the
available mob types with the creation item, it might be better to just
create a living entity shop of some type the player is allowed to use,
and then given him the option to change the type via the editor menu.
Also a few small things in direction of adding the citizen support (like
some setting) are already included in this commit.
The different entity type settings were removed and replaced with a list
of 'disabled entity types', also the selected messages were replaced
with a generic one.
especially move things out of the main plugin class and make some things
slightly more abstract:
* all living shopkeeper types share one listener now
* made the shopkeeper types more abstract
* made the shop object types more abstract
* tried to make the user interface stuff (trading, hiring, editor
windows) more abstract (though, I am not quite sure yet if that was an
improvement..)
* many more tiny changes everywhere..
Work in progress.
player logs in. The playername gets used for display purposes and as
identifier for the owner as long as we don't have an owner uuid yet.
Caveat which is probably left: the 'remove shopkeeper after certain time
of inactivity of player' gets an OfflinePlayer to determine when the
player was last online. This however can now (since 1.7.8) freeze the
server when it has to lookup the name or uuid via the mojang services.
However, this is currently considered a minor 'issue' as those lookups
can only happen once per plugin load (and reload), and the server might
cache the result from those lookups.
This also improves handling the base dependency, because we only need to change it in one place.
Yes, we want to add those basic .classpath & .project files here - still ignoring it on the other end - to provide maven build + eclipse IDE compiling right out of the box.