mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-30 16:19:03 +01:00
edd270486c
* Updated Upstream (Bukkit/CraftBukkit) Upstream has released updates that appear to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing Bukkit Changes: 150a2861 PR-827: Add BlockData#getPlacementMaterial 58c9c8ce SPIGOT-7301: Prevent creating non-openable inventories 3741079b PR-824: Expand upon PotionEffect API to better accommodate infinite durations CraftBukkit Changes: e5a7921f0 PR-1149: Add BlockData#getPlacementMaterial 58504fa61 SPIGOT-7302: Fix more issues with EntityDamageByEntity - Fix Projectile damage by dispenser - Fix cases where only exists a direct entity damager 48394703d Increase outdated build delay * Improve docs for BlockData#getPlacementMaterial
51 lines
2 KiB
Diff
51 lines
2 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Owen1212055 <23108066+Owen1212055@users.noreply.github.com>
|
|
Date: Sun, 26 Dec 2021 13:23:52 -0500
|
|
Subject: [PATCH] Block Ticking API
|
|
|
|
|
|
diff --git a/src/main/java/org/bukkit/block/Block.java b/src/main/java/org/bukkit/block/Block.java
|
|
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
|
--- a/src/main/java/org/bukkit/block/Block.java
|
|
+++ b/src/main/java/org/bukkit/block/Block.java
|
|
@@ -0,0 +0,0 @@ public interface Block extends Metadatable, Translatable, net.kyori.adventure.tr
|
|
* @return true if the block was destroyed
|
|
*/
|
|
boolean breakNaturally(@NotNull ItemStack tool, boolean triggerEffect, boolean dropExperience);
|
|
+
|
|
+ /**
|
|
+ * 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.
|
|
+ */
|
|
+ void tick();
|
|
+
|
|
+ /**
|
|
+ * 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()}.
|
|
+ */
|
|
+ void randomTick();
|
|
// Paper end
|
|
|
|
/**
|
|
diff --git a/src/main/java/org/bukkit/block/data/BlockData.java b/src/main/java/org/bukkit/block/data/BlockData.java
|
|
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
|
--- a/src/main/java/org/bukkit/block/data/BlockData.java
|
|
+++ b/src/main/java/org/bukkit/block/data/BlockData.java
|
|
@@ -0,0 +0,0 @@ public interface BlockData extends Cloneable {
|
|
*/
|
|
@NotNull
|
|
Material getPlacementMaterial();
|
|
+
|
|
+ // Paper start - Tick API
|
|
+ /**
|
|
+ * Gets if this block is ticked randomly in the world.
|
|
+ * The blocks current state may change this value.
|
|
+ *
|
|
+ * @return is ticked randomly
|
|
+ */
|
|
+ boolean isRandomlyTicked();
|
|
+ // Paper end
|
|
}
|