Commit Graph

159 Commits

Author SHA1 Message Date
Wesley Wolfe
6d03f7a638 Pulling all pending Bukkit-JavaDoc changes 2013-09-10 21:02:53 -05:00
Phillip Schichtel
6ae876a38c Add support for command tab completion in the console. Adds BUKKIT-4168
This commit corrects tab-completion logic to consider non-player command
senders.
2013-09-10 20:58:23 -05:00
Kezz101
eaf0265f5b Update /say to vanilla behaviour. Fixes BUKKIT-4224
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.
2013-09-10 19:40:03 -06:00
feildmaster
fcd62eec61 Make /spreadplayers command work. Fixes BUKKIT-4720 2013-09-09 20:03:15 -05:00
Kane York
47ef04fe48 Use command block's world for /gamerule. Fixes BUKKIT-3274
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.
2013-08-21 00:08:50 -06:00
Score_Under
e7f3d55221 [BREAKING] Use event class instead of event for timings. Fixes BUKKIT-4664
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.
2013-08-07 02:04:31 -05:00
Wesley Wolfe
2ccd6714a1 Use player as point of reference for min volume. Fixes BUKKIT-4640
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.
2013-08-03 18:26:31 -05:00
Wesley Wolfe
02f2b5e290 Account for relative coordinates in PlaySound. Fixes BUKKIT-4639 2013-08-02 20:26:55 -05:00
h31ix
d789396b2d Add 1.6 effect clear functionality. Fixes BUKKIT-4473 2013-08-02 15:49:08 -05:00
h31ix
7f67959c24 Add 1.6 SpreadPlayers command. Fixes BUKKIT-4508 2013-08-02 15:38:55 -05:00
h31ix
dd0aa63021 Add 1.6 PlaySound command. Fixes BUKKIT-4489 2013-08-02 00:09:46 -05:00
mbax
cbd5e3bfe5 Consider full team display name. Fixes BUKKIT-4186
Through a miscalculation, team display names were being created via
command ignoring the first word in the submitted display names.
2013-06-05 19:43:25 -05:00
Wesley Wolfe
faea684c23 Pulling all pending Bukkit-JavaDoc changes 2013-05-16 04:41:09 -05:00
Wesley Wolfe
18c46487ad Consider first player name in leave command. Fixes BUKKIT-4051 2013-04-11 22:56:31 -05:00
Wesley Wolfe
be1429665d Consider arguments to team leave properly. Fixes BUKKIT-3994
Two checks to argument length were changed to properly consider if the
sender is a player instead of an off-by-one logical error.
2013-04-05 12:49:59 -05:00
Wesley Wolfe
5ca534dc9b Use utility method for team-join display. Fixes BUKKIT-3997
The method to make a string from a collection of strings already exists
and should be used when adding multiple players to a team.
2013-04-05 12:40:03 -05:00
mbax
6fb1647394 Add Scoreboard API and Command. Adds BUKKIT-3776, BUKKIT-3834
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.
2013-04-03 23:32:54 -05:00
Edmond Poon
409595c2a2 Pulling all pending Bukkit-JavaDoc changes 2013-04-02 00:11:22 -04:00
feildmaster
9e614c1b0e Add Effect command. Adds BUKKIT-3763 2013-03-31 19:33:05 -05:00
Travis Watkins
8846f9ec4c Add dummy /testfor command in Bukkit. Addresses BUKKIT-3813
This command only functions in command blocks so the bukkit command for it
simply spits out an error message.
2013-03-18 17:10:52 -05:00
feildmaster
3fc631fd72 Fix invalid integers in spawnpoint command. Fixes BUKKIT-3509
getInteger returns min value on illegal number formats, so we change
behavior to throw an exception when requested.
2013-01-26 13:54:00 -06:00
feildmaster
6eeaee4c38 Don't try listing something that may not exist. Fixes BUKKIT-3471
The player name may not be provided, in which case the command will
fail hard.
2013-01-23 05:51:46 -06:00
feildmaster
bbc75c4a68 Improve javadoc in 26 files.
Addresses:
BUKKIT-1643, BUKKIT-1868, BUKKIT-1846, BUKKIT-2632, BUKKIT-3196,
BUKKIT-3187, BUKKIT-3198, BUKKIT-3200, BUKKIT-3201 and BUKKIT-3417.
2013-01-22 16:41:00 -06:00
Travis Watkins
601df7d25f Remove duplicate message for console. Fixes BUKKIT-3267 2012-12-23 02:33:25 -06:00
feildmaster
c8150a3428 Apply commandBlockOutput to broadcastMessage. Addresses BUKKIT-3117 2012-12-18 04:47:56 -06:00
feildmaster
f3dfe8bd01 An executor set to null will now use the plugin. Fixes BUKKIT-3127 2012-12-09 00:31:25 -06:00
feildmaster
74a6fb9834 Add getShutdownMessage() and stop command arguments. Adds BUKKIT-3031 2012-12-05 06:06:44 -06:00
EvilSeph
288ec65421 Add ability to pass 'max' as 'level' for EnchantCommand. 2012-11-18 17:45:00 -05:00
EvilSeph
ea864fbaf7 Add default EnchantCommand. Tim, The Enchanter - I AM DEATH! Adds BUKKIT-2961 2012-11-17 01:14:41 -05:00
EvilSeph
f3468327b9 Essential core commands shouldn't be overriden. Fixes BUKKIT-1546 2012-11-17 00:27:36 -05:00
EvilSeph
9421e618b9 Add aliases to TellCommand to bring us in line with Vanilla behaviour. 2012-11-15 23:04:45 -05:00
EvilSeph
d31ca9e797 Remove unnecessary Overrides in Default commands. 2012-11-15 23:03:03 -05:00
EvilSeph
b2870e185a Made KillCommand set the player health to 0 to allow it to work in Creative. Fixes BUKKIT-2949 2012-11-15 22:52:10 -05:00
EvilSeph
50814db38a Added proper feedback to default commands. 2012-11-15 22:52:04 -05:00
EvilSeph
e94003894b Add yaw and rotation to default TeleportCommand. Fixes BUKKIT-2774 2012-10-31 22:02:47 -04:00
Travis Watkins
07ba841f34 Add BlockCommandSender for Command block 2012-10-31 10:54:53 -05:00
Wesley Wolfe
bacc2e3596 Replace 'Magic Numbers' in commands.
These numbers are mirrored in vanilla code as the coordinate limits for
a world. Replaced usages to a static final member for code readability.
2012-10-31 04:19:11 -05:00
feildmaster
5fb6a4f82b Add default GameRule command. Fixes BUKKIT-2671 2012-10-31 03:45:26 -04:00
EvilSeph
d9fdd9084e Add default Clear command. Partially fixes BUKKIT-2671 2012-10-30 04:53:42 -04:00
EvilSeph
2bc78a82fe Revert "Clear" commit, was not meant to be pushed.
This reverts commit bdf5d326f5.
2012-10-30 02:50:38 -04:00
mbax
629f2e5c58 [Bleeding] Check for player validity in spawnpoint command. Fixes BUKKIT-2742 2012-10-30 02:11:14 -04:00
EvilSeph
bdf5d326f5 Clear 2012-10-30 01:18:01 -04:00
EvilSeph
b9dda28b5b Update ExpCommand with levels support. Fixes BUKKIT-2683 and partially fixes BUKKIT-2671 2012-10-29 23:18:18 -04:00
EvilSeph
1bf5267f8a Add default SpawnpointCommand. Partially fixes BUKKIT-2671 2012-10-29 05:06:04 -04:00
EvilSeph
012b814619 Add default WeatherCommand. Partially fixes BUKKIT-2671 2012-10-29 02:48:40 -04:00
EvilSeph
3b2e425abd Remove invalid tab completions from DefaultGameModeCommand as player names are not an accepted parameter. 2012-10-29 02:12:07 -04:00
EvilSeph
05876e9042 Add default DifficultyCommand. Partially fixes BUKKIT-2671 2012-10-29 01:53:31 -04:00
Travis Watkins
d5d1b41c02 Update Bukkit for Minecraft 1.4(.2) changes. 2012-10-27 22:15:59 -04:00
Wesley Wolfe
7adaf4bb6b Override toString() method in Command
Overriding the toString() method provides more human-readable feedback
when a problem occurs, including the version of the plugin if
applicable.
2012-10-19 15:46:28 -05:00
Score_Under
ede3fd278d Add tab-completion API. Fixes BUKKIT-2181. Adds BUKKIT-2602
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.
2012-10-16 00:05:40 -05:00