Jump to content

Recommended Posts

Posted

Hi all,

 

I've implemented a double door algorithm that opens neighbor doors based on facing, hinge sides etc. - simple stuff.

Currently, I'm using the RightClickBlock event to check if the player is opening a door. Code below:

 

@SubscribeEvent
public static void onRightClickBlock(PlayerInteractEvent.RightClickBlock event)
{
	if(event.getSide() == LogicalSide.CLIENT)
		return;
		
	if(event.getWorld().getBlockState(event.getPos()).getBlock() instanceof DoorBlock)
	{
		// Logic to open adjacent doors...
	}
}

 

However, the doors don't always open simultaneously - sometimes there's a small delay between opening the two doors, making the process look unclean.

Ideally, the doors should open exactly at the same time.

Is there a better approach, like a faster event I could listen to?

 

Thanks in advance!

Posted

Why don't you cancel the event and open "all" the doors, like the from the event as well, this way perhaps there will be a small delay, but all doors should open at the same time.

Posted
13 minutes ago, diesieben07 said:

Vanilla doors modify the block state on the client as well, as a "prediction". 

 

Listening on both client and server seems to have fixed the issue. Thank you very much!

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.