diff options
| author | OnyxDarkKnight <sor1n.iliutza16@gmail.com> | 2015-06-05 01:53:14 +0100 |
|---|---|---|
| committer | OnyxDarkKnight <sor1n.iliutza16@gmail.com> | 2015-06-05 01:53:14 +0100 |
| commit | a6a3bfa6f313adba5afe6eb4a0da049a8d641cfc (patch) | |
| tree | 56da97ba430232a7d0da51a3b8b9f444d96325c7 /src/main/java/darkknight/jewelrycraft/random/WeightedRandomItem.java | |
| parent | 40487f07fa5ef31fde99713c0b842d34a0ba3622 (diff) | |
Stuff!
Diffstat (limited to 'src/main/java/darkknight/jewelrycraft/random/WeightedRandomItem.java')
| -rw-r--r-- | src/main/java/darkknight/jewelrycraft/random/WeightedRandomItem.java | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/src/main/java/darkknight/jewelrycraft/random/WeightedRandomItem.java b/src/main/java/darkknight/jewelrycraft/random/WeightedRandomItem.java new file mode 100644 index 0000000..8e28973 --- /dev/null +++ b/src/main/java/darkknight/jewelrycraft/random/WeightedRandomItem.java @@ -0,0 +1,67 @@ +package darkknight.jewelrycraft.random;
+
+import java.util.Random;
+import net.minecraft.enchantment.EnchantmentHelper;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.WeightedRandom;
+
+public class WeightedRandomItem extends WeightedRandom.Item
+{
+ private final ItemStack item;
+ private int maxMeta, minMeta, minItem, maxItem;
+
+ public WeightedRandomItem(ItemStack item, int weight)
+ {
+ super(weight);
+ this.item = item;
+ this.minItem = 1;
+ this.maxItem = 1;
+ this.maxMeta = 0;
+ this.minMeta = 0;
+ }
+
+ public WeightedRandomItem(ItemStack item, int maxMetadata, int weight)
+ {
+ this(item, weight);
+ this.maxMeta = maxMetadata;
+ }
+
+ public WeightedRandomItem(ItemStack item, int weight, int minItem, int maxItem)
+ {
+ this(item, weight);
+ this.minItem = minItem;
+ this.maxItem = maxItem;
+ }
+
+ public WeightedRandomItem setMaxMetadata(int meta)
+ {
+ this.maxMeta = meta;
+ return this;
+ }
+
+ public WeightedRandomItem setMinMetadata(int meta)
+ {
+ this.minMeta = meta;
+ return this;
+ }
+
+ public WeightedRandomItem setMinItem(int min)
+ {
+ this.minItem = min;
+ return this;
+ }
+
+ public WeightedRandomItem setMaxItem(int max)
+ {
+ this.maxItem = max;
+ return this;
+ }
+
+ public ItemStack getItem(Random random)
+ {
+ ItemStack itemstack = this.item.copy();
+ if(maxMeta > 0) itemstack.setItemDamage(minMeta + random.nextInt(maxMeta - minMeta));
+ if(maxItem > 1) itemstack.stackSize = this.minItem + random.nextInt(this.maxItem - this.minItem + 1);
+ return itemstack;
+ }
+}
\ No newline at end of file |
