Skip to content

Commit

Permalink
Improved reactor cell rendering.
Browse files Browse the repository at this point in the history
  • Loading branch information
halvors committed Apr 25, 2018
1 parent a5667f5 commit 6ec8e50
Showing 1 changed file with 23 additions and 24 deletions.
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package org.halvors.nuclearphysics.client.render.block.reactor;

import net.minecraft.client.renderer.GlStateManager;
import net.minecraft.client.renderer.texture.TextureAtlasSprite;
import net.minecraft.item.ItemStack;
import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.fluids.IFluidTank;
Expand All @@ -26,37 +27,35 @@ protected void render(TileReactorCell tile, double x, double y, double z) {
ItemStack itemStack = tile.getInventory().getStackInSlot(0);

if (fluidStack != null && fluidStack.isFluidEqual(ModFluids.fluidStackPlasma) && tank.getFluidAmount() > 0) {
GlStateManager.pushMatrix();

// Make glass and fuel transparent.
GlStateManager.enableBlend();
GlStateManager.disableAlpha();

if (modelPlasma.getTexture() == null) {
modelPlasma.setTexture(TextureEventHandler.getFluidTexture(fluidStack.getFluid(), FluidType.STILL));
}
renderFuel(modelPlasma, TextureEventHandler.getFluidTexture(fluidStack.getFluid(), FluidType.STILL), true);
} else if (itemStack != null) {
renderFuel(modelFissileFuel, TextureEventHandler.getTexture("reactor_fissile_material"), false);
}
}

modelPlasma.render();
private void renderFuel(final Model3D model, final TextureAtlasSprite texture, final boolean isTransparent) {
GlStateManager.pushMatrix();

GlStateManager.disableBlend();
GlStateManager.enableAlpha();
// Make fuel transparent.
if (isTransparent) {
GlStateManager.enableBlend();
}

GlStateManager.popMatrix();
} else if (itemStack != null) {
GlStateManager.pushMatrix();
// Make glass transparent.
GlStateManager.disableAlpha();

// Make glass transparent.
GlStateManager.disableAlpha();
if (model.getTexture() == null) {
model.setTexture(texture);
}

if (modelFissileFuel.getTexture() == null) {
modelFissileFuel.setTexture(TextureEventHandler.getTexture("reactor_fissile_material"));
}
model.render();

modelFissileFuel.render();
if (isTransparent) {
GlStateManager.disableBlend();
}

GlStateManager.enableAlpha();
GlStateManager.enableAlpha();

GlStateManager.popMatrix();
}
GlStateManager.popMatrix();
}
}

0 comments on commit 6ec8e50

Please sign in to comment.