net.minecraft.util.WeightedRandomChestContent#net.minecraft.init.Items源码实例Demo

下面列出了net.minecraft.util.WeightedRandomChestContent#net.minecraft.init.Items 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

public static int getItemBurnTime (ItemStack stack) {
    if (stack == null)
        return 0;

    Item item = stack.getItem();

    if (item instanceof ItemBlock) {
        Block block = Block.getBlockFromItem(item);
        if (block == ModBlocks.stoneBlock && stack.getItemDamage() == 0)
            return ModBlocks.stoneBlock.getBurnTime(stack);
    }

    if (item == Items.coal && stack.getItemDamage() == 1)
        return 1600;

    return 0;
}
 
源代码2 项目: ToroQuest   文件: EntityMage.java
protected void handleDrinkingPotionUpdate() {
	if (this.attackTimer-- <= 0) {
		this.world.playSound((EntityPlayer) null, this.posX, this.posY, this.posZ, SoundEvents.ENTITY_WITCH_DRINK, this.getSoundCategory(), 1.0F,
				0.8F + this.rand.nextFloat() * 0.4F);
		this.setAggressive(false);
		ItemStack itemstack = this.getHeldItemOffhand();
		this.setItemStackToSlot(EntityEquipmentSlot.OFFHAND, ItemStack.EMPTY);

		if (itemstack != null && itemstack.getItem() == Items.POTIONITEM) {
			List<PotionEffect> list = PotionUtils.getEffectsFromStack(itemstack);

			if (list != null) {
				for (PotionEffect potioneffect : list) {
					this.addPotionEffect(new PotionEffect(potioneffect));
				}
			}
		}

		this.getEntityAttribute(SharedMonsterAttributes.MOVEMENT_SPEED).removeModifier(MODIFIER);
	}
}
 
源代码3 项目: WirelessRedstone   文件: RedstoneEther.java
public static ItemStack[] getColourSetters() {
    if (coloursetters == null) {
        coloursetters = new ItemStack[]{
                new ItemStack(Items.dye, 1, 1),
                new ItemStack(Items.dye, 1, 2),
                new ItemStack(Items.dye, 1, 3),
                new ItemStack(Items.dye, 1, 4),
                new ItemStack(Items.dye, 1, 5),
                new ItemStack(Items.dye, 1, 6),
                new ItemStack(Items.dye, 1, 7),
                new ItemStack(Items.dye, 1, 8),
                new ItemStack(Items.dye, 1, 9),
                new ItemStack(Items.dye, 1, 10),
                new ItemStack(Items.dye, 1, 11),
                new ItemStack(Items.dye, 1, 12),
                new ItemStack(Items.dye, 1, 13),
                new ItemStack(Items.dye, 1, 14),
                new ItemStack(Items.redstone, 1)};
    }
    return coloursetters;
}
 
源代码4 项目: YouTubeModdingTutorial   文件: TileFloader.java
@Override
public void update() {
    if (!world.isRemote) {
        // Do something is we have a full water block below. We have a feather ready in our inventory
        // and we can find a tank that can accept 100mb of Fload
        IBlockState stateDown = world.getBlockState(pos.down());
        if (stateDown.getBlock() == Blocks.WATER) {
            if (stateDown.getValue(BlockStaticLiquid.LEVEL) == 0) {
                // Test extracting a feather
                ItemStack extracted = inputHandler.extractItem(0, 1, true);
                if (extracted.getItem() == Items.FEATHER) {
                    if (findTankAndFill()) {
                        // All is ok. Really extract the feature and remove the water block
                        world.setBlockToAir(pos.down());
                        inputHandler.extractItem(0, 1, false);
                    }
                }
            }
        }
    }
}
 
源代码5 项目: Electro-Magic-Tools   文件: EntityArcher.java
@Override
protected void dropFewItems(boolean par1, int par2) {
    int j;
    int k;

    j = this.rand.nextInt(3 + par2);

    for (k = 0; k < j; ++k) {
        this.dropItem(Items.arrow, 1);
    }
    j = this.rand.nextInt(3 + par2);

    for (k = 0; k < j; ++k) {
        this.dropItem(Items.bone, 1);
    }
}
 
源代码6 项目: Production-Line   文件: MixinTileEntityFurnace.java
@Inject(method = "update", at = @At("RETURN"))
private void onUpdate(CallbackInfo callbackInfo) {
    if (!this.world.isRemote) {
        if (this.isBurning()) {
            ItemStack itemStack = this.furnaceItemStacks[0];
            if (itemStack != null) {
                if (itemStack.getItem() instanceof ItemBlock) {
                    Block block = ((ItemBlock) itemStack.getItem()).block;
                    if (block.getMaterial(block.getStateFromMeta(itemStack.getMetadata())) == Material.TNT) {
                        this.doExplosion();
                    }
                } else if (itemStack.getItem() == Items.GUNPOWDER) {
                    this.doExplosion();
                } else if (itemStack.getItem() instanceof ItemFirework || itemStack.getItem()
                        instanceof ItemFireworkCharge) {
                    this.doExplosion();
                }
            }
        }
    }
}
 
源代码7 项目: archimedes-ships   文件: RecipeBalloon.java
@Override
public ItemStack getCraftingResult(InventoryCrafting inventorycrafting)
{
	for (int i = 0; i < 3; i++)
	{
		for (int j = 0; j < 2; j++)
		{
			ItemStack itemstack = inventorycrafting.getStackInRowAndColumn(i, j);
			if (itemstack == null) continue;
			if (itemstack.getItem() == Item.getItemFromBlock(Blocks.wool))
			{
				ItemStack itemstack1 = inventorycrafting.getStackInRowAndColumn(i, j + 1);
				if (itemstack1 != null && itemstack1.getItem() == Items.string)
				{
					return new ItemStack(ArchimedesShipMod.blockBalloon, 1, itemstack.getItemDamage());
				}
				return null;
			}
			return null;
		}
	}
	return null;
}
 
源代码8 项目: seppuku   文件: AutoTotemModule.java
@Listener
public void onUpdate(EventPlayerUpdate event) {
    if (event.getStage() == EventStageable.EventStage.PRE) {
        final Minecraft mc = Minecraft.getMinecraft();

        if(mc.currentScreen == null || mc.currentScreen instanceof GuiInventory) {
            if(mc.player.getHealth() <= this.health.getValue()) {
                final ItemStack offHand = mc.player.getHeldItemOffhand();

                if (offHand.getItem() == Items.TOTEM_OF_UNDYING) {
                    return;
                }

                final int slot = this.getItemSlot(Items.TOTEM_OF_UNDYING);

                if(slot != -1) {
                    mc.playerController.windowClick(mc.player.inventoryContainer.windowId, slot, 0, ClickType.PICKUP, mc.player);
                    mc.playerController.windowClick(mc.player.inventoryContainer.windowId, 45, 0, ClickType.PICKUP, mc.player);
                    mc.playerController.windowClick(mc.player.inventoryContainer.windowId, slot, 0, ClickType.PICKUP, mc.player);
                    mc.playerController.updateController();
                }
            }
        }
    }
}
 
源代码9 项目: NotEnoughItems   文件: FireworkRecipeHandler.java
private void loadAllFireworks() {
    //charges
    Item[] shapes = new Item[]{null, Items.fire_charge, Items.gold_nugget, Items.feather, Items.skull};
    Item[] effects = new Item[]{null, Items.diamond, Items.glowstone_dust};
    for (Item shape : shapes)
        for (Item effect : effects)
            genRecipe(Items.gunpowder, shape, effect, Items.dye, Items.dye, 0);

    //fireworks
    genRecipe(Items.gunpowder, Items.paper, Items.firework_charge, 2);
    genRecipe(Items.gunpowder, Items.gunpowder, Items.paper, Items.firework_charge, 2);
    genRecipe(Items.gunpowder, Items.gunpowder, Items.gunpowder, Items.paper, Items.firework_charge, 2);

    //setup a valid charge to use for the recolour recipe
    for (int i = 0; i < 9; i++)
        inventoryCrafting.setInventorySlotContents(i, null);
    inventoryCrafting.setInventorySlotContents(0, new ItemStack(Items.gunpowder));
    inventoryCrafting.setInventorySlotContents(1, new ItemStack(Items.dye));
    recipeFireworks.matches(inventoryCrafting, null);
    ItemStack charge = recipeFireworks.getCraftingResult(null);
    genRecipe(charge, Items.dye, Items.dye, 1);
}
 
源代码10 项目: CommunityMod   文件: TraverseCommon.java
public void init(FMLInitializationEvent event) {
	for (Block block : TraverseBlocks.oreDictNames.keySet()) {
		OreDictionary.registerOre(TraverseBlocks.oreDictNames.get(block), block);
	}
	for (TraverseWorld.TraverseBiomeEntry traverseBiome : TraverseWorld.biomeList) {
		BiomeManager.addBiome(traverseBiome.getType(), traverseBiome.getEntry());
		if (traverseBiome.hasVillages()) {
			BiomeManager.addVillageBiome(traverseBiome.getBiome(), traverseBiome.canSpawn());
		}
		if (traverseBiome.canSpawn()) {
			BiomeManager.addSpawnBiome(traverseBiome.getBiome());
		}
		BiomeProvider.allowedBiomes.add(traverseBiome.getBiome());
	}

	registerSmeltingRecipe(new ItemStack(Items.COAL, 1, 1), new ItemStack(TUtils.getBlock("fir_log")), 0.15F);
	registerSmeltingRecipe(new ItemStack(TUtils.getBlock("red_rock")), new ItemStack(TUtils.getBlock("red_rock_cobblestone")), 0.1F);
	registerSmeltingRecipe(new ItemStack(TUtils.getBlock("blue_rock")), new ItemStack(TUtils.getBlock("blue_rock_cobblestone")), 0.1F);
}
 
源代码11 项目: Artifacts   文件: ComponentMining.java
@Override
public float getDigSpeed(ItemStack itemStack, Block block, int meta) {
	ToolMaterial toolMaterial = ToolMaterial.values()[itemStack.stackTagCompound.getInteger("material")];
	if(toolMaterial == toolMaterial.WOOD) {
		return (Items.wooden_pickaxe.getDigSpeed(itemStack, block, meta) / 2 * ToolMaterial.values()[itemStack.stackTagCompound.getInteger("material")].getEfficiencyOnProperMaterial());
	}
	else if(toolMaterial == toolMaterial.STONE) {
		return (Items.stone_pickaxe.getDigSpeed(itemStack, block, meta) / 2 * ToolMaterial.values()[itemStack.stackTagCompound.getInteger("material")].getEfficiencyOnProperMaterial());
	}
	else if(toolMaterial == toolMaterial.GOLD) {
		return (Items.golden_pickaxe.getDigSpeed(itemStack, block, meta) / 2 * ToolMaterial.values()[itemStack.stackTagCompound.getInteger("material")].getEfficiencyOnProperMaterial());
	}
	else if(toolMaterial == toolMaterial.IRON) {
		return (Items.iron_pickaxe.getDigSpeed(itemStack, block, meta) / 2 * ToolMaterial.values()[itemStack.stackTagCompound.getInteger("material")].getEfficiencyOnProperMaterial());
	}
	else if(toolMaterial == toolMaterial.EMERALD) {
		return (Items.diamond_pickaxe.getDigSpeed(itemStack, block, meta) / 2 * ToolMaterial.values()[itemStack.stackTagCompound.getInteger("material")].getEfficiencyOnProperMaterial());
	}
	return (toolMaterial.values()[itemStack.stackTagCompound.getInteger("material")].getEfficiencyOnProperMaterial());
}
 
源代码12 项目: SkyblockAddons   文件: BaitManager.java
/**
 * Check if our Player is holding a Fishing Rod, and filters out the Grapple Hook (If any more items are made that
 * are Items.fishing_rods but aren't used for fishing, add them here)
 *
 * @return True if it can be used for fishing
 */
public boolean isHoldingRod() {
    EntityPlayerSP player = Minecraft.getMinecraft().thePlayer;

    if (player != null) {
        ItemStack item = player.getHeldItem();
        if (item == null || item.getItem() != Items.fishing_rod) return false;

        return !"GRAPPLING_HOOK".equals(ItemUtils.getSkyBlockItemID(item));
    }
    return false;
}
 
源代码13 项目: ToroQuest   文件: ShopkeeperTradesForMoon.java
private static ItemStack level1Sword() {
	ItemStack stack = new ItemStack(Items.IRON_SWORD);
	stack.setStackDisplayName("Moon Sword I");
	stack.addEnchantment(Enchantment.REGISTRY.getObjectById(17), 1);
	stack.addEnchantment(Enchantment.REGISTRY.getObjectById(18), 1);
	return stack;
}
 
@Override
public boolean isItemValidForSlot(int i, ItemStack itemstack) {
	if (itemstack == null) return false;

	switch (i) {
		case SLOT_PAPER:
			return itemstack.getItem() == Items.paper;
		case SLOT_INK: {
			Set<ColorMeta> color = ColorUtils.stackToColor(itemstack);
			return color != null && color.contains(ColorMeta.BLACK);
		}
		default:
			return false;
	}
}
 
源代码15 项目: customstuff4   文件: OreDictionaryEntryTests.java
@Test
public void testRegistersEntry()
{
    OreDictionaryEntry entry = gson.fromJson("{ \"oreClass\": \"someEntry\", \"item\":\"minecraft:coal\" }", OreDictionaryEntry.class);
    entry.init(InitPhase.PRE_INIT, new TestContentHelper("{}", BlankContent.class));

    assertTrue(OreDictionary.doesOreNameExist("someEntry"));
    assertTrue(OreDictionary.containsMatch(true, OreDictionary.getOres("someEntry"), new ItemStack(Items.COAL)));
}
 
源代码16 项目: Gadomancy   文件: TileArcanePackager.java
@Override
public boolean isItemValidForSlot(int slot, ItemStack stack) {
    if (slot == 9) {
        return stack.getItem() == Items.leather;
    } else if (slot == 10) {
        return stack.getItem() == Items.string;
    } else if (slot == 11) {
        return false;
    }
    return true;
}
 
源代码17 项目: TFC2   文件: BlockWoodSupport.java
@Override
public void createFallingEntity(World world, BlockPos pos, IBlockState state)
{
	world.setBlockToAir(pos);
	EntityItem ei = new EntityItem(world, pos.getX(), pos.getY(), pos.getZ(), new ItemStack(Items.STICK, 1+world.rand.nextInt(3)));
	world.spawnEntity(ei);
}
 
源代码18 项目: customstuff4   文件: ItemFilterDeserializerTest.java
@Test
public void test_machineInput_vanilla()
{
    Map<String, ItemFilter> map = gson.fromJson("{\"filter\": \"machineInput:vanilla\"}", new TypeToken<Map<String, ItemFilter>>() {}.getType());

    ItemFilter filter = map.get("filter");

    assertTrue(filter.accepts(new ItemStack(Blocks.IRON_ORE)));
    assertFalse(filter.accepts(new ItemStack(Items.GOLD_INGOT)));
}
 
源代码19 项目: ToroQuest   文件: GraveyardGenerator.java
protected void addLootToChest(IInventory chest) {
	for (int i = 0; i < chest.getSizeInventory(); i++) {
		int roll = rand.nextInt(8);

		if (roll == 0) {
			chest.setInventorySlotContents(i, new ItemStack(Items.BONE, rand.nextInt(5) + 1));
		} else if (roll == 1) {
			chest.setInventorySlotContents(i, new ItemStack(Items.ROTTEN_FLESH, rand.nextInt(5) + 1));
		} else if (roll == 2) {
			if (rand.nextInt(20) == 0) {
				chest.setInventorySlotContents(i, new ItemStack(NICE_STUFF[rand.nextInt(NICE_STUFF.length)]));
			}
		}
	}
}
 
源代码20 项目: TofuCraftReload   文件: TofuVillages.java
@Override
public void addMerchantRecipe(IMerchant merchant, MerchantRecipeList recipeList, Random random) {
    //Sell
    recipeList.add(new MerchantRecipe(new ItemStack(Items.EMERALD), new ItemStack(ItemLoader.tofu_material, 2 + random.nextInt(2))));
    recipeList.add(new MerchantRecipe(new ItemStack(Items.EMERALD), new ItemStack(ItemLoader.tofu_material, 8 + random.nextInt(4),2)));
    recipeList.add(new MerchantRecipe(new ItemStack(Items.EMERALD, 6 + random.nextInt(4)), new ItemStack(ItemLoader.tofustick)));
}
 
源代码21 项目: minecraft-roguelike   文件: ItemSpecialty.java
private static ItemStack getBow(Random rand, Quality quality){
	
	ItemStack item = new ItemStack(Items.BOW);
	
	switch(quality){
	case WOOD:
	case STONE:
		item.addEnchantment(Enchant.getEnchant(Enchant.POWER), 1 + rand.nextInt(3));
		item.addEnchantment(Enchant.getEnchant(Enchant.UNBREAKING), 1);
		Loot.setItemName(item, "Yew Longbow");
		Loot.setItemLore(item, "Superior craftsmanship", TextFormat.DARKGREEN);
		return item;
	case IRON:
		item.addEnchantment(Enchant.getEnchant(Enchant.POWER), 1 + rand.nextInt(3));
		item.addEnchantment(Enchant.getEnchant(Enchant.UNBREAKING), 1 + rand.nextInt(3));
		Loot.setItemName(item, "Laminated Bow");
		Loot.setItemLore(item, "Highly polished", TextFormat.DARKGREEN);
		return item;
	case GOLD:
		item.addEnchantment(Enchant.getEnchant(Enchant.POWER), 3 + rand.nextInt(3));
		if(rand.nextBoolean()){
			item.addEnchantment(Enchant.getEnchant(Enchant.INFINITY), 1);
		}
		item.addEnchantment(Enchant.getEnchant(Enchant.UNBREAKING), 1 + rand.nextInt(3));
		Loot.setItemName(item, "Recurve Bow");
		Loot.setItemLore(item, "Beautifully crafted", TextFormat.DARKGREEN);
		return item;
	case DIAMOND:
		item.addEnchantment(Enchant.getEnchant(Enchant.POWER), 3 + rand.nextInt(3));
		item.addEnchantment(Enchant.getEnchant(Enchant.FLAME), 1);
		item.addEnchantment(Enchant.getEnchant(Enchant.INFINITY), 1);
		item.addEnchantment(Enchant.getEnchant(Enchant.UNBREAKING), getUnbreakingLevel(quality, rand));
		item.addEnchantment(Enchant.getEnchant(Enchant.MENDING), 1);
		Loot.setItemName(item, "Eldritch Bow");
		Loot.setItemLore(item, "Warm to the touch", TextFormat.DARKGREEN);
		return item;
	default:
		return null;
	}
}
 
源代码22 项目: ToroQuest   文件: ShopkeeperTradesForMoon.java
private static ItemStack level2Chestplate() {
	ItemStack stack = new ItemStack(Items.LEATHER_CHESTPLATE);
	stack.setStackDisplayName("Moon Chestplate II");
	stack.addEnchantment(Enchantment.REGISTRY.getObjectById(0), 1);
	stack.addEnchantment(Enchantment.REGISTRY.getObjectById(7), 4);
	return stack;
}
 
源代码23 项目: EmergingTechnology   文件: ShredderRecipes.java
private static List<ItemStack> getShredderStarchItems() {
    List<ItemStack> itemInputs = new ArrayList<ItemStack>();

    itemInputs.add(new ItemStack(Items.BEETROOT));
    itemInputs.add(new ItemStack(Items.POTATO));
    itemInputs.add(new ItemStack(Items.POISONOUS_POTATO));

    List<String> oreInputs = new ArrayList<String>();
    oreInputs.add("cropCorn");
    oreInputs.add("corn");

    List<ItemStack> inputs = RecipeBuilder.buildRecipeList(itemInputs, oreInputs);

    return inputs;
}
 
源代码24 项目: Chisel-2   文件: ItemChisel.java
@Override
public boolean getIsRepairable(ItemStack damagedItem, ItemStack repairMaterial)
{
	switch (type) {
		case DIAMOND:
			return repairMaterial.getItem().equals(Items.diamond);
		case IRON:
			return repairMaterial.getItem().equals(Items.iron_ingot);
		case OBSIDIAN:
			return repairMaterial.getItem().equals(Item.getItemFromBlock(Blocks.obsidian));
	}

	return false;
}
 
源代码25 项目: customstuff4   文件: FuelTests.java
@Test
public void testBurnTime()
{
    Fuel fuel = gson.fromJson("{ \"item\": \"minecraft:bow\", \"burnTime\":1337 }", Fuel.class);
    fuel.init(InitPhase.PRE_INIT, new TestContentHelper("{}", TestContent.class));

    assertTrue(fuel.appliesToStack(new ItemStack(Items.BOW)));
    assertFalse(fuel.appliesToStack(new ItemStack(Items.BOW, 64, 1)));
}
 
源代码26 项目: Translocators   文件: TileTranslocator.java
public boolean activate(EntityPlayer player, int subPart)
{
    ItemStack held = player.inventory.getCurrentItem();
    if(held == null && player.isSneaking())
    {
        stripModifiers();
        markUpdate();
    }
    else if(held == null)
    {
        if(subPart == 1)
            invert_redstone = !invert_redstone;
        else
            openGui(player);
    }
    else if(held.getItem() == Items.redstone && !redstone)
    {
        redstone = true;
        if(!player.capabilities.isCreativeMode)
            held.stackSize--;
        
        if((gettingPowered() != invert_redstone) != a_eject)
            invert_redstone = !invert_redstone;
        markUpdate();
    }
    else if(held.getItem() == Items.glowstone_dust && !fast)
    {
        fast = true;
        if(!player.capabilities.isCreativeMode)
            held.stackSize--;
        markUpdate();
    }
    else
        openGui(player);
    
    return true;
}
 
源代码27 项目: Et-Futurum   文件: ClientProxy.java
private void registerItemRenderers() {
	if (EtFuturum.enableBanners)
		MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(ModBlocks.banner), new ItemBannerRenderer());
	if (EtFuturum.enableFancySkulls)
		MinecraftForgeClient.registerItemRenderer(Items.skull, new ItemSkullRenderer());
	if (EtFuturum.enableBowRendering)
		MinecraftForgeClient.registerItemRenderer(Items.bow, new ItemBowRenderer());
}
 
源代码28 项目: WirelessRedstone   文件: WRLogicProxy.java
private static void addRecipies()
{
    GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(itemwireless, 1, 0),
            "t  ",
            "srr",
            "fff",
            't', WirelessRedstoneCore.wirelessTransceiver,
            's', "obsidianRod",
            'f', new ItemStack(Blocks.stone_slab, 1, 0),
            'r', Items.redstone));

    GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(itemwireless, 1, 1),
            "d  ",
            "srr",
            "fff",
            'd', WirelessRedstoneCore.recieverDish,
            's', "obsidianRod",
            'f', new ItemStack(Blocks.stone_slab, 1, 0),
            'r', Items.redstone));
    
    GameRegistry.addRecipe(new ItemStack(itemwireless, 1, 2),
            "p  ",
            "srr",
            "fff",
            'p', WirelessRedstoneCore.blazeTransceiver,
            's', Items.blaze_rod,
            'f', new ItemStack(Blocks.stone_slab, 1, 0),
            'r', Items.redstone);
}
 
源代码29 项目: litematica   文件: ItemUtils.java
public static ItemStack storeTEInStack(ItemStack stack, TileEntity te)
{
    NBTTagCompound nbt = te.writeToNBT(new NBTTagCompound());

    if (stack.getItem() == Items.SKULL && nbt.hasKey("Owner"))
    {
        NBTTagCompound tagOwner = nbt.getCompoundTag("Owner");
        NBTTagCompound tagSkull = new NBTTagCompound();

        tagSkull.setTag("SkullOwner", tagOwner);
        stack.setTagCompound(tagSkull);

        return stack;
    }
    else
    {
        NBTTagCompound tagLore = new NBTTagCompound();
        NBTTagList tagList = new NBTTagList();

        tagList.appendTag(new NBTTagString("(+NBT)"));
        tagLore.setTag("Lore", tagList);
        stack.setTagInfo("display", tagLore);
        stack.setTagInfo("BlockEntityTag", nbt);

        return stack;
    }
}
 
源代码30 项目: ToroQuest   文件: QuestGather.java
private static QuestData quest2(Province province, EntityPlayer player) {
	Random rand = player.world.rand;
	QuestData data = baseQuest(province, player);
	List<ItemStack> required = new ArrayList<ItemStack>();
	required.add(new ItemStack(Items.FLINT_AND_STEEL, 1));
	required.add(new ItemStack(Blocks.OBSIDIAN, 10));

	QuestGather.setRequiredItems(data, required);
	List<ItemStack> reward = new ArrayList<ItemStack>();
	reward.add(new ItemStack(Items.EMERALD, 3 + rand.nextInt(2)));
	QuestGather.setRewardItems(data, reward);
	setRewardRep(data, 10);
	return data;
}