summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMat <mail@mathias.is>2020-03-23 01:05:47 +0100
committerGitHub <noreply@github.com>2020-03-23 01:05:47 +0100
commit7700116330534d7129cb1aeeb10b1b8ad20b3c8f (patch)
treeea4f392ead2f7dd832c7bd805118a1e6a18f091f
parentDon't push blocks outside world height limits (#4516) (diff)
downloadcuberite-7700116330534d7129cb1aeeb10b1b8ad20b3c8f.tar
cuberite-7700116330534d7129cb1aeeb10b1b8ad20b3c8f.tar.gz
cuberite-7700116330534d7129cb1aeeb10b1b8ad20b3c8f.tar.bz2
cuberite-7700116330534d7129cb1aeeb10b1b8ad20b3c8f.tar.lz
cuberite-7700116330534d7129cb1aeeb10b1b8ad20b3c8f.tar.xz
cuberite-7700116330534d7129cb1aeeb10b1b8ad20b3c8f.tar.zst
cuberite-7700116330534d7129cb1aeeb10b1b8ad20b3c8f.zip
-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;
}