MovingBlocks / Terasology

Terasology - open source voxel world
http://terasology.org
Apache License 2.0
3.66k stars 1.33k forks source link

Able to throw some items through blocks at just the right angle #2139

Closed Cervator closed 7 years ago

Cervator commented 8 years ago

Not a particularly high priority as it is hard to reproduce and easy to work around if you for some reason didn't mean to stick some item a couple blocks into the ground :-)

Grab a small item like the dynamite or railgun or blueberries from JS or so on. Throw it with q with some force into the horizontal split between two blocks where one is ground level and the other sticks up one block. With enough attempts/practice you can make the item squeeze between the blocks somehow and get stuck one or even two blocks deep before it loses momentum and does the little vibrating thing from being stuck between solid objects (can see by ghosting through the world)

Probably has something to do with items more or less being 2D sprites, but not quite since they do have some minimal depth? Maybe they only look like they have depth in the world and are treated like flat 2D objects by the physics, so if hitting edge on between blocks they can squeeze through? Thus the need to throw it into a corner between blocks so the item will bounce and arrange itself in just the right direction as it hits.

Cervator commented 8 years ago

New scenario: you can throw "light" items (like the tools you start with in Core) through blocks quite some distance in some cases now. Seems distinct from the other case as it only works for some things, will go through the face of blocks with no need for cracks, and is affected more by q powering to max before letting go

The existing scenario still exists as well. Tested in a branch with changes from both #2172 and #2175 merged in.

portokaliu commented 8 years ago

I'm looking into this. I started from trying out stuff in the game and got annoyed that the throwing power "bar" gets stuck (stays on the screen) if you die before you throw. Found out Items were going in the ground as I tried to deal with that.

About a fix though, I was thinking we could consider it a point until we deal with all the collisions (raycasts were on my mind), and when it reaches a minimum velocity or stays still, we just push it slowly out of the block (like Minecraft does when placing blocks over an area that has items in it)

MarcinSc commented 8 years ago

... it's called quantum tunneling.

tdgunes commented 8 years ago

I was about to create a new issue for this. Additionally, I have a gif that shows off this issue. Throwing torches in the ground and they disappear in default mode out