120 lines
3.8 KiB
Java
120 lines
3.8 KiB
Java
package pw.yumc.LuckLottery.utils;
|
|
|
|
import java.security.SecureRandom;
|
|
import java.util.ArrayList;
|
|
import java.util.Arrays;
|
|
import java.util.List;
|
|
import java.util.Random;
|
|
|
|
import org.bukkit.Bukkit;
|
|
import org.bukkit.ChatColor;
|
|
import org.bukkit.command.CommandSender;
|
|
|
|
import pw.yumc.LuckLottery.LuckLottery;
|
|
import pw.yumc.LuckLottery.config.PlayerData;
|
|
import pw.yumc.LuckLottery.runnable.LotteryReward;
|
|
|
|
public class LotteryUtils {
|
|
protected static LuckLottery plugin = LuckLottery.plugin;
|
|
protected static List<String> systemLottery = new ArrayList<String>();
|
|
protected static boolean numbersame;
|
|
protected static int price;
|
|
protected final static Random rnd = new SecureRandom();
|
|
|
|
public static void clearPlayerLottery(final CommandSender sender) {
|
|
ChatUtils.sendMessage(sender, "§c提示: 已清除所有玩家彩票数据...");
|
|
PlayerData.clearLottery();
|
|
}
|
|
|
|
public static int getPrice() {
|
|
return price;
|
|
}
|
|
|
|
public static List<String> getRandomNumber() {
|
|
final List<String> normal = new ArrayList<String>();
|
|
for (int i = 1; i < 8; i++) {
|
|
String rr = rnd.nextInt(32) + 1 + "";
|
|
while (normal.contains(rr)) {
|
|
rr = rnd.nextInt(32) + 1 + "";
|
|
}
|
|
normal.add(rr);
|
|
}
|
|
return normal;
|
|
}
|
|
|
|
public static int getSameNumber(final List<String> lottery) {
|
|
return getSameNumber(lottery, systemLottery);
|
|
}
|
|
|
|
public static int getSameNumber(final List<String> lottery, final List<String> system) {
|
|
int samenum = 0;
|
|
if (numbersame) {
|
|
for (int i = 0; i < lottery.size(); i++) {
|
|
if (lottery.get(i).equals(system.get(i))) {
|
|
samenum++;
|
|
}
|
|
}
|
|
} else {
|
|
for (final String pn : lottery) {
|
|
for (final String sn : system) {
|
|
if (pn.equals(sn)) {
|
|
samenum++;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if (lottery.get(lottery.size() - 1).equalsIgnoreCase(system.get(system.size() - 1))) {
|
|
samenum += 9;
|
|
}
|
|
return samenum;
|
|
}
|
|
|
|
public static int getSameNumber(final String lottery) {
|
|
return getSameNumber(Arrays.asList(lottery.split("-")), systemLottery);
|
|
}
|
|
|
|
public static List<String> getSystemLottery() {
|
|
return systemLottery;
|
|
}
|
|
|
|
/**
|
|
* @return numbersame
|
|
*/
|
|
public static boolean isNumbersame() {
|
|
return numbersame;
|
|
}
|
|
|
|
public static void rewardLastLottery() {
|
|
Bukkit.getServer().getScheduler().runTaskAsynchronously(plugin, new LotteryReward(plugin, true));
|
|
}
|
|
|
|
/**
|
|
* @param numbersame
|
|
* 要设置的 numbersame
|
|
*/
|
|
public static void setNumbersame(final boolean numbersame) {
|
|
LotteryUtils.numbersame = numbersame;
|
|
}
|
|
|
|
public static void setPrice(final int price) {
|
|
LotteryUtils.price = price;
|
|
}
|
|
|
|
public static void setSystemLottery(final List<String> systemLottery) {
|
|
LotteryUtils.systemLottery = systemLottery;
|
|
}
|
|
|
|
public static void showSystemLottery(final CommandSender p) {
|
|
ChatUtils.sendMessage(p, ChatColor.DARK_PURPLE + "此轮彩票号码为: " + ChatColor.YELLOW + LotteryUtils.systemLottery.toString());
|
|
}
|
|
|
|
public static void updateSystemLottery() {
|
|
LotteryUtils.systemLottery = LotteryUtils.getRandomNumber();
|
|
}
|
|
|
|
public static void updateSystemLottery(final CommandSender p) {
|
|
LotteryUtils.systemLottery = LotteryUtils.getRandomNumber();
|
|
ChatUtils.sendMessage(p, ChatColor.BLUE + "已随机生成彩票: " + ChatColor.YELLOW + LotteryUtils.systemLottery.toString());
|
|
}
|
|
}
|