public void apply(LivingEntity target) { target.setVelocity(new Vector( -Math.sin(myPet.getLocation().get().getYaw() * 3.141593F / 180.0F) * 2 * 0.5F, 0.1D, Math.cos(myPet.getLocation().get().getYaw() * 3.141593F / 180.0F) * 2 * 0.5F )); }
@Override public void onLivingUpdate() { super.onLivingUpdate(); if (this.random.nextBoolean()) { MyPetApi.getPlatformHelper().playParticleEffect(myPet.getLocation().get().add(0, 0.7, 0), ParticleCompat.WATER_SPLASH.get(), 0.2F, 0.2F, 0.2F, 0.5F, 10, 20); } } }
public void schedule() { if (selectedBehavior == Aggressive && random.nextBoolean() && myPet.getStatus() == MyPet.PetState.Here) { MyPetApi.getPlatformHelper().playParticleEffect(myPet.getLocation().get().add(0, myPet.getEntity().get().getEyeHeight(), 0), ParticleCompat.VILLAGER_ANGRY.get(), 0.2F, 0.2F, 0.2F, 0.5F, 1, 20); } }
@Override public void start() { nav.getParameters().addSpeedModifier("Control", speedModifier); ControlImpl controlSkill = myPet.getSkills().get(ControlImpl.class); moveTo = controlSkill.getLocation(); if (moveTo.getWorld() != myPet.getLocation().get().getWorld()) { stopControl = true; moveTo = null; return; } timeToMove = (int) MyPetApi.getPlatformHelper().distance(myPet.getLocation().get(), moveTo) / 3; timeToMove = timeToMove < 3 ? 3 : timeToMove; if (!isRunning) { Timer.addTask(this); isRunning = true; } if (!nav.navigateTo(moveTo)) { moveTo = null; } }
@Override public boolean shouldFinish() { if (!this.myPet.getEntity().get().canMove()) { return true; } ControlImpl controlSkill = myPet.getSkills().get(ControlImpl.class); if (!controlSkill.getActive().getValue()) { return true; } if (moveTo == null) { return true; } if (MyPetApi.getPlatformHelper().distance(myPet.getLocation().get(), moveTo) < 1) { return true; } if (timeToMove <= 0) { return true; } if (this.stopControl) { return true; } return false; }
public void apply(EntityDamageEvent event) { double redirectedDamage = calculateRedirectedDamage(event.getFinalDamage()); if (myPet.getStatus() == PetState.Here && myPet.getHealth() - redirectedDamage > 0) { myPet.getEntity().get().damage(redirectedDamage); event.setDamage(event.getDamage() - redirectedDamage); myPet.getEntity().get().getHandle().makeSound(SoundCompat.ENDERMAN_TELEPORT.get(), 0.2F, 1.0F); MyPetApi.getPlatformHelper().playParticleEffect(myPet.getOwner().getPlayer().getLocation().add(0, 1, 0), ParticleCompat.CRIT_MAGIC.get(), 0.5F, 0.5F, 0.5F, 0.1F, 20, 20); MyPetApi.getPlatformHelper().playParticleEffect(myPet.getLocation().get().add(0, 1, 0), ParticleCompat.CRIT.get(), 0.5F, 0.5F, 0.5F, 0.1F, 10, 20); } }
MyPetApi.getPlatformHelper().playParticleEffect(myPet.getLocation().get().add(0, 1, 0), ParticleCompat.SPELL_WITCH.get(), 0.2F, 0.2F, 0.2F, 0.1F, 5, 20); Location myPetLocation = this.myPet.getLocation().get(); targetLoop: for (Player player : myPetLocation.getWorld().getPlayers()) {
MyPetApi.getPlatformHelper().playParticleEffect(myPet.getLocation().get().add(0, getHeadHeight(), 0), ParticleCompat.HEART.get(), 0.5F, 0.5F, 0.5F, 0.5F, 5, 20);
public boolean activate() { if (rows.getValue().intValue() > 0) { if (myPet.getOwner().getPlayer().isSleeping()) { myPet.getOwner().sendMessage(Translation.getString("Message.No.CanUse", myPet.getOwner())); return false; } if (myPet.getOwner().getPlayer().getGameMode() == GameMode.CREATIVE && !Configuration.Skilltree.Skill.Inventory.OPEN_IN_CREATIVE && !Permissions.has(myPet.getOwner().getPlayer(), "MyPet.admin", false)) { myPet.getOwner().sendMessage(Translation.getString("Message.Skill.Inventory.Creative", myPet.getOwner())); return false; } MyPetInventoryActionEvent event = new MyPetInventoryActionEvent(myPet, MyPetInventoryActionEvent.Action.Open); Bukkit.getServer().getPluginManager().callEvent(event); if (event.isCancelled()) { myPet.getOwner().sendMessage(Util.formatText(Translation.getString("Message.No.AllowedHere", myPet.getOwner()), myPet.getPetName())); return false; } if (!myPet.getLocation().get().getBlock().isLiquid()) { openInventory(myPet.getOwner().getPlayer()); return true; } else { myPet.getOwner().sendMessage(Util.formatText(Translation.getString("Message.Skill.Inventory.Swimming", myPet.getOwner()), myPet.getPetName())); return false; } } else { myPet.getOwner().sendMessage(Util.formatText(Translation.getString("Message.Skill.Inventory.NotAvailable", myPet.getOwner()), myPet.getPetName())); return false; } }