summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/Entities/Entity.cpp2
-rw-r--r--src/World.cpp8
2 files changed, 5 insertions, 5 deletions
diff --git a/src/Entities/Entity.cpp b/src/Entities/Entity.cpp
index 90683271a..209c10b44 100644
--- a/src/Entities/Entity.cpp
+++ b/src/Entities/Entity.cpp
@@ -972,7 +972,7 @@ void cEntity::HandlePhysics(std::chrono::milliseconds a_Dt, cChunk & a_Chunk)
}
}
}
- else if (!(IsMinecart() || IsTNT()))
+ else if (!(IsMinecart() || IsTNT() || (IsPickup() && (m_TicksAlive < 15))))
{
// Push out entity.
BLOCKTYPE GotBlock;
diff --git a/src/World.cpp b/src/World.cpp
index 8883aae1d..cfbbb4ff6 100644
--- a/src/World.cpp
+++ b/src/World.cpp
@@ -1974,9 +1974,9 @@ void cWorld::SpawnItemPickups(const cItems & a_Pickups, Vector3d a_Pos, double a
continue;
}
- float SpeedX = static_cast<float>(a_FlyAwaySpeed * Random.RandInt(-5, 5));
- float SpeedY = static_cast<float>(a_FlyAwaySpeed * Random.RandInt(50));
- float SpeedZ = static_cast<float>(a_FlyAwaySpeed * Random.RandInt(-5, 5));
+ float SpeedX = static_cast<float>(a_FlyAwaySpeed * Random.RandInt(-10, 10));
+ float SpeedY = static_cast<float>(a_FlyAwaySpeed * Random.RandInt(40, 50));
+ float SpeedZ = static_cast<float>(a_FlyAwaySpeed * Random.RandInt(-10, 10));
auto Pickup = cpp14::make_unique<cPickup>(a_Pos, *itr, a_IsPlayerCreated, Vector3f{SpeedX, SpeedY, SpeedZ});
auto PickupPtr = Pickup.get();
@@ -2226,7 +2226,7 @@ bool cWorld::DropBlockAsPickups(Vector3i a_BlockPos, const cEntity * a_Digger, c
{
return false;
}
- SpawnItemPickups(pickups, Vector3d(0.5, 0.5, 0.5) + a_BlockPos);
+ SpawnItemPickups(pickups, Vector3d(0.5, 0.5, 0.5) + a_BlockPos, 10);
return true;
}