diff options
Diffstat (limited to '')
-rw-r--r-- | src/BlockEntities/DropSpenserEntity.cpp | 2 | ||||
-rw-r--r-- | src/BlockEntities/MobSpawnerEntity.cpp | 12 |
2 files changed, 7 insertions, 7 deletions
diff --git a/src/BlockEntities/DropSpenserEntity.cpp b/src/BlockEntities/DropSpenserEntity.cpp index e2e40148b..032c5cf12 100644 --- a/src/BlockEntities/DropSpenserEntity.cpp +++ b/src/BlockEntities/DropSpenserEntity.cpp @@ -174,7 +174,7 @@ void cDropSpenserEntity::DropFromSlot(cChunk & a_Chunk, int a_SlotNum) cItems Pickups; Pickups.push_back(m_Contents.RemoveOneItem(a_SlotNum)); - const int PickupSpeed = m_World->GetTickRandomNumber(4) + 2; // At least 2, at most 6 + const int PickupSpeed = GetRandomProvider().RandInt(2, 6); // At least 2, at most 6 int PickupSpeedX = 0, PickupSpeedY = 0, PickupSpeedZ = 0; switch (Meta & E_META_DROPSPENSER_FACING_MASK) { diff --git a/src/BlockEntities/MobSpawnerEntity.cpp b/src/BlockEntities/MobSpawnerEntity.cpp index 47bf85e9b..3bb04682a 100644 --- a/src/BlockEntities/MobSpawnerEntity.cpp +++ b/src/BlockEntities/MobSpawnerEntity.cpp @@ -107,7 +107,7 @@ bool cMobSpawnerEntity::Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) void cMobSpawnerEntity::ResetTimer(void) { - m_SpawnDelay = static_cast<short>(200 + m_World->GetTickRandomNumber(600)); + m_SpawnDelay = GetRandomProvider().RandInt<short>(200, 800); m_World->BroadcastBlockEntity(m_PosX, m_PosY, m_PosZ); } @@ -138,7 +138,7 @@ void cMobSpawnerEntity::SpawnEntity(void) virtual bool Item(cChunk * a_Chunk) { - cFastRandom Random; + auto & Random = GetRandomProvider(); bool EntitiesSpawned = false; for (size_t i = 0; i < 4; i++) @@ -148,9 +148,9 @@ void cMobSpawnerEntity::SpawnEntity(void) break; } - int RelX = static_cast<int>(m_RelX + static_cast<double>(Random.NextFloat() - Random.NextFloat()) * 4.0); - int RelY = m_RelY + Random.NextInt(3) - 1; - int RelZ = static_cast<int>(m_RelZ + static_cast<double>(Random.NextFloat() - Random.NextFloat()) * 4.0); + int RelX = m_RelX + static_cast<int>((Random.RandReal<double>() - Random.RandReal<double>()) * 4.0); + int RelY = m_RelY + Random.RandInt(-1, 1); + int RelZ = m_RelZ + static_cast<int>((Random.RandReal<double>() - Random.RandReal<double>()) * 4.0); cChunk * Chunk = a_Chunk->GetRelNeighborChunkAdjustCoords(RelX, RelZ); if ((Chunk == nullptr) || !Chunk->IsValid()) @@ -171,7 +171,7 @@ void cMobSpawnerEntity::SpawnEntity(void) } Monster->SetPosition(PosX, RelY, PosZ); - Monster->SetYaw(Random.NextFloat() * 360.0f); + Monster->SetYaw(Random.RandReal(360.0f)); if (Chunk->GetWorld()->SpawnMobFinalize(Monster) != cEntity::INVALID_ID) { EntitiesSpawned = true; |