Add API for ticking fluids (#10435)

* Add API for ticking fluids

* update javadocs
This commit is contained in:
Jake Potrebic
2024-04-19 13:03:32 -07:00
parent 07e8f74355
commit bdfe4c21f6
2 changed files with 42 additions and 7 deletions

View File

@@ -17,14 +17,34 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+ * Causes the block to be ticked, this is different from {@link Block#randomTick()},
+ * in that it is usually scheduled to occur, for example
+ * redstone components being activated, sand falling, etc.
+ * <p>
+ * This method may directly fire events relating to block ticking.
+ *
+ * @see #fluidTick()
+ */
+ void tick();
+
+ /**
+ * Causes the fluid to be ticked, this is different from {@link Block#randomTick()},
+ * in that it is usually scheduled to occur, for example
+ * causing waterlogged blocks to spread.
+ * <p>
+ * This method may directly fire events relating to fluid ticking.
+ *
+ * @see #tick()
+ */
+ void fluidTick();
+
+ /**
+ * Causes the block to be ticked randomly.
+ * This has a chance to execute naturally if {@link BlockData#isRandomlyTicked()} is true.
+ * <p>
+ * For certain blocks, this behavior may be the same as {@link Block#tick()}.
+ * <p>
+ * This method may directly fire events relating to block random ticking.
+ *
+ * @see #tick()
+ * @see #fluidTick()
+ */
+ void randomTick();
// Paper end