fix: 修复随机数BUG 调整数量显示

Signed-off-by: 502647092 <admin@yumc.pw>
master
502647092 2016-08-16 09:13:17 +08:00
parent 46760c331e
commit 518a5edb90
2 changed files with 20 additions and 9 deletions

View File

@ -6,6 +6,7 @@ import java.util.Map.Entry;
import java.util.Set;
import org.bukkit.command.CommandSender;
import org.bukkit.configuration.ConfigurationSection;
import org.bukkit.entity.Player;
import cn.citycraft.LuckLottery.LuckLottery;
@ -53,11 +54,15 @@ public class PlayerData {
return playerLottery;
}
@SuppressWarnings("unchecked")
public static void loadPlayerLottery(final String p) {
final Map<String, Integer> pl = (Map<String, Integer>) playerdata.get(p);
final ConfigurationSection pcfg = playerdata.getConfigurationSection(p);
final Set<String> pl = pcfg.getKeys(false);
if (pl != null) {
playerLottery.put(p, pl);
final Map<String, Integer> tpl = new HashMap<>();
for (final String ll : pl) {
tpl.put(ll, pcfg.getInt(ll, 0));
}
playerLottery.put(p, tpl);
}
}
@ -66,6 +71,9 @@ public class PlayerData {
int np = 0;
int ncc = 0;
for (final Map<String, Integer> lls : playerLottery.values()) {
if (lls == null) {
continue;
}
for (final Entry<String, Integer> a : lls.entrySet()) {
nc += a.getValue();
np += LotteryUtils.getPrice() * a.getValue();
@ -107,8 +115,7 @@ public class PlayerData {
final Map<String, Integer> pls = phas.getValue();
for (final String lry : pls.keySet()) {
has = true;
final int count = pls.get(lry);
ChatUtils.sendMessage(sender, "§a" + lry + (count > 1 ? "*" + count : ""));
showToPlayer(sender, lry, pls.get(lry));
}
}
if (!has) {
@ -121,11 +128,14 @@ public class PlayerData {
if (playerhas != null && !playerhas.isEmpty()) {
ChatUtils.sendMessage(p, "§6您当前购买的彩票有:");
for (final String lry : playerhas.keySet()) {
final int count = playerhas.get(lry);
ChatUtils.sendMessage(p, "§a" + lry + (count > 1 ? "*" + count : ""));
showToPlayer(p, lry, playerhas.get(lry));
}
} else {
ChatUtils.sendMessage(p, "§c您当前没有购买的彩票");
}
}
public static void showToPlayer(final CommandSender sender, final String lry, final int count) {
ChatUtils.sendMessage(sender, "§a" + lry + (count > 1 ? " §6* §e" + count : ""));
}
}

View File

@ -1,5 +1,6 @@
package cn.citycraft.LuckLottery.utils;
import java.security.SecureRandom;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
@ -18,9 +19,10 @@ public class LotteryUtils {
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提示: 清除所有玩家彩票数据...");
ChatUtils.sendMessage(sender, "§c提示: 清除所有玩家彩票数据...");
PlayerData.clearLottery();
}
@ -29,7 +31,6 @@ public class LotteryUtils {
}
public static List<String> getRandomNumber() {
final Random rnd = new Random();
final List<String> normal = new ArrayList<String>();
for (int i = 1; i < 8; i++) {
String rr = rnd.nextInt(32) + 1 + "";