2022-06-08 07:46:52 +02:00
|
|
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
|
|
From: JRoy <joshroy126@gmail.com>
|
|
|
|
Date: Mon, 29 Jun 2020 17:03:06 -0400
|
|
|
|
Subject: [PATCH] Remove some streams from structures
|
|
|
|
|
|
|
|
This showed up a lot in the spark profiler, should have a low-medium performance improvement.
|
|
|
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/world/level/levelgen/Beardifier.java b/src/main/java/net/minecraft/world/level/levelgen/Beardifier.java
|
2023-09-22 19:59:56 +02:00
|
|
|
index bb8d8edb47621665872a5e8fc01512ba40c1b913..5d721dc196a6bde511f46dbdedb2e1d98553ac52 100644
|
2022-06-08 07:46:52 +02:00
|
|
|
--- a/src/main/java/net/minecraft/world/level/levelgen/Beardifier.java
|
|
|
|
+++ b/src/main/java/net/minecraft/world/level/levelgen/Beardifier.java
|
2022-07-28 00:20:14 +02:00
|
|
|
@@ -36,9 +36,10 @@ public class Beardifier implements DensityFunctions.BeardifierOrMarker {
|
2022-07-27 22:46:05 +02:00
|
|
|
int j = pos.getMinBlockZ();
|
2022-06-08 07:46:52 +02:00
|
|
|
ObjectList<Beardifier.Rigid> objectList = new ObjectArrayList<>(10);
|
|
|
|
ObjectList<JigsawJunction> objectList2 = new ObjectArrayList<>(32);
|
2022-07-27 22:46:05 +02:00
|
|
|
- world.startsForStructure(pos, (structure) -> {
|
2022-06-08 07:46:52 +02:00
|
|
|
+ // Paper start - replace for each
|
2022-07-28 00:20:14 +02:00
|
|
|
+ for (net.minecraft.world.level.levelgen.structure.StructureStart start : world.startsForStructure(pos, (structure) -> {
|
2022-06-08 07:46:52 +02:00
|
|
|
return structure.terrainAdaptation() != TerrainAdjustment.NONE;
|
2022-07-27 22:46:05 +02:00
|
|
|
- }).forEach((start) -> {
|
|
|
|
+ })) { // Paper end
|
2022-07-28 00:20:14 +02:00
|
|
|
TerrainAdjustment terrainAdjustment = start.getStructure().terrainAdaptation();
|
2022-06-08 07:46:52 +02:00
|
|
|
|
2022-07-27 22:46:05 +02:00
|
|
|
for(StructurePiece structurePiece : start.getPieces()) {
|
2022-07-28 00:20:14 +02:00
|
|
|
@@ -51,9 +52,11 @@ public class Beardifier implements DensityFunctions.BeardifierOrMarker {
|
|
|
|
}
|
|
|
|
|
|
|
|
for(JigsawJunction jigsawJunction : poolElementStructurePiece.getJunctions()) {
|
|
|
|
- int i = jigsawJunction.getSourceX();
|
|
|
|
- int j = jigsawJunction.getSourceZ();
|
|
|
|
- if (i > i - 12 && j > j - 12 && i < i + 15 + 12 && j < j + 15 + 12) {
|
|
|
|
+ // Paper start - decompile fix
|
|
|
|
+ int i2 = jigsawJunction.getSourceX();
|
|
|
|
+ int j2 = jigsawJunction.getSourceZ();
|
|
|
|
+ if (i2 > i - 12 && j2 > j - 12 && i2 < i + 15 + 12 && j2 < j + 15 + 12) {
|
|
|
|
+ // Paper end
|
|
|
|
objectList2.add(jigsawJunction);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@@ -63,7 +66,7 @@ public class Beardifier implements DensityFunctions.BeardifierOrMarker {
|
2022-06-08 07:46:52 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
- });
|
|
|
|
+ } // Paper
|
|
|
|
return new Beardifier(objectList.iterator(), objectList2.iterator());
|
|
|
|
}
|
|
|
|
|