PaperMC/nms-patches/BlockChorusFlower.patch

62 lines
3.5 KiB
Diff
Raw Normal View History

2016-02-29 22:32:46 +01:00
--- a/net/minecraft/server/BlockChorusFlower.java
+++ b/net/minecraft/server/BlockChorusFlower.java
2016-05-10 13:47:39 +02:00
@@ -4,6 +4,8 @@
2016-02-29 22:32:46 +01:00
import java.util.Random;
2016-05-10 13:47:39 +02:00
import javax.annotation.Nullable;
2016-02-29 22:32:46 +01:00
+import org.bukkit.craftbukkit.event.CraftEventFactory; // CraftBukkit
+
public class BlockChorusFlower extends Block {
2019-04-23 04:00:00 +02:00
public static final BlockStateInteger AGE = BlockProperties.ab;
@@ -58,8 +60,12 @@
2016-02-29 22:32:46 +01:00
}
2019-12-10 23:00:00 +01:00
if (flag && b((IWorldReader) worldserver, blockposition1, (EnumDirection) null) && worldserver.isEmpty(blockposition.up(2))) {
- worldserver.setTypeAndData(blockposition, this.b.a((IBlockAccess) worldserver, blockposition), 2);
- this.b(worldserver, blockposition1, i);
2016-02-29 22:32:46 +01:00
+ // CraftBukkit start - add event
2019-12-10 23:00:00 +01:00
+ if (CraftEventFactory.handleBlockSpreadEvent(worldserver, blockposition, blockposition1, this.getBlockData().set(BlockChorusFlower.AGE, Integer.valueOf(i)), 2)) {
+ worldserver.setTypeAndData(blockposition, this.b.a((IBlockAccess) worldserver, blockposition), 2);
+ this.b(worldserver, blockposition1, i);
2016-02-29 22:32:46 +01:00
+ }
+ // CraftBukkit end
} else if (i < 4) {
j = random.nextInt(4);
2018-07-15 02:00:00 +02:00
if (flag1) {
2019-04-23 04:00:00 +02:00
@@ -73,18 +79,30 @@
2016-02-29 22:32:46 +01:00
BlockPosition blockposition2 = blockposition.shift(enumdirection);
2019-12-10 23:00:00 +01:00
if (worldserver.isEmpty(blockposition2) && worldserver.isEmpty(blockposition2.down()) && b((IWorldReader) worldserver, blockposition2, enumdirection.opposite())) {
- this.b(worldserver, blockposition2, i + 1);
2016-02-29 22:32:46 +01:00
- flag2 = true;
+ // CraftBukkit start - add event
2019-12-10 23:00:00 +01:00
+ if (CraftEventFactory.handleBlockSpreadEvent(worldserver, blockposition, blockposition2, this.getBlockData().set(BlockChorusFlower.AGE, Integer.valueOf(i + 1)), 2)) {
+ this.b(worldserver, blockposition2, i + 1);
2016-02-29 22:32:46 +01:00
+ flag2 = true;
+ }
+ // CraftBukkit end
}
}
if (flag2) {
2019-12-10 23:00:00 +01:00
worldserver.setTypeAndData(blockposition, this.b.a((IBlockAccess) worldserver, blockposition), 2);
2016-02-29 22:32:46 +01:00
} else {
2019-12-10 23:00:00 +01:00
- this.a((World) worldserver, blockposition);
2016-02-29 22:32:46 +01:00
+ // CraftBukkit - add event
2019-12-10 23:00:00 +01:00
+ if (CraftEventFactory.handleBlockGrowEvent(worldserver, blockposition, this.getBlockData().set(BlockChorusFlower.AGE, Integer.valueOf(5)), 2)) {
+ this.a((World) worldserver, blockposition);
2016-02-29 22:32:46 +01:00
+ }
+ // CraftBukkit end
}
2018-07-15 02:00:00 +02:00
} else {
2019-12-10 23:00:00 +01:00
- this.a((World) worldserver, blockposition);
2016-02-29 22:32:46 +01:00
+ // CraftBukkit - add event
2019-12-10 23:00:00 +01:00
+ if (CraftEventFactory.handleBlockGrowEvent(worldserver, blockposition, this.getBlockData().set(BlockChorusFlower.AGE, Integer.valueOf(5)), 2)) {
+ this.a((World) worldserver, blockposition);
2016-02-29 22:32:46 +01:00
+ }
+ // CraftBukkit end
}
}