1
mirror of https://github.com/StarWishsama/Slimefun4.git synced 2024-09-19 19:25:48 +00:00

Revert broken Bows

This commit is contained in:
mrCookieSlime 2016-08-06 01:09:03 +02:00
parent 9a20c04ff3
commit 4fc109f7d5
2 changed files with 18 additions and 6 deletions

View File

@ -24,6 +24,7 @@ I will keep this list updated myself, please don't edit it yourself.
* John000708
* st392
* DeathlyPanda
* BlackBeltPanda
## Wiki

View File

@ -1,14 +1,11 @@
package me.mrCookieSlime.Slimefun.listeners;
import me.mrCookieSlime.Slimefun.SlimefunStartup;
import me.mrCookieSlime.Slimefun.Variables;
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SlimefunItem;
import org.bukkit.Bukkit;
import org.bukkit.GameMode;
import org.bukkit.Location;
import org.bukkit.entity.Arrow;
import org.bukkit.entity.Entity;
import org.bukkit.entity.LivingEntity;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
@ -17,6 +14,12 @@ import org.bukkit.event.entity.EntityShootBowEvent;
import org.bukkit.event.entity.ProjectileHitEvent;
import org.bukkit.util.Vector;
import me.mrCookieSlime.Slimefun.SlimefunStartup;
import me.mrCookieSlime.Slimefun.Variables;
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SlimefunItem;
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.handlers.BowShootHandler;
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.handlers.ItemHandler;
public class BowListener implements Listener {
public BowListener(SlimefunStartup plugin) {
@ -104,8 +107,16 @@ public class BowListener implements Listener {
@EventHandler
public void onArrowSuccessfulHit(EntityDamageByEntityEvent e) {
if (Variables.arrows.containsKey(e.getDamager().getUniqueId())) Variables.arrows.remove(e.getDamager().getUniqueId());
if (e.getDamager() instanceof Arrow) handleGrapplingHook((Arrow) e.getDamager());
if (e.getDamager() instanceof Arrow) {
if (Variables.arrows.containsKey(e.getDamager().getUniqueId()) && e.getEntity() instanceof LivingEntity) {
for (ItemHandler handler: SlimefunItem.getHandlers("BowShootHandler")) {
if (((BowShootHandler) handler).onHit(e, (LivingEntity) e.getEntity())) break;
}
Variables.arrows.remove(e.getDamager().getUniqueId());
}
handleGrapplingHook((Arrow) e.getDamager());
}
}
}