Jump to content

[1.7.2][SOLVED] Inability to rotate stairs with metadata


ZZT

Recommended Posts

Solved

 

Ah alrighty.

I already made a schedule type system so if need be I can delay execution for a few ticks.

 

*Update*

 

Sorry about the 3 day delay, But I finally got around to testing it out.

It turns out that it does work for both the server and client worlds without the need of a tick delay.

 

Sadly the problem was due to a helper function not actually setting the rotation correctly.

Infact it just set its metadata to 0; Which is why I had no idea what was going on.

 

Thanks for your help everyone

 

 

Oh hi,

As the title suggests I am attempting to rotate stairs with metadata.

To be exact I am trying to place a stair with the desired rotation.

 

I am using the Clientside World Object which may be an issue but i doubt it.

 

At first I used

this.world.setBlock(x,y,z,this.block,this.metadata,3);

However it just sets the stair ignoring the metadata(attempted numbers 0-15).

After reading some thread on bukkit they suggested waiting a tick or so then updating the metadata.

I also tried that, but it didn't work out either.

This is what I run a tick or so after placing the stair.

this.world.setBlockMetadataWithNotify(x,y,z,this.metadata,2);

Link to comment
Share on other sites

Ah, Thanks buddy.

I was hoping that wasn't the issue simply because I'm using the client world to debug/test without having to fix the damage done to the world.

 

I will post back later to confirm that using the client world was the issue

Link to comment
Share on other sites

I built a pretty robust world editor recently.  Noticed several blocks you have to set the metadata 1 tick after setting the block or the way the block functions will overwrite the position.

 

Don't think it was stairs, but you might run into it in other places.

Long time Bukkit & Forge Programmer

Happy to try and help

Link to comment
Share on other sites

I did 2 ticks to be safe.  1 should work, but I had some stuff running on seperate threads, so wasn't 100% on when it would set.

 

Creating a small class that recorded x,y,z and desired metadata, with a counter variable.  Each tick iterate through, do what is necessary(incriment or execute). 

 

Probably a bit elaborate, but when I did it, wasn't sure how many ticks I would need.

 

 

Long time Bukkit & Forge Programmer

Happy to try and help

Link to comment
Share on other sites

Ah alrighty.

I already made a schedule type system so if need be I can delay execution for a few ticks.

 

*Update*

 

Sorry about the 3 day delay, But I finally got around to testing it out.

It turns out that it does work for both the server and client worlds without the need of a tick delay.

 

Sadly the problem was due to a helper function not actually setting the rotation correctly.

Infact it just set its metadata to 0; Which is why I had no idea what was going on.

 

Thanks for your help everyone

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.


×
×
  • Create New...

Important Information

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