@@ -68,32 +68,30 @@ public void setup() {
68
68
69
69
log .info ("Parsing world data..." );
70
70
71
- var maxY = 0 ;
71
+ log .info ("X: {}, Y: {}, Z: {}" , data .length , data [0 ].length , data [0 ][0 ].length );
72
+
73
+ // Find the first safe block at 0 0
74
+ var safeY = Integer .MIN_VALUE ;
72
75
var accessor = new TestBlockAccessorBuilder ();
73
76
for (var x = 0 ; x < data .length ; x ++) {
74
- var xArray = data [x ];
75
- for (var y = 0 ; y < xArray .length ; y ++) {
76
- var yArray = xArray [y ];
77
- for (var z = 0 ; z < yArray .length ; z ++) {
78
- accessor .setBlockAt (x , y , z , BlockType .REGISTRY .getByKey (blockDefinitions [yArray [z ]]));
79
- maxY = Math .max (maxY , y );
77
+ for (var y = 0 ; y < data [0 ].length ; y ++) {
78
+ for (var z = 0 ; z < data [0 ][0 ].length ; z ++) {
79
+ var blockType = BlockType .REGISTRY .getByKey (blockDefinitions [data [x ][y ][z ]]);
80
+ if (blockType .air ()) {
81
+ continue ;
82
+ }
83
+
84
+ // Insert blocks
85
+ accessor .setBlockAt (x , y , z , blockType );
86
+ if (x == 0 && z == 0 ) {
87
+ safeY = Math .max (safeY , y + 1 );
88
+ }
80
89
}
81
90
}
82
91
}
83
92
84
- log .info ("Calculating world data..." );
85
-
86
93
var builtAccessor = accessor .build ();
87
94
88
- // Find the first safe block at 0 0
89
- var safeY = 0 ;
90
- for (var y = maxY ; y >= 0 ; y --) {
91
- if (builtAccessor .getBlockState (0 , y , 0 ).blockType () != BlockType .AIR ) {
92
- safeY = y + 1 ;
93
- break ;
94
- }
95
- }
96
-
97
95
var inventory = ProjectedInventory .forUnitTest (List .of (), TestPathConstraint .INSTANCE );
98
96
initialState = NodeState .forInfo (new SFVec3i (0 , safeY , 0 ), inventory );
99
97
log .info ("Initial state: {}" , initialState .blockPosition ().formatXYZ ());
0 commit comments