public static void OneSecondUpdate() { if (CJBCheatsMenu.config.noFriendshipDecay) { if (prevFriends == null) { prevFriends = Game1.player.friendships.ToDictionary(p => p.Key.ToString(), p => p.Value[0]); } foreach (KeyValuePair <string, int[]> n in Game1.player.friendships) { foreach (KeyValuePair <string, int> o in prevFriends) { if (n.Key.Equals(o.Key) && n.Value[0] < o.Value) { n.Value[0] = o.Value; } } } prevFriends = Game1.player.friendships.ToDictionary(p => p.Key.ToString(), p => p.Value[0]); } if (CJBCheatsMenu.config.instantBuild) { foreach (GameLocation loc in Game1.locations) { if (loc is BuildableGameLocation) { BuildableGameLocation bloc = (BuildableGameLocation)loc; foreach (Building bu in bloc.buildings) { if (bu.daysOfConstructionLeft > 0 || bu.daysUntilUpgrade > 0) { bu.dayUpdate(1); } } } } } List <GameLocation> locations = new List <GameLocation>(); foreach (GameLocation loc in Game1.locations) { if (!loc.isFarm && !loc.name.Contains("Greenhouse")) { continue; } locations.Add(loc); if (loc is BuildableGameLocation) { BuildableGameLocation bLoc = (BuildableGameLocation)loc; foreach (Building build in bLoc.buildings) { if (build.indoors != null) { locations.Add(build.indoors); } } } } foreach (GameLocation loc in locations) { foreach (KeyValuePair <Vector2, StardewValley.Object> kp in loc.objects) { if (kp.Value == null) { continue; } if (CJBCheatsMenu.config.durableFences && kp.Value is Fence) { ((Fence)kp.Value).repair(); continue; } if (CJBCheatsMenu.config.fastFurnace && kp.Value.name.Equals("Furnace")) { kp.Value.minutesUntilReady = 0; continue; } if (CJBCheatsMenu.config.fastRecyclingMachine && kp.Value.name.Equals("Recycling Machine")) { kp.Value.minutesUntilReady = 0; continue; } if (CJBCheatsMenu.config.fastCrystalarium && kp.Value.name.Equals("Crystalarium")) { kp.Value.minutesUntilReady = 0; continue; } if (CJBCheatsMenu.config.fastIncubator && kp.Value.name.Equals("Incubator")) { kp.Value.minutesUntilReady = 0; continue; } if (CJBCheatsMenu.config.fastSlimeIncubator && kp.Value.name.Equals("Slime Incubator")) { kp.Value.minutesUntilReady = 0; continue; } if (CJBCheatsMenu.config.fastKeg && kp.Value.name.Equals("Keg")) { kp.Value.minutesUntilReady = 0; continue; } if (CJBCheatsMenu.config.fastPreservesJar && kp.Value.name.Equals("Preserves Jar")) { kp.Value.minutesUntilReady = 0; continue; } if (CJBCheatsMenu.config.fastCheesePress && kp.Value.name.Equals("Cheese Press")) { kp.Value.minutesUntilReady = 0; continue; } if (CJBCheatsMenu.config.fastMayonnaiseMachine && kp.Value.name.Equals("Mayonnaise Machine")) { kp.Value.minutesUntilReady = 0; continue; } if (CJBCheatsMenu.config.fastLoom && kp.Value.name.Equals("Loom")) { kp.Value.minutesUntilReady = 0; continue; } if (CJBCheatsMenu.config.fastOilMaker && kp.Value.name.Equals("Oil Maker")) { kp.Value.minutesUntilReady = 0; continue; } if (CJBCheatsMenu.config.fastSeedMaker && kp.Value.name.Equals("Seed Maker")) { kp.Value.minutesUntilReady = 0; continue; } if (CJBCheatsMenu.config.fastCharcoalKiln && kp.Value.name.Equals("Charcoal Kiln")) { kp.Value.minutesUntilReady = 0; continue; } if (CJBCheatsMenu.config.fastSlimeEggPress && kp.Value.name.Equals("Slime Egg-Press")) { kp.Value.minutesUntilReady = 0; continue; } if (CJBCheatsMenu.config.fastBeeHouse && kp.Value.name.Equals("Bee House")) { kp.Value.minutesUntilReady = 0; continue; } if (CJBCheatsMenu.config.fastMushroomBox && kp.Value.name.Equals("Mushroom Box")) { kp.Value.minutesUntilReady = 0; continue; } if (CJBCheatsMenu.config.fastTapper && kp.Value.name.Equals("Tapper")) { kp.Value.minutesUntilReady = 0; continue; } if (CJBCheatsMenu.config.fastLightningRod && kp.Value.name.Equals("Lightning Rod")) { kp.Value.minutesUntilReady = 0; continue; } } } locations.Clear(); if (CJBCheatsMenu.config.autoFeed) { foreach (GameLocation loc in Game1.locations) { if (!loc.isFarm && !loc.name.Contains("Greenhouse")) { continue; } if (loc is BuildableGameLocation) { BuildableGameLocation bLoc = (BuildableGameLocation)loc; foreach (Building build in bLoc.buildings) { if (build.indoors is AnimalHouse) { AnimalHouse indoor = (AnimalHouse)build.indoors; int animalcount = indoor.animals.Count(); build.currentOccupants = animalcount; int hayobjects = indoor.numberOfObjectsWithName("Hay"); int hayUsed = Math.Min(animalcount - hayobjects, (Game1.getLocationFromName("Farm") as Farm).piecesOfHay); (Game1.getLocationFromName("Farm") as Farm).piecesOfHay -= hayUsed; int pos = 6; if (indoor.name.Contains("Barn")) { pos = 8; } for (int i = 0; i < indoor.animalLimit; i++) { if (hayUsed <= 0) { break; } Vector2 key = new Vector2((float)(pos + i), 3f); if (!indoor.objects.ContainsKey(key)) { indoor.objects.Add(key, new StardewValley.Object(178, 1, false, -1, 0)); } hayUsed--; } } } } } } if (CJBCheatsMenu.config.harvestSickle) { foreach (GameLocation loc in Game1.locations) { if (!loc.isFarm && !loc.name.Contains("Greenhouse")) { continue; } foreach (KeyValuePair <Vector2, TerrainFeature> kp in loc.terrainFeatures) { if (kp.Value == null) { continue; } if (kp.Value is HoeDirt) { if (((HoeDirt)kp.Value).crop != null) { ((HoeDirt)kp.Value).crop.harvestMethod = 1; } } } } } }
public override bool checkForAction(StardewValley.Farmer who, bool justCheckingForActivity = false) { if (justCheckingForActivity) { return(true); } if (who != null && (who.currentLocation.isObjectAt(who.getTileX(), who.getTileY() - 1) && who.currentLocation.isObjectAt(who.getTileX(), who.getTileY() + 1)) && (who.currentLocation.isObjectAt(who.getTileX() + 1, who.getTileY()) && who.currentLocation.isObjectAt(who.getTileX() - 1, who.getTileY()))) { this.performToolAction((Tool)null, who.currentLocation); } if (this.name.Contains("Hopper") && who.ActiveObject == null) { if (who.freeSpotsInInventory() > 0) { int piecesOfHay = (Game1.getLocationFromName("Farm") as Farm).piecesOfHay; if (piecesOfHay > 0) { if (Game1.currentLocation is AnimalHouse) { int val1 = Math.Max(1, Math.Min((Game1.currentLocation as AnimalHouse).animalsThatLiveHere.Count, piecesOfHay)); AnimalHouse currentLocation = Game1.currentLocation as AnimalHouse; int num1 = currentLocation.numberOfObjectsWithName("Hay"); int num2 = Math.Min(val1, currentLocation.animalLimit - num1); //##CHANGES if (num2 == 0) { num2 = 1; } if (Game1.player.couldInventoryAcceptThisObject(178, num2, 0)) { (Game1.getLocationFromName("Farm") as Farm).piecesOfHay.Value -= Math.Max(1, num2); who.addItemToInventoryBool((Item) new SObject(178, num2, false, -1, 0), false); Game1.playSound("shwip"); } } else if (Game1.player.couldInventoryAcceptThisObject(178, 1, 0)) { --(Game1.getLocationFromName("Farm") as Farm).piecesOfHay.Value; who.addItemToInventoryBool((Item) new SObject(178, 1, false, -1, 0), false); Game1.playSound("shwip"); } if ((Game1.getLocationFromName("Farm") as Farm).piecesOfHay.Value <= 0) { this.showNextIndex.Value = false; } } else { Game1.drawObjectDialogue(Game1.content.LoadString("Strings\\StringsFromCSFiles:Object.cs.12942")); } } else { Game1.showRedMessage(Game1.content.LoadString("Strings\\StringsFromCSFiles:Crop.cs.588")); } } return(false); }