fix crash with OptiFine 1.9 (pre A series)
bump to 2.0.5
This commit is contained in:
@@ -2,7 +2,7 @@ apply plugin: "net.minecraftforge.gradle.forge"
|
||||
apply plugin: 'kotlin'
|
||||
|
||||
group = 'com.github.octarine-noise'
|
||||
version = "2.0.4"
|
||||
version = "2.0.5"
|
||||
archivesBaseName = rootProject.name + '-MC1.9'
|
||||
|
||||
buildscript {
|
||||
@@ -32,8 +32,8 @@ dependencies {
|
||||
|
||||
}
|
||||
minecraft {
|
||||
version = '1.9-12.16.0.1776-1.9'
|
||||
mappings = 'snapshot_20160320'
|
||||
version = '1.9-12.16.0.1810-1.9'
|
||||
mappings = 'snapshot_20160326'
|
||||
runDir = 'run'
|
||||
}
|
||||
|
||||
|
||||
@@ -5,6 +5,7 @@ import mods.octarinecore.metaprog.Transformer
|
||||
import mods.octarinecore.metaprog.allAvailable
|
||||
import net.minecraftforge.fml.relauncher.FMLLaunchHandler
|
||||
import net.minecraftforge.fml.relauncher.IFMLLoadingPlugin
|
||||
import org.objectweb.asm.Opcodes
|
||||
import org.objectweb.asm.Opcodes.*
|
||||
|
||||
@IFMLLoadingPlugin.TransformerExclusions(
|
||||
@@ -93,16 +94,16 @@ class BetterFoliageTransformer : Transformer() {
|
||||
transformMethod(Refs.rebuildChunk) {
|
||||
find(invokeRef(Refs.renderBlock))?.replace {
|
||||
log.info("Applying RenderChunk block render override")
|
||||
varinsn(ALOAD, if (isOptifinePresent) 24 else 21)
|
||||
varinsn(ALOAD, if (isOptifinePresent) 22 else 21)
|
||||
invokeStatic(Refs.renderWorldBlock)
|
||||
}
|
||||
if (isOptifinePresent) {
|
||||
find(varinsn(ISTORE, 25))?.insertAfter {
|
||||
find(varinsn(ISTORE, 23))?.insertAfter {
|
||||
log.info("Applying RenderChunk block layer override")
|
||||
varinsn(ALOAD, 20)
|
||||
varinsn(ALOAD, 24)
|
||||
varinsn(ALOAD, 19)
|
||||
varinsn(ALOAD, 22)
|
||||
invokeStatic(Refs.canRenderBlockInLayer)
|
||||
varinsn(ISTORE, 25)
|
||||
varinsn(ISTORE, 23)
|
||||
}
|
||||
} else {
|
||||
find(invokeRef(Refs.canRenderInLayer))?.replace {
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
package mods.octarinecore.client.render
|
||||
|
||||
import mods.betterfoliage.loader.Refs
|
||||
import mods.octarinecore.common.*
|
||||
import mods.octarinecore.metaprog.allAvailable
|
||||
import net.minecraft.client.Minecraft
|
||||
import net.minecraft.client.renderer.BlockModelRenderer
|
||||
import net.minecraft.util.EnumFacing
|
||||
@@ -41,7 +43,11 @@ class AoData() {
|
||||
}
|
||||
|
||||
class AoFaceData(val face: EnumFacing) {
|
||||
val ao = BlockModelRenderer(Minecraft.getMinecraft().blockColors).AmbientOcclusionFace()
|
||||
val ao = Refs.AmbientOcclusionFace.element!!.let {
|
||||
if (allAvailable(Refs.OptifineClassTransformer)) it.getDeclaredConstructor().newInstance()
|
||||
else it.getDeclaredConstructor(Refs.BlockModelRenderer.element!!)
|
||||
.newInstance(BlockModelRenderer(Minecraft.getMinecraft().blockColors))
|
||||
} as BlockModelRenderer.AmbientOcclusionFace
|
||||
val top = faceCorners[face.ordinal].topLeft.first
|
||||
val left = faceCorners[face.ordinal].topLeft.second
|
||||
|
||||
|
||||
Reference in New Issue
Block a user