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