aboutsummaryrefslogtreecommitdiffhomepage
path: root/patches/server/1046-Properly-destroy-placed-blocks-on-the-end-platform.patch
blob: c81ee5b7b21bf87f7250c8b6f1b2243c3b7c1fe2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: DerEchtePilz <81232921+DerEchtePilz@users.noreply.github.com>
Date: Sun, 18 Aug 2024 13:05:31 +0200
Subject: [PATCH] Properly destroy placed blocks on the end platform

The craftbukkit provided implementation of LevelAccessor,
BlockStateListPopulator, does not support destroyBlock calls, simply
ignoring them.

This causes the destroyBlock calls during the generation of the end
platform to be lost. The patch moves the destroy calls and executes them
on the actual world access.

diff --git a/src/main/java/net/minecraft/world/level/levelgen/feature/EndPlatformFeature.java b/src/main/java/net/minecraft/world/level/levelgen/feature/EndPlatformFeature.java
index ff1f151b342a1567605f92a921fc7ab01f1c4807..b92c40352e4f1af05a2f90701b3f74c235ae57cf 100644
--- a/src/main/java/net/minecraft/world/level/levelgen/feature/EndPlatformFeature.java
+++ b/src/main/java/net/minecraft/world/level/levelgen/feature/EndPlatformFeature.java
@@ -44,7 +44,7 @@ public class EndPlatformFeature extends Feature<NoneFeatureConfiguration> {
                     // CraftBukkit start
                     if (!blockList.getBlockState(blockposition_mutableblockposition1).is(block)) {
                         if (flag) {
-                            blockList.destroyBlock(blockposition_mutableblockposition1, true, (Entity) null);
+                            // blockList.destroyBlock(blockposition_mutableblockposition1, true, (Entity) null); // Paper - moved down - cb implementation of LevelAccessor does not support destroyBlock
                         }
 
                         blockList.setBlock(blockposition_mutableblockposition1, block.defaultBlockState(), 3);