mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-27 15:00:13 +01:00
Fix NPE in SculkBloomEvent world access
This commit is contained in:
parent
a6ef388655
commit
93c87bedaf
1 changed files with 11 additions and 12 deletions
|
@ -1,12 +1,17 @@
|
|||
--- a/net/minecraft/world/level/block/entity/SculkCatalystBlockEntity.java
|
||||
+++ b/net/minecraft/world/level/block/entity/SculkCatalystBlockEntity.java
|
||||
@@ -35,10 +35,13 @@
|
||||
public SculkCatalystBlockEntity(BlockPos pos, BlockState state) {
|
||||
super(BlockEntityType.SCULK_CATALYST, pos, state);
|
||||
@@ -37,8 +37,18 @@
|
||||
this.catalystListener = new SculkCatalystBlockEntity.CatalystListener(state, new BlockPositionSource(pos));
|
||||
+ this.catalystListener.level = this.level; // CraftBukkit
|
||||
}
|
||||
|
||||
+ // Paper start - Fix NPE in SculkBloomEvent world access
|
||||
+ @Override
|
||||
+ public void setLevel(Level level) {
|
||||
+ super.setLevel(level);
|
||||
+ this.catalystListener.sculkSpreader.level = level;
|
||||
+ }
|
||||
+ // Paper end - Fix NPE in SculkBloomEvent world access
|
||||
+
|
||||
public static void serverTick(Level world, BlockPos pos, BlockState state, SculkCatalystBlockEntity blockEntity) {
|
||||
+ org.bukkit.craftbukkit.event.CraftEventFactory.sourceBlockOverride = blockEntity.getBlockPos(); // CraftBukkit - SPIGOT-7068: Add source block override, not the most elegant way but better than passing down a BlockPosition up to five methods deep.
|
||||
blockEntity.catalystListener.getSculkSpreader().updateCursors(world, pos, world.getRandom(), true);
|
||||
|
@ -14,17 +19,11 @@
|
|||
}
|
||||
|
||||
@Override
|
||||
@@ -64,11 +67,13 @@
|
||||
final SculkSpreader sculkSpreader;
|
||||
private final BlockState blockState;
|
||||
private final PositionSource positionSource;
|
||||
+ private Level level; // CraftBukkit
|
||||
|
||||
public CatalystListener(BlockState state, PositionSource positionSource) {
|
||||
@@ -69,6 +79,7 @@
|
||||
this.blockState = state;
|
||||
this.positionSource = positionSource;
|
||||
this.sculkSpreader = SculkSpreader.createLevelSpreader();
|
||||
+ this.sculkSpreader.level = this.level; // CraftBukkit
|
||||
+ // this.sculkSpreader.level = this.level; // CraftBukkit // Paper - Fix NPE in SculkBloomEvent world access
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
Loading…
Reference in a new issue