Всем привет! На этот раз пытаюсь добавить Techne модель в Minecraft. Делаю по туториалу anti344 на YouTube. Но, меня постигает неудача - моя версия 1.7.10 а у него 1.5.2.
Block3DCrate
Crate3DHandler
RenderCrateModel
CrateModel
Можно еще какой нибуть тутор про добавление течне-модели блоку 1.7.10?
Block3DCrate
Код:
package com.afox.block3d;
import com.afox.ModCore;
import com.afox.init.ModBlocks;
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.init.Blocks;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.IIcon;
import net.minecraft.world.World;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
public class Block3DCrate extends Block
{
public Block3DCrate()
{
super(Material.wood);
this.setCreativeTab(ModCore.blocks);
this.setHardness(1.0F);
this.setResistance(3.0F);
}
public int getRenderType()
{
return ModBlocks.renderModelCrateID;
}
public boolean isOraqueCube()
{
return false;
}
public boolean renderAsNormalBlock()
{
return false;
}
public TileEntity CreateNewTileEntity(World world)
{
return new TileEntityCrateModel();
}
@SideOnly(Side.CLIENT)
public IIcon getIcon(int ir, int ir1)
{
return ir == 1 ? this.blockIcon : (ir == 0 ? Blocks.dirt.getBlockTextureFromSide(ir) : this.blockIcon);
}
}
Crate3DHandler
Код:
package com.afox.block3d;
import com.afox.init.ModBlocks;
import net.minecraft.block.Block;
import net.minecraft.client.renderer.RenderBlocks;
import net.minecraft.world.IBlockAccess;
import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
public class Crate3DHandler implements ISimpleBlockRenderingHandler
{
@Override
public void renderInventoryBlock(Block block, int metadata, int modelId, RenderBlocks renderer)
{
if(block == ModBlocks.crate);
TileEntityRenderer.instance.renderTileEntityAt(new TileEntityCrateModel(), -0.5D, -0.5D, -0.5D, 0F); //на TileEntityRenderer
}
@Override
public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer)
{
return false;
}
@Override
public boolean shouldRender3DInInventory(int modelId)
{
return false;
}
@Override
public int getRenderId()
{
return 0;
}
}
RenderCrateModel
Код:
package com.afox.block3d;
import org.lwjgl.opengl.GL11;
import com.afox.ModInfo;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.tileentity.TileEntity;
public class RenderCrateModel extends TileEntitySpecialRenderer
{
private static CrateModel model;
public RenderCrateModel()
{
model = new CrateModel();
}
@Override
public void renderTileEntityAt(TileEntity tileEntity, double d1, double d2, double d3, float f)
{
this.renderTileEntityAt((TileEntityCrateModel)tileEntity, d1, d2, d3, f);
}
public void renderTileEntity(TileEntityCrateModel tileEntity, double d1, double d2, double d3, float f)
{
GL11.glPopMatrix();
GL11.glTranslatef((float)d1 + 0.5F, (float)d2 + 1.5F, (float)d3 + 0.5F);
GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F);
this.bindTextureByName("assets/afox/textures/models/Crate.png"); //на bindTextureByName
this.model.render();
GL11.glPopMatrix();
}
}
CrateModel
Код:
//там модель
public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5)
{
super.setRotationAngles(f, f1, f2, f3, f4, f5); //на setRotationAngles
}
public void render()
{
Crate.render(0.0625F);
}
}
Можно еще какой нибуть тутор про добавление течне-модели блоку 1.7.10?