1094 Commits

Author SHA1 Message Date
meiskam
c633a472db Add Skull BlockState and Type enum. Adds BUKKIT-3258 2012-12-21 22:24:50 -06:00
Wesley Wolfe
5be32cd8f0 Add enchantment storage meta. Adds BUKKIT-3237
Books can 'store' enchantments that can be applied to other items later.
These enchantments exist seperately of enchantments that actually effect the
item, and are as stated 'stored' in the book instead of the book being
enchanted. The meta is generically named as the concept could be applied to
other item types later, such as a enchantment scroll.

All of the methods mimic those in the base meta, but instead specify
'stored' in each method name.
2012-12-21 10:36:17 -06:00
Wesley Wolfe
13803d713c Add FireworkEffect and respective item metas. Adds BUKKIT-3236
FireworkEffect is an immutable class that requires the builder pattern
to construct, to reduce ambiguity and help make code uses more readable.

FireworkMeta contains a list of effects, as well as a flight height.

FireworkEffectMeta contains a single effect for charges.
2012-12-21 10:36:07 -06:00
Wojciech Stryjewski
5c446a97ae Add API to allow plugins to request players switch to a texture pack. Adds BUKKIT-2579
The setTexturePack method causes the player's client to
download and switch to a texture pack specified by a URL.

Note: Players can disable server textures on their client, in which
case this API would not affect them.
2012-12-20 22:20:56 -05:00
feildmaster
d9f1255e1d Update Bukkit to Minecraft 1.4.6 2012-12-20 11:26:32 -06:00
feildmaster
23854afbfe Apply commandBlockOutput to broadcastMessage. Addresses BUKKIT-3117 2012-12-18 04:47:56 -06:00
feildmaster
14ec80289a Refactor get/setChestPlate to Chestplate. Addresses BUKKIT-3189
This method was inconsistent with previous methods.
2012-12-18 03:46:45 -06:00
feildmaster
e48765bafb Fix MaterialData directions being incorrect. Fixes BUKKIT-3160
Prior to 49690f9, BlockFaces were mostly correct in their respective
MaterialData classes. However, a lot of things were not updated since
implementation and broke without being addressed.

This fixes any discrepancies with Block data.
2012-12-18 03:25:00 -06:00
Wesley Wolfe
493778c28e Deprecate methods in JavaPluginLoader and PluginClassLoader
These methods are unnecessarily exposed. They are specific to a type of
implementation for the class loaders, and should have no external use.
Because these methods are exposed, it limits the versatility to change
how the internal class loading system works, including an inherent class
loader leak for some situations.

They are now replaced with internal, package-private methods. The public
facing methods will print a stack trace the first time one is activated.

Extending the classes also produces a stack trace, to indicate that
extension is not actively supported.
2012-12-18 00:15:40 -06:00
Wesley Wolfe
c471b90c10 Clarify functionality in Inventory. Fixes BUKKIT-3097
Mainly javadoc changes to be specific in functionality and outcomes. This is
mixed with specifying that null Material should throw IllegalArgumentException
instead of the previous undefined NullPointerException.

Included is a clarification on how contains(ItemStack, int) works, and a new
method containsAtLeast(ItemStack, int) for counting the number of a specific
item.
2012-12-17 16:49:12 -06:00
Wesley Wolfe
c02306b55e Add ItemMeta factory and interfaces. This adds BUKKIT-15
Included with ItemMeta is a new serializable class Color.

PotionEffects are now serializable.
2012-12-17 01:16:28 -06:00
Wesley Wolfe
84912b5510 Add Material methods. Adds BUKKIT-3161, BUKKIT-3162, BUKKIT-3163,
BUKKIT-3164

This adds an isFlammable method, to indicate if a block can catch fire.

This adds an isTransparent method, to check if light can pass through.

This adds an isOccluding method, to check if it fully blocks vision.

This adds an isBurnable method, to indicate if a block can burn away.
2012-12-14 02:03:05 -06:00
feildmaster
7221df2963 Add EntityEquipment API. Adds BUKKIT-3103 2012-12-10 19:09:58 -06:00
Wesley Wolfe
18547e2634 Add isSolid() to Material. Adds BUKKIT-3131
A 'solid' material indicates that it is a block and cannot be passed
through.
2012-12-09 15:13:25 -06:00
feildmaster
40117b8952 An executor set to null will now use the plugin. Fixes BUKKIT-3127 2012-12-09 00:31:25 -06:00
feildmaster
7631c22aea Add FurnaceExtractEvent. Addresses BUKKIT-2114
Added a "BlockExpEvent" to hold experience and the handlers for the events
2012-12-09 00:31:23 -06:00
Travis Watkins
2ea133bb99 Provide a faster way to get a location. Adds BUKKIT-3120
Currently when a plugin wants to get the location of something it calls
getLocation() which returns a new Location object. In some scenarios this
can cause enough object creation/destruction churn to be a significant
overhead. For this cases we add a method that updates a provided Location
object so there is no object creation done. This allows well written code
to work on several locations with only a single Location object getting
created.

Providing a more efficient way to set a location was also looked at but
the current solution is the fastest we can provide. You are not required
to create a new Location object every time you want to set something's
location so, with proper design, you can set locations with only a single
Location object being created.
2012-12-07 21:18:31 -06:00
feildmaster
7aa2a077b6 Add API to get and set collar colors of wolves 2012-12-05 18:03:24 -06:00
Wesley Wolfe
516bcd8eb7 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
016217f791 Add getShutdownMessage() and stop command arguments. Adds BUKKIT-3031 2012-12-05 06:06:44 -06:00
Wesley Wolfe
addfe146de [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
ccf33ccdfb Add API for controlling mob despawn away from players. Adds BUKKIT-2986 2012-12-04 21:30:44 -06:00
feildmaster
1a5998a5d5 [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
58c8f0ae30 Add data values for entity change block event. Adds BUKKIT-3077, BUKKIT-3076 2012-11-30 12:07:10 -06:00
feildmaster
6cf0821f0a Add API for creating explosions without damaging blocks. Fixes BUKKIT-3061 2012-11-27 19:35:03 -06:00
Wesley Wolfe
2170673680 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
91ad18a1b4 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
e72fb666d8 Add DamageCause for FallingBlocks. Adds BUKKIT-2781 2012-11-20 17:09:25 -06:00
EvilSeph
d9f9ca5127 Add ability to pass 'max' as 'level' for EnchantCommand. 2012-11-18 17:45:00 -05:00
Karl Fritsche
321aea4156 Update sounds for Minecraft 1.4.2 changes. Fixes BUKKIT-2849 2012-11-17 11:07:49 -06:00
James Clarke
bc5e54d904 Add API for getting and setting Skeleton and Zombie types. Fixes BUKKIT-2818 2012-11-17 10:05:53 -06:00
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