39 lines
2.0 KiB
Diff
39 lines
2.0 KiB
Diff
--- a/net/minecraft/item/BoneMealItem.java
|
|
+++ b/net/minecraft/item/BoneMealItem.java
|
|
@@ -30,7 +30,7 @@
|
|
World world = p_195939_1_.func_195991_k();
|
|
BlockPos blockpos = p_195939_1_.func_195995_a();
|
|
BlockPos blockpos1 = blockpos.func_177972_a(p_195939_1_.func_196000_l());
|
|
- if (func_195966_a(p_195939_1_.func_195996_i(), world, blockpos)) {
|
|
+ if (applyBonemeal(p_195939_1_.func_195996_i(), world, blockpos, p_195939_1_.func_195999_j())) {
|
|
if (!world.field_72995_K) {
|
|
world.func_217379_c(2005, blockpos, 0);
|
|
}
|
|
@@ -51,8 +51,17 @@
|
|
}
|
|
}
|
|
|
|
+ @Deprecated //Forge: Use Player/Hand version
|
|
public static boolean func_195966_a(ItemStack p_195966_0_, World p_195966_1_, BlockPos p_195966_2_) {
|
|
+ if (p_195966_1_ instanceof net.minecraft.world.server.ServerWorld)
|
|
+ return applyBonemeal(p_195966_0_, p_195966_1_, p_195966_2_, net.minecraftforge.common.util.FakePlayerFactory.getMinecraft((net.minecraft.world.server.ServerWorld)p_195966_1_));
|
|
+ return false;
|
|
+ }
|
|
+
|
|
+ public static boolean applyBonemeal(ItemStack p_195966_0_, World p_195966_1_, BlockPos p_195966_2_, net.minecraft.entity.player.PlayerEntity player) {
|
|
BlockState blockstate = p_195966_1_.func_180495_p(p_195966_2_);
|
|
+ int hook = net.minecraftforge.event.ForgeEventFactory.onApplyBonemeal(player, p_195966_1_, p_195966_2_, blockstate, p_195966_0_);
|
|
+ if (hook != 0) return hook > 0;
|
|
if (blockstate.func_177230_c() instanceof IGrowable) {
|
|
IGrowable igrowable = (IGrowable)blockstate.func_177230_c();
|
|
if (igrowable.func_176473_a(p_195966_1_, p_195966_2_, blockstate, p_195966_1_.field_72995_K)) {
|
|
@@ -128,7 +137,7 @@
|
|
}
|
|
|
|
BlockState blockstate = p_195965_0_.func_180495_p(p_195965_1_);
|
|
- if (!blockstate.func_196958_f()) {
|
|
+ if (!blockstate.isAir(p_195965_0_, p_195965_1_)) {
|
|
double d0 = 0.5D;
|
|
double d1;
|
|
if (blockstate.func_203425_a(Blocks.field_150355_j)) {
|