类org.bukkit.entity.Wolf源码实例Demo

下面列出了怎么用org.bukkit.entity.Wolf的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: UhcCore   文件: ChildrenLeftUnattended.java
private void giveTeamReward(Player player){
    Wolf wolf = (Wolf) player.getWorld().spawnEntity(player.getLocation(), EntityType.WOLF);
    wolf.setTamed(true);
    wolf.setOwner(player);
    wolf.setAdult();

    ItemStack potion = new ItemStack(Material.POTION);
    PotionMeta meta = (PotionMeta) potion.getItemMeta();
    meta.setMainEffect(PotionEffectType.SPEED);
    PotionEffect potionEffect = new PotionEffect(PotionEffectType.SPEED, 8*60*20, 0);
    meta.addCustomEffect(potionEffect, true);

    meta.setDisplayName(ChatColor.WHITE + "Potion of Swiftness");

    potion.setItemMeta(meta);

    player.getWorld().dropItem(player.getLocation(), potion);
}
 
源代码2 项目: Skript   文件: WolfData.java
@Override
	public void set(final Wolf entity) {
		if (angry != 0)
			entity.setAngry(angry == 1);
		if (tamed != 0)
			entity.setTamed(tamed == 1);
//		if (owner != null) {
//			if (owner.isEmpty())
//				entity.setOwner(null);
//			else
//				entity.setOwner(Bukkit.getOfflinePlayer(owner));
//		}
	}
 
源代码3 项目: ce   文件: BeastmastersBow.java
@Override
	public boolean effect(Event event, Player player) {
//		  List<String> lore = e.getBow().getItemMeta().getLore();
//		  if(!lore.contains(placeHolder)) {
//			  for(int i = descriptionSize; i != 0; i--)
//				  lore.remove(i);
//			  e.getProjectile().setMetadata("ce." + this.getOriginalName(), new FixedMetadataValue(main, writeType(lore)));
//			  player.setMetadata("ce.CanUnleashBeasts", null);
//		  } else
//			  e.getProjectile().setMetadata("ce." + this.getOriginalName(), null);
		  if(event instanceof EntityDamageByEntityEvent) {
		  EntityDamageByEntityEvent e = (EntityDamageByEntityEvent) event;
		  if(e.getDamager() != player)
			  return false;
		  Entity ent = e.getEntity();
		  Location loc = ent.getLocation();
		  World w = ent.getWorld();
			if(ent instanceof Silverfish || ent instanceof EnderDragon || ent instanceof Spider || ent instanceof Slime || ent instanceof Ghast || ent instanceof MagmaCube || ent instanceof CaveSpider || (ent instanceof Wolf && ((Wolf) ent).isAngry()) || ent instanceof PigZombie) {
					e.setDamage(e.getDamage()*DamageMultiplication);
					w.playEffect(loc, Effect.SMOKE, 50);
					w.playEffect(loc, Effect.MOBSPAWNER_FLAMES, 50);
					EffectManager.playSound(loc, "BLOCK_PISTON_RETRACT", 1.3f, 3f);
				return true;
			} else if (ent instanceof Player) {
				for(int i = 0; i < MaximumMobs; i++) {
					if(rand.nextInt(100) < MobAppearanceChance) {
						w.spawnEntity(loc, rand.nextInt(2) == 1 ? EntityType.SPIDER : EntityType.SLIME);
						w.playEffect(loc, Effect.MOBSPAWNER_FLAMES, 30);
						w.playEffect(loc, Effect.SMOKE, 30);
						EffectManager.playSound(loc, "BLOCK_ANVIL_BREAK", 0.3f, 0.1f);
					}
				}
			}
		}
		  return false;
	}
 
源代码4 项目: StackMob-3   文件: BukkitCompat.java
@Override
public boolean checkFood(Entity entity, ItemStack food) {
    Material type = food.getType();
    switch (entity.getType()) {
        case COW:
        case SHEEP:
        case MUSHROOM_COW:
            return type == Material.WHEAT;
        case PIG:
            return (type == Material.CARROT || type == Material.BEETROOT || type == Material.POTATO);
        case CHICKEN:
            return type == Material.WHEAT_SEEDS
                    || type == Material.MELON_SEEDS
                    || type == Material.BEETROOT_SEEDS
                    || type == Material.PUMPKIN_SEEDS;
        case HORSE:
            return (type == Material.GOLDEN_APPLE || type == Material.GOLDEN_CARROT) && ((Horse)entity).isTamed();
        case WOLF:
            return (type == Material.BEEF
                    || type == Material.CHICKEN
                    || type == Material.COD
                    || type == Material.MUTTON
                    || type == Material.PORKCHOP
                    || type == Material.RABBIT
                    || type == Material.SALMON
                    || type == Material.COOKED_BEEF
                    || type == Material.COOKED_CHICKEN
                    || type == Material.COOKED_COD
                    || type == Material.COOKED_MUTTON
                    || type == Material.COOKED_PORKCHOP
                    || type == Material.COOKED_RABBIT
                    || type == Material.COOKED_SALMON)
                    && ((Wolf) entity).isTamed();
        case OCELOT:
            return (type == Material.SALMON
                    || type == Material.COD
                    || type == Material.PUFFERFISH
                    || type == Material.TROPICAL_FISH)
                    && ((Ocelot) entity).isTamed();
        case RABBIT:
            return type == Material.CARROT || type == Material.GOLDEN_CARROT || type == Material.DANDELION;
        case LLAMA:
            return type == Material.HAY_BLOCK;
        case TURTLE:
            return type == Material.SEAGRASS;
    }
    return false;
}
 
源代码5 项目: StackMob-3   文件: BukkitCompat.java
@Override
public boolean checkFood(Entity entity, ItemStack food) {
    Material type = food.getType();
    switch (entity.getType()) {
        case COW:
        case SHEEP:
        case MUSHROOM_COW:
            return type == Material.WHEAT;
        case PIG:
            return (type == Material.CARROT || type == Material.BEETROOT || type == Material.POTATO);
        case CHICKEN:
            return type == Material.WHEAT_SEEDS
                    || type == Material.MELON_SEEDS
                    || type == Material.BEETROOT_SEEDS
                    || type == Material.PUMPKIN_SEEDS;
        case HORSE:
            return (type == Material.GOLDEN_APPLE || type == Material.GOLDEN_CARROT) && ((Horse)entity).isTamed();
        case WOLF:
            return (type == Material.BEEF
                    || type == Material.CHICKEN
                    || type == Material.COD
                    || type == Material.MUTTON
                    || type == Material.PORKCHOP
                    || type == Material.RABBIT
                    || type == Material.SALMON
                    || type == Material.COOKED_BEEF
                    || type == Material.COOKED_CHICKEN
                    || type == Material.COOKED_COD
                    || type == Material.COOKED_MUTTON
                    || type == Material.COOKED_PORKCHOP
                    || type == Material.COOKED_RABBIT
                    || type == Material.COOKED_SALMON)
                    && ((Wolf) entity).isTamed();
        case OCELOT:
            return (type == Material.SALMON
                    || type == Material.COD
                    || type == Material.PUFFERFISH
                    || type == Material.TROPICAL_FISH);
        case RABBIT:
            return type == Material.CARROT || type == Material.GOLDEN_CARROT || type == Material.DANDELION;
        case LLAMA:
            return type == Material.HAY_BLOCK;
        case TURTLE:
            return type == Material.SEAGRASS;
        case PANDA:
            return type == Material.BAMBOO;
        case FOX:
            return type == Material.SWEET_BERRIES;
        case CAT:
            return (type == Material.COD || type == Material.SALMON) && ((Cat) entity).isTamed();
    }
    return false;
}
 
源代码6 项目: Skript   文件: WolfData.java
@Override
protected boolean init(final @Nullable Class<? extends Wolf> c, final @Nullable Wolf e) {
	angry = e == null ? 0 : e.isAngry() ? 1 : -1;
	tamed = e == null ? 0 : e.isTamed() ? 1 : -1;
	return true;
}
 
源代码7 项目: Skript   文件: WolfData.java
@Override
	public boolean match(final Wolf entity) {
		return (angry == 0 || entity.isAngry() == (angry == 1)) && (tamed == 0 || entity.isTamed() == (tamed == 1));
//				&& (owner == null || owner.isEmpty() && entity.getOwner() == null || entity.getOwner() != null && entity.getOwner().getName().equalsIgnoreCase(owner));
	}
 
源代码8 项目: Skript   文件: WolfData.java
@Override
public Class<Wolf> getType() {
	return Wolf.class;
}
 
源代码9 项目: SonarPet   文件: EntityWolfPet.java
@Override
public Wolf getBukkitEntity() {
    return (Wolf) super.getBukkitEntity();
}
 
源代码10 项目: DungeonsXL   文件: DGamePlayer.java
@Override
public Wolf getWolf() {
    return wolf;
}
 
源代码11 项目: DungeonsXL   文件: DGamePlayer.java
@Override
public void setWolf(Wolf wolf) {
    this.wolf = wolf;
}
 
源代码12 项目: DungeonsXL   文件: DGamePlayer.java
@Override
public void update(boolean updateSecond) {
    boolean locationValid = true;
    Location teleportLocation = player.getLocation();
    boolean teleportWolf = false;
    boolean offline = false;
    boolean kick = false;
    boolean triggerAllInDistance = false;

    if (!updateSecond) {
        if (!getPlayer().getWorld().equals(getWorld())) {
            locationValid = false;

            if (getGameWorld() != null) {
                teleportLocation = getLastCheckpoint();

                if (teleportLocation == null) {
                    teleportLocation = getGameWorld().getStartLocation(getGroup());
                }

                // Don't forget Doge!
                if (getWolf() != null) {
                    teleportWolf = true;
                }
            }
        }

    } else if (getGameWorld() != null) {
        // Update Wolf
        if (getWolf() != null) {
            if (getWolf().isDead()) {
                if (getWolfRespawnTime() <= 0) {
                    setWolf((Wolf) getWorld().spawnEntity(getPlayer().getLocation(), EntityType.WOLF));
                    getWolf().setTamed(true);
                    getWolf().setOwner(getPlayer());
                    setWolfRespawnTime(30);
                }
                wolfRespawnTime--;
            }

            // TODO Is doge even DMob?
            DungeonMob dMob = plugin.getDungeonMob(getWolf());
            if (dMob != null) {
                getGameWorld().removeMob(dMob);
            }
        }

        // Kick offline players
        if (getOfflineTimeMillis() > 0) {
            offline = true;

            if (getOfflineTimeMillis() < System.currentTimeMillis()) {
                kick = true;
            }
        }

        triggerAllInDistance = true;
    }

    DInstancePlayerUpdateEvent event = new DInstancePlayerUpdateEvent(this, locationValid, teleportWolf, offline, kick, triggerAllInDistance);
    Bukkit.getPluginManager().callEvent(event);

    if (event.isCancelled()) {
        return;
    }

    if (!locationValid) {
        getPlayer().teleport(teleportLocation);
    }

    if (teleportWolf) {
        getWolf().teleport(teleportLocation);
    }

    if (kick) {
        GroupPlayerKickEvent groupPlayerKickEvent = new GroupPlayerKickEvent(getGroup(), this, GroupPlayerKickEvent.Cause.OFFLINE);
        Bukkit.getPluginManager().callEvent(groupPlayerKickEvent);

        if (!groupPlayerKickEvent.isCancelled()) {
            leave();
        }
    }

    if (triggerAllInDistance) {
        DistanceTrigger.triggerAllInDistance(getPlayer(), (DGameWorld) getGameWorld());
    }
}
 
源代码13 项目: PetMaster   文件: PlayerInteractListener.java
/**
 * 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.");
		}
	}
}
 
源代码14 项目: DungeonsXL   文件: GamePlayer.java
/**
 * Returns the player's wolf or null if he does not have one.
 *
 * @return the player's wolf or null if he does not have one
 * @deprecated More dynamic pet features might make this obsolete in the future.
 */
@Deprecated
Wolf getWolf();
 
源代码15 项目: DungeonsXL   文件: GamePlayer.java
/**
 * Gives the player a wolf.
 *
 * @param wolf the wolf
 * @deprecated More dynamic pet features might make this obsolete in the future.
 */
@Deprecated
void setWolf(Wolf wolf);
 
 类所在包
 类方法
 同包方法