Skip to content

Commit 926cff8

Browse files
committed
Fixup LightningBolt diff
1 parent 5b18398 commit 926cff8

File tree

1 file changed

+17
-32
lines changed

1 file changed

+17
-32
lines changed

paper-server/patches/sources/net/minecraft/world/entity/LightningBolt.java.patch

Lines changed: 17 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -48,47 +48,32 @@
4848
List<Entity> entities = this.level()
4949
.getEntities(
5050
this,
51-
@@ -167,34 +_,47 @@
51+
@@ -167,34 +_,43 @@
5252
}
5353

5454
private void spawnFire(int extraIgnitions) {
5555
- if (!this.visualOnly && this.level() instanceof ServerLevel serverLevel) {
56-
+ if (!this.visualOnly && !this.isEffect && this.level() instanceof ServerLevel serverLevel) { // Paper - prevent any fire if only effect
56+
+ if (!this.visualOnly && !this.isEffect && this.level() instanceof ServerLevel serverLevel && serverLevel.getGameRules().get(net.minecraft.world.level.gamerules.GameRules.FIRE_DAMAGE)) { // Paper - prevent any fire if only effect
5757
BlockPos var7 = this.blockPosition();
5858
if (serverLevel.canSpreadFireAround(var7)) {
59-
- BlockState state = BaseFireBlock.getState(serverLevel, var7);
60-
- if (serverLevel.getBlockState(var7).isAir() && state.canSurvive(serverLevel, var7)) {
61-
- serverLevel.setBlockAndUpdate(var7, state);
62-
- this.blocksSetOnFire++;
63-
- }
64-
-
65-
- for (int i = 0; i < extraIgnitions; i++) {
66-
- BlockPos blockPos1 = var7.offset(this.random.nextInt(3) - 1, this.random.nextInt(3) - 1, this.random.nextInt(3) - 1);
67-
- state = BaseFireBlock.getState(serverLevel, blockPos1);
68-
- if (serverLevel.getBlockState(blockPos1).isAir() && state.canSurvive(serverLevel, blockPos1)) {
69-
- serverLevel.setBlockAndUpdate(blockPos1, state);
70-
+ // CraftBukkit start
71-
+ if (!org.bukkit.craftbukkit.event.CraftEventFactory.callBlockIgniteEvent(this.level(), var7, this).isCancelled()) {
72-
+ BlockState state = BaseFireBlock.getState(serverLevel, var7);
73-
+ if (serverLevel.getBlockState(var7).isAir() && state.canSurvive(serverLevel, var7)) {
74-
+ serverLevel.setBlockAndUpdate(var7, state);
59+
BlockState state = BaseFireBlock.getState(serverLevel, var7);
60+
if (serverLevel.getBlockState(var7).isAir() && state.canSurvive(serverLevel, var7)) {
61+
+ if (!org.bukkit.craftbukkit.event.CraftEventFactory.callBlockIgniteEvent(this.level(), var7, this).isCancelled()) { // CraftBukkit
62+
serverLevel.setBlockAndUpdate(var7, state);
63+
this.blocksSetOnFire++;
64+
+ } // CraftBukkit
65+
}
66+
67+
for (int i = 0; i < extraIgnitions; i++) {
68+
BlockPos blockPos1 = var7.offset(this.random.nextInt(3) - 1, this.random.nextInt(3) - 1, this.random.nextInt(3) - 1);
69+
state = BaseFireBlock.getState(serverLevel, blockPos1);
70+
if (serverLevel.getBlockState(blockPos1).isAir() && state.canSurvive(serverLevel, blockPos1)) {
71+
+ if (!org.bukkit.craftbukkit.event.CraftEventFactory.callBlockIgniteEvent(this.level(), blockPos1, this).isCancelled()) { // CraftBukkit
72+
serverLevel.setBlockAndUpdate(blockPos1, state);
7573
this.blocksSetOnFire++;
74+
+ } // CraftBukkit
7675
}
77-
+
78-
+ for (int i = 0; i < extraIgnitions; i++) {
79-
+ BlockPos blockPos1 = var7.offset(this.random.nextInt(3) - 1, this.random.nextInt(3) - 1, this.random.nextInt(3) - 1);
80-
+ state = BaseFireBlock.getState(serverLevel, blockPos1);
81-
+ if (serverLevel.getBlockState(blockPos1).isAir() && state.canSurvive(serverLevel, blockPos1)) {
82-
+ // CraftBukkit start
83-
+ if (!org.bukkit.craftbukkit.event.CraftEventFactory.callBlockIgniteEvent(this.level(), blockPos1, this).isCancelled()) {
84-
+ serverLevel.setBlockAndUpdate(blockPos1, state);
85-
+ this.blocksSetOnFire++;
86-
+ }
87-
+ // CraftBukkit end
88-
+ }
89-
+ }
9076
}
91-
+ // CraftBukkit end
9277
}
9378
}
9479
}

0 commit comments

Comments
 (0)