diff --git a/src/com/massivecraft/massivecore/util/IntervalUtil.java b/src/com/massivecraft/massivecore/util/IntervalUtil.java index 8d7d63ba..4b30dc4b 100644 --- a/src/com/massivecraft/massivecore/util/IntervalUtil.java +++ b/src/com/massivecraft/massivecore/util/IntervalUtil.java @@ -114,8 +114,6 @@ public class IntervalUtil return random(min, max); } - - public static double randomDoubleFromInterval(Entry interval) { double min = interval.getKey(); diff --git a/src/com/massivecraft/massivecore/util/MUtil.java b/src/com/massivecraft/massivecore/util/MUtil.java index 9f6d21a0..0ec8e74c 100644 --- a/src/com/massivecraft/massivecore/util/MUtil.java +++ b/src/com/massivecraft/massivecore/util/MUtil.java @@ -1288,7 +1288,7 @@ public class MUtil { if (coll.size() == 0) return null; if (coll.size() == 1) return coll.iterator().next(); - int index = MassiveCore.random.nextInt(coll.size()); + List list = null; if (coll instanceof List) { @@ -1298,18 +1298,40 @@ public class MUtil { list = new ArrayList(coll); } + + int index = MassiveCore.random.nextInt(list.size()); return list.get(index); } - public static List random(Collection coll, int count) + public static List randomSubset(Collection coll, int count) { - List ret = new ArrayList(coll); + // Clean Input if (count < 0) count = 0; + + // Create Ret + List ret = new ArrayList(coll); while (ret.size() > count) { int index = MassiveCore.random.nextInt(ret.size()); ret.remove(index); } + + // Return Ret + return ret; + } + + public static List random(List list, int count) + { + // Create Ret + List ret = new MassiveList(); + + // Fill Ret + for (int i = 0; i < count; i++) + { + ret.add(MUtil.random(list)); + } + + // Return Ret return ret; }