geforkt von Mirrors/Paper
41647af74c
We cannot put blocking network I/O onto the worldgen threads, this will crash the server if it stalls
28 Zeilen
1.4 KiB
Diff
28 Zeilen
1.4 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Aikar <aikar@aikar.co>
|
|
Date: Sun, 7 Jun 2020 19:25:13 -0400
|
|
Subject: [PATCH] Use seed based lookup for Treasure Maps - Fixes lag from
|
|
carto/sunken maps
|
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/world/item/MapItem.java b/src/main/java/net/minecraft/world/item/MapItem.java
|
|
index 44bfc5560a1b43925aabfd8137495e169da32fa2..d407cf849a31a7a77fda07aa687ebb254f43d6ab 100644
|
|
--- a/src/main/java/net/minecraft/world/item/MapItem.java
|
|
+++ b/src/main/java/net/minecraft/world/item/MapItem.java
|
|
@@ -252,14 +252,13 @@ public class MapItem extends ComplexItem {
|
|
boolean[] aboolean = new boolean[16384];
|
|
int l = j / i - 64;
|
|
int i1 = k / i - 64;
|
|
- BlockPos.MutableBlockPos blockposition_mutableblockposition = new BlockPos.MutableBlockPos();
|
|
|
|
int j1;
|
|
int k1;
|
|
|
|
for (j1 = 0; j1 < 128; ++j1) {
|
|
for (k1 = 0; k1 < 128; ++k1) {
|
|
- Holder<Biome> holder = world.getBiome(blockposition_mutableblockposition.set((l + k1) * i, 0, (i1 + j1) * i));
|
|
+ Holder<Biome> holder = world.getUncachedNoiseBiome((l + k1) * i, 0, (i1 + j1) * i); // Paper
|
|
|
|
aboolean[j1 * 128 + k1] = holder.is(BiomeTags.WATER_ON_MAP_OUTLINES);
|
|
}
|