Error using the Universal fermenter mod

Started by general_kitten, February 20, 2018, 08:22:30 AM

Previous topic - Next topic

general_kitten

Error log:Unexpected culture: . Resetting to en-US.
Verse.Log:Warning(String)
Verse.Root:CheckGlobalInit()
Verse.Root:Start()
Verse.Root_Entry:Start()

Command line arguments: -logfile /tmp/rimworld_log
Verse.Log:Message(String)
Verse.Root:CheckGlobalInit()
Verse.Root:Start()
Verse.Root_Entry:Start()

RimWorld 0.18.1722 rev1210
Verse.Log:Message(String)
RimWorld.VersionControl:LogVersionNumber()
Verse.Root:CheckGlobalInit()
Verse.Root:Start()
Verse.Root_Entry:Start()

XML error: <roratable>false</roratable> doesn't correspond to any field in type ThingDef.
Verse.Log:Error(String)
Verse.DirectXmlToObject:ObjectFromXml(XmlNode, Boolean)
System.Reflection.MonoMethod:InternalInvoke(Object, Object[], Exception&)
System.Reflection.MonoMethod:Invoke(Object, BindingFlags, Binder, Object[], CultureInfo)
System.Reflection.MethodBase:Invoke(Object, Object[])
Verse.<AllDefsFromAsset>c__Iterator2:MoveNext()
Verse.ModContentPack:LoadDefs(IEnumerable`1)
Verse.LoadedModManager:LoadAllActiveMods()
Verse.PlayDataLoader:DoPlayLoad()
Verse.PlayDataLoader:LoadAllPlayData(Boolean)
Verse.Root:<Start>m__1()
Verse.LongEventHandler:RunEventFromAnotherThread(Action)
Verse.LongEventHandler:<UpdateCurrentAsynchronousEvent>m__1()

Caught exception while loading play data but there are active mods other than Core. Resetting mods config and trying again.
The exception was: System.NullReferenceException: Object reference not set to an instance of an object
  at RimWorld.ThingDefGenerator_Buildings.NewFrameDef_Thing (Verse.ThingDef def) [0x00000] in <filename unknown>:0
  at RimWorld.ThingDefGenerator_Buildings+<ImpliedBlueprintAndFrameDefs>c__Iterator0.MoveNext () [0x00000] in <filename unknown>:0
  at System.Linq.Enumerable+<CreateConcatIterator>c__Iterator1`1[Verse.ThingDef].MoveNext () [0x00000] in <filename unknown>:0
  at System.Linq.Enumerable+<CreateConcatIterator>c__Iterator1`1[Verse.ThingDef].MoveNext () [0x00000] in <filename unknown>:0
  at System.Linq.Enumerable+<CreateConcatIterator>c__Iterator1`1[Verse.ThingDef].MoveNext () [0x00000] in <filename unknown>:0
  at RimWorld.DefGenerator.GenerateImpliedDefs_PreResolve () [0x00000] in <filename unknown>:0
  at Verse.PlayDataLoader.DoPlayLoad () [0x00000] in <filename unknown>:0
  at Verse.PlayDataLoader.LoadAllPlayData (Boolean recovering) [0x00000] in <filename unknown>:0
Verse.Log:Warning(String)
Verse.PlayDataLoader:LoadAllPlayData(Boolean)
Verse.Root:<Start>m__1()
Verse.LongEventHandler:RunEventFromAnotherThread(Action)
Verse.LongEventHandler:<UpdateCurrentAsynchronousEvent>m__1()

Successfully recovered from errors and loaded play data.
Verse.Log:Message(String)
Verse.PlayDataLoader:LoadAllPlayData(Boolean)
Verse.PlayDataLoader:LoadAllPlayData(Boolean)
Verse.Root:<Start>m__1()
Verse.LongEventHandler:RunEventFromAnotherThread(Action)
Verse.LongEventHandler:<UpdateCurrentAsynchronousEvent>m__1()

Collection cannot init: No textures found at path Things/item/Drug/combatPill
Verse.Log:Error(String)
Verse.Graphic_Collection:Init(GraphicRequest)
Verse.GraphicDatabase:GetInner(GraphicRequest)
Verse.GraphicDatabase:Get(Type, String, Shader, Vector2, Color, Color, GraphicData)
Verse.GraphicData:Init()
Verse.GraphicData:get_Graphic()
Verse.ThingDef:<PostLoad>m__3()
Verse.LongEventHandler:ExecuteToExecuteWhenFinished()
Verse.LongEventHandler:UpdateCurrentAsynchronousEvent()
Verse.LongEventHandler:LongEventsUpdate(Boolean&)
Verse.Root:Update()
Verse.Root_Entry:Update()

Collection cannot init: No textures found at path Things/item/Drug/GingerAle
Verse.Log:Error(String)
Verse.Graphic_Collection:Init(GraphicRequest)
Verse.GraphicDatabase:GetInner(GraphicRequest)
Verse.GraphicDatabase:Get(Type, String, Shader, Vector2, Color, Color, GraphicData)
Verse.GraphicData:Init()
Verse.GraphicData:get_Graphic()
Verse.ThingDef:<PostLoad>m__3()
Verse.LongEventHandler:ExecuteToExecuteWhenFinished()
Verse.LongEventHandler:UpdateCurrentAsynchronousEvent()
Verse.LongEventHandler:LongEventsUpdate(Boolean&)
Verse.Root:Update()
Verse.Root_Entry:Update()

Collection cannot init: No textures found at path Things/item/Resource/Gwort
Verse.Log:Error(String)
Verse.Graphic_Collection:Init(GraphicRequest)
Verse.GraphicDatabase:GetInner(GraphicRequest)
Verse.GraphicDatabase:Get(Type, String, Shader, Vector2, Color, Color, GraphicData)
Verse.GraphicData:Init()
Verse.GraphicData:get_Graphic()
Verse.ThingDef:<PostLoad>m__3()
Verse.LongEventHandler:ExecuteToExecuteWhenFinished()
Verse.LongEventHandler:UpdateCurrentAsynchronousEvent()
Verse.LongEventHandler:LongEventsUpdate(Boolean&)
Verse.Root:Update()
Verse.Root_Entry:Update()

Collection cannot init: No textures found at path Things/item/Resource/Ginger
Verse.Log:Error(String)
Verse.Graphic_Collection:Init(GraphicRequest)
Verse.GraphicDatabase:GetInner(GraphicRequest)
Verse.GraphicDatabase:Get(Type, String, Shader, Vector2, Color, Color, GraphicData)
Verse.GraphicData:Init()
Verse.GraphicData:get_Graphic()
Verse.ThingDef:<PostLoad>m__3()
Verse.LongEventHandler:ExecuteToExecuteWhenFinished()
Verse.LongEventHandler:UpdateCurrentAsynchronousEvent()
Verse.LongEventHandler:LongEventsUpdate(Boolean&)
Verse.Root:Update()
Verse.Root_Entry:Update()

Collection cannot init: No textures found at path Things/Plant/Ginger
Verse.Log:Error(String)
Verse.Graphic_Collection:Init(GraphicRequest)
Verse.GraphicDatabase:GetInner(GraphicRequest)
Verse.GraphicDatabase:Get(Type, String, Shader, Vector2, Color, Color, GraphicData)
Verse.GraphicData:Init()
Verse.GraphicData:get_Graphic()
Verse.ThingDef:<PostLoad>m__3()
Verse.LongEventHandler:ExecuteToExecuteWhenFinished()
Verse.LongEventHandler:UpdateCurrentAsynchronousEvent()
Verse.LongEventHandler:LongEventsUpdate(Boolean&)
Verse.Root:Update()
Verse.Root_Entry:Update()

file that that when used i suspect is causing the error(its uses the universal fermenter mod)
<Defs>
    <ThingDef parentName="BuildingBase">
      <defName>GingerAleBarrel</defName>
      <label>Ginger ale barrel</label>
      <thingClass>Building_FermentingBarrel</thingClass>
      <description>Barrel used for fermenting Ginger ale.</description>
      <graphicData>
      <texPath>Things/Building/Production/FermentingBarrel</texPath>
      <graphicClass>Graphic_Multi</graphicClass>
      <damageData>
        <rect>(0.05,0.1,0.9,0.9)</rect>
      </damageData>
      </graphicData>
      <minifiedDef>MinifiedFurniture</minifiedDef>
    <altitudeLayer>Building</altitudeLayer>
    <passability>PassThroughOnly</passability>
    <fillPercent>0.45</fillPercent>
    <pathCost>60</pathCost>
    <statBases>
      <WorkToBuild>600</WorkToBuild>
      <Mass>10</Mass>
      <MaxHitPoints>100</MaxHitPoints>
      <Flammability>1.0</Flammability>
    </statBases>
    <costList>
      <Steel>10</Steel>
      <WoodLog>30</WoodLog>
    </costList>
      <comps>
        <li Class="Kubouch.CompProperties_UniversalFermenter">
            <products>
                <li>
                    <thingDef>GingerAle</thingDef>
                    <ingredientFilter>
                        <thingDefs>
                            <li>GingerBug</li>
                        </thingDefs>
                    </ingredientFilter>
                    <maxCapacity>40</maxCapacity>
                    <baseFermentationDuration>240000</baseFermentationDuration>
                </li>
            </products>
        </li>
        <li Class="CompProperties_Forbiddable"/>
      </comps>
      <tickerType>Rare</tickerType>
      <designationCategory>Production</designationCategory>
      <constructEffect>ConstructWood</constructEffect>
      <researchPrerequisites><li>Brewing</li></researchPrerequisites>
    </ThingDef>
  </Defs>


specifially this line seems to cause all the errors <li Class="Kubouch.CompProperties_UniversalFermenter">

Feel free to ask any more details, im very new to modding so the problem is propably something very simple.

Thank you for your time and possible help!  :)

wwWraith

The main error is "XML error: <roratable>false</roratable> doesn't correspond to any field in type ThingDef". Evidently it's a typo, you should use "rotatable" instead of "roratable". Or maybe "rottable", it's hard to say without context. Then there are "No textures found at path Things/item/Drug/combatPill" and alike, probably caused by required textures missing at those paths (deleted? renamed? never existed? path changed?). Details on what do you want to do and what are you actually doing could be helpful.
Think about it. Think around it. Perhaps you'll get some new good idea even if it would be completely different from my words.

general_kitten

Quote from: wwWraith on February 20, 2018, 10:05:46 AM
The main error is "XML error: <roratable>false</roratable> doesn't correspond to any field in type ThingDef". Evidently it's a typo, you should use "rotatable" instead of "roratable". Or maybe "rottable", it's hard to say without context. Then there are "No textures found at path Things/item/Drug/combatPill" and alike, probably caused by required textures missing at those paths (deleted? renamed? never existed? path changed?). Details on what do you want to do and what are you actually doing could be helpful.
ive always wondered about that error but it hasnt ever caused any trouble. About those graphic path errors: if i remove the ferment barrel file (second code box  of original post)from my mod the error log looks like this:Unexpected culture: . Resetting to en-US.
Verse.Log:Warning(String)
Verse.Root:CheckGlobalInit()
Verse.Root:Start()
Verse.Root_Entry:Start()

Command line arguments: -logfile /tmp/rimworld_log
Verse.Log:Message(String)
Verse.Root:CheckGlobalInit()
Verse.Root:Start()
Verse.Root_Entry:Start()

RimWorld 0.18.1722 rev1210
Verse.Log:Message(String)
RimWorld.VersionControl:LogVersionNumber()
Verse.Root:CheckGlobalInit()
Verse.Root:Start()
Verse.Root_Entry:Start()

XML error: <roratable>false</roratable> doesn't correspond to any field in type ThingDef.
Verse.Log:Error(String)
Verse.DirectXmlToObject:ObjectFromXml(XmlNode, Boolean)
System.Reflection.MonoMethod:InternalInvoke(Object, Object[], Exception&)
System.Reflection.MonoMethod:Invoke(Object, BindingFlags, Binder, Object[], CultureInfo)
System.Reflection.MethodBase:Invoke(Object, Object[])
Verse.<AllDefsFromAsset>c__Iterator2:MoveNext()
Verse.ModContentPack:LoadDefs(IEnumerable`1)
Verse.LoadedModManager:LoadAllActiveMods()
Verse.PlayDataLoader:DoPlayLoad()
Verse.PlayDataLoader:LoadAllPlayData(Boolean)
Verse.Root:<Start>m__1()
Verse.LongEventHandler:RunEventFromAnotherThread(Action)
Verse.LongEventHandler:<UpdateCurrentAsynchronousEvent>m__1()

Config error in combatPill: has a recipeMaker but no costList or costStuffCount.
Verse.Log:Warning(String)
Verse.DefDatabase`1:ErrorCheckAllDefs()
System.Reflection.MonoMethod:InternalInvoke(Object, Object[], Exception&)
System.Reflection.MonoMethod:Invoke(Object, BindingFlags, Binder, Object[], CultureInfo)
System.Reflection.MethodBase:Invoke(Object, Object[])
Verse.GenGeneric:InvokeStaticMethodOnGenericType(Type, Type, String)
Verse.PlayDataLoader:DoPlayLoad()
Verse.PlayDataLoader:LoadAllPlayData(Boolean)
Verse.Root:<Start>m__1()
Verse.LongEventHandler:RunEventFromAnotherThread(Action)
Verse.LongEventHandler:<UpdateCurrentAsynchronousEvent>m__1()

Config error in combatPill: addictive but chemical is null
Verse.Log:Warning(String)
Verse.DefDatabase`1:ErrorCheckAllDefs()
System.Reflection.MonoMethod:InternalInvoke(Object, Object[], Exception&)
System.Reflection.MonoMethod:Invoke(Object, BindingFlags, Binder, Object[], CultureInfo)
System.Reflection.MethodBase:Invoke(Object, Object[])
Verse.GenGeneric:InvokeStaticMethodOnGenericType(Type, Type, String)
Verse.PlayDataLoader:DoPlayLoad()
Verse.PlayDataLoader:LoadAllPlayData(Boolean)
Verse.Root:<Start>m__1()
Verse.LongEventHandler:RunEventFromAnotherThread(Action)
Verse.LongEventHandler:<UpdateCurrentAsynchronousEvent>m__1()

Config error in combatPill: has a recipeMaker but no costList or costStuffCount.
Verse.Log:Warning(String)
Verse.DefDatabase`1:ErrorCheckAllDefs()
System.Reflection.MonoMethod:InternalInvoke(Object, Object[], Exception&)
System.Reflection.MonoMethod:Invoke(Object, BindingFlags, Binder, Object[], CultureInfo)
System.Reflection.MethodBase:Invoke(Object, Object[])
Verse.GenGeneric:InvokeStaticMethodOnGenericType(Type, Type, String)
Verse.PlayDataLoader:DoPlayLoad()
Verse.PlayDataLoader:LoadAllPlayData(Boolean)
Verse.Root:<Start>m__1()
Verse.LongEventHandler:RunEventFromAnotherThread(Action)
Verse.LongEventHandler:<UpdateCurrentAsynchronousEvent>m__1()

Config error in combatPill: addictive but chemical is null
Verse.Log:Warning(String)
Verse.DefDatabase`1:ErrorCheckAllDefs()
System.Reflection.MonoMethod:InternalInvoke(Object, Object[], Exception&)
System.Reflection.MonoMethod:Invoke(Object, BindingFlags, Binder, Object[], CultureInfo)
System.Reflection.MethodBase:Invoke(Object, Object[])
Verse.GenGeneric:InvokeStaticMethodOnGenericType(Type, Type, String)
Verse.PlayDataLoader:DoPlayLoad()
Verse.PlayDataLoader:LoadAllPlayData(Boolean)
Verse.Root:<Start>m__1()
Verse.LongEventHandler:RunEventFromAnotherThread(Action)
Verse.LongEventHandler:<UpdateCurrentAsynchronousEvent>m__1()
and everything is playable

wwWraith

Again, until you'll tell what are you trying to achieve and how you are going to do it, it's hard to tell what are you doing wrong. It looks like you just mindlessly messing with strings and files. But ignoring errors is definitely wrong especially when you don't understand their consequences. These new errors tell you that you should add costList or costStuffCount and chemical to the combatPill's def. But you don't show it. I'd suggest you to download some other mods that implement similar things and look on them carefully until you'll understand how and why these strings should be used.
Think about it. Think around it. Perhaps you'll get some new good idea even if it would be completely different from my words.