1117 Commits

Author SHA1 Message Date
Wesley Wolfe
7dcf22262a Moved all specific minecart entities to sub-package.
This change is breaking for the new API for 1.5, including the interfaces for
the three new Minecart types and the name of the previously TNT_MINECART
material.

This change also deprecates the two previous specific minecart types located
in the org.bukkit.entity package. This deprecation is not a breaking change
and will still be internally supported.

Each minecart type has new javadoc to be slightly more descriptive. Included
with this are specific references to the interface for each respective
EntityType entry. Another package-info.java file has been included as well.

All specific minecart types extend minecart, each with a more descriptive
name. The naming will also follow the old convention. In addition, the
minecart with no specific designation is now more closely referred to as a
rideable minecart.
2013-03-16 02:30:31 -05:00
Travis Watkins
2cea46d97e Use proper naming convention for boolean methods. 2013-03-15 14:25:18 -05:00
Travis Watkins
94fd04448d Update Bukkit for Minecraft 1.5 2013-03-15 13:26:46 -05:00
Jeffrey Wardian
c6f2ec2eee Removed superfluous recalculation call; Fixes BUKKIT-3728
The permission attachment interface provides two methods each for setting
and unsetting permissions. Each one also provides an extra call to the
recalculatePermissions() method on the permissible, which degrades
performance.

This commit removes the duplicate call to recalculate permissions.
2013-03-12 01:07:26 -07:00
Max A
923506ece3 Convert name to lower case for removePermission; Fixes BUKKIT-3726
Permissions are stored as lower case names and referenced as such in all
appropriate methods but removePermission. This changes removePermission
to also convert names to lower case to be consistent with the rest of
the API.
2013-03-11 02:48:56 -07:00
Travis Watkins
f6399fde39 Add PlayerItemConsumeEvent. Adds BUKKIT-2349 2013-03-02 00:03:57 -06:00
Wesley Wolfe
90faffc339 Pulling all pending Bukkit-JavaDoc changes 2013-02-22 22:49:38 -06:00
Wesley Wolfe
76e82dddd9 Fix ClassCastException for malformed plugin.yml. Fixes BUKKIT-3563
If the plugin.yml gets loaded but wasn't in the form of a map, the
server would crash. This safely checks to see if it can be cast,
throwing invalid description if it cannot.
2013-02-03 04:08:10 -06:00
feildmaster
f349e7a0ad 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
EdGruberman
49d50e7b5f Only use TravelAgent if supplied; Addresses BUKKIT-3466
If there is no TravelAgent assigned, it can not be used.
2013-01-24 04:05:49 -06:00
feildmaster
0d14642362 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
05c2c55fce 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
EdGruberman
2f6cee111d [Bleeding] Add experimental support for entity portal traveling
EntityPortalEvent is called when an entity is about to portal to a
new location. This event is cancellable on top of being able to
change the exit location.

EntityPortalExitEvent is called when exiting the portal, allowing
for adjustment of the exit velocity.
2013-01-19 06:06:22 -06:00
MikeMatrix
cdba964122 Added negative id check to Material.getMaterial(int). Fixes BUKKIT-3414
Negative id values would try to access the array out of bounds and throw an java.lang.ArrayIndexOutOfBoundsException.
2013-01-15 05:05:20 -06:00
Wesley Wolfe
a809f5bf0e Switch DyeColor firework Colors. Fixes BUKKIT-3382
The firework colors were based on the respective wool data values. This
means the colors were in reverse order.
2013-01-05 17:24:37 -06:00
Wesley Wolfe
1c32f29760 Clarify dye and wool color datas in DyeColor. Addresses BUKKIT-2786
DyeColor used the wool data for getData(), which is very misleading based
on class name. The old method has been deprecated and replaced with
getWoolData() and getDyeData() for the appropriate types of data values.

The MaterialData classes Dye and Wool were updated appropriately,
especially Dye innapropriately using a DyeColor data value compensation.

Unit tests were added for the new methods, as well as the getColor on Dye
and Wool.
2013-01-05 17:20:39 -06:00
feildmaster
87e41b0d13 Add experience methods for PlayerFishEvent. Adds BUKKIT-3348 2013-01-01 23:44:18 -06:00
feildmaster
984919f3a9 Don't allow nulls in PlayerRespawnEvent. Fixes BUKKIT-2571 2012-12-29 18:41:23 -06:00
Wesley Wolfe
ff54598b05 Add method to get defult leather color. Adds BUKKIT-3203
The default leather color is already used internally in place of null. The
javadocs were updated appropriately to indicate as such.
2012-12-27 13:03:14 -06:00
Wesley Wolfe
782a2f3bf5 Use correct warning in JavaPluginLoader. Fixes BUKKIT-3315
The warning message printed with the stack traces on the deprecated
methods mistakingly use the wrong method signature in the description.
2012-12-27 13:02:40 -06:00
feildmaster
286f4565ac Add methods to set and reset max health. Adds BUKKIT-266 2012-12-23 07:28:37 -06:00
Travis Watkins
df6049eaa1 Remove duplicate message for console. Fixes BUKKIT-3267 2012-12-23 02:33:25 -06:00
feildmaster
33c03bb6d3 Add firework api to get and set Firework ItemMeta 2012-12-21 23:55:02 -06:00
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