TiCon Trait bracket handler always fails to find the trait
belathus opened this issue ยท 3 comments
Referencing here.
In the documentation, the example given is <ticontrait:cactus>, which is the name of a material and not a trait, so I initially thought that it was supposed to grab the traits associated with the material. But, that doesn't work. I get this error: Cannot identify trait <ticontrait:cactus>
. I also tried bone, and got the same error.
Alright, so I tried grabbing a trait from here: https://github.com/SlimeKnights/TinkersConstruct/blob/master/src/main/java/slimeknights/tconstruct/tools/TinkerTraits.java
Specifically, I tried splintering, splitting, slimeyGreen, and fractured, and all of them gave me the same error.
At this point, I'm fairly confident that the bracket handler is broken for looking up existing traits.
For reference, here is the whole error from crafttweaker.log
[PREINITIALIZATION][CLIENT][ERROR] Cannot identify trait <ticontrait:cactus>
[PREINITIALIZATION][CLIENT][ERROR] [contenttweaker]: Error executing {[0:contenttweaker]: tconstruct/slimey_bones.zs}: null
java.lang.NullPointerException
at com.teamacronymcoders.contenttweaker.modules.tinkers.materials.CoTTConMaterialBuilder.addMaterialTrait(CoTTConMaterialBuilder.java:102)
at tconstruct\Slimey_bones.__script__(tconstruct/slimey_bones.zs:18)
at __ZenMain__.run(tconstruct\Slimey_bones)
at crafttweaker.runtime.CrTTweaker.loadScript(CrTTweaker.java:174)
at crafttweaker.runtime.CrTTweaker.loadScript(CrTTweaker.java:68)
at com.teamacronymcoders.contenttweaker.ContentTweaker.afterModuleHandlerInit(ContentTweaker.java:45)
at com.teamacronymcoders.base.BaseModFoundation.preInit(BaseModFoundation.java:112)
at com.teamacronymcoders.contenttweaker.ContentTweaker.preInit(ContentTweaker.java:40)
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:627)
at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.google.common.eventbus.Subscriber.invokeSubscriberMethod(Subscriber.java:91)
at com.google.common.eventbus.Subscriber$SynchronizedSubscriber.invokeSubscriberMethod(Subscriber.java:150)
at com.google.common.eventbus.Subscriber$1.run(Subscriber.java:76)
at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:399)
at com.google.common.eventbus.Subscriber.dispatchEvent(Subscriber.java:71)
at com.google.common.eventbus.Dispatcher$PerThreadQueuedDispatcher.dispatch(Dispatcher.java:116)
at com.google.common.eventbus.EventBus.post(EventBus.java:217)
at net.minecraftforge.fml.common.LoadController.sendEventToModContainer(LoadController.java:218)
at net.minecraftforge.fml.common.LoadController.propogateStateMessage(LoadController.java:196)
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.Subscriber.invokeSubscriberMethod(Subscriber.java:91)
at com.google.common.eventbus.Subscriber$SynchronizedSubscriber.invokeSubscriberMethod(Subscriber.java:150)
at com.google.common.eventbus.Subscriber$1.run(Subscriber.java:76)
at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:399)
at com.google.common.eventbus.Subscriber.dispatchEvent(Subscriber.java:71)
at com.google.common.eventbus.Dispatcher$PerThreadQueuedDispatcher.dispatch(Dispatcher.java:116)
at com.google.common.eventbus.EventBus.post(EventBus.java:217)
at net.minecraftforge.fml.common.LoadController.distributeStateMessage(LoadController.java:135)
at net.minecraftforge.fml.common.Loader.preinitializeMods(Loader.java:627)
at net.minecraftforge.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:245)
at net.minecraft.client.Minecraft.func_71384_a(Minecraft.java:466)
at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:3926)
at net.minecraft.client.main.Main.main(SourceFile:123)
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 org.multimc.onesix.OneSixLauncher.launchWithMainClass(OneSixLauncher.java:196)
at org.multimc.onesix.OneSixLauncher.launch(OneSixLauncher.java:231)
at org.multimc.EntryPoint.listen(EntryPoint.java:143)
at org.multimc.EntryPoint.main(EntryPoint.java:34)
Try adding the trait in a CrT script, not a CoT, it may be very well possible that TiCon registers the traits after CoT runs
I'm still having issues with this. I'm also unable to access traits either when using name like cactus or identifier spiky. Wether run at Contenttweaker or Crafttweaker loading stage.
I always get a:
[INITIALIZATION][CLIENT][ERROR] Cannot identify trait <ticontrait:cactus>
[INITIALIZATION][CLIENT][ERROR] Cannot identify trait <ticontrait:spiky>