Jump to content

[SOLVED] [1.17.1] Custom block with transparent parts makes block behind invisible


Recommended Posts

Posted (edited)

Hey guys!

I encountered the following problem when updating my mod from 1.16 to 1.17: If I place a block of my mod (e.g. stairs) in front of another block, the hidden side of the back block is not rendered.

eKAThcd.png

It worked perfectly on 1.16, the problem only appeared when I moved to 1.17. I have already tried setting the render layer of the blocks from translucent to solid and to cutout, but nothing has changed.

The main feature of my mod is that the blocks of my mod (frames) can take the texture of any block. If I then take a transparent block (e.g. red stained glass) and "disguise" the frame stairs with it, you can see that on all sides that are completely covered by the stairs, the blocks behind them become invisible. (see 2nd picture) But on the side that is only covered to 3/4, the grass block behind is visible through the "red stained glass stairs" (see 3rd picture), which is correct.

AeHEZUa.png

LPSbZII.png

For the stairs used in the first picture, a classic json model is used; when the stairs are disguised (2nd and 3rd picture), I created a BakedModel.

 

Please let me know, if you need more information or specific code parts. It looks to me like I'm missing on something very obvious, so I'm sorry if this question is stupid... please don't be mad at me

 

Here's my github repository: https://github.com/PianoManu/BlockCarpentry/tree/Forge-1.17

The block's main class is mod.pianomanu.blockcarpentry.block.StairsFrameBlock

The class where I created the baked model is mod.pianomanu.blockcarpentry.bakedmodels.StairsBakedModel

I'm setting the render layers in mod.pianomanu.blockcarpentry.setup.RenderSetup

All blocks and items are registered in mod.pianomanu.blockcarpentry.setup.Registration

 

 

Thanks in advance!!

Regards, Manu

Edited by PianoManu
Posted

You need to set the block's render type in your client setup.

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
public class RenderSetup {
    public static void setup() {
      ...
        ItemBlockRenderTypes.setRenderLayer(Registration.STAIRS_FRAMEBLOCK.get(), RenderType.translucent());
      ...
    }
}

Here's what I'm currently doing in my setup class. And the setup() method is called when the FMLClientSetupEvent is fired. The "..." are similar lines I removed, because the only things that change, are the blocks in the first parameter...

 

As I said, I already used RenderType.solid() and RenderType.cutout() and although it changed the model's appearance, it did not fix the problem. Or perhaps I misunderstood you? In that case, could you please be more specific, what I should do?

Many thanks for your help!

Regards, Manu

  • PianoManu changed the title to [SOLVED] [1.17.1] Custom block with transparent parts makes block behind invisible

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

    • that happens every time I enter a new dimension.
    • This is the last line before the crash: [ebwizardry]: Synchronising spell emitters for PixelTraveler But I have no idea what this means
    • What in particular? I barely used that mod this time around, and it's never been a problem in the past.
    • Im trying to build my mod using shade since i use the luaj library however i keep getting this error Reason: Task ':reobfJar' uses this output of task ':shadowJar' without declaring an explicit or implicit dependency. This can lead to incorrect results being produced, depending on what order the tasks are executed. So i try adding reobfJar.dependsOn shadowJar  Could not get unknown property 'reobfJar' for object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler. my gradle file plugins { id 'eclipse' id 'idea' id 'maven-publish' id 'net.minecraftforge.gradle' version '[6.0,6.2)' id 'com.github.johnrengelman.shadow' version '7.1.2' id 'org.spongepowered.mixin' version '0.7.+' } apply plugin: 'net.minecraftforge.gradle' apply plugin: 'org.spongepowered.mixin' apply plugin: 'com.github.johnrengelman.shadow' version = mod_version group = mod_group_id base { archivesName = mod_id } // Mojang ships Java 17 to end users in 1.18+, so your mod should target Java 17. java.toolchain.languageVersion = JavaLanguageVersion.of(17) //jarJar.enable() println "Java: ${System.getProperty 'java.version'}, JVM: ${System.getProperty 'java.vm.version'} (${System.getProperty 'java.vendor'}), Arch: ${System.getProperty 'os.arch'}" minecraft { mappings channel: mapping_channel, version: mapping_version copyIdeResources = true runs { configureEach { workingDirectory project.file('run') property 'forge.logging.markers', 'REGISTRIES' property 'forge.logging.console.level', 'debug' arg "-mixin.config=derp.mixin.json" mods { "${mod_id}" { source sourceSets.main } } } client { // Comma-separated list of namespaces to load gametests from. Empty = all namespaces. property 'forge.enabledGameTestNamespaces', mod_id } server { property 'forge.enabledGameTestNamespaces', mod_id args '--nogui' } gameTestServer { property 'forge.enabledGameTestNamespaces', mod_id } data { workingDirectory project.file('run-data') args '--mod', mod_id, '--all', '--output', file('src/generated/resources/'), '--existing', file('src/main/resources/') } } } sourceSets.main.resources { srcDir 'src/generated/resources' } repositories { flatDir { dirs './libs' } maven { url = "https://jitpack.io" } } configurations { shade implementation.extendsFrom shade } dependencies { minecraft "net.minecraftforge:forge:${minecraft_version}-${forge_version}" implementation 'org.luaj:luaj-jse-3.0.2' implementation fg.deobf("com.github.Virtuoel:Pehkui:${pehkui_version}") annotationProcessor 'org.spongepowered:mixin:0.8.5:processor' minecraftLibrary 'luaj:luaj-jse:3.0.2' shade 'luaj:luaj-jse:3.0.2' } // Example for how to get properties into the manifest for reading at runtime. tasks.named('jar', Jar).configure { manifest { attributes([ 'Specification-Title' : mod_id, 'Specification-Vendor' : mod_authors, 'Specification-Version' : '1', // We are version 1 of ourselves 'Implementation-Title' : project.name, 'Implementation-Version' : project.jar.archiveVersion, 'Implementation-Vendor' : mod_authors, 'Implementation-Timestamp': new Date().format("yyyy-MM-dd'T'HH:mm:ssZ"), "TweakClass" : "org.spongepowered.asm.launch.MixinTweaker", "TweakOrder" : 0, "MixinConfigs" : "derp.mixin.json" ]) } rename 'mixin.refmap.json', 'derp.mixin-refmap.json' } shadowJar { archiveClassifier = '' configurations = [project.configurations.shade] finalizedBy 'reobfShadowJar' } assemble.dependsOn shadowJar reobf { re shadowJar {} } publishing { publications { mavenJava(MavenPublication) { artifact jar } } repositories { maven { url "file://${project.projectDir}/mcmodsrepo" } } } my entire project:https://github.com/kevin051606/DERP-Mod/tree/Derp-1.0-1.20
  • Topics

×
×
  • Create New...

Important Information

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