diff --git a/build.properties b/build.properties
index 1f588bb62..904455132 100644
--- a/build.properties
+++ b/build.properties
@@ -1 +1 @@
-scriptcraft-version=3.1.12
+scriptcraft-version=3.2.0
diff --git a/build.xml b/build.xml
index 2b9b07991..a1f23d315 100644
--- a/build.xml
+++ b/build.xml
@@ -13,7 +13,7 @@
-
+
diff --git a/docs/API-Reference.md b/docs/API-Reference.md
index 6640bdcbb..f16ba0deb 100644
--- a/docs/API-Reference.md
+++ b/docs/API-Reference.md
@@ -185,9 +185,6 @@ Walter Higgins
* [events.vehicleDamage()](#eventsvehicledamage-1)
* [events.vehicleUpdate()](#eventsvehicleupdate)
* [events.vehicleCreate()](#eventsvehiclecreate)
- * [events.paintingBreak()](#eventspaintingbreak)
- * [events.paintingBreakByEntity()](#eventspaintingbreakbyentity)
- * [events.paintingPlace()](#eventspaintingplace)
* [events.enchantItem()](#eventsenchantitem)
* [events.prepareItemEnchant()](#eventsprepareitemenchant)
* [events.playerInteractEntity()](#eventsplayerinteractentity)
@@ -234,11 +231,13 @@ Walter Higgins
* [events.playerVelocity()](#eventsplayervelocity)
* [events.playerQuit()](#eventsplayerquit)
* [events.playerLogin()](#eventsplayerlogin)
+ * [events.playerSwapHandItems()](#eventsplayerswaphanditems)
* [events.playerKick()](#eventsplayerkick)
* [events.playerToggleSprint()](#eventsplayertogglesprint)
* [events.playerCommandPreprocess()](#eventsplayercommandpreprocess)
* [events.playerGameModeChange()](#eventsplayergamemodechange)
* [events.furnaceSmelt()](#eventsfurnacesmelt)
+ * [events.prepareAnvil()](#eventsprepareanvil)
* [events.inventoryDrag()](#eventsinventorydrag)
* [events.craftItem()](#eventscraftitem)
* [events.furnaceBurn()](#eventsfurnaceburn)
@@ -260,6 +259,7 @@ Walter Higgins
* [events.mapInitialize()](#eventsmapinitialize)
* [events.serviceUnregister()](#eventsserviceunregister)
* [events.pluginEnable()](#eventspluginenable-1)
+ * [events.villagerAcquireTrade()](#eventsvillageracquiretrade)
* [events.playerDeath()](#eventsplayerdeath-1)
* [events.entityCreatePortal()](#eventsentitycreateportal)
* [events.entityCombust()](#eventsentitycombust)
@@ -272,6 +272,7 @@ Walter Higgins
* [events.projectileHit()](#eventsprojectilehit-1)
* [events.foodLevelChange()](#eventsfoodlevelchange)
* [events.itemDespawn()](#eventsitemdespawn)
+ * [events.villagerReplenishTrade()](#eventsvillagerreplenishtrade)
* [events.entityPortalEnter()](#eventsentityportalenter)
* [events.entityPortal()](#eventsentityportal)
* [events.entityTarget()](#eventsentitytarget)
@@ -286,6 +287,7 @@ Walter Higgins
* [events.entityUnleash()](#eventsentityunleash)
* [events.entityExplode()](#eventsentityexplode)
* [events.entityInteract()](#eventsentityinteract)
+ * [events.entityToggleGlide()](#eventsentitytoggleglide)
* [events.explosionPrime()](#eventsexplosionprime)
* [events.horseJump()](#eventshorsejump)
* [events.creatureSpawn()](#eventscreaturespawn)
@@ -298,6 +300,7 @@ Walter Higgins
* [events.itemMerge()](#eventsitemmerge)
* [events.slimeSplit()](#eventsslimesplit-1)
* [events.pigZap()](#eventspigzap)
+ * [events.fireworkExplode()](#eventsfireworkexplode-1)
* [events.potionSplash()](#eventspotionsplash)
* [events.entityChangeBlock()](#eventsentitychangeblock)
* [events.entityPortalExit()](#eventsentityportalexit)
@@ -307,6 +310,7 @@ Walter Higgins
* [events.blockMultiPlace()](#eventsblockmultiplace)
* [events.blockExplode()](#eventsblockexplode)
* [events.notePlay()](#eventsnoteplay)
+ * [events.cauldronLevelChange()](#eventscauldronlevelchange)
* [events.blockFade()](#eventsblockfade)
* [events.blockPlace()](#eventsblockplace-1)
* [events.blockPhysics()](#eventsblockphysics-1)
@@ -2143,30 +2147,6 @@ The crucial difference is that the events module now has functions for each of t
* priority - optional - see events.on() for more information.
-### events.paintingBreak()
-
-#### Parameters
-
- * callback - A function which is called whenever the [painting.PaintingBreakEvent event](https://hub.spigotmc.org/javadocs/spigot/org/bukkit/event/painting/PaintingBreakEvent.html) is fired
-
- * priority - optional - see events.on() for more information.
-
-### events.paintingBreakByEntity()
-
-#### Parameters
-
- * callback - A function which is called whenever the [painting.PaintingBreakByEntityEvent event](https://hub.spigotmc.org/javadocs/spigot/org/bukkit/event/painting/PaintingBreakByEntityEvent.html) is fired
-
- * priority - optional - see events.on() for more information.
-
-### events.paintingPlace()
-
-#### Parameters
-
- * callback - A function which is called whenever the [painting.PaintingPlaceEvent event](https://hub.spigotmc.org/javadocs/spigot/org/bukkit/event/painting/PaintingPlaceEvent.html) is fired
-
- * priority - optional - see events.on() for more information.
-
### events.enchantItem()
#### Parameters
@@ -2535,6 +2515,14 @@ The crucial difference is that the events module now has functions for each of t
* priority - optional - see events.on() for more information.
+### events.playerSwapHandItems()
+
+#### Parameters
+
+ * callback - A function which is called whenever the [player.PlayerSwapHandItemsEvent event](https://hub.spigotmc.org/javadocs/spigot/org/bukkit/event/player/PlayerSwapHandItemsEvent.html) is fired
+
+ * priority - optional - see events.on() for more information.
+
### events.playerKick()
#### Parameters
@@ -2575,6 +2563,14 @@ The crucial difference is that the events module now has functions for each of t
* priority - optional - see events.on() for more information.
+### events.prepareAnvil()
+
+#### Parameters
+
+ * callback - A function which is called whenever the [inventory.PrepareAnvilEvent event](https://hub.spigotmc.org/javadocs/spigot/org/bukkit/event/inventory/PrepareAnvilEvent.html) is fired
+
+ * priority - optional - see events.on() for more information.
+
### events.inventoryDrag()
#### Parameters
@@ -2743,6 +2739,14 @@ The crucial difference is that the events module now has functions for each of t
* priority - optional - see events.on() for more information.
+### events.villagerAcquireTrade()
+
+#### Parameters
+
+ * callback - A function which is called whenever the [entity.VillagerAcquireTradeEvent event](https://hub.spigotmc.org/javadocs/spigot/org/bukkit/event/entity/VillagerAcquireTradeEvent.html) is fired
+
+ * priority - optional - see events.on() for more information.
+
### events.playerDeath()
#### Parameters
@@ -2839,6 +2843,14 @@ The crucial difference is that the events module now has functions for each of t
* priority - optional - see events.on() for more information.
+### events.villagerReplenishTrade()
+
+#### Parameters
+
+ * callback - A function which is called whenever the [entity.VillagerReplenishTradeEvent event](https://hub.spigotmc.org/javadocs/spigot/org/bukkit/event/entity/VillagerReplenishTradeEvent.html) is fired
+
+ * priority - optional - see events.on() for more information.
+
### events.entityPortalEnter()
#### Parameters
@@ -2951,6 +2963,14 @@ The crucial difference is that the events module now has functions for each of t
* priority - optional - see events.on() for more information.
+### events.entityToggleGlide()
+
+#### Parameters
+
+ * callback - A function which is called whenever the [entity.EntityToggleGlideEvent event](https://hub.spigotmc.org/javadocs/spigot/org/bukkit/event/entity/EntityToggleGlideEvent.html) is fired
+
+ * priority - optional - see events.on() for more information.
+
### events.explosionPrime()
#### Parameters
@@ -3047,6 +3067,14 @@ The crucial difference is that the events module now has functions for each of t
* priority - optional - see events.on() for more information.
+### events.fireworkExplode()
+
+#### Parameters
+
+ * callback - A function which is called whenever the [entity.FireworkExplodeEvent event](https://hub.spigotmc.org/javadocs/spigot/org/bukkit/event/entity/FireworkExplodeEvent.html) is fired
+
+ * priority - optional - see events.on() for more information.
+
### events.potionSplash()
#### Parameters
@@ -3119,6 +3147,14 @@ The crucial difference is that the events module now has functions for each of t
* priority - optional - see events.on() for more information.
+### events.cauldronLevelChange()
+
+#### Parameters
+
+ * callback - A function which is called whenever the [block.CauldronLevelChangeEvent event](https://hub.spigotmc.org/javadocs/spigot/org/bukkit/event/block/CauldronLevelChangeEvent.html) is fired
+
+ * priority - optional - see events.on() for more information.
+
### events.blockFade()
#### Parameters
@@ -6751,6 +6787,7 @@ The Entities module provides a suite of functions - one for each possible entity
The following functions are provided:
+ * area_effect_cloud()
* armor_stand()
* arrow()
* bat()
@@ -6761,6 +6798,7 @@ The following functions are provided:
* complex_part()
* cow()
* creeper()
+ * dragon_fireball()
* dropped_item()
* egg()
* ender_crystal()
@@ -6782,6 +6820,7 @@ The following functions are provided:
* item_frame()
* leash_hitch()
* lightning()
+ * lingering_potion()
* magma_cube()
* minecart()
* minecart_chest()
@@ -6799,16 +6838,20 @@ The following functions are provided:
* primed_tnt()
* rabbit()
* sheep()
+ * shulker()
+ * shulker_bullet()
* silverfish()
* skeleton()
* slime()
* small_fireball()
* snowball()
* snowman()
+ * spectral_arrow()
* spider()
* splash_potion()
* squid()
* thrown_exp_bottle()
+ * tipped_arrow()
* unknown()
* villager()
* weather()
diff --git a/lib/spigot-1.8.8.jar b/lib/spigot-1.9.jar
similarity index 80%
rename from lib/spigot-1.8.8.jar
rename to lib/spigot-1.9.jar
index 64362953a..09398a9ae 100644
Binary files a/lib/spigot-1.8.8.jar and b/lib/spigot-1.9.jar differ
diff --git a/release-notes.md b/release-notes.md
index c4aba151e..6db8e944b 100644
--- a/release-notes.md
+++ b/release-notes.md
@@ -1,5 +1,12 @@
RELEASE NOTES
=============
+3.2.0 Release (2016 03 20)
+--------------------------
+
+Bug fixes and updated from Spigot 1.8.8 to Spigot 1.9
+
+Fixed issues #256 and #287
+
3.1.12 Release (2015 12 30)
---------------------------
diff --git a/src/main/js/lib/events-bukkit.js b/src/main/js/lib/events-bukkit.js
index a2577c90a..875d91c34 100644
--- a/src/main/js/lib/events-bukkit.js
+++ b/src/main/js/lib/events-bukkit.js
@@ -69,7 +69,7 @@ exports.on = function(
The workaround is to make the ScriptCraftPlugin java class a Listener.
Should only unregister() registered plugins in ScriptCraft js code.
*/
- regd = new bkRegisteredListener( __plugin, eventExecutor, priority, __plugin, true );
+ regd = new bkRegisteredListener( __plugin, eventExecutor, priority, __plugin, false );
handlerList.register( regd );
result.unregister = function(){
handlerList.unregister( regd );