1 - 4 of 4
package wolff.lanterns;
import java.util.Random;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.world.World;
class BlockLantern extends Block {
public BlockLantern() {
super(Material.redstoneLight);
this.setStepSound(Block.soundTypeStone);
this.setHardness(5);
this.setResistance(15);
this.setLightLevel(0.9375F);
this.setHarvestLevel("pickaxe", 0);
this.setLightOpacity(0);
}
@Override
public boolean renderAsNormalBlock() {
return false;
}
@Override
public boolean isBlockNormalCube() {
return false;
}
@Override
public boolean isOpaqueCube() {
return false;
}
@Override
public int getRenderType() {
return ClientProxy.renderLanternID;
}
@Override
public void randomDisplayTick(World world, int x, int y, int z, Random par5) {
double xx = x + 0.5f;
double yy = y + 0.50f;
double zz = z + 0.5f;
// world.spawnParticle("smoke", xx, yy, zz, 0.0d, 0.0d, 0.0d);
world.spawnParticle("flame", xx, yy, zz, 0.0d, 0.0d, 0.0d);
}
}
package wolff.lanterns;
import net.minecraft.block.Block;
import cpw.mods.fml.common.registry.GameRegistry;
import net.minecraft.creativetab.CreativeTabs;
class RedGraniteCobble extends BlockLantern {
public RedGraniteCobble() {
super();
this.setBlockTextureName("UndergroundBiomes:redGraniteCobble");
this.setBlockName("RedGraniteCobbleLantern");
this.setCreativeTab(CreativeTabs.tabBlock);
}
}
package wolff.lanterns;
// import net.minecraftforge.client.IItemRenderer.ItemRenderType;
import net.minecraft.block.Block;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.RenderBlocks;
import net.minecraft.world.IBlockAccess;
import net.minecraft.init.Blocks;
import net.minecraft.util.IIcon;
// import net.minecraft.item.ItemStack;
import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
import org.lwjgl.opengl.GL11;
class RenderLantern implements ISimpleBlockRenderingHandler {
@Override
public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelID, RenderBlocks renderblocks) {
// bottom base, top base, cap
renderFlat(block, renderblocks, x, y, z, 0.35f, 0.15f, 0.35f, 0.65f, 0.25f, 0.65f);
renderFlat(block, renderblocks, x, y, z, 0.25f, 0.25f, 0.25f, 0.75f, 0.31f, 0.75f);
renderFlat(block, renderblocks, x, y, z, 0.18f, 0.75f, 0.18f, 0.82f, 0.88f, 0.82f);
renderFlat(block, renderblocks, x, y, z, 0.31f, 0.88f, 0.31f, 0.69f, 0.94f, 0.69f);
float low = 0.25f;
float high = 0.625f;
renderCorner(block, renderblocks, x, y, z, low, low);
renderCorner(block, renderblocks, x, y, z, low, high);
renderCorner(block, renderblocks, x, y, z, high, low);
renderCorner(block, renderblocks, x, y, z, high, high);
block.setBlockBounds(0.0f, 0.0f, 0.0f, 1.0f, 1.0f, 1.0f);
return true;
}
private void renderFlat(Block block, RenderBlocks renderblocks, int x, int y, int z,
float minX, float minY, float minZ, float maxX, float maxY, float maxZ) {
block.setBlockBounds(minX, minY, minZ, maxX, maxY, maxZ);
renderblocks.setRenderBoundsFromBlock(block);
renderblocks.renderStandardBlock(block, x, y, z);
}
private void renderCorner(Block block, RenderBlocks renderblocks, int x, int y, int z, float xbase, float zbase) {
block.setBlockBounds(xbase, 0.31f , zbase, xbase + 0.125f, 0.87f, zbase + 0.125f);
renderblocks.setRenderBoundsFromBlock(block);
renderblocks.renderStandardBlock(block, x, y, z);
}
@Override
public int getRenderId() {
return 0;
}
@Override
public boolean shouldRender3DInInventory(int modelID) {
return true;
}
private void renderCornerDraw(Block block, RenderBlocks renderblocks, Tessellator tessellator, float xbase, float zbase) {
renderblocks.setRenderBounds(xbase, 0.31f , zbase, xbase + 0.125f, 0.87f, zbase + 0.125f);
this.renderDraw(block, renderblocks, tessellator);
}
private void renderDraw(Block block, RenderBlocks renderblocks, Tessellator tessellator) {
GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
tessellator.startDrawingQuads();
tessellator.setNormal(0.0F, -1.0F, 0.0F);
renderblocks.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, block.getBlockTextureFromSide(0));
tessellator.draw();
tessellator.startDrawingQuads();
tessellator.setNormal(0.0F, 1.0F, 0.0F);
renderblocks.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, block.getBlockTextureFromSide(1));
tessellator.draw();
tessellator.startDrawingQuads();
tessellator.setNormal(0.0F, 0.0F, -1.0F);
renderblocks.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, block.getBlockTextureFromSide(2));
tessellator.draw();
tessellator.startDrawingQuads();
tessellator.setNormal(0.0F, 0.0F, 1.0F);
renderblocks.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, block.getBlockTextureFromSide(3));
tessellator.draw();
tessellator.startDrawingQuads();
tessellator.setNormal(-1.0F, 0.0F, 0.0F);
renderblocks.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, block.getBlockTextureFromSide(4));
tessellator.draw();
tessellator.startDrawingQuads();
tessellator.setNormal(1.0F, 0.0F, 0.0F);
renderblocks.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, block.getBlockTextureFromSide(5));
tessellator.draw();
GL11.glTranslatef(0.5F, 0.5F, 0.5F);
}
@Override
public void renderInventoryBlock(Block block, int meta, int modelID, RenderBlocks renderblocks) {
Tessellator tessellator = Tessellator.instance;
//renderblocks.setRenderBounds(0.0f, 0.0f, 0.0f, 1.0f, 1.0f, 1.0f);
renderblocks.setRenderBounds(0.35f, 0.15f, 0.35f, 0.65f, 0.25f, 0.65f);
this.renderDraw(block, renderblocks, tessellator);
renderblocks.setRenderBounds(0.25f, 0.25f, 0.25f, 0.75f, 0.31f, 0.75f);
this.renderDraw(block, renderblocks, tessellator);
renderblocks.setRenderBounds(0.18f, 0.75f, 0.18f, 0.82f, 0.88f, 0.82f);
this.renderDraw(block, renderblocks, tessellator);
renderblocks.setRenderBounds(0.31f, 0.88f, 0.31f, 0.69f, 0.94f, 0.69f);
this.renderDraw(block, renderblocks, tessellator);
float low = 0.25f;
float high = 0.625f;
renderCornerDraw(block, renderblocks, tessellator, low, low);
renderCornerDraw(block, renderblocks, tessellator, low, high);
renderCornerDraw(block, renderblocks, tessellator, high, low);
renderCornerDraw(block, renderblocks, tessellator, high, high);
}
}
1 - 4 of 4
© 2010 - 2026 Cyprezz LLC
www.planetminecraft.com
Planet Minecraft has a Progressive Web App!
get_app Install PMC APP
Already a member? Sign in
By continuing, you agree to Planet Minecraft's Terms of Use and Privacy Policy

