Jump to content
View in the app

A better way to browse. Learn more.

Forge Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

MrJake

Members
  • 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.

Important Information

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

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.