468a1cbbd7
Upstream has released updates that appears to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing Bukkit Changes: ee12ca7b Add maximum repair cost API to AnvilInventory CraftBukkit Changes: 1ceee633 Implement maximum repair cost API to AnvilInventory
30 lines
1.8 KiB
Diff
30 lines
1.8 KiB
Diff
From 59fa16a4c0c3b2a2afa3297988aecb9a26c7082c Mon Sep 17 00:00:00 2001
|
|
From: BillyGalbreath <Blake.Galbreath@GMail.com>
|
|
Date: Fri, 20 Jul 2018 23:37:03 -0500
|
|
Subject: [PATCH] AnvilDamageEvent
|
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/ContainerAnvil.java b/src/main/java/net/minecraft/server/ContainerAnvil.java
|
|
index 4b6424911..5d239322d 100644
|
|
--- a/src/main/java/net/minecraft/server/ContainerAnvil.java
|
|
+++ b/src/main/java/net/minecraft/server/ContainerAnvil.java
|
|
@@ -74,6 +74,16 @@ public class ContainerAnvil extends Container {
|
|
if (!world.isClientSide) {
|
|
if (!entityhuman.abilities.canInstantlyBuild && iblockdata.a(TagsBlock.ANVIL) && entityhuman.getRandom().nextFloat() < 0.12F) {
|
|
IBlockData iblockdata1 = BlockAnvil.a_(iblockdata);
|
|
+ // Paper start
|
|
+ com.destroystokyo.paper.event.block.AnvilDamagedEvent event = new com.destroystokyo.paper.event.block.AnvilDamagedEvent(getBukkitView(), iblockdata1 != null ? org.bukkit.craftbukkit.block.data.CraftBlockData.fromData(iblockdata1) : null);
|
|
+ if (!event.callEvent()) {
|
|
+ return itemstack;
|
|
+ } else if (event.getDamageState() == com.destroystokyo.paper.event.block.AnvilDamagedEvent.DamageState.BROKEN) {
|
|
+ iblockdata1 = null;
|
|
+ } else {
|
|
+ iblockdata1 = ((org.bukkit.craftbukkit.block.data.CraftBlockData) event.getDamageState().getMaterial().createBlockData()).getState().set(BlockAnvil.FACING, iblockdata.get(BlockAnvil.FACING));
|
|
+ }
|
|
+ // Paper end
|
|
|
|
if (iblockdata1 == null) {
|
|
world.setAir(blockposition);
|
|
--
|
|
2.19.0
|
|
|