mirror of
https://github.com/PaperMC/Paper.git
synced 2024-11-30 20:21:51 +01:00
c50fc3a026
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: 8d818032 PR-723: Add Furnace#getRecipesUsed d7b5a313 PR-726: Add Particle dataTypes to javadocs 72fe8b71 PR-724: Add PDC to World CraftBukkit Changes: c0326c28 PR-1009: Add Furnace#getRecipesUsed cc5ddd79 PR-1010: Add PDC to World 6a54e5d3 PR-1012: Always save as skull owner and not as internal data Spigot Changes: 699290cd Rebuild patches
40 lines
2 KiB
Diff
40 lines
2 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Spottedleaf <Spottedleaf@users.noreply.github.com>
|
|
Date: Tue, 1 Jan 2019 02:22:01 -0800
|
|
Subject: [PATCH] Add Heightmap API
|
|
|
|
|
|
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
|
index fd034c619b0615f480d1686d76e0f155cd9f9949..fa7864c498fc2aaf483b54c37b4a396ac0f4b051 100644
|
|
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
|
@@ -212,6 +212,29 @@ public class CraftWorld extends CraftRegionAccessor implements World {
|
|
return this.getHighestBlockYAt(x, z, org.bukkit.HeightMap.MOTION_BLOCKING);
|
|
}
|
|
|
|
+ // Paper start - Implement heightmap api
|
|
+ @Override
|
|
+ public int getHighestBlockYAt(final int x, final int z, final com.destroystokyo.paper.HeightmapType heightmap) throws UnsupportedOperationException {
|
|
+ this.getChunkAt(x >> 4, z >> 4); // heightmap will ret 0 on unloaded areas
|
|
+
|
|
+ switch (heightmap) {
|
|
+ case LIGHT_BLOCKING:
|
|
+ throw new UnsupportedOperationException(); // TODO
|
|
+ //return this.world.getHighestBlockY(HeightMap.Type.LIGHT_BLOCKING, x, z);
|
|
+ case ANY:
|
|
+ return this.world.getHeight(net.minecraft.world.level.levelgen.Heightmap.Types.WORLD_SURFACE, x, z);
|
|
+ case SOLID:
|
|
+ return this.world.getHeight(net.minecraft.world.level.levelgen.Heightmap.Types.OCEAN_FLOOR, x, z);
|
|
+ case SOLID_OR_LIQUID:
|
|
+ return this.world.getHeight(net.minecraft.world.level.levelgen.Heightmap.Types.MOTION_BLOCKING, x, z);
|
|
+ case SOLID_OR_LIQUID_NO_LEAVES:
|
|
+ return this.world.getHeight(net.minecraft.world.level.levelgen.Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, x, z);
|
|
+ default:
|
|
+ throw new UnsupportedOperationException();
|
|
+ }
|
|
+ }
|
|
+ // Paper end
|
|
+
|
|
@Override
|
|
public Location getSpawnLocation() {
|
|
BlockPos spawn = this.world.getSharedSpawnPos();
|