Initial Commit

This commit is contained in:
Lachlan Leone
2026-04-05 18:57:16 +10:00
commit c3a5153a56
691 changed files with 85219 additions and 0 deletions
+31
View File
@@ -0,0 +1,31 @@
using System.Collections.Generic;
using Easter2025.Customs.Generics;
using Easter2025.Utilies;
using Kitchen;
using KitchenData;
using KitchenLib.Utils;
using UnityEngine;
namespace Easter2025.Customs.ItemGroups
{
public class BlueDevilledEgg : GenericStackableItemGroup
{
public override string UniqueNameID => "BlueDevilledEgg";
public override GameObject Prefab => Mod.Bundle.LoadAsset<GameObject>("BlueDevilledEgg").AssignMaterialsByNames();
public override bool IsMergeableSide => true;
public override List<ItemGroup.ItemSet> Sets => new()
{
new ItemGroup.ItemSet
{
Items = new List<Item>
{
GDOReferences.BlueDeYolkedSlicedEgg,
GDOReferences.MixedEggYolk
},
Min = 2,
Max = 2
}
};
}
}
+67
View File
@@ -0,0 +1,67 @@
using System.Collections.Generic;
using Easter2025.Components;
using Easter2025.Customs.Generics;
using Easter2025.Utilies;
using Easter2025.Views;
using Kitchen;
using KitchenData;
using KitchenLib.Utils;
using UnityEngine;
namespace Easter2025.Customs.ItemGroups
{
public class BlueEgg : GenericStackableItemGroup
{
public override string UniqueNameID => "BlueEgg";
public override GameObject Prefab => Mod.Bundle.LoadAsset<GameObject>("BlueEgg").AssignMaterialsByNames();
public override Item DirtiesTo => GDOReferences.BlueShell;
public override List<ItemGroupView.ColourBlindLabel> Labels => new List<ItemGroupView.ColourBlindLabel>
{
new ItemGroupView.ColourBlindLabel
{
Item = GDOReferences.BlueDye,
Text = "B"
}
};
public override List<Item.ItemProcess> Processes => new List<Item.ItemProcess>
{
new Item.ItemProcess
{
Process = GDOReferences.Chop,
Duration = 1,
Result = GDOReferences.BlueSlicedEgg
}
};
public override List<IItemProperty> Properties => new List<IItemProperty>
{
new CEggBasket.CanPlaceInBasket(),
new CEgg()
};
public override ItemValue ItemValue => ItemValue.SideMedium;
public override List<ItemGroup.ItemSet> Sets => new()
{
new ItemGroup.ItemSet
{
Items = new List<Item>
{
GDOReferences.BlueDye,
GDOReferences.BoiledEgg
},
Min = 2,
Max = 2
}
};
public override void OnRegister(ItemGroup gameDataObject)
{
base.OnRegister(gameDataObject);
gameDataObject.Prefab.AddComponent<ColourBlindMode>().Element = gameDataObject.Prefab.GetChild("Octagon");
TootieEggs tootieEggsView = gameDataObject.Prefab.AddComponent<TootieEggs>();
tootieEggsView.TootieEgg = gameDataObject.Prefab.GetChild("TootieEgg");
tootieEggsView.NormalEgg = gameDataObject.Prefab.GetChild("Egg_1");
gameDataObject.Prefab.GetChild("TootieEgg").SetActive(false);
}
}
}
+40
View File
@@ -0,0 +1,40 @@
using System.Collections.Generic;
using Easter2025.Customs.Generics;
using Easter2025.Utilies;
using Kitchen;
using KitchenData;
using KitchenLib.Utils;
using UnityEngine;
namespace Easter2025.Customs.ItemGroups
{
public class BlueRawEasterBread : GenericStackableItemGroup
{
public override string UniqueNameID => "BlueRawEasterBread";
public override GameObject Prefab => Mod.Bundle.LoadAsset<GameObject>("BlueRawEasterBread").AssignMaterialsByNames();
public override List<ItemGroup.ItemSet> Sets => new()
{
new ItemGroup.ItemSet
{
Items = new List<Item>
{
GDOReferences.BlueEgg,
GDOReferences.Dough
},
Min = 2,
Max = 2
}
};
public override List<Item.ItemProcess> Processes => new List<Item.ItemProcess>
{
new Item.ItemProcess
{
Process = GDOReferences.Cook,
Duration = 1,
Result = GDOReferences.BlueEasterBread
}
};
}
}
+30
View File
@@ -0,0 +1,30 @@
using System.Collections.Generic;
using Easter2025.Customs.Generics;
using Easter2025.Utilies;
using Kitchen;
using KitchenData;
using KitchenLib.Utils;
using UnityEngine;
namespace Easter2025.Customs.ItemGroups
{
public class CremeEgg : GenericStackableItemGroup
{
public override string UniqueNameID => "CremeEgg";
public override GameObject Prefab => Mod.Bundle.LoadAsset<GameObject>("CremeEgg").AssignMaterialsByNames();
public override List<ItemGroup.ItemSet> Sets => new()
{
new ItemGroup.ItemSet
{
Items = new List<Item>
{
GDOReferences.FilledHalfEgg,
GDOReferences.FilledHalfEgg
},
Min = 2,
Max = 2
}
};
}
}
+38
View File
@@ -0,0 +1,38 @@
using System.Collections.Generic;
using Easter2025.Customs.Generics;
using Easter2025.Utilies;
using KitchenData;
using KitchenLib.Utils;
using UnityEngine;
namespace Easter2025.Customs.ItemGroups
{
public class DevilledEgg : GenericStackableItemGroup
{
public override string UniqueNameID => "DevilledEgg";
public override GameObject Prefab => Mod.Bundle.LoadAsset<GameObject>("DevilledEgg").AssignMaterialsByNames();
public override bool IsMergeableSide => true;
public override List<ItemGroup.ItemSet> Sets => new()
{
new ItemGroup.ItemSet
{
Items = new List<Item>
{
GDOReferences.DeYolkedSlicedEgg,
GDOReferences.MixedEggYolk
},
Min = 2,
Max = 2
}
};
public override List<Item> SatisfiedBy => new List<Item>
{
GDOReferences.DevilledEgg,
GDOReferences.RedDevilledEgg,
GDOReferences.GreenDevilledEgg,
GDOReferences.BlueDevilledEgg,
};
}
}
+46
View File
@@ -0,0 +1,46 @@
using System.Collections.Generic;
using Easter2025.Customs.Generics;
using Easter2025.Utilies;
using KitchenData;
using KitchenLib.Utils;
using UnityEngine;
namespace Easter2025.Customs.ItemGroups
{
public class FilledEggMould : GenericStackableItemGroup
{
public override string UniqueNameID => "FilledEggMould";
public override GameObject Prefab => Mod.Bundle.LoadAsset<GameObject>("FilledEggMould").AssignMaterialsByNames();
public override List<ItemGroup.ItemSet> Sets => new()
{
new ItemGroup.ItemSet
{
Items = new List<Item>
{
GDOReferences.EggMould,
GDOReferences.ChocolateMelted
},
Min = 2,
Max = 2
}
};
public override Item.ItemProcess AutomaticItemProcess => new Item.ItemProcess
{
Process = GDOReferences.SteepTea,
Duration = 1,
Result = GDOReferences.PreppedEggMould,
};
public override List<Item.ItemProcess> Processes => new List<Item.ItemProcess>
{
new Item.ItemProcess
{
Process = GDOReferences.SteepTea,
Duration = 1,
Result = GDOReferences.PreppedEggMould,
}
};
}
}
+30
View File
@@ -0,0 +1,30 @@
using System.Collections.Generic;
using Easter2025.Customs.Generics;
using Easter2025.Utilies;
using Kitchen;
using KitchenData;
using KitchenLib.Utils;
using UnityEngine;
namespace Easter2025.Customs.ItemGroups
{
public class FilledHalfEgg : GenericStackableItemGroup
{
public override string UniqueNameID => "FilledHalfEgg";
public override GameObject Prefab => Mod.Bundle.LoadAsset<GameObject>("FilledHalfEgg").AssignMaterialsByNames();
public override List<ItemGroup.ItemSet> Sets => new()
{
new ItemGroup.ItemSet
{
Items = new List<Item>
{
GDOReferences.HalfEgg,
GDOReferences.CremeFilling
},
Min = 2,
Max = 2
}
};
}
}
+31
View File
@@ -0,0 +1,31 @@
using System.Collections.Generic;
using Easter2025.Customs.Generics;
using Easter2025.Utilies;
using Kitchen;
using KitchenData;
using KitchenLib.Utils;
using UnityEngine;
namespace Easter2025.Customs.ItemGroups
{
public class GreenDevilledEgg : GenericStackableItemGroup
{
public override string UniqueNameID => "GreenDevilledEgg";
public override GameObject Prefab => Mod.Bundle.LoadAsset<GameObject>("GreenDevilledEgg").AssignMaterialsByNames();
public override bool IsMergeableSide => true;
public override List<ItemGroup.ItemSet> Sets => new()
{
new ItemGroup.ItemSet
{
Items = new List<Item>
{
GDOReferences.GreenDeYolkedSlicedEgg,
GDOReferences.MixedEggYolk
},
Min = 2,
Max = 2
}
};
}
}
+67
View File
@@ -0,0 +1,67 @@
using System.Collections.Generic;
using Easter2025.Components;
using Easter2025.Customs.Generics;
using Easter2025.Utilies;
using Easter2025.Views;
using Kitchen;
using KitchenData;
using KitchenLib.Utils;
using UnityEngine;
namespace Easter2025.Customs.ItemGroups
{
public class GreenEgg : GenericStackableItemGroup
{
public override string UniqueNameID => "GreenEgg";
public override GameObject Prefab => Mod.Bundle.LoadAsset<GameObject>("GreenEgg").AssignMaterialsByNames();
public override Item DirtiesTo => GDOReferences.GreenShell;
public override List<ItemGroupView.ColourBlindLabel> Labels => new List<ItemGroupView.ColourBlindLabel>
{
new ItemGroupView.ColourBlindLabel
{
Item = GDOReferences.GreenDye,
Text = "G"
}
};
public override List<Item.ItemProcess> Processes => new List<Item.ItemProcess>
{
new Item.ItemProcess
{
Process = GDOReferences.Chop,
Duration = 1,
Result = GDOReferences.GreenSlicedEgg
}
};
public override List<IItemProperty> Properties => new List<IItemProperty>
{
new CEggBasket.CanPlaceInBasket(),
new CEgg()
};
public override ItemValue ItemValue => ItemValue.SideMedium;
public override List<ItemGroup.ItemSet> Sets => new()
{
new ItemGroup.ItemSet
{
Items = new List<Item>
{
GDOReferences.GreenDye,
GDOReferences.BoiledEgg
},
Min = 2,
Max = 2
}
};
public override void OnRegister(ItemGroup gameDataObject)
{
base.OnRegister(gameDataObject);
gameDataObject.Prefab.AddComponent<ColourBlindMode>().Element = gameDataObject.Prefab.GetChild("Square");
TootieEggs tootieEggsView = gameDataObject.Prefab.AddComponent<TootieEggs>();
tootieEggsView.TootieEgg = gameDataObject.Prefab.GetChild("TootieEgg");
tootieEggsView.NormalEgg = gameDataObject.Prefab.GetChild("Egg_1");
gameDataObject.Prefab.GetChild("TootieEgg").SetActive(false);
}
}
}
+40
View File
@@ -0,0 +1,40 @@
using System.Collections.Generic;
using Easter2025.Customs.Generics;
using Easter2025.Utilies;
using Kitchen;
using KitchenData;
using KitchenLib.Utils;
using UnityEngine;
namespace Easter2025.Customs.ItemGroups
{
public class GreenRawEasterBread : GenericStackableItemGroup
{
public override string UniqueNameID => "GreenRawEasterBread";
public override GameObject Prefab => Mod.Bundle.LoadAsset<GameObject>("GreenRawEasterBread").AssignMaterialsByNames();
public override List<ItemGroup.ItemSet> Sets => new()
{
new ItemGroup.ItemSet
{
Items = new List<Item>
{
GDOReferences.GreenEgg,
GDOReferences.Dough
},
Min = 2,
Max = 2
}
};
public override List<Item.ItemProcess> Processes => new List<Item.ItemProcess>
{
new Item.ItemProcess
{
Process = GDOReferences.Cook,
Duration = 1,
Result = GDOReferences.GreenEasterBread
}
};
}
}
+57
View File
@@ -0,0 +1,57 @@
using System.Collections.Generic;
using Easter2025.Customs.Generics;
using Easter2025.Utilies;
using Kitchen;
using KitchenData;
using KitchenLib.Utils;
using UnityEngine;
namespace Easter2025.Customs.ItemGroups
{
public class HotCrossBun : GenericStackableItemGroup
{
public override string UniqueNameID => "HotCrossBun";
public override GameObject Prefab => Mod.Bundle.LoadAsset<GameObject>("HotCrossBun").AssignMaterialsByNames();
public override List<ItemGroup.ItemSet> Sets => new()
{
new ItemGroup.ItemSet
{
Items = new List<Item>
{
GDOReferences.CutCookedHotCrossBun,
GDOReferences.Butter
},
Min = 2,
Max = 2
}
};
public override ItemValue ItemValue => ItemValue.Small;
public override void OnRegister(ItemGroup gameDataObject)
{
base.OnRegister(gameDataObject);
if (gameDataObject.Prefab.TryGetComponent(out ItemGroupView itemGroupView))
{
itemGroupView.ComponentGroups = new List<ItemGroupView.ComponentGroup>
{
new()
{
Item = GDOReferences.CutCookedHotCrossBun,
Objects = new List<GameObject>
{
gameDataObject.Prefab.GetChild("Hot Cross Bun Split/Top"),
gameDataObject.Prefab.GetChild("Hot Cross Bun Split/Bottom")
},
DrawAll = true
},
new()
{
Item = GDOReferences.Butter,
GameObject = gameDataObject.Prefab.GetChild("Butter")
}
};
}
}
}
}
+30
View File
@@ -0,0 +1,30 @@
using System.Collections.Generic;
using Easter2025.Customs.Generics;
using Easter2025.Utilies;
using Kitchen;
using KitchenData;
using KitchenLib.Utils;
using UnityEngine;
namespace Easter2025.Customs.ItemGroups
{
public class MixedEggYolk : GenericStackableItemGroup
{
public override string UniqueNameID => "MixedEggYolk";
public override GameObject Prefab => Mod.Bundle.LoadAsset<GameObject>("MixedEggYolk").AssignMaterialsByNames();
public override List<ItemGroup.ItemSet> Sets => new()
{
new ItemGroup.ItemSet
{
Items = new List<Item>
{
GDOReferences.Mayonnaise,
GDOReferences.EggYolk
},
Min = 2,
Max = 2
}
};
}
}
+73
View File
@@ -0,0 +1,73 @@
using System.Collections.Generic;
using Easter2025.Customs.Generics;
using Easter2025.Utilies;
using Kitchen;
using KitchenData;
using KitchenLib.Utils;
using UnityEngine;
namespace Easter2025.Customs.ItemGroups
{
public class RawCremeFillingPot : GenericStackableItemGroup
{
public override string UniqueNameID => "RawCremeFillingPot";
public override GameObject Prefab => Mod.Bundle.LoadAsset<GameObject>("RawCremeFillingPot").AssignMaterialsByNames();
public override Item DisposesTo => GDOReferences.Pot;
public override List<ItemGroup.ItemSet> Sets => new()
{
new ItemGroup.ItemSet
{
Items = new List<Item>
{
GDOReferences.Pot,
GDOReferences.Milk
},
IsMandatory = true,
Min = 2,
Max = 2
},
new ItemGroup.ItemSet
{
Items = new List<Item>
{
GDOReferences.Butter,
GDOReferences.Sugar,
},
Min = 2,
Max = 2
}
};
public override List<Item.ItemProcess> Processes => new()
{
new Item.ItemProcess
{
Process = GDOReferences.Cook,
Duration = 5f,
Result = GDOReferences.CookedCremeFillingPot
}
};
public override void OnRegister(ItemGroup gameDataObject)
{
base.OnRegister(gameDataObject);
if (gameDataObject.Prefab.TryGetComponent(out ItemGroupView itemGroupView))
{
itemGroupView.ComponentGroups = new List<ItemGroupView.ComponentGroup>
{
new()
{
Item = GDOReferences.Butter,
GameObject = gameDataObject.Prefab.GetChild("Butter")
},
new()
{
Item = GDOReferences.Sugar,
GameObject = gameDataObject.Prefab.GetChild("Sugar")
}
};
}
}
}
}
+40
View File
@@ -0,0 +1,40 @@
using System.Collections.Generic;
using Easter2025.Customs.Generics;
using Easter2025.Utilies;
using Kitchen;
using KitchenData;
using KitchenLib.Utils;
using UnityEngine;
namespace Easter2025.Customs.ItemGroups
{
public class RawEasterBread : GenericStackableItemGroup
{
public override string UniqueNameID => "RawEasterBread";
public override GameObject Prefab => Mod.Bundle.LoadAsset<GameObject>("RawEasterBread").AssignMaterialsByNames();
public override List<ItemGroup.ItemSet> Sets => new()
{
new ItemGroup.ItemSet
{
Items = new List<Item>
{
GDOReferences.BoiledEgg,
GDOReferences.Dough
},
Min = 2,
Max = 2
}
};
public override List<Item.ItemProcess> Processes => new List<Item.ItemProcess>
{
new Item.ItemProcess
{
Process = GDOReferences.Cook,
Duration = 1,
Result = GDOReferences.EasterBread
}
};
}
}
+74
View File
@@ -0,0 +1,74 @@
using System.Collections.Generic;
using Easter2025.Customs.Generics;
using Easter2025.Utilies;
using Kitchen;
using KitchenData;
using KitchenLib.Utils;
using UnityEngine;
namespace Easter2025.Customs.ItemGroups
{
public class RawEggPot : GenericStackableItemGroup
{
public override string UniqueNameID => "RawEggPot";
public override GameObject Prefab => Mod.Bundle.LoadAsset<GameObject>("RawEggPot").AssignMaterialsByNames();
public override Item DisposesTo => GDOReferences.Pot;
public override List<ItemGroup.ItemSet> Sets => new()
{
new ItemGroup.ItemSet
{
Items = new List<Item>
{
GDOReferences.Pot,
GDOReferences.Water
},
IsMandatory = true,
Min = 2,
Max = 2
},
new ItemGroup.ItemSet
{
Items = new List<Item>
{
GDOReferences.Egg,
GDOReferences.Egg,
GDOReferences.Egg,
},
Min = 3,
Max = 3
}
};
public override List<Item.ItemProcess> Processes => new()
{
new Item.ItemProcess
{
Process = GDOReferences.Cook,
Duration = 1,
Result = GDOReferences.BoiledEggPot
}
};
public override void OnRegister(ItemGroup gameDataObject)
{
base.OnRegister(gameDataObject);
if (gameDataObject.Prefab.TryGetComponent(out ItemGroupView itemGroupView))
{
itemGroupView.ComponentGroups = new List<ItemGroupView.ComponentGroup>
{
new()
{
Item = GDOReferences.Egg,
Objects = new List<GameObject>
{
gameDataObject.Prefab.GetChild("Egg1"),
gameDataObject.Prefab.GetChild("Egg2"),
gameDataObject.Prefab.GetChild("Egg3"),
}
}
};
}
}
}
}
+31
View File
@@ -0,0 +1,31 @@
using System.Collections.Generic;
using Easter2025.Customs.Generics;
using Easter2025.Utilies;
using Kitchen;
using KitchenData;
using KitchenLib.Utils;
using UnityEngine;
namespace Easter2025.Customs.ItemGroups
{
public class RedDevilledEgg : GenericStackableItemGroup
{
public override string UniqueNameID => "RedDevilledEgg";
public override GameObject Prefab => Mod.Bundle.LoadAsset<GameObject>("RedDevilledEgg").AssignMaterialsByNames();
public override bool IsMergeableSide => true;
public override List<ItemGroup.ItemSet> Sets => new()
{
new ItemGroup.ItemSet
{
Items = new List<Item>
{
GDOReferences.RedDeYolkedSlicedEgg,
GDOReferences.MixedEggYolk
},
Min = 2,
Max = 2
}
};
}
}
+67
View File
@@ -0,0 +1,67 @@
using System.Collections.Generic;
using Easter2025.Components;
using Easter2025.Customs.Generics;
using Easter2025.Utilies;
using Easter2025.Views;
using Kitchen;
using KitchenData;
using KitchenLib.Utils;
using UnityEngine;
namespace Easter2025.Customs.ItemGroups
{
public class RedEgg : GenericStackableItemGroup
{
public override string UniqueNameID => "RedEgg";
public override GameObject Prefab => Mod.Bundle.LoadAsset<GameObject>("RedEgg").AssignMaterialsByNames();
public override Item DirtiesTo => GDOReferences.RedShell;
public override List<ItemGroupView.ColourBlindLabel> Labels => new List<ItemGroupView.ColourBlindLabel>
{
new ItemGroupView.ColourBlindLabel
{
Item = GDOReferences.RedDye,
Text = "R"
}
};
public override List<Item.ItemProcess> Processes => new List<Item.ItemProcess>
{
new Item.ItemProcess
{
Process = GDOReferences.Chop,
Duration = 1,
Result = GDOReferences.RedSlicedEgg
}
};
public override List<IItemProperty> Properties => new List<IItemProperty>
{
new CEggBasket.CanPlaceInBasket(),
new CEgg()
};
public override ItemValue ItemValue => ItemValue.SideMedium;
public override List<ItemGroup.ItemSet> Sets => new()
{
new ItemGroup.ItemSet
{
Items = new List<Item>
{
GDOReferences.RedDye,
GDOReferences.BoiledEgg
},
Min = 2,
Max = 2
}
};
public override void OnRegister(ItemGroup gameDataObject)
{
base.OnRegister(gameDataObject);
gameDataObject.Prefab.AddComponent<ColourBlindMode>().Element = gameDataObject.Prefab.GetChild("Circle");
TootieEggs tootieEggsView = gameDataObject.Prefab.AddComponent<TootieEggs>();
tootieEggsView.TootieEgg = gameDataObject.Prefab.GetChild("TootieEgg");
tootieEggsView.NormalEgg = gameDataObject.Prefab.GetChild("Egg_1");
gameDataObject.Prefab.GetChild("TootieEgg").SetActive(false);
}
}
}
+40
View File
@@ -0,0 +1,40 @@
using System.Collections.Generic;
using Easter2025.Customs.Generics;
using Easter2025.Utilies;
using Kitchen;
using KitchenData;
using KitchenLib.Utils;
using UnityEngine;
namespace Easter2025.Customs.ItemGroups
{
public class RedRawEasterBread : GenericStackableItemGroup
{
public override string UniqueNameID => "RedRawEasterBread";
public override GameObject Prefab => Mod.Bundle.LoadAsset<GameObject>("RedRawEasterBread").AssignMaterialsByNames();
public override List<ItemGroup.ItemSet> Sets => new()
{
new ItemGroup.ItemSet
{
Items = new List<Item>
{
GDOReferences.RedEgg,
GDOReferences.Dough
},
Min = 2,
Max = 2
}
};
public override List<Item.ItemProcess> Processes => new List<Item.ItemProcess>
{
new Item.ItemProcess
{
Process = GDOReferences.Cook,
Duration = 1,
Result = GDOReferences.RedEasterBread
}
};
}
}
+40
View File
@@ -0,0 +1,40 @@
using System.Collections.Generic;
using Easter2025.Customs.Generics;
using Easter2025.Utilies;
using Kitchen;
using KitchenData;
using KitchenLib.Utils;
using UnityEngine;
namespace Easter2025.Customs.ItemGroups
{
public class UnwrappedCremeEgg : GenericStackableItemGroup
{
public override string UniqueNameID => "UnwrappedCremeEgg";
public override GameObject Prefab => Mod.Bundle.LoadAsset<GameObject>("UnwrappedCremeEgg").AssignMaterialsByNames();
public override List<ItemGroup.ItemSet> Sets => new()
{
new ItemGroup.ItemSet
{
Items = new List<Item>
{
GDOReferences.CremeEgg,
GDOReferences.Wrapper
},
Min = 2,
Max = 2
}
};
public override List<Item.ItemProcess> Processes => new List<Item.ItemProcess>
{
new Item.ItemProcess
{
Process = GDOReferences.Knead,
Duration = 1,
Result = GDOReferences.WrappedCremeEgg
}
};
}
}