These methods were never intended to be overwritten, and bukkit relies
on their internal functionality. Additionally, the methods were inlined
in JavaPlugin, but the finality maintains intention.
By: Wesley Wolfe <weswolf@aol.com>
EXPLOSION is used when a hanging entity is removed by an explosion.
DEFAULT is used when a hanging entity is removed by an uncategorised
cause.
By: EvilSeph <evilseph@gmail.com>
These numbers are mirrored in vanilla code as the coordinate limits for
a world. Replaced usages to a static final member for code readability.
By: Wesley Wolfe <weswolf@aol.com>
Two potion types were missing from the 1.4.2 update. Invisibility and
night vision are now in the potion type enum.
Fixes an erroneous use of PotionEffectType.SPEED where it should have
been WEAKNESS.
Removed deprecation for the PotionEffectType relating to certain effects
that are now active in 1.4.2.
Fixes BUKKIT-2677, BUKKIT-2758.
By: Wesley Wolfe <weswolf@aol.com>
As well as adding methods for ItemFrames, this moves some methods
previously contained in Painting to Hanging, as they are shared by both
classes.
An enum was added that represents rotations, similar to a clock-face.
This is needed as a contrast to cardinal direction based rotations.
By: h31ix <effectsdude@gmail.com>
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>
This implementation provides access to a (mutable) list and the base
message. Also provided is a convenience method for getting the last
'token' in the provided string.
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>
PlayerPreLoginEvent was originally implemented with the intention that
putting synchronized blocks on the plugin manager made it thread safe.
Unintentionally, this causes the event to be executed when a plugin
would otherwise expect no events to be firing. It is now deprecated.
By: Wesley Wolfe <weswolf@aol.com>