Advertisement
kman2010

SprintPlayerListener.java

May 11th, 2011
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.76 KB | None | 0 0
  1. package com.Carbon131.Sprint;
  2.  
  3. import org.bukkit.entity.Player;
  4. import org.bukkit.event.player.PlayerListener;
  5. import org.bukkit.event.player.PlayerMoveEvent;
  6. import org.bukkit.util.Vector;
  7.  
  8. public class SprintPlayerListener extends PlayerListener
  9. {
  10.     public SprintPlayerListener(final Sprint plugin) {
  11.     }
  12.    
  13.     public void onPlayerMove(PlayerMoveEvent event) {
  14.         Player player = event.getPlayer();
  15.         if (player.isSneaking())
  16.         {
  17.             if((Sprint.Permissions == null && player.isOp()) || Sprint.Permissions.has(player, "sprint.allow"))
  18.             {
  19.                 if (Sprint.requiresitem == true)
  20.                 {
  21.                     if (player.getInventory().getBoots().getTypeId() == Sprint.itemid || player.getInventory().getChestplate().getTypeId() == Sprint.itemid || player.getInventory().getHelmet().getTypeId() == Sprint.itemid || player.getInventory().getLeggings().getTypeId() == Sprint.itemid)
  22.                     {
  23.                         int material = player.getWorld().getBlockAt(player.getLocation().getBlockX(), player.getLocation().getBlockY() - 1, player.getLocation().getBlockZ()).getTypeId();
  24.                         if (material != 0 && material != 8 && material != 9 && material != 50 && material != 65)
  25.                         {    
  26.                             if (Sprint.players.get(player) != null)
  27.                             {
  28.                                 double currentenergy = Sprint.players.get(player).doubleValue();
  29.                                 double energy = minusenergy(currentenergy);
  30.                                 Sprint.players.put(player, new Double(energy));
  31.                                 if (energy > 0)
  32.                                 {
  33.                                     if (Sprint.highjumpenabled == true && (Sprint.Permissions == null && player.isOp()) || Sprint.Permissions.has(player, "sprint.highjump"))
  34.                                     {
  35.                                         Vector dir = player.getLocation().getDirection().multiply(Sprint.speed);
  36.                                         player.setVelocity(dir);
  37.                                     }
  38.                                     else
  39.                                     {
  40.                                         Vector dir = player.getLocation().getDirection().multiply(Sprint.speed).setY(0);
  41.                                         player.setVelocity(dir);
  42.                                     }
  43.                                     if (energy%Sprint.messagesinterval == 0)
  44.                                     {
  45.                                         player.sendMessage("§"+ Sprint.energylostcolor + "Stamina: " + energy + "%");
  46.                                     }
  47.                                 }
  48.                                 else
  49.                                 {
  50.                                     player.sendMessage("§4Stamina: 0% - You Must Rest!");
  51.                                 }                              
  52.                             }
  53.                             else
  54.                             {
  55.                                 Sprint.players.put(player, new Double(100));
  56.                             }
  57.                         }
  58.                     }
  59.                 }
  60.                 else
  61.                 {
  62.                     int material = player.getWorld().getBlockAt(player.getLocation().getBlockX(), player.getLocation().getBlockY() - 1, player.getLocation().getBlockZ()).getTypeId();
  63.                     if (material != 0 && material != 8 && material != 9 && material != 50 && material != 65)
  64.                     {
  65.                         if (Sprint.players.get(player) != null)
  66.                         {
  67.                             double currentenergy = Sprint.players.get(player).doubleValue();
  68.                             double energy = minusenergy(currentenergy);
  69.                             Sprint.players.put(player, new Double(energy));
  70.                             if (energy > 0)
  71.                             {
  72.                                 if (Sprint.highjumpenabled == true && (Sprint.Permissions == null && player.isOp()) || Sprint.Permissions.has(player, "sprint.highjump"))
  73.                                 {
  74.                                     Vector dir = player.getLocation().getDirection().multiply(Sprint.speed);
  75.                                     player.setVelocity(dir);
  76.                                 }
  77.                                 else
  78.                                 {
  79.                                     Vector dir = player.getLocation().getDirection().multiply(Sprint.speed).setY(0);
  80.                                     player.setVelocity(dir);
  81.                                 }
  82.                                 if (energy%Sprint.messagesinterval == 0)
  83.                                 {
  84.                                     player.sendMessage("§"+ Sprint.energylostcolor + "Stamina: " + energy + "%");
  85.                                 }
  86.                             }
  87.                             else
  88.                             {
  89.                                 player.sendMessage("§4Stamina: 0% - You Must Rest!");
  90.                             }                              
  91.                         }
  92.                         else
  93.                         {
  94.                             Sprint.players.put(player, new Double(100));
  95.                         }
  96.                     }
  97.                 }
  98.             }
  99.         }
  100.         else
  101.         {
  102.             if (Sprint.players.get(player) != null)
  103.             {
  104.                 double currentenergy = Sprint.players.get(player).doubleValue();
  105.                 double energy = addenergy(currentenergy);
  106.                 Sprint.players.put(player, new Double(energy));
  107.                 if ((Math.floor((energy)*10)/10)%Sprint.messagesinterval == 0 && (Math.floor((energy)*10)/10) != 100)
  108.                 {
  109.                     player.sendMessage("§" + Sprint.energygainedcolor + "Stamina: " + Math.floor(energy) + "%");
  110.                 }
  111.                 else if ((Math.floor((energy)*10)/10) == 99.9)
  112.                 {
  113.                     player.sendMessage("§" + Sprint.energygainedcolor + "Stamina: 100%");
  114.                 }
  115.             }
  116.         }
  117.     }
  118.    
  119.     public double minusenergy(double currentenergy)
  120.     {
  121.         if (currentenergy > 0)
  122.         {
  123.             double newcurrentenergy = Math.floor((currentenergy - (Sprint.energylostpersecond*.1))*10)/10;
  124.             return newcurrentenergy;
  125.         }
  126.         else
  127.         {
  128.             return currentenergy;
  129.         }
  130.     }
  131.    
  132.     public double addenergy(double currentenergy)
  133.     {
  134.         if (currentenergy < 100)
  135.         {
  136.             double newcurrentenergy = ((currentenergy + (Sprint.energygainedpersecond*.1))*10)/10;
  137.             return newcurrentenergy;
  138.         }
  139.         else
  140.         {
  141.             return currentenergy;
  142.         }
  143.     }
  144. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement