|
48 | 48 | List<Entity> entities = this.level() |
49 | 49 | .getEntities( |
50 | 50 | this, |
51 | | -@@ -167,34 +_,47 @@ |
| 51 | +@@ -167,34 +_,43 @@ |
52 | 52 | } |
53 | 53 |
|
54 | 54 | private void spawnFire(int extraIgnitions) { |
55 | 55 | - 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 |
57 | 57 | BlockPos var7 = this.blockPosition(); |
58 | 58 | 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); |
75 | 73 | this.blocksSetOnFire++; |
| 74 | ++ } // CraftBukkit |
76 | 75 | } |
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 | | -+ } |
90 | 76 | } |
91 | | -+ // CraftBukkit end |
92 | 77 | } |
93 | 78 | } |
94 | 79 | } |
|
0 commit comments