package com.nisovin.magicspells.castmodifiers.conditions;
import org.bukkit.Location;
import org.bukkit.entity.LivingEntity;
import org.bukkit.entity.Player;
import com.nisovin.magicspells.castmodifiers.Condition;
public class MoonPhaseCondition extends Condition {
String phaseName = "";
@Override
public boolean setVar(String var) {
phaseName = var.toLowerCase();
return true;
}
@Override
public boolean check(Player player) {
return check(player, player.getLocation());
}
@Override
public boolean check(Player player, LivingEntity target) {
return check(player, target.getLocation());
}
@Override
public boolean check(Player player, Location location) {
long time = location.getWorld().getFullTime();
int phase = (int)((time / 24000) % 8);
if (phase == 0 && phaseName.equals("full")) {
return true;
} else if ((phase == 1 || phase == 2 || phase == 3) && phaseName.equals("waning")) {
return true;
} else if (phase == 4 && phaseName.equals("new")) {
return true;
} else if ((phase == 5 || phase == 6 || phase == 7) && phaseName.equals("waxing")) {
return true;
} else {
return false;
}
}
}