Add BlockData setter for FallingBlock (#9829)
This commit is contained in:
parent
e4d184f39d
commit
3e1c5e3eb0
5 changed files with 158 additions and 55 deletions
|
@ -282,7 +282,7 @@ index e455eb21abf121dc6ff10ff8a13dd06f67096a8f..bbc01e7c192ae6689c301670047ff114
|
|||
return origin;
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
|
||||
index be5baaf499cc76dd737d6203570e3d431c18afcf..c748679337989a7b4e2a39e542268b7fd851ed91 100644
|
||||
index be5baaf499cc76dd737d6203570e3d431c18afcf..399fe079035e4d38030d8ad930fbc89c69f251b0 100644
|
||||
--- a/src/main/java/org/bukkit/World.java
|
||||
+++ b/src/main/java/org/bukkit/World.java
|
||||
@@ -415,9 +415,8 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
|
||||
|
@ -296,18 +296,7 @@ index be5baaf499cc76dd737d6203570e3d431c18afcf..c748679337989a7b4e2a39e542268b7f
|
|||
public boolean refreshChunk(int x, int z);
|
||||
|
||||
/**
|
||||
@@ -2130,8 +2129,10 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
|
||||
* @return The spawned {@link FallingBlock} instance
|
||||
* @throws IllegalArgumentException if {@link Location} or {@link
|
||||
* MaterialData} are null or {@link Material} of the {@link MaterialData} is not a block
|
||||
+ * @deprecated use {@link #spawnFallingBlock(Location, BlockData)}
|
||||
*/
|
||||
@NotNull
|
||||
+ @Deprecated // Paper
|
||||
public FallingBlock spawnFallingBlock(@NotNull Location location, @NotNull MaterialData data) throws IllegalArgumentException;
|
||||
|
||||
/**
|
||||
@@ -3707,6 +3708,10 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
|
||||
@@ -3707,6 +3706,10 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
|
||||
// Paper end - view distance api
|
||||
|
||||
// Spigot start
|
||||
|
@ -318,7 +307,7 @@ index be5baaf499cc76dd737d6203570e3d431c18afcf..c748679337989a7b4e2a39e542268b7f
|
|||
public class Spigot {
|
||||
|
||||
/**
|
||||
@@ -3715,8 +3720,12 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
|
||||
@@ -3715,8 +3718,12 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
|
||||
* @param loc The location to strike lightning
|
||||
* @param isSilent Whether this strike makes no sound
|
||||
* @return The lightning entity.
|
||||
|
@ -331,7 +320,7 @@ index be5baaf499cc76dd737d6203570e3d431c18afcf..c748679337989a7b4e2a39e542268b7f
|
|||
public LightningStrike strikeLightning(@NotNull Location loc, boolean isSilent) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
@@ -3727,14 +3736,22 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
|
||||
@@ -3727,14 +3734,22 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
|
||||
* @param loc The location to strike lightning
|
||||
* @param isSilent Whether this strike makes no sound
|
||||
* @return The lightning entity.
|
||||
|
|
|
@ -5,10 +5,10 @@ Subject: [PATCH] More World API
|
|||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
|
||||
index e9423c88ccc35a7c32e1dca970faf0ec452fcbba..b7a2ef57ed089ca750693a413c57bc80048b5608 100644
|
||||
index ec94aa4967cb2dfc92d6b41d91b31125a1509cb9..768be78bd617c21b360cf1b650dcb2e8c481c084 100644
|
||||
--- a/src/main/java/org/bukkit/World.java
|
||||
+++ b/src/main/java/org/bukkit/World.java
|
||||
@@ -3716,6 +3716,114 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
|
||||
@@ -3714,6 +3714,114 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
|
||||
@Nullable
|
||||
StructureSearchResult locateNearestStructure(@NotNull Location origin, @NotNull Structure structure, int radius, boolean findUnexplored);
|
||||
|
||||
|
|
108
patches/api/0363-Expand-FallingBlock-API.patch
Normal file
108
patches/api/0363-Expand-FallingBlock-API.patch
Normal file
|
@ -0,0 +1,108 @@
|
|||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Owen1212055 <23108066+Owen1212055@users.noreply.github.com>
|
||||
Date: Sun, 5 Dec 2021 14:58:55 -0500
|
||||
Subject: [PATCH] Expand FallingBlock API
|
||||
|
||||
- add auto expire setting
|
||||
- add setter for block data
|
||||
- add accessors for block state
|
||||
|
||||
Co-authored-by: Lukas Planz <lukas.planz@web.de>
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
|
||||
index 109acbccfa0e5bcd32889e1911798176d600a5fc..8d861f5522a33669f67b3e41dfbc5234637114b4 100644
|
||||
--- a/src/main/java/org/bukkit/World.java
|
||||
+++ b/src/main/java/org/bukkit/World.java
|
||||
@@ -2241,8 +2241,10 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
|
||||
* @return The spawned {@link FallingBlock} instance
|
||||
* @throws IllegalArgumentException if {@link Location} or {@link
|
||||
* MaterialData} are null or {@link Material} of the {@link MaterialData} is not a block
|
||||
+ * @deprecated Use {@link #spawn(Location, Class, Consumer)} (or a variation thereof) in combination with {@link FallingBlock#setBlockData(BlockData)}
|
||||
*/
|
||||
@NotNull
|
||||
+ @Deprecated // Paper
|
||||
public FallingBlock spawnFallingBlock(@NotNull Location location, @NotNull MaterialData data) throws IllegalArgumentException;
|
||||
|
||||
/**
|
||||
@@ -2255,8 +2257,10 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
|
||||
* @return The spawned {@link FallingBlock} instance
|
||||
* @throws IllegalArgumentException if {@link Location} or {@link
|
||||
* BlockData} are null
|
||||
+ * @deprecated Use {@link #spawn(Location, Class, Consumer)} (or a variation thereof) in combination with {@link FallingBlock#setBlockData(BlockData)}
|
||||
*/
|
||||
@NotNull
|
||||
+ @org.jetbrains.annotations.ApiStatus.Obsolete // Paper
|
||||
public FallingBlock spawnFallingBlock(@NotNull Location location, @NotNull BlockData data) throws IllegalArgumentException;
|
||||
|
||||
/**
|
||||
@@ -2273,7 +2277,7 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
|
||||
* @return The spawned {@link FallingBlock} instance
|
||||
* @throws IllegalArgumentException if {@link Location} or {@link
|
||||
* Material} are null or {@link Material} is not a block
|
||||
- * @deprecated Magic value
|
||||
+ * @deprecated Magic value. Use {@link #spawn(Location, Class, Consumer)} (or a variation thereof) in combination with {@link FallingBlock#setBlockData(BlockData)}
|
||||
*/
|
||||
@Deprecated
|
||||
@NotNull
|
||||
diff --git a/src/main/java/org/bukkit/entity/FallingBlock.java b/src/main/java/org/bukkit/entity/FallingBlock.java
|
||||
index ae1ce2ee2deb82f3f4144ec54b3ba119b437c5e9..a945e76dd61ef132ae3f3ee69635c927b1180523 100644
|
||||
--- a/src/main/java/org/bukkit/entity/FallingBlock.java
|
||||
+++ b/src/main/java/org/bukkit/entity/FallingBlock.java
|
||||
@@ -26,6 +26,33 @@ public interface FallingBlock extends Entity {
|
||||
*/
|
||||
@NotNull
|
||||
BlockData getBlockData();
|
||||
+ // Paper start
|
||||
+ /**
|
||||
+ * Sets the data for the falling block.
|
||||
+ * <br>
|
||||
+ * Any potential additional data currently stored in the falling blocks {@link #getBlockState()} will be
|
||||
+ * purged by calling this setter.
|
||||
+ *
|
||||
+ * @param blockData the data to use as the block
|
||||
+ */
|
||||
+ void setBlockData(@NotNull BlockData blockData);
|
||||
+
|
||||
+ /**
|
||||
+ * Get the data of the falling block represented as a {@link org.bukkit.block.BlockState BlockState}
|
||||
+ * which includes potential NBT data that gets applied when the block gets placed on landing.
|
||||
+ *
|
||||
+ * @return the BlockState representing this block
|
||||
+ */
|
||||
+ @NotNull
|
||||
+ org.bukkit.block.BlockState getBlockState();
|
||||
+
|
||||
+ /**
|
||||
+ * Sets the {@link BlockData} and possibly present tile entity data for the falling block.
|
||||
+ *
|
||||
+ * @param blockState the BlockState to use
|
||||
+ */
|
||||
+ void setBlockState(@NotNull org.bukkit.block.BlockState blockState);
|
||||
+ // Paper end
|
||||
|
||||
/**
|
||||
* Get if the falling block will break into an item if it cannot be placed.
|
||||
@@ -137,4 +164,23 @@ public interface FallingBlock extends Entity {
|
||||
default org.bukkit.Location getSourceLoc() {
|
||||
return this.getOrigin();
|
||||
}
|
||||
+ // Paper Start - Auto expire setting
|
||||
+ /**
|
||||
+ * Sets if this falling block should expire after:
|
||||
+ * - 30 seconds
|
||||
+ * - 5 seconds and is outside of the world
|
||||
+ *
|
||||
+ * @return if this behavior occurs
|
||||
+ */
|
||||
+ boolean doesAutoExpire();
|
||||
+
|
||||
+ /**
|
||||
+ * Sets if this falling block should expire after:
|
||||
+ * - 30 seconds
|
||||
+ * - 5 seconds and is outside of the world
|
||||
+ *
|
||||
+ * @param autoExpires if this behavior should occur
|
||||
+ */
|
||||
+ void shouldAutoExpire(boolean autoExpires);
|
||||
+ // Paper End - Auto expire setting
|
||||
}
|
|
@ -1,34 +0,0 @@
|
|||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Owen1212055 <23108066+Owen1212055@users.noreply.github.com>
|
||||
Date: Sun, 5 Dec 2021 14:58:55 -0500
|
||||
Subject: [PATCH] FallingBlock auto expire setting
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/entity/FallingBlock.java b/src/main/java/org/bukkit/entity/FallingBlock.java
|
||||
index ae1ce2ee2deb82f3f4144ec54b3ba119b437c5e9..95e75f5a4ccdedd3b26f8639f37de9450ed63d6b 100644
|
||||
--- a/src/main/java/org/bukkit/entity/FallingBlock.java
|
||||
+++ b/src/main/java/org/bukkit/entity/FallingBlock.java
|
||||
@@ -137,4 +137,23 @@ public interface FallingBlock extends Entity {
|
||||
default org.bukkit.Location getSourceLoc() {
|
||||
return this.getOrigin();
|
||||
}
|
||||
+ // Paper Start - Auto expire setting
|
||||
+ /**
|
||||
+ * Sets if this falling block should expire after:
|
||||
+ * - 30 seconds
|
||||
+ * - 5 seconds and is outside of the world
|
||||
+ *
|
||||
+ * @return if this behavior occurs
|
||||
+ */
|
||||
+ boolean doesAutoExpire();
|
||||
+
|
||||
+ /**
|
||||
+ * Sets if this falling block should expire after:
|
||||
+ * - 30 seconds
|
||||
+ * - 5 seconds and is outside of the world
|
||||
+ *
|
||||
+ * @param autoExpires if this behavior should occur
|
||||
+ */
|
||||
+ void shouldAutoExpire(boolean autoExpires);
|
||||
+ // Paper End - Auto expire setting
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue