net.minecraft.util.NonNullList#add ( )源码实例Demo

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

源代码1 项目: TofuCraftReload   文件: BlockLeekCrop.java
public void getDrops(NonNullList<ItemStack> drops, IBlockAccess world, BlockPos pos, IBlockState state, int fortune) {
    Random rand = world instanceof World ? ((World) world).rand : RANDOM;

    int age = getAge(state);
    int count = quantityDropped(state, fortune, rand);
    for (int i = 0; i < count; i++) {
        Item item = this.getItemDropped(state, rand, fortune);
        if (item != Items.AIR) {
            drops.add(new ItemStack(item, 1, this.damageDropped(state)));
        }
    }

    if (age >= getMaxAge()) {
        int k = 3 + fortune;
        for (int i = 0; i < k; ++i) {
            if (rand.nextInt(2 * getMaxAge()) <= age) {
                drops.add(new ItemStack(this.getSeed(), 1, this.damageDropped(state)));
            }
        }
    }
}
 
源代码2 项目: customstuff4   文件: ItemFluidContainer.java
@SideOnly(Side.CLIENT)
@Override
public void getSubItems(@Nullable CreativeTabs tab, @Nonnull NonNullList<ItemStack> subItems)
{
    if (isInCreativeTab(tab))
    {
        subItems.add(new ItemStack(this));

        for (Fluid fluid : FluidRegistry.getRegisteredFluids().values())
        {
            if (!fluid.getName().equals("milk"))
            {
                // add all fluids that the bucket can be filled  with
                FluidStack fs = new FluidStack(fluid, content.capacity);
                ItemStack stack = new ItemStack(this);
                IFluidHandlerItem fluidHandler = new FluidHandlerItemStack(stack, content.capacity);
                if (fluidHandler.fill(fs, true) == fs.amount)
                {
                    ItemStack filled = fluidHandler.getContainer();
                    subItems.add(filled);
                }
            }
        }
    }
}
 
源代码3 项目: Wizardry   文件: ItemOrb.java
@Override
public void getSubItems(@Nullable CreativeTabs tab, @Nonnull NonNullList<ItemStack> subItems) {
	if (isInCreativeTab(tab)) {

		subItems.add(new ItemStack(this));

		for (int i = 1; i < 10; i++) {
			ItemStack stack = new ItemStack(this, 1, 1);
			ManaManager.forObject(stack)
					.setMana(ManaManager.getMaxMana(stack) * i / 10.0)
					.close();
			subItems.add(stack);
		}

		subItems.add(new ItemStack(this, 1, 1));
	}
}
 
源代码4 项目: TFC2   文件: BlockTerra.java
@SuppressWarnings({ "rawtypes", "unchecked" })
@Override
public void getSubBlocks(Item itemIn, CreativeTabs tab, NonNullList list)
{
	if(showInCreative)
	{
		if(hasMeta())
		{
			if(itemIn instanceof ItemBlock && ((ItemBlock)itemIn).block instanceof INeedOffset)
			{
				for(int l = 0; l < META_PROP.getAllowedValues().size(); l++)
					list.add(new ItemStack(itemIn, 1, ((INeedOffset)(((ItemBlock)itemIn).block)).convertMetaToItem(l)));
			}
			else
			{
				for(int l = 0; l < META_PROP.getAllowedValues().size(); l++)
					list.add(new ItemStack(itemIn, 1, l));
			}
		}
		else
			super.getSubBlocks(itemIn, tab, list);
	}
}
 
源代码5 项目: AgriCraft   文件: ItemAgriSeed.java
@Override
public void getSubItems(CreativeTabs tab, NonNullList<ItemStack> list) {
    if (tab == this.getCreativeTab() || tab == CreativeTabs.SEARCH) {
        final PlantStats baseStat = new PlantStats();
        for (IAgriPlant plant : AgriApi.getPlantRegistry().all()) {
            if (plant.getSeedItems().stream().anyMatch(s -> s.isItemEqual(this))) {
                ItemStack stack = new ItemStack(this);
                NBTTagCompound tag = new NBTTagCompound();
                tag.setString(AgriNBT.SEED, plant.getId());
                baseStat.writeToNBT(tag);
                stack.setTagCompound(tag);
                list.add(stack);
            }
        }
    }
}
 
源代码6 项目: GT-Classic   文件: GTItemFluidTube.java
@Override
public void getSubItems(@Nullable final CreativeTabs tab, final NonNullList<ItemStack> subItems) {
	if (this.isInCreativeTab(tab)) {
		subItems.add(empty);
		for (Fluid fluid : FluidRegistry.getRegisteredFluids().values()) {
			subItems.add(GTMaterialGen.getModdedTube(fluid.getName(), 1));
		}
	}
}
 
源代码7 项目: GregTech   文件: MaterialMetaItem.java
@Override
@SideOnly(Side.CLIENT)
public void getSubItems(CreativeTabs tab, NonNullList<ItemStack> subItems) {
    super.getSubItems(tab, subItems);
    if (tab == GregTechAPI.TAB_GREGTECH_MATERIALS || tab == CreativeTabs.SEARCH) {
        for (short metadata : generatedItems) {
            subItems.add(new ItemStack(this, 1, metadata));
        }
    }
}
 
源代码8 项目: GregTech   文件: BlockOre.java
@Override
public void getSubBlocks(CreativeTabs tab, NonNullList<ItemStack> list) {
    if(tab == CreativeTabs.SEARCH) {
        blockState.getValidStates().forEach(blockState -> list.add(getItem(blockState)));
    } else if(tab == GregTechAPI.TAB_GREGTECH_ORES) {
        list.add(getItem(getDefaultState()));
    }
}
 
源代码9 项目: Wizardry   文件: NacrePearlSpell.java
@Override
public void getSubItems(@Nullable CreativeTabs tab, @Nonnull NonNullList<ItemStack> subItems) {
	if (isInCreativeTab(tab)) {
		subItems.add(new ItemStack(this));
		ItemStack stack = new ItemStack(this);
		NBTHelper.setFloat(stack, NBTConstants.NBT.PURITY_OVERRIDE, 2f);
		subItems.add(stack);
	}
}
 
@Override
public IRecipe parse(JsonContext context, JsonObject json)
{
    String group = JsonUtils.getString(json, "group", "");

    NonNullList<Ingredient> ings = NonNullList.create();
    for (JsonElement ele : JsonUtils.getJsonArray(json, "ingredients"))
        ings.add(CraftingHelper.getIngredient(ele, context));

    if (ings.isEmpty())
        throw new JsonParseException("No ingredients for shapeless recipe");

    ItemStack itemstack = CraftingHelper.getItemStack(JsonUtils.getJsonObject(json, "result"), context);

    int[] damage = new int[ings.size()];
    if (JsonUtils.hasField(json, "damage"))
    {
        JsonArray array = JsonUtils.getJsonArray(json, "damage");
        if (array.size() > damage.length)
            throw new JsonParseException("Too many values for damage array: got " + array.size() + ", expected " + damage.length);

        for (int i = 0; i < array.size(); i++)
        {
            JsonElement element = array.get(i);
            if (!element.isJsonPrimitive() || !element.getAsJsonPrimitive().isNumber())
                throw new JsonSyntaxException("Entry in damage array is not a number, got " + element);

            damage[i] = element.getAsJsonPrimitive().getAsInt();
        }
    }
    return new DamageableShapelessOreRecipe(group.isEmpty() ? null : new ResourceLocation(group), damage, ings, itemstack);
}
 
源代码11 项目: GregTech   文件: BlockFluidPipe.java
@Override
public void getSubBlocks(CreativeTabs itemIn, NonNullList<ItemStack> items) {
    for (Material material : enabledMaterials.keySet()) {
        for (FluidPipeType fluidPipeType : FluidPipeType.values()) {
            items.add(getItem(fluidPipeType, material));
        }
    }
}
 
源代码12 项目: Sakura_mod   文件: BlockChestnut.java
@Override
public void getDrops(NonNullList<ItemStack> drops, IBlockAccess world, BlockPos pos, IBlockState state, int fortune) {
	if(getMetaFromState(state) >= 3) {
		if(!fruitRemoval) { 
			drops.add(new ItemStack(ItemLoader.MATERIAL, 1,15));
		}
		drops.add(new ItemStack(ItemLoader.MATERIAL, 1,15));
	}
}
 
源代码13 项目: enderutilities   文件: BlockStorage.java
@Override
public void getSubBlocks(CreativeTabs tab, NonNullList<ItemStack> list)
{
    for (int i = 0; i < EnumStorageType.values().length; i++)
    {
        list.add(new ItemStack(this, 1, EnumStorageType.values()[i].getMeta()));
    }
}
 
源代码14 项目: enderutilities   文件: BlockMSU.java
@Override
public void getSubBlocks(CreativeTabs tab, NonNullList<ItemStack> list)
{
    for (int i = 0; i < EnumStorageType.values().length; i++)
    {
        list.add(new ItemStack(this, 1, EnumStorageType.values()[i].getMeta()));
    }
}
 
源代码15 项目: GregTech   文件: DefaultSubItemHandler.java
@Override
public void getSubItems(ItemStack itemStack, CreativeTabs creativeTab, NonNullList<ItemStack> subItems) {
    subItems.add(itemStack.copy());
    IElectricItem electricItem = itemStack.getCapability(GregtechCapabilities.CAPABILITY_ELECTRIC_ITEM, null);
    if (electricItem != null) {
        electricItem.charge(Long.MAX_VALUE, Integer.MAX_VALUE, true, false);
        subItems.add(itemStack);
    }
    if (creativeTab == CreativeTabs.SEARCH) {
        if (itemStack.hasCapability(CapabilityFluidHandler.FLUID_HANDLER_ITEM_CAPABILITY, null)) {
            addFluidContainerVariants(itemStack, subItems);
        }
    }
}
 
源代码16 项目: Minecoprocessors   文件: BlockMinecoprocessor.java
@Override
public void getSubBlocks(CreativeTabs itemIn, NonNullList<ItemStack> items) {
  items.add(new ItemStack(ITEM_INSTANCE));
  items.add(new ItemStack(ITEM_INSTANCE, 1, 4));
}
 
@SideOnly(Side.CLIENT)
public void getSubBlocks(CreativeTabs itemIn, NonNullList<ItemStack> items) {
    items.add(new ItemStack(this, 1, 0));
}
 
源代码18 项目: enderutilities   文件: BlockDrawbridge.java
@Override
public void getSubBlocks(CreativeTabs tab, NonNullList<ItemStack> list)
{
    list.add(new ItemStack(this, 1, 0));
    list.add(new ItemStack(this, 1, 1));
}
 
源代码19 项目: OpenModsLib   文件: MetaGeneric.java
@Override
public void addToCreativeList(Item item, int meta, NonNullList<ItemStack> result) {
	if (visibleInCreative) {
		result.add(new ItemStack(item, 1, meta));
	}
}
 
源代码20 项目: Wizardry   文件: ItemRing.java
@Override
public void getSubItems(@Nullable CreativeTabs tab, @Nonnull NonNullList<ItemStack> subItems) {
	if (isInCreativeTab(tab))
		subItems.add(new ItemStack(this));
}