So I just wanted to put this out there for people making stack size mods or simply adjusting stack sizes on your personal server. If you have an item that does not have [MaxStackSize(xxx)] you can add it to the item to create bigger stack sizes. I.E.
THIS ALSO WORKS FOR DIRT/STONE/ASPHALT RAMPS
you just have to edit the correct file
This is what a normal PlantFiber.cs looks like:
PlantFiber.cs
// Copyright (c) Strange Loop Games. All rights reserved.
// See LICENSE file in the project root for full license information.
// <auto-generated />
namespace Eco.Mods.TechTree
{
using System;
using System.Collections.Generic;
using System.ComponentModel;
using Eco.Gameplay.Blocks;
using Eco.Gameplay.Components;
using Eco.Gameplay.DynamicValues;
using Eco.Gameplay.Items;
using Eco.Gameplay.Objects;
using Eco.Gameplay.Players;
using Eco.Gameplay.Skills;
using Eco.Gameplay.Systems;
using Eco.Gameplay.Systems.TextLinks;
using Eco.Shared.Localization;
using Eco.Shared.Serialization;
using Eco.Shared.Utils;
using Eco.Core.Items;
using Eco.World;
using Eco.World.Blocks;
using Eco.Gameplay.Pipes;
[Serialized]
[LocDisplayName("Plant Fibers")]
[Compostable]
[Weight(10)]
[Fuel(100)][Tag("Fuel")]
[Yield(typeof(PlantFibersItem), typeof(GatheringSkill), new float[] { 1f, 1.4f, 1.5f, 1.6f, 1.7f, 1.8f, 1.9f, 2.0f })]
[Currency]
[Ecopedia("Items", "Products", createAsSubPage: true, display: InPageTooltip.DynamicTooltip)]
[Tag("NaturalFiber", 1)]
[Tag("Burnable Fuel", 1)]
public partial class PlantFibersItem :
Item
{
public override LocString DisplayDescription { get { return Localizer.DoStr("Harvested from a number of plants, these fibers are useful for a suprising number of things."); } }
}
}
And what a modded PlantFiber.cs would look like:
Modded PlantFiber.cs
// Copyright (c) Strange Loop Games. All rights reserved.
// See LICENSE file in the project root for full license information.
// <auto-generated />
namespace Eco.Mods.TechTree
{
using System;
using System.Collections.Generic;
using System.ComponentModel;
using Eco.Gameplay.Blocks;
using Eco.Gameplay.Components;
using Eco.Gameplay.DynamicValues;
using Eco.Gameplay.Items;
using Eco.Gameplay.Objects;
using Eco.Gameplay.Players;
using Eco.Gameplay.Skills;
using Eco.Gameplay.Systems;
using Eco.Gameplay.Systems.TextLinks;
using Eco.Shared.Localization;
using Eco.Shared.Serialization;
using Eco.Shared.Utils;
using Eco.Core.Items;
using Eco.World;
using Eco.World.Blocks;
using Eco.Gameplay.Pipes;
[Serialized]
[LocDisplayName("Plant Fibers")]
[Compostable]
[MaxStackSize(100)] <----------------------------------- [THIS IS WHAT HAS BEEN ADDED]
[Weight(10)]
[Fuel(100)][Tag("Fuel")]
[Yield(typeof(PlantFibersItem), typeof(GatheringSkill), new float[] { 1f, 1.4f, 1.5f, 1.6f, 1.7f, 1.8f, 1.9f, 2.0f })]
[Currency]
[Ecopedia("Items", "Products", createAsSubPage: true, display: InPageTooltip.DynamicTooltip)]
[Tag("NaturalFiber", 1)]
[Tag("Burnable Fuel", 1)]
public partial class PlantFibersItem :
Item
{
public override LocString DisplayDescription { get { return Localizer.DoStr("Harvested from a number of plants, these fibers are useful for a suprising number of things."); } }
}
}
Some .cs files have two sections with this area
Main Area You Edit
[Serialized]
[LocDisplayName("Plant Fibers")]
[Compostable]
[MaxStackSize(100)]
[Weight(10)]
[Fuel(100)][Tag("Fuel")]
[Yield(typeof(PlantFibersItem), typeof(GatheringSkill), new float[] { 1f, 1.4f, 1.5f, 1.6f, 1.7f, 1.8f, 1.9f, 2.0f })]
[Currency]
[Ecopedia("Items", "Products", createAsSubPage: true, display: InPageTooltip.DynamicTooltip)]
[Tag("NaturalFiber", 1)]
[Tag("Burnable Fuel", 1)]
public partial class PlantFibersItem :
Item
{
One example being CornSeed.cs
CornSeed.cs
// Copyright (c) Strange Loop Games. All rights reserved.
// See LICENSE file in the project root for full license information.
// <auto-generated />
namespace Eco.Mods.TechTree
{
using System.Collections.Generic;
using Eco.Gameplay.Blocks;
using Eco.Core.Items;
using Eco.Gameplay.Components;
using Eco.Gameplay.DynamicValues;
using Eco.Gameplay.Items;
using Eco.Gameplay.Items.SearchAndSelect;
using Eco.Gameplay.Skills;
using Eco.Gameplay.Systems;
using Eco.Gameplay.Systems.TextLinks;
using Eco.Mods.TechTree;
using Eco.Shared.Localization;
using Eco.Shared.Serialization;
using Eco.Shared.Utils;
using Eco.World;
using Eco.World.Blocks;
using Gameplay.Players;
using System.ComponentModel;
[Serialized]
[LocDisplayName("Corn Seed")]
[Weight(50)]
[StartsDiscovered]
[Tag("Crop Seed", 1)]
public partial class CornSeedItem : SeedItem
{
static CornSeedItem() { }
private static Nutrients nutrition = new Nutrients() { Carbs = 0, Fat = 0, Protein = 0, Vitamins = 0 };
public override LocString DisplayDescription { get { return Localizer.DoStr("Plant to grow corn."); } }
public override LocString SpeciesName { get { return Localizer.DoStr("Corn"); } }
public override float Calories { get { return 0; } }
public override Nutrients Nutrition { get { return nutrition; } }
}
[Serialized]
[LocDisplayName("Corn Seed Pack")]
[Category("Hidden")]
[Weight(50)]
public partial class CornSeedPackItem : SeedPackItem
{
static CornSeedPackItem() { }
public override LocString DisplayDescription { get { return Localizer.DoStr("Plant to grow corn."); } }
public override LocString SpeciesName { get { return Localizer.DoStr("Corn"); } }
}
[RequiresSkill(typeof(FarmingSkill), 1)]
public class CornSeedRecipe : RecipeFamily
{
public CornSeedRecipe()
{
this.Initialize(Localizer.DoStr("Corn Seed"), typeof(CornSeedRecipe));
this.Recipes = new List<Recipe>
{
new Recipe(
"CornSeed",
Localizer.DoStr("Corn Seed"),
new IngredientElement[]
{
new IngredientElement(typeof(CornItem), 1, typeof(FarmingSkill), typeof(FarmingLavishResourcesTalent)),
},
new CraftingElement<CornSeedItem>()
)
};
this.LaborInCalories = CreateLaborInCaloriesValue(20, typeof(FarmingSkill), typeof(CornSeedRecipe), this.UILink());
this.CraftMinutes = CreateCraftTimeValue(typeof(CornSeedRecipe), this.UILink(), 1, typeof(FarmingSkill), typeof(FarmingFocusedSpeedTalent), typeof(FarmingParallelSpeedTalent));
this.Initialize(Localizer.DoStr("Corn Seed"), typeof(CornSeedRecipe));
CraftingComponent.AddRecipe(typeof(FarmersTableObject), this);
}
}
}