22
33import com .github .cubiomes .CanyonCarverConfig ;
44import com .github .cubiomes .Cubiomes ;
5- import dev .xpple .seedmapper .world .WorldPresetManager ;
65import com .github .cubiomes .Generator ;
76import com .github .cubiomes .ItemStack ;
87import com .github .cubiomes .LootTableContext ;
@@ -232,7 +231,8 @@ private static int locateStronghold(CustomClientCommandSource source) throws Com
232231
233232 BlockPos position = BlockPos .containing (source .getPosition ());
234233
235- TwoDTree tree = SeedMapScreen .strongholdDataCache .computeIfAbsent (new WorldIdentifier (seed , dimension , version , dev .xpple .seedmapper .world .WorldPresetManager .activePreset ().cacheKey ()), _ -> calculateStrongholds (seed , dimension , version ));
234+ SeedIdentifier contextSeed = new SeedIdentifier (seed .seed (), version , generatorFlags );
235+ TwoDTree tree = SeedMapScreen .strongholdDataCache .computeIfAbsent (new WorldIdentifier (contextSeed , dimension ), _ -> calculateStrongholds (seed .seed (), dimension , version , generatorFlags ));
236236
237237 BlockPos pos = tree .nearestTo (position .atY (0 ));
238238
@@ -246,7 +246,7 @@ public static TwoDTree calculateStrongholds(long seed, int dimension, int versio
246246 MemorySegment strongholdIter = StrongholdIter .allocate (arena );
247247 Cubiomes .initFirstStronghold (arena , strongholdIter , version , seed );
248248 MemorySegment generator = Generator .allocate (arena );
249- Cubiomes .setupGenerator (generator , version , WorldPresetManager . activePreset (). generatorFlags () );
249+ Cubiomes .setupGenerator (generator , version , generatorFlags );
250250 Cubiomes .applySeed (generator , dimension , seed );
251251
252252 final int count = version <= Cubiomes .MC_1_8 () ? 3 : 128 ;
@@ -289,11 +289,15 @@ private static int locateLoot(CustomClientCommandSource source, int amount, Ench
289289 throw CommandExceptions .LOOT_NOT_SUPPORTED_EXCEPTION .create ();
290290 }
291291 int dimension = source .getDimension ();
292+ int generatorFlags = source .getGeneratorFlags ();
292293
293294 try (Arena arena = Arena .ofConfined ()) {
294295 MemorySegment generator = Generator .allocate (arena );
295- Cubiomes .setupGenerator (generator , version , WorldPresetManager .activePreset ().generatorFlags ());
296- Cubiomes .applySeed (generator , dimension , seed );
296+ Cubiomes .setupGenerator (generator , version , generatorFlags );
297+ Cubiomes .applySeed (generator , dimension , seed .seed ());
298+
299+ MemorySegment surfaceNoise = SurfaceNoise .allocate (arena );
300+ Cubiomes .initSurfaceNoise (surfaceNoise , dimension , seed .seed ());
297301
298302 BlockPos center = BlockPos .containing (source .getPosition ());
299303
@@ -542,8 +546,8 @@ static ToIntBiFunction<Integer, Integer> getCarverBiomeFunction(Arena arena, lon
542546 if (version > Cubiomes .MC_1_17_1 ()) {
543547 return (_ , _ ) -> -1 ;
544548 }
545- MemorySegment generator = Generator .allocate (arena );
546- Cubiomes .setupGenerator (generator , version , WorldPresetManager . activePreset (). generatorFlags () );
549+ MemorySegment generator = Generator .allocate (arena );
550+ Cubiomes .setupGenerator (generator , version , generatorFlags );
547551 Cubiomes .applySeed (generator , dimension , seed );
548552 return (chunkX , chunkZ ) -> Cubiomes .getBiomeAt (generator , 4 , chunkX << 2 , 0 , chunkZ << 2 );
549553 }
0 commit comments