Jump to content

get texture from block


BlockOverflow

Recommended Posts

Hello,

 

I am trying to get the texture from a specific blockstate. I have read the documenation (https://mcforge.readthedocs.io/en/latest/models/using/). I dont fully understand the part with the mapped ModelResourceLocation. How I can get access to the IStateMapper?

 

So far I was able to get the blockstate from a block within a chunk.

After that I can get the textureatlas from

                ModelManager modelManager = this.mc.getModelManager();
                modelManager.getBlockModelShapes().getTexture(blockState);

getTexture however seems to be deprecated. 

So with

                BlockRendererDispatcher brd = this.mc.getBlockRendererDispatcher();
                IBakedModel bmodel = brd.getBlockModelShapes().getModel(blockState);

I will get a BakedModel but I dont know what I can do next to get the actual texture.

 

My goal is to get the TOP face texture to combine those textures to a top down map.

I don't know if I need a custom renderer for that.

I would love to get some guidance.

 

BlockOverflow

Link to comment
Share on other sites

You need to figure out which face of the model you're interested in.

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Link to comment
Share on other sites

The face normal of the face I am looking for would be (0,1,0). Then I would need to iterate over each face normal and get the face id of the matching normal. Is this what you wanted to know?

 

Or do you wanted me to know that this is impossible and I should render the chunk within a separated thread?

 

Sorry, maybe you can clarify it for me :)

Link to comment
Share on other sites

I've never done it, so I don't know the specific process.

But also be aware that multiple faces (or none!) could match that normal vector for an arbitrary block model.

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Link to comment
Share on other sites

2 hours ago, BlockOverflow said:

I cant find the connection between a BlockState and a IStateMapper

IStateMapper "serializes" a BlockState into a json string. For example, see this implementation I used in order to use different json files based on the two values of a boolean property:

https://github.com/Draco18s/ReasonableRealism/blob/1.12.1/src/main/java/com/draco18s/flowers/states/StateMapperFlowers.java

Edited by Draco18s

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Link to comment
Share on other sites

On 2/14/2020 at 7:25 PM, Draco18s said:

IStateMapper "serializes" a BlockState into a json string. For example, see this implementation I used in order to use different json files based on the two values of a boolean property:

https://github.com/Draco18s/ReasonableRealism/blob/1.12.1/src/main/java/com/draco18s/flowers/states/StateMapperFlowers.java

Thanks for you reply and thank you for the resource. So the statemapper serilializes mhhh than this is not what I have exptected. My idea was to not use a custom renderer to produce those top down chunk renderings instead using the already loaded baked textures from the models.

So from what I have understand this is not quite possible and I should implement an orthographic projection camera which renders each individual chunk into a texture.

 

 

 

 

Link to comment
Share on other sites

34 minutes ago, BlockOverflow said:

So from what I have understand this is not quite possible and I should implement an orthographic projection camera which renders each individual chunk into a texture.

That would probably work better, yes.

  • Thanks 1

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Link to comment
Share on other sites

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.