3
0
Mirror von https://github.com/PaperMC/Paper.git synchronisiert 2024-11-15 12:30:06 +01:00
Paper/Spigot-Server-Patches/0295-Fix-MC-124320.patch

54 Zeilen
3.1 KiB
Diff

2019-05-06 04:58:04 +02:00
From 54f8c029bd7d04779e8892facb36d91dc1e6ea5d Mon Sep 17 00:00:00 2001
2018-08-23 19:02:57 +02:00
From: BillyGalbreath <Blake.Galbreath@GMail.com>
Date: Thu, 23 Aug 2018 09:25:30 -0500
Subject: [PATCH] Fix MC-124320
diff --git a/src/main/java/net/minecraft/server/Block.java b/src/main/java/net/minecraft/server/Block.java
2019-05-06 04:58:04 +02:00
index 69e65ea6c8..549c50de7d 100644
2018-08-23 19:02:57 +02:00
--- a/src/main/java/net/minecraft/server/Block.java
+++ b/src/main/java/net/minecraft/server/Block.java
2019-05-05 10:33:44 +02:00
@@ -160,6 +160,7 @@ public class Block implements IMaterial {
2018-08-23 19:02:57 +02:00
return tag.isTagged(this);
}
+ public static IBlockData getValidBlockForPosition(IBlockData iblockdata, GeneratorAccess generatoraccess, BlockPosition blockposition) { return Block.b(iblockdata, generatoraccess, blockposition); } // Paper - OBFHELPER
public static IBlockData b(IBlockData iblockdata, GeneratorAccess generatoraccess, BlockPosition blockposition) {
IBlockData iblockdata1 = iblockdata;
BlockPosition.MutableBlockPosition blockposition_mutableblockposition = new BlockPosition.MutableBlockPosition();
diff --git a/src/main/java/net/minecraft/server/EntityEnderman.java b/src/main/java/net/minecraft/server/EntityEnderman.java
2019-05-06 04:58:04 +02:00
index a1033ce28b..de2d995349 100644
2018-08-23 19:02:57 +02:00
--- a/src/main/java/net/minecraft/server/EntityEnderman.java
+++ b/src/main/java/net/minecraft/server/EntityEnderman.java
2019-05-05 10:33:44 +02:00
@@ -325,8 +325,9 @@ public class EntityEnderman extends EntityMonster {
if (block.a(TagsBlock.ENDERMAN_HOLDABLE) && flag) {
2018-08-23 19:02:57 +02:00
// CraftBukkit start - Pickup event
if (!org.bukkit.craftbukkit.event.CraftEventFactory.callEntityChangeBlockEvent(this.enderman, blockposition, Blocks.AIR.getBlockData()).isCancelled()) {
- this.enderman.setCarried(iblockdata);
+ //this.enderman.setCarried(iblockdata); // Paper - moved down
2019-05-05 10:33:44 +02:00
world.a(blockposition, false);
2018-08-23 19:02:57 +02:00
+ this.enderman.setCarried(Block.getValidBlockForPosition(iblockdata, this.enderman.world, blockposition)); // Paper - Fix MC-124320
}
// CraftBukkit end
}
2019-05-05 10:33:44 +02:00
@@ -336,6 +337,7 @@ public class EntityEnderman extends EntityMonster {
2018-08-23 19:02:57 +02:00
static class PathfinderGoalEndermanPlaceBlock extends PathfinderGoal {
+ private EntityEnderman getEnderman() { return this.a; } // Paper - OBFHELPER
private final EntityEnderman a;
public PathfinderGoalEndermanPlaceBlock(EntityEnderman entityenderman) {
2019-05-05 10:33:44 +02:00
@@ -358,7 +360,7 @@ public class EntityEnderman extends EntityMonster {
2018-08-23 19:02:57 +02:00
IBlockData iblockdata = world.getType(blockposition);
2019-05-05 10:33:44 +02:00
BlockPosition blockposition1 = blockposition.down();
IBlockData iblockdata1 = world.getType(blockposition1);
2018-08-23 19:02:57 +02:00
- IBlockData iblockdata2 = this.a.getCarried();
+ IBlockData iblockdata2 = Block.getValidBlockForPosition(getEnderman().getCarried(), getEnderman().world, blockposition); // Paper - Fix MC-124320
2019-05-05 10:33:44 +02:00
if (iblockdata2 != null && this.a(world, blockposition, iblockdata2, iblockdata, iblockdata1, blockposition1)) {
2018-08-23 19:02:57 +02:00
// CraftBukkit start - Place event
--
2019-05-05 13:32:20 +02:00
2.21.0
2018-08-23 19:02:57 +02:00