From 5039fb89845e3f550e8e9d4122bdef06980ed323 Mon Sep 17 00:00:00 2001 From: bombcar Date: Tue, 2 Jan 2024 11:38:11 -0600 Subject: [PATCH 1/3] update to support 1.2.0 CCL - needs work to be more performant --- build.gradle | 31 ++++++++----------- dependencies.gradle | 2 +- src/main/resources/dependencies.info | 7 ----- .../microblock/BlockMicroMaterial.scala | 9 +++--- .../microblock/GrassMicroMaterial.scala | 6 ++-- .../microblock/HollowMicroblock.scala | 13 ++++---- .../microblock/ItemMicroPart.scala | 12 +++---- .../codechicken/microblock/ItemSaw.scala | 16 +++++----- .../microblock/MicroblockRender.scala | 14 ++++----- .../multipart/MultipartRenderer.scala | 10 +++--- .../codechicken/multipart/TCuboidPart.scala | 12 ++++--- 11 files changed, 62 insertions(+), 70 deletions(-) delete mode 100644 src/main/resources/dependencies.info diff --git a/build.gradle b/build.gradle index 50c3291..f4f81bd 100644 --- a/build.gradle +++ b/build.gradle @@ -1,4 +1,4 @@ -//version: 1702141377 +//version: 1704135167 /* DO NOT CHANGE THIS FILE! Also, you may replace this file at any time if there is an update available. @@ -31,8 +31,7 @@ buildscript { maven { // GTNH RetroFuturaGradle and ASM Fork name "GTNH Maven" - url "http://jenkins.usrv.eu:8081/nexus/content/groups/public/" - allowInsecureProtocol = true + url "https://nexus.gtnewhorizons.com/repository/public/" } mavenLocal() } @@ -49,7 +48,7 @@ plugins { id 'org.ajoberstar.grgit' version '4.1.1' // 4.1.1 is the last jvm8 supporting version, unused, available for addon.gradle id 'com.github.johnrengelman.shadow' version '8.1.1' apply false id 'com.palantir.git-version' version '3.0.0' apply false - id 'de.undercouch.download' version '5.4.0' + id 'de.undercouch.download' version '5.5.0' id 'com.github.gmazzo.buildconfig' version '3.1.0' apply false // Unused, available for addon.gradle id 'com.diffplug.spotless' version '6.13.0' apply false // 6.13.0 is the last jvm8 supporting version id 'com.modrinth.minotaur' version '2.+' apply false @@ -118,7 +117,7 @@ propertyDefaultIfUnset("forceEnableMixins", false) propertyDefaultIfUnset("channel", "stable") propertyDefaultIfUnset("mappingsVersion", "12") propertyDefaultIfUnset("usesMavenPublishing", true) -propertyDefaultIfUnset("mavenPublishUrl", "http://jenkins.usrv.eu:8081/nexus/content/repositories/releases") +propertyDefaultIfUnset("mavenPublishUrl", "https://nexus.gtnewhorizons.com/repository/releases/") propertyDefaultIfUnset("modrinthProjectId", "") propertyDefaultIfUnset("modrinthRelations", "") propertyDefaultIfUnset("curseForgeProjectId", "") @@ -573,13 +572,15 @@ afterEvaluate { repositories { maven { - name 'Overmind forge repo mirror' - url 'https://gregtech.overminddl1.com/' + name = "GTNH Maven" + url = "https://nexus.gtnewhorizons.com/repository/public/" + // Links for convenience: + // Simple HTML browsing: https://nexus.gtnewhorizons.com/service/rest/repository/browse/releases/ + // Rich web UI browsing: https://nexus.gtnewhorizons.com/#browse/browse:releases } maven { - name = "GTNH Maven" - url = "http://jenkins.usrv.eu:8081/nexus/content/groups/public/" - allowInsecureProtocol = true + name 'Overmind forge repo mirror' + url 'https://gregtech.overminddl1.com/' } maven { name 'sonatype' @@ -960,8 +961,7 @@ if (usesShadowedDependencies.toBoolean()) { configurations.runtimeElements.outgoing.artifact(tasks.named("shadowJar", ShadowJar)) configurations.apiElements.outgoing.artifact(tasks.named("shadowJar", ShadowJar)) tasks.named("jar", Jar) { - enabled = false - finalizedBy(tasks.shadowJar) + archiveClassifier.set('dev-preshadow') } tasks.named("reobfJar", ReobfuscatedJar) { inputJar.set(tasks.named("shadowJar", ShadowJar).flatMap({it.archiveFile})) @@ -970,11 +970,6 @@ if (usesShadowedDependencies.toBoolean()) { javaComponent.withVariantsFromConfiguration(configurations.shadowRuntimeElements) { skip() } - for (runTask in ["runClient", "runServer", "runClient17", "runServer17"]) { - tasks.named(runTask).configure { - dependsOn("shadowJar") - } - } } ext.publishableDevJar = usesShadowedDependencies.toBoolean() ? tasks.shadowJar : tasks.jar ext.publishableObfJar = tasks.reobfJar @@ -1178,7 +1173,7 @@ publishing { if (usesMavenPublishing.toBoolean() && System.getenv("MAVEN_USER") != null) { maven { url = mavenPublishUrl - allowInsecureProtocol = mavenPublishUrl.startsWith("http://") // Mostly for the GTNH maven + allowInsecureProtocol = mavenPublishUrl.startsWith("http://") credentials { username = System.getenv("MAVEN_USER") ?: "NONE" password = System.getenv("MAVEN_PASSWORD") ?: "NONE" diff --git a/dependencies.gradle b/dependencies.gradle index 9b98e86..17a2967 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -1,6 +1,6 @@ // Add your dependencies here dependencies { - api("com.github.GTNewHorizons:CodeChickenLib:1.1.8:dev") + api("com.github.GTNewHorizons:CodeChickenLib:1.2.0:dev") devOnlyNonPublishable("com.github.GTNewHorizons:NotEnoughItems:2.4.13-GTNH:dev") } diff --git a/src/main/resources/dependencies.info b/src/main/resources/dependencies.info deleted file mode 100644 index db215ed..0000000 --- a/src/main/resources/dependencies.info +++ /dev/null @@ -1,7 +0,0 @@ -{ - "repo": "https://github.com/GTNewHorizons/CodeChickenLib/releases/download/1.1.5.5/", - "file": "CodeChickenLib-1.7.10-1.1.5.5.jar", - "dev": "https://github.com/GTNewHorizons/CodeChickenLib/releases/download/1.1.5.5/CodeChickenLib-1.7.10-1.1.5.5-dev.jar", - "class": "codechicken.lib.asm.ASMHelper", - "coreLib": true -} diff --git a/src/main/scala/codechicken/microblock/BlockMicroMaterial.scala b/src/main/scala/codechicken/microblock/BlockMicroMaterial.scala index c4eb4fd..c86d2c8 100644 --- a/src/main/scala/codechicken/microblock/BlockMicroMaterial.scala +++ b/src/main/scala/codechicken/microblock/BlockMicroMaterial.scala @@ -24,7 +24,8 @@ object MaterialRenderHelper { def start(pos: Vector3, pass: Int, uvt: UVTransformation) = { this.pass = pass - builder = CCRenderState.pipeline.builder() + // TODO: update to use a thread local copy + builder = CCRenderState.instance().pipeline.builder() builder.add(pos.translation()).add(uvt) this } @@ -36,7 +37,7 @@ object MaterialRenderHelper { def lighting() = { if (pass != -1) - builder.add(CCRenderState.lightMatrix) + builder.add(CCRenderState.instance().lightMatrix) this } @@ -85,9 +86,9 @@ class BlockMicroMaterial(val block: Block, val meta: Int = 0) if (pass == -1) block.getBlockColor << 8 | 0xff else { - val pos = CCRenderState.lightMatrix.pos + val pos = CCRenderState.instance().lightMatrix.pos block.colorMultiplier( - CCRenderState.lightMatrix.access, + CCRenderState.instance().lightMatrix.access, pos.x, pos.y, pos.z diff --git a/src/main/scala/codechicken/microblock/GrassMicroMaterial.scala b/src/main/scala/codechicken/microblock/GrassMicroMaterial.scala index a4e3af8..6c901df 100644 --- a/src/main/scala/codechicken/microblock/GrassMicroMaterial.scala +++ b/src/main/scala/codechicken/microblock/GrassMicroMaterial.scala @@ -2,7 +2,7 @@ package codechicken.microblock import codechicken.lib.vec.{Cuboid6, Vector3} import net.minecraft.block.Block -import codechicken.lib.render.{ColourMultiplier, CCRenderState} +import codechicken.lib.render.CCRenderState import net.minecraft.block.BlockGrass import net.minecraft.init.Blocks import codechicken.lib.render.uv.{UVTranslation, IconTransformation} @@ -17,7 +17,7 @@ class GrassMicroMaterial extends BlockMicroMaterial(Blocks.grass, 0) { } override def renderMicroFace(pos: Vector3, pass: Int, bounds: Cuboid6) { - val face = CCRenderState.model.asInstanceOf[BlockFace] + val face = CCRenderState.instance().model.asInstanceOf[BlockFace] if (pass != -1) face.computeLightCoords() @@ -42,7 +42,7 @@ class GrassMicroMaterial extends BlockMicroMaterial(Blocks.grass, 0) { class TopMicroMaterial($block: Block, $meta: Int = 0) extends BlockMicroMaterial($block, $meta) { override def renderMicroFace(pos: Vector3, pass: Int, bounds: Cuboid6) { - val face = CCRenderState.model.asInstanceOf[BlockFace] + val face = CCRenderState.instance().model.asInstanceOf[BlockFace] if (face.side <= 1) MaterialRenderHelper .start(pos, pass, icont) diff --git a/src/main/scala/codechicken/microblock/HollowMicroblock.scala b/src/main/scala/codechicken/microblock/HollowMicroblock.scala index c19e75d..15a072d 100644 --- a/src/main/scala/codechicken/microblock/HollowMicroblock.scala +++ b/src/main/scala/codechicken/microblock/HollowMicroblock.scala @@ -14,7 +14,6 @@ import Vector3._ import codechicken.lib.raytracer.IndexedCuboid6 import org.lwjgl.opengl.GL11 import codechicken.lib.render.uv.IconTransformation -import codechicken.lib.lighting.LightMatrix object HollowPlacement extends PlacementProperties { object HollowPlacementGrid extends FaceEdgeGrid(3 / 8d) @@ -74,11 +73,13 @@ trait HollowMicroblockClient } override def drawBreaking(renderBlocks: RenderBlocks) { - CCRenderState.reset() - CCRenderState.setPipeline( - new Translation(x, y, z), - new IconTransformation(renderBlocks.overrideBlockTexture) - ) + CCRenderState.instance().reset() + CCRenderState + .instance() + .setPipeline( + new Translation(x, y, z), + new IconTransformation(renderBlocks.overrideBlockTexture) + ) renderHollow( null, 0, diff --git a/src/main/scala/codechicken/microblock/ItemMicroPart.scala b/src/main/scala/codechicken/microblock/ItemMicroPart.scala index bfac311..cf6b789 100644 --- a/src/main/scala/codechicken/microblock/ItemMicroPart.scala +++ b/src/main/scala/codechicken/microblock/ItemMicroPart.scala @@ -170,17 +170,17 @@ object ItemMicroPartRenderer extends IItemRenderer { GL11.glScaled(0.5, 0.5, 0.5) if (t == ItemRenderType.INVENTORY || t == ItemRenderType.ENTITY) GL11.glTranslatef(-0.5f, -0.5f, -0.5f) - + // TODO: update to use a thread local copy TextureUtils.bindAtlas(0) - CCRenderState.reset() - CCRenderState.useNormals = true - CCRenderState.pullLightmap() - CCRenderState.startDrawing() + CCRenderState.instance().reset() + CCRenderState.instance().useNormals = true + CCRenderState.instance().pullLightmap() + CCRenderState.instance().startDrawing() val part = mcrClass.create(true, getMaterialID(item)).asInstanceOf[MicroblockClient] part.setShape(size, mcrClass.itemSlot) part.render(new Vector3(0.5, 0.5, 0.5).subtract(part.getBounds.center), -1) - CCRenderState.draw() + CCRenderState.instance().draw() GL11.glPopMatrix() } diff --git a/src/main/scala/codechicken/microblock/ItemSaw.scala b/src/main/scala/codechicken/microblock/ItemSaw.scala index 458901d..795ae25 100644 --- a/src/main/scala/codechicken/microblock/ItemSaw.scala +++ b/src/main/scala/codechicken/microblock/ItemSaw.scala @@ -112,17 +112,17 @@ object ItemSawRenderer extends IItemRenderer { ) case _ => return } - - CCRenderState.reset() - CCRenderState.useNormals = true - CCRenderState.pullLightmap() + // TODO: update to use a thread local copy + CCRenderState.instance().reset() + CCRenderState.instance().useNormals = true + CCRenderState.instance().pullLightmap() CCRenderState.changeTexture("microblock:textures/items/saw.png") - CCRenderState.startDrawing() + CCRenderState.instance().startDrawing() handle.render(t) holder.render(t) - CCRenderState.draw() + CCRenderState.instance().draw() GL11.glDisable(GL11.GL_CULL_FACE) - CCRenderState.startDrawing() + CCRenderState.instance().startDrawing() blade.render( t, new UVTranslation( @@ -130,7 +130,7 @@ object ItemSawRenderer extends IItemRenderer { (item.getItem.asInstanceOf[Saw].getCuttingStrength(item) - 1) * 4 / 64d ) ) - CCRenderState.draw() + CCRenderState.instance().draw() GL11.glEnable(GL11.GL_CULL_FACE) } } diff --git a/src/main/scala/codechicken/microblock/MicroblockRender.scala b/src/main/scala/codechicken/microblock/MicroblockRender.scala index f7cba0e..c1fb0e0 100644 --- a/src/main/scala/codechicken/microblock/MicroblockRender.scala +++ b/src/main/scala/codechicken/microblock/MicroblockRender.scala @@ -40,14 +40,14 @@ object MicroblockRender { glEnable(GL_BLEND) glDepthMask(false) glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA) - + // TODO: update to use a thread local copy TextureUtils.bindAtlas(0) - CCRenderState.reset() - CCRenderState.alphaOverride = 80 - CCRenderState.useNormals = true - CCRenderState.startDrawing() + CCRenderState.instance().reset() + CCRenderState.instance().alphaOverride = 80 + CCRenderState.instance().useNormals = true + CCRenderState.instance().startDrawing() part.render(Vector3.zero, -1) - CCRenderState.draw() + CCRenderState.instance().draw() glDisable(GL_BLEND) glDepthMask(true) @@ -62,7 +62,7 @@ object MicroblockRender { c: Cuboid6, faces: Int ) { - CCRenderState.setModel(face) + CCRenderState.instance().setModel(face) for (s <- 0 until 6 if (faces & 1 << s) == 0) { face.loadCuboidFace(c, s) mat.renderMicroFace(pos, pass, c) diff --git a/src/main/scala/codechicken/multipart/MultipartRenderer.scala b/src/main/scala/codechicken/multipart/MultipartRenderer.scala index 851a92b..e99f110 100644 --- a/src/main/scala/codechicken/multipart/MultipartRenderer.scala +++ b/src/main/scala/codechicken/multipart/MultipartRenderer.scala @@ -36,9 +36,9 @@ object MultipartRenderer if (tmpart.partList.isEmpty) return - CCRenderState.reset() - CCRenderState.pullLightmap() - CCRenderState.useNormals = true + CCRenderState.instance().reset() + CCRenderState.instance().pullLightmap() + CCRenderState.instance().useNormals = true val pos = new Vector3(x, y, z) tmpart.renderDynamic(pos, f, pass) @@ -81,8 +81,8 @@ object MultipartRenderer return false } - CCRenderState.reset() - CCRenderState.lightMatrix.locate(world, x, y, z) + CCRenderState.instance().reset() + CCRenderState.instance().lightMatrix.locate(world, x, y, z) return tmpart.renderStatic(new Vector3(x, y, z), pass) } diff --git a/src/main/scala/codechicken/multipart/TCuboidPart.scala b/src/main/scala/codechicken/multipart/TCuboidPart.scala index a9a460e..2bf44d5 100644 --- a/src/main/scala/codechicken/multipart/TCuboidPart.scala +++ b/src/main/scala/codechicken/multipart/TCuboidPart.scala @@ -31,11 +31,13 @@ trait TCuboidPart extends TMultiPart { @SideOnly(Side.CLIENT) override def drawBreaking(renderBlocks: RenderBlocks) { - CCRenderState.reset() - CCRenderState.setPipeline( - new Translation(x, y, z), - new IconTransformation(renderBlocks.overrideBlockTexture) - ) + CCRenderState.instance().reset() + CCRenderState + .instance() + .setPipeline( + new Translation(x, y, z), + new IconTransformation(renderBlocks.overrideBlockTexture) + ) BlockRenderer.renderCuboid(getBounds, 0) } } From ee37e779fd2912643f0dcec0e95e6c4e3ce58221 Mon Sep 17 00:00:00 2001 From: bombcar Date: Tue, 2 Jan 2024 13:02:02 -0600 Subject: [PATCH 2/3] partial maintain state --- .../codechicken/microblock/BlockMicroMaterial.scala | 6 +++--- .../codechicken/microblock/HollowMicroblock.scala | 7 +++---- .../scala/codechicken/microblock/ItemMicroPart.scala | 12 ++++++------ .../codechicken/microblock/MicroblockRender.scala | 11 ++++++----- 4 files changed, 18 insertions(+), 18 deletions(-) diff --git a/src/main/scala/codechicken/microblock/BlockMicroMaterial.scala b/src/main/scala/codechicken/microblock/BlockMicroMaterial.scala index c86d2c8..24044f7 100644 --- a/src/main/scala/codechicken/microblock/BlockMicroMaterial.scala +++ b/src/main/scala/codechicken/microblock/BlockMicroMaterial.scala @@ -24,7 +24,6 @@ object MaterialRenderHelper { def start(pos: Vector3, pass: Int, uvt: UVTransformation) = { this.pass = pass - // TODO: update to use a thread local copy builder = CCRenderState.instance().pipeline.builder() builder.add(pos.translation()).add(uvt) this @@ -86,9 +85,10 @@ class BlockMicroMaterial(val block: Block, val meta: Int = 0) if (pass == -1) block.getBlockColor << 8 | 0xff else { - val pos = CCRenderState.instance().lightMatrix.pos + val state = CCRenderState.instance + val pos = state.lightMatrix.pos block.colorMultiplier( - CCRenderState.instance().lightMatrix.access, + state.lightMatrix.access, pos.x, pos.y, pos.z diff --git a/src/main/scala/codechicken/microblock/HollowMicroblock.scala b/src/main/scala/codechicken/microblock/HollowMicroblock.scala index 15a072d..e345d90 100644 --- a/src/main/scala/codechicken/microblock/HollowMicroblock.scala +++ b/src/main/scala/codechicken/microblock/HollowMicroblock.scala @@ -73,10 +73,9 @@ trait HollowMicroblockClient } override def drawBreaking(renderBlocks: RenderBlocks) { - CCRenderState.instance().reset() - CCRenderState - .instance() - .setPipeline( + val state = CCRenderState.instance + state.reset() + state.setPipeline( new Translation(x, y, z), new IconTransformation(renderBlocks.overrideBlockTexture) ) diff --git a/src/main/scala/codechicken/microblock/ItemMicroPart.scala b/src/main/scala/codechicken/microblock/ItemMicroPart.scala index cf6b789..147835a 100644 --- a/src/main/scala/codechicken/microblock/ItemMicroPart.scala +++ b/src/main/scala/codechicken/microblock/ItemMicroPart.scala @@ -170,17 +170,17 @@ object ItemMicroPartRenderer extends IItemRenderer { GL11.glScaled(0.5, 0.5, 0.5) if (t == ItemRenderType.INVENTORY || t == ItemRenderType.ENTITY) GL11.glTranslatef(-0.5f, -0.5f, -0.5f) - // TODO: update to use a thread local copy TextureUtils.bindAtlas(0) - CCRenderState.instance().reset() - CCRenderState.instance().useNormals = true - CCRenderState.instance().pullLightmap() - CCRenderState.instance().startDrawing() + val state = CCRenderState.instance + state.reset() + state.useNormals = true + state.pullLightmap() + state.startDrawing() val part = mcrClass.create(true, getMaterialID(item)).asInstanceOf[MicroblockClient] part.setShape(size, mcrClass.itemSlot) part.render(new Vector3(0.5, 0.5, 0.5).subtract(part.getBounds.center), -1) - CCRenderState.instance().draw() + state.draw() GL11.glPopMatrix() } diff --git a/src/main/scala/codechicken/microblock/MicroblockRender.scala b/src/main/scala/codechicken/microblock/MicroblockRender.scala index c1fb0e0..7939355 100644 --- a/src/main/scala/codechicken/microblock/MicroblockRender.scala +++ b/src/main/scala/codechicken/microblock/MicroblockRender.scala @@ -31,6 +31,7 @@ object MicroblockRender { return val pos = placement.pos val part = placement.part.asInstanceOf[MicroblockClient] + val state = CCRenderState.instance glPushMatrix() glTranslated(pos.x + 0.5, pos.y + 0.5, pos.z + 0.5) @@ -42,12 +43,12 @@ object MicroblockRender { glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA) // TODO: update to use a thread local copy TextureUtils.bindAtlas(0) - CCRenderState.instance().reset() - CCRenderState.instance().alphaOverride = 80 - CCRenderState.instance().useNormals = true - CCRenderState.instance().startDrawing() + state.reset() + state.alphaOverride = 80 + state.useNormals = true + state.startDrawing() part.render(Vector3.zero, -1) - CCRenderState.instance().draw() + state.draw() glDisable(GL_BLEND) glDepthMask(true) From 794c3ca0304ed7c33555383c6cdd388392fa41a2 Mon Sep 17 00:00:00 2001 From: bombcar Date: Tue, 2 Jan 2024 13:07:44 -0600 Subject: [PATCH 3/3] fix the rest --- .../microblock/HollowMicroblock.scala | 6 +++--- .../scala/codechicken/microblock/ItemSaw.scala | 16 ++++++++-------- .../multipart/MultipartRenderer.scala | 12 +++++++----- .../codechicken/multipart/TCuboidPart.scala | 13 ++++++------- 4 files changed, 24 insertions(+), 23 deletions(-) diff --git a/src/main/scala/codechicken/microblock/HollowMicroblock.scala b/src/main/scala/codechicken/microblock/HollowMicroblock.scala index e345d90..de24efc 100644 --- a/src/main/scala/codechicken/microblock/HollowMicroblock.scala +++ b/src/main/scala/codechicken/microblock/HollowMicroblock.scala @@ -76,9 +76,9 @@ trait HollowMicroblockClient val state = CCRenderState.instance state.reset() state.setPipeline( - new Translation(x, y, z), - new IconTransformation(renderBlocks.overrideBlockTexture) - ) + new Translation(x, y, z), + new IconTransformation(renderBlocks.overrideBlockTexture) + ) renderHollow( null, 0, diff --git a/src/main/scala/codechicken/microblock/ItemSaw.scala b/src/main/scala/codechicken/microblock/ItemSaw.scala index 795ae25..7557ba8 100644 --- a/src/main/scala/codechicken/microblock/ItemSaw.scala +++ b/src/main/scala/codechicken/microblock/ItemSaw.scala @@ -112,17 +112,17 @@ object ItemSawRenderer extends IItemRenderer { ) case _ => return } - // TODO: update to use a thread local copy - CCRenderState.instance().reset() - CCRenderState.instance().useNormals = true - CCRenderState.instance().pullLightmap() + val state = CCRenderState.instance + state.reset() + state.useNormals = true + state.pullLightmap() CCRenderState.changeTexture("microblock:textures/items/saw.png") - CCRenderState.instance().startDrawing() + state.startDrawing() handle.render(t) holder.render(t) - CCRenderState.instance().draw() + state.draw() GL11.glDisable(GL11.GL_CULL_FACE) - CCRenderState.instance().startDrawing() + state.startDrawing() blade.render( t, new UVTranslation( @@ -130,7 +130,7 @@ object ItemSawRenderer extends IItemRenderer { (item.getItem.asInstanceOf[Saw].getCuttingStrength(item) - 1) * 4 / 64d ) ) - CCRenderState.instance().draw() + state.draw() GL11.glEnable(GL11.GL_CULL_FACE) } } diff --git a/src/main/scala/codechicken/multipart/MultipartRenderer.scala b/src/main/scala/codechicken/multipart/MultipartRenderer.scala index e99f110..b3d4e89 100644 --- a/src/main/scala/codechicken/multipart/MultipartRenderer.scala +++ b/src/main/scala/codechicken/multipart/MultipartRenderer.scala @@ -36,9 +36,10 @@ object MultipartRenderer if (tmpart.partList.isEmpty) return - CCRenderState.instance().reset() - CCRenderState.instance().pullLightmap() - CCRenderState.instance().useNormals = true + val state = CCRenderState.instance + state.reset() + state.pullLightmap() + state.useNormals = true val pos = new Vector3(x, y, z) tmpart.renderDynamic(pos, f, pass) @@ -81,8 +82,9 @@ object MultipartRenderer return false } - CCRenderState.instance().reset() - CCRenderState.instance().lightMatrix.locate(world, x, y, z) + val state = CCRenderState.instance + state.reset() + state.lightMatrix.locate(world, x, y, z) return tmpart.renderStatic(new Vector3(x, y, z), pass) } diff --git a/src/main/scala/codechicken/multipart/TCuboidPart.scala b/src/main/scala/codechicken/multipart/TCuboidPart.scala index 2bf44d5..349faac 100644 --- a/src/main/scala/codechicken/multipart/TCuboidPart.scala +++ b/src/main/scala/codechicken/multipart/TCuboidPart.scala @@ -31,13 +31,12 @@ trait TCuboidPart extends TMultiPart { @SideOnly(Side.CLIENT) override def drawBreaking(renderBlocks: RenderBlocks) { - CCRenderState.instance().reset() - CCRenderState - .instance() - .setPipeline( - new Translation(x, y, z), - new IconTransformation(renderBlocks.overrideBlockTexture) - ) + val state = CCRenderState.instance + state.reset() + state.setPipeline( + new Translation(x, y, z), + new IconTransformation(renderBlocks.overrideBlockTexture) + ) BlockRenderer.renderCuboid(getBounds, 0) } }