Paper/patches/api/0374-Add-NamespacedKey-biome-methods.patch
Nassim Jahnke 4cdbb0c86c
Updated Upstream (Bukkit/CraftBukkit/Spigot)
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:
044d4ee9 SPIGOT-7283, SPIGOT-7318: Add AsyncStructureGenerateEvent and BlockState cloning
57b73d57 PR-913: Deprecate Projectile#doesBounce() and #setBounce()
43373c44 PR-904: Update FeatureFlag for 1.20.2
a7bbbf0c PR-911: Expand DataPack API with 1.20.2 pack version methods
0341e3a0 SPIGOT-7489: Add TeleportDuration to Display Entity
bcd8d2aa PR-912: Update Minecraft Wiki URLs

CraftBukkit Changes:
99aafc222 Increase outdated build delay
dab849f08 SPIGOT-7283, SPIGOT-7318: Add AsyncStructureGenerateEvent and BlockState cloning
041b29ae3 Upgrade specialsource-maven-plugin
851a32cff PR-1263: Remove unused implementation of AbstractProjectile#doesBounce() and #setBounce()
251af0da3 PR-1261: Expand DataPack API with 1.20.2 pack version methods
46e4ba627 Upgrade specialsource-maven-plugin
df3738a24 SPIGOT-7489: Add TeleportDuration to Display Entity
8d0fea457 PR-1262: Update Minecraft Wiki URLs
e62905aab SPIGOT-7490: Fix entity equipment updates

Spigot Changes:
a0f3d486 Rebuild patches
2023-09-29 13:05:28 +10:00

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 943736891bf58e620c47391b37c1d00610f68744..fd340351587b408c59d5b2da1965357dc72be356 100644
--- a/src/main/java/org/bukkit/UnsafeValues.java
+++ b/src/main/java/org/bukkit/UnsafeValues.java
@@ -221,5 +221,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
}