private void SetupAnglerShop(Chest shop, ref int nextSlot)
        {
            // 0-quest pre-HM items
            AnglerShopData.AddQuestItem(new AnglerShopData(0, false,
                                                           ItemID.FuzzyCarrot,
                                                           ItemID.AnglerHat,
                                                           ItemID.AnglerVest,
                                                           ItemID.AnglerPants,
                                                           ItemID.GoldenBugNet,
                                                           ItemID.FishHook,
                                                           ItemID.FishMinecart,
                                                           ItemID.HighTestFishingLine,
                                                           ItemID.AnglerEarring,
                                                           ItemID.TackleBox,
                                                           ItemID.FishermansGuide,
                                                           ItemID.WeatherRadio,
                                                           ItemID.Sextant,
                                                           ItemID.SeashellHairpin,
                                                           ItemID.MermaidAdornment,
                                                           ItemID.MermaidTail,
                                                           ItemID.FishCostumeMask,
                                                           ItemID.FishCostumeShirt,
                                                           ItemID.FishCostumeFinskirt,
                                                           ItemID.LifePreserver,
                                                           ItemID.ShipsWheel,
                                                           ItemID.CompassRose,
                                                           ItemID.WallAnchor,
                                                           ItemID.PillaginMePixels,
                                                           ItemID.TreasureMap,
                                                           ItemID.GoldfishTrophy,
                                                           ItemID.BunnyfishTrophy,
                                                           ItemID.SwordfishTrophy,
                                                           ItemID.SharkteethTrophy,
                                                           ItemID.ShipInABottle,
                                                           ItemID.SeaweedPlanter,
                                                           ItemID.CoralstoneBlock,
                                                           ItemID.FishingPotion,
                                                           ItemID.SonarPotion,
                                                           ItemID.CratePotion,
                                                           ItemID.MasterBait, // lol! :joy: :rogl;LF :rofl;
                                                           ItemID.JourneymanBait,
                                                           ItemID.ApprenticeBait), shop, ref nextSlot);

            // 10-quest pre-HM items
            AnglerShopData.AddQuestItem(new AnglerShopData(10, true,
                                                           ItemID.FinWings,
                                                           ItemID.BottomlessBucket,
                                                           ItemID.SuperAbsorbantSponge), shop, ref nextSlot);

            // Hotline Fishing Hook (25 quests, hardmode)
            AnglerShopData.AddQuestItem(new AnglerShopData(ItemID.HotlineFishingHook, reqQuests: 25, hardmode: true), shop, ref nextSlot);

            // Golden Fishring Rod (30 quests, pre-HM)
            AnglerShopData.AddQuestItem(new AnglerShopData(ItemID.GoldenFishingRod, reqQuests: 30), shop, ref nextSlot);
        }
 public static void AddQuestItem(AnglerShopData anglerItem, Chest shop, ref int nextSlot)
 {
     // Check conditions.
     if (anglerItem.reqQuests <= Main.LocalPlayer.anglerQuestsFinished && ((anglerItem.hardmode && Main.hardMode) || !anglerItem.hardmode))
     {
         // Logic for single-item additions
         if (anglerItem.itemType != -1)
         {
             shop.item[nextSlot++].SetDefaults(anglerItem.itemType);
         }
         // Logic for multi-item additions
         else if (anglerItem.itemTypes != null)
         {
             foreach (int itemType in anglerItem.itemTypes)
             {
                 shop.item[nextSlot++].SetDefaults(itemType);
             }
         }
     }
 }