Jump to content

RemoveItem from inventory invalidates prefab in Forest but not Caves on a specific save file


Cyde042
  • Pending

Let me preface that the error happens with a mod added item but it makes no sense why it's not consistent across worlds. It works fine in a new world Forest + Caves, I was thinking there might be some edge case issue on the C-side of the game.

It has to do with retrieving an item from a shelf component, it says that it's not an inventory item. c_dump shows that the stored item is not valid in Forest, but it is valid in Caves of the same save file.

Server is hosted in a docker container running ubuntu. I tried it on native ubuntu and on native Windows 10. It's all the same.

I wrote some details here and uploaded the save file and mod in question.

Here is a dump on the entity in question:

Forest (invalid)

[00:14:48]: ============================================ Dumping entity 	100325 - firepit	============================================	
[00:14:48]: GUID:100325 Name:  Tags: BURNABLE_fueled campfire inspectable wildfireprotected specialstewer_dishtaker _container fueldepleted stewer ge_firepit HAMMER_workable cooker installations_occupied installations canlight storytellingprop takeshelfitem structure blocker 
Prefab: firepit
AnimState: bank: firepit build: firepit anim: idle anim/firepit.zip:idle Frame: 6703.56/1 Facing: 0:right
Transform: Pos=(9.00,0.00,-215.50) Scale=(1.00,1.00,1.00) Heading=0.00
Network: NetworkID=4395 Owner=UNASSIGNED_RAKNET_GUID NetSleep=1111111111111111111111111111111111111111111111111111111111111110
MiniMapEntity: 
Physics: Collision Group: 512 Mask: 256,1024,16384, (ACTIVE) Vel: 0.00
SoundEmitter: 
	
[00:14:48]: --------------------------------------------------------------------------------------------------------------------	
[00:14:48]:    GUID = 100325	
[00:14:48]:    Transform = Transform (0x184452d0)	
[00:14:48]:    inlimbo = false	
[00:14:48]:    actionreplica = table: 0x18445790	
[00:14:48]:    prefaboverride = net_entity (0x18446250)	
[00:14:48]:    actioncomponents = table: 0x18444fb0	
[00:14:48]:    lower_components_shadow = table: 0x18444e90	
[00:14:48]:    dish = 105124 - ge_casseroledish (valid:false)	
[00:14:48]:    entity = Entity (0x18444d40)	
[00:14:48]:    AnimState = AnimState (0x18445660)	
[00:14:48]:    children = table: 0x1844a4d0	
[00:14:48]:    SetDish = function - ../mods/Gorge Experience/scripts/prefabs/ge_oven.lua:148	
[00:14:48]:    oven = 100329 - ge_oven (valid:true)	
[00:14:48]:    OnSave = function - ../mods/Gorge Experience/scripts/prefabs/ge_firepit.lua:165	
[00:14:48]:    Network = Network (0x184456a0)	
[00:14:48]:    Physics = Physics (0x18445e90)	
[00:14:48]:    name = Fire Pit	
[00:14:48]:    MiniMapEntity = MiniMapEntity (0x18445700)	
[00:14:48]:    SoundEmitter = SoundEmitter (0x184456c0)	
[00:14:48]:    prefab = firepit	
[00:14:48]:    OnLoad = function - ../mods/Gorge Experience/scripts/prefabs/ge_firepit.lua:151	
[00:14:48]:    pendingtasks = table: 0x1844a820	
[00:14:48]:    spawntime = 0	
[00:14:48]:    event_listening = table: 0x18446d20	
[00:14:48]:    replica = table: 0x184451b0	
[00:14:48]:    event_listeners = table: 0x18446c70	
[00:14:48]:    components = table: 0x18444e20	
[00:14:48]:    persists = true	
[00:14:48]: --------------------------------------------------------------------------------------------------------------------	
[00:14:48]:    Dumping component	installations	
[00:14:48]:       caninstallfn = function - ../mods/Gorge Experience/scripts/prefabs/ge_firepit.lua:137	
[00:14:48]:       installation = 100329 - ge_oven (valid:true)	
[00:14:48]:       inst = 100325 - firepit (valid:true)	
[00:14:48]:       oninstallfn = function - ../mods/Gorge Experience/scripts/prefabs/ge_firepit.lua:146	
[00:14:48]:    Dumping component	workable	
[00:14:48]:       onwork = function - ../mods/Gorge Experience/scripts/prefabs/ge_firepit.lua:25	
[00:14:48]:       inst = 100325 - firepit (valid:true)	
[00:14:48]:       savestate = false	
[00:14:48]:       _ = table: 0x18446fe0	
[00:14:48]:       onfinish = function - ../mods/Gorge Experience/scripts/prefabs/ge_firepit.lua:15	
[00:14:48]:    Dumping component	specialstewer	
[00:14:48]:       burnthreshold = -20	
[00:14:48]:       iscooking = false	
[00:14:48]:       containerfn = function - ../mods/Gorge Experience/scripts/prefabs/ge_oven.lua:144	
[00:14:48]:       task = PERIODIC 100325: 1.000000	
[00:14:48]:       oncookingstepfn = function - ../mods/Gorge Experience/scripts/prefabs/ge_oven.lua:120	
[00:14:48]:       cookertype = ge_oven	
[00:14:48]:       oncompletefn = function - ../mods/Gorge Experience/scripts/prefabs/ge_oven.lua:110	
[00:14:48]:       firemultiplier = 0	
[00:14:48]:       inst = 100325 - firepit (valid:true)	
[00:14:48]:       intervalcheck = 1	
[00:14:48]:       isdone = false	
[00:14:48]:       spoiledproduct = spoiled_food	
[00:14:48]:       _ = table: 0x1844d6e0	
[00:14:48]:       cooktime = 99999	
[00:14:48]:    Dumping component	hauntable	
[00:14:48]:       no_wipe_value = false	
[00:14:48]:       cooldown = 10	
[00:14:48]:       flicker = off	
[00:14:48]:       panictimer = 0	
[00:14:48]:       onhaunt = function - ../mods/Gorge Experience/scripts/prefabs/ge_firepit.lua:81	
[00:14:48]:       inst = 100325 - firepit (valid:true)	
[00:14:48]:       cooldowntimer = 0	
[00:14:48]:       usefx = true	
[00:14:48]:       cooldown_on_successful_haunt = true	
[00:14:48]:       _ = table: 0x1844a930	
[00:14:48]:       panic = false	
[00:14:48]:    Dumping component	fueled	
[00:14:48]:       sections = 4	
[00:14:48]:       sectionfn = function - ../mods/Gorge Experience/scripts/prefabs/ge_firepit.lua:51	
[00:14:48]:       rate = 1	
[00:14:48]:       ontakefuelfn = function - ../mods/Gorge Experience/scripts/prefabs/ge_firepit.lua:36	
[00:14:48]:       updatefn = function - ../mods/Gorge Experience/scripts/prefabs/ge_firepit.lua:44	
[00:14:48]:       rate_modifiers = table: 0x18447840	
[00:14:48]:       inst = 100325 - firepit (valid:true)	
[00:14:48]:       bonusmult = 2	
[00:14:48]:       period = 1	
[00:14:48]:       consuming = false	
[00:14:48]:       _ = table: 0x184474f0	
[00:14:48]:    Dumping component	burnable	
[00:14:48]:       fxdata = table: 0x18446960	
[00:14:48]:       fxchildren = table: 0x18446a80	
[00:14:48]:       flammability = 1	
[00:14:48]:       inst = 100325 - firepit (valid:true)	
[00:14:48]:       extinguishimmediately = true	
[00:14:48]:       fxlevel = 0	
[00:14:48]:       lightningimmune = false	
[00:14:48]:       _ = table: 0x184466c0	
[00:14:48]:    Dumping component	cooker	
[00:14:48]:       inst = 100325 - firepit (valid:true)	
[00:14:48]:    Dumping component	inspectable	
[00:14:48]:       inst = 100325 - firepit (valid:true)	
[00:14:48]:       getstatus = function - ../mods/Gorge Experience/scripts/prefabs/ge_firepit.lua:71	
[00:14:48]:    Dumping component	storytellingprop	
[00:14:48]:       inst = 100325 - firepit (valid:true)	
[00:14:48]:    Dumping component	shelf	
[00:14:48]:       ontakeitemfn = function - ../mods/Gorge Experience/scripts/prefabs/ge_oven.lua:168	
[00:14:48]:       inst = 100325 - firepit (valid:true)	
[00:14:48]:       _ = table: 0x1844dc60	
[00:14:48]:    Dumping component	lootdropper	
[00:14:48]:       trappable = true	
[00:14:48]:       inst = 100325 - firepit (valid:true)	
[00:14:48]:       droppingchanceloot = false	
[00:14:48]:    Dumping component	container	
[00:14:48]:       ignoresound = false	
[00:14:48]:       slots = table: 0x1844cd10	
[00:14:48]:       openlist = table: 0x1844cf20	
[00:14:48]:       inst = 100325 - firepit (valid:true)	
[00:14:48]:       _ = table: 0x1844cc00	
[00:14:48]:       opencount = 0	
[00:14:48]: ====================================================================================================================================	

Caves(valid):

[00:12:22]: ============================================ Dumping entity 	112358 - firepit	============================================	
[00:12:22]: GUID:112358 Name:  Tags: BURNABLE_fueled campfire inspectable wildfireprotected specialstewer_dishtaker _container fueldepleted stewer ge_firepit HAMMER_workable cooker installations_occupied installations canlight storytellingprop takeshelfitem structure blocker 
Prefab: firepit
AnimState: bank: firepit build: firepit anim: idle anim/firepit.zip:idle Frame: 11443.85/1 Facing: 0:right
Transform: Pos=(-402.50,0.00,-26.00) Scale=(1.00,1.00,1.00) Heading=0.00
Network: NetworkID=16129 Owner=UNASSIGNED_RAKNET_GUID NetSleep=1111111111111111111111111111111111111111111111111111111111111110
MiniMapEntity: 
Physics: Collision Group: 512 Mask: 256,1024,16384, (ACTIVE) Vel: 0.00
SoundEmitter: 
	
[00:12:22]: --------------------------------------------------------------------------------------------------------------------	
[00:12:22]:    GUID = 112358	
[00:12:22]:    Transform = Transform (0x1baa7d80)	
[00:12:22]:    inlimbo = false	
[00:12:22]:    actionreplica = table: 0x21684df0	
[00:12:22]:    prefaboverride = net_entity (0x1b7edd70)	
[00:12:22]:    actioncomponents = table: 0x1e54d620	
[00:12:22]:    lower_components_shadow = table: 0x22057760	
[00:12:22]:    dish = 112059 - ge_casseroledish (valid:true)	
[00:12:22]:    entity = Entity (0x1b7a24a0)	
[00:12:22]:    AnimState = AnimState (0x1e9ebe50)	
[00:12:22]:    children = table: 0x20a64430	
[00:12:22]:    SetDish = function - ../mods/Gorge Experience/scripts/prefabs/ge_oven.lua:148	
[00:12:22]:    oven = 112384 - ge_oven (valid:true)	
[00:12:22]:    OnSave = function - ../mods/Gorge Experience/scripts/prefabs/ge_firepit.lua:165	
[00:12:22]:    Network = Network (0x21f150a0)	
[00:12:22]:    Physics = Physics (0x19f74490)	
[00:12:22]:    name = Fire Pit	
[00:12:22]:    MiniMapEntity = MiniMapEntity (0x21010cb0)	
[00:12:22]:    SoundEmitter = SoundEmitter (0x1ca829d0)	
[00:12:22]:    prefab = firepit	
[00:12:22]:    OnLoad = function - ../mods/Gorge Experience/scripts/prefabs/ge_firepit.lua:151	
[00:12:22]:    pendingtasks = table: 0x1c2ca370	
[00:12:22]:    spawntime = 335.83335084841	
[00:12:22]:    event_listening = table: 0x1be09560	
[00:12:22]:    replica = table: 0x1036db70	
[00:12:22]:    event_listeners = table: 0x1b8ff830	
[00:12:22]:    components = table: 0xb710420	
[00:12:22]:    persists = true	
[00:12:22]: --------------------------------------------------------------------------------------------------------------------	
[00:12:22]:    Dumping component	installations	
[00:12:22]:       caninstallfn = function - ../mods/Gorge Experience/scripts/prefabs/ge_firepit.lua:137	
[00:12:22]:       installation = 112384 - ge_oven (valid:true)	
[00:12:22]:       inst = 112358 - firepit (valid:true)	
[00:12:22]:       oninstallfn = function - ../mods/Gorge Experience/scripts/prefabs/ge_firepit.lua:146	
[00:12:22]:    Dumping component	workable	
[00:12:22]:       onwork = function - ../mods/Gorge Experience/scripts/prefabs/ge_firepit.lua:25	
[00:12:22]:       inst = 112358 - firepit (valid:true)	
[00:12:22]:       savestate = false	
[00:12:22]:       _ = table: 0x1c6485b0	
[00:12:22]:       onfinish = function - ../mods/Gorge Experience/scripts/prefabs/ge_firepit.lua:15	
[00:12:22]:    Dumping component	specialstewer	
[00:12:22]:       burnthreshold = -20	
[00:12:22]:       iscooking = false	
[00:12:22]:       containerfn = function - ../mods/Gorge Experience/scripts/prefabs/ge_oven.lua:144	
[00:12:22]:       task = PERIODIC 112358: 1.000000	
[00:12:22]:       oncookingstepfn = function - ../mods/Gorge Experience/scripts/prefabs/ge_oven.lua:120	
[00:12:22]:       cookertype = ge_oven	
[00:12:22]:       oncompletefn = function - ../mods/Gorge Experience/scripts/prefabs/ge_oven.lua:110	
[00:12:22]:       firemultiplier = 0	
[00:12:22]:       inst = 112358 - firepit (valid:true)	
[00:12:22]:       intervalcheck = 1	
[00:12:22]:       isdone = false	
[00:12:22]:       spoiledproduct = spoiled_food	
[00:12:22]:       _ = table: 0x20afd550	
[00:12:22]:       cooktime = 99999	
[00:12:22]:    Dumping component	hauntable	
[00:12:22]:       no_wipe_value = false	
[00:12:22]:       cooldown = 10	
[00:12:22]:       flicker = off	
[00:12:22]:       panictimer = 0	
[00:12:22]:       onhaunt = function - ../mods/Gorge Experience/scripts/prefabs/ge_firepit.lua:81	
[00:12:22]:       inst = 112358 - firepit (valid:true)	
[00:12:22]:       cooldowntimer = 0	
[00:12:22]:       usefx = true	
[00:12:22]:       cooldown_on_successful_haunt = true	
[00:12:22]:       _ = table: 0x2035ed00	
[00:12:22]:       panic = false	
[00:12:22]:    Dumping component	fueled	
[00:12:22]:       sections = 4	
[00:12:22]:       sectionfn = function - ../mods/Gorge Experience/scripts/prefabs/ge_firepit.lua:51	
[00:12:22]:       rate = 1	
[00:12:22]:       ontakefuelfn = function - ../mods/Gorge Experience/scripts/prefabs/ge_firepit.lua:36	
[00:12:22]:       updatefn = function - ../mods/Gorge Experience/scripts/prefabs/ge_firepit.lua:44	
[00:12:22]:       rate_modifiers = table: 0x1c733bd0	
[00:12:22]:       inst = 112358 - firepit (valid:true)	
[00:12:22]:       bonusmult = 2	
[00:12:22]:       period = 1	
[00:12:22]:       consuming = false	
[00:12:22]:       _ = table: 0x1ed35980	
[00:12:22]:    Dumping component	burnable	
[00:12:22]:       fxdata = table: 0xb802460	
[00:12:22]:       fxchildren = table: 0x1bd4cf70	
[00:12:22]:       flammability = 1	
[00:12:22]:       inst = 112358 - firepit (valid:true)	
[00:12:22]:       extinguishimmediately = true	
[00:12:22]:       fxlevel = 0	
[00:12:22]:       lightningimmune = false	
[00:12:22]:       _ = table: 0x1f6000e0	
[00:12:22]:    Dumping component	cooker	
[00:12:22]:       inst = 112358 - firepit (valid:true)	
[00:12:22]:    Dumping component	inspectable	
[00:12:22]:       inst = 112358 - firepit (valid:true)	
[00:12:22]:       getstatus = function - ../mods/Gorge Experience/scripts/prefabs/ge_firepit.lua:71	
[00:12:22]:    Dumping component	storytellingprop	
[00:12:22]:       inst = 112358 - firepit (valid:true)	
[00:12:22]:    Dumping component	shelf	
[00:12:22]:       ontakeitemfn = function - ../mods/Gorge Experience/scripts/prefabs/ge_oven.lua:168	
[00:12:22]:       inst = 112358 - firepit (valid:true)	
[00:12:22]:       _ = table: 0x1b7a67c0	
[00:12:22]:    Dumping component	lootdropper	
[00:12:22]:       trappable = true	
[00:12:22]:       inst = 112358 - firepit (valid:true)	
[00:12:22]:       droppingchanceloot = false	
[00:12:22]:    Dumping component	container	
[00:12:22]:       ignoresound = false	
[00:12:22]:       slots = table: 0x1c5c4cd0	
[00:12:22]:       openlist = table: 0x1b506420	
[00:12:22]:       inst = 112358 - firepit (valid:true)	
[00:12:22]:       _ = table: 0x199c6d70	
[00:12:22]:       opencount = 0	
[00:12:22]: ====================================================================================================================================	

 


Steps to Reproduce

c_spawn("firepit")

c_give("ge_oven_item")

Unpack the oven kit.

Install the oven on the firepit.

Place casserole dish in the oven.

Take casserole dish from the oven.

Observe.




User Feedback


I discovered the reason, I generated the world on Garuda Linux (arch linux) and then moved it to the ubuntu container.

I tried making a new world on arch and it doesn't work even when moving the same world over to ubuntu.

Share this comment


Link to comment
Share on other sites



Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
  • Create New...