diff options
| author | OnyxDarkKnight <sor1n.iliutza16@gmail.com> | 2014-09-17 19:10:05 +0300 |
|---|---|---|
| committer | OnyxDarkKnight <sor1n.iliutza16@gmail.com> | 2014-09-17 19:10:05 +0300 |
| commit | 06f62473f0622efe6decc32b70516a7c5d3d3572 (patch) | |
| tree | ebf54c96117f9917cd93740a89763c26abde06af /java/darkknight/jewelrycraft/worldGen/village/JCTrades.java | |
| parent | 852cfd0e13631320624d528213ec8c80cffe8743 (diff) | |
1.7.10
Diffstat (limited to 'java/darkknight/jewelrycraft/worldGen/village/JCTrades.java')
| -rw-r--r-- | java/darkknight/jewelrycraft/worldGen/village/JCTrades.java | 158 |
1 files changed, 158 insertions, 0 deletions
diff --git a/java/darkknight/jewelrycraft/worldGen/village/JCTrades.java b/java/darkknight/jewelrycraft/worldGen/village/JCTrades.java new file mode 100644 index 0000000..7cec830 --- /dev/null +++ b/java/darkknight/jewelrycraft/worldGen/village/JCTrades.java @@ -0,0 +1,158 @@ +package darkknight.jewelrycraft.worldGen.village; + +import java.util.Random; + +import net.minecraft.entity.passive.EntityVillager; +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +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 = 5 + random.nextInt(8); + ingredient = new ItemStack(Items.emerald, 2 + random.nextInt(2)); + if (random.nextBoolean()) ingredient2 = new ItemStack(Items.emerald, 2 + random.nextInt(2)); + break; + } + case 1: + { + result = new ItemStack(ItemList.molds, 5 + random.nextInt(7), random.nextInt(2)); + ingredient = new ItemStack(Items.emerald, 1 + random.nextInt(1)); + if (random.nextBoolean()) ingredient2 = new ItemStack(Items.emerald, 1 + random.nextInt(2)); + break; + } + case 2: + { + result = new ItemStack(ItemList.thiefGloves); + ingredient = new ItemStack(Items.emerald, 16 + random.nextInt(8)); + if (random.nextBoolean()) ingredient2 = new ItemStack(Items.emerald, 8 + random.nextInt(4)); + break; + } + case 3: + { + result = new ItemStack(BlockList.displayer, 1 + random.nextInt(6)); + ingredient = new ItemStack(Items.emerald, 3 + random.nextInt(8)); + if (random.nextBoolean()) ingredient2 = new ItemStack(Items.emerald, 3 + random.nextInt(8)); + break; + } + case 4: + { + result = new ItemStack(BlockList.jewelCraftingTable); + ingredient = new ItemStack(Items.emerald, 1 + random.nextInt(2)); + if (random.nextBoolean()) ingredient2 = new ItemStack(Items.emerald, 1 + random.nextInt(2)); + break; + } + case 5: + { + result = new ItemStack(BlockList.shadowOre, 1 + random.nextInt(16)); + ingredient = new ItemStack(Items.emerald, 3 + random.nextInt(4)); + if (random.nextBoolean()) ingredient2 = new ItemStack(Items.emerald, 3 + random.nextInt(4)); + break; + } + case 6: + { + result = new ItemStack(BlockList.molder, 5 + random.nextInt(5)); + ingredient = new ItemStack(Items.emerald, 1 + random.nextInt(1)); + if (random.nextBoolean()) ingredient2 = new ItemStack(Items.emerald, 1 + random.nextInt(1)); + break; + } + case 7: + { + result = new ItemStack(BlockList.smelter); + ingredient = new ItemStack(Items.emerald, 1 + random.nextInt(2)); + if (random.nextBoolean()) ingredient2 = new ItemStack(Items.emerald, 1 + random.nextInt(2)); + break; + } + case 8: + { + int end = random.nextInt(JewelrycraftUtil.modifiers.size()); + result = JewelrycraftUtil.modifiers.get(end); + if (JewelrycraftUtil.modifiers.size() - 1 - end >= 3) + { + result.stackSize = 1 + random.nextInt(JewelrycraftUtil.modifiers.size() - end); + int value = end; + if (value > 64) value = 64; + ingredient = new ItemStack(Items.emerald, 3 + random.nextInt(value)); + if (random.nextBoolean()) ingredient2 = new ItemStack(Items.emerald, 4 + random.nextInt(value)); + } + else + { + result.stackSize = 1 + random.nextInt(7); + ingredient = new ItemStack(Items.emerald, result.stackSize / 2 + 1 + random.nextInt(7)); + ingredient2 = new ItemStack(Items.emerald, result.stackSize / 2 + 1 + random.nextInt(4)); + } + if (result.getMaxStackSize() <= 1) result.stackSize = 1; + break; + } + case 9: + { + int end = random.nextInt(JewelrycraftUtil.jewel.size()); + result = JewelrycraftUtil.jewel.get(end); + result.stackSize = 1 + random.nextInt(JewelrycraftUtil.jewel.size() - end); + if (JewelrycraftUtil.jewel.size() - 1 - end >= 1) + { + int value = end; + if (value > 64) value = 64; + ingredient = new ItemStack(Items.emerald, 2 + random.nextInt(value)); + if (random.nextBoolean()) ingredient2 = new ItemStack(Items.emerald, 2 + random.nextInt(value)); + } + else + { + ingredient = new ItemStack(Blocks.emerald_block, 16 + random.nextInt(32)); + ingredient2 = new ItemStack(Blocks.emerald_block, 8 + random.nextInt(48)); + } + break; + } + case 10: + { + result = JewelrycraftUtil.ores.get(random.nextInt(JewelrycraftUtil.ores.size())); + result.stackSize = 3 + random.nextInt(8); + ingredient = new ItemStack(Items.emerald, 2 + random.nextInt(2)); + if (random.nextBoolean()) ingredient2 = new ItemStack(Items.emerald, 2 + random.nextInt(2)); + 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()))); + if (JewelryNBT.isModifierEffectType(result)) JewelryNBT.addMode(result, "Activated"); + if (JewelryNBT.isJewelX(result, new ItemStack(Items.nether_star)) && JewelryNBT.isModifierX(result, new ItemStack(Items.book))) JewelryNBT.addMode(result, "Disenchant"); + ingredient = new ItemStack(Items.emerald, 16 + random.nextInt(20)); + ingredient2 = new ItemStack(Blocks.emerald_block, 5 + random.nextInt(5)); + } + } + + recipeList.addToListWithCheck(new MerchantRecipe(ingredient, ingredient2, result)); + } + } +}
\ No newline at end of file |
