gamingod

Double Jump Plus - Main Class - v1.0

May 23rd, 2014
1,254
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.84 KB | None | 0 0
  1. package net.thegamingcraft.DoubleJump;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.HashMap;
  5.  
  6. import org.bukkit.Bukkit;
  7. import org.bukkit.Effect;
  8. import org.bukkit.GameMode;
  9. import org.bukkit.block.Block;
  10. import org.bukkit.entity.EntityType;
  11. import org.bukkit.entity.Player;
  12. import org.bukkit.event.EventHandler;
  13. import org.bukkit.event.Listener;
  14. import org.bukkit.event.entity.EntityDamageEvent;
  15. import org.bukkit.event.entity.EntityDamageEvent.DamageCause;
  16. import org.bukkit.event.player.PlayerMoveEvent;
  17. import org.bukkit.event.player.PlayerToggleFlightEvent;
  18. import org.bukkit.event.player.PlayerToggleSneakEvent;
  19. import org.bukkit.plugin.java.JavaPlugin;
  20. import org.bukkit.util.Vector;
  21.  
  22. public class Main extends JavaPlugin implements Listener {
  23.    
  24.     HashMap<Player, Boolean> cooldown = new HashMap<Player, Boolean>();
  25.     ArrayList<Player> smash = new ArrayList<Player>();
  26.    
  27.     @Override
  28.     public void onEnable() {
  29.         Bukkit.getServer().getPluginManager().registerEvents(this, this);
  30.     }
  31.    
  32.     @SuppressWarnings("deprecation")
  33.     @EventHandler
  34.     public void onDamage(EntityDamageEvent e) {
  35.         if (e.getCause() == DamageCause.FALL) {
  36.             if (e.getEntity().getType() == EntityType.PLAYER) {
  37.                 Player p = (Player) e.getEntity();
  38.                
  39.                 e.setCancelled(true);
  40.                
  41.                 if (smash.contains(p)) {
  42.                     ArrayList<Block> blocks = new ArrayList<Block>();
  43.                     blocks.add(p.getWorld().getBlockAt(p.getLocation().subtract(0, 1, 0)));
  44.                     blocks.add(p.getWorld().getBlockAt(p.getLocation().subtract(1, 1, 0)));
  45.                     blocks.add(p.getWorld().getBlockAt(p.getLocation().subtract(0, 1, 1)));
  46.                     blocks.add(p.getWorld().getBlockAt(p.getLocation().subtract(-1, 1, 0)));
  47.                     blocks.add(p.getWorld().getBlockAt(p.getLocation().subtract(0, 1, -1)));
  48.                     blocks.add(p.getWorld().getBlockAt(p.getLocation().subtract(1, 1, 1)));
  49.                     blocks.add(p.getWorld().getBlockAt(p.getLocation().subtract(-1, 1, -1)));
  50.                     blocks.add(p.getWorld().getBlockAt(p.getLocation().subtract(2, 1, 0)));
  51.                     blocks.add(p.getWorld().getBlockAt(p.getLocation().subtract(-2, 1, 0)));
  52.                     blocks.add(p.getWorld().getBlockAt(p.getLocation().subtract(0, 1, 2)));
  53.                     blocks.add(p.getWorld().getBlockAt(p.getLocation().subtract(0, 1, -2)));
  54.                    
  55.                     for (Block b : blocks) {
  56.                         for (Player pl : Bukkit.getOnlinePlayers()) {
  57.                             pl.playEffect(b.getLocation(), Effect.STEP_SOUND, b.getTypeId());
  58.                         }
  59.                     }
  60.                    
  61.                     smash.remove(p);
  62.                 }
  63.             }
  64.         }
  65.     }
  66.    
  67.     @SuppressWarnings("deprecation")
  68.     @EventHandler
  69.     public void onMove(PlayerMoveEvent e) {
  70.         Player p = e.getPlayer();
  71.        
  72.         if (p.getGameMode() == GameMode.CREATIVE) return;
  73.        
  74.         if (cooldown.get(p) != null && cooldown.get(p) == true) {
  75.             p.setAllowFlight(true);
  76.         } else {
  77.             p.setAllowFlight(false);
  78.         }
  79.        
  80.         if (p.isOnGround()) {
  81.             cooldown.put(p, true);
  82.         }
  83.        
  84.         if (cooldown.get(p) != null && cooldown.get(p) == false) {
  85.             for (Player pl : Bukkit.getOnlinePlayers()) {
  86.                 pl.playEffect(p.getLocation(), Effect.SMOKE, 2004);
  87.             }
  88.         }
  89.     }
  90.    
  91.     @SuppressWarnings("deprecation")
  92.     @EventHandler
  93.     public void onFly(PlayerToggleFlightEvent e) {
  94.         Player p = e.getPlayer();
  95.        
  96.         if (p.getGameMode() == GameMode.CREATIVE) return;
  97.        
  98.         if (cooldown.get(p) == true) {
  99.             e.setCancelled(true);
  100.             cooldown.put(p, false);
  101.             p.setVelocity(p.getLocation().getDirection().multiply(1.6D).setY(1.0D));
  102.            
  103.             for (Player pl : Bukkit.getOnlinePlayers()) {
  104.                 pl.playEffect(p.getLocation(), Effect.MOBSPAWNER_FLAMES, 2004);
  105.             }
  106.            
  107.             p.setAllowFlight(false);
  108.         }
  109.     }
  110.    
  111.     @SuppressWarnings("deprecation")
  112.     @EventHandler
  113.     public void onSneak(PlayerToggleSneakEvent e) {
  114.         Player p = e.getPlayer();
  115.        
  116.         if (p.getGameMode() == GameMode.CREATIVE) return;
  117.        
  118.         if (p.isOnGround() == false && cooldown.get(p) != null && cooldown.get(p) == false) {
  119.             p.setVelocity(new Vector(0, -5, 0));
  120.             smash.add(p);
  121.         }
  122.     }
  123.    
  124. }
Advertisement
Add Comment
Please, Sign In to add comment