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.

Announcements



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • Hi, my name is Gatis. Mostly all I do is play minecraft on Hypixel server. I play Skyblock where almost every player has installed QOL mods. They are nice and work nice but recently the grind I'm on requires not wasting time on boosts and if I'm watching something I usually miss it. Let me explain better. So there is "Mining speed boost" when it's ready message appears in chat. Mod I've been using allows to copy chat message, paste it in mod and next time same message appears it flashes big notification message on screen that speed boost is ready. The thing is somehow I still miss the notification. SO, I want to create mod that can detect that message and make more noticable notification (ex. bigger) or even stop me from moving for 10 sec if I don't use it instantly. I have no knowledge about java I have prepared intellij with forge on 1.8.9 I'm just left with this:                 package com.example.examplemod;                  import net.minecraft.init.Blocks;                import net.minecraftforge.fml.common.Mod;                import net.minecraftforge.fml.common.Mod.EventHandler;                import net.minecraftforge.fml.common.event.FMLInitializationEvent;                 @Mod(modid = ExampleMod.MODID, version = ExampleMod.VERSION)               public class GatisMOD              {                           public static final String MODID = "GatisMOD"; \                           public static final String VERSION = "1.0";                            @EventHandler                          public void init(FMLInitializationEvent event)                          {                                      // some example code                                      System.out.println("DIRT BLOCK >> "+Blocks.dirt.getUnlocalizedName());                          } }     I've watched many video, mostly they show how to setup everything but how to create, prepare file and later (export I guess) export to import in mods folder to use they don't I'd appreciate any help, maybe someone would explain some things to me. In future I have plans to make other feature but I guess not for now.
    • I don't think embeddium and rubidium can be used together. Try removing one of them.
    • I have been attempting to troubleshoot my personal modpack created on Curseforge for 1.18.2 Forge but I keep getting the Exit Code: 1 crash upon launching the game. When I open the debug.log I find the error for "Duplicate mods found" which simply isn't the case as there isn't a single mod with the same name. Most files are for the correct version as far as I can tell so I think there may be mods that are conflicting and the game is confusing them as "Duplicates". (Or I simply didn't check the versions correctly. Debug.log file paste: https://paste.ee/p/pQwZo#s=0 I don't normally frequent forums and don't normally ask for help online but guidance would be greatly appreciated. I can provide any other info needed  
  • Topics

×
×
  • Create New...

Important Information

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