From 71f0be0c93b9820a24de6ada4d5df89c1883b490 Mon Sep 17 00:00:00 2001 From: octarine-noise Date: Sat, 2 Mar 2019 12:04:30 +0100 Subject: [PATCH] fix shader mod integration --- gradle.properties | 4 ++-- .../client/integration/ShadersModIntegration.kt | 9 +++------ src/main/kotlin/mods/betterfoliage/loader/Refs.kt | 2 +- 3 files changed, 6 insertions(+), 9 deletions(-) diff --git a/gradle.properties b/gradle.properties index 7bb867f..250fe6d 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,11 +1,11 @@ group = com.github.octarine-noise jarName = BetterFoliage-MC1.12 -version = 2.2.0 +version = 2.2.1 mc_version = 1.12.2 forge_version = 14.23.5.2768 mcp_mappings = stable_39 -kotlin_version = 1.2.0 +kotlin_version = 1.2.41 forgelin_version = 1.6.0 \ No newline at end of file diff --git a/src/main/kotlin/mods/betterfoliage/client/integration/ShadersModIntegration.kt b/src/main/kotlin/mods/betterfoliage/client/integration/ShadersModIntegration.kt index cea29bc..427c205 100644 --- a/src/main/kotlin/mods/betterfoliage/client/integration/ShadersModIntegration.kt +++ b/src/main/kotlin/mods/betterfoliage/client/integration/ShadersModIntegration.kt @@ -19,7 +19,7 @@ import org.apache.logging.log4j.Level.INFO @SideOnly(Side.CLIENT) object ShadersModIntegration { - @JvmStatic var isPresent = false + @JvmStatic var isAvailable = allAvailable(Refs.sVertexBuilder, Refs.pushEntity_state, Refs.pushEntity_num, Refs.popEntity) @JvmStatic val tallGrassEntityData = entityDataFor(Blocks.TALLGRASS.defaultState.withProperty(BlockTallGrass.TYPE, BlockTallGrass.EnumType.GRASS)) @JvmStatic val leavesEntityData = entityDataFor(Blocks.LEAVES.defaultState) @@ -40,15 +40,12 @@ object ShadersModIntegration { } init { - if (allAvailable(Refs.sVertexBuilder, Refs.pushEntity_state, Refs.pushEntity_num, Refs.popEntity)) { - Client.log(INFO, "ShadersMod integration enabled") - isPresent = true - } + Client.log(INFO, "ShadersMod integration is ${if (isAvailable) "enabled" else "disabled" }") } /** Quads rendered inside this block will use the given block entity data in shader programs. */ inline fun renderAs(blockEntityData: Long, renderer: BufferBuilder, enabled: Boolean = true, func: ()->Unit) { - if ((isPresent && enabled)) { + if ((isAvailable && enabled)) { val vertexBuilder = Refs.sVertexBuilder.get(renderer)!! Refs.pushEntity_num.invoke(vertexBuilder, blockEntityData) func() diff --git a/src/main/kotlin/mods/betterfoliage/loader/Refs.kt b/src/main/kotlin/mods/betterfoliage/loader/Refs.kt index 2c37e4d..1858cdd 100644 --- a/src/main/kotlin/mods/betterfoliage/loader/Refs.kt +++ b/src/main/kotlin/mods/betterfoliage/loader/Refs.kt @@ -112,7 +112,7 @@ object Refs { // ShadersMod - val SVertexBuilder = ClassRef("shadersmod.client.SVertexBuilder") + val SVertexBuilder = ClassRef("net.optifine.shaders.SVertexBuilder") val sVertexBuilder = FieldRef(BufferBuilder, "sVertexBuilder", SVertexBuilder) val pushEntity_state = MethodRef(SVertexBuilder, "pushEntity", ClassRef.void, IBlockState, BlockPos, IBlockAccess, BufferBuilder) val pushEntity_num = MethodRef(SVertexBuilder, "pushEntity", ClassRef.void, ClassRef.long)