ForgePatch/patches/minecraft/net/minecraft/block/BlockVine.java.patch

48 lines
2.2 KiB
Diff

--- ../src-base/minecraft/net/minecraft/block/BlockVine.java
+++ ../src-work/minecraft/net/minecraft/block/BlockVine.java
@@ -28,7 +28,7 @@
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
-public class BlockVine extends Block
+public class BlockVine extends Block implements net.minecraftforge.common.IShearable
{
public static final PropertyBool field_176277_a = PropertyBool.func_177716_a("up");
public static final PropertyBool field_176273_b = PropertyBool.func_177716_a("north");
@@ -185,7 +185,7 @@
{
if (!p_180650_1_.field_72995_K)
{
- if (p_180650_1_.field_73012_v.nextInt(4) == 0)
+ if (p_180650_1_.field_73012_v.nextInt(4) == 0 && p_180650_1_.func_175697_a(p_180650_2_, 4)) // Forge: check area to prevent loading unloaded chunks
{
int i = 4;
int j = 5;
@@ -244,7 +244,7 @@
IBlockState iblockstate3 = p_180650_1_.func_180495_p(blockpos4);
Block block1 = iblockstate3.func_177230_c();
- if (block1.field_149764_J == Material.field_151579_a)
+ if (block1.isAir(iblockstate3, p_180650_1_, blockpos4))
{
EnumFacing enumfacing3 = enumfacing1.func_176746_e();
EnumFacing enumfacing4 = enumfacing1.func_176735_f();
@@ -459,7 +459,17 @@
return i;
}
+ /*************************FORGE START***********************************/
+ @Override public boolean isLadder(IBlockState state, IBlockAccess world, BlockPos pos, EntityLivingBase entity){ return true; }
+ @Override public boolean isShearable(ItemStack item, IBlockAccess world, BlockPos pos){ return true; }
+ @Override
+ public java.util.List<ItemStack> onSheared(ItemStack item, IBlockAccess world, BlockPos pos, int fortune)
+ {
+ return java.util.Arrays.asList(new ItemStack(this, 1));
+ }
+ /*************************FORGE END***********************************/
+
public BlockFaceShape func_193383_a(IBlockAccess p_193383_1_, IBlockState p_193383_2_, BlockPos p_193383_3_, EnumFacing p_193383_4_)
{
return BlockFaceShape.UNDEFINED;