diff --git a/lib/craftbukkit.jar b/lib/craftbukkit.jar index c800a8d0..b9ef1ba1 100644 Binary files a/lib/craftbukkit.jar and b/lib/craftbukkit.jar differ diff --git a/src/com/massivecraft/factions/P.java b/src/com/massivecraft/factions/P.java index 9b06f68d..523b10c5 100644 --- a/src/com/massivecraft/factions/P.java +++ b/src/com/massivecraft/factions/P.java @@ -87,7 +87,7 @@ public class P extends MPlugin } catch (ClassNotFoundException ex) { - this.log(Level.SEVERE, "CraftBukkit 1.3.2-R0.1 (build 2340) or newer required. Your CraftBukkit build is not compatible."); + this.log(Level.SEVERE, "GSON lib not found. Your CraftBukkit build is too old (< 1.3.2) or otherwise not compatible."); this.suicide(); return; } diff --git a/src/com/massivecraft/factions/listeners/FactionsEntityListener.java b/src/com/massivecraft/factions/listeners/FactionsEntityListener.java index 514f405d..56b01222 100644 --- a/src/com/massivecraft/factions/listeners/FactionsEntityListener.java +++ b/src/com/massivecraft/factions/listeners/FactionsEntityListener.java @@ -18,6 +18,7 @@ import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Player; import org.bukkit.entity.Projectile; import org.bukkit.entity.TNTPrimed; +import org.bukkit.entity.Wither; import org.bukkit.entity.WitherSkull; import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; @@ -31,9 +32,9 @@ import org.bukkit.event.entity.EntityDeathEvent; import org.bukkit.event.entity.EntityExplodeEvent; import org.bukkit.event.entity.EntityTargetEvent; import org.bukkit.event.entity.PotionSplashEvent; -import org.bukkit.event.painting.PaintingBreakByEntityEvent; -import org.bukkit.event.painting.PaintingBreakEvent; -import org.bukkit.event.painting.PaintingPlaceEvent; +import org.bukkit.event.hanging.HangingBreakByEntityEvent; +import org.bukkit.event.hanging.HangingBreakEvent; +import org.bukkit.event.hanging.HangingPlaceEvent; import org.bukkit.potion.PotionEffect; import org.bukkit.potion.PotionEffectType; @@ -164,7 +165,7 @@ public class FactionsEntityListener implements Listener } else if ( - (boomer instanceof Fireball || boomer instanceof WitherSkull) + (boomer instanceof Fireball || boomer instanceof WitherSkull || boomer instanceof Wither) && ( (faction.isNone() && Conf.wildernessBlockFireballs && !Conf.worldsNoWildernessProtection.contains(loc.getWorld().getName())) @@ -483,29 +484,29 @@ public class FactionsEntityListener implements Listener } @EventHandler(priority = EventPriority.NORMAL) - public void onPaintingBreak(PaintingBreakEvent event) + public void onPaintingBreak(HangingBreakEvent event) { if (event.isCancelled()) return; - if (! (event instanceof PaintingBreakByEntityEvent)) + if (! (event instanceof HangingBreakByEntityEvent)) { return; } - Entity breaker = ((PaintingBreakByEntityEvent)event).getRemover(); + Entity breaker = ((HangingBreakByEntityEvent)event).getRemover(); if (! (breaker instanceof Player)) { return; } - if ( ! FactionsBlockListener.playerCanBuildDestroyBlock((Player)breaker, event.getPainting().getLocation(), "remove paintings", false)) + if ( ! FactionsBlockListener.playerCanBuildDestroyBlock((Player)breaker, event.getEntity().getLocation(), "remove paintings", false)) { event.setCancelled(true); } } @EventHandler(priority = EventPriority.NORMAL) - public void onPaintingPlace(PaintingPlaceEvent event) + public void onPaintingPlace(HangingPlaceEvent event) { if (event.isCancelled()) return;