Advertisement
Guest User

Untitled

a guest
Jun 17th, 2016
144
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.77 KB | None | 0 0
  1. package com.gmail.candanatak97.selfmade.vehicle;
  2.  
  3. import net.gtaun.shoebill.common.timers.TemporaryTimer;
  4. import net.gtaun.shoebill.common.vehicle.VehicleUtils;
  5. import net.gtaun.shoebill.object.Player;
  6. import net.gtaun.shoebill.object.Vehicle;
  7. import net.gtaun.shoebill.object.VehicleParam;
  8.  
  9. public class VehicleFuelBaseListener implements VehicleFuelListener {
  10.     private Vehicle vehicle;
  11.     private int fuel;
  12.     private int maxFuel;
  13.     private boolean isUnlimited = false;
  14.     private boolean isFuelling = false;
  15.     TemporaryTimer timer;
  16.    
  17.     public VehicleFuelBaseListener(Vehicle vehicle, int fuel, int maxFuel, boolean isUnlimited) {
  18.         this.vehicle = vehicle;
  19.         this.fuel = fuel;
  20.         this.maxFuel = maxFuel;
  21.         this.isUnlimited = isUnlimited;
  22.        
  23.         onCreated();
  24.     }
  25.    
  26.     @Override
  27.     public void onCreated() {
  28.         timer = TemporaryTimer.create(20 * 1000, i -> {
  29.             onUpdate();
  30.         });
  31.        
  32.         timer.start();
  33.     }
  34.    
  35.     @Override
  36.     public void onUpdate() {
  37.         VehicleMotor vehicleMotor = VehicleManager.getVehicleData(getVehicle()).getVehicleMotor();
  38.        
  39.         if(!isUnlimited() && vehicleMotor.isStarted()) {
  40.             if(getFuel() > 0) {
  41.                 onFuelLose();
  42.             } else {
  43.                 if(getFuel() < 0) {
  44.                     fuel = 0;
  45.                 }
  46.             }
  47.         }
  48.     }
  49.  
  50.     @Override
  51.     public void onFuelLose() {
  52.         fuel--;
  53.        
  54.         if(getFuel() == 0) {
  55.             onFuelEmpty();
  56.         }
  57.     }
  58.  
  59.     @Override
  60.     public void onFuelEmpty() {
  61.         getVehicle().getState().setEngine(VehicleParam.PARAM_OFF);
  62.        
  63.         Player driver = VehicleUtils.getVehicleDriver(getVehicle());
  64.         if(driver != null) {
  65.             driver.playSound(1085);
  66.         }
  67.     }
  68.  
  69.     @Override
  70.     public void onFuelling(int fuel) {
  71.         isFuelling = true;
  72.        
  73.         this.fuel += fuel;
  74.        
  75.         if(getFuel() > getMaxFuel()) {
  76.             fuel = getMaxFuel();
  77.         }
  78.        
  79.         onFuelled();
  80.     }
  81.  
  82.     @Override
  83.     public void onFuelled() {
  84.         isFuelling = false;
  85.     }
  86.    
  87.     @Override
  88.     public boolean isFuelling() {
  89.         return isFuelling;
  90.     }
  91.    
  92.     @Override
  93.     public Vehicle getVehicle() {
  94.         return vehicle;
  95.     }
  96.  
  97.     @Override
  98.     public int getFuel() {
  99.         return fuel;
  100.     }
  101.  
  102.     @Override
  103.     public boolean isUnlimited() {
  104.         return isUnlimited;
  105.     }
  106.  
  107.     @Override
  108.     public int getFuelPercent() {
  109.         return (int) Math.round(Math.floor(getMaxFuel() / 100 * getFuel()));
  110.     }
  111.  
  112.     @Override
  113.     public int getMaxFuel() {
  114.         return maxFuel;
  115.     }
  116.    
  117.     @Override
  118.     public void destroy() {
  119.         if(timer.isDestroyed())
  120.             return;
  121.        
  122.         timer.destroy();
  123.     }
  124.  
  125.     @Override
  126.     public boolean isDestroyed() {
  127.         return timer.isDestroyed();
  128.     }
  129.  
  130.     @Override
  131.     public void setVehicle(Vehicle vehicle) {
  132.         this.vehicle = vehicle;
  133.     }
  134.  
  135.     @Override
  136.     public void setFuel(int fuel) {
  137.         this.fuel = fuel;
  138.     }
  139.  
  140.     @Override
  141.     public void setMaxFuel(int maxFuel) {
  142.         this.maxFuel = maxFuel;
  143.     }
  144.  
  145.     @Override
  146.     public void setUnlimited(boolean isUnlimited) {
  147.         this.isUnlimited = isUnlimited;
  148.     }
  149. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement