本文整理汇总了Java中org.bukkit.event.entity.ProjectileHitEvent.getHitEntity方法的典型用法代码示例。如果您正苦于以下问题:Java ProjectileHitEvent.getHitEntity方法的具体用法?Java ProjectileHitEvent.getHitEntity怎么用?Java ProjectileHitEvent.getHitEntity使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.bukkit.event.entity.ProjectileHitEvent
的用法示例。
在下文中一共展示了ProjectileHitEvent.getHitEntity方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: onProjectileHit
import org.bukkit.event.entity.ProjectileHitEvent; //导入方法依赖的package包/类
@EventHandler
public void onProjectileHit(ProjectileHitEvent event) {
if (event.getEntityType() != EntityType.FISHING_HOOK &&
event.getEntityType() != EntityType.SNOWBALL &&
event.getEntityType() != EntityType.EGG) return;
ProjectileSource shooter = ((Projectile) event.getEntity()).getShooter();
if (shooter != null && shooter instanceof Player && event.getHitEntity() instanceof Damageable) {
((Damageable) event.getHitEntity()).damage(0.01, (Player) shooter);
}
}
示例2: onEntityCollision
import org.bukkit.event.entity.ProjectileHitEvent; //导入方法依赖的package包/类
@EventHandler
public void onEntityCollision(ProjectileHitEvent event) {
if (event.getEntity().hasMetadata("mysti_projectile")) {
CustomProjectile proj = (CustomProjectile) event.getEntity().getMetadata("mysti_projectile");
if (event.getHitEntity() != null) {
proj.onEntityCollision(event.getHitEntity());
} else if (event.getHitBlock() != null) {
proj.onBlockCollision(event.getHitBlock());
}
}
}
示例3: onMobCatch
import org.bukkit.event.entity.ProjectileHitEvent; //导入方法依赖的package包/类
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
public void onMobCatch(ProjectileHitEvent e){
Player p;
if (e.getEntity().getShooter() instanceof Player) {
p = (Player) e.getEntity().getShooter();
if (canWork) {
if (e.getEntity() instanceof Egg) {
if (e.getHitEntity() instanceof Monster || e.getHitEntity() instanceof Animals || e.getHitEntity() instanceof Villager) {
if (mu.bannedMobs().contains(e.getEntity().getType())) {
p.sendMessage(this.plugin.getPrefix() + ChatColor.RED + "Este mob esta prohibido");
p.getInventory().addItem(pe.getPokeEgg());
return;
}
if (!files.getConfig().getStringList("mundosPermitidos").contains(e.getEntity().getLocation().getWorld().getName())) {
p.sendMessage(this.plugin.getPrefix() + ChatColor.RED + "No se puede usar en este mundo");
p.getInventory().addItem(pe.getPokeEgg());
return;
}
if (!vu.hasEnoughMoney(p, e.getHitEntity().getType().toString())) {
p.sendMessage(SafariNet.getInstance().getPrefix() + ChatColor.RED + "No tienes dinero suficiente para hacer esto");
p.getInventory().addItem(pe.getPokeEgg());
return;
}
if (e.getEntity() instanceof Monster || e.getEntity() instanceof Animals){
LivingEntity le = (LivingEntity)e.getEntity();
if (le.getHealth() <= 0 || le.isDead()){
p.sendMessage(SafariNet.getInstance().getPrefix() + ChatColor.RED + "No puedes capturar a un mob muerto");
p.getInventory().addItem(pe.getPokeEgg());
return;
}
}
//To Fix
if (e.getEntity() instanceof Mule || e.getEntity() instanceof Donkey || e.getEntity() instanceof Llama){
p.sendMessage(ChatColor.RED + "Estos mobs están desactivados debido a un error de Minecraft.");
return;
}
SNMob mob = new SNMob(e.getHitEntity(), p);
mob.writeConfig();
mob.givePlayerEgg();
e.getHitEntity().remove();
p.sendMessage(this.plugin.getPrefix() + ChatColor.GREEN + "Has atrapado un mob");
p.playSound(p.getLocation(), Sound.ENTITY_EXPERIENCE_ORB_PICKUP, 1f, 1f);
vu.removeMoney(p, e.getHitEntity().getType().toString());
canWork = false;
if (e.getHitEntity().getType() == EntityType.VILLAGER) {
p.sendMessage(SafariNet.getInstance().getPrefix() + ChatColor.RED + "Los aldeanos tienen un pequeño error ahora mismo con los tradeos. Lo sentimos");
}
}
}
}
}
}
示例4: onMobCatch
import org.bukkit.event.entity.ProjectileHitEvent; //导入方法依赖的package包/类
@EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true)
public void onMobCatch(ProjectileHitEvent e){
Player p;
if (e.getEntity().getShooter() instanceof Player) {
p = (Player) e.getEntity().getShooter();
if (canWork) {
if (e.getEntity() instanceof Egg) {
if (e.getHitEntity() instanceof Monster || e.getHitEntity() instanceof Animals || e.getHitEntity() instanceof Villager) {
if (mu.bannedMobs().contains(e.getEntity().getType())) {
p.sendMessage(this.plugin.getPrefix() + ChatColor.RED + "Este mob esta prohibido");
p.getInventory().addItem(pe.getPokeEgg());
return;
}
if (!vu.hasEnoughMoney(p, e.getHitEntity().getType().toString())) {
p.sendMessage(SafariNet.getInstance().getPrefix() + ChatColor.RED + "No tienes dinero suficiente para hacer esto");
p.getInventory().addItem(pe.getPokeEgg());
return;
}
if (e.getEntity() instanceof Monster || e.getEntity() instanceof Animals){
LivingEntity le = (LivingEntity)e.getEntity();
if (le.getHealth() <= 0 || le.isDead()){
p.sendMessage(SafariNet.getInstance().getPrefix() + ChatColor.RED + "No puedes capturar a un mob muerto");
p.getInventory().addItem(pe.getPokeEgg());
return;
}
}
boolean canCatch = true;
ApplicableRegionSet region = plugin.getWg().getRegionManager(p.getWorld()).getApplicableRegions(p.getLocation());
for (ProtectedRegion r : region.getRegions()) if (!r.getOwners().contains(p.getName())) canCatch = false;
if (!canCatch) {
p.sendMessage(SafariNet.getInstance().getPrefix() + ChatColor.RED + "No puedes capturar a un mob en parcelas ajenas");
return;
}
//To Fix
if (e.getEntity() instanceof Mule || e.getEntity() instanceof Donkey || e.getEntity() instanceof Llama || e.getEntity() instanceof Villager){
p.sendMessage(ChatColor.RED + "Estos mobs están desactivados debido a un error de Minecraft.");
return;
}
SNMob mob = new SNMob(e.getHitEntity(), p);
mob.writeConfig();
mob.givePlayerEgg();
e.getHitEntity().remove();
p.sendMessage(this.plugin.getPrefix() + ChatColor.GREEN + "Has atrapado un mob");
p.playSound(p.getLocation(), Sound.ENTITY_EXPERIENCE_ORB_PICKUP, 1f, 1f);
vu.removeMoney(p, e.getHitEntity().getType().toString());
canWork = false;
if (e.getHitEntity().getType() == EntityType.VILLAGER) {
p.sendMessage(SafariNet.getInstance().getPrefix() + ChatColor.RED + "Los aldeanos tienen un pequeño error ahora mismo con los tradeos. Lo sentimos");
}
}
}
}
}
}
示例5: onRodLand
import org.bukkit.event.entity.ProjectileHitEvent; //导入方法依赖的package包/类
@EventHandler(priority = EventPriority.HIGHEST)
public void onRodLand(ProjectileHitEvent e) {
Entity hookEntity = e.getEntity();
World world = hookEntity.getWorld();
if (!isEnabled(world)) return;
if (e.getEntityType() != EntityType.FISHING_HOOK)
return;
Entity hitent = null;
try{
hitent = e.getHitEntity();
}
catch(NoSuchMethodError e1){ //For older version that don't have such method
Collection<Entity> entities = world.getNearbyEntities(hookEntity.getLocation(), 0.25, 0.25, 0.25);
for (Entity entity : entities) {
if (entity instanceof Player)
hitent = entity;
break;
}
}
if(hitent == null) return;
if(!(hitent instanceof Player)) return;
FishHook hook = (FishHook) hookEntity;
Player rodder = (Player) hook.getShooter();
Player player = (Player) hitent;
debug("You were hit by a fishing rod!", player);
if (player.getUniqueId().equals(rodder.getUniqueId()))
return;
if(player.getGameMode() == GameMode.CREATIVE) return;
double damage = module().getDouble("damage");
if(damage < 0) damage = 0.2;
EntityDamageEvent event = makeEvent(rodder, player, damage);
Bukkit.getPluginManager().callEvent(event);
if(module().getBoolean("checkCancelled") && event.isCancelled()){
//This is to check what plugins are listening to the event
if(plugin.getConfig().getBoolean("debug.enabled")){
debug("You can't do that here!", rodder);
HandlerList hl = event.getHandlers();
for(RegisteredListener rl : hl.getRegisteredListeners())
debug("Plugin Listening: " + rl.getPlugin().getName(), rodder);
}
return;
}
player.damage(damage);
Location loc = player.getLocation().add(0, 0.5, 0);
player.teleport(loc);
player.setVelocity(loc.subtract(rodder.getLocation()).toVector().normalize().multiply(0.4));
}