Advertisement
Creepinson

tesr

Jun 17th, 2017
318
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.09 KB | None | 0 0
  1. package me.creepinson.tileentity.render;
  2.  
  3. import java.util.Map;
  4. import java.util.UUID;
  5.  
  6. import javax.annotation.Nullable;
  7.  
  8. import org.lwjgl.opengl.GL11;
  9.  
  10. import com.mojang.authlib.GameProfile;
  11. import com.mojang.authlib.minecraft.MinecraftProfileTexture;
  12. import com.mojang.authlib.minecraft.MinecraftProfileTexture.Type;
  13.  
  14. import me.creepinson.block.model.ModelCreepinoSkull;
  15. import me.creepinson.lib.util.Utils;
  16. import me.creepinson.tileentity.TECreepinoSkull;
  17. import net.minecraft.client.Minecraft;
  18. import net.minecraft.client.model.ModelBase;
  19. import net.minecraft.client.model.ModelHumanoidHead;
  20. import net.minecraft.client.model.ModelSkeletonHead;
  21. import net.minecraft.client.renderer.GlStateManager;
  22. import net.minecraft.client.renderer.RenderHelper;
  23. import net.minecraft.client.renderer.Tessellator;
  24. import net.minecraft.client.renderer.block.model.IBakedModel;
  25. import net.minecraft.client.renderer.block.model.ItemCameraTransforms;
  26. import net.minecraft.client.renderer.texture.TextureMap;
  27. import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher;
  28. import net.minecraft.client.renderer.tileentity.TileEntitySkullRenderer;
  29. import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
  30. import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
  31. import net.minecraft.client.resources.DefaultPlayerSkin;
  32. import net.minecraft.entity.player.EntityPlayer;
  33. import net.minecraft.item.ItemStack;
  34. import net.minecraft.tileentity.TileEntitySkull;
  35. import net.minecraft.util.EnumFacing;
  36. import net.minecraft.util.ResourceLocation;
  37. import net.minecraft.world.World;
  38. import net.minecraftforge.client.model.IModel;
  39. import net.minecraftforge.client.model.ModelLoaderRegistry;
  40. import net.minecraftforge.common.model.TRSRTransformation;
  41. import net.minecraftforge.fml.relauncher.Side;
  42. import net.minecraftforge.fml.relauncher.SideOnly;
  43.  
  44. @SideOnly(Side.CLIENT)
  45. public class TESRCreepinoSkull extends TileEntitySpecialRenderer<TECreepinoSkull> {
  46. public static TESRCreepinoSkull instance;
  47. private static final ResourceLocation text = new ResourceLocation(Utils.MODID, "textures/blocks/creep_head.png");
  48. private final ModelCreepinoSkull skull = new ModelCreepinoSkull();
  49.  
  50. public void renderTileEntityAt(TECreepinoSkull te, double x, double y, double z, float partialTicks,
  51. int destroyStage) {
  52. EnumFacing enumfacing = EnumFacing.getFront(te.getBlockMetadata() & 7);
  53.  
  54. this.renderSkull((float) x, (float) y, (float) z, EnumFacing.NORTH,
  55. (float) (te.getSkullRotation() * 360) / 16.0F, destroyStage);
  56. this.renderSkull((float) x, (float) y, (float) z, EnumFacing.EAST,
  57. (float) (te.getSkullRotation() * 360) / 16.0F, destroyStage);
  58. this.renderSkull((float) x, (float) y, (float) z, EnumFacing.SOUTH,
  59. (float) (te.getSkullRotation() * 360) / 16.0F, destroyStage);
  60. this.renderSkull((float) x, (float) y, (float) z, EnumFacing.WEST,
  61. (float) (te.getSkullRotation() * 360) / 16.0F, destroyStage);
  62.  
  63. }
  64.  
  65. public void setRendererDispatcher(TileEntityRendererDispatcher rendererDispatcherIn) {
  66. super.setRendererDispatcher(rendererDispatcherIn);
  67. instance = this;
  68. }
  69.  
  70. public void renderSkull(float x, float y, float z, EnumFacing facing, float p_188190_5_, int destroyStage) {
  71.  
  72. ModelBase modelbase = this.skull;
  73. this.bindTexture(text);
  74. if (destroyStage >= 0) {
  75. this.bindTexture(DESTROY_STAGES[destroyStage]);
  76. GlStateManager.matrixMode(5890);
  77. GlStateManager.pushMatrix();
  78. GlStateManager.scale(4.0F, 2.0F, 1.0F);
  79. GlStateManager.translate(0.0625F, 0.0625F, 0.0625F);
  80. GlStateManager.matrixMode(5888);
  81. } else {
  82.  
  83. }
  84.  
  85. GlStateManager.pushMatrix();
  86. GlStateManager.disableCull();
  87.  
  88. switch (facing) {
  89. case NORTH:
  90. GlStateManager.translate(x + 0.5F, y + 0.25F, z + 0.74F);
  91. break;
  92. case SOUTH:
  93. GlStateManager.translate(x + 0.5F, y + 0.25F, z + 0.26F);
  94. p_188190_5_ = 180.0F;
  95. break;
  96. case WEST:
  97. GlStateManager.translate(x + 0.74F, y + 0.25F, z + 0.5F);
  98. p_188190_5_ = 270.0F;
  99. break;
  100. case EAST:
  101. default:
  102. GlStateManager.translate(x + 0.26F, y + 0.25F, z + 0.5F);
  103. p_188190_5_ = 90.0F;
  104. }
  105. }
  106.  
  107. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement