(fix) transformer issue
This commit is contained in:
parent
3a3b5c05e8
commit
0a30dec288
|
@ -93,8 +93,7 @@ jar {
|
|||
"MixinConfigs": 'mixins.SilentClient.json',
|
||||
"TweakClass": "net.silentclient.client.mixin.SilentClientTweaker",
|
||||
"TweakOrder": 0,
|
||||
"Manifest-Version": 1.0,
|
||||
'FMLAT': 'silentclient_at.cfg'
|
||||
"Manifest-Version": 1.0
|
||||
)
|
||||
|
||||
configurations.embed.each { dep ->
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
package net.silentclient.client.mixin;
|
||||
|
||||
import net.minecraft.launchwrapper.IClassTransformer;
|
||||
import org.objectweb.asm.ClassVisitor;
|
||||
import org.objectweb.asm.MethodVisitor;
|
||||
import net.silentclient.client.Client;
|
||||
import org.objectweb.asm.*;
|
||||
|
||||
import java.lang.reflect.Modifier;
|
||||
|
||||
|
@ -15,14 +15,14 @@ public class SilentClientTransformer implements IClassTransformer {
|
|||
return null;
|
||||
}
|
||||
|
||||
// if(transformedName.equals("bfl$e") || transformedName.equals("bfl$r") || transformedName.equals("bnm$a") || transformedName.equals("ajd$a") || transformedName.equals("bha$a")) {
|
||||
// Client.logger.info("Transforming class: " + transformedName);
|
||||
// ClassReader classreader = new ClassReader(bytes);
|
||||
// ClassWriter classwriter = new ClassWriter(1);
|
||||
// SilentClientTransformer.AccessTransformerVisitor visitor = new SilentClientTransformer.AccessTransformerVisitor(262144, classwriter);
|
||||
// classreader.accept(visitor, 0);
|
||||
// return classwriter.toByteArray();
|
||||
// }
|
||||
if(transformedName.equals("bfl$e") || transformedName.equals("bfl$r") || transformedName.equals("bnm$a") || transformedName.equals("ajd$a") || transformedName.equals("bha$a") || transformedName.equals("re$a")) {
|
||||
Client.logger.info("Transforming class: " + transformedName);
|
||||
ClassReader classreader = new ClassReader(bytes);
|
||||
ClassWriter classwriter = new ClassWriter(1);
|
||||
SilentClientTransformer.AccessTransformerVisitor visitor = new AccessTransformerVisitor(262144, classwriter);
|
||||
classreader.accept(visitor, 0);
|
||||
return classwriter.toByteArray();
|
||||
}
|
||||
|
||||
return bytes;
|
||||
}
|
||||
|
@ -31,7 +31,7 @@ public class SilentClientTransformer implements IClassTransformer {
|
|||
return clazz.getName().replace(".", "/");
|
||||
}
|
||||
|
||||
public class AccessTransformerVisitor extends ClassVisitor {
|
||||
public static class AccessTransformerVisitor extends ClassVisitor {
|
||||
|
||||
public AccessTransformerVisitor(int api, ClassVisitor cv) {
|
||||
super(api, cv);
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
package net.silentclient.client.mixin.ducks;
|
||||
|
||||
public interface EntityLookHelperExt {
|
||||
Object client$getEntity();
|
||||
}
|
|
@ -0,0 +1,17 @@
|
|||
package net.silentclient.client.mixin.mixins;
|
||||
|
||||
import net.minecraft.entity.EntityLiving;
|
||||
import net.minecraft.entity.ai.EntityLookHelper;
|
||||
import net.silentclient.client.mixin.ducks.EntityLookHelperExt;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.Shadow;
|
||||
|
||||
@Mixin(EntityLookHelper.class)
|
||||
public class EntityLookHelperMixin implements EntityLookHelperExt {
|
||||
@Shadow private EntityLiving entity;
|
||||
|
||||
@Override
|
||||
public Object client$getEntity() {
|
||||
return this.entity;
|
||||
}
|
||||
}
|
|
@ -4,6 +4,7 @@ import net.minecraft.entity.EntityLiving;
|
|||
import net.minecraft.entity.ai.EntityLookHelper;
|
||||
import net.minecraft.util.MathHelper;
|
||||
import net.silentclient.client.mixin.accessors.EntityLookHelperAccessor;
|
||||
import net.silentclient.client.mixin.ducks.EntityLookHelperExt;
|
||||
|
||||
/**
|
||||
* Created by Dark on 7/20/2015.
|
||||
|
@ -17,27 +18,27 @@ public class FixedEntityLookHelper extends EntityLookHelper
|
|||
|
||||
@Override
|
||||
public void onUpdateLook() {
|
||||
this.entity.rotationPitch = 0.0f;
|
||||
((EntityLiving) ((EntityLookHelperExt) this).client$getEntity()).rotationPitch = 0.0f;
|
||||
if (((EntityLookHelperAccessor)((Object)this)).isLooking()) {
|
||||
((EntityLookHelperAccessor)((Object)this)).setLooking(false);
|
||||
double d0 = ((EntityLookHelperAccessor)((Object)this)).getPosX() - this.entity.posX;
|
||||
double d1 = ((EntityLookHelperAccessor)((Object)this)).getPosY() - (this.entity.posY + (double)this.entity.getEyeHeight());
|
||||
double d2 = ((EntityLookHelperAccessor)((Object)this)).getPosZ() - this.entity.posZ;
|
||||
double d0 = ((EntityLookHelperAccessor)((Object)this)).getPosX() - ((EntityLiving) ((EntityLookHelperExt) this).client$getEntity()).posX;
|
||||
double d1 = ((EntityLookHelperAccessor)((Object)this)).getPosY() - (((EntityLiving) ((EntityLookHelperExt) this).client$getEntity()).posY + (double)((EntityLiving) ((EntityLookHelperExt) this).client$getEntity()).getEyeHeight());
|
||||
double d2 = ((EntityLookHelperAccessor)((Object)this)).getPosZ() - ((EntityLiving) ((EntityLookHelperExt) this).client$getEntity()).posZ;
|
||||
double d3 = MathHelper.sqrt_double(d0 * d0 + d2 * d2);
|
||||
float f = (float)((double)FixedEntityLookHelper.tan(d2, d0) * 180.0 / Math.PI) - 90.0f;
|
||||
float f1 = (float)(-((double)FixedEntityLookHelper.tan(d1, d3) * 180.0 / Math.PI));
|
||||
this.entity.rotationPitch = this.updateRotation(this.entity.rotationPitch, f1, ((EntityLookHelperAccessor)((Object)this)).getDeltaLookPitch());
|
||||
this.entity.rotationYawHead = this.updateRotation(this.entity.rotationYawHead, f, ((EntityLookHelperAccessor)((Object)this)).getDeltaLookYaw());
|
||||
((EntityLiving) ((EntityLookHelperExt) this).client$getEntity()).rotationPitch = this.updateRotation(((EntityLiving) ((EntityLookHelperExt) this).client$getEntity()).rotationPitch, f1, ((EntityLookHelperAccessor)((Object)this)).getDeltaLookPitch());
|
||||
((EntityLiving) ((EntityLookHelperExt) this).client$getEntity()).rotationYawHead = this.updateRotation(((EntityLiving) ((EntityLookHelperExt) this).client$getEntity()).rotationYawHead, f, ((EntityLookHelperAccessor)((Object)this)).getDeltaLookYaw());
|
||||
} else {
|
||||
this.entity.rotationYawHead = this.updateRotation(this.entity.rotationYawHead, this.entity.renderYawOffset, 10.0f);
|
||||
((EntityLiving) ((EntityLookHelperExt) this).client$getEntity()).rotationYawHead = this.updateRotation(((EntityLiving) ((EntityLookHelperExt) this).client$getEntity()).rotationYawHead, ((EntityLiving) ((EntityLookHelperExt) this).client$getEntity()).renderYawOffset, 10.0f);
|
||||
}
|
||||
float f2 = MathHelper.wrapAngleTo180_float(this.entity.rotationYawHead - this.entity.renderYawOffset);
|
||||
if (!this.entity.getNavigator().noPath()) {
|
||||
float f2 = MathHelper.wrapAngleTo180_float(((EntityLiving) ((EntityLookHelperExt) this).client$getEntity()).rotationYawHead - ((EntityLiving) ((EntityLookHelperExt) this).client$getEntity()).renderYawOffset);
|
||||
if (!((EntityLiving) ((EntityLookHelperExt) this).client$getEntity()).getNavigator().noPath()) {
|
||||
if (f2 < -75.0f) {
|
||||
this.entity.rotationYawHead = this.entity.renderYawOffset - 75.0f;
|
||||
((EntityLiving) ((EntityLookHelperExt) this).client$getEntity()).rotationYawHead = ((EntityLiving) ((EntityLookHelperExt) this).client$getEntity()).renderYawOffset - 75.0f;
|
||||
}
|
||||
if (f2 > 75.0f) {
|
||||
this.entity.rotationYawHead = this.entity.renderYawOffset + 75.0f;
|
||||
((EntityLiving) ((EntityLookHelperExt) this).client$getEntity()).rotationYawHead = ((EntityLiving) ((EntityLookHelperExt) this).client$getEntity()).renderYawOffset + 75.0f;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -38,6 +38,7 @@
|
|||
"mixins.EntityFXMixin",
|
||||
"mixins.EntityLivingBaseMixin",
|
||||
"mixins.EntityLivingMixin",
|
||||
"mixins.EntityLookHelperMixin",
|
||||
"mixins.EntityMixin",
|
||||
"mixins.EntityOtherPlayerMPMixin",
|
||||
"mixins.EntityPacketsMixin",
|
||||
|
|
|
@ -14,4 +14,3 @@ public net.minecraft.block.BlockRedstoneTorch$Toggle
|
|||
|
||||
# EntityAITasks
|
||||
public net.minecraft.entity.ai.EntityAITasks$EntityAITaskEntry
|
||||
public net.minecraft.entity.ai.EntityLookHelper field_75659_a #EntityLiving entity;
|
Loading…
Reference in New Issue