org.bukkit.entity.Parrot Java Examples

The following examples show how to use org.bukkit.entity.Parrot. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: ParrotTrait.java    From StackMob-3 with GNU General Public License v3.0 5 votes vote down vote up
@Override
public boolean checkTrait(Entity original, Entity nearby) {
    if(original instanceof Parrot){
        return ((Parrot) original).getVariant() != ((Parrot) nearby).getVariant();
    }
    return false;
}
 
Example #2
Source File: ParrotData.java    From Skript with GNU General Public License v3.0 5 votes vote down vote up
@Override
protected boolean init(@Nullable Class<? extends Parrot> c, @Nullable Parrot e) {
	if (e != null) { // Entity provided, take its variant
		Parrot.Variant entityVariant = e.getVariant();
		for (int i = 0; i < variants.length; i++) {
			Object var = variants[i];
			if (var == entityVariant) { // Found variant of entity
				variant = i; // Put its numeric id here
			}
		}
	} else { // No entity, ask for variant randomization on spawn
		variant = -1;
	}
	return true;
}
 
Example #3
Source File: ParrotData.java    From Skript with GNU General Public License v3.0 5 votes vote down vote up
@Override
public void set(Parrot entity) {
	if (variant == -1) {
		int randomVariant = ThreadLocalRandom.current().nextInt(0, variants.length);
		entity.setVariant((Variant) variants[randomVariant]);
	} else {
		entity.setVariant((Variant) variants[variant]);
	}
}
 
Example #4
Source File: ParrotTrait.java    From StackMob-3 with GNU General Public License v3.0 4 votes vote down vote up
@Override
public void applyTrait(Entity original, Entity spawned) {
    if(original instanceof Parrot){
        ((Parrot) spawned).setVariant(((Parrot) original).getVariant());
    }
}
 
Example #5
Source File: ParrotData.java    From Skript with GNU General Public License v3.0 4 votes vote down vote up
@Override
protected boolean match(Parrot entity) {
	return variant == -1 || entity.getVariant() == variants[variant];
}
 
Example #6
Source File: ParrotData.java    From Skript with GNU General Public License v3.0 4 votes vote down vote up
@Override
public Class<? extends Parrot> getType() {
	return Parrot.class;
}
 
Example #7
Source File: PlayerInteractListener.java    From PetMaster with GNU General Public License v3.0 4 votes vote down vote up
/**
 * Displays a hologram, and automatically delete it after a given delay.
 * 
 * @param player
 * @param owner
 * @param tameable
 */
@SuppressWarnings("deprecation")
private void displayHologramAndMessage(Player player, AnimalTamer owner, Tameable tameable) {
	if (hologramMessage) {
		double offset = HORSE_OFFSET;
		if (tameable instanceof Ocelot || version >= 14 && tameable instanceof Cat) {
			if (!displayCat || !player.hasPermission("petmaster.showowner.cat")) {
				return;
			}
			offset = CAT_OFFSET;
		} else if (tameable instanceof Wolf) {
			if (!displayDog || !player.hasPermission("petmaster.showowner.dog")) {
				return;
			}
			offset = DOG_OFFSET;
		} else if (version >= 11 && tameable instanceof Llama) {
			if (!displayLlama || !player.hasPermission("petmaster.showowner.llama")) {
				return;
			}
			offset = LLAMA_OFFSET;
		} else if (version >= 12 && tameable instanceof Parrot) {
			if (!displayParrot || !player.hasPermission("petmaster.showowner.parrot")) {
				return;
			}
			offset = PARROT_OFFSET;
		} else if (!displayHorse || !player.hasPermission("petmaster.showowner.horse")) {
			return;
		}

		Location eventLocation = tameable.getLocation();
		// Create location with offset.
		Location hologramLocation = new Location(eventLocation.getWorld(), eventLocation.getX(),
				eventLocation.getY() + offset, eventLocation.getZ());

		final Hologram hologram = HologramsAPI.createHologram(plugin, hologramLocation);
		hologram.appendTextLine(
				ChatColor.GRAY + plugin.getPluginLang().getString("petmaster-hologram", "Pet owned by ")
						+ ChatColor.GOLD + owner.getName());

		// Runnable to delete hologram.
		new BukkitRunnable() {

			@Override
			public void run() {

				hologram.delete();
			}
		}.runTaskLater(plugin, hologramDuration);
	}

	String healthInfo = "";
	if (showHealth) {
		Animals animal = (Animals) tameable;
		String currentHealth = String.format("%.1f", animal.getHealth());
		String maxHealth = version < 9 ? String.format("%.1f", animal.getMaxHealth())
				: String.format("%.1f", animal.getAttribute(Attribute.GENERIC_MAX_HEALTH).getValue());
		healthInfo = ChatColor.GRAY + ". " + plugin.getPluginLang().getString("petmaster-health", "Health: ")
				+ ChatColor.GOLD + currentHealth + "/" + maxHealth;
	}

	if (chatMessage) {
		player.sendMessage(plugin.getChatHeader() + plugin.getPluginLang().getString("petmaster-chat", "Pet owned by ")
				+ ChatColor.GOLD + owner.getName() + healthInfo);
	}

	if (actionBarMessage) {
		try {
			FancyMessageSender.sendActionBarMessage(player, "&o" + ChatColor.GRAY
					+ plugin.getPluginLang().getString("petmaster-action-bar", "Pet owned by ") + ChatColor.GOLD
					+ owner.getName() + healthInfo);
		} catch (Exception e) {
			plugin.getLogger().warning("Errors while trying to display action bar message for pet ownership.");
		}
	}
}