aboutsummaryrefslogtreecommitdiffhomepage
path: root/patches/server/0423-Remove-some-streams-from-structures.patch
blob: 136b102df3f0111600c20fc190c753284af2b00c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
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
index bb8d8edb47621665872a5e8fc01512ba40c1b913..5d721dc196a6bde511f46dbdedb2e1d98553ac52 100644
--- a/src/main/java/net/minecraft/world/level/levelgen/Beardifier.java
+++ b/src/main/java/net/minecraft/world/level/levelgen/Beardifier.java
@@ -36,9 +36,10 @@ public class Beardifier implements DensityFunctions.BeardifierOrMarker {
         int j = pos.getMinBlockZ();
         ObjectList<Beardifier.Rigid> objectList = new ObjectArrayList<>(10);
         ObjectList<JigsawJunction> objectList2 = new ObjectArrayList<>(32);
-        world.startsForStructure(pos, (structure) -> {
+        // Paper start - replace for each
+        for (net.minecraft.world.level.levelgen.structure.StructureStart start : world.startsForStructure(pos, (structure) -> {
             return structure.terrainAdaptation() != TerrainAdjustment.NONE;
-        }).forEach((start) -> {
+        })) { // Paper end
             TerrainAdjustment terrainAdjustment = start.getStructure().terrainAdaptation();
 
             for(StructurePiece structurePiece : start.getPieces()) {
@@ -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 {
                 }
             }
 
-        });
+        } // Paper
         return new Beardifier(objectList.iterator(), objectList2.iterator());
     }