aboutsummaryrefslogtreecommitdiffhomepage
path: root/patches/api/0175-Add-Heightmap-API.patch
diff options
context:
space:
mode:
authorNassim Jahnke <[email protected]>2023-03-14 18:11:24 +0100
committerNassim Jahnke <[email protected]>2023-03-14 18:11:24 +0100
commit2ed604cf725820344878b0d49117bd5ef31463bc (patch)
tree701daae297f65de2ae3b2cc233047e7903adcb51 /patches/api/0175-Add-Heightmap-API.patch
parent155aa36d89b260ef5841615899299756b5983c0a (diff)
downloadPaper-2ed604cf725820344878b0d49117bd5ef31463bc.tar.gz
Paper-2ed604cf725820344878b0d49117bd5ef31463bc.zip
Start working on 1.19.4
Diffstat (limited to 'patches/api/0175-Add-Heightmap-API.patch')
-rw-r--r--patches/api/0175-Add-Heightmap-API.patch196
1 files changed, 0 insertions, 196 deletions
diff --git a/patches/api/0175-Add-Heightmap-API.patch b/patches/api/0175-Add-Heightmap-API.patch
deleted file mode 100644
index 4c029e4fc2..0000000000
--- a/patches/api/0175-Add-Heightmap-API.patch
+++ /dev/null
@@ -1,196 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Spottedleaf <[email protected]>
-Date: Sat, 1 Dec 2018 19:00:36 -0800
-Subject: [PATCH] Add Heightmap API
-
-Changed to use upstream's heightmap API - Machine_Maker
-
-diff --git a/src/main/java/com/destroystokyo/paper/HeightmapType.java b/src/main/java/com/destroystokyo/paper/HeightmapType.java
-new file mode 100644
-index 0000000000000000000000000000000000000000..709e44ea1b14ab6917501c928e689cc6cbdf4bb4
---- /dev/null
-+++ b/src/main/java/com/destroystokyo/paper/HeightmapType.java
-@@ -0,0 +1,39 @@
-+package com.destroystokyo.paper;
-+
-+import org.bukkit.*;
-+
-+/**
-+ * Enumeration of different heightmap types maintained by the server. Generally using these maps is much faster
-+ * than using an iterative search for a block in a given x, z coordinate.
-+ *
-+ * @deprecated Upstream has added their own API for using the game heightmaps. See {@link org.bukkit.HeightMap} and the
-+ * non-deprecated getHighestBlock methods on World such as {@link org.bukkit.World#getHighestBlockAt(Location, HeightMap)}.
-+ */
-+@Deprecated
-+public enum HeightmapType {
-+
-+ /**
-+ * The highest block used for lighting in the world. Also the block returned by {@link World#getHighestBlockYAt(int, int)}}
-+ */
-+ LIGHT_BLOCKING,
-+
-+ /**
-+ * References the highest block in the world.
-+ */
-+ ANY,
-+
-+ /**
-+ * References the highest solid block in a world.
-+ */
-+ SOLID,
-+
-+ /**
-+ * References the highest solid or liquid block in a world.
-+ */
-+ SOLID_OR_LIQUID,
-+
-+ /**
-+ * References the highest solid or liquid block in a world, excluding leaves.
-+ */
-+ SOLID_OR_LIQUID_NO_LEAVES;
-+}
-diff --git a/src/main/java/org/bukkit/Location.java b/src/main/java/org/bukkit/Location.java
-index 2b9a117804a8ca54b47e51e23359bd6e01087641..6bbf8468bc47e82b0aeb164e49cdb73d93bae87b 100644
---- a/src/main/java/org/bukkit/Location.java
-+++ b/src/main/java/org/bukkit/Location.java
-@@ -640,6 +640,47 @@ public class Location implements Cloneable, ConfigurationSerializable, io.paperm
- return centerLoc;
- }
-
-+ // Paper start - Add heightmap api
-+
-+ /**
-+ * Returns a copy of this location except with y = getWorld().getHighestBlockYAt(this.getBlockX(), this.getBlockZ())
-+ * @return A copy of this location except with y = getWorld().getHighestBlockYAt(this.getBlockX(), this.getBlockZ())
-+ * @throws NullPointerException if {{@link #getWorld()}} is {@code null}
-+ */
-+ @NotNull
-+ public Location toHighestLocation() {
-+ return this.toHighestLocation(HeightMap.WORLD_SURFACE);
-+ }
-+
-+ /**
-+ * Returns a copy of this location except with y = getWorld().getHighestBlockYAt(this.getBlockX(), this.getBlockZ(), heightmap)
-+ * @param heightmap The heightmap to use for finding the highest y location.
-+ * @return A copy of this location except with y = getWorld().getHighestBlockYAt(this.getBlockX(), this.getBlockZ(), heightmap)
-+ * @throws NullPointerException if {{@link #getWorld()}} is {@code null}
-+ * @throws UnsupportedOperationException if {@link World#getHighestBlockYAt(int, int, com.destroystokyo.paper.HeightmapType)} does not support the specified heightmap
-+ * @deprecated Use {@link org.bukkit.Location#toHighestLocation(HeightMap)}
-+ */
-+ @NotNull
-+ @Deprecated
-+ public Location toHighestLocation(@NotNull final com.destroystokyo.paper.HeightmapType heightmap) {
-+ final Location ret = this.clone();
-+ ret.setY(this.getWorld().getHighestBlockYAt(this, heightmap));
-+ return ret;
-+ }
-+
-+ /**
-+ * Returns a copy of this location except with y = getWorld().getHighestBlockYAt(this.getBlockX(), this.getBlockZ(), heightMap)
-+ * @param heightMap The heightmap to use for finding the highest y location.
-+ * @return A copy of this location except with y = getWorld().getHighestBlockYAt(this.getBlockX(), this.getBlockZ(), heightMap)
-+ */
-+ @NotNull
-+ public Location toHighestLocation(@NotNull final HeightMap heightMap) {
-+ final Location ret = this.clone();
-+ ret.setY(this.getWorld().getHighestBlockYAt(this, heightMap));
-+ return ret;
-+ }
-+ // Paper end
-+
- /**
- * Creates explosion at this location with given power
- *
-diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
-index f57e59dd5db687fb4feb13e8283e4ff327c3e8c4..30d5ed45df901a4931a35cc62aec08818307ec99 100644
---- a/src/main/java/org/bukkit/World.java
-+++ b/src/main/java/org/bukkit/World.java
-@@ -167,6 +167,87 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
- @NotNull
- public Block getHighestBlockAt(@NotNull Location location);
-
-+ // Paper start - Add heightmap API
-+ /**
-+ * Returns the highest block's y-coordinate at the specified block coordinates that match the specified heightmap's conditions.
-+ * <p>
-+ * <b>implNote:</b> Implementations are recommended to use an iterative search as a fallback before resorting to
-+ * throwing an {@code UnsupportedOperationException}.
-+ * </p>
-+ *
-+ * @param x The block's x-coordinate.
-+ * @param z The block's z-coordinate.
-+ * @param heightmap The specified heightmap to use. See {@link com.destroystokyo.paper.HeightmapType}
-+ * @return The highest block's y-coordinate at (x, z) that matches the specified heightmap's conditions.
-+ * @throws UnsupportedOperationException If the heightmap type is not supported.
-+ * @deprecated Upstream has added support for this, use {@link World#getHighestBlockYAt(int, int, HeightMap)}
-+ *
-+ * @see com.destroystokyo.paper.HeightmapType
-+ */
-+ @Deprecated
-+ public int getHighestBlockYAt(int x, int z, @NotNull com.destroystokyo.paper.HeightmapType heightmap) throws UnsupportedOperationException;
-+
-+ /**
-+ * Returns the highest block's y-coordinate at the specified block coordinates that match the specified heightmap's conditions.
-+ * Note that the y-coordinate of the specified location is ignored.
-+ * <p>
-+ * <b>implNote:</b> Implementations are recommended to use an iterative search as a fallback before resorting to
-+ * throwing an {@code UnsupportedOperationException}.
-+ * </p>
-+ *
-+ * @param location The specified block coordinates.
-+ * @param heightmap The specified heightmap to use. See {@link com.destroystokyo.paper.HeightmapType}
-+ * @return The highest block's y-coordinate at {@code location} that matches the specified heightmap's conditions.
-+ * @throws UnsupportedOperationException If the heightmap type is not supported.
-+ * @deprecated Upstream has added support for this, use {@link World#getHighestBlockYAt(Location, HeightMap)}
-+ * @see com.destroystokyo.paper.HeightmapType
-+ */
-+ @Deprecated
-+ default int getHighestBlockYAt(@NotNull Location location, @NotNull com.destroystokyo.paper.HeightmapType heightmap) throws UnsupportedOperationException {
-+ return this.getHighestBlockYAt(location.getBlockX(), location.getBlockZ(), heightmap);
-+ }
-+
-+ /**
-+ * Returns the highest {@link Block} at the specified block coordinates that match the specified heightmap's conditions.
-+ * <p>
-+ * <b>implNote:</b> Implementations are recommended to use an iterative search as a fallback before resorting to
-+ * throwing an {@code UnsupportedOperationException}.
-+ * </p>
-+ * @param x The block's x-coordinate.
-+ * @param z The block's z-coordinate.
-+ * @param heightmap The specified heightmap to use. See {@link com.destroystokyo.paper.HeightmapType}
-+ * @return The highest {@link Block} at (x, z) that matches the specified heightmap's conditions.
-+ * @throws UnsupportedOperationException If the heightmap type is not supported.
-+ * @deprecated Upstream has added support for this, use {@link World#getHighestBlockAt(int, int, HeightMap)}
-+ * @see com.destroystokyo.paper.HeightmapType
-+ */
-+ @Deprecated
-+ @NotNull
-+ default Block getHighestBlockAt(int x, int z, @NotNull com.destroystokyo.paper.HeightmapType heightmap) throws UnsupportedOperationException {
-+ return this.getBlockAt(x, this.getHighestBlockYAt(x, z, heightmap), z);
-+ }
-+
-+ /**
-+ * Returns the highest {@link Block} at the specified block coordinates that match the specified heightmap's conditions.
-+ * Note that the y-coordinate of the specified location is ignored.
-+ * <p>
-+ * <b>implNote:</b> Implementations are recommended to use an iterative search as a fallback before resorting to
-+ * throwing an {@code UnsupportedOperationException}.
-+ * </p>
-+ * @param location The specified block coordinates.
-+ * @param heightmap The specified heightmap to use. See {@link com.destroystokyo.paper.HeightmapType}
-+ * @return The highest {@link Block} at {@code location} that matches the specified heightmap's conditions.
-+ * @throws UnsupportedOperationException If the heightmap type is not supported.
-+ * @deprecated Upstream has added support for this, use {@link World#getHighestBlockAt(Location, HeightMap)}
-+ * @see com.destroystokyo.paper.HeightmapType
-+ */
-+ @Deprecated
-+ @NotNull
-+ default Block getHighestBlockAt(@NotNull Location location, @NotNull com.destroystokyo.paper.HeightmapType heightmap) throws UnsupportedOperationException {
-+ return this.getHighestBlockAt(location.getBlockX(), location.getBlockZ(), heightmap);
-+ }
-+ // Paper end
-+
- /**
- * Gets the highest coordinate corresponding to the {@link HeightMap} at the
- * given coordinates.