@Override public boolean isTamed() { return entity instanceof Tameable && ((Tameable) entity).isTamed(); }
/** * Checks to see if an entity is currently friendly toward a given player. * * @param attacker The player to check. * @param pet The entity to check. * @return true if the entity is friendly, false otherwise */ public static boolean isFriendlyPet(Player attacker, Tameable pet) { if (pet.isTamed()) { AnimalTamer tamer = pet.getOwner(); if (tamer instanceof Player) { Player owner = (Player) tamer; return (owner == attacker || PartyManager.inSameParty(attacker, owner) || PartyManager.areAllies(attacker, owner)); } } return false; }
/** * @param event */ @EventHandler(priority = EventPriority.LOW) public void onPlayerInteract(PlayerInteractEntityEvent event) { if (event.isCancelled()) { return; } if (plugin.getSettingsManager().isTamableMobsSharing() && event.getRightClicked() instanceof Tameable) { Entity entity = event.getRightClicked(); Player player = event.getPlayer(); ClanPlayer cp = plugin.getClanManager().getClanPlayer(player); Tameable tamed = (Tameable) entity; if (tamed.isTamed()) { if(entity instanceof Wolf && !((Wolf) entity).isSitting()) { return; } if (cp.getClan().isMember((Player) tamed.getOwner())) { tamed.setOwner(player); } } } }
@Override public SpellResult perform(CastContext context) { Entity entity = context.getTargetEntity(); if (!(entity instanceof Tameable)) { return SpellResult.NO_TARGET; } Tameable tameable = (Tameable)entity; if (tameable.isTamed()) { return SpellResult.NO_TARGET; } tameable.setTamed(true); Player tamer = context.getMage().getPlayer(); if (tamer != null) { tameable.setOwner(tamer); } return SpellResult.CAST; }
private Runnable handlePetKill(long time, UUID victimUUID, Tameable tameable) { if (!tameable.isTamed()) { return null; } AnimalTamer owner = tameable.getOwner(); if (!(owner instanceof Player)) { return null; } String name; try { name = tameable.getType().name(); } catch (NoSuchMethodError oldVersionNoTypesError) { // getType introduced in 1.9 name = tameable.getClass().getSimpleName(); } return victimUUID != null ? new PlayerKillProcessor(owner.getUniqueId(), time, victimUUID, new EntityNameFormatter().apply(name)) : new MobKillProcessor(owner.getUniqueId()); }
@Override public void setTamed(boolean bln) { t.setTamed(bln); }
/** * Handle the Beast Lore ability. * * @param target The entity to examine */ public void beastLore(LivingEntity target) { Player player = getPlayer(); Tameable beast = (Tameable) target; String message = LocaleLoader.getString("Combat.BeastLore") + " "; if (beast.isTamed() && beast.getOwner() != null) { message = message.concat(LocaleLoader.getString("Combat.BeastLoreOwner", beast.getOwner().getName()) + " "); } message = message.concat(LocaleLoader.getString("Combat.BeastLoreHealth", target.getHealth(), target.getMaxHealth())); player.sendMessage(message); }
if(tameable.isTamed()) if(tameable.getOwner() != null) UUID ownerID = tameable.getOwner().getUniqueId(); tameable.setOwner(playerData.petGiveawayRecipient); playerData.petGiveawayRecipient = null; GriefPrevention.sendMessage(player, TextMode.Success, Messages.PetGiveawayConfirmation); tameable.setOwner(null); if(tameable instanceof InventoryHolder)
private static Predicate<Entity> isPetOwnedBy(Player player) { return entity -> { switch (entity.getType()) { case WOLF: case OCELOT: return player.equals(((Tameable) entity).getOwner()); } return false; }; }
protected void execute(Event event) { Player p = this.p.getSingle(event); Entity[] es = this.e.getAll(event); if (p == null || es == null) { return; } for (Entity e : es) { if (e instanceof Tameable) { ((Tameable) e).setOwner(p); } } }
((Tameable)entity).setTamed(isTamed);
/** * @param event */ @EventHandler(priority = EventPriority.LOW) public void onEntityTarget(EntityTargetLivingEntityEvent event) { if (plugin.getSettingsManager().isTamableMobsSharing()) { if (event.getEntity() instanceof Tameable && event.getTarget() instanceof Player) { ClanPlayer cp = plugin.getClanManager().getClanPlayer((Player) event.getTarget()); Tameable wolf = (Tameable) event.getEntity(); if (wolf.isTamed() && cp.getClan().isMember((Player) wolf.getOwner())) { // cancels the event if the attacker is one out of his clan event.setCancelled(true); } } } }
public static boolean canPreventDamage(Tameable pet, AnimalTamer owner) { return pet.isTamed() && owner instanceof Player && pet instanceof Wolf; }
} else if (o instanceof Tameable) { indirect = true; addAll(((Tameable) o).getOwner());