- 48
- 0
У меня как не странно проблема с моделью и найти ошибку я не могу( Я копирувал код Тимохи).
И так вот главный класс:
Вот класс предмета:
Вот класс ProxyClient:
Вот класс RenderItemTechne:
Вот класс ModelItem:
Вот класс ProxyCommon:
Также текстура модели.
И так вот главный класс:
Код:
package assets.modItem.src;
import cpw.mods.fml.common.Mod;
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.FMLPreInitializationEvent;
import cpw.mods.fml.common.registry.GameRegistry;
import net.minecraft.item.Item;
@Mod (modid = ModItem.MODID, name = ModItem.MODNAME, version = ModItem.VERSION)
public class ModItem {
public static final String MODID = "sub_mod_techne_item";
public static final String MODNAME = "SM_TI";
public static final String VERSION = "0.1a";
@Instance(ModItem.MODID) public static ModItem instance;
@SidedProxy(modId = ModItem.MODID, clientSide = "assets.modItem.src.ProxyClient", serverSide = "assets.modItem.src.ProxyCommon")
public static ProxyCommon proxy;
public static Item sword;
@Mod.EventHandler
public void preInit(FMLPreInitializationEvent event) {
sword = new sword();
GameRegistry.registerItem(sword, "sword");
proxy.preInit();
}
@Mod.EventHandler
public void init(FMLInitializationEvent event) {
proxy.init();
}
}
Код:
package assets.modItem.src;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
public class sword extends Item {
public sword() {
super();
setCreativeTab(CreativeTabs.tabFood);
setFull3D();
setTextureName(ModItem.MODID + ":Sword2");
setUnlocalizedName(ModItem.MODID + ".sword");
}
}
Вот класс ProxyClient:
Код:
package assets.modItem.src;
import net.minecraftforge.client.MinecraftForgeClient;
public class ProxyClient extends ProxyCommon{
public void preInit() {
super.preInit();
}
public void init() {
super.init();
//Item
MinecraftForgeClient.registerItemRenderer(ModItem.sword, new RenderItemTechne());
}
}
Вот класс RenderItemTechne:
Код:
package assets.modItem.src;
import org.lwjgl.opengl.GL11;
import net.minecraft.client.Minecraft;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.client.IItemRenderer;
public class RenderItemTechne implements IItemRenderer {
public static final ModelItem model = new ModelItem();
public static final ResourceLocation texture = new ResourceLocation(ModItem.MODID, "textures/items/Sword.png");
@Override
public boolean handleRenderType(ItemStack is, ItemRenderType type) {
if (type == ItemRenderType.INVENTORY) return false;
return true;
}
@Override
public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack is, ItemRendererHelper helper) {
if (type == ItemRenderType.INVENTORY) return false;
return true;
}
@Override
public void renderItem(ItemRenderType type, ItemStack is, Object... data) {
GL11.glPushMatrix();
GL11.glTranslatef(0.5F, 1.5F, 0.5F);
GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F);
Minecraft.getMinecraft().renderEngine.bindTexture(texture);
model.render();
GL11.glPopMatrix();
}
}
Вот класс ModelItem:
Код:
package assets.modItem.src;
import net.minecraft.client.model.ModelBase;
import net.minecraft.client.model.ModelRenderer;
import net.minecraft.entity.Entity;
public class ModelItem extends ModelBase {
ModelRenderer item;
public ModelItem() {
textureWidth = 64;
textureHeight = 32;
item = new ModelRenderer(this, 0, 0);
item.addBox(0F, 0F, -1F, 14, 14, 2);
item.setRotationPoint(-7F, 8F, 0F);
item.setTextureSize(64, 32);
item.mirror = true;
setRotation(item, 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);
item.render(f5);
}
public void render() {
item.render(0.0625F);
}
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);
}
}
Вот класс ProxyCommon:
Код:
package assets.modItem.src;
public class ProxyCommon {
public void preInit() {
}
public void init() {
}
}
Также текстура модели.