Jump to content

MrJake

Members
  • Posts

    28
  • Joined

  • Last visited

Everything posted by MrJake

  1. Yeah... But this even happens with @Override public AxisAlignedBB getRenderBoundingBox() { return INFINITE_EXTENT_AABB; } while I think infinite box means it should render all the time...
  2. Maybe this will help? https://shadowfacts.net/tutorials/forge-modding-112/tile-entities-inventory-gui/
  3. Hi, I'm experiencing a problem with my TESR not rendering when looking in certain direction(Overridden render function not running). I'm writing a Stargate mod and my OBJ model is rendered via VBOs. It takes up space of 9x9 blocks(vertically) with the "base block" at the bottom-center of it. I've even tried to return INFINITE_EXTENT_AABB in getRenderBoundingBox() but it changes nothing. Please help. StargateBaseTile.java package mrjake.aunis.stargate.blocks.sgbase; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.ITickable; import net.minecraft.util.math.AxisAlignedBB; import net.minecraft.util.math.BlockPos; public class StargateBaseTile extends TileEntity { @Override public AxisAlignedBB getRenderBoundingBox() { // return new AxisAlignedBB(new BlockPos(-6, 0, -6), new BlockPos(7, 12, 7)); // return super.getRenderBoundingBox().expand(12, 12, 12); return INFINITE_EXTENT_AABB; } @Override public NBTTagCompound writeToNBT(NBTTagCompound compound) { return super.writeToNBT(compound); } @Override public void readFromNBT(NBTTagCompound compound) { super.readFromNBT(compound); } } StargateTESR.java package mrjake.aunis.stargate; import static org.lwjgl.opengl.GL11.*; import mrjake.aunis.Aunis; import mrjake.aunis.stargate.blocks.sgbase.StargateBaseTile; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.GlStateManager; import net.minecraft.client.renderer.OpenGlHelper; import net.minecraft.client.renderer.RenderHelper; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; import net.minecraft.util.ResourceLocation; public class StargateTESR extends TileEntitySpecialRenderer<StargateBaseTile> { protected static void setLightingDisabled(boolean off) { OpenGlHelper.setActiveTexture(OpenGlHelper.lightmapTexUnit); if (off) glDisable(GL_TEXTURE_2D); else glEnable(GL_TEXTURE_2D); OpenGlHelper.setActiveTexture(OpenGlHelper.defaultTexUnit); } private float gateDiameter = 9.8469F; // private float ringDiameter = 9.02849F; private float centerOfRotation = 4.8656F; // private float aboveZeroLevel = 0.40113F; private void renderRing(double x, double y, double z, float angle) { if (StargateNetwork.ringModel != null) { glTranslatef((float) x, (float) y-0.05F, (float) z); glRotatef(angle, 0, 0, 1); // glTranslatef(0, -( (ringDiameter/2) + aboveZeroLevel ), 0); glTranslatef(0, -centerOfRotation, 0); Minecraft.getMinecraft().getTextureManager().bindTexture(new ResourceLocation("aunis:stargate/textures/texturering.png")); StargateNetwork.ringModel.render(); } } private void renderGate(double x, double y, double z) { if (StargateNetwork.gateModel != null) { glTranslatef((float) x, (float) y - (gateDiameter/2), (float) z); Minecraft.getMinecraft().getTextureManager().bindTexture(new ResourceLocation("aunis:stargate/textures/darkmetal2048.png")); StargateNetwork.gateModel.render(); } } /* public StargateTESR() { }*/ @Override public void render(StargateBaseTile te, double x, double y, double z, float partialTicks, int destroyStage, float alpha) { Aunis.logger.info("Render code running!"); GlStateManager.enableRescaleNormal(); GlStateManager.alphaFunc(GL_GREATER, 0.1f); GlStateManager.enableBlend(); RenderHelper.enableStandardItemLighting(); GlStateManager.tryBlendFuncSeparate(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, 1, 0); GlStateManager.pushMatrix(); setLightingDisabled(true); x += 0.5; y += 0.35 + (gateDiameter / 2); z += 0.5; float time = te.getWorld().getTotalWorldTime() + partialTicks; renderRing(x,y,z, time*1.30f); GlStateManager.popMatrix(); GlStateManager.pushMatrix(); renderGate(x,y,z); setLightingDisabled(false); GlStateManager.popMatrix(); GlStateManager.disableRescaleNormal(); GlStateManager.disableBlend(); } } I find more code irrevelant but if you need something please ask.
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.