Jump to content

[1.12.2] Can't Get Dropped Block Texture to Show - From A Variant Block [SOLVED]


Recommended Posts

Posted (edited)

So I have some Variant blocks. And they are great, and work fine. They replicate Smoothstone and when you break them you get the Cobblestone Counterpart. I took the Vanilla function basically right out of the BlockStone class and it works fine, but only with one of the Variant Blocks. Here is what happens:

https://www.dropbox.com/s/bweu8qclnzjn1m4/ErrorHelp.mp4?dl=0

 

As you can see, the Blue Block (Default State) breaks just fine and drops the Cobblestone Counterpart (which is a separate block entirely). The Pink Block, which is a Variant with a meta data value of 4, drops the correct block, the Pink Cobble Counterpart and when you pick it up or place it, it renders fine, but when it is "dropped" by the Pink Stone it isn't rendering. I can throw the pink cobble on the floor and it renders, I can break the pink cobble and it renders just fine. There are no rendering errors on startup, or registry errors. And like I said, if I place the Pink Cobblestone standalone and break it it drops itself and has no issue rendering the texture. It is only when I break the Pink Smoothstone. So maybe I overlooked something, but the drop code is basically straight out of the vanilla code. 

 

https://pastebin.com/wXs9qTaZ (Drop code is on line 119)

https://pastebin.com/wtPK4aye (EnumHandler)

 

I don't think it is a JSON issue since nothing spits out on startup and the block renders just fine when I break it on its own, but if you still need them just let me know and I will post them.

Edited by HalestormXV
Posted

You need to register the item model for all of your block variants.

 

I do it like this:

https://github.com/Draco18s/ReasonableRealism/blob/master/src/main/java/com/draco18s/hardlib/client/ClientEasyRegistry.java#L45-L54

  • Like 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.

Posted
15 hours ago, Draco18s said:

You need to register the item model for all of your block variants.

 

I do it like this:

https://github.com/Draco18s/ReasonableRealism/blob/master/src/main/java/com/draco18s/hardlib/client/ClientEasyRegistry.java#L45-L54

Okay and thanks for the example and explanation. I appreciate it. Question though that I have is, this holds true even though the block that is supposed to “Drop” isn’t a Variant block? I guess I’m just trying to understand how it works. All the Variant blocks drop themselves as items just fine when you break them. The only two blocks that aren’t supposed to drop themselves are the smoothstone ones. Meta data 0 and Meta data 4. They are supposed to drop an entirely separate block (kinda like glow stone and dust) The meta 0 drops the counterpart but the Meta 4 drops the checkered box. Once again both the blocks that Meta 0 and Meta 4 are supposed to drop are entirely separate blocks. So you still need to register separate models for each?

Posted

As far as I am concerned, any block variant that might exist gets an item, for the purposes of creative inventories and silk touch.

The standard drop might be different and that's fine, but the variant should probably still have an Item version of itself.

 

15 minutes ago, HalestormXV said:

They are supposed to drop an entirely separate block (kinda like glow stone and dust) The meta 0 drops the counterpart but the Meta 4 drops the checkered box. Once again both the blocks that Meta 0 and Meta 4 are supposed to drop are entirely separate blocks. So you still need to register separate models for each?

Again, whatever item that is supposed to be, you need to register a model for it.

 

I can't tell you much more because your post is confusing as all get out.

15 minutes ago, HalestormXV said:

All the Variant blocks drop themselves as items just fine when you break them.
[...]

The only two blocks that aren’t supposed to drop themselves are the smoothstone ones, which are not working.

 

  • Like 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.

Posted
On 2/4/2018 at 8:55 PM, Draco18s said:

You need to register the item model for all of your block variants.

 

I do it like this:

https://github.com/Draco18s/ReasonableRealism/blob/master/src/main/java/com/draco18s/hardlib/client/ClientEasyRegistry.java#L45-L54

Thank you for the help and the example code. I apprecaite it. Okay, I know it is terribly confusing. Unfortunatly trying to communicate this particular issue is difficult. Here is a video with explanation to clear it up.

 

https://www.dropbox.com/s/pz5brwov61md321/ErrorRender.mp4?dl=0

 

As you can see the hotbar has the Variant Blocks. The block with Meta 0 (the intital block) is the one that I have 59 of in the inventory. 

Every block in the hotbar is a variant block (meta block, subtype, etc. whatever it is correctly called now), that all have models registered for both items and blocks (and they have an item model registered as well as you can see by me placing them and breaking them later in the video)

And when I break them (the light blue ones), they drop themselves with the correct model. They drop the correct block of themself and correclty render the item as it is on the ground.

Once I break the Light Blue Smoothstone, you can see it drops the Light Blue Cobblestone as it should (which is a unique block unto itself).

As you can see I then place both the Light Blue Cobblestone and the Pink Cobblestone. (Both are entirely separate blocks, not variant blocks, nothing. Just separate blocks with different IDs.)

Once I break them as you can see in the video they drop themselves correctly just like in Minecraft. The model is rendered, the items is fine, and it has its own item model, everything is good.

 

I then go to break the pink blocks and as you can see in the video they all drop themselves and have a model registered to each along with their item model and drop it accordingly.

I then go to break the Pink Smoothstone and as you can see the checkered box shows up. However, it is still the correct block (Pink Cobblestone, as you can see when it goes into my inventory).

So I just am failing to see why it does this and why it specifically is this one block when all of the others do exactly what they should.

Posted

BUMP - I'm at a loss here. I can't figure this out for the life of me. It should literally be so simple. I break a block, I get a different block. Why it works with one and not the other is beyond me. Hopefully somone can shed some light on this. I mean it is probably so stupid and I am so frustrated that I just can't see it. Here is the code, it is easier to just post my GitHub link instead of pastebin everything.

 

CODE:

https://github.com/HalestormXV/Runic-Sorcery/blob/master/src/main/java/halestormxv/init/BlockInit.java

https://github.com/HalestormXV/Runic-Sorcery/blob/master/src/main/java/halestormxv/utils/handlers/EnumHandlerStone.java

https://github.com/HalestormXV/Runic-Sorcery/blob/master/src/main/java/halestormxv/objects/blocks/BlockStones.java

 

JSONS

https://github.com/HalestormXV/Runic-Sorcery/blob/master/src/main/resources/assets/hsrs/blockstates/block_mystic_cobblestone.json

https://github.com/HalestormXV/Runic-Sorcery/blob/master/src/main/resources/assets/hsrs/blockstates/stone.json

https://github.com/HalestormXV/Runic-Sorcery/blob/master/src/main/resources/assets/hsrs/models/block/block_mystic_cobblestone.json

 

And yes @Draco18s I did read what you said and I understood what you meant. As a matter of fact I used it to render my furnace block which has multiple variants. But the issue here is that the block that should drop is literally just a basic block. No variants, nothing. The block that should drop it is the one that is a Variant, but even as you may see in the code, I beleive I accounted for that.

Posted (edited)

This line:

https://github.com/HalestormXV/Runic-Sorcery/blob/master/src/main/java/halestormxv/objects/blocks/BlockStones.java#L130

Says to drop the item "Mystic Cobble"

While this line:

https://github.com/HalestormXV/Runic-Sorcery/blob/master/src/main/java/halestormxv/objects/blocks/BlockStones.java#L123

Says to drop the item "Lupresium Cobble"

combine that with this line:

https://github.com/HalestormXV/Runic-Sorcery/blob/master/src/main/java/halestormxv/objects/blocks/BlockStones.java#L58

Which sets the item stack of the above item (mystic or lupresium cobble) to have a metadata value. For mystic cobble, this value is 4.

 

You never register a model for Mystic Cobble with metadata 4.

Edited by Draco18s
  • Like 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.

Posted (edited)

 

Ahhh, I understand, I think. So even though Mystic Cobble is a totally separate block, it is technically dropping Mystic Cobble (Meta/Damage 4) and Minecraft is kinda like Wtf? There is no Mystic Cobble with Meta 4. Throw him checkered box. 

 

So does that mean I'd have to strip meta 4 from the https://github.com/HalestormXV/Runic-Sorcery/blob/master/src/main/java/halestormxv/objects/blocks/BlockStones.java#L130  before returning the item? Or is there an alternative way? Set the dropped item to have "no damage." I am hoping that I am not going to need the dreaded bitWise operators again. They always screw me up.

 

EDIT: Never Mind, Im an idiot....

 

if (state.getValue(VARIANT) == EnumHandlerStone.EnumTypeStone.MYSTIC_SMOOTHSTONE)
{
    return 0;
}

 

in my damageDropped fixed it because I only care about the MysticSmoothStone when it drops. It just needs to make sure to not damage that. Everything else's defaults are fine. There shouldn\t be anything wrong with doing it that way right?

Edited by HalestormXV
Posted

Bingo

  • Like 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.

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



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • When I first heard about Bitcoin back in 2018, I was skeptical. The idea of a decentralized, digital currency seemed too good to be true. But I was intrigued as I learned more about the technology behind it and its potential. I started small, investing just a few hundred dollars, dipping my toes into the cryptocurrency waters. At first, it was exhilarating to watch the value of my investment grow exponentially. I felt like I was part of the future, an early adopter of this revolutionary new asset. But that euphoria was short-lived. One day, I logged into my digital wallet only to find it empty - my Bitcoin had vanished without a trace. It turned out that the online exchange I had trusted had been hacked, and my funds were stolen. I was devastated, both financially and emotionally. All the potential I had seen in Bitcoin was tainted by the harsh reality that with decentralization came a lack of regulation and oversight. My hard-earned money was gone, lost to the ether of the digital world. This experience taught me a painful lesson about the price of trust in the uncharted territory of cryptocurrency. While the technology holds incredible promise, the risks can be catastrophic if you don't approach it with extreme caution. My Bitcoin investment gamble had failed, and I was left to pick up the pieces, wiser but poorer for having placed my faith in the wrong hands. My sincere appreciation goes to MUYERN TRUST HACKER. You are my hero in recovering my lost funds. Send a direct m a i l ( muyerntrusted ( @ ) mail-me ( . )c o m ) or message on whats app : + 1 ( 4-4-0 ) ( 3 -3 -5 ) ( 0-2-0-5 )
    • You could try posting a log (if there is no log at all, it may be the launcher you are using, the FAQ may have info on how to enable the log) as described in the FAQ, however this will probably need to be reported to/remedied by the mod author.
    • So me and a couple of friends are playing with a shitpost mod pack and one of the mods in the pack is corail tombstone and for some reason there is a problem with it, where on death to fire the player will get kicked out of the server and the tombstone will not spawn basically deleting an entire inventory, it doesn't matter what type of fire it is, whether it's from vanilla fire/lava, or from modded fire like ice&fire/lycanites and it's common enough to where everyone on the server has experienced at least once or twice and it doesn't give any crash log. a solution to this would be much appreciated thank you!
    • It is 1.12.2 - I have no idea if there is a 1.12 pack
  • Topics

×
×
  • Create New...

Important Information

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