Пример #1
0
        private static void AddTechFabricatorItems()
        {
            var icon        = ImageUtils.LoadSpriteFromFile(Path.Combine(Mod.GetAssetFolder(), $"{Mod.ModName}.png"));
            var craftingTab = new CraftingTab(Mod.DSSTabID, Mod.ModFriendlyName, icon);

            //Floor Mounted Rack Has Been Cut
            //var floorMountedRack = new FCSKit(Mod.FloorMountedRackKitClassID, Mod.FloorMountedRackFriendlyName, craftingTab , Mod.FloorMountedRackIngredients);
            //floorMountedRack.Patch(FcTechFabricatorService.PublicAPI, FcAssetBundlesService.PublicAPI);

            var wallMountedRack = new FCSKit(Mod.WallMountedRackKitClassID, Mod.WallMountedRackFriendlyName, craftingTab, Mod.WallMountedRackIngredients);

            wallMountedRack.Patch(FcTechFabricatorService.PublicAPI, FcAssetBundlesService.PublicAPI);

            var terminal = new FCSKit(Mod.TerminalKitClassID, Mod.TerminalFriendlyName, craftingTab, Mod.TerminalIngredients);

            terminal.Patch(FcTechFabricatorService.PublicAPI, FcAssetBundlesService.PublicAPI);

            var antenna = new FCSKit(Mod.AntennaKitClassID, Mod.AntennaFriendlyName, craftingTab, Mod.AntennaIngredients);

            antenna.Patch(FcTechFabricatorService.PublicAPI, FcAssetBundlesService.PublicAPI);

            var serverFormattingStation = new FCSKit(Mod.ServerFormattingStationKitClassID, Mod.ServerFormattingStationFriendlyName, craftingTab, Mod.ServerFormattingStationIngredients);

            serverFormattingStation.Patch(FcTechFabricatorService.PublicAPI, FcAssetBundlesService.PublicAPI);

            Server = new ServerCraftable(Mod.ServerClassID, Mod.ServerFriendlyName, Mod.ServerDescription, craftingTab);
            Server.Patch(FcTechFabricatorService.PublicAPI, FcAssetBundlesService.PublicAPI);
        }
        private static void AddTechFabricatorItems()
        {
            var icon        = ImageUtils.LoadSpriteFromFile(Path.Combine(Mod.GetAssetPath(), $"{Mod.ClassID}.png"));
            var craftingTab = new CraftingTab(Mod.MiniMedBayTabID, Mod.ModFriendlyName, icon);

            var miniMedBayKit = new FCSKit(Mod.MiniMedBayKitClassID, Mod.ModFriendlyName, craftingTab, Mod.MiniMedBayIngredients);

            miniMedBayKit.Patch(FcTechFabricatorService.PublicAPI, FcAssetBundlesService.PublicAPI);
        }
        private static void AddTechFabricatorItems()
        {
            var icon        = ImageUtils.LoadSpriteFromFile(Path.Combine(Mod.GetAssetPath(), $"{PowerCellSocketTabId}Icon.png"));
            var craftingTab = new CraftingTab(PowerCellSocketTabId, PowerCellSocketTabText, icon);

            var powercellSocketKit = new FCSKit(PowerCellSocketKitClassId, Mod.ModFriendlyName, craftingTab, Mod.PowercellSocketIngredients);

            powercellSocketKit.Patch(FcTechFabricatorService.PublicAPI, FcAssetBundlesService.PublicAPI);
        }
        private static void AddTechFabricatorItems()
        {
            var icon        = ImageUtils.LoadSpriteFromFile(Path.Combine(Information.GetAssetPath(), $"{Information.ModName}.png"));
            var craftingTab = new CraftingTab(Information.PowerStorageTabID, Information.ModFriendlyName, icon);

            var powercellSocketKit = new FCSKit(Information.PowerStorageKitClassID, Information.ModFriendlyName, craftingTab, Information.PowerStorageIngredients);

            powercellSocketKit.Patch(FcTechFabricatorService.PublicAPI, FcAssetBundlesService.PublicAPI);
        }
Пример #5
0
        private static void AddItemsToTechFabricator()
        {
            var icon        = ImageUtils.LoadSpriteFromFile(Path.Combine(Mod.GetAssetFolder(), "FCSDeepDriller.png"));
            var craftingTab = new CraftingTab(Mod.DeepDrillerTabID, Mod.ModFriendlyName, icon);

            var deepDrillerKit = new FCSKit(Mod.DeepDrillerKitClassID, Mod.DeepDrillerKitFriendlyName, craftingTab, Mod.DeepDrillerKitIngredients);

            deepDrillerKit.Patch(FcTechFabricatorService.PublicAPI, FcAssetBundlesService.PublicAPI);
        }
Пример #6
0
        private static void AddItemsToTechFabricator()
        {
            var icon        = ImageUtils.LoadSpriteFromFile(Path.Combine(Mod.GetAssetFolder(), $"{Mod.ClassID}.png"));
            var craftingTab = new CraftingTab(Mod.MiniFountainFilterTabID, Mod.FriendlyName, icon);

            var quantumTeleportKit = new FCSKit(Mod.MiniFountainFilterKitClassID, Mod.FriendlyName, craftingTab, Mod.MiniFountainFilterKitIngredients);

            quantumTeleportKit.Patch(FcTechFabricatorService.PublicAPI, FcAssetBundlesService.PublicAPI);
        }
        private static void AddItemsToTechFabricator()
        {
            var icon        = ImageUtils.LoadSpriteFromFile(Path.Combine(Mod.GetAssetFolder(), $"{Mod.ClassID}.png"));
            var craftingTab = new CraftingTab(Mod.GasPodCollectorTabID, Mod.FriendlyName, icon);

            var gaspadKit = new FCSKit(Mod.GaspodCollectorKitClassID, Mod.FriendlyName, craftingTab, Mod.GaspodCollectorIngredients);

            gaspadKit.Patch(FcTechFabricatorService.PublicAPI, FcAssetBundlesService.PublicAPI);
        }
Пример #8
0
        private static void AddTechFabricatorItems()
        {
            var icon        = ImageUtils.LoadSpriteFromFile(Path.Combine(Mod.GetAssetFolder(), "OxStation.png"));
            var craftingTab = new CraftingTab("OX", "Oxstation", icon);

            var h = new FCSVehicleModule("oxstationvehiclemodule", "Oxstation Vehicle Module", "A oxstation module for the seamoth and prawn suit", EquipmentType.VehicleModule, craftingTab, Mod.OxstationSeamothPrawnIngredients);

            h.ChangeIconLocation(Mod.GetAssetFolder(), "icon");
            h.Patch(FcTechFabricatorService.PublicAPI, FcAssetBundlesService.PublicAPI);
            Mod.ModuleTechType = h.TechType;
        }
Пример #9
0
        private static void AddTechFabricatorItems()
        {
            var icon        = ImageUtils.LoadSpriteFromFile(Path.Combine(Mod.GetAssetFolder(), "ARSSeaBreeze.png"));
            var craftingTab = new CraftingTab(Mod.SeaBreezeTabID, Mod.FriendlyName, icon);

            var freon = new FreonPatcher(Mod.FreonClassID, Mod.FreonFriendlyName, Mod.FreonDescription, craftingTab);

            freon.Patch(FcTechFabricatorService.PublicAPI, FcAssetBundlesService.PublicAPI);

            var seaBreezeKit = new FCSKit(Mod.SeaBreezeKitClassID, Mod.FriendlyName, craftingTab, Mod.SeaBreezeIngredients);

            seaBreezeKit.Patch(FcTechFabricatorService.PublicAPI, FcAssetBundlesService.PublicAPI);
        }
Пример #10
0
        private static void AddItemsToTechFabricator()
        {
            var icon        = ImageUtils.LoadSpriteFromFile(Path.Combine(Mod.GetAssetFolder(), $"{Mod.MarineMonitorClassID}.png"));
            var craftingTab = new CraftingTab(Mod.MarineTurbinesTabID, Mod.MarineTurbinesFriendlyName, icon);

            var jetStreamT242Kit = new FCSKit(Mod.JetstreamKitClassID, Mod.JetStreamFriendlyName, craftingTab, Mod.JetstreamKitIngredients);

            jetStreamT242Kit.Patch(FcTechFabricatorService.PublicAPI, FcAssetBundlesService.PublicAPI);

            var marineMonitorKit = new FCSKit(Mod.MarineMontiorKitClassID, Mod.MarineMonitorFriendlyName, craftingTab, Mod.MarineMonitorKitIngredients);

            marineMonitorKit.Patch(FcTechFabricatorService.PublicAPI, FcAssetBundlesService.PublicAPI);
        }
        private static void AddTechFabricatorItems()
        {
            var icon        = ImageUtils.LoadSpriteFromFile(Path.Combine(Mod.GetAssetFolder(), "OxStation.png"));
            var craftingTab = new CraftingTab(Mod.OxstationTabID, Mod.FriendlyName, icon);

            var oxstationKit = new FCSKit(Mod.OxstationKitClassID, Mod.FriendlyName, craftingTab, Mod.OxstationIngredients);

            oxstationKit.Patch(FcTechFabricatorService.PublicAPI, FcAssetBundlesService.PublicAPI);

            var oxStationScreenKit = new FCSKit(Mod.OxstationScreenKitClassID, Mod.ScreenFriendlyName, craftingTab, Mod.OxstationScreenIngredients);

            oxStationScreenKit.Patch(FcTechFabricatorService.PublicAPI, FcAssetBundlesService.PublicAPI);
        }
Пример #12
0
        private static void AddTechFabricatorItems()
        {
            if (AssetBundle == null)
            {
                QuickLogger.Debug("GetPrefabs");
                AssetBundle = AssetHelper.Asset(Mod.ModName, Mod.BundleName);
            }

            var icon        = ImageUtils.LoadSpriteFromFile(Path.Combine(Mod.GetAssetFolder(), $"{Mod.ModClassName}.png"));
            var craftingTab = new CraftingTab(Mod.ModTabID, Mod.ModFriendlyName, icon);

            var cucKit = new FCSKit(Mod.CyclopsUpgradeConsoleKitClassID, Mod.ModFriendlyName, craftingTab, Mod.CyclopsUpgradeConsoleIngredients);

            cucKit.Patch(FcTechFabricatorService.PublicAPI, FcAssetBundlesService.PublicAPI);
        }
Пример #13
0
 private void Awake()
 {
     if (Instance == null)
     {
         Debug.Log("creating crafting unlocks instance");
         Instance = this;
         Instance.recipeUnlocked = new Dictionary <string, bool>();
         Instance.numItemsTotal  = new Dictionary <string, int>();
         DontDestroyOnLoad(gameObject);
     }
     else
     {
         Destroy(gameObject);
     }
 }
        private static void AddItemsToTechFabricator()
        {
            var icon        = ImageUtils.LoadSpriteFromFile(Path.Combine(Mod.GetAssetFolder(), $"{Mod.ClassID}.png"));
            var craftingTab = new CraftingTab(Mod.QuantumTeleporterTabID, Mod.FriendlyName, icon);

            var quantumTeleportScannerKit = new FCSKit(Mod.TeleporterScannerConnectionKitClassID, Mod.TeleporterScannerConnectionKitText, craftingTab, Mod.TeleporterScannerConnectionKitIngredients);

            quantumTeleportScannerKit.Patch(FcTechFabricatorService.PublicAPI, FcAssetBundlesService.PublicAPI);

            var quantumTeleportWiringKit = new FCSKit(Mod.AdvancedTeleporterWiringKitClassID, Mod.AdvancedTeleporterWiringKitText, craftingTab, Mod.AdvancedTeleporterWiringKitIngredients);

            quantumTeleportWiringKit.Patch(FcTechFabricatorService.PublicAPI, FcAssetBundlesService.PublicAPI);

            var quantumTeleportKit = new FCSKit(Mod.QuantumTeleporterKitClassID, Mod.QuantumTeleporterKitText, craftingTab, Mod.QuantumTeleporterKitIngredients);

            quantumTeleportKit.Patch(FcTechFabricatorService.PublicAPI, FcAssetBundlesService.PublicAPI);
        }
        private static void AddItemsToTechFabricator()
        {
            var icon        = ImageUtils.LoadSpriteFromFile(Path.Combine(Mod.GetAssetFolder(), "FCSDeepDriller.png"));
            var craftingTab = new CraftingTab(Mod.DeepDrillerTabID, Mod.ModFriendlyName, icon);

            var deepDrillerKit = new FCSKit(Mod.DeepDrillerKitClassID, Mod.DeepDrillerKitFriendlyName, craftingTab, Mod.DeepDrillerKitIngredients);

            deepDrillerKit.Patch(FcTechFabricatorService.PublicAPI, FcAssetBundlesService.PublicAPI);

            var assetsFolder = Mod.GetAssetFolder();

            var focusAttachmentKit = new FCSKit(Mod.FocusAttachmentKitClassID, Mod.FocusAttachmentFriendlyName, craftingTab, Mod.FocusAttachmentKitIngredients);

            focusAttachmentKit.ChangeIconLocation(assetsFolder, "FocusAttachment_DD");
            focusAttachmentKit.Patch(FcTechFabricatorService.PublicAPI, FcAssetBundlesService.PublicAPI);

            var batteryAttachmentKit = new FCSKit(Mod.BatteryAttachmentKitClassID, Mod.BatteryAttachmentFriendlyName, craftingTab, Mod.BatteryAttachmentKitIngredients);

            batteryAttachmentKit.ChangeIconLocation(assetsFolder, "BatteryAttachment_DD");
            batteryAttachmentKit.Patch(FcTechFabricatorService.PublicAPI, FcAssetBundlesService.PublicAPI);

            var solarAttachmentKit = new FCSKit(Mod.SolarAttachmentKitClassID, Mod.SolarAttachmentFriendlyName, craftingTab, Mod.SolarAttachmentKitIngredients);

            solarAttachmentKit.ChangeIconLocation(assetsFolder, "SolarAttachment_DD");
            solarAttachmentKit.Patch(FcTechFabricatorService.PublicAPI, FcAssetBundlesService.PublicAPI);

            var drillerMK1Module = new FCSModule(Mod.DrillerMK1ModuleClassID, Mod.DrillerMK1ModuleFriendlyName, Mod.MK1Description, craftingTab, Mod.DrillerMK1Ingredients);

            drillerMK1Module.ChangeIconLocation(assetsFolder, Mod.DrillerMK1ModuleClassID);
            drillerMK1Module.Patch(FcTechFabricatorService.PublicAPI, FcAssetBundlesService.PublicAPI);

            var drillerMK2Module = new FCSModule(Mod.DrillerMK2ModuleClassID, Mod.DrillerMK2ModuleFriendlyName, Mod.MK2Description, craftingTab, Mod.DrillerMK2Ingredients);

            drillerMK2Module.ChangeIconLocation(assetsFolder, Mod.DrillerMK2ModuleClassID);
            drillerMK2Module.Patch(FcTechFabricatorService.PublicAPI, FcAssetBundlesService.PublicAPI);

            var drillerMK3Module = new FCSModule(Mod.DrillerMK3ModuleClassID, Mod.DrillerMK3ModuleFriendlyName, Mod.MK3Description, craftingTab, Mod.DrillerMK3Ingredients);

            drillerMK3Module.ChangeIconLocation(assetsFolder, Mod.DrillerMK3ModuleClassID);
            drillerMK3Module.Patch(FcTechFabricatorService.PublicAPI, FcAssetBundlesService.PublicAPI);
        }
        private static void AddTechFabricatorItems()
        {
            if (AssetBundle == null)
            {
                QuickLogger.Debug("GetPrefabs");
                AssetBundle = AssetHelper.Asset(Mod.ModName, Mod.BundleName);
            }

            var icon        = ImageUtils.LoadSpriteFromFile(Path.Combine(Mod.GetAssetFolder(), $"{Mod.ClassID}.png"));
            var craftingTab = new CraftingTab(Mod.SeaCookerTabID, Mod.FriendlyName, icon);

            var seaCookerKit = new FCSKit(Mod.SeaCookerKitClassID, Mod.FriendlyName, craftingTab, Mod.SeaCookerIngredients);

            seaCookerKit.Patch(FcTechFabricatorService.PublicAPI, FcAssetBundlesService.PublicAPI);

            var seaAlienGasTank = new SeaAlienGasTankCraftable(Mod.SeaAlienGasClassID, Mod.SeaAlienGasFriendlyName, Mod.SeaAlienGasDescription, craftingTab);

            seaAlienGasTank.Patch(FcTechFabricatorService.PublicAPI, FcAssetBundlesService.PublicAPI);

            var seaGasTank = new SeaGasTankCraftable(Mod.SeaGasClassID, Mod.SeaGasFriendlyName, Mod.SeaGasDescription, craftingTab);

            seaGasTank.Patch(FcTechFabricatorService.PublicAPI, FcAssetBundlesService.PublicAPI);
        }
Пример #17
0
        public void InitializeComponents()
        {
            PauseGame = true;

            var r = new List <List <Recipe> >();

            foreach (var e in GameState.LocalPlayer.Entity.Level.GetEntitiesOnArea(GameState.LocalPlayer.Entity.X, GameState.LocalPlayer.Entity.Y, Game.Unit * 3))
            {
                var s = e.GetComponent <CraftingStation>();
                if (s != null)
                {
                    if (!r.Contains(s.Recipies))
                    {
                        r.Add(s.Recipies);
                    }
                }
            }

            var recipies = new List <Recipe>();

            recipies.AddRange(RECIPIES.HandCrafted);
            foreach (var i in r)
            {
                recipies.AddRange(i);
            }

            _inventory = new WidgetItemContainer(GameState.LocalPlayer.Entity.GetComponent <Inventory>().Content);
            _crafting  = new CraftingTab(GameState, recipies);

            _inventory.Dock = Dock.Fill;

            _inventory.MouseClick += (sender) =>
            {
                _inventory.HighlightedItem = _inventory.SelectedItem;
                GameState.LocalPlayer.Entity.HoldingItem = _inventory.SelectedItem;
            };

            var closeBtn = new SpriteButton()
            {
                Sprite     = new Sprite(Ressources.TileGui, new Point(7, 7)),
                UnitBound  = new Rectangle(0, 0, 48, 48),
                Anchor     = Anchor.TopRight,
                Origine    = Anchor.TopRight,
                UnitOffset = new Point(-16, 16)
            };

            closeBtn.MouseClick += CloseBtnOnMouseClick;

            WidgetTabContainer _sideMenu = new WidgetTabContainer
            {
                Anchor     = Anchor.Center,
                Origine    = Anchor.Center,
                UnitBound  = new Rectangle(0, 0, 600, 720),
                Dock       = Rise.Platform.Family == PlatformFamily.Mobile ? Dock.Fill : Dock.None,
                TabAnchore = Rise.Platform.Family == PlatformFamily.Mobile ? TabAnchore.Bottom : TabAnchore.Left,
                Childrens  = { closeBtn },

                Tabs =
                {
                    new EquipmentTab(),
                    _crafting,
                    new Tab()
                    {
                        Icon    = new Sprite(Ressources.TileIcons, new Point(2,        3)),
                        Content = new Container()
                        {
                            Childrens =
                            {
                                new Label {
                                    Text = "Inventory",Font = Ressources.FontAlagard,           Dock = Dock.Top
                                },
                                _inventory,
                            }
                        }
                    },
                    new MinimapTab(GameState),
                    new SaveTab(GameState),
                }
            };

            Content = new Container()
            {
                Childrens = { _sideMenu },
            };
        }
Пример #18
0
        private static void AddTechFabricatorItems()
        {
            var dnaIcon     = ImageUtils.LoadSpriteFromFile(Path.Combine(Mod.GetAssetFolder(), "DNA.png"));
            var icon        = ImageUtils.LoadSpriteFromFile(Path.Combine(Mod.GetAssetFolder(), "LargeHydroponicHarvester.png"));
            var eatableIcon = ImageUtils.LoadSpriteFromFile(Path.Combine(Mod.GetAssetFolder(), "eatableIcon.png"));
            var usableIcon  = ImageUtils.LoadSpriteFromFile(Path.Combine(Mod.GetAssetFolder(), "usableIcon.png"));
            var decorIcon   = ImageUtils.LoadSpriteFromFile(Path.Combine(Mod.GetAssetFolder(), "BluePalm_FCSDNA.png"));
            var craftingTab = new CraftingTab(Mod.HydroHarvTabID, Mod.ModFriendlyName, icon);

            var largeHydroHarv = new FCSKit(Mod.LargeHydroHarvKitClassID, Mod.LargeFriendlyName, craftingTab, Mod.LargeHydroHarvIngredients);

            largeHydroHarv.Patch(FcTechFabricatorService.PublicAPI, FcAssetBundlesService.PublicAPI);

            var mediumHydroHarv = new FCSKit(Mod.MediumHydroHarvKitClassID, Mod.MediumFriendlyName, craftingTab, Mod.MediumHydroHarvIngredients);

            mediumHydroHarv.Patch(FcTechFabricatorService.PublicAPI, FcAssetBundlesService.PublicAPI);

            var smallHydroHarv = new FCSKit(Mod.SmallHydroHarvKitClassID, Mod.SmallFriendlyName, craftingTab, Mod.SmallHydroHarvIngredients);

            smallHydroHarv.Patch(FcTechFabricatorService.PublicAPI, FcAssetBundlesService.PublicAPI);

            FcTechFabricatorService.PublicAPI.AddTabNode("DNASample", "DNA Samples", dnaIcon);
            FcTechFabricatorService.PublicAPI.AddTabNode("FCS_EatableDNA", "Eatable DNA Samples", eatableIcon, "DNASample");
            FcTechFabricatorService.PublicAPI.AddTabNode("FCS_UsableDNA", "Usable DNA Samples", usableIcon, "DNASample");
            FcTechFabricatorService.PublicAPI.AddTabNode("FCS_DecorDNA", "Decor DNA Samples", decorIcon, "DNASample");

            foreach (var dnaSample in Mod.EatableDNASamples)
            {
                var dna = new FCSDNASample(dnaSample.ClassID, dnaSample.Friendly, dnaSample.Description, dnaSample.Ingredient, dnaSample.Amount);
                dna.ChangeIconLocation(Mod.GetAssetFolder());
                dna.Patch();
                FcTechFabricatorService.PublicAPI.AddCraftNode(dna, "FCS_EatableDNA");
            }

            foreach (var dnaSample in Mod.UsableDNASamples)
            {
                var dna = new FCSDNASample(dnaSample.ClassID, dnaSample.Friendly, dnaSample.Description, dnaSample.Ingredient, dnaSample.Amount);
                dna.ChangeIconLocation(Mod.GetAssetFolder());
                dna.Patch();
                FcTechFabricatorService.PublicAPI.AddCraftNode(dna, "FCS_UsableDNA");
            }

            foreach (var dnaSample in Mod.DecorSamples)
            {
                var dna = new FCSDNASample(dnaSample.ClassID, dnaSample.Friendly, dnaSample.Description, dnaSample.Ingredient, dnaSample.Amount);
                dna.ChangeIconLocation(Mod.GetAssetFolder());
                dna.Patch();
                FcTechFabricatorService.PublicAPI.AddCraftNode(dna, "FCS_DecorDNA");
            }

            if (HydroponicHarvestersModelPrefab.GetPrefabs())
            {
                var hydroHarvesterLarge = new HydroponicHarvestersBuildable(Mod.LargeClassID, Mod.LargeFriendlyName, Mod.LargeDescription,
                                                                            new Vector3(2.13536f, 2.379217f, 2.341017f), new Vector3(0f, 1.556781f, 0f), Mod.LargeHydroHarvKitClassID.ToTechType(), HydroponicHarvestersModelPrefab.LargePrefab, Mod.LargeBubblesLocations);
                hydroHarvesterLarge.Patch();

                QuickLogger.Debug("Patched Large");

                var hydroHarvesterMedium = new HydroponicHarvestersBuildable(Mod.MediumClassID, Mod.MediumFriendlyName, Mod.MediumDescription,
                                                                             new Vector3(1.654228f, 2.46076f, 2.274961f), new Vector3(-0.02562737f, 1.505608f, 0.02242398f), Mod.MediumHydroHarvKitClassID.ToTechType(), HydroponicHarvestersModelPrefab.MediumPrefab, Mod.MediumBubblesLocations);
                hydroHarvesterMedium.Patch();

                QuickLogger.Debug("Patched Medium");

                var hydroHarvesterSmall = new HydroponicHarvestersBuildable(Mod.SmallClassID, Mod.SmallFriendlyName, Mod.SmallDescription,
                                                                            new Vector3(1.648565f, 2.492922f, 1.784077f), new Vector3(-0.01223725f, 1.492922f, 0.1544394f), Mod.SmallHydroHarvKitClassID.ToTechType(), HydroponicHarvestersModelPrefab.SmallPrefab, Mod.SmallBubblesLocations);
                hydroHarvesterSmall.Patch();

                FloraKleen = new FloraKleenPatcher(Mod.FloraKleenClassID, Mod.FloraKleenFriendlyName, Mod.FloraKleenDescription, craftingTab);
                FloraKleen.Register();
                FloraKleen.Patch(FcTechFabricatorService.PublicAPI, FcAssetBundlesService.PublicAPI);

                QuickLogger.Debug("Patched Small");
            }
            else
            {
                throw new PatchTerminatedException("Failed to get the prefabs from the asset bundle");
            }
        }