summaryrefslogtreecommitdiff
path: root/src/main/java/darkknight/jewelrycraft/worldGen/WeightedRandomItem.java
diff options
context:
space:
mode:
authorOnyxDarkKnight <sor1n.iliutza16@gmail.com>2015-05-31 01:44:17 +0100
committerOnyxDarkKnight <sor1n.iliutza16@gmail.com>2015-05-31 01:44:17 +0100
commit40487f07fa5ef31fde99713c0b842d34a0ba3622 (patch)
tree2accdb69c2507acd794d5009d520b2255763751b /src/main/java/darkknight/jewelrycraft/worldGen/WeightedRandomItem.java
parentc5dfb2ef7353f13d71d8d582aa6d240420ed9ce7 (diff)
- Fixed an issue with the Liquids tab
- Changed Entity registration so it only uses 'registerModEntity' to fix potential issues - Added crystal blocks - Changed Jewelry Tab to not override TiCon tabs (sorry TiCon, your system is good, but not for me) - The player renders in the Jewelry GUI (makes it easier for you to see how the jewelry render) - The Pentagram now has an actual effect - The Pentagram now renders beneath your feet when you look down and no longer does it in your inventory; it is also a lot smaller - Working on Structures - Created my own WeightedRandomItem (why isn't this in vanilla?) - Updated the curse API so now people can specify when a curse can be activated (I believe the world is all you need :p) - Some curses can no longer aquired in hardcore (such as Rotten Heart, Midas Touch etc) which would make it impossible to work with and require a total restart of the game (as the only way to get rid of them is by dying to replace them) Hooraaay for proper changelogs!
Diffstat (limited to 'src/main/java/darkknight/jewelrycraft/worldGen/WeightedRandomItem.java')
-rw-r--r--src/main/java/darkknight/jewelrycraft/worldGen/WeightedRandomItem.java67
1 files changed, 67 insertions, 0 deletions
diff --git a/src/main/java/darkknight/jewelrycraft/worldGen/WeightedRandomItem.java b/src/main/java/darkknight/jewelrycraft/worldGen/WeightedRandomItem.java
new file mode 100644
index 0000000..0528b66
--- /dev/null
+++ b/src/main/java/darkknight/jewelrycraft/worldGen/WeightedRandomItem.java
@@ -0,0 +1,67 @@
+package darkknight.jewelrycraft.worldGen;
+
+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