Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private ArrayList<String> rainedOn = new ArrayList<String>();
- private HashMap<String, Integer> tids = new HashMap<String, Integer>();
- public void itemRain(final Player player, Material material)
- {
- //they are already being rained on
- if(rainedOn.contains(player.getName()))
- {
- return;
- }
- //get their world
- final World world = player.getWorld();
- //create the itemstack
- final ItemStack is = new ItemStack(material, 1);
- //create the location, one/two blocks above player
- final Location location = player.getLocation().add(0,3,0);
- rainedOn.add(player.getName());
- tids.put(player.getName(),
- plugin.getServer().getScheduler().scheduleSyncRepeatingTask(plugin, new Runnable()
- {
- public void run()
- {
- //cancel them if they are no longer being rained on
- if (!rainedOn.contains(player.getName()))
- {
- plugin.getServer().getScheduler().cancelTask(tids.get(player.getName()));
- tids.remove(player.getName());
- }
- final Item i = world.dropItemNaturally(location, is);
- i.setPickupDelay(Integer.MAX_VALUE);
- plugin.getServer().getScheduler().scheduleSyncDelayedTask(plugin, new Runnable()
- {
- @Override
- public void run()
- {
- i.remove();
- }
- }, 20L);
- }
- }, 0L, 10L));
- }
- public void stopItemRain(Player player)
- {
- rainedOn.remove(player.getName());
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement