/********* ** Public methods *********/ /// <summary>Construct an instance.</summary> /// <param name="hut">The underlying Junimo hut.</param> /// <param name="location">The location which contains the machine.</param> /// <param name="ignoreSeedOutput">Whether seeds should be ignored when selecting output.</param> /// <param name="ignoreFertilizerOutput">Whether fertilizer should be ignored when selecting output.</param> /// <param name="pullGemstonesFromJunimoHuts">Whether to pull gemstones out of Junimo huts.</param> public JunimoHutMachine(JunimoHut hut, GameLocation location, bool ignoreSeedOutput, bool ignoreFertilizerOutput, bool pullGemstonesFromJunimoHuts) : base(hut, location, BaseMachine.GetTileAreaFor(hut)) { this.IgnoreSeedOutput = ignoreSeedOutput; this.IgnoreFertilizerOutput = ignoreFertilizerOutput; this.PullGemstonesFromJunimoHuts = pullGemstonesFromJunimoHuts; }
/********* ** Public methods *********/ /// <summary>Construct an instance.</summary> /// <param name="mill">The underlying mill.</param> /// <param name="location">The location which contains the machine.</param> public MillMachine(Mill mill, GameLocation location) : base(mill, location, BaseMachine.GetTileAreaFor(mill)) { this.MaxInputStackSize = new Dictionary <int, int> { [284] = new SObject(284, 1).maximumStackSize() / 3 // beet => 3 sugar (reduce stack to avoid overfilling output) }; }
/********* ** Public methods *********/ /// <summary>Construct an instance.</summary> /// <param name="tree">The underlying tree.</param> /// <param name="location">The machine's in-game location.</param> /// <param name="tile">The tree's tile position.</param> public TreeMachine(Tree tree, GameLocation location, Vector2 tile) : base(tree, location, BaseMachine.GetTileAreaFor(tile)) { this.ItemDrops = new Cached <Stack <int> >( getCacheKey: () => $"{Game1.currentSeason},{Game1.dayOfMonth},{tree.hasSeed.Value}", fetchNew: () => new Stack <int>() ); }
public BarnMachine(Barn barn, GameLocation location) : base(barn, location, BaseMachine.GetTileAreaFor(barn)) { if (barn.indoors.Value is AnimalHouse) { this.AnimalHouse = (AnimalHouse)barn.indoors.Value; } this.UnprocessedAnimals = new List <FarmAnimal>(); this.FindUnprocessedAnimals(); }
/********* ** Public methods *********/ /// <summary>Construct an instance.</summary> /// <param name="town">The town to search.</param> /// <param name="tile">The machine's position in its location.</param> /// <param name="trashCanIndex">The trash can index.</param> /// <param name="reflection">Simplifies access to private game code.</param> public TrashCanMachine(Town town, Vector2 tile, int trashCanIndex, IReflectionHelper reflection) : base(town, BaseMachine.GetTileAreaFor(tile)) { this.Tile = tile; this.TrashCansChecked = reflection.GetField <IList <bool> >(town, "garbageChecked").GetValue(); if (trashCanIndex >= 0 && trashCanIndex < this.TrashCansChecked.Count) { this.TrashCanIndex = trashCanIndex; } }
/********* ** Public methods *********/ /// <summary>Construct an instance.</summary> /// <param name="tree">The underlying fruit tree.</param> /// <param name="location">The machine's in-game location.</param> /// <param name="tile">The tree's tile position.</param> public FruitTreeMachine(FruitTree tree, GameLocation location, Vector2 tile) : base(tree, location, BaseMachine.GetTileAreaFor(tile)) { }
/// <summary>Construct an instance.</summary> /// <param name="silo">The silo to automate.</param> /// <param name="location">The location containing the machine.</param> public FeedHopperMachine(Building silo, GameLocation location) : base(location, BaseMachine.GetTileAreaFor(silo)) { }
/********* ** Public methods *********/ /// <summary>Construct an instance.</summary> /// <param name="location">The location containing the machine.</param> /// <param name="tile">The tile covered by the machine.</param> public FeedHopperMachine(GameLocation location, Vector2 tile) : base(location, BaseMachine.GetTileAreaFor(tile)) { }
/********* ** Public methods *********/ /// <summary>Construct an instance.</summary> /// <param name="miniBin">The mini-shipping bin.</param> /// <param name="location">The location which contains the machine.</param> public MiniShippingBinMachine(Chest miniBin, GameLocation location) : base(location, BaseMachine.GetTileAreaFor(miniBin.TileLocation)) { this.MiniBin = new ChestContainer(miniBin, location, miniBin.TileLocation, migrateLegacyOptions: false); }
/// <summary>Construct an instance.</summary> /// <param name="bin">The constructed shipping bin.</param> /// <param name="location">The location which contains the machine.</param> public ShippingBinMachine(ShippingBin bin, GameLocation location) : base(location, BaseMachine.GetTileAreaFor(bin), ShippingBinMachine.ShippingBinId) { this.Bin = bin; }
/// <summary>Construct an instance.</summary> /// <param name="bin">The constructed shipping bin.</param> /// <param name="location">The location which contains the machine.</param> /// <param name="farm">The farm which has the shipping bin data.</param> public ShippingBinMachine(ShippingBin bin, GameLocation location, Farm farm) : base(location, BaseMachine.GetTileAreaFor(bin)) { this.Farm = farm; }
/********* ** Public methods *********/ /// <summary>Construct an instance.</summary> /// <param name="pond">The underlying fish pond.</param> /// <param name="location">The location which contains the machine.</param> public FishPondMachine(FishPond pond, GameLocation location) : base(pond, location, BaseMachine.GetTileAreaFor(pond)) { }
/********* ** Public methods *********/ /// <summary>Construct an instance.</summary> /// <param name="hut">The underlying Junimo hut.</param> /// <param name="location">The location which contains the machine.</param> public JunimoHutMachine(JunimoHut hut, GameLocation location) : base(hut, location, BaseMachine.GetTileAreaFor(hut)) { }
/********* ** Public methods *********/ /// <summary>Construct an instance.</summary> /// <param name="hut">The underlying Junimo hut.</param> /// <param name="location">The location which contains the machine.</param> /// <param name="ignoreSeedOutput">Whether seeds should be ignored when selecting output.</param> /// <param name="ignoreFertilizerOutput">Whether fertilizer should be ignored when selecting output.</param> public JunimoHutMachine(JunimoHut hut, GameLocation location, bool ignoreSeedOutput, bool ignoreFertilizerOutput) : base(hut, location, BaseMachine.GetTileAreaFor(hut)) { this.IgnoreSeedOutput = ignoreSeedOutput; this.IgnoreFertilizerOutput = ignoreFertilizerOutput; }
public CoopMachine(Coop coop, GameLocation location) : base(coop, location, BaseMachine.GetTileAreaFor(coop)) { }