Generalize Wolf to Tameable

Also generalize Arrow to Projectile
For MCCORE-263
This commit is contained in:
NuclearW
2012-05-21 04:44:48 -04:00
parent 79e93edfef
commit 3f211c6277
5 changed files with 59 additions and 71 deletions

View File

@ -6,7 +6,7 @@ import org.bukkit.entity.AnimalTamer;
import org.bukkit.entity.Entity;
import org.bukkit.entity.LivingEntity;
import org.bukkit.entity.Player;
import org.bukkit.entity.Wolf;
import org.bukkit.entity.Tameable;
import org.bukkit.event.entity.EntityDamageByEntityEvent;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.PlayerInventory;
@ -51,11 +51,11 @@ public class Axes {
public static void axeCriticalCheck(Player attacker, EntityDamageByEntityEvent event) {
Entity entity = event.getEntity();
if (entity instanceof Wolf) {
Wolf wolf = (Wolf) entity;
if (entity instanceof Tameable) {
Tameable pet = (Tameable) entity;
if (wolf.isTamed()) {
AnimalTamer tamer = wolf.getOwner();
if (pet.isTamed()) {
AnimalTamer tamer = pet.getOwner();
if (tamer instanceof Player) {
Player owner = (Player) tamer;

View File

@ -6,6 +6,7 @@ import org.bukkit.entity.AnimalTamer;
import org.bukkit.entity.Entity;
import org.bukkit.entity.LivingEntity;
import org.bukkit.entity.Player;
import org.bukkit.entity.Tameable;
import org.bukkit.entity.Wolf;
import org.bukkit.event.entity.EntityDamageByEntityEvent;
@ -34,11 +35,11 @@ public class Swords {
*/
public static void bleedCheck(Player attacker, LivingEntity entity, mcMMO plugin) {
if (entity instanceof Wolf) {
Wolf wolf = (Wolf) entity;
if (entity instanceof Tameable) {
Tameable pet = (Tameable) entity;
if (wolf.isTamed()) {
AnimalTamer tamer = wolf.getOwner();
if (pet.isTamed()) {
AnimalTamer tamer = pet.getOwner();
if (tamer instanceof Player) {
Player owner = (Player) tamer;

View File

@ -132,6 +132,10 @@ public class Taming {
final int THICK_FUR_MODIFIER = 2;
final int SHOCK_PROOF_MODIFIER = 6;
if (!(event.getEntity() instanceof Wolf)) {
return;
}
DamageCause cause = event.getCause();
Wolf wolf = (Wolf) event.getEntity();
Player master = (Player) wolf.getOwner();