68 lines
2.3 KiB
Diff
68 lines
2.3 KiB
Diff
--- ../src_base/minecraft_server/net/minecraft/src/BlockTallGrass.java 0000-00-00 00:00:00.000000000 -0000
|
|
+++ ../src_work/minecraft_server/net/minecraft/src/BlockTallGrass.java 0000-00-00 00:00:00.000000000 -0000
|
|
@@ -1,8 +1,12 @@
|
|
package net.minecraft.src;
|
|
|
|
+import java.util.ArrayList;
|
|
import java.util.Random;
|
|
|
|
-public class BlockTallGrass extends BlockFlower
|
|
+import net.minecraft.src.forge.ForgeHooks;
|
|
+import net.minecraft.src.forge.IShearable;
|
|
+
|
|
+public class BlockTallGrass extends BlockFlower implements IShearable
|
|
{
|
|
protected BlockTallGrass(int par1, int par2)
|
|
{
|
|
@@ -24,7 +28,7 @@
|
|
*/
|
|
public int idDropped(int par1, Random par2Random, int par3)
|
|
{
|
|
- return par2Random.nextInt(8) == 0 ? Item.seeds.shiftedIndex : -1;
|
|
+ return -1;
|
|
}
|
|
|
|
/**
|
|
@@ -41,14 +45,37 @@
|
|
*/
|
|
public void harvestBlock(World par1World, EntityPlayer par2EntityPlayer, int par3, int par4, int par5, int par6)
|
|
{
|
|
- if (!par1World.isRemote && par2EntityPlayer.getCurrentEquippedItem() != null && par2EntityPlayer.getCurrentEquippedItem().itemID == Item.shears.shiftedIndex)
|
|
+ super.harvestBlock(par1World, par2EntityPlayer, par3, par4, par5, par6);
|
|
+ }
|
|
+
|
|
+ @Override
|
|
+ public ArrayList<ItemStack> getBlockDropped(World world, int x, int y, int z, int meta, int fortune)
|
|
+ {
|
|
+ ArrayList<ItemStack> ret = new ArrayList<ItemStack>();
|
|
+ if (world.rand.nextInt(8) != 0)
|
|
{
|
|
- par2EntityPlayer.addStat(StatList.mineBlockStatArray[this.blockID], 1);
|
|
- this.dropBlockAsItem_do(par1World, par3, par4, par5, new ItemStack(Block.tallGrass, 1, par6));
|
|
+ return ret;
|
|
}
|
|
- else
|
|
+
|
|
+ ItemStack item = ForgeHooks.getGrassSeed(world);
|
|
+ if (item != null)
|
|
{
|
|
- super.harvestBlock(par1World, par2EntityPlayer, par3, par4, par5, par6);
|
|
+ ret.add(item);
|
|
}
|
|
+ return ret;
|
|
+ }
|
|
+
|
|
+ @Override
|
|
+ public boolean isShearable(ItemStack item, World world, int x, int y, int z)
|
|
+ {
|
|
+ return true;
|
|
+ }
|
|
+
|
|
+ @Override
|
|
+ public ArrayList<ItemStack> onSheared(ItemStack item, World world, int x, int y, int z, int fortune)
|
|
+ {
|
|
+ ArrayList<ItemStack> ret = new ArrayList<ItemStack>();
|
|
+ ret.add(new ItemStack(this, 1, world.getBlockMetadata(x, y, z)));
|
|
+ return ret;
|
|
}
|
|
}
|