Jump to content

[1.12] Best way to make a block simulate sliding/getting pushed?


Recommended Posts

Posted (edited)

Hi.
I'm planning to make a sliding door, but I'm uncertain on how to go about implementing it.
I'd like to avoid too complex multi-block structures because I don't really know enough about how to make them.
Instead I've been thinking of simply having a normal door (albeit with a different model) that is somehow animated, to simulate the door sliding open, when interacted with.
However, I'm not sure how to best achieve the effect.

 

The ideas I have so far:
- Spawning an entity, replacing the "closed door"-block, have the entity move to desired position and then replace the entity with an "open door"-block.

- Simulate the pushing effect of a block being pushed by a piston

- Making the door based on the piston itself. Essentialy making a pseudo piston which is unable to push things, and simply acts as an extendable block.

I'm quite new to minecraft modding, and I'm definitely no expert at java, but I do know it.
Any help at all would be appreciated!

Edited by 44tim44
Posted

I would recommend looking into Tile entity special renderers (TESR) to create an animation. I have used it to make double doors that rotate open and a door with a sliding panel.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.