1139 Commits

Author SHA1 Message Date
EvilSeph
b854d0ee34 Add default EnchantCommand. Tim, The Enchanter - I AM DEATH! Adds BUKKIT-2961 2012-11-17 01:14:41 -05:00
EvilSeph
e1c0df5a82 Essential core commands shouldn't be overriden. Fixes BUKKIT-1546 2012-11-17 00:27:36 -05:00
EvilSeph
ceab221b8e Add aliases to TellCommand to bring us in line with Vanilla behaviour. 2012-11-15 23:04:45 -05:00
EvilSeph
fad6c476fe Remove unnecessary Overrides in Default commands. 2012-11-15 23:03:03 -05:00
EvilSeph
0adbd6c959 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
f1ac9196bc Added proper feedback to default commands. 2012-11-15 22:52:04 -05:00
Wesley Wolfe
6ebc1cd7ce Make some JavaPlugin methods final. Fixes BUKKIT-2916
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.
2012-11-13 16:13:45 -06:00
Travis Watkins
39b3aa8e0d Update Bukkit for Minecraft 1.4.4 changes. 2012-11-13 16:13:38 -06:00
EvilSeph
44be0455cd Add yaw and rotation to default TeleportCommand. Fixes BUKKIT-2774 2012-10-31 22:02:47 -04:00
EvilSeph
414f949379 Add EXPLOSION and DEFAULT RemoveCauses to the HangingBreakEvent.
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.
2012-10-31 14:23:56 -04:00
Travis Watkins
3d4100a327 Add inventory types for new containers. Fixes BUKKIT-2741 2012-10-31 13:25:26 -04:00
Travis Watkins
eca0b6524f Add API for ambient mob spawn limit. Adds BUKKIT-2765 2012-10-31 13:01:29 -04:00
Travis Watkins
a764c850c1 Add BlockCommandSender for Command block 2012-10-31 10:54:53 -05:00
EvilSeph
772d6ca804 Fixed typo in PotionType. 2012-10-31 11:40:11 -04:00
Wesley Wolfe
4f7ded55db 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
Wesley Wolfe
a94a0b209d Provide the 1.4.2 potions. Adds BUKKIT-2727.
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.
2012-10-31 04:19:11 -05:00
feildmaster
6b33364949 Add default GameRule command. Fixes BUKKIT-2671 2012-10-31 03:45:26 -04:00
feildmaster
0eb215cd8f Add API for managing and using GameRules. Adds BUKKIT-2757 2012-10-31 03:44:26 -04:00
h31ix
d982f94d8c Add API for ItemFrames. Adds BUKKIT-2668
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.
2012-10-31 01:19:33 -05:00
h31ix
4bd2bddc90 [Bleeding] Add new events for Hanging entities, deprecate old Painting
events. Adds BUKKIT-2754
2012-10-31 00:21:04 -04:00
EvilSeph
57ea30e152 Add default Clear command. Partially fixes BUKKIT-2671 2012-10-30 04:53:42 -04:00
EvilSeph
0290aee17e Add clear inventory API to PlayerInventory with a successful count return. Adds BUKKIT-2745 2012-10-30 04:52:43 -04:00
EvilSeph
2d5ae73809 Revert "Clear" commit, was not meant to be pushed.
This reverts commit bdf5d326f5910993c1f7e48b4409f7b0d53c1926.
2012-10-30 02:50:38 -04:00
mbax
9907150d92 [Bleeding] Check for player validity in spawnpoint command. Fixes BUKKIT-2742 2012-10-30 02:11:14 -04:00
EvilSeph
94effa3f0e Clear 2012-10-30 01:18:01 -04:00
EvilSeph
8b5440766c Update ExpCommand with levels support. Fixes BUKKIT-2683 and partially fixes BUKKIT-2671 2012-10-29 23:18:18 -04:00
feildmaster
2c8199c1f3 Revert FIREBALL being renamed to LARGE_FIREBALL 2012-10-29 19:59:53 -05:00
EvilSeph
2c63001a78 Add default SpawnpointCommand. Partially fixes BUKKIT-2671 2012-10-29 05:06:04 -04:00
EvilSeph
8d77e844f7 Expose setBedSpawnLocation with force option. Adds BUKKIT-2709 2012-10-29 04:58:51 -04:00
EvilSeph
8cc80425f0 Add default WeatherCommand. Partially fixes BUKKIT-2671 2012-10-29 02:48:40 -04:00
EvilSeph
9ea682a4a1 Remove invalid tab completions from DefaultGameModeCommand as player names are not an accepted parameter. 2012-10-29 02:12:07 -04:00
EvilSeph
1f37a492b4 Add default DifficultyCommand. Partially fixes BUKKIT-2671 2012-10-29 01:53:31 -04:00
EvilSeph
f28f674a3d Add isHardcore API to check if the server is in hardcore mode or not. Adds BUKKIT-2707 2012-10-29 01:45:08 -04:00
Travis Watkins
a446bb7e8f Update Bukkit for Minecraft 1.4(.2) changes. 2012-10-27 22:15:59 -04:00
Wesley Wolfe
ffbdc37ff9 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
Wesley Wolfe
6c2c2c19a2 Add a tab completion API for chat messages. Adds BUKKIT-2607
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.
2012-10-17 04:56:11 -05:00
Score_Under
9fd9767a4a 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
Wesley Wolfe
3dc80e1563 Deprecate PlayerPreLoginEvent. Addresses BUKKIT-2600
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.
2012-10-14 03:36:08 -05:00
Wesley Wolfe
c23d7f4e06 Add simpler API for using the scheduler. Adds BUKKIT-836
The new methods return the actual task that gets created from the
scheduler. They are also named such that auto-complete puts the
asynchronous methods after the normal ones. These two additions are
simply semantic.

Tasks now have a method to cancel themselves using their task id. This
is provided as a convenience.

A new class called SimpleRunnable was added. It is an abstract Runnable
such that anonymous classes may subclass it. It provides six convenience
methods for scheduling as appropriate. It also provides a cancel method
for convenience. The functionality of SimpleRunnable only stores an
integer representing the task id. A SimpleRunnable can only be scheduled
once; attempting to reschedule results in IllegalStateException.
2012-10-14 02:05:29 -05:00
Wesley Wolfe
955e0c437c Clarify some of the verbose in SimplePluginManager.
When an exception occurs, the version of the plugin is not included.
Having this information would be beneficial to plugin authors performing
debug.

The list of authors for NagAuthorException verbose (although unused)
would be more appropriate to simply include all authors, as opposed to
the first appearing.
2012-09-30 03:35:06 -05:00
Wesley Wolfe
b23edfd2d3 Let version print partial matches for plugin name. Addresses BUKKIT-2383
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.
2012-09-28 16:50:32 -05:00
Wesley Wolfe
503151584c Remove internals from org.bukkit.Sound.
The internal Minecraft names of Sounds should not be exposed in the API.
2012-09-26 19:02:36 -04:00
mbax
bc6b976dac Updated null checks in MetadataStoreBase. Fixes BUKKIT-1412
Previously, the method could be called with a null MetadataStore and stored.
In later execution null pointer exceptions would be generated when checking
for the plugin that the set Metadata belongs to.

Additionally, places where a plugin is referenced will now throw an
IllegalArgumentException if specified plugin is null. Using null would be an
obvious logical flaw, and in some cases produce additional exceptions later
in execution.
2012-08-26 22:09:21 -05:00
Wesley Wolfe
555c40e387 Allow inherited methods to be event handlers. Addresses BUKKIT-2299
This change lets JavaPluginLoader use a temporary HashSet to store
methods that could possibly have the EventHandler annotation. Duplicates
are prevented by the nature of a Set.

Registering parent listeners is a breaking change for any listener
extending another listener and expecting parent listeners to not be
called. Changing this is justified by the ease-of-use and proper object
inheritance design. If this is undesired behavior, the method may be
overridden without reapplying the method with the EventHandler notation.
2012-08-26 21:14:28 -05:00
Wesley Wolfe
e04c1c2a18 Provide better verbose for registering listeners. Addresses BUKKIT-2391 2012-08-25 17:48:53 -05:00
feildmaster
5cc04e5398 Add API for Sound, and playing the sounds for Worlds and Players. Adds BUKKIT-1430, BUKKIT-1226 and BUKKIT-2019 2012-08-21 17:15:48 -05:00
feildmaster
b8d2882de6 Add API to retrieve a players EnderChest. Adds BUKKIT-2016 2012-08-20 16:01:35 -05:00
Mike Primm
88e837ae5d Add isChunkInUse() to World. Addresses BUKKIT-2330 2012-08-19 07:56:39 -04:00
Wesley Wolfe
4c766c92ac Fully restrict the org.bukkit and net.minecraft namespace 2012-08-19 07:42:20 -04:00
Wesley Wolfe
6bbeb93103 Let TripwireHook be attachable. Addresses BUKKIT-2278
This commit also makes TripwireHook consistent with other attachables
for the facing property.
2012-08-17 14:33:23 -05:00