mirror of
https://github.com/PaperMC/Paper.git
synced 2024-11-30 12:11:47 +01:00
Preserve source block in mushroom spread event. Fixes BUKKIT-3354
This commit is contained in:
parent
f10c986136
commit
b82375a596
1 changed files with 7 additions and 1 deletions
|
@ -48,6 +48,12 @@ public class BlockMushroom extends BlockFlower {
|
||||||
j1 = j + random.nextInt(2) - random.nextInt(2);
|
j1 = j + random.nextInt(2) - random.nextInt(2);
|
||||||
k1 = k + random.nextInt(3) - 1;
|
k1 = k + random.nextInt(3) - 1;
|
||||||
|
|
||||||
|
// CraftBukkit start - preserve source block coordinates
|
||||||
|
int sourceX = i;
|
||||||
|
int sourceY = j;
|
||||||
|
int sourceZ = k;
|
||||||
|
// CraftBukkit end
|
||||||
|
|
||||||
for (int l1 = 0; l1 < 4; ++l1) {
|
for (int l1 = 0; l1 < 4; ++l1) {
|
||||||
if (world.isEmpty(i1, j1, k1) && this.d(world, i1, j1, k1)) {
|
if (world.isEmpty(i1, j1, k1) && this.d(world, i1, j1, k1)) {
|
||||||
i = i1;
|
i = i1;
|
||||||
|
@ -66,7 +72,7 @@ public class BlockMushroom extends BlockFlower {
|
||||||
BlockState blockState = bworld.getBlockAt(i1, j1, k1).getState();
|
BlockState blockState = bworld.getBlockAt(i1, j1, k1).getState();
|
||||||
blockState.setTypeId(this.id);
|
blockState.setTypeId(this.id);
|
||||||
|
|
||||||
BlockSpreadEvent event = new BlockSpreadEvent(blockState.getBlock(), bworld.getBlockAt(i, j, k), blockState);
|
BlockSpreadEvent event = new BlockSpreadEvent(blockState.getBlock(), bworld.getBlockAt(sourceX, sourceY, sourceZ), blockState);
|
||||||
world.getServer().getPluginManager().callEvent(event);
|
world.getServer().getPluginManager().callEvent(event);
|
||||||
|
|
||||||
if (!event.isCancelled()) {
|
if (!event.isCancelled()) {
|
||||||
|
|
Loading…
Reference in a new issue