mirror of
https://github.com/MineLittlePony/MineLittlePony.git
synced 2024-11-22 20:47:59 +01:00
Fix arm waving (again)
This commit is contained in:
parent
6fd6c5b567
commit
4b61d9c0ad
4 changed files with 32 additions and 14 deletions
|
@ -68,7 +68,8 @@ repositories {
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
compile 'org.spongepowered:mixin:0.4.14-SNAPSHOT'
|
compile 'org.spongepowered:mixin:0.4.17-20160126.141141-3'
|
||||||
|
compile 'org.ow2.asm:asm-debug-all:5.0.3'
|
||||||
compile 'com.google.guava:guava:17.0'
|
compile 'com.google.guava:guava:17.0'
|
||||||
compile 'com.google.code.gson:gson:2.2.4'
|
compile 'com.google.code.gson:gson:2.2.4'
|
||||||
}
|
}
|
||||||
|
|
|
@ -69,13 +69,11 @@ public abstract class MixinRenderPlayer extends RendererLivingEntity implements
|
||||||
*/
|
*/
|
||||||
@Overwrite
|
@Overwrite
|
||||||
public void doRender(AbstractClientPlayer player, double x, double y, double z, float yaw, float partialTicks) {
|
public void doRender(AbstractClientPlayer player, double x, double y, double z, float yaw, float partialTicks) {
|
||||||
|
updateModel(player);
|
||||||
ItemStack currentItemStack = player.inventory.getCurrentItem();
|
ItemStack currentItemStack = player.inventory.getCurrentItem();
|
||||||
this.thePony = MineLittlePony.getInstance().getManager().getPonyFromResourceRegistry(player);
|
|
||||||
thePony.checkSkin();
|
|
||||||
this.playerModel = this.getModel(player);
|
|
||||||
this.mainModel = this.playerModel.getModel();
|
|
||||||
this.playerModel.getModel().heldItemRight = currentItemStack == null ? 0 : 1;
|
this.playerModel.getModel().heldItemRight = currentItemStack == null ? 0 : 1;
|
||||||
this.playerModel.apply(thePony.metadata);
|
|
||||||
if (currentItemStack != null && player.getItemInUseCount() > 0) {
|
if (currentItemStack != null && player.getItemInUseCount() > 0) {
|
||||||
EnumAction yOrigin = currentItemStack.getItemUseAction();
|
EnumAction yOrigin = currentItemStack.getItemUseAction();
|
||||||
if (yOrigin == EnumAction.BLOCK) {
|
if (yOrigin == EnumAction.BLOCK) {
|
||||||
|
@ -136,22 +134,29 @@ public abstract class MixinRenderPlayer extends RendererLivingEntity implements
|
||||||
|
|
||||||
@Inject(method = "renderRightArm(" + AbstractClientPlayer + ")V", at = @At("HEAD") )
|
@Inject(method = "renderRightArm(" + AbstractClientPlayer + ")V", at = @At("HEAD") )
|
||||||
private void onRenderRightArm(AbstractClientPlayer player, CallbackInfo ci) {
|
private void onRenderRightArm(AbstractClientPlayer player, CallbackInfo ci) {
|
||||||
|
updateModel(player);
|
||||||
bindEntityTexture(player);
|
bindEntityTexture(player);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Inject(method = "renderLeftArm(" + AbstractClientPlayer + ")V", at = @At("HEAD") )
|
@Inject(method = "renderLeftArm(" + AbstractClientPlayer + ")V", at = @At("HEAD") )
|
||||||
private void onRenderLeftArm(AbstractClientPlayer player, CallbackInfo ci) {
|
private void onRenderLeftArm(AbstractClientPlayer player, CallbackInfo ci) {
|
||||||
|
updateModel(player);
|
||||||
bindEntityTexture(player);
|
bindEntityTexture(player);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void updateModel(AbstractClientPlayer player) {
|
||||||
|
this.thePony = MineLittlePony.getInstance().getManager().getPonyFromResourceRegistry(player);
|
||||||
|
thePony.checkSkin();
|
||||||
|
this.playerModel = this.getModel(player);
|
||||||
|
this.mainModel = this.playerModel.getModel();
|
||||||
|
this.playerModel.apply(thePony.metadata);
|
||||||
|
}
|
||||||
|
|
||||||
private ResourceLocation getEntityTexture(AbstractClientPlayer player) {
|
private ResourceLocation getEntityTexture(AbstractClientPlayer player) {
|
||||||
Pony thePony = MineLittlePony.getInstance().getManager().getPonyFromResourceRegistry(player);
|
Pony thePony = MineLittlePony.getInstance().getManager().getPonyFromResourceRegistry(player);
|
||||||
return thePony.getTextureResourceLocation();
|
return thePony.getTextureResourceLocation();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @reason Change the skin in case of non-pony skin
|
|
||||||
*/
|
|
||||||
@Override
|
@Override
|
||||||
public final ResourceLocation getEntityTexture(Entity entity) {
|
public final ResourceLocation getEntityTexture(Entity entity) {
|
||||||
return this.getEntityTexture((AbstractClientPlayer) entity);
|
return this.getEntityTexture((AbstractClientPlayer) entity);
|
||||||
|
|
|
@ -20,10 +20,10 @@ import net.minecraft.client.model.ModelPlayer;
|
||||||
import net.minecraft.client.model.ModelRenderer;
|
import net.minecraft.client.model.ModelRenderer;
|
||||||
import net.minecraft.client.renderer.GlStateManager;
|
import net.minecraft.client.renderer.GlStateManager;
|
||||||
import net.minecraft.entity.Entity;
|
import net.minecraft.entity.Entity;
|
||||||
import net.minecraft.entity.EntityLivingBase;
|
|
||||||
import net.minecraft.entity.player.EnumPlayerModelParts;
|
import net.minecraft.entity.player.EnumPlayerModelParts;
|
||||||
import net.minecraft.item.EnumAction;
|
import net.minecraft.item.EnumAction;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
|
import net.minecraft.util.MathHelper;
|
||||||
|
|
||||||
public abstract class AbstractPonyModel extends ModelPlayer {
|
public abstract class AbstractPonyModel extends ModelPlayer {
|
||||||
|
|
||||||
|
@ -101,6 +101,22 @@ public abstract class AbstractPonyModel extends ModelPlayer {
|
||||||
this.steveLeftArmwear.render(0.0625f);
|
this.steveLeftArmwear.render(0.0625f);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setRotationAngles(float p_78087_1_, float p_78087_2_, float p_78087_3_, float p_78087_4_, float p_78087_5_, float p_78087_6_, Entity entityIn) {
|
||||||
|
|
||||||
|
super.setRotationAngles(p_78087_1_, p_78087_2_, p_78087_3_, p_78087_4_, p_78087_5_, p_78087_6_, entityIn);
|
||||||
|
|
||||||
|
this.steveRightArm.rotateAngleX = MathHelper.cos(p_78087_1_ * 0.6662F + (float) Math.PI) * 2.0F * p_78087_2_ * 0.5F;
|
||||||
|
this.steveRightArm.rotateAngleY = 0;
|
||||||
|
this.steveRightArm.rotateAngleZ = 0;
|
||||||
|
this.steveLeftArm.rotateAngleX = MathHelper.cos(p_78087_1_ * 0.6662F) * 2.0F * p_78087_2_ * 0.5F;
|
||||||
|
this.steveLeftArm.rotateAngleY = 0;
|
||||||
|
this.steveLeftArm.rotateAngleZ = 0;
|
||||||
|
|
||||||
|
copyModelAngles(steveRightArm, steveRightArmwear);
|
||||||
|
copyModelAngles(steveLeftArm, steveLeftArmwear);
|
||||||
|
}
|
||||||
|
|
||||||
protected void setModelVisibilities(AbstractClientPlayer clientPlayer) {
|
protected void setModelVisibilities(AbstractClientPlayer clientPlayer) {
|
||||||
ModelPlayer modelplayer = this;
|
ModelPlayer modelplayer = this;
|
||||||
|
|
||||||
|
|
|
@ -2,13 +2,9 @@ package com.brohoof.minelittlepony.model.pony;
|
||||||
|
|
||||||
import static net.minecraft.client.renderer.GlStateManager.popMatrix;
|
import static net.minecraft.client.renderer.GlStateManager.popMatrix;
|
||||||
import static net.minecraft.client.renderer.GlStateManager.pushMatrix;
|
import static net.minecraft.client.renderer.GlStateManager.pushMatrix;
|
||||||
import static net.minecraft.client.renderer.GlStateManager.rotate;
|
|
||||||
import static net.minecraft.client.renderer.GlStateManager.scale;
|
|
||||||
import static net.minecraft.client.renderer.GlStateManager.translate;
|
|
||||||
|
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
|
|
||||||
import com.brohoof.minelittlepony.PonySize;
|
|
||||||
import com.brohoof.minelittlepony.model.AbstractPonyModel;
|
import com.brohoof.minelittlepony.model.AbstractPonyModel;
|
||||||
import com.brohoof.minelittlepony.model.BodyPart;
|
import com.brohoof.minelittlepony.model.BodyPart;
|
||||||
import com.brohoof.minelittlepony.model.PonyModelConstants;
|
import com.brohoof.minelittlepony.model.PonyModelConstants;
|
||||||
|
|
Loading…
Reference in a new issue