29 lines
1.7 KiB
Diff
29 lines
1.7 KiB
Diff
--- a/net/minecraft/item/ShearsItem.java
|
|
+++ b/net/minecraft/item/ShearsItem.java
|
|
@@ -34,4 +34,25 @@
|
|
return 15.0F;
|
|
}
|
|
}
|
|
+
|
|
+ @Override
|
|
+ public net.minecraft.util.ActionResultType func_111207_a(ItemStack stack, net.minecraft.entity.player.PlayerEntity playerIn, LivingEntity entity, net.minecraft.util.Hand hand) {
|
|
+ if (entity.field_70170_p.field_72995_K) return net.minecraft.util.ActionResultType.PASS;
|
|
+ if (entity instanceof net.minecraftforge.common.IForgeShearable) {
|
|
+ net.minecraftforge.common.IForgeShearable target = (net.minecraftforge.common.IForgeShearable)entity;
|
|
+ BlockPos pos = new BlockPos(entity.func_226277_ct_(), entity.func_226278_cu_(), entity.func_226281_cx_());
|
|
+ if (target.isShearable(stack, entity.field_70170_p, pos)) {
|
|
+ java.util.List<ItemStack> drops = target.onSheared(playerIn, stack, entity.field_70170_p, pos,
|
|
+ net.minecraft.enchantment.EnchantmentHelper.func_77506_a(net.minecraft.enchantment.Enchantments.field_185308_t, stack));
|
|
+ java.util.Random rand = new java.util.Random();
|
|
+ drops.forEach(d -> {
|
|
+ net.minecraft.entity.item.ItemEntity ent = entity.func_70099_a(d, 1.0F);
|
|
+ ent.func_213317_d(ent.func_213322_ci().func_72441_c((double)((rand.nextFloat() - rand.nextFloat()) * 0.1F), (double)(rand.nextFloat() * 0.05F), (double)((rand.nextFloat() - rand.nextFloat()) * 0.1F)));
|
|
+ });
|
|
+ stack.func_222118_a(1, entity, e -> e.func_213334_d(hand));
|
|
+ }
|
|
+ return net.minecraft.util.ActionResultType.SUCCESS;
|
|
+ }
|
|
+ return net.minecraft.util.ActionResultType.PASS;
|
|
+ }
|
|
}
|