mirror of
https://github.com/LeavesMC/Leaves.git
synced 2025-12-21 15:59:33 +00:00
Update 1.20.2 (#139)
This commit is contained in:
@@ -1,39 +0,0 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: violetc <58360096+s-yh-china@users.noreply.github.com>
|
||||
Date: Mon, 15 Aug 2022 08:23:51 +0800
|
||||
Subject: [PATCH] Use thread unsafe random for mob spawning
|
||||
|
||||
This patch is Powered by Pufferfish(https://github.com/pufferfish-gg/Pufferfish)
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/level/NaturalSpawner.java b/src/main/java/net/minecraft/world/level/NaturalSpawner.java
|
||||
index e85ddf92b4f6f044e2b5834a172f37d78e702ef3..9af07ebff3a510a4e3fc71ab4d08897db02b7299 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/NaturalSpawner.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/NaturalSpawner.java
|
||||
@@ -433,12 +433,21 @@ public final class NaturalSpawner {
|
||||
|
||||
private static BlockPos getRandomPosWithin(Level world, LevelChunk chunk) {
|
||||
ChunkPos chunkcoordintpair = chunk.getPos();
|
||||
- int i = chunkcoordintpair.getMinBlockX() + world.random.nextInt(16);
|
||||
- int j = chunkcoordintpair.getMinBlockZ() + world.random.nextInt(16);
|
||||
- int k = chunk.getHeight(Heightmap.Types.WORLD_SURFACE, i, j) + 1;
|
||||
- int l = Mth.randomBetweenInclusive(world.random, world.getMinBuildHeight(), k);
|
||||
-
|
||||
- return new BlockPos(i, l, j);
|
||||
+ // Leaves start - use thread unsafe random
|
||||
+ if (top.leavesmc.leaves.LeavesConfig.useMoreThreadUnsafeRandom) {
|
||||
+ int i = chunkcoordintpair.getMinBlockX() + world.getThreadUnsafeRandom().nextInt(16);
|
||||
+ int j = chunkcoordintpair.getMinBlockZ() + world.getThreadUnsafeRandom().nextInt(16);
|
||||
+ int k = chunk.getHeight(Heightmap.Types.WORLD_SURFACE, i, j) + 1;
|
||||
+ int l = Mth.randomBetweenInclusive(world.getThreadUnsafeRandom(), world.getMinBuildHeight(), k);
|
||||
+ return new BlockPos(i, l, j);
|
||||
+ } else {
|
||||
+ int i = chunkcoordintpair.getMinBlockX() + world.random.nextInt(16);
|
||||
+ int j = chunkcoordintpair.getMinBlockZ() + world.random.nextInt(16);
|
||||
+ int k = chunk.getHeight(Heightmap.Types.WORLD_SURFACE, i, j) + 1;
|
||||
+ int l = Mth.randomBetweenInclusive(world.random, world.getMinBuildHeight(), k);
|
||||
+ return new BlockPos(i, l, j);
|
||||
+ }
|
||||
+ // Leaves end - use thread unsafe random
|
||||
}
|
||||
|
||||
public static boolean isValidEmptySpawnBlock(BlockGetter blockView, BlockPos pos, BlockState state, FluidState fluidState, EntityType<?> entityType) {
|
||||
Reference in New Issue
Block a user