Skip to content

Instantly share code, notes, and snippets.

@Daomephsta
Last active January 22, 2017 20:58
Show Gist options
  • Save Daomephsta/73a8af7a2f4f15af1a8e293a1bb6c5db to your computer and use it in GitHub Desktop.
Save Daomephsta/73a8af7a2f4f15af1a8e293a1bb6c5db to your computer and use it in GitHub Desktop.
package leviathan143.wildblueyonder.common;
import leviathan143.wildblueyonder.common.blocks.ModBlocks;
import leviathan143.wildblueyonder.common.entities.ModEntities;
import leviathan143.wildblueyonder.common.entities.seacraft.components.VanillaComponents;
import leviathan143.wildblueyonder.common.items.ModItems;
import leviathan143.wildblueyonder.common.world.biomes.ModBiomes;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
public class CommonProxy
{
public void preInit(FMLPreInitializationEvent event)
{
ModItems.init();
ModBlocks.init();
ModEntities.register();
ModBiomes.register();
registerRenders();
}
public void init(FMLInitializationEvent event)
{
VanillaComponents.init();
}
public void postInit(FMLPostInitializationEvent event)
{
}
public void registerRenders()
{
}
}
---- Minecraft Crash Report ----
// Uh... Did I do that?
Time: 1/23/17 8:40 AM
Description: There was a severe problem during mod loading that has caused the game to fail
net.minecraftforge.fml.common.LoaderExceptionModCrash: Caught exception from The Wild Blue Yonder (wildblueyonder)
Caused by: java.lang.ExceptionInInitializerError
at leviathan143.wildblueyonder.common.CommonProxy.init(CommonProxy.java:25)
at leviathan143.wildblueyonder.client.ClientProxy.init(ClientProxy.java:26)
at leviathan143.wildblueyonder.common.WildBlueYonder.init(WildBlueYonder.java:54)
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:498)
at net.minecraftforge.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:643)
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:498)
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:246)
at net.minecraftforge.fml.common.LoadController.propogateStateMessage(LoadController.java:224)
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:498)
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:147)
at net.minecraftforge.fml.common.Loader.initializeMods(Loader.java:809)
at net.minecraftforge.fml.client.FMLClientHandler.finishMinecraftLoading(FMLClientHandler.java:343)
at net.minecraft.client.Minecraft.init(Minecraft.java:562)
at net.minecraft.client.Minecraft.run(Minecraft.java:387)
at net.minecraft.client.main.Main.main(Main.java:118)
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:498)
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
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:498)
at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97)
at GradleStart.main(GradleStart.java:26)
Caused by: java.lang.NullPointerException
at net.minecraftforge.fml.common.registry.PersistentRegistryManager.makeDelegate(PersistentRegistryManager.java:731)
at net.minecraftforge.fml.common.registry.IForgeRegistryEntry$Impl.<init>(IForgeRegistryEntry.java:70)
at leviathan143.wildblueyonder.api.seacraft.components.WatercraftComponent.<init>(WatercraftComponent.java:5)
at leviathan143.wildblueyonder.common.entities.seacraft.components.TestComponent.<init>(TestComponent.java:5)
at leviathan143.wildblueyonder.common.entities.seacraft.components.VanillaComponents.<clinit>(VanillaComponents.java:11)
... 46 more
A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------
-- System Details --
Details:
Minecraft Version: 1.11.2
Operating System: Windows 10 (amd64) version 10.0
Java Version: 1.8.0_91, Oracle Corporation
Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
Memory: 575799688 bytes (549 MB) / 846200832 bytes (807 MB) up to 1895825408 bytes (1808 MB)
JVM Flags: 0 total;
IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
FML: MCP 9.38 Powered by Forge 13.20.0.2224 5 mods loaded, 5 mods active
States: 'U' = Unloaded 'L' = Loaded 'C' = Constructed 'H' = Pre-initialized 'I' = Initialized 'J' = Post-initialized 'A' = Available 'D' = Disabled 'E' = Errored
UCHI minecraft{1.11.2} [Minecraft] (minecraft.jar)
UCHI mcp{9.19} [Minecraft Coder Pack] (minecraft.jar)
UCHI FML{8.0.99.99} [Forge Mod Loader] (forgeSrc-1.11.2-13.20.0.2224-PROJECT(The Wild Blue Yonder).jar)
UCHI forge{13.20.0.2224} [Minecraft Forge] (forgeSrc-1.11.2-13.20.0.2224-PROJECT(The Wild Blue Yonder).jar)
UCHE wildblueyonder{{@modVersion}} [The Wild Blue Yonder] (bin)
Loaded coremods (and transformers):
GL info: ' Vendor: 'NVIDIA Corporation' Version: '4.5.0 NVIDIA 375.57' Renderer: 'GeForce GTX 750/PCIe/SSE2'
package leviathan143.wildblueyonder.api.seacraft;
import java.util.Map;
import com.google.common.collect.Maps;
import leviathan143.wildblueyonder.api.seacraft.components.ComponentCallbacks;
import leviathan143.wildblueyonder.api.seacraft.components.WatercraftComponent;
import leviathan143.wildblueyonder.common.WildBlueYonder;
import leviathan143.wildblueyonder.common.WildBlueYonder.Constants;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.fml.common.registry.*;
public class SeacraftAPI
{
public static final ResourceLocation BOAT_COMPONENTS = new ResourceLocation(Constants.MODID, "boat_components");;
//Hull Materials
private static final Map<ResourceLocation, HullMaterial> hullMats = Maps.newHashMap();
private static final FMLControlledNamespacedRegistry<WatercraftComponent> BOAT_COMPONENT_REGISTRY;
static
{
BOAT_COMPONENT_REGISTRY = (FMLControlledNamespacedRegistry<WatercraftComponent>) new RegistryBuilder<WatercraftComponent>()
.setName(BOAT_COMPONENTS)
.setType(WatercraftComponent.class)
.setIDRange(0, 4095)
.addCallback(ComponentCallbacks.INSTANCE)
.create();
}
/**
* @param name
* @param durability
* @param buoyancyMult
* @return whether the HullMaterial was successfully registered
*/
public static boolean registerHullMaterial(ResourceLocation name, int durability, float buoyancyMult)
{
if(hullMats.containsKey(name))
{
WildBlueYonder.logger.error("A HullMaterial with name " + name + "has already been registered!");
return false;
}
hullMats.put(name, new HullMaterial(name, durability, buoyancyMult));
return true;
}
public static HullMaterial getHullMat(ResourceLocation name)
{
return hullMats.get(name);
}
}
package leviathan143.wildblueyonder.common.entities.seacraft.components;
import leviathan143.wildblueyonder.api.seacraft.SeacraftAPI;
import leviathan143.wildblueyonder.api.seacraft.components.WatercraftComponent;
import leviathan143.wildblueyonder.common.WildBlueYonder.Constants;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.fml.common.registry.GameRegistry;
public class VanillaComponents
{
public static final WatercraftComponent test = new TestComponent();
public static void init()
{
registerVanillaHullMaterials();
registerVanillaBoatComponents();
}
public static void registerVanillaHullMaterials()
{
SeacraftAPI.registerHullMaterial(new ResourceLocation(Constants.MODID, "wood"), 500, 1.0F);
}
public static void registerVanillaBoatComponents()
{
test.setRegistryName("test");
GameRegistry.register(test);
}
}
package leviathan143.wildblueyonder.api.seacraft.components;
import net.minecraftforge.fml.common.registry.IForgeRegistryEntry;
public abstract class WatercraftComponent extends IForgeRegistryEntry.Impl<WatercraftComponent>
{
public abstract float getWeight();
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment