This site works best with JavaScript enabled. Please enable JavaScript to get the best experience from this site.
Sooo i have a crop that, when harvested, gives me one ModItems.MARIJUANA, how do I change the amount yeilded (like carrots)
package com.pcdcreeper.drugcraft.blocks; import com.pcdcreeper.drugcraft.init.ModBlocks; import com.pcdcreeper.drugcraft.init.ModItems; import net.minecraft.block.BlockCrops; import net.minecraft.block.state.IBlockState; import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumFacing; import net.minecraft.util.EnumHand; import net.minecraft.util.math.AxisAlignedBB; import net.minecraft.util.math.BlockPos; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; public class WeedCropBlock extends BlockCrops{ private static final AxisAlignedBB[] weed = new AxisAlignedBB[] { new AxisAlignedBB(0.0D, 0.0D, 0.0D, 1.0D, 0.125D, 1.0D), new AxisAlignedBB(0.0D, 0.0D, 0.0D, 1.0D, 0.25D, 1.0D), new AxisAlignedBB(0.0D, 0.0D, 0.0D, 1.0D, 0.375D, 1.0D), new AxisAlignedBB(0.0D, 0.0D, 0.0D, 1.0D, 0.5675D, 1.0D), new AxisAlignedBB(0.0D, 0.0D, 0.0D, 1.0D, 0.8125D, 1.0D), new AxisAlignedBB(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D) //new AxisAlignedBB(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D) }; public WeedCropBlock(String name) { setUnlocalizedName(name); setRegistryName(name); ModBlocks.BLOCKS.add(this); ModItems.ITEMS.add(new ItemBlock(this).setRegistryName(getRegistryName())); } @Override protected Item getSeed() { return ModItems.WEED_SEEDS; } @Override protected Item getCrop() { return ModItems.MARIJUANA; } }
My code for the actual plant that grows
package com.pcdcreeper.drugcraft.plants; import com.pcdcreeper.drugcraft.Main; import com.pcdcreeper.drugcraft.init.ModBlocks; import com.pcdcreeper.drugcraft.init.ModItems; import com.pcdcreeper.drugcraft.items.ItemBase; import com.pcdcreeper.drugcraft.items.food.FoodBase; import com.pcdcreeper.drugcraft.util.IHasModel; import net.minecraft.block.material.Material; import net.minecraft.block.state.IBlockState; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumActionResult; import net.minecraft.util.EnumFacing; import net.minecraft.util.EnumHand; import net.minecraft.util.math.BlockPos; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import net.minecraftforge.common.EnumPlantType; import net.minecraftforge.common.IPlantable; public class PlantBase extends ItemBase implements IHasModel, IPlantable{ public PlantBase(String name){ super(name); setUnlocalizedName(name); setCreativeTab(Main.tabDrugCraftItems); ModItems.ITEMS.add(this); } @Override public void registerModels() { Main.proxy.registerItemRenderer(this, 0, "inventory"); } @Override public EnumActionResult onItemUse(EntityPlayer player, World worldIn, BlockPos pos, EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ){ ItemStack stack = player.getHeldItem(hand); IBlockState state = worldIn.getBlockState(pos); if(facing == EnumFacing.UP && player.canPlayerEdit(pos.offset(facing), facing, stack) && state.getBlock().canSustainPlant(state, worldIn, pos, EnumFacing.UP, this) && worldIn.isAirBlock(pos.up())){ worldIn.setBlockState(pos.up(), ModBlocks.WEED_PLANT.getDefaultState()); stack.shrink(1); return EnumActionResult.SUCCESS; } else return EnumActionResult.FAIL; } @Override public EnumPlantType getPlantType(IBlockAccess world, BlockPos pos) { return EnumPlantType.Crop; } @Override public IBlockState getPlant(IBlockAccess world, BlockPos pos) { return ModBlocks.WEED_PLANT.getDefaultState(); } }
and my PlantBase.java (The thing that WeedCropBlock is based upon)
Just add these methods in your block class.
@Override public Item getItemDropped(IBlockState state, Random rand, int fortune) { return new ItemStack(Items.APPLE).getItem(); }
@Override public int quantityDropped(Random random) { return 2; }
Sooo i have a crop that, when harvested, gives me one ModItems.MARIJUANA, how do I change the amount yeilded (like carrots)
My code for the actual plant that grows
and my PlantBase.java (The thing that WeedCropBlock is based upon)
Just add these methods in your block class.