- 58
- 0
Всем ку. Сделал 3D рендер по этому тутору:
[Учебник]3D Рендер. Версия - 1.6.4.
Ошибок эклипс не показывает, НО игра крашится. Вот лог краша:
at net.minecraftforge.client.model.obj.WavefrontObject.parseFace(WavefrontObject.java:396)
2015-03-08 09:56:40 [INFO] [STDOUT] at net.minecraftforge.client.model.obj.WavefrontObject.loadObjModel(WavefrontObject.java:121)
2015-03-08 09:56:40 [INFO] [STDOUT] at net.minecraftforge.client.model.obj.WavefrontObject.<init>(WavefrontObject.java:55)
2015-03-08 09:56:40 [INFO] [STDOUT] at net.minecraftforge.client.model.obj.ObjModelLoader.loadInstance(ObjModelLoader.java:28)
2015-03-08 09:56:40 [INFO] [STDOUT] at net.minecraftforge.client.model.AdvancedModelLoader.loadModel(AdvancedModelLoader.java:70)
2015-03-08 09:56:40 [INFO] [STDOUT] at mods.rpmod.itemRender.<init>(itemRender.java:20)
2015-03-08 09:56:40 [INFO] [STDOUT] at mods.rpmod.CoreMod.postload(CoreMod.java:139)
2015-03-08 09:56:40 [INFO] [STDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2015-03-08 09:56:40 [INFO] [STDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
2015-03-08 09:56:40 [INFO] [STDOUT] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
2015-03-08 09:56:40 [INFO] [STDOUT] at java.lang.reflect.Method.invoke(Unknown Source)
2015-03-08 09:56:40 [INFO] [STDOUT] at cpw.mods.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:545)
2015-03-08 09:56:40 [INFO] [STDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2015-03-08 09:56:40 [INFO] [STDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
2015-03-08 09:56:40 [INFO] [STDOUT] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
2015-03-08 09:56:40 [INFO] [STDOUT] at java.lang.reflect.Method.invoke(Unknown Source)
2015-03-08 09:56:40 [INFO] [STDOUT] at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:74)
2015-03-08 09:56:40 [INFO] [STDOUT] at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)
2015-03-08 09:56:40 [INFO] [STDOUT] at com.google.common.eventbus.EventBus.dispatch(EventBus.java:313)
2015-03-08 09:56:40 [INFO] [STDOUT] at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:296)
2015-03-08 09:56:40 [INFO] [STDOUT] at com.google.common.eventbus.EventBus.post(EventBus.java:267)
2015-03-08 09:56:40 [INFO] [STDOUT] at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:201)
2015-03-08 09:56:40 [INFO] [STDOUT] at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:181)
2015-03-08 09:56:40 [INFO] [STDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2015-03-08 09:56:40 [INFO] [STDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
2015-03-08 09:56:40 [INFO] [STDOUT] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
2015-03-08 09:56:40 [INFO] [STDOUT] at java.lang.reflect.Method.invoke(Unknown Source)
2015-03-08 09:56:40 [INFO] [STDOUT] at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:74)
2015-03-08 09:56:40 [INFO] [STDOUT] at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)
2015-03-08 09:56:40 [INFO] [STDOUT] at com.google.common.eventbus.EventBus.dispatch(EventBus.java:313)
2015-03-08 09:56:40 [INFO] [STDOUT] at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:296)
2015-03-08 09:56:40 [INFO] [STDOUT] at com.google.common.eventbus.EventBus.post(EventBus.java:267)
2015-03-08 09:56:40 [INFO] [STDOUT] at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:112)
2015-03-08 09:56:40 [INFO] [STDOUT] at cpw.mods.fml.common.Loader.initializeMods(Loader.java:704)
2015-03-08 09:56:40 [INFO] [STDOUT] at cpw.mods.fml.client.FMLClientHandler.finishMinecraftLoading(FMLClientHandler.java:249)
2015-03-08 09:56:40 [INFO] [STDOUT] at net.minecraft.client.Minecraft.startGame(Minecraft.java:509)
2015-03-08 09:56:40 [INFO] [STDOUT] at net.minecraft.client.Minecraft.run(Minecraft.java:808)
2015-03-08 09:56:40 [INFO] [STDOUT] at net.minecraft.client.main.Main.main(Main.java:93)
2015-03-08 09:56:40 [INFO] [STDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2015-03-08 09:56:40 [INFO] [STDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
2015-03-08 09:56:40 [INFO] [STDOUT] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
2015-03-08 09:56:40 [INFO] [STDOUT] at java.lang.reflect.Method.invoke(Unknown Source)
2015-03-08 09:56:40 [INFO] [STDOUT] at net.minecraft.launchwrapper.Launch.launch(Launch.java:131)
2015-03-08 09:56:40 [INFO] [STDOUT] at net.minecraft.launchwrapper.Launch.main(Launch.java:27)
А это код рендера:
package mods.rpmod;
import java.lang.ref.Reference;
import net.minecraft.client.Minecraft;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.client.IItemRenderer;
import net.minecraftforge.client.model.AdvancedModelLoader;
import net.minecraftforge.client.model.IModelCustom;
import org.lwjgl.opengl.GL11;
public class itemRender implements IItemRenderer {
private static IModelCustom model;
private static ResourceLocation tex = new ResourceLocation("rpmod", "/models/1.png"); // Текстура
public itemRender() {
model = AdvancedModelLoader.loadModel("/assets/rpmod/obj/model.obj");
}
public boolean handleRenderType(ItemStack is, ItemRenderType type) {
return type != ItemRenderType.INVENTORY;
}
public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack is, ItemRendererHelper helper) {
return true;
}
public void renderItem(ItemRenderType type, ItemStack is, Object ... data) {
GL11.glPushMatrix(); // Не трогать
GL11.glEnable(3042); // Не трогать
GL11.glBlendFunc(770, 771); // Не трогать
GL11.glTranslatef(-0.6F, 1.3F, 0.5F); // Поворот модели, потренируйтесь.
GL11.glRotatef(-45.0F, 0.0F, 1.0F, 0.0F); // -45 это градусы, остальное лучше не трогать
GL11.glRotatef(180.0F, 0.0F, 1.0F, 0.0F);// 180 это градусы, остальное лучше не трогать
GL11.glScaled(3D, 3D, 3D); // Размеры самой модели
Minecraft.getMinecraft().renderEngine.bindTexture(tex); // Текстура.
model.renderAll(); //Не трогать
GL11.glDisable(3042); //Не трогать
GL11.glPopMatrix(); //Не трогать
}
}
Код самого предмета:
package mods.rpmod;
import net.minecraft.item.Item;
import net.minecraft.client.renderer.texture.IconRegister;
import net.minecraft.creativetab.CreativeTabs;
public class item extends Item
{
public item(int par1)
{
super(par1);
this.setCreativeTab(CoreMod.tabRpmoditems);
maxStackSize = 1;
}
@Override
public void registerIcons(IconRegister par1IconRegister)
{
this.itemIcon = par1IconRegister.registerIcon(ModInformation.MODID + ":testweapon");
}
}
Прошу помощи!
[Учебник]3D Рендер. Версия - 1.6.4.
Ошибок эклипс не показывает, НО игра крашится. Вот лог краша:
at net.minecraftforge.client.model.obj.WavefrontObject.parseFace(WavefrontObject.java:396)
2015-03-08 09:56:40 [INFO] [STDOUT] at net.minecraftforge.client.model.obj.WavefrontObject.loadObjModel(WavefrontObject.java:121)
2015-03-08 09:56:40 [INFO] [STDOUT] at net.minecraftforge.client.model.obj.WavefrontObject.<init>(WavefrontObject.java:55)
2015-03-08 09:56:40 [INFO] [STDOUT] at net.minecraftforge.client.model.obj.ObjModelLoader.loadInstance(ObjModelLoader.java:28)
2015-03-08 09:56:40 [INFO] [STDOUT] at net.minecraftforge.client.model.AdvancedModelLoader.loadModel(AdvancedModelLoader.java:70)
2015-03-08 09:56:40 [INFO] [STDOUT] at mods.rpmod.itemRender.<init>(itemRender.java:20)
2015-03-08 09:56:40 [INFO] [STDOUT] at mods.rpmod.CoreMod.postload(CoreMod.java:139)
2015-03-08 09:56:40 [INFO] [STDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2015-03-08 09:56:40 [INFO] [STDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
2015-03-08 09:56:40 [INFO] [STDOUT] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
2015-03-08 09:56:40 [INFO] [STDOUT] at java.lang.reflect.Method.invoke(Unknown Source)
2015-03-08 09:56:40 [INFO] [STDOUT] at cpw.mods.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:545)
2015-03-08 09:56:40 [INFO] [STDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2015-03-08 09:56:40 [INFO] [STDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
2015-03-08 09:56:40 [INFO] [STDOUT] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
2015-03-08 09:56:40 [INFO] [STDOUT] at java.lang.reflect.Method.invoke(Unknown Source)
2015-03-08 09:56:40 [INFO] [STDOUT] at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:74)
2015-03-08 09:56:40 [INFO] [STDOUT] at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)
2015-03-08 09:56:40 [INFO] [STDOUT] at com.google.common.eventbus.EventBus.dispatch(EventBus.java:313)
2015-03-08 09:56:40 [INFO] [STDOUT] at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:296)
2015-03-08 09:56:40 [INFO] [STDOUT] at com.google.common.eventbus.EventBus.post(EventBus.java:267)
2015-03-08 09:56:40 [INFO] [STDOUT] at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:201)
2015-03-08 09:56:40 [INFO] [STDOUT] at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:181)
2015-03-08 09:56:40 [INFO] [STDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2015-03-08 09:56:40 [INFO] [STDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
2015-03-08 09:56:40 [INFO] [STDOUT] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
2015-03-08 09:56:40 [INFO] [STDOUT] at java.lang.reflect.Method.invoke(Unknown Source)
2015-03-08 09:56:40 [INFO] [STDOUT] at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:74)
2015-03-08 09:56:40 [INFO] [STDOUT] at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)
2015-03-08 09:56:40 [INFO] [STDOUT] at com.google.common.eventbus.EventBus.dispatch(EventBus.java:313)
2015-03-08 09:56:40 [INFO] [STDOUT] at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:296)
2015-03-08 09:56:40 [INFO] [STDOUT] at com.google.common.eventbus.EventBus.post(EventBus.java:267)
2015-03-08 09:56:40 [INFO] [STDOUT] at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:112)
2015-03-08 09:56:40 [INFO] [STDOUT] at cpw.mods.fml.common.Loader.initializeMods(Loader.java:704)
2015-03-08 09:56:40 [INFO] [STDOUT] at cpw.mods.fml.client.FMLClientHandler.finishMinecraftLoading(FMLClientHandler.java:249)
2015-03-08 09:56:40 [INFO] [STDOUT] at net.minecraft.client.Minecraft.startGame(Minecraft.java:509)
2015-03-08 09:56:40 [INFO] [STDOUT] at net.minecraft.client.Minecraft.run(Minecraft.java:808)
2015-03-08 09:56:40 [INFO] [STDOUT] at net.minecraft.client.main.Main.main(Main.java:93)
2015-03-08 09:56:40 [INFO] [STDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2015-03-08 09:56:40 [INFO] [STDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
2015-03-08 09:56:40 [INFO] [STDOUT] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
2015-03-08 09:56:40 [INFO] [STDOUT] at java.lang.reflect.Method.invoke(Unknown Source)
2015-03-08 09:56:40 [INFO] [STDOUT] at net.minecraft.launchwrapper.Launch.launch(Launch.java:131)
2015-03-08 09:56:40 [INFO] [STDOUT] at net.minecraft.launchwrapper.Launch.main(Launch.java:27)
А это код рендера:
package mods.rpmod;
import java.lang.ref.Reference;
import net.minecraft.client.Minecraft;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.client.IItemRenderer;
import net.minecraftforge.client.model.AdvancedModelLoader;
import net.minecraftforge.client.model.IModelCustom;
import org.lwjgl.opengl.GL11;
public class itemRender implements IItemRenderer {
private static IModelCustom model;
private static ResourceLocation tex = new ResourceLocation("rpmod", "/models/1.png"); // Текстура
public itemRender() {
model = AdvancedModelLoader.loadModel("/assets/rpmod/obj/model.obj");
}
public boolean handleRenderType(ItemStack is, ItemRenderType type) {
return type != ItemRenderType.INVENTORY;
}
public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack is, ItemRendererHelper helper) {
return true;
}
public void renderItem(ItemRenderType type, ItemStack is, Object ... data) {
GL11.glPushMatrix(); // Не трогать
GL11.glEnable(3042); // Не трогать
GL11.glBlendFunc(770, 771); // Не трогать
GL11.glTranslatef(-0.6F, 1.3F, 0.5F); // Поворот модели, потренируйтесь.
GL11.glRotatef(-45.0F, 0.0F, 1.0F, 0.0F); // -45 это градусы, остальное лучше не трогать
GL11.glRotatef(180.0F, 0.0F, 1.0F, 0.0F);// 180 это градусы, остальное лучше не трогать
GL11.glScaled(3D, 3D, 3D); // Размеры самой модели
Minecraft.getMinecraft().renderEngine.bindTexture(tex); // Текстура.
model.renderAll(); //Не трогать
GL11.glDisable(3042); //Не трогать
GL11.glPopMatrix(); //Не трогать
}
}
Код самого предмета:
package mods.rpmod;
import net.minecraft.item.Item;
import net.minecraft.client.renderer.texture.IconRegister;
import net.minecraft.creativetab.CreativeTabs;
public class item extends Item
{
public item(int par1)
{
super(par1);
this.setCreativeTab(CoreMod.tabRpmoditems);
maxStackSize = 1;
}
@Override
public void registerIcons(IconRegister par1IconRegister)
{
this.itemIcon = par1IconRegister.registerIcon(ModInformation.MODID + ":testweapon");
}
}
Прошу помощи!