Спасибо, но всеравно какой то бок вылазил. Решил все переделать по этому гайду:
[youtube]VhOSL7rGb10[/youtube]
Дошел до третьего урока с текстурками. Выполнил тестовый запуск, чтобы проверить есть ли мой мод в списке модов. Клиент начал запускаться, даже окно выскочило, но всетаки крашнулся. Вот отчет :
---- Minecraft Crash Report ----
// Shall we play a game?
Time: 02.01.16 14:36
Description: There was a severe problem during mod loading that has caused the game to fail
net.minecraftforge.fml.common.LoaderException: java.lang.ClassNotFoundException: spirhuck.blockplus.proxy.ClientProxy
at net.minecraftforge.fml.common.ProxyInjector.inject(ProxyInjector.java:77)
at net.minecraftforge.fml.common.FMLModContainer.constructMod(FMLModContainer.java:517)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
at com.google.common.eventbus.EventBus.post(EventBus.java:275)
at net.minecraftforge.fml.common.LoadController.sendEventToModContainer(LoadController.java:212)
at net.minecraftforge.fml.common.LoadController.propogateStateMessage(LoadController.java:190)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
at com.google.common.eventbus.EventBus.post(EventBus.java:275)
at net.minecraftforge.fml.common.LoadController.distributeStateMessage(LoadController.java:119)
at net.minecraftforge.fml.common.Loader.loadMods(Loader.java:505)
at net.minecraftforge.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:210)
at net.minecraft.client.Minecraft.startGame(Minecraft.java:447)
at net.minecraft.client.Minecraft.run(Minecraft.java:357)
at net.minecraft.client.main.Main.main(Main.java:117)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source)
at GradleStart.main(Unknown Source)
Caused by: java.lang.ClassNotFoundException: spirhuck.blockplus.proxy.ClientProxy
at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:191)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at net.minecraftforge.fml.common.ModClassLoader.loadClass(ModClassLoader.java:60)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
at net.minecraftforge.fml.common.ProxyInjector.inject(ProxyInjector.java:60)
... 35 more
Caused by: java.lang.NullPointerException
at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:182)
... 41 more
A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------
-- System Details --
Details:
Minecraft Version: 1.8
Operating System: Windows XP (x86) version 5.1
Java Version: 1.8.0_65, Oracle Corporation
Java VM Version: Java HotSpot(TM) Client VM (mixed mode), Oracle Corporation
Memory: 872358056 bytes (831 MB) / 1046937600 bytes (998 MB) up to 1046937600 bytes (998 MB)
JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M
IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
FML: MCP v9.10 FML v8.0.127.1103 3 mods loaded, 3 mods active
mcp{9.05} [Minecraft Coder Pack] (minecraft.jar) Unloaded->Constructed
FML{8.0.127.1103} [Forge Mod Loader] (fmlSrc-1.8-8.0.127.1103.jar) Unloaded->Constructed
tm{1.0} [Tutorial Mod] (bin) Unloaded->Errored
Loaded coremods (and transformers):
GL info: ' Vendor: 'NVIDIA Corporation' Version: '4.2.0' Renderer: 'GeForce GT 430/PCIe/SSE2'
Есть соображения в чем проблема? Ошибок в коде не подсвечивало...
Вот код:
package spirhuck.blocksplus;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.Mod.EventHandler;
import net.minecraftforge.fml.common.SidedProxy;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
import spirhuck.blocksplus.init.TutorialItems;
import spirhuck.blocksplus.proxy.CommonProxy;
@Mod(modid=reference.MOD_ID, name=reference.MOD_NAME, version=reference.VERSION)
public class TutorialMod {
@SidedProxy(clientSide= reference.CLIENT_PROXY_CLASS, serverSide =reference.SERVER_PROXY_CLASS)
public static CommonProxy proxy;
@EventHandler
public void preInit(FMLPreInitializationEvent event)
{
TutorialItems.init();
TutorialItems.register();
}
@EventHandler
public void init(FMLInitializationEvent event)
{
proxy.registerRenders();
}
@EventHandler
public void postInit(FMLPostInitializationEvent event)
{
}
}
package spirhuck.blocksplus.init;
import net.minecraft.client.Minecraft;
import net.minecraft.client.resources.model.ModelResourceLocation;
import net.minecraft.item.Item;
import net.minecraftforge.fml.common.registry.GameRegistry;
import spirhuck.blocksplus.reference;
public class TutorialItems {
public static Item test_item;
public static void init()
{
test_item = new Item().setUnlocalizedName("test_item");
}
public static void register()
{
GameRegistry.registerItem(test_item, test_item.getUnlocalizedName().substring(5)); //It's a getter of setter "setUnlocalizedName("test_item");" that will return title
}
public static void registerRenders()
{
registerRender(test_item);
}
public static void registerRender(Item item)
{
Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(item, 0, new ModelResourceLocation(reference.MOD_ID+":"+item.getUnlocalizedName().substring(5), "inventory"));
}
}
package spirhuck.blocksplus;
public class reference {
public static final String MOD_ID = "tm";
public static final String MOD_NAME = "Tutorial Mod";
public static final String VERSION = "1.0";
public static final String CLIENT_PROXY_CLASS = "spirhuck.blockplus.proxy.ClientProxy";
public static final String SERVER_PROXY_CLASS = "spirhuck.blockplus.proxy.CommonProxy";
package spirhuck.blocksplus.proxy;
public class CommonProxy {
public void registerRenders(){
}
}
package spirhuck.blocksplus.proxy;
import spirhuck.blocksplus.init.TutorialItems;
public class ClientProxy extends CommonProxy {
@Override
public void registerRenders(){
TutorialItems.registerRenders();
}
}
вот...