org.bukkit.entity.Pig#org.bukkit.entity.Skeleton源码实例Demo

下面列出了org.bukkit.entity.Pig#org.bukkit.entity.Skeleton 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: askyblock   文件: IslandGuard.java
@EventHandler(priority = EventPriority.LOW, ignoreCancelled = true)
public void onItemFrameDamage(final HangingBreakByEntityEvent e) {
    if (DEBUG) {
        plugin.getLogger().info("DEBUG: Hanging break by entity event");
        plugin.getLogger().info("DEBUG: cause = " + e.getCause());
        plugin.getLogger().info("DEBUG: entity = " + e.getEntity());
        plugin.getLogger().info("DEBUG: remover = " + e.getRemover());
    }
    // Check world
    if (!inWorld(e.getEntity()) || !(e.getEntity() instanceof ItemFrame)) {
        return;
    }
    if (e.getRemover() instanceof Skeleton || e.getRemover() instanceof Golem) {
        if (DEBUG)
            plugin.getLogger().info("DEBUG: Remover is mob");
        if (!Settings.allowMobDamageToItemFrames) {
            if (DEBUG)
                plugin.getLogger().info("DEBUG: Damage not allowed, cancelling");
            e.setCancelled(true);
        }
    }
}
 
源代码2 项目: TabooLib   文件: ListenerCommand.java
@Override
public void run(Player player, String[] args) {
    player.sendMessage("§8[§fTabooLib§8] §7SimpleAI.");
    Skeleton skeleton = player.getWorld().spawn(player.getLocation(), Skeleton.class, c -> {
        c.setCustomName("Fearless Skeleton");
        c.setCustomNameVisible(true);
    });
    TabooLib.getPlugin().runTask(() -> {
        SimpleAiSelector.getExecutor().getGoalAi(skeleton).forEach(ai -> {
            player.sendMessage("§8[§fTabooLib§8] §7AI (Origin): §8" + SimpleReflection.getFieldValueChecked(ai.getClass(), ai, "a", true));
        });
        SimpleAiSelector.getExecutor().removeGoalAi(skeleton, 3);
        SimpleAiSelector.getExecutor().getGoalAi(skeleton).forEach(ai -> {
            player.sendMessage("§8[§fTabooLib§8] §7AI (After): §8" + SimpleReflection.getFieldValueChecked(ai.getClass(), ai, "a", true));
        });
    }, 20);
}
 
源代码3 项目: askyblock   文件: IslandGuard.java
@EventHandler(priority = EventPriority.LOW, ignoreCancelled = true)
public void onItemFrameDamage(final EntityDamageByEntityEvent e) {
    // Check world
    if (!inWorld(e.getEntity()) || !(e.getEntity() instanceof ItemFrame)) {
        return;
    }
    if (e.getDamager() instanceof Projectile) {
        if (DEBUG)
            plugin.getLogger().info("DEBUG: Projectile damage to itemframe");
        // Find out who fired the arrow
        Projectile p = (Projectile) e.getDamager();
        if (DEBUG)
            plugin.getLogger().info("DEBUG: Shooter is " + p.getShooter().toString());
        if (p.getShooter() instanceof Skeleton || p.getShooter() instanceof Golem) {
            if (DEBUG)
                plugin.getLogger().info("DEBUG: Shooter is mob");
            if (!Settings.allowMobDamageToItemFrames) {
                if (DEBUG)
                    plugin.getLogger().info("DEBUG: Damage not allowed, cancelling");
                e.setCancelled(true);
            }
        }
    }
}
 
源代码4 项目: Skript   文件: SkeletonData.java
@Override
protected boolean init(final @Nullable Class<? extends Skeleton> c, final @Nullable Skeleton e) {
	if (e == null)
		return true;
	
	if (hasWither && e.getSkeletonType() == SkeletonType.WITHER)
		type = WITHER;
	if (hasStray && e.getSkeletonType() == SkeletonType.STRAY)
		type = STRAY;
	return true;
}
 
源代码5 项目: Skript   文件: SkeletonData.java
@Override
public void set(final Skeleton e) {
	switch (type) {
		case WITHER:
			e.setSkeletonType(SkeletonType.WITHER);
			break;
		case STRAY:
			e.setSkeletonType(SkeletonType.STRAY);
			break;
		default:
			e.setSkeletonType(SkeletonType.NORMAL);
	}
}
 
源代码6 项目: Skript   文件: SkeletonData.java
@Override
protected boolean match(final Skeleton e) {
	switch (type) {
		case WITHER:
			return e.getSkeletonType() == SkeletonType.WITHER;
		case STRAY:
			return e.getSkeletonType() == SkeletonType.STRAY;
		default:
			return e.getSkeletonType() == SkeletonType.NORMAL;
	}
}
 
源代码7 项目: SkyWarsReloaded   文件: MobSpawnEvent.java
@Override
public void doEvent() {
	if (gMap.getMatchState() == MatchState.PLAYING) {
		this.fired = true;
		sendTitle();
		World world = gMap.getCurrentWorld();
		for (int i = 0; i < gMap.getAlivePlayers().size(); i++) {
			Player player = gMap.getAlivePlayers().get(i);
			br1 = new BukkitRunnable() {
				@Override
				public void run() {
					if (player != null) {
						List<Block> blocks = getSpawnableBlocks(player.getLocation());
						Collections.shuffle(blocks);
						for (int i = 0; i < Util.get().getRandomNum(minMobsPerPlayer, maxMobsPerPlayer); i++) {
							Location spawn = blocks.get(i).getLocation().clone().add(0, 1, 0);
							LivingEntity ent = (LivingEntity) world.spawnEntity(spawn, EntityType.valueOf(mobs.get(ThreadLocalRandom.current().nextInt(0, mobs.size())).toUpperCase()));
							if (ent instanceof Zombie || ent instanceof Skeleton) {
								ent.getEquipment().setHelmet(new ItemStack(Material.CHAINMAIL_HELMET, 1));
							}
							SkyWarsReloaded.getNMS().setEntityTarget(ent, player);
							mobsSpawned.add(ent);
						}
					}
				}
			}.runTaskLater(SkyWarsReloaded.get(), i * 3L);
		}
		if (length != -1) {
			br2 = new BukkitRunnable() {
				@Override
				public void run() {
					endEvent(false);
				}
			}.runTaskLater(SkyWarsReloaded.get(), length * 20L);
		}
	}
}
 
源代码8 项目: Slimefun4   文件: SwordOfBeheading.java
@Override
public EntityKillHandler getItemHandler() {
    return (e, entity, killer, item) -> {
        Random random = ThreadLocalRandom.current();

        if (e.getEntity() instanceof Zombie) {
            if (random.nextInt(100) < chanceZombie.getValue()) {
                e.getDrops().add(new ItemStack(Material.ZOMBIE_HEAD));
            }
        }
        else if (e.getEntity() instanceof WitherSkeleton) {
            if (random.nextInt(100) < chanceWitherSkeleton.getValue()) {
                e.getDrops().add(new ItemStack(Material.WITHER_SKELETON_SKULL));
            }
        }
        else if (e.getEntity() instanceof Skeleton) {
            if (random.nextInt(100) < chanceSkeleton.getValue()) {
                e.getDrops().add(new ItemStack(Material.SKELETON_SKULL));
            }
        }
        else if (e.getEntity() instanceof Creeper) {
            if (random.nextInt(100) < chanceCreeper.getValue()) {
                e.getDrops().add(new ItemStack(Material.CREEPER_HEAD));
            }
        }
        else if (e.getEntity() instanceof Player && random.nextInt(100) < chancePlayer.getValue()) {
            ItemStack skull = new ItemStack(Material.PLAYER_HEAD);
            ItemMeta meta = skull.getItemMeta();
            ((SkullMeta) meta).setOwningPlayer((Player) e.getEntity());
            skull.setItemMeta(meta);

            e.getDrops().add(skull);
        }
    };
}
 
源代码9 项目: ce   文件: Headless.java
@Override
public void effect(Event e, ItemStack item, int level) {
    EntityDamageByEntityEvent event = (EntityDamageByEntityEvent) e;
    final Player player = (Player) event.getDamager();
    final LivingEntity ent = (LivingEntity) event.getEntity();

    new BukkitRunnable() {
        @Override
        public void run() {

            if (ent.getHealth() <= 0) {
                byte type = 3;

                if (ent instanceof Skeleton) {
                    type = 0;
                    if (((Skeleton) ent).getSkeletonType().equals(SkeletonType.WITHER))
                        type = 1;
                } else if (ent instanceof Zombie)
                    type = 2;
                else if (ent instanceof Creeper)
                    type = 4;

                ItemStack skull = new ItemStack(Material.SKULL_ITEM, 1, type);
                if (type == 3) {
                    SkullMeta sm = (SkullMeta) skull.getItemMeta();
                    sm.setOwner(ent.getName());
                    skull.setItemMeta(sm);
                }
                ent.getWorld().dropItem(ent.getLocation(), skull);
                EffectManager.playSound(player.getLocation(), "BLOCK_ANVIL_LAND", 0.1f, 1.5f);
            }
        }
    }.runTaskLater(getPlugin(), 5l);

}
 
源代码10 项目: Skript   文件: SkeletonData.java
@Override
public Class<? extends Skeleton> getType() {
	return Skeleton.class;
}
 
源代码11 项目: SonarPet   文件: EntitySkeletonPet.java
@Override
public Skeleton getBukkitEntity() {
    return (Skeleton) super.getBukkitEntity();
}
 
源代码12 项目: DungeonsXL   文件: DMobType.java
@Override
public Entity toEntity(Location loc) {
    World world = loc.getWorld();
    GameWorld gameWorld = plugin.getGameWorld(world);
    if (gameWorld == null) {
        return null;
    }
    LivingEntity entity = (LivingEntity) world.spawnEntity(loc, type);

    /* Set the Items */
    entity.getEquipment().setItemInHand(itemHand);
    entity.getEquipment().setHelmet(itemHelmet);
    entity.getEquipment().setChestplate(itemChestplate);
    entity.getEquipment().setLeggings(itemLeggings);
    entity.getEquipment().setBoots(itemBoots);

    /* Check mob specified stuff */
    if (type == EntityType.SKELETON) {
        if (witherSkeleton) {
            ((Skeleton) entity).setSkeletonType(SkeletonType.WITHER);
        } else {
            ((Skeleton) entity).setSkeletonType(SkeletonType.NORMAL);
        }
    }

    if (type == EntityType.OCELOT) {
        Ocelot ocelot = (Ocelot) entity;
        if (EnumUtil.isValidEnum(Ocelot.Type.class, ocelotType.toUpperCase())) {
            ocelot.setCatType(Ocelot.Type.valueOf(ocelotType.toUpperCase()));
        }
    }

    /* Set Health */
    if (maxHealth > 0) {
        entity.setMaxHealth(maxHealth);
        entity.setHealth(maxHealth);
    }

    /* Disable Despawning */
    entity.setRemoveWhenFarAway(false);

    /* Spawn Mob */
    new DMob(entity, gameWorld, this);
    return entity;
}
 
源代码13 项目: uSkyBlock   文件: EntityUtilTest.java
@Test
public void testGetEntity() {
    List<Entity> testList = new ArrayList<>();

    ArmorStand fakeArmorStand = mock(ArmorStand.class);
    Cow fakeCow = mock(Cow.class);
    Evoker fakeEvoker = mock(Evoker.class);
    Guardian fakeGuardian = mock(Guardian.class);
    Pig fakePig = mock(Pig.class);
    PigZombie fakePigZombie = mock(PigZombie.class);
    Pillager fakePillager = mock(Pillager.class);
    Sheep fakeSheep = mock(Sheep.class);
    Skeleton fakeSkeleton = mock(Skeleton.class);
    Turtle fakeTurtle = mock(Turtle.class);
    Villager fakeVillager = mock(Villager.class);
    WanderingTrader fakeWanderingTrader = mock(WanderingTrader.class);

    testList.add(fakeArmorStand);
    testList.add(fakeCow);
    testList.add(fakeEvoker);
    testList.add(fakeGuardian);
    testList.add(fakePig);
    testList.add(fakePigZombie);
    testList.add(fakePillager);
    testList.add(fakeSheep);
    testList.add(fakeSkeleton);
    testList.add(fakeTurtle);
    testList.add(fakeVillager);
    testList.add(fakeWanderingTrader);

    List<Sheep> sheepList = EntityUtil.getEntity(testList, Sheep.class);
    assertEquals(1, sheepList.size());
    assertEquals(fakeSheep, sheepList.get(0));

    List<Animals> animalsList = EntityUtil.getAnimals(testList);
    assertEquals(4, animalsList.size());
    assertTrue(animalsList.contains(fakeCow));
    assertTrue(animalsList.contains(fakePig));
    assertTrue(animalsList.contains(fakeSheep));
    assertTrue(animalsList.contains(fakeTurtle));

    List<Monster> monsterList = EntityUtil.getMonsters(testList);
    assertEquals(5, monsterList.size());
    assertTrue(monsterList.contains(fakeEvoker));
    assertTrue(monsterList.contains(fakeGuardian));
    assertTrue(monsterList.contains(fakePigZombie));
    assertTrue(monsterList.contains(fakePillager));
    assertTrue(monsterList.contains(fakeSkeleton));

    List<NPC> npcList = EntityUtil.getNPCs(testList);
    assertEquals(2, npcList.size());
    assertTrue(npcList.contains(fakeVillager));
    assertTrue(npcList.contains(fakeWanderingTrader));
}