geforkt von Mirrors/Paper
0b20f94297
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: 96340858 PR-938: Various Sound API improvements cbfe0ff0 PR-937: Minor improvements to World#rayTrace documentation e979ee95 PR-935: Change Consumer and Predicates to super 27ae46dc SPIGOT-3641, SPIGOT-7479, PR-931: Add missing values to EntityEffect 0616ec8b Add eclipse .factorypath file to .gitignore CraftBukkit Changes: 8e162d008 PR-1301: Various Sound API improvements eeb7dfc2d SPIGOT-7520: Attribute LootTableSeed missing for generated containers with attached LootTable d433f086d PR-1297: Change Consumer and Predicates to super 864f616da SPIGOT-7518: Fix NullPointerException when calling Block#applyBoneMeal() 5a2d905af Add eclipse .factorypath file to .gitignore 7c6bf15d4 Fix SkullMeta configuration serialization / deserialization with note block sound Spigot Changes: 7de1049b Rebuild patches
134 Zeilen
4.8 KiB
Diff
134 Zeilen
4.8 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Jake Potrebic <jake.m.potrebic@gmail.com>
|
|
Date: Tue, 7 Jul 2020 10:53:22 -0700
|
|
Subject: [PATCH] More World API
|
|
|
|
|
|
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
|
|
index 7d2a7aff5b15a66663ef896fb1a7e0c6804e936a..372e3e40bb21f0185c59973d5c8ee48c07ea9725 100644
|
|
--- a/src/main/java/org/bukkit/World.java
|
|
+++ b/src/main/java/org/bukkit/World.java
|
|
@@ -3797,6 +3797,122 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
|
|
@Nullable
|
|
StructureSearchResult locateNearestStructure(@NotNull Location origin, @NotNull Structure structure, int radius, boolean findUnexplored);
|
|
|
|
+ // Paper start
|
|
+ /**
|
|
+ * Locates the nearest biome based on an origin, biome type, and radius to search.
|
|
+ * Step defaults to {@code 8}.
|
|
+ *
|
|
+ * @param origin Origin location
|
|
+ * @param biome Biome to find
|
|
+ * @param radius radius to search
|
|
+ * @return Location of biome or null if not found in specified radius
|
|
+ * @deprecated use {@link #locateNearestBiome(Location, int, Biome...)}
|
|
+ */
|
|
+ @Deprecated
|
|
+ @Nullable
|
|
+ default Location locateNearestBiome(@NotNull Location origin, @NotNull Biome biome, int radius) {
|
|
+ return java.util.Optional.ofNullable(this.locateNearestBiome(origin, radius, 8, 8, biome)).map(BiomeSearchResult::getLocation).orElse(null);
|
|
+ }
|
|
+
|
|
+ /**
|
|
+ * Locates the nearest biome based on an origin, biome type, and radius to search
|
|
+ * and step
|
|
+ *
|
|
+ * @param origin Origin location
|
|
+ * @param biome Biome to find
|
|
+ * @param radius radius to search
|
|
+ * @param step Search step 1 would mean checking every block, 8 would be every 8th block
|
|
+ * @return Location of biome or null if not found in specified radius
|
|
+ * @deprecated use {@link #locateNearestBiome(Location, int, int, int, Biome...)}
|
|
+ */
|
|
+ @Deprecated
|
|
+ @Nullable
|
|
+ default Location locateNearestBiome(@NotNull Location origin, @NotNull Biome biome, int radius, int step) {
|
|
+ return java.util.Optional.ofNullable(this.locateNearestBiome(origin, radius, step, step, biome)).map(BiomeSearchResult::getLocation).orElse(null);
|
|
+ }
|
|
+
|
|
+ /**
|
|
+ * Checks if the world:
|
|
+ * <ul>
|
|
+ * <li>evaporates water</li>
|
|
+ * <li>dries sponges</li>
|
|
+ * <li>has lava spread faster and further</li>
|
|
+ * </ul>
|
|
+ *
|
|
+ * @return true if ultrawarm, false if not
|
|
+ * @deprecated use {@link #isUltraWarm()}
|
|
+ */
|
|
+ @Deprecated(forRemoval = true) @org.jetbrains.annotations.ApiStatus.ScheduledForRemoval(inVersion = "1.21")
|
|
+ boolean isUltrawarm();
|
|
+
|
|
+ /**
|
|
+ * Gets the coordinate scaling of this world.
|
|
+ *
|
|
+ * @return the coordinate scale
|
|
+ */
|
|
+ double getCoordinateScale();
|
|
+
|
|
+ /**
|
|
+ * Checks if the world has skylight access
|
|
+ *
|
|
+ * @return whether there is skylight
|
|
+ * @deprecated use {@link #hasSkyLight()}
|
|
+ */
|
|
+ @Deprecated(forRemoval = true) @org.jetbrains.annotations.ApiStatus.ScheduledForRemoval(inVersion = "1.21")
|
|
+ boolean hasSkylight();
|
|
+
|
|
+ /**
|
|
+ * Checks if the world has a bedrock ceiling
|
|
+ *
|
|
+ * @return whether the world has a bedrock ceiling
|
|
+ * @deprecated use {@link #hasCeiling()}
|
|
+ */
|
|
+ @Deprecated(forRemoval = true) @org.jetbrains.annotations.ApiStatus.ScheduledForRemoval(inVersion = "1.21")
|
|
+ boolean hasBedrockCeiling();
|
|
+
|
|
+ /**
|
|
+ * Checks if beds work
|
|
+ *
|
|
+ * @return whether beds work
|
|
+ * @deprecated use {@link #isBedWorks()}
|
|
+ */
|
|
+ @Deprecated(forRemoval = true) @org.jetbrains.annotations.ApiStatus.ScheduledForRemoval(inVersion = "1.21")
|
|
+ boolean doesBedWork();
|
|
+
|
|
+ /**
|
|
+ * Checks if respawn anchors work
|
|
+ *
|
|
+ * @return whether respawn anchors work
|
|
+ * @deprecated use {@link #isRespawnAnchorWorks()}
|
|
+ */
|
|
+ @Deprecated(forRemoval = true) @org.jetbrains.annotations.ApiStatus.ScheduledForRemoval(inVersion = "1.21")
|
|
+ boolean doesRespawnAnchorWork();
|
|
+
|
|
+ /**
|
|
+ * Checks if this world has a fixed time
|
|
+ *
|
|
+ * @return whether this world has fixed time
|
|
+ */
|
|
+ boolean isFixedTime();
|
|
+
|
|
+ /**
|
|
+ * Gets the collection of materials that burn infinitely in this world.
|
|
+ *
|
|
+ * @return the materials that will forever stay lit by fire
|
|
+ */
|
|
+ @NotNull
|
|
+ Collection<Material> getInfiniburn();
|
|
+
|
|
+ /**
|
|
+ * Posts a specified game event at a location
|
|
+ *
|
|
+ * @param sourceEntity optional source entity
|
|
+ * @param gameEvent the game event to post
|
|
+ * @param position the position in the world where to post the event to listeners
|
|
+ */
|
|
+ void sendGameEvent(@Nullable Entity sourceEntity, @NotNull GameEvent gameEvent, @NotNull Vector position);
|
|
+ // Paper end
|
|
+
|
|
// Spigot start
|
|
/**
|
|
* Returns the view distance used for this world.
|