diff options
-rw-r--r-- | src/Chunk.cpp | 2 | ||||
-rw-r--r-- | src/MobSpawner.cpp | 3 | ||||
-rw-r--r-- | src/World.cpp | 10 |
3 files changed, 8 insertions, 7 deletions
diff --git a/src/Chunk.cpp b/src/Chunk.cpp index a5818fbeb..b6576486c 100644 --- a/src/Chunk.cpp +++ b/src/Chunk.cpp @@ -514,7 +514,7 @@ void cChunk::GetThreeRandomNumbers(int & a_X, int & a_Y, int & a_Z, int a_MaxX, ); // MTRand gives an inclusive range [0, Max] but this gives the exclusive range [0, Max) - int OverallMax = (a_MaxX - 1) * (a_MaxY - 1) * (a_MaxZ - 1); + int OverallMax = (a_MaxX * a_MaxY * a_MaxZ) - 1; int Random = m_World->GetTickRandomNumber(OverallMax); a_X = Random % a_MaxX; diff --git a/src/MobSpawner.cpp b/src/MobSpawner.cpp index 98c428bab..2ddf60bbd 100644 --- a/src/MobSpawner.cpp +++ b/src/MobSpawner.cpp @@ -112,7 +112,8 @@ eMonsterType cMobSpawner::ChooseMobType(EMCSBiome a_Biome) { std::set<eMonsterType>::iterator itr = allowedMobs.begin(); - std::advance(itr, GetRandomProvider().RandInt<size_t>(allowedMobsSize - 1)); + using DiffType = decltype(itr)::difference_type; + std::advance(itr, GetRandomProvider().RandInt<DiffType>(allowedMobsSize - 1)); return *itr; } diff --git a/src/World.cpp b/src/World.cpp index 0fa719670..9351dd0de 100644 --- a/src/World.cpp +++ b/src/World.cpp @@ -1733,7 +1733,7 @@ bool cWorld::GrowRipePlant(int a_BlockX, int a_BlockY, int a_BlockZ, bool a_IsBy } else { - BlockMeta += random.RandInt(2, 5); + BlockMeta += random.RandInt<NIBBLETYPE>(2, 5); BlockMeta = std::min(BlockMeta, static_cast<NIBBLETYPE>(7)); } FastSetBlock(a_BlockX, a_BlockY, a_BlockZ, BlockType, BlockMeta); @@ -1768,7 +1768,7 @@ bool cWorld::GrowRipePlant(int a_BlockX, int a_BlockY, int a_BlockZ, bool a_IsBy } else { - BlockMeta += random.RandInt(2, 5); + BlockMeta += random.RandInt<NIBBLETYPE>(2, 5); BlockMeta = std::min(BlockMeta, static_cast<NIBBLETYPE>(7)); } FastSetBlock(a_BlockX, a_BlockY, a_BlockZ, BlockType, BlockMeta); @@ -1791,7 +1791,7 @@ bool cWorld::GrowRipePlant(int a_BlockX, int a_BlockY, int a_BlockZ, bool a_IsBy } else { - BlockMeta += random.RandInt(2, 5); + BlockMeta += random.RandInt<NIBBLETYPE>(2, 5); BlockMeta = std::min(BlockMeta, static_cast<NIBBLETYPE>(7)); } FastSetBlock(a_BlockX, a_BlockY, a_BlockZ, BlockType, BlockMeta); @@ -1823,7 +1823,7 @@ bool cWorld::GrowRipePlant(int a_BlockX, int a_BlockY, int a_BlockZ, bool a_IsBy } else { - BlockMeta += random.RandInt(2, 5); + BlockMeta += random.RandInt<NIBBLETYPE>(2, 5); BlockMeta = std::min(BlockMeta, static_cast<NIBBLETYPE>(7)); } FastSetBlock(a_BlockX, a_BlockY, a_BlockZ, BlockType, BlockMeta); @@ -1846,7 +1846,7 @@ bool cWorld::GrowRipePlant(int a_BlockX, int a_BlockY, int a_BlockZ, bool a_IsBy } else { - BlockMeta += random.RandInt(2, 5); + BlockMeta += random.RandInt<NIBBLETYPE>(2, 5); BlockMeta = std::min(BlockMeta, static_cast<NIBBLETYPE>(7)); } FastSetBlock(a_BlockX, a_BlockY, a_BlockZ, BlockType, BlockMeta); |