Here's some code that may help, I don't understand the full logistics of your issue, but if you're missing a direction value, this is one way to set the blockstate with one.
Apologies if it isn't of use ofc ❤️
Hi! I'm not entirely sure if this is helpful to you, but overwriting onBlockPlacedBy inside the class and calling a method that uses the getFacingFromVector method, you should be able to set a BlockState dependant on that.
You expected your block to have a FACING direction despite not telling the game it had a FACING direction. Extending StairBlock isn't sufficient, because you didn't call super.
Dude, I have absolutely no idea.
But if you figure it out and make a couple of example codes out of it, I'd be very keen to incorporate into a tutorial project!
-TGG
Success and Consume are basically identical, the only thing that makes a distinction is whether or not the player's arm swings when the action is performed.
super.render already renders the buttons, and since you want your buttons to render only on certain conditions, I think you can just remove super.render in the render method.
edit: whelp when i posted this ChampionAsh's message didn't load ?
This seems like an issue of rendering the same widget twice. If you look at the super method for renderButton, you can see that the button is already rendered with the standard textures before calling your own blit to render. Try removing the super method and replacing what's missing inside your own method.