Jump to content

CptTomm

Members
  • Posts

    2
  • Joined

  • Last visited

Converted

  • Gender
    Undisclosed
  • Personal Text
    I am new!

CptTomm's Achievements

Tree Puncher

Tree Puncher (2/8)

0

Reputation

  1. You mean doing this in ClientProxy: ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTable.class, new RendererTable()); If it helps here is my ClientProxy and main class Main.java package com.CptTomm.ms; import com.CptTomm.ms.blocks.*; import com.CptTomm.ms.proxy.CommonProxy; import cpw.mods.fml.client.registry.ClientRegistry; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.Mod.EventHandler; import cpw.mods.fml.common.Mod.Instance; import cpw.mods.fml.common.SidedProxy; import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.event.FMLPostInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; import cpw.mods.fml.common.registry.GameRegistry; @Mod(modid = "ms", name = "Modern Stuff", version = "0") public class Main { @Instance(value = "ms") public static Main instance; @SidedProxy(clientSide = "com.CptTomm.ms.proxy.ClientProxy", serverSide = "com.CptTomm.ms.proxy.CommonProxy") public static CommonProxy proxy; @EventHandler public void preInit(FMLPreInitializationEvent event) { GameRegistry.registerBlock(new BlockTable(), "table"); GameRegistry.registerTileEntity(TileEntityTable.class, "Table"); } @EventHandler public void load(FMLInitializationEvent event) { proxy.registerRenderers(); } @EventHandler public void postInit(FMLPostInitializationEvent event) { } } ClientProxy.java package com.CptTomm.ms.proxy; import com.CptTomm.ms.blocks.*; import cpw.mods.fml.client.registry.ClientRegistry; import net.minecraftforge.client.MinecraftForgeClient; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; public class ClientProxy extends CommonProxy { @Override public void registerRenderers() { ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTable.class, new RendererTable()); } }
  2. I'm trying to Render a table but whenever I try to place it down it just is an invisible block, like a barrier. I am new to Modding so help wold be greatly appreciated. BlockTable.java: package com.CptTomm.ms.blocks; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; public class BlockTable extends Block{ public BlockTable() { super(Material.wood); this.setBlockName("table"); this.setCreativeTab(CreativeTabs.tabDecorations); } public TileEntity createNewTileEntity(World w) { return new TileEntityTable(); } public int getRenderType() { return -1; } public boolean isOpaqueCube() { return false; } public boolean renderAsNormalBlock() { return false; } @SideOnly(Side.CLIENT) public void regiaterIcons(IIconRegister icon) { this.blockIcon = icon.registerIcon("ms:table"); } } TileEntityTable.java: package com.CptTomm.ms.blocks; import net.minecraft.tileentity.TileEntity; public class TileEntityTable extends TileEntity { } ModelTable.java: package com.CptTomm.ms.blocks; import net.minecraft.client.model.ModelBase; import net.minecraft.client.model.ModelRenderer; import net.minecraft.entity.Entity; public class ModelTable extends ModelBase { //fields ModelRenderer leg1; ModelRenderer leg2; ModelRenderer leg3; ModelRenderer leg4; ModelRenderer Shape1; public ModelTable() { textureWidth = 64; textureHeight = 32; leg1 = new ModelRenderer(this, 0, 0); leg1.addBox(0F, 0F, 0F, 2, 13, 2); leg1.setRotationPoint(4F, 11F, 4F); leg1.setTextureSize(64, 32); leg1.mirror = true; setRotation(leg1, 0F, 0F, 0F); leg2 = new ModelRenderer(this, 0, 0); leg2.addBox(0F, 0F, -2F, 2, 13, 2); leg2.setRotationPoint(4F, 11F, -4F); leg2.setTextureSize(64, 32); leg2.mirror = true; setRotation(leg2, 0F, 0F, 0F); leg3 = new ModelRenderer(this, 0, 0); leg3.addBox(-2F, 0F, -2F, 2, 13, 2); leg3.setRotationPoint(-4F, 11F, -4F); leg3.setTextureSize(64, 32); leg3.mirror = true; setRotation(leg3, 0F, 0F, 0F); leg4 = new ModelRenderer(this, 0, 0); leg4.addBox(-2F, 0F, 0F, 2, 13, 2); leg4.setRotationPoint(-4F, 11F, 4F); leg4.setTextureSize(64, 32); leg4.mirror = true; setRotation(leg4, 0F, 0F, 0F); Shape1 = new ModelRenderer(this, 5, 16); Shape1.addBox(-7F, 0F, -7F, 14, 2, 14); Shape1.setRotationPoint(0F, 9F, 0F); Shape1.setTextureSize(64, 32); Shape1.mirror = true; setRotation(Shape1, 0F, 0F, 0F); } public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { super.render(entity, f, f1, f2, f3, f4, f5); setRotationAngles(f, f1, f2, f3, f4, f5, entity); leg1.render(f5); leg2.render(f5); leg3.render(f5); leg4.render(f5); Shape1.render(f5); } private void setRotation(ModelRenderer model, float x, float y, float z) { model.rotateAngleX = x; model.rotateAngleY = y; model.rotateAngleZ = z; } public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) { super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); } } RendererTable.java: package com.CptTomm.ms.blocks; import net.minecraft.block.Block; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.OpenGlHelper; import net.minecraft.client.renderer.Tessellator; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; import net.minecraft.entity.Entity; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.ResourceLocation; import net.minecraft.world.World; import org.lwjgl.opengl.GL11; public class RendererTable extends TileEntitySpecialRenderer { //The model of your block private final ModelTable model; public RendererTable() { this.model = new ModelTable(); } private void adjustRotatePivotViaMeta(World world, int x, int y, int z) { int meta = world.getBlockMetadata(x, y, z); GL11.glPushMatrix(); GL11.glRotatef(meta * (-90), 0.0F, 0.0F, 1.0F); GL11.glPopMatrix(); } @Override public void renderTileEntityAt(TileEntity te, double x, double y, double z, float scale) { //The PushMatrix tells the renderer to "start" doing something. GL11.glPushMatrix(); //This is setting the initial location. GL11.glTranslatef((float) x + 0.5F, (float) y + 1.5F, (float) z + 0.5F); //This is the texture of your block. It's pathed to be the same place as your other blocks here. //Outdated bindTextureByName("/mods/roads/textures/blocks/TrafficLightPoleRed.png"); //Use in 1.6.2 this ResourceLocation textures = (new ResourceLocation("ms:textures/models/table.png")); //the ':' is very important //binding the textures Minecraft.getMinecraft().renderEngine.bindTexture(textures); //This rotation part is very important! Without it, your model will render upside-down! And for some reason you DO need PushMatrix again! GL11.glPushMatrix(); GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F); //A reference to your Model file. Again, very important. this.model.render((Entity)null, 0.0F, 0.0F, -0.1F, 0.0F, 0.0F, 0.0625F); //Tell it to stop rendering for both the PushMatrix's GL11.glPopMatrix(); GL11.glPopMatrix(); } //Set the lighting stuff, so it changes it's brightness properly. private void adjustLightFixture(World world, int i, int j, int k, Block block) { Tessellator tess = Tessellator.instance; //float brightness = block.getBlockBrightness(world, i, j, k); //As of MC 1.7+ block.getBlockBrightness() has become block.getLightValue(): float brightness = block.getLightValue(world, i, j, k); int skyLight = world.getLightBrightnessForSkyBlocks(i, j, k, 0); int modulousModifier = skyLight % 65536; int divModifier = skyLight / 65536; tess.setColorOpaque_F(brightness, brightness, brightness); OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, (float) modulousModifier, divModifier); } }
×
×
  • Create New...

Important Information

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