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 70103054057abfec37a99f30075123f9daa4e4ce..9b6600853df559eb941eb85b33c71f98b8df4675 100644 --- a/src/main/java/org/bukkit/UnsafeValues.java +++ b/src/main/java/org/bukkit/UnsafeValues.java @@ -243,5 +243,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 }