diff --git a/gradle.properties b/gradle.properties index 6191927f8..fb34ae862 100644 --- a/gradle.properties +++ b/gradle.properties @@ -16,7 +16,7 @@ cursegradle_version = 1.4.0 # dependency versions registrate_version = 1.0.4 -flywheel_version = 1.16-0.2.0.28 +flywheel_version = 1.16-0.2.0.29 jei_version = 7.7.1.110 # curseforge information diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/glue/GlueInstance.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/glue/GlueInstance.java index b8f333dc6..19c17b07c 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/glue/GlueInstance.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/glue/GlueInstance.java @@ -56,7 +56,7 @@ public class GlueInstance extends EntityInstance implements ITi } private Instancer getInstancer(MaterialManager materialManager, SuperGlueEntity entity) { - MaterialGroup group = USE_ATLAS ? materialManager.defaultSolid() : materialManager.solid(TextureRenderState.get(TEXTURE)); + MaterialGroup group = USE_ATLAS ? materialManager.defaultCutout() : materialManager.cutout(TextureRenderState.get(TEXTURE)); return group.material(Materials.ORIENTED).model(entity.getType(), GlueModel::new); } diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/render/ContraptionRenderDispatcher.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/render/ContraptionRenderDispatcher.java index ebd61a4a4..1ffe55a77 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/render/ContraptionRenderDispatcher.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/render/ContraptionRenderDispatcher.java @@ -137,6 +137,7 @@ public class ContraptionRenderDispatcher { } } + GlTextureUnit.T4.makeActive(); glBindTexture(GL_TEXTURE_3D, 0); layer.clearRenderState(); glDisable(GL_TEXTURE_3D); diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/render/RenderedContraption.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/render/RenderedContraption.java index d195c3066..fdaa9098b 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/render/RenderedContraption.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/render/RenderedContraption.java @@ -13,6 +13,8 @@ import com.jozufozu.flywheel.backend.Backend; import com.jozufozu.flywheel.backend.gl.attrib.CommonAttributes; import com.jozufozu.flywheel.backend.gl.attrib.VertexFormat; import com.jozufozu.flywheel.backend.instancing.IInstanceRendered; +import com.jozufozu.flywheel.backend.instancing.InstancedRenderDispatcher; +import com.jozufozu.flywheel.backend.instancing.InstancedRenderRegistry; import com.jozufozu.flywheel.backend.material.MaterialGroup; import com.jozufozu.flywheel.backend.material.MaterialManager; import com.jozufozu.flywheel.backend.model.ArrayModelRenderer; @@ -151,7 +153,8 @@ public class RenderedContraption extends ContraptionWorldHolder { Collection tileEntities = contraption.maybeInstancedTileEntities; if (!tileEntities.isEmpty()) { for (TileEntity te : tileEntities) { - if (te instanceof IInstanceRendered) { + if (InstancedRenderRegistry.getInstance() + .canInstance(te.getType())) { World world = te.getLevel(); BlockPos pos = te.getBlockPos(); te.setLevelAndPosition(renderWorld, pos); diff --git a/src/main/java/com/simibubi/create/foundation/render/TileEntityRenderHelper.java b/src/main/java/com/simibubi/create/foundation/render/TileEntityRenderHelper.java index f0d640691..56ba94790 100644 --- a/src/main/java/com/simibubi/create/foundation/render/TileEntityRenderHelper.java +++ b/src/main/java/com/simibubi/create/foundation/render/TileEntityRenderHelper.java @@ -4,6 +4,7 @@ import java.util.Iterator; import javax.annotation.Nullable; +import com.jozufozu.flywheel.backend.instancing.InstancedRenderRegistry; import com.jozufozu.flywheel.util.transform.MatrixTransformStack; import com.mojang.blaze3d.matrix.MatrixStack; import com.simibubi.create.Create; @@ -46,7 +47,8 @@ public class TileEntityRenderHelper { Iterator iterator = customRenderTEs.iterator(); while (iterator.hasNext()) { TileEntity tileEntity = iterator.next(); - // if (tileEntity instanceof IInstanceRendered) continue; // TODO: some things still need to render + if (InstancedRenderRegistry.getInstance() + .shouldSkipRender(tileEntity)) continue; TileEntityRenderer renderer = TileEntityRendererDispatcher.instance.getRenderer(tileEntity); if (renderer == null) {