71c84c8132
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: 9a80d38c SPIGOT-336, SPIGOT-3366, SPIGOT-5768, SPIGOT-6409, SPIGOT-6861, PR-722: Add EntityRemoveEvent 258086d9 SPIGOT-7417, PR-967: Add Sign#getTargetSide and Sign#getAllowedEditor ffaba051 SPIGOT-7584: Add missing Tag.ITEMS_NON_FLAMMABLE_WOOD CraftBukkit Changes: 98b6c1ac7 SPIGOT-7589 Fix NullPointerException when bans expire a2736ddb0 SPIGOT-336, SPIGOT-3366, SPIGOT-5768, SPIGOT-6409, SPIGOT-6861, PR-1008: Add EntityRemoveEvent 5bf12cb89 SPIGOT-7565: Throw a more descriptive error message when a developer tries to spawn an entity from a CraftBukkit class 76d95fe7e SPIGOT-7417, PR-1343: Add Sign#getTargetSide and Sign#getAllowedEditor Spigot Changes: e9ec5485 Rebuild patches f1b62e0c Rebuild patches
79 lines
3 KiB
Diff
79 lines
3 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Jason Penilla <11360596+jpenilla@users.noreply.github.com>
|
|
Date: Mon, 14 Mar 2022 22:45:32 -0700
|
|
Subject: [PATCH] Add getComputedBiome API
|
|
|
|
|
|
diff --git a/src/main/java/org/bukkit/RegionAccessor.java b/src/main/java/org/bukkit/RegionAccessor.java
|
|
index b68367f123f029c3ff47eab6bfabd7a894a99da4..44ee56a5956cc17194c767a0c1071a2abffe818a 100644
|
|
--- a/src/main/java/org/bukkit/RegionAccessor.java
|
|
+++ b/src/main/java/org/bukkit/RegionAccessor.java
|
|
@@ -25,6 +25,7 @@ public interface RegionAccessor extends Keyed { // Paper
|
|
*
|
|
* @param location the location of the biome
|
|
* @return Biome at the given location
|
|
+ * @see #getComputedBiome(int, int, int)
|
|
*/
|
|
@NotNull
|
|
Biome getBiome(@NotNull Location location);
|
|
@@ -36,10 +37,33 @@ public interface RegionAccessor extends Keyed { // Paper
|
|
* @param y Y-coordinate of the block
|
|
* @param z Z-coordinate of the block
|
|
* @return Biome at the given coordinates
|
|
+ * @see #getComputedBiome(int, int, int)
|
|
*/
|
|
@NotNull
|
|
Biome getBiome(int x, int y, int z);
|
|
|
|
+ // Paper start
|
|
+ /**
|
|
+ * Gets the computed {@link Biome} at the given coordinates.
|
|
+ *
|
|
+ * <p>The computed Biome is the Biome as seen by clients for rendering
|
|
+ * purposes and in the "F3" debug menu. This is computed by looking at the noise biome
|
|
+ * at this and surrounding quarts and applying complex math operations.</p>
|
|
+ *
|
|
+ * <p>Most other Biome-related methods named getBiome, setBiome, and similar
|
|
+ * operate on the "noise biome", which is stored per-quart, or in other words,
|
|
+ * 1 Biome per 4x4x4 block region. This is how Biomes are currently generated and
|
|
+ * stored on disk.</p>
|
|
+ *
|
|
+ * @param x X-coordinate of the block
|
|
+ * @param y Y-coordinate of the block
|
|
+ * @param z Z-coordinate of the block
|
|
+ * @return Biome at the given coordinates
|
|
+ */
|
|
+ @NotNull
|
|
+ Biome getComputedBiome(int x, int y, int z);
|
|
+ // Paper end
|
|
+
|
|
/**
|
|
* Sets the {@link Biome} at the given {@link Location}.
|
|
*
|
|
diff --git a/src/main/java/org/bukkit/block/Block.java b/src/main/java/org/bukkit/block/Block.java
|
|
index 42cc4f2ee960c0abf9c6688aeee4150754612c32..cf9600c743e977312c0a15c455d602391797ef34 100644
|
|
--- a/src/main/java/org/bukkit/block/Block.java
|
|
+++ b/src/main/java/org/bukkit/block/Block.java
|
|
@@ -371,10 +371,22 @@ public interface Block extends Metadatable, Translatable, net.kyori.adventure.tr
|
|
* Returns the biome that this block resides in
|
|
*
|
|
* @return Biome type containing this block
|
|
+ * @see #getComputedBiome()
|
|
*/
|
|
@NotNull
|
|
Biome getBiome();
|
|
|
|
+ // Paper start
|
|
+ /**
|
|
+ * Gets the computed biome at the location of this Block.
|
|
+ *
|
|
+ * @return computed biome at the location of this Block.
|
|
+ * @see org.bukkit.RegionAccessor#getComputedBiome(int, int, int)
|
|
+ */
|
|
+ @NotNull
|
|
+ Biome getComputedBiome();
|
|
+ // Paper end
|
|
+
|
|
/**
|
|
* Sets the biome that this block resides in
|
|
*
|