Jump to content

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


Recommended Posts

Posted

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);

Posted

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

Posted

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

Posted

Out of curiosity, It seems unlikely, but do you have to set it after exactly one tick?

Also did you have to send any specific flags with it?

Posted

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

Posted

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

Guest
This topic is now closed to further replies.

Announcements



×
×
  • Create New...

Important Information

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