This commit adds proper formatting to the closing bracket used when certain
commands send messages to all players with the broadcast-channel
permission.
By: Luke A <stuntguy3000@gmail.com>
Prior to this commit all /say command output would be a generic "[Server]"
prefixed line. This commit changes that by adding the source into the
message, such as a player. By doing this Bukkit more closely matches
vanilla behaviour and gives a more descriptive message to the client.
By: Kezz101 <1millionchances@gmail.com>
In vanilla, gamerules are global, across all worlds. Maps created for
vanilla that use command blocks expect this behavior, which is broken
when they are placed on a world that is not the default world (world #0).
This commit changes that by using the command block's current world when
executing the command, forcing the game rules executed to be executed in
the world the command block is currently in.
By: Kane York <rikingcoding@gmail.com>
TimedRegisteredListener uses a reference to the first event fired. This
causes a memory leak in the server for any references that event has. This
changes TimedRegisteredListener to only store a reference to the class of
the event.
This change is intentionally a breaking change, as it is an obscure part
of the API. A non-breaking change would require the leak to be maintained
or an immediate update for any plugins using the method, as it would be an
indirect break.
A unit test is also included to check behavior of shared superclass
functionality.
By: Score_Under <seejay.11@gmail.com>
When the minimum volume is being used because the distance is over a
threshold, the unit vector delta should be added to the player's
location, instead of where the command specified location.
This change makes the player's location the point of reference for
playing sounds when distance to volume scale is lower than minimum
specified volume.
By: Wesley Wolfe <weswolf@aol.com>
Through a miscalculation, team display names were being created via
command ignoring the first word in the submitted display names.
By: mbax <github@phozop.net>
Two checks to argument length were changed to properly consider if the
sender is a player instead of an off-by-one logical error.
By: Wesley Wolfe <weswolf@aol.com>
The method to make a string from a collection of strings already exists
and should be used when adding multiple players to a team.
By: Wesley Wolfe <weswolf@aol.com>
The implementation is designed around having both a main scoreboard and
numberous plugin managed scoreboards that can be displayed to specific
players.
Plugin managed scoreboards are active so long as a reference is kept by a
plugin, or it has been registered as a player's active scoreboard. Objects
specific to a scoreboard remain active until unregistered (which remove a
reference to the owning scoreboard), but quickly fail if accessed
post-unregistration.
By: mbax <github@phozop.net>
getInteger returns min value on illegal number formats, so we change
behavior to throw an exception when requested.
By: feildmaster <admin@feildmaster.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>