Advertisement
Guest User

ItemChuck (By AssossaGPB)

a guest
Oct 20th, 2015
167
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.65 KB | None | 0 0
  1.     package assossa.plugins.itemchuck;
  2.     import java.util.ArrayList;
  3.     import java.util.List;
  4.     import org.bukkit.Bukkit;
  5.     import org.bukkit.entity.Entity;
  6.     import org.bukkit.entity.Item;
  7.     import org.bukkit.entity.LivingEntity;
  8.     import org.bukkit.event.EventHandler;
  9.     import org.bukkit.event.Listener;
  10.     import org.bukkit.event.player.PlayerDropItemEvent;
  11.     import org.bukkit.plugin.java.JavaPlugin;
  12.     public class Main extends JavaPlugin implements Listener {
  13.             private ArrayList<Item> items;
  14.             @Override
  15.             public void onEnable() {
  16.                     Bukkit.getPluginManager().registerEvents(this, this);
  17.                     items = new ArrayList<Item>();
  18.                     Bukkit.getScheduler().runTaskTimer(this, () -> {
  19.                             ArrayList<Item> remove = new ArrayList<Item>();
  20.                             for (Item i : items) {
  21.                                     if (i.getVelocity().length() <= 0.1) {
  22.                                             remove.add(i);
  23.                                             continue;
  24.                                     }
  25.                                     List<Entity> nbe = i.getNearbyEntities(0.5, 0.5, 0.5);
  26.                                     if (nbe.isEmpty())
  27.                                             continue;
  28.                                     LivingEntity close_e = null;
  29.                                     double close_d = 100;
  30.                                     for (Entity e : nbe)
  31.                                             if (i.getLocation().distance(e.getLocation()) < close_d && e instanceof LivingEntity) {
  32.                                                     close_e = (LivingEntity) e;
  33.                                                     close_d = i.getLocation().distance(e.getLocation());
  34.                                             }
  35.                                     if (close_e != null) {
  36.                                             close_e.damage(1);
  37.                                             close_e.setVelocity(i.getVelocity());
  38.                                             remove.add(i);
  39.                                     }
  40.                             }
  41.                             for (Item i2 : remove)
  42.                                     items.remove(i2);
  43.                     } , 0, 1);
  44.             }
  45.             @EventHandler
  46.             public void onItemThrown(PlayerDropItemEvent e) {
  47.                     Bukkit.getScheduler().runTaskLater(this, () -> items.add(e.getItemDrop()), 5);
  48.                     e.getItemDrop().setVelocity(e.getPlayer().getEyeLocation().getDirection());
  49.             }
  50.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement