Overriding the toString() method provides more human-readable feedback
when a problem occurs, including the version of the plugin if
applicable.
By: Wesley Wolfe <weswolf@aol.com>
CommandMap contains a method that will auto-complete commands
appropriately. Before the first space, it searches for commands of which
the sender has permission. After the first space, it delegates to the
individual command.
Vanilla commands contain implementations to mimic vanilla
implementation. Exception would be give, that allows for name matching;
a feature we already allowed as part of the command is now supported for
auto-complete as well.
Plugin commands can get a tab completer set to delegate the completion
for. If no tab completer is set, it can check the executor to see if it
implements the tab completion interface. It will also attempt to chain
calls if null gets returned from these interfaces. Plugins also
implement the new TabCompleter interface, to add ease-of-use for plugin
developers, similar to the onCommand() method.
The default command implementation simply searches for player names.
To help facilitate command completion, a utility class was added with
two functions. One checks two strings, to see if the specified string
starts with (ignoring case) the second. The other method uses the first
to selectively copy elements from one collection to another.
By: Score_Under <seejay.11@gmail.com>
If no plugin is found with the given name, the version command will
search all loaded plugins to find a case insensitive partial match for
the specified name and print to the sender all matches.
By: Wesley Wolfe <weswolf@aol.com>
This is now done after the event to allow you to be able to get previous damageCauses, and is now only applied if the event is not canceled.
By: feildmaster <admin@feildmaster.com>
Removed internal collection leaks from PluginDescriptionFile
BREAKING: PluginDescriptionFile.getAuthors() now returns List instead of
ArrayList
Various places with unsafe generics, notably List<Object> getList() in
Configurations are now referenced as <?>. This is nonbreaking, but
sourcecode will need to be revised when compiled.
By: Wesley Wolfe <weswolf@aol.com>
Adds Player.hidePlayer, Player.showPlayer, and Player.canSee for managing
what players are hidden from a player. When someone is hidden from a player
the player cannot see them in the user list or /list and they cannot /tell
them so they appear to be completely gone from the server.
By: Travis Watkins <amaranth@ubuntu.com>
Implementations will now need to implement the console command sender.
This is done to increse the separation between the Bukkit API and it's
implementations. This allows the implementations more freedom when dealing
with consoles and reducing chances for breaking plugin compatibility in the
future.
By: Andrew Ardill <andrew.ardill@gmail.com>
This will allow us to raise events for remote consoles, and provide access
to them at a later date. Relates to BUKKIT-220
By: Andrew Ardill <andrew.ardill@gmail.com>