@SuppressWarnings("deprecation") public void throwEarth() { if (sourceblock != null) { if (sourceblock.getWorld().equals(player.getWorld())) { if (EarthMethods.movedearth.containsKey(sourceblock)) { if (!revert) { EarthMethods.removeRevertIndex(sourceblock); } } Entity target = GeneralMethods.getTargetedEntity(player, range, new ArrayList<Entity>()); // Methods.verbose(target); if (target == null) { destination = player .getTargetBlock(EarthMethods.getTransparentEarthbending(), (int) range) .getLocation(); firstdestination = sourceblock.getLocation().clone(); firstdestination.setY(destination.getY()); } else { destination = ((LivingEntity) target).getEyeLocation(); firstdestination = sourceblock.getLocation().clone(); firstdestination.setY(destination.getY()); destination = GeneralMethods.getPointOnLine(firstdestination, destination, range); } if (destination.distance(location) <= 1) { progressing = false; destination = null; } else { progressing = true; EarthMethods.playEarthbendingSound(sourceblock.getLocation()); // direction = getDirection().normalize(); if (sourcetype != Material.SAND && sourcetype != Material.GRAVEL) { sourceblock.setType(sourcetype); } } } } }