ForgePatch/patches/common/net/minecraft/src/BlockCrops.java.patch

70 lines
2.6 KiB
Diff
Raw Normal View History

--- ../src_base/common/net/minecraft/src/BlockCrops.java
+++ ../src_work/common/net/minecraft/src/BlockCrops.java
@@ -2,7 +2,11 @@
import cpw.mods.fml.common.Side;
import cpw.mods.fml.common.asm.SideOnly;
+
+import java.util.ArrayList;
import java.util.Random;
+
+import net.minecraftforge.common.ForgeDirection;
public class BlockCrops extends BlockFlower
{
@@ -84,11 +88,11 @@
int var19 = par1World.getBlockId(var17, par3 - 1, var18);
float var20 = 0.0F;
- if (var19 == Block.tilledField.blockID)
+ if (blocksList[var19] != null && blocksList[var19].canSustainPlant(par1World, var17, par3 - 1, var18, ForgeDirection.UP, this))
{
var20 = 1.0F;
- if (par1World.getBlockMetadata(var17, par3 - 1, var18) > 0)
+ if (blocksList[var19].isFertile(par1World, var17, par3 - 1, var18))
{
var20 = 3.0F;
}
@@ -138,25 +142,27 @@
public void dropBlockAsItemWithChance(World par1World, int par2, int par3, int par4, int par5, float par6, int par7)
{
super.dropBlockAsItemWithChance(par1World, par2, par3, par4, par5, par6, 0);
+ }
+
+ @Override
+ public ArrayList<ItemStack> getBlockDropped(World world, int x, int y, int z, int metadata, int fortune)
+ {
+ ArrayList<ItemStack> ret = new ArrayList<ItemStack>();
+ if (metadata == 7)
+ {
+ ret.add(new ItemStack(Item.wheat));
+ }
- if (!par1World.isRemote)
+ for (int n = 0; n < 3 + fortune; n++)
{
- int var8 = 3 + par7;
- for (int var9 = 0; var9 < var8; ++var9)
+ if (world.rand.nextInt(15) <= metadata)
{
- if (par1World.rand.nextInt(15) <= par5)
- {
- float var10 = 0.7F;
- float var11 = par1World.rand.nextFloat() * var10 + (1.0F - var10) * 0.5F;
- float var12 = par1World.rand.nextFloat() * var10 + (1.0F - var10) * 0.5F;
- float var13 = par1World.rand.nextFloat() * var10 + (1.0F - var10) * 0.5F;
- EntityItem var14 = new EntityItem(par1World, (double)((float)par2 + var11), (double)((float)par3 + var12), (double)((float)par4 + var13), new ItemStack(Item.seeds));
- var14.delayBeforeCanPickup = 10;
- par1World.spawnEntityInWorld(var14);
- }
+ ret.add(new ItemStack(Item.seeds));
}
}
+
+ return ret;
}
/**