summaryrefslogtreecommitdiff
path: root/common/darkknight/jewelrycraft/worldGen/village/JCTrades.java
diff options
context:
space:
mode:
authorOnyxDarkKnight <sor1n.iliutza16@gmail.com>2014-01-04 19:59:46 +0200
committerOnyxDarkKnight <sor1n.iliutza16@gmail.com>2014-01-04 19:59:46 +0200
commitef7fe109a0a58023725d87d4618ace6cfc4326d4 (patch)
treef3b2eb4f17e890a73979b0d8e17437541b07058f /common/darkknight/jewelrycraft/worldGen/village/JCTrades.java
parent1e8ab612f40161e7a4ec3cd6c96b1c481c21e6c2 (diff)
Added a stinking villager and his derp house!
Diffstat (limited to 'common/darkknight/jewelrycraft/worldGen/village/JCTrades.java')
-rw-r--r--common/darkknight/jewelrycraft/worldGen/village/JCTrades.java142
1 files changed, 142 insertions, 0 deletions
diff --git a/common/darkknight/jewelrycraft/worldGen/village/JCTrades.java b/common/darkknight/jewelrycraft/worldGen/village/JCTrades.java
new file mode 100644
index 0000000..4e1022d
--- /dev/null
+++ b/common/darkknight/jewelrycraft/worldGen/village/JCTrades.java
@@ -0,0 +1,142 @@
+package darkknight.jewelrycraft.worldGen.village;
+
+import java.util.Random;
+
+import net.minecraft.block.Block;
+import net.minecraft.entity.passive.EntityVillager;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.village.MerchantRecipe;
+import net.minecraft.village.MerchantRecipeList;
+import cpw.mods.fml.common.registry.VillagerRegistry.IVillageTradeHandler;
+import darkknight.jewelrycraft.block.BlockList;
+import darkknight.jewelrycraft.item.ItemList;
+import darkknight.jewelrycraft.util.JewelryNBT;
+import darkknight.jewelrycraft.util.JewelrycraftUtil;
+
+public class JCTrades implements IVillageTradeHandler
+{
+
+ public JCTrades()
+ {
+ super();
+ }
+
+ @Override
+ public void manipulateTradesForVillager (EntityVillager villager, MerchantRecipeList recipeList, Random random)
+ {
+ if (villager.getProfession() == 3000)
+ {
+ ItemStack ingredient = null;
+ ItemStack ingredient2 = null;
+ ItemStack result;
+
+ int type = random.nextInt(12);
+ switch(type)
+ {
+ case 0:
+ {
+ result = JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size()));
+ result.stackSize = 1 + random.nextInt(16);
+ ingredient = new ItemStack(Item.emerald, 8 + random.nextInt(8));
+ if(random.nextBoolean()) ingredient2 = new ItemStack(Item.emerald, 8 + random.nextInt(8));
+ break;
+ }
+ case 1:
+ {
+ result = new ItemStack(ItemList.molds, 1, random.nextInt(2));
+ ingredient = new ItemStack(Item.emerald, 1 + random.nextInt(2));
+ if(random.nextBoolean()) ingredient2 = new ItemStack(Item.emerald, 1 + random.nextInt(2));
+ break;
+ }
+ case 2:
+ {
+ result = new ItemStack(ItemList.thiefGloves);
+ ingredient = new ItemStack(Item.emerald, 16 + random.nextInt(8));
+ if(random.nextBoolean()) ingredient2 = new ItemStack(Item.emerald, 16 + random.nextInt(8));
+ break;
+ }
+ case 3:
+ {
+ result = new ItemStack(BlockList.displayer, 1 + random.nextInt(6));
+ ingredient = new ItemStack(Item.emerald, 8 + random.nextInt(32));
+ if(random.nextBoolean()) ingredient2 = new ItemStack(Block.blockEmerald, 2 + random.nextInt(6));
+ break;
+ }
+ case 4:
+ {
+ result = new ItemStack(BlockList.jewelCraftingTable);
+ ingredient = new ItemStack(Item.emerald, 8 + random.nextInt(17));
+ if(random.nextBoolean()) ingredient2 = new ItemStack(Item.emerald, 8 + random.nextInt(17));
+ break;
+ }
+ case 5:
+ {
+ result = new ItemStack(BlockList.shadowOre, 1 + random.nextInt(16));
+ ingredient = new ItemStack(Item.emerald, 8 + random.nextInt(17));
+ if(random.nextBoolean()) ingredient2 = new ItemStack(Item.emerald, 8 + random.nextInt(17));
+ break;
+ }
+ case 6:
+ {
+ result = new ItemStack(BlockList.molder);
+ ingredient = new ItemStack(Item.emerald, 1 + random.nextInt(2));
+ if(random.nextBoolean()) ingredient2 = new ItemStack(Item.emerald, 1 + random.nextInt(3));
+ break;
+ }
+ case 7:
+ {
+ result = new ItemStack(BlockList.smelter);
+ ingredient = new ItemStack(Item.emerald, 3 + random.nextInt(9));
+ if(random.nextBoolean()) ingredient2 = new ItemStack(Item.emerald, 4 + random.nextInt(2));
+ break;
+ }
+ case 8:
+ {
+ int end = random.nextInt(JewelrycraftUtil.modifiers.size());
+ result = JewelrycraftUtil.modifiers.get(end);
+ if(result.getMaxStackSize() > 1) result.stackSize = 1 + random.nextInt(16);
+ if(JewelrycraftUtil.modifiers.size() - 1 - end >= 3)
+ {
+ ingredient = new ItemStack(Item.emerald, 3 + random.nextInt(9));
+ if(random.nextBoolean()) ingredient2 = new ItemStack(Item.emerald, 4 + random.nextInt(2));
+ }
+ else
+ {
+ ingredient = new ItemStack(Item.emerald, 32 + random.nextInt(33));
+ ingredient2 = new ItemStack(Block.blockEmerald, 8 + random.nextInt(16));
+ }
+ break;
+ }
+ case 9:
+ {
+ int end = random.nextInt(JewelrycraftUtil.jewel.size());
+ result = JewelrycraftUtil.jewel.get(end);
+ result.stackSize = 1 + random.nextInt(3);
+ if(JewelrycraftUtil.modifiers.size() - 1 - end >= 1)
+ {
+ ingredient = new ItemStack(Item.emerald, 6 + random.nextInt(32));
+ if(random.nextBoolean()) ingredient2 = new ItemStack(Item.emerald, 2 + random.nextInt(16));
+ }
+ else
+ {
+ ingredient = new ItemStack(Block.blockEmerald, 16 + random.nextInt(32));
+ ingredient2 = new ItemStack(Block.blockEmerald, 8 + random.nextInt(48));
+ }
+ break;
+ }
+ default:
+ {
+ result = new ItemStack(ItemList.ring, 1, 0);
+ JewelryNBT.addMetal(result, JewelrycraftUtil.metal.get(random.nextInt(JewelrycraftUtil.metal.size())));
+ JewelryNBT.addModifier(result, JewelrycraftUtil.modifiers.get(random.nextInt(JewelrycraftUtil.modifiers.size())));
+ JewelryNBT.addJewel(result, JewelrycraftUtil.jewel.get(random.nextInt(JewelrycraftUtil.jewel.size())));
+ ingredient = new ItemStack(Item.emerald, 16 + random.nextInt(20));
+ ingredient2 = new ItemStack(Block.blockEmerald, 5 + random.nextInt(5));
+ }
+ }
+
+ recipeList.addToListWithCheck(new MerchantRecipe(ingredient, ingredient2, result));
+ }
+ }
+} \ No newline at end of file