2
1
Fork 1
mirror of https://github.com/ACGaming/Spackenmobs synced 2024-06-10 22:48:54 +02:00
Spackenmobs/src/main/java/mod/acgaming/spackenmobs/render/LayerHeldItemLatinTeacher.java
2020-10-19 20:31:48 +02:00

97 lines
3.5 KiB
Java

package mod.acgaming.spackenmobs.render;
import mod.acgaming.spackenmobs.entities.EntityLatinTeacher;
import net.minecraft.block.Block;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.GlStateManager;
import net.minecraft.client.renderer.block.model.ItemCameraTransforms;
import net.minecraft.client.renderer.entity.layers.LayerRenderer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumBlockRenderType;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
@SideOnly(Side.CLIENT)
public class LayerHeldItemLatinTeacher implements LayerRenderer<EntityLatinTeacher>
{
private final RenderLatinTeacher latinTeacherRenderer;
public LayerHeldItemLatinTeacher(RenderLatinTeacher latinTeacherRendererIn)
{
this.latinTeacherRenderer = latinTeacherRendererIn;
}
public void doRenderLayer(EntityLatinTeacher entitylivingbaseIn, float limbSwing, float limbSwingAmount, float partialTicks, float ageInTicks, float netHeadYaw, float headPitch, float scale)
{
ItemStack itemstack = entitylivingbaseIn.getHeldItemMainhand();
if (!itemstack.isEmpty())
{
GlStateManager.color(1.0F, 1.0F, 1.0F);
GlStateManager.pushMatrix();
if (this.latinTeacherRenderer.getMainModel().isChild)
{
GlStateManager.translate(0.0F, 0.625F, 0.0F);
GlStateManager.rotate(-20.0F, -1.0F, 0.0F, 0.0F);
float f = 0.5F;
GlStateManager.scale(0.5F, 0.5F, 0.5F);
}
this.latinTeacherRenderer.getMainModel().villagerNose.postRender(0.0625F);
GlStateManager.translate(-0.0625F, 0.53125F, 0.21875F);
Item item = itemstack.getItem();
Minecraft minecraft = Minecraft.getMinecraft();
if (Block.getBlockFromItem(item).getDefaultState().getRenderType() == EnumBlockRenderType.ENTITYBLOCK_ANIMATED)
{
GlStateManager.translate(0.0F, 0.0625F, -0.25F);
GlStateManager.rotate(30.0F, 1.0F, 0.0F, 0.0F);
GlStateManager.rotate(-5.0F, 0.0F, 1.0F, 0.0F);
float f1 = 0.375F;
GlStateManager.scale(0.375F, -0.375F, 0.375F);
} else if (item instanceof net.minecraft.item.ItemBow)
{
GlStateManager.translate(0.0F, 0.125F, -0.125F);
GlStateManager.rotate(-45.0F, 0.0F, 1.0F, 0.0F);
float f2 = 0.625F;
GlStateManager.scale(0.625F, -0.625F, 0.625F);
GlStateManager.rotate(-100.0F, 1.0F, 0.0F, 0.0F);
GlStateManager.rotate(-20.0F, 0.0F, 1.0F, 0.0F);
} else if (item.isFull3D())
{
if (item.shouldRotateAroundWhenRendering())
{
GlStateManager.rotate(180.0F, 0.0F, 0.0F, 1.0F);
GlStateManager.translate(0.0F, -0.0625F, 0.0F);
}
this.latinTeacherRenderer.transformHeldFull3DItemLayer();
GlStateManager.translate(0.0625F, -0.125F, 0.0F);
float f3 = 0.625F;
GlStateManager.scale(0.625F, -0.625F, 0.625F);
GlStateManager.rotate(0.0F, 1.0F, 0.0F, 0.0F);
GlStateManager.rotate(0.0F, 0.0F, 1.0F, 0.0F);
} else
{
GlStateManager.translate(0.1875F, 0.1875F, 0.0F);
float f4 = 0.875F;
GlStateManager.scale(0.875F, 0.875F, 0.875F);
GlStateManager.rotate(-20.0F, 0.0F, 0.0F, 1.0F);
GlStateManager.rotate(-60.0F, 1.0F, 0.0F, 0.0F);
GlStateManager.rotate(-30.0F, 0.0F, 0.0F, 1.0F);
}
GlStateManager.rotate(-15.0F, 1.0F, 0.0F, 0.0F);
GlStateManager.rotate(40.0F, 0.0F, 0.0F, 1.0F);
minecraft.getItemRenderer().renderItem(entitylivingbaseIn, itemstack, ItemCameraTransforms.TransformType.THIRD_PERSON_RIGHT_HAND);
GlStateManager.popMatrix();
}
}
public boolean shouldCombineTextures()
{
return false;
}
}