RimWorld

RimWorld

Expandable Fermenting and Processing
eagle0600  [developer] 24 Sep, 2018 @ 5:14pm
Bug Fixing Thread
Post stack traces here.
< >
Showing 1-14 of 14 comments
Exception ticking Viktor (at (124, 0, 69)): System.InvalidCastException: Cannot cast from source type to destination type.
at RimWorld.JobDriver_FillFermentingBarrel.get_Barrel () [0x00000] in <filename unknown>:0
at RimWorld.JobDriver_FillFermentingBarrel.TryMakePreToilReservations (Boolean errorOnFailed) [0x00000] in <filename unknown>:0
at Verse.AI.Pawn_JobTracker.StartJob (Verse.AI.Job newJob, JobCondition lastJobEndCondition, Verse.AI.ThinkNode jobGiver, Boolean resumeCurJobAfterwards, Boolean cancelBusyStances, Verse.ThinkTreeDef thinkTree, Nullable`1 tag, Boolean fromQueue) [0x00000] in <filename unknown>:0
at Verse.AI.Pawn_JobTracker.TryFindAndStartJob () [0x00000] in <filename unknown>:0
at Verse.AI.Pawn_JobTracker.EndCurrentJob (JobCondition condition, Boolean startNewJob) [0x00000] in <filename unknown>:0
at Verse.AI.Pawn_JobTracker.JobTrackerTick () [0x00000] in <filename unknown>:0
at Verse.Pawn.Tick () [0x00000] in <filename unknown>:0
at Verse.TickList.Tick () [0x00000] in <filename unknown>:0
Verse.Log:Error(String, Boolean)
Verse.TickList:Tick()
Verse.TickManager:DoSingleTick()
Verse.TickManager:TickManagerUpdate()
Verse.Game:UpdatePlay()
Verse.Root_Play:Update()
eagle0600  [developer] 24 Sep, 2018 @ 8:53pm 
It looks like either the mod is improperly installed, or you have another mod which conflicts. The offending Def is FillFermentingBarrel in JobDefs\Jobs_Misc.xml, which I override to use my own driverClass.
i only used the ExpandableFermenting.dll is there another from your pack that i need to use? i saw a jobdriver and workdriver in there but they were .CS and not .dll, so i thought they were incomplete assemblies.
eagle0600  [developer] 24 Sep, 2018 @ 10:18pm 
You don't just need the .dll, you also need the defs. You should probably just have your mod require my mod, as that's the way I intended it to be used.
i made my own fermenting barrel def, workgiver def and jobgiver def. and i told them to use your assemblies. do i need all the files in your pack? if no then which ones do i 100% need? when i publish this mod, i will credit you for the assemblies. (i know i sound like a dumbass, this is my first mod)
eagle0600  [developer] 25 Sep, 2018 @ 12:16am 
Just let your mod require my mod, it'll be so much easier, and I would prefer it. If you insist on doing it this way, you'll need everything but About and Source, but I can't maintain it that way, and I'm not going to provide any further support in that case.
i know you said you aren't going to help anymore, but this is odd. i have been using everything except the source and about folder this whole time. i put the .dll in my assemblies folder, i put my jobgiver, workgiver and building defs in their folders and told them to use the same comps that are in your defs. by all respect this should be working. perhaps the custom defName for my fermenting barrel and workgiver/jobgiver defs might be conflicting or not being recognized by your .dll. i will test by using the vanilla fermenting barrel defnames and textures.
ok i tested it with vanilla defNames and it does nothing. it does not add my custom alcohols to the fermenting barrel list. oh well, i tried.
Found a "bug": As stated by the description in the xml files, I can use refuelable comps in combination with the fermenting comp. But one problem occurs: Fermenting needs <tickerType>Rare (otherwise it does not work for me) and fuelconsumption needs <tickerType>Normal ...

Is this a bug or a problem on my side? Greetings and thanks alot!
eagle0600  [developer] 20 May, 2019 @ 4:38pm 
I will look into this problem immediately.
eagle0600  [developer] 20 May, 2019 @ 4:57pm 
In a simple test, I was able to make a modified fermenting barrel use fuel by inserting the following xml, copied from the wood-fuelled generator, into its <comps>:
<li Class="CompProperties_Refuelable">
<fuelConsumptionRate>22.0</fuelConsumptionRate>
<fuelCapacity>75.0</fuelCapacity>
<fuelFilter>
<thingDefs>
<li>WoodLog</li>
</thingDefs>
</fuelFilter>
</li>

It worked as expected, and gave no errors or warnings. Could you give me a copy of the xml you're using along with a copy of your ModsConfig.xml (found in %appdata%\..\LocalLow\Ludeon Studios\RimWorld by Ludeon Studios\Config)?
Last edited by eagle0600; 20 May, 2019 @ 5:08pm
Got the "same" comp constellation of course, and by using tickertype Normal no error occurs. BUT: Fermenting wont make any progress, just the fuel is consumed.
Fermenting is only making progress with tickertype rare, and that causes an error and fuel wont be consumed any more.

The xml you were asking (first the structure, with the relevant parts) for:

<ThingDef ParentName="OKT_BuildingBase">
<defName>OKT_smoker</defName>
<label>smoker</label>
<description>A special oven to preserve sausages by using hot smoke.</description>
<thingClass>ExpandableFermenting.Building_Processing</thingClass>

<comps>

<li Class="CompProperties_Refuelable">
<fuelConsumptionRate>10</fuelConsumptionRate>
<fuelCapacity>50</fuelCapacity>
<fuelFilter>
<thingDefs>
<li>WoodLog</li>
</thingDefs>
</fuelFilter>
</li>
<li Class="CompProperties_Flickable"/>
<li Class="CompProperties_Forbiddable" />
<li Class="ExpandableFermenting.CompProperties_Processing">
<ingredientDef>OKT_rawsausage</ingredientDef>
<productDef>OKT_smokedsausage</productDef>
<capacity>10</capacity>
<fermentationDuration>210000</fermentationDuration>
</li>
</comps>
<tickerType>Normal</tickerType>


And here the list of used mods shown in modconfig:

<ModsConfigData>
<version>1.0.2231 rev1144</version>
<activeMods>
<li>Core</li>
<li>955850576</li>
<li>Oktoberfest</li>
</activeMods>
</ModsConfigData>

Oktoberfest (rimtoberfest it should be called by release) is my beta, as you can imagine.

Maybe you doublecheck if the fermenting process is proceeding in your testgame. As I said before, with tickertype normal there are no errors in debuglog, but the process of fermenting is not working anymore. It seems to me that both, fuel consumption and fermenting, need different tickertype and wont work with a different one.

Thanks for your help. I hope I explained it properly. I'm really grateful for your effort.
eagle0600  [developer] 21 May, 2019 @ 4:38pm 
I have to apologise. I must have rushed my testing and failed to notice that fuel was not actually ticking down. I also somehow managed to miss the config error warning that this would be the case, despite checking debug log.

In any case, however it happened, it should be fixed now. The modified barrel I tested both used fuel and made progress in fermenting. The solution was to ensure that the processing component would work no matter what ticker type the object uses. There may be small rounding-error differences based on which ticker type you use, but those differences did not appear to be serious.

Please report if the new version of my mod does not appear to work for you.
Last edited by eagle0600; 21 May, 2019 @ 4:39pm
Da]BSE[WuergerKing 22 May, 2019 @ 11:02am 
Perfectly working now, thank you very much. Now my colonists can make some smoky sausages! Cheers!
< >
Showing 1-14 of 14 comments
Per page: 1530 50