mirror of
https://github.com/MightyPirates/OpenComputers.git
synced 2025-09-14 17:56:34 -04:00
Fixed leash render hook.
This commit is contained in:
parent
4da73d42ba
commit
f7ae4bff83
@ -24,8 +24,8 @@ object ObfNames {
|
|||||||
final val Field_leashedToEntity = Array("leashedToEntity", "field_110168_bw", "bn")
|
final val Field_leashedToEntity = Array("leashedToEntity", "field_110168_bw", "bn")
|
||||||
final val Method_recreateLeash = Array("recreateLeash", "func_110165_bF", "n")
|
final val Method_recreateLeash = Array("recreateLeash", "func_110165_bF", "n")
|
||||||
final val Method_recreateLeashDesc = Array("()V")
|
final val Method_recreateLeashDesc = Array("()V")
|
||||||
final val Method_renderHanging = Array("func_110827_b", "b")
|
final val Method_renderLeash = Array("renderLeash", "func_110827_b", "b")
|
||||||
final val Method_renderHangingDesc = Array("(Lxn;DDDFF)V", "(Lnet/minecraft/entity/EntityLiving;DDDFF)V")
|
final val Method_renderLeashDesc = Array("(Lxn;DDDFF)V", "(Lnet/minecraft/entity/EntityLiving;DDDFF)V")
|
||||||
final val Method_validate = Array("validate", "func_145829_t")
|
final val Method_validate = Array("validate", "func_145829_t")
|
||||||
final val Method_invalidate = Array("invalidate", "func_145843_s")
|
final val Method_invalidate = Array("invalidate", "func_145843_s")
|
||||||
final val Method_onChunkUnload = Array("onChunkUnload", "func_76623_d")
|
final val Method_onChunkUnload = Array("onChunkUnload", "func_76623_d")
|
||||||
@ -188,7 +188,7 @@ class ClassTransformer extends IClassTransformer {
|
|||||||
// before the `instanceof EntityHanging` check in func_110827_b.
|
// before the `instanceof EntityHanging` check in func_110827_b.
|
||||||
if (ObfNames.Class_RenderLiving.contains(name.replace('.', '/'))) {
|
if (ObfNames.Class_RenderLiving.contains(name.replace('.', '/'))) {
|
||||||
val classNode = newClassNode(transformedClass)
|
val classNode = newClassNode(transformedClass)
|
||||||
insertInto(classNode, ObfNames.Method_renderHanging, ObfNames.Method_renderHangingDesc, instructions => instructions.toArray.sliding(3, 1).exists {
|
insertInto(classNode, ObfNames.Method_renderLeash, ObfNames.Method_renderLeashDesc, instructions => instructions.toArray.sliding(3, 1).exists {
|
||||||
case Array(varNode: VarInsnNode, typeNode: TypeInsnNode, jumpNode: JumpInsnNode)
|
case Array(varNode: VarInsnNode, typeNode: TypeInsnNode, jumpNode: JumpInsnNode)
|
||||||
if varNode.getOpcode == Opcodes.ALOAD && varNode.`var` == 10 &&
|
if varNode.getOpcode == Opcodes.ALOAD && varNode.`var` == 10 &&
|
||||||
typeNode.getOpcode == Opcodes.INSTANCEOF && ObfNames.Class_EntityHanging.contains(typeNode.desc) &&
|
typeNode.getOpcode == Opcodes.INSTANCEOF && ObfNames.Class_EntityHanging.contains(typeNode.desc) &&
|
||||||
@ -199,11 +199,11 @@ class ClassTransformer extends IClassTransformer {
|
|||||||
val skip = new LabelNode()
|
val skip = new LabelNode()
|
||||||
toInject.add(new JumpInsnNode(Opcodes.IFEQ, skip))
|
toInject.add(new JumpInsnNode(Opcodes.IFEQ, skip))
|
||||||
toInject.add(new LdcInsnNode(double2Double(0.0)))
|
toInject.add(new LdcInsnNode(double2Double(0.0)))
|
||||||
toInject.add(new VarInsnNode(Opcodes.DSTORE, 16))
|
toInject.add(new VarInsnNode(Opcodes.DSTORE, 17))
|
||||||
toInject.add(new LdcInsnNode(double2Double(0.0)))
|
toInject.add(new LdcInsnNode(double2Double(0.0)))
|
||||||
toInject.add(new VarInsnNode(Opcodes.DSTORE, 18))
|
toInject.add(new VarInsnNode(Opcodes.DSTORE, 19))
|
||||||
toInject.add(new LdcInsnNode(double2Double(-0.75)))
|
toInject.add(new LdcInsnNode(double2Double(-0.75)))
|
||||||
toInject.add(new VarInsnNode(Opcodes.DSTORE, 20))
|
toInject.add(new VarInsnNode(Opcodes.DSTORE, 21))
|
||||||
toInject.add(skip)
|
toInject.add(skip)
|
||||||
instructions.insertBefore(varNode, toInject)
|
instructions.insertBefore(varNode, toInject)
|
||||||
true
|
true
|
||||||
|
Loading…
x
Reference in New Issue
Block a user