Mirror von
https://github.com/PaperMC/Paper.git
synchronisiert 2024-12-17 12:00:07 +01:00
b16fd5c3a3
Upstream has released updates that appears 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:
6148fca7 SPIGOT-5484: Add more spawn tick settings
CraftBukkit Changes:
fc249340
SPIGOT-5484: Add more spawn tick settings
Spigot Changes:
6de3d4be Rebuild patches
59 Zeilen
2.7 KiB
Diff
59 Zeilen
2.7 KiB
Diff
From 764f34aa28a16bfcdf60719d2b7ee38bdff3be33 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/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
|
index 4aca398f1..20d9dd839 100644
|
|
--- a/src/main/java/net/minecraft/server/World.java
|
|
+++ b/src/main/java/net/minecraft/server/World.java
|
|
@@ -571,8 +571,8 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
|
}
|
|
}
|
|
|
|
- @Override
|
|
- public int a(HeightMap.Type heightmap_type, int i, int j) {
|
|
+ public final int getHighestBlockY(final HeightMap.Type heightmap, final int x, final int z) { return this.a(heightmap, x, z); } // Paper - OBFHELPER
|
|
+ @Override public int a(HeightMap.Type heightmap_type, int i, int j) { // Paper - OBFHELPER
|
|
int k;
|
|
|
|
if (i >= -30000000 && j >= -30000000 && i < 30000000 && j < 30000000) {
|
|
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
|
index b41404652..d4ccef12f 100644
|
|
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
|
@@ -335,6 +335,29 @@ public class CraftWorld implements World {
|
|
return 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.getHighestBlockY(net.minecraft.server.HeightMap.Type.WORLD_SURFACE, x, z);
|
|
+ case SOLID:
|
|
+ return this.world.getHighestBlockY(net.minecraft.server.HeightMap.Type.OCEAN_FLOOR, x, z);
|
|
+ case SOLID_OR_LIQUID:
|
|
+ return this.world.getHighestBlockY(net.minecraft.server.HeightMap.Type.MOTION_BLOCKING, x, z);
|
|
+ case SOLID_OR_LIQUID_NO_LEAVES:
|
|
+ return this.world.getHighestBlockY(net.minecraft.server.HeightMap.Type.MOTION_BLOCKING_NO_LEAVES, x, z);
|
|
+ default:
|
|
+ throw new UnsupportedOperationException();
|
|
+ }
|
|
+ }
|
|
+ // Paper end
|
|
+
|
|
@Override
|
|
public Location getSpawnLocation() {
|
|
BlockPosition spawn = world.getSpawn();
|
|
--
|
|
2.25.0
|
|
|