/** * Test whether an entity is an NPC. * * @param entity the entity * @return true if an NPC */ public static boolean isNPC(Entity entity) { return entity instanceof NPC || entity.hasMetadata("NPC"); }
/** * Checks if the entity is stopped by an instance of MovementHandler * * @param entity the entity in question of being stopped * @return false if not stopped by an instance of MovementHandler */ public static boolean isStopped(final Entity entity) { return entity.hasMetadata("movement:stop"); }
public static boolean hasPlayerDataKey(Entity entity) { return entity != null && entity.hasMetadata(mcMMO.playerDataKey); } }
@Override public boolean isStaticNPC(Entity entity) { return entity.hasMetadata(metaKey); } }
public boolean hasAnyMetaDataKey(final Entity entity) { if (metaDataKeys == null) { return false; } else { for (int i = 0; i < metaDataKeys.length; i++) { if (entity.hasMetadata(metaDataKeys[i])) { return true; } } return false; } }
@Override public boolean hasMetadata(String arg0) { return base.hasMetadata(arg0); }
@Override public boolean isNPC(Entity entity) { return entity.hasMetadata(metaKey); }
public static boolean checkCustomNpc(Entity entity) { return entity == null || entity.hasMetadata("NPC") || entity.hasMetadata("MyPet"); }
public boolean hasMetadata(String arg0) { return entity.hasMetadata(arg0); }
public static boolean isNPCEntity(Entity entity) { return (entity == null || entity.hasMetadata("NPC") || entity instanceof NPC || entity.getClass().getName().equalsIgnoreCase("cofh.entity.PlayerFake")); }
@EventHandler public void onEntityRemove(EntityRemoveEvent e) { Iterator<Entity> iterator = e.getEntityList().iterator(); while (iterator.hasNext()) { Entity n = iterator.next(); if (n instanceof Item) { if (n.hasMetadata("no_pickup")) iterator.remove(); } } } }
public static boolean checkTracking(Plugin plugin, Entity tracked, Entity target, Block block) { if (tracked == null || !tracked.hasMetadata("tracking")) { return false; } if (target != null) { tracked.setMetadata("hit", new FixedMetadataValue(plugin, new WeakReference<>(target))); } else if (!tracked.hasMetadata("hit")) { tracked.setMetadata("hit", new FixedMetadataValue(plugin, block)); } return true; }
public void watch(Entity entity) { if (entity == null) return; if (worldName != null && !entity.getWorld().getName().equals(worldName)) return; if (worldName == null) worldName = entity.getWorld().getName(); if (!entity.hasMetadata("MagicBlockList")) { setUndoList(plugin, entity, this); } modifiedTime = System.currentTimeMillis(); }
@EventHandler public void onInventoryOpen(InventoryOpenEvent event) { HumanEntity player = event.getPlayer(); Entity mount = player.getVehicle(); if (mount != null && mount.hasMetadata("broom")) { event.setCancelled(true); } }
/** * Handle EntityExplode events that involve modifying the event. * * @param event * The event to modify */ @EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true) public void onEntityExplodeMonitor(EntityExplodeEvent event) { /* WORLD BLACKLIST CHECK */ if(WorldBlacklist.isWorldBlacklisted(event.getEntity().getWorld())) return; Entity entity = event.getEntity(); if (!(entity instanceof TNTPrimed) || !entity.hasMetadata(mcMMO.tntsafeMetadataKey)) { return; } event.blockList().clear(); }
@EventHandler(priority = EventPriority.NORMAL) public void onEntityTarget(EntityTargetEvent event) { // TODO: Don't use metadata! if (event.isCancelled() || !event.getEntity().hasMetadata("docile")) { return; } if (event.getReason() == EntityTargetEvent.TargetReason.CLOSEST_PLAYER) { event.setCancelled(true); } }
@EventHandler public void onHorseJump(HorseJumpEvent event) { Entity horse = ((EntityEvent)event).getEntity(); if (horse.hasMetadata("broom")) { Entity passenger = horse.getPassenger(); Mage mage = controller.getMage(passenger); Set<Spell> active = mage.getActiveSpells(); for (Spell spell : active) { if (spell instanceof LevitateSpell) { LevitateSpell levitate = (LevitateSpell)spell; double amount = Math.max(0, (event.getPower() - mountBoostMinimum) / (1 - mountBoostMinimum)); levitate.boost(amount); } } } }
@EventHandler public void onVehicleExit(VehicleExitEvent event) { Entity vehicle = event.getVehicle(); if (vehicle.hasMetadata("broom")) { event.setCancelled(true); Entity passenger = vehicle.getPassenger(); Mage mage = controller.getMage(passenger); Set<Spell> active = mage.getActiveSpells(); for (Spell spell : active) { if (spell instanceof LevitateSpell) { LevitateSpell levitate = (LevitateSpell)spell; levitate.forceSneak(10); } } } } }
@Override public void tick(Block b, SlimefunItem item, Config data) { if (b.getType() != Material.HOPPER) { // we're no longer a hopper, we were probably destroyed. skipping this tick. return; } ArmorStand hologram = InfusedHopper.getArmorStand(b, true); boolean sound = false; for (Entity n: hologram.getNearbyEntities(3.5D, 3.5D, 3.5D)) { if (n instanceof Item && !n.hasMetadata("no_pickup") && n.getLocation().distance(hologram.getLocation()) > 0.4D) { n.setVelocity(new Vector(0, 0.1, 0)); n.teleport(hologram); sound = true; } } if (sound) b.getWorld().playSound(b.getLocation(), Sound.ENTITY_ENDERMAN_TELEPORT, 5F, 2F); }
@Override public void run() { if (Bukkit.getPlayer(uuid) == null) Bukkit.getScheduler().cancelTask(id); else if (Bukkit.getPlayer(uuid).isDead()) Bukkit.getScheduler().cancelTask(id); else if (!Bukkit.getPlayer(uuid).isSneaking()) Bukkit.getScheduler().cancelTask(id); else { for (Entity item: Bukkit.getPlayer(uuid).getNearbyEntities(6D, 6D, 6D)) { if (item instanceof Item) { if (!item.hasMetadata("no_pickup") && ((Item) item).getPickupDelay() <= 0) { item.teleport(Bukkit.getPlayer(uuid).getEyeLocation()); Bukkit.getPlayer(uuid).getWorld().playSound(Bukkit.getPlayer(uuid).getEyeLocation(), Sound.ENTITY_ENDERMAN_TELEPORT, 5L, 2L); } } } } }