-- luacheck: globals MyModGlobal Character local utils = require "Cyka.utils" local dump = require "Cyka.dump" local function tryAccessFabricator() local items = utils.enqueueAllSubmarineItems({}, function(item) return item.Prefab.Identifier.Value == "fabricator", item.Prefab.Identifier.Value == "fabricator" end) if #items == 0 then MyModGlobal.debugPrint("No fabricator found") return end if #items > 1 then MyModGlobal.debugPrint("Multiple fabricators found, using first one") end ---@type Barotrauma.Item local fabricator = items[1] ---@type Barotrauma.Items.Components.Fabricator local fabricatorComponent for component in fabricator.Components do if component.Name == "Fabricator" then fabricatorComponent = component end end if not fabricatorComponent then MyModGlobal.debugPrint("No fabricator component found") return end local me = Character.Controlled if not me then MyModGlobal.debugPrint("No controlled character found") return end MyModGlobal.debugPrint("Selecting fabricator") -- fabricatorComponent.Select(me) me.SelectedItem = fabricator end local function tryAccessDeconstructor() local items = utils.enqueueAllSubmarineItems({}, function(item) return item.Prefab.Identifier.Value == "deconstructor", item.Prefab.Identifier.Value == "deconstructor" end) if #items == 0 then MyModGlobal.debugPrint("No deconstructor found") return end if #items > 1 then MyModGlobal.debugPrint("Multiple deconstructors found, using first one") end ---@type Barotrauma.Item local deconstructor = items[1] ---@type Barotrauma.Items.Components.Deconstructor local deconstructorComponent for component in deconstructor.Components do if component.Name == "Deconstructor" then deconstructorComponent = component end end if not deconstructorComponent then MyModGlobal.debugPrint("No deconstructor component found") return end local me = Character.Controlled if not me then MyModGlobal.debugPrint("No controlled character found") return end MyModGlobal.debugPrint("Selecting deconstructor") -- deconstructorComponent.Select(me) me.SelectedItem = deconstructor end return { tryAccessFabricator = tryAccessFabricator, tryAccessDeconstructor = tryAccessDeconstructor, }