Advertisement
Guest User

Untitled

a guest
Sep 20th, 2017
160
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.18 KB | None | 0 0
  1. package com.theishiopian.foragecraft.blocks;
  2.  
  3. import java.util.List;
  4. import java.util.Random;
  5. import net.minecraft.block.BlockCrops;
  6. import net.minecraft.block.SoundType;
  7. import net.minecraft.block.state.IBlockState;
  8. import net.minecraft.client.renderer.block.model.ModelResourceLocation;
  9. import net.minecraft.creativetab.CreativeTabs;
  10. import net.minecraft.item.Item;
  11. import net.minecraft.item.ItemStack;
  12. import net.minecraft.util.math.BlockPos;
  13. import net.minecraft.world.IBlockAccess;
  14. import net.minecraftforge.client.model.ModelLoader;
  15. import net.minecraftforge.fml.relauncher.Side;
  16. import net.minecraftforge.fml.relauncher.SideOnly;
  17.  
  18. public class ModCropsBasic extends BlockCrops
  19. {
  20.     private final Item crop;
  21.     private final Item seed;
  22.    
  23.     // creates a basic, vanilla style crop block, similar to wheat or potatoes.
  24.     // Currently used for leeks
  25.     public ModCropsBasic(Item seed, Item crop, String name)
  26.     {
  27.         this.setDefaultState(this.blockState.getBaseState().withProperty(this.getAgeProperty(), Integer.valueOf(0)));
  28.         this.setTickRandomly(true);
  29.         this.setCreativeTab((CreativeTabs) null); //sure, why not?
  30.         this.setHardness(0.0F);
  31.         this.setSoundType(SoundType.PLANT);
  32.         this.disableStats();//???
  33.         this.crop = crop;
  34.         this.seed = seed;
  35.         this.setUnlocalizedName(name).setRegistryName(name);//don't forget to register ;)
  36.     }
  37.    
  38.     @Override
  39.     public int getMaxAge()
  40.     {
  41.         return 7;
  42.     }
  43.  
  44.     @Override
  45.     public Item getSeed()
  46.     {
  47.         return this.seed;
  48.     }
  49.  
  50.     @Override
  51.     public Item getCrop()
  52.     {
  53.         return this.crop;
  54.     }
  55.  
  56.     @SideOnly(Side.CLIENT)
  57.     public void initModel()
  58.     {
  59.         ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(this), 0,
  60.                 new ModelResourceLocation(getRegistryName(), "inventory"));
  61.     }
  62.  
  63.     @Override
  64.     public List<ItemStack> getDrops(IBlockAccess world, BlockPos pos, IBlockState state, int fortune)
  65.     {
  66.         List<ItemStack> dropList = new java.util.ArrayList<ItemStack>();
  67.  
  68.         if(this.getAge(state)<7)dropList.add(new ItemStack(this.seed));
  69.         else
  70.         {
  71.             Random rand = new Random();
  72.             dropList.add(new ItemStack(this.crop, rand.nextInt(2)+1));
  73.             dropList.add(new ItemStack(this.seed, rand.nextInt(1)+1));
  74.         }
  75.        
  76.         return dropList;
  77.     }
  78. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement