Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package me.ferdz.placeableitems.tileentity.renderer;
- import org.lwjgl.opengl.GL11;
- import me.ferdz.placeableitems.PlaceableItems;
- import me.ferdz.placeableitems.tileentity.TEFish;
- import net.minecraft.client.Minecraft;
- import net.minecraft.client.renderer.GlStateManager;
- import net.minecraft.client.renderer.Tessellator;
- import net.minecraft.client.renderer.block.model.IBakedModel;
- import net.minecraft.client.renderer.texture.TextureMap;
- import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
- import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
- import net.minecraft.util.ResourceLocation;
- import net.minecraft.world.World;
- import net.minecraftforge.client.model.IModel;
- import net.minecraftforge.client.model.ModelLoaderRegistry;
- import net.minecraftforge.common.model.TRSRTransformation;
- public class TESRFish extends TileEntitySpecialRenderer<TEFish>{
- private static IBakedModel fish;
- private static ResourceLocation fishL;
- public TESRFish() {
- try {
- if(fish == null) {
- IModel model = ModelLoaderRegistry.getModel(new ResourceLocation(PlaceableItems.MODID, "block/fish/fish"));
- fish = model.bake(TRSRTransformation.identity(),
- DefaultVertexFormats.BLOCK,
- location -> Minecraft.getMinecraft().getTextureMapBlocks().registerSprite(new ResourceLocation(location.toString())));
- fishL = new ResourceLocation(PlaceableItems.MODID, "textures/blocks/fish/fish.png");
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- @Override
- public void renderTileEntityAt(TEFish te, double x, double y, double z, float partialTicks, int destroyStage) {
- GlStateManager.pushAttrib();
- GlStateManager.pushMatrix();
- // Translate to the location of our tile entity
- GlStateManager.translate(x, y, z);
- GlStateManager.disableRescaleNormal();
- Minecraft.getMinecraft().renderEngine.bindTexture(fishL);
- GlStateManager.pushMatrix();
- if (Minecraft.isAmbientOcclusionEnabled()) {
- GlStateManager.shadeModel(GL11.GL_SMOOTH);
- } else {
- GlStateManager.shadeModel(GL11.GL_FLAT);
- }
- World world = te.getWorld();
- // Translate back to local view coordinates so that we can do the acual rendering here
- GlStateManager.translate(-te.getPos().getX(), -te.getPos().getY(), -te.getPos().getZ());
- Tessellator tessellator = Tessellator.getInstance();
- tessellator.getBuffer().begin(GL11.GL_QUADS, DefaultVertexFormats.BLOCK);
- Minecraft.getMinecraft().getBlockRendererDispatcher().getBlockModelRenderer().renderModel(
- world,
- fish,
- world.getBlockState(te.getPos()),
- te.getPos(),
- Tessellator.getInstance().getBuffer(),
- true);
- tessellator.draw();
- GlStateManager.popMatrix();
- GlStateManager.popMatrix();
- GlStateManager.popAttrib();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement