fix crash with OptiFine 1.9 (pre A series)

bump to 2.0.5
This commit is contained in:
octarine-noise
2016-03-26 09:28:54 +01:00
parent f47aedf84d
commit 6d5c03ba6a
3 changed files with 16 additions and 9 deletions

View File

@@ -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 {