Commit Graph

1073 Commits

Author SHA1 Message Date
Wesley Wolfe
d9dc8fce62 Deprecate the scheduleAsync methods.
The name is misleading, as it can be misconstrued to mean "a sync"
instead of properly understanding it as "an async"
2012-12-05 13:18:47 -06:00
feildmaster
74a6fb9834 Add getShutdownMessage() and stop command arguments. Adds BUKKIT-3031 2012-12-05 06:06:44 -06:00
Wesley Wolfe
e468a8b391 [BREAKING] EntityChangeBlockEvent can be non-living. Adds BUKKIT-3078
Non-living entities can change blocks, specifically falling blocks. This change is a small source break, but mainly a byte-code break (requires plugins to recompile).
2012-12-04 22:17:03 -06:00
Travis Watkins
f5a0cf0821 Add API for controlling mob despawn away from players. Adds BUKKIT-2986 2012-12-04 21:30:44 -06:00
feildmaster
49690f9620 [BREAKING] Update BlockFace directions. Fixes BUKKIT-1567, BUKKIT-3069
If you use BlockFace in any way, to compensate the directionals being incorrect, you can still have backwards compatibility if you add in the handling in your plugin:
boolean legacyBlockFace = BlockFace.NORTH().getModX() == -1; (and then handle it accordingly)

If you didn't special case your directions to fix what's being fixed here... Hurray! Your plugin should now work.
2012-12-01 01:06:29 -06:00
Wesley Wolfe
4272e10fb7 Add data values for entity change block event. Adds BUKKIT-3077, BUKKIT-3076 2012-11-30 12:07:10 -06:00
feildmaster
1736f766dc Add API for creating explosions without damaging blocks. Fixes BUKKIT-3061 2012-11-27 19:35:03 -06:00
Wesley Wolfe
5165d9657e Make RECORD_12 a record. Fixes BUKKIT-3023
Record 12 was missed when added to the Material enum.
2012-11-24 02:26:07 -06:00
Darth Android
b0b6d082d9 Cache material data constructors. Fixes BUKKIT-2980
Reobtaining a constructor is not a trivial operation, this change makes the Material enum store the respective constructors for each MaterialData.

Additionally 'fixed' the material tests to use proper generics.
2012-11-24 02:25:20 -06:00
feildmaster
e31418234f Add DamageCause for FallingBlocks. Adds BUKKIT-2781 2012-11-20 17:09:25 -06:00
EvilSeph
288ec65421 Add ability to pass 'max' as 'level' for EnchantCommand. 2012-11-18 17:45:00 -05:00
Karl Fritsche
872851890a Update sounds for Minecraft 1.4.2 changes. Fixes BUKKIT-2849 2012-11-17 11:07:49 -06:00
James Clarke
95f68e9d36 Add API for getting and setting Skeleton and Zombie types. Fixes BUKKIT-2818 2012-11-17 10:05:53 -06: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
Wesley Wolfe
5bc7c5ad89 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
69374c7d40 Update Bukkit for Minecraft 1.4.4 changes. 2012-11-13 16:13:38 -06:00
EvilSeph
e94003894b Add yaw and rotation to default TeleportCommand. Fixes BUKKIT-2774 2012-10-31 22:02:47 -04:00
EvilSeph
c6b29a7899 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
b077059192 Add inventory types for new containers. Fixes BUKKIT-2741 2012-10-31 13:25:26 -04:00
Travis Watkins
aa4644cda3 Add API for ambient mob spawn limit. Adds BUKKIT-2765 2012-10-31 13:01:29 -04:00
Travis Watkins
07ba841f34 Add BlockCommandSender for Command block 2012-10-31 10:54:53 -05:00
EvilSeph
d6d81089a1 Fixed typo in PotionType. 2012-10-31 11:40:11 -04: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
Wesley Wolfe
276d45f1f0 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
5fb6a4f82b Add default GameRule command. Fixes BUKKIT-2671 2012-10-31 03:45:26 -04:00
feildmaster
482d5e3ee4 Add API for managing and using GameRules. Adds BUKKIT-2757 2012-10-31 03:44:26 -04:00
h31ix
ccd030487b 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
f3af02a53b [Bleeding] Add new events for Hanging entities, deprecate old Painting
events. Adds BUKKIT-2754
2012-10-31 00:21:04 -04:00
EvilSeph
d9fdd9084e Add default Clear command. Partially fixes BUKKIT-2671 2012-10-30 04:53:42 -04:00
EvilSeph
781b77ce52 Add clear inventory API to PlayerInventory with a successful count return. Adds BUKKIT-2745 2012-10-30 04:52:43 -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
feildmaster
d2df73a75e Revert FIREBALL being renamed to LARGE_FIREBALL 2012-10-29 19:59:53 -05:00
EvilSeph
1bf5267f8a Add default SpawnpointCommand. Partially fixes BUKKIT-2671 2012-10-29 05:06:04 -04:00
EvilSeph
e899b06d4d Expose setBedSpawnLocation with force option. Adds BUKKIT-2709 2012-10-29 04:58:51 -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
EvilSeph
aedafb9acd 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
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
Wesley Wolfe
859aab1fa3 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
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