mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-22 08:57:35 +01:00
e105354330
Also fixes EntityBreakDoorEvent not having the correct 'to' block data Also standardizes how to handle EntityChangeBlockEvent before a removeBlock or destroyBlock call. Always use 'state.getFluidState().createLegacyBlock()' to get the new state instead of just using the 'air' state.
45 lines
1.9 KiB
Diff
45 lines
1.9 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Josh Roy <10731363+JRoy@users.noreply.github.com>
|
|
Date: Sun, 14 Aug 2022 12:22:54 -0400
|
|
Subject: [PATCH] Add NamespacedKey biome methods
|
|
|
|
Co-authored-by: Thonk <30448663+ExcessiveAmountsOfZombies@users.noreply.github.com>
|
|
|
|
diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java
|
|
index fed8f959f87f82a7f8fb8afe770f5cb73fcf27b2..c661eab343ae76488de701630424e2d589f44fc0 100644
|
|
--- a/src/main/java/org/bukkit/UnsafeValues.java
|
|
+++ b/src/main/java/org/bukkit/UnsafeValues.java
|
|
@@ -222,5 +222,32 @@ public interface UnsafeValues {
|
|
* @throws IllegalArgumentException if {@link Material#isBlock()} is false
|
|
*/
|
|
boolean isCollidable(@org.jetbrains.annotations.NotNull Material material);
|
|
+
|
|
+ /**
|
|
+ * Gets the {@link NamespacedKey} for the biome at the given location.
|
|
+ *
|
|
+ * @param accessor The {@link RegionAccessor} of the provided coordinates
|
|
+ * @param x X-coordinate of the block
|
|
+ * @param y Y-coordinate of the block
|
|
+ * @param z Z-coordinate of the block
|
|
+ * @return the biome's {@link NamespacedKey}
|
|
+ */
|
|
+ @org.jetbrains.annotations.NotNull
|
|
+ NamespacedKey getBiomeKey(RegionAccessor accessor, int x, int y, int z);
|
|
+
|
|
+ /**
|
|
+ * Sets the biome at the given location to a biome registered
|
|
+ * to the given {@link NamespacedKey}. If no biome by the given
|
|
+ * {@link NamespacedKey} exists, an {@link IllegalStateException}
|
|
+ * will be thrown.
|
|
+ *
|
|
+ * @param accessor The {@link RegionAccessor} of the provided coordinates
|
|
+ * @param x X-coordinate of the block
|
|
+ * @param y Y-coordinate of the block
|
|
+ * @param z Z-coordinate of the block
|
|
+ * @param biomeKey Biome key
|
|
+ * @throws IllegalStateException if no biome by the given key is registered.
|
|
+ */
|
|
+ void setBiomeKey(RegionAccessor accessor, int x, int y, int z, NamespacedKey biomeKey);
|
|
// Paper end
|
|
}
|