spenk

CreeperNerf

Feb 16th, 2012
142
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.62 KB | None | 0 0
  1. import java.util.Random;
  2. import java.util.logging.Logger;
  3.  
  4. public class CreeperNerf extends Plugin
  5. {
  6.   static final Logger log = Logger.getLogger("Minecraft");
  7.   static int explosionRad = 4;
  8.   static int maxAltitude = 55;
  9.   static int damage = new Random().nextInt(10)+1;
  10.  
  11.   public void enable() {
  12.     log.info("CreeperNerf version 1.1 updated by spenk is enabled");
  13.   }
  14.  
  15.   public void disable() {
  16.     log.info("CreeperNerf version 1.1 updated by spenk is disabled");
  17.   }
  18.  
  19.   public void initialize()
  20.   {
  21.     CreeperNerf.CreeperNerfListener listener = new CreeperNerf.CreeperNerfListener();
  22.     etc.getLoader().addListener(PluginLoader.Hook.EXPLODE, listener, this, PluginListener.Priority.MEDIUM);
  23.     log.info("CreeperNerf version 1.1 updated by spenk is initialized");
  24.   }
  25.  
  26.   private static boolean isInExplosionRadius(Player a, Block b)
  27.   {
  28.     return Math.sqrt(Math.pow(a.getX() - b.getX(), 2.0D) + Math.pow(a.getY() - b.getY(), 2.0D) + Math.pow(a.getZ() - b.getZ(), 2.0D)) <= explosionRad;
  29.   }
  30.  
  31.   class CreeperNerfListener extends PluginListener {
  32.     CreeperNerfListener() {
  33.     }
  34.     public boolean onExplode(Block block) {
  35.         if ((block.getStatus() == 2) && (block.getY() > CreeperNerf.maxAltitude)) {
  36.         for (Player p : etc.getServer().getPlayerList()) {
  37.           if (CreeperNerf.isInExplosionRadius(p, block)) {
  38.             p.setHealth(p.getHealth() - CreeperNerf.damage);
  39.             if (p.getHealth() < 1){
  40.                 etc.getServer().messageAll(p.getName()+" got killed by an creeper");
  41.             }
  42.           }
  43.         }
  44.         return true;
  45.       }
  46.       return false;
  47.     }
  48.   }
  49. }
Advertisement
Add Comment
Please, Sign In to add comment