mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-04 05:54:43 +01:00
8ed2992da9
Portion of diff was dropped in the mappings update commit. Also remove the option to remove invalid statistics. The server will automatically do this now as of... 1.13?, our option wasn't even doing anything.
30 lines
1.8 KiB
Diff
30 lines
1.8 KiB
Diff
From 055444613695d1d6a438acf7346af18b272b8152 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 a7b04a967..c8f988c2c 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.20.0
|
|
|