Skip to content
Snippets Groups Projects

补充

Merged AWang05 requested to merge master into select_map
7 files
+ 245
2
Compare changes
  • Side-by-side
  • Inline
Files
7
package org.awang05.nmoFootball.controller;
import org.bukkit.entity.Player;
import org.bukkit.plugin.Plugin;
import org.bukkit.scheduler.BukkitRunnable;
public class ChargeController {
private static float min= 0.6F;
private static float max= 3.6F;
private static float dx=0.1F;
private static int pause=10;
public static void setMin(float min){
ChargeController.min=min;
}
public static void setMax(float max){
ChargeController.max=max;
}
public static void setDx(float dx){
ChargeController.dx=dx;
}
public static void setPause(int pause){
ChargeController.pause=pause;
}
private float ad=-dx;
private float x=-1F;
private final Player player;
private int time=-1,time1=-1;
public ChargeController(Player p,Plugin plugin){
player=p;
new BukkitRunnable() { //adder
@Override
public void run() {
if(!player.isOnline()){
this.cancel();
return;
}
if(x<0) return;
x+=ad;
if(x<0){
player.setExp(0);
x=-1;
}
else if(x>=1){
x=1;
player.setExp(1);
}
else {
player.setExp(x);
}
}
}.runTaskTimer(plugin,0,2);
new BukkitRunnable(){ //timer
@Override
public void run() {
if(time<=0) return;
--time;
if (time==0){
ad=0;
time1=pause;
}
}
}.runTaskTimer(plugin,0,2);
new BukkitRunnable() { //pause timer
@Override
public void run() {
if(ad!=0) return;
if(time1>0){
time1-=2;
return;
}
ad=-dx;
}
}.runTaskTimer(plugin,2,2);
}
public float getSpeed(){
if(x<=0) return min;
return min+x*(max-min);
}
public void press(){
ad=dx;
time=2;
if(x<0) x=0;
}
public void clear(){
x=-1;
player.setExp(0);
}
}
Loading