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
+12
View File
@@ -0,0 +1,12 @@
using Easter2025.Customs.Generics;
using KitchenLib.Utils;
using UnityEngine;
namespace Easter2025.Customs.Items
{
public class BlueDeYolkedSlicedEgg : GenericStackableItem
{
public override string UniqueNameID => "BlueDeYolkedSlicedEgg";
public override GameObject Prefab => Mod.Bundle.LoadAsset<GameObject>("BlueDeYolkedSlicedEgg").AssignMaterialsByNames();
}
}
+24
View File
@@ -0,0 +1,24 @@
using Easter2025.Customs.Generics;
using Easter2025.Utilies;
using Kitchen;
using KitchenData;
using KitchenLib.Customs;
using KitchenLib.Utils;
using UnityEngine;
namespace Easter2025.Customs.Items
{
public class BlueDye : GenericStackableItem
{
public override string UniqueNameID => "BlueDye";
public override GameObject Prefab => Mod.Bundle.LoadAsset<GameObject>("BlueDye").AssignMaterialsByNames();
public override Appliance DedicatedProvider => GDOReferences.DyeProvider;
public override string ColourBlindTag => "B";
public override void OnRegister(Item gameDataObject)
{
base.OnRegister(gameDataObject);
gameDataObject.Prefab.AddComponent<ColourBlindMode>().Element = gameDataObject.Prefab.GetChild("Octagon");
}
}
}
+14
View File
@@ -0,0 +1,14 @@
using Easter2025.Customs.Generics;
using KitchenData;
using KitchenLib.Utils;
using UnityEngine;
namespace Easter2025.Customs.Items
{
public class BlueEasterBread : GenericStackableItem
{
public override string UniqueNameID => "BlueEasterBread";
public override GameObject Prefab => Mod.Bundle.LoadAsset<GameObject>("BlueEasterBread").AssignMaterialsByNames();
public override ItemValue ItemValue => ItemValue.Small;
}
}
+13
View File
@@ -0,0 +1,13 @@
using Easter2025.Customs.Generics;
using KitchenLib.Customs;
using KitchenLib.Utils;
using UnityEngine;
namespace Easter2025.Customs.Items
{
public class BlueShell : GenericStackableItem
{
public override string UniqueNameID => "BlueShell";
public override GameObject Prefab => Mod.Bundle.LoadAsset<GameObject>("BlueShell").AssignMaterialsByNames();
}
}
+18
View File
@@ -0,0 +1,18 @@
using System.Collections.Generic;
using Easter2025.Customs.Generics;
using Easter2025.Utilies;
using KitchenData;
using KitchenLib.Utils;
using UnityEngine;
namespace Easter2025.Customs.Items
{
public class BlueSlicedEgg : GenericStackableItem
{
public override string UniqueNameID => "BlueSlicedEgg";
public override GameObject Prefab => Mod.Bundle.LoadAsset<GameObject>("BlueSlicedEgg").AssignMaterialsByNames();
public override int SplitCount => 1;
public override Item SplitSubItem => GDOReferences.EggYolk;
public override List<Item> SplitDepletedItems => new List<Item> { GDOReferences.BlueDeYolkedSlicedEgg };
}
}
+24
View File
@@ -0,0 +1,24 @@
using System.Collections.Generic;
using Easter2025.Customs.Generics;
using Easter2025.Utilies;
using KitchenData;
using KitchenLib.Utils;
using UnityEngine;
namespace Easter2025.Customs.Items
{
public class BoiledEgg : GenericStackableItem
{
public override string UniqueNameID => "BoiledEgg";
public override GameObject Prefab => Mod.Bundle.LoadAsset<GameObject>("BoiledEgg").AssignMaterialsByNames();
public override List<Item.ItemProcess> Processes => new List<Item.ItemProcess>
{
new Item.ItemProcess
{
Process = GDOReferences.Chop,
Duration = 1,
Result = GDOReferences.SlicedEgg
}
};
}
}
+36
View File
@@ -0,0 +1,36 @@
using System.Collections.Generic;
using System.Reflection;
using Easter2025.Customs.Generics;
using Easter2025.Utilies;
using Kitchen;
using KitchenData;
using KitchenLib.Customs;
using KitchenLib.Utils;
using UnityEngine;
namespace Easter2025.Customs.Items
{
public class BoiledEggPot : CustomItem
{
public override string UniqueNameID => "BoiledEggPot";
public override GameObject Prefab => Mod.Bundle.LoadAsset<GameObject>("BoiledEggPot").AssignMaterialsByNames();
public override Item DisposesTo => GDOReferences.Pot;
public override Item SplitSubItem => GDOReferences.BoiledEgg;
public override List<Item> SplitDepletedItems => new List<Item> { GDOReferences.Pot};
public override int SplitCount => 3;
public override void OnRegister(Item gameDataObject)
{
base.OnRegister(gameDataObject);
ObjectsSplittableView objectsSplittableView = gameDataObject.Prefab.AddComponent<ObjectsSplittableView>();
FieldInfo objectsInfo = ReflectionUtils.GetField<ObjectsSplittableView>("Objects");
List<GameObject> objects = new List<GameObject>
{
gameDataObject.Prefab.GetChild("Egg1"),
gameDataObject.Prefab.GetChild("Egg2"),
gameDataObject.Prefab.GetChild("Egg3")
};
objectsInfo.SetValue(objectsSplittableView, objects);
}
}
}
+25
View File
@@ -0,0 +1,25 @@
using System.Collections.Generic;
using Easter2025.Customs.Generics;
using Easter2025.Utilies;
using KitchenData;
using KitchenLib.Utils;
using UnityEngine;
namespace Easter2025.Customs.Items
{
public class BurnedHotCrossBun : GenericStackableItem
{
public override string UniqueNameID => "BurnedHotCrossBun";
public override GameObject Prefab => Mod.Bundle.LoadAsset<GameObject>("BurnedHotCrossBun").AssignMaterialsByNames();
public override List<Item.ItemProcess> Processes => new()
{
new Item.ItemProcess
{
Process = GDOReferences.Chop,
Duration = 1,
Result = GDOReferences.CutBurnedHotCrossBun
}
};
}
}
+24
View File
@@ -0,0 +1,24 @@
using System.Collections.Generic;
using System.Reflection;
using Easter2025.Customs.Generics;
using Easter2025.Utilies;
using Kitchen;
using KitchenData;
using KitchenLib.Customs;
using KitchenLib.Utils;
using UnityEngine;
namespace Easter2025.Customs.Items
{
public class CookedCremeFillingPot : CustomItem
{
public override string UniqueNameID => "CookedCremeFillingPot";
public override GameObject Prefab => Mod.Bundle.LoadAsset<GameObject>("CookedCremeFillingPot").AssignMaterialsByNames();
public override Item DisposesTo => GDOReferences.Pot;
public override Item SplitSubItem => GDOReferences.CremeFilling;
public override bool PreventExplicitSplit => true;
public override bool AllowSplitMerging => true;
public override List<Item> SplitDepletedItems => new List<Item> { GDOReferences.Pot};
public override int SplitCount => 10;
}
}
+47
View File
@@ -0,0 +1,47 @@
using System.Collections.Generic;
using Easter2025.Components;
using Easter2025.Customs.Generics;
using Easter2025.Utilies;
using KitchenData;
using KitchenLib.References;
using KitchenLib.Utils;
using Unity.Collections;
using UnityEngine;
namespace Easter2025.Customs.Items
{
public class CookedHotCrossBun : GenericStackableItem
{
public override string UniqueNameID => "CookedHotCrossBun";
public override GameObject Prefab => Mod.Bundle.LoadAsset<GameObject>("CookedHotCrossBun").AssignMaterialsByNames();
public override Appliance DedicatedProvider => GDOReferences.HotCrossBunsProvider;
public override List<IItemProperty> Properties => new List<IItemProperty>
{
new CHiddenBurnProcess
{
Result = new FixedListInt64
{
GDOReferences.FlamingHotCrossBun.ID
},
BurnableSurfaces = new FixedListInt64
{
ApplianceReferences.Hob,
ApplianceReferences.HobDanger,
ApplianceReferences.HobSafe,
ApplianceReferences.HobStarting,
},
BurnTimeInSeconds = 15
}
};
public override List<Item.ItemProcess> Processes => new()
{
new Item.ItemProcess
{
Process = GDOReferences.Chop,
Duration = 1,
Result = GDOReferences.CutCookedHotCrossBun
}
};
}
}
+15
View File
@@ -0,0 +1,15 @@
using Easter2025.Customs.Generics;
using Easter2025.Utilies;
using Kitchen;
using KitchenData;
using KitchenLib.Customs;
using KitchenLib.Utils;
using UnityEngine;
namespace Easter2025.Customs.Items
{
public class CremeFilling : GenericStackableItem
{
public override string UniqueNameID => "CremeFilling";
}
}
+12
View File
@@ -0,0 +1,12 @@
using Easter2025.Customs.Generics;
using KitchenLib.Utils;
using UnityEngine;
namespace Easter2025.Customs.Items
{
public class CutBurnedHotCrossBun : GenericStackableItem
{
public override string UniqueNameID => "CutBurnedHotCrossBun";
public override GameObject Prefab => Mod.Bundle.LoadAsset<GameObject>("CutBurnedHotCrossBun").AssignMaterialsByNames();
}
}
+37
View File
@@ -0,0 +1,37 @@
using System.Collections.Generic;
using Easter2025.Components;
using Easter2025.Customs.Generics;
using Easter2025.Utilies;
using KitchenData;
using KitchenLib.References;
using KitchenLib.Utils;
using Unity.Collections;
using UnityEngine;
namespace Easter2025.Customs.Items
{
public class CutCookedHotCrossBun : GenericStackableItem
{
public override string UniqueNameID => "CutCookedHotCrossBun";
public override GameObject Prefab => Mod.Bundle.LoadAsset<GameObject>("CutCookedHotCrossBun").AssignMaterialsByNames();
public override List<IItemProperty> Properties => new List<IItemProperty>
{
new CHiddenBurnProcess
{
Result = new FixedListInt64
{
GDOReferences.CutFlamingHotCrossBun.ID
},
BurnableSurfaces = new FixedListInt64
{
ApplianceReferences.Hob,
ApplianceReferences.HobDanger,
ApplianceReferences.HobSafe,
ApplianceReferences.HobStarting,
},
BurnTimeInSeconds = 15
}
};
}
}
+40
View File
@@ -0,0 +1,40 @@
using System.Collections.Generic;
using Easter2025.Components;
using Easter2025.Customs.Generics;
using Easter2025.Utilies;
using Easter2025.Views.Local;
using KitchenData;
using KitchenLib.Utils;
using UnityEngine;
using UnityEngine.VFX;
namespace Easter2025.Customs.Items
{
public class CutFlamingHotCrossBun : GenericStackableItem
{
public override string UniqueNameID => "CutFlamingHotCrossBun";
public override GameObject Prefab => Mod.Bundle.LoadAsset<GameObject>("CutFlamingHotCrossBun").AssignMaterialsByNames().AssignVFXByNames();
// public override bool IsIndisposable => true;
public override List<IItemProperty> Properties => new List<IItemProperty>
{
new CCanTriggerOrbs()
};
public override List<Item.ItemProcess> Processes => new()
{
new Item.ItemProcess
{
Process = GDOReferences.Clean,
Duration = 1,
Result = GDOReferences.CutBurnedHotCrossBun
}
};
public override void OnRegister(Item gameDataObject)
{
base.OnRegister(gameDataObject);
gameDataObject.Prefab.AddComponent<FlamingView>().Fire = gameDataObject.Prefab.GetComponentInChildren<VisualEffect>();
}
}
}
+25
View File
@@ -0,0 +1,25 @@
using System.Collections.Generic;
using Easter2025.Customs.Generics;
using Easter2025.Utilies;
using KitchenData;
using KitchenLib.Utils;
using UnityEngine;
namespace Easter2025.Customs.Items
{
public class CutRawHotCrossBun : GenericStackableItem
{
public override string UniqueNameID => "CutRawHotCrossBun";
public override GameObject Prefab => Mod.Bundle.LoadAsset<GameObject>("CutRawHotCrossBun").AssignMaterialsByNames();
public override List<Item.ItemProcess> Processes => new()
{
new Item.ItemProcess
{
Process = GDOReferences.Cook,
Duration = 1,
Result = GDOReferences.CutCookedHotCrossBun
}
};
}
}
+12
View File
@@ -0,0 +1,12 @@
using Easter2025.Customs.Generics;
using KitchenLib.Utils;
using UnityEngine;
namespace Easter2025.Customs.Items
{
public class DeYolkedSlicedEgg : GenericStackableItem
{
public override string UniqueNameID => "DeYolkedSlicedEgg";
public override GameObject Prefab => Mod.Bundle.LoadAsset<GameObject>("DeYolkedSlicedEgg").AssignMaterialsByNames();
}
}
+25
View File
@@ -0,0 +1,25 @@
using System.Collections.Generic;
using Easter2025.Customs.Generics;
using Easter2025.Utilies;
using KitchenData;
using KitchenLib.Utils;
using UnityEngine;
namespace Easter2025.Customs.Items
{
public class EasterBread : GenericStackableItem
{
public override string UniqueNameID => "EasterBread";
public override GameObject Prefab => Mod.Bundle.LoadAsset<GameObject>("EasterBread").AssignMaterialsByNames();
public override ItemValue ItemValue => ItemValue.Small;
public override string ColourBlindTag => "E";
public override List<Item> SatisfiedBy => new List<Item>
{
GDOReferences.EasterBread,
GDOReferences.RedEasterBread,
GDOReferences.GreenEasterBread,
GDOReferences.BlueEasterBread,
};
}
}
+45
View File
@@ -0,0 +1,45 @@
using System.Collections.Generic;
using Easter2025.Components;
using Kitchen;
using KitchenData;
using KitchenLib.Customs;
using KitchenLib.Utils;
using UnityEngine;
namespace Easter2025.Customs.Items
{
public class EggBasket : CustomItem
{
public override string UniqueNameID => "EggBasket";
public override GameObject Prefab => Mod.Bundle.LoadAsset<GameObject>("EggBasket").AssignMaterialsByNames();
public override bool IsIndisposable => true;
public override int MaxOrderSharers => 3;
public override List<IItemProperty> Properties => new List<IItemProperty>
{
new CToolStorage
{
Capacity = 3
},
new CEquippableTool
{
CanHoldItems = false
},
new CEggBasket()
};
public override void OnRegister(Item item)
{
List<GameObject> storage = new List<GameObject>
{
GameObjectUtils.GetChildObject(item.Prefab, "HoldPoint1"),
GameObjectUtils.GetChildObject(item.Prefab, "HoldPoint2"),
GameObjectUtils.GetChildObject(item.Prefab, "HoldPoint3")
};
ItemVariableStorageView obj = item.Prefab.AddComponent<ItemVariableStorageView>();
obj.Storage = storage;
}
}
}
+16
View File
@@ -0,0 +1,16 @@
using Easter2025.Customs.Generics;
using Easter2025.Utilies;
using KitchenData;
using KitchenLib.Utils;
using UnityEngine;
namespace Easter2025.Customs.Items
{
public class EggMould : GenericStackableItem
{
public override string UniqueNameID => "EggMould";
public override GameObject Prefab => Mod.Bundle.LoadAsset<GameObject>("EggMould").AssignMaterialsByNames();
public override bool IsIndisposable => true;
public override Appliance DedicatedProvider => GDOReferences.EggMouldProvider;
}
}
+12
View File
@@ -0,0 +1,12 @@
using Easter2025.Customs.Generics;
using KitchenLib.Utils;
using UnityEngine;
namespace Easter2025.Customs.Items
{
public class EggYolk : GenericStackableItem
{
public override string UniqueNameID => "EggYolk";
public override GameObject Prefab => Mod.Bundle.LoadAsset<GameObject>("EggYolk").AssignMaterialsByNames();
}
}
+46
View File
@@ -0,0 +1,46 @@
using System.Collections.Generic;
using Easter2025.Components;
using Easter2025.Customs.Generics;
using Easter2025.Utilies;
using Easter2025.Views.Local;
using KitchenData;
using KitchenLib.Utils;
using UnityEngine;
using UnityEngine.VFX;
namespace Easter2025.Customs.Items
{
public class FlamingHotCrossBun : GenericStackableItem
{
public override string UniqueNameID => "FlamingHotCrossBun";
public override GameObject Prefab => Mod.Bundle.LoadAsset<GameObject>("FlamingHotCrossBun").AssignMaterialsByNames().AssignVFXByNames();
// public override bool IsIndisposable => true;
public override List<IItemProperty> Properties => new List<IItemProperty>
{
new CCanTriggerOrbs()
};
public override List<Item.ItemProcess> Processes => new()
{
new Item.ItemProcess
{
Process = GDOReferences.Chop,
Duration = 1,
Result = GDOReferences.CutFlamingHotCrossBun
},
new Item.ItemProcess
{
Process = GDOReferences.Clean,
Duration = 1,
Result = GDOReferences.BurnedHotCrossBun
}
};
public override void OnRegister(Item gameDataObject)
{
base.OnRegister(gameDataObject);
gameDataObject.Prefab.AddComponent<FlamingView>().Fire = gameDataObject.Prefab.GetComponentInChildren<VisualEffect>();
}
}
}
+12
View File
@@ -0,0 +1,12 @@
using Easter2025.Customs.Generics;
using KitchenLib.Utils;
using UnityEngine;
namespace Easter2025.Customs.Items
{
public class GreenDeYolkedSlicedEgg : GenericStackableItem
{
public override string UniqueNameID => "GreenDeYolkedSlicedEgg";
public override GameObject Prefab => Mod.Bundle.LoadAsset<GameObject>("GreenDeYolkedSlicedEgg").AssignMaterialsByNames();
}
}
+24
View File
@@ -0,0 +1,24 @@
using Easter2025.Customs.Generics;
using Easter2025.Utilies;
using Kitchen;
using KitchenData;
using KitchenLib.Customs;
using KitchenLib.Utils;
using UnityEngine;
namespace Easter2025.Customs.Items
{
public class GreenDye : GenericStackableItem
{
public override string UniqueNameID => "GreenDye";
public override GameObject Prefab => Mod.Bundle.LoadAsset<GameObject>("GreenDye").AssignMaterialsByNames();
public override Appliance DedicatedProvider => GDOReferences.DyeProvider;
public override string ColourBlindTag => "G";
public override void OnRegister(Item gameDataObject)
{
base.OnRegister(gameDataObject);
gameDataObject.Prefab.AddComponent<ColourBlindMode>().Element = gameDataObject.Prefab.GetChild("Square");
}
}
}
+14
View File
@@ -0,0 +1,14 @@
using Easter2025.Customs.Generics;
using KitchenData;
using KitchenLib.Utils;
using UnityEngine;
namespace Easter2025.Customs.Items
{
public class GreenEasterBread : GenericStackableItem
{
public override string UniqueNameID => "GreenEasterBread";
public override GameObject Prefab => Mod.Bundle.LoadAsset<GameObject>("GreenEasterBread").AssignMaterialsByNames();
public override ItemValue ItemValue => ItemValue.Small;
}
}
+13
View File
@@ -0,0 +1,13 @@
using Easter2025.Customs.Generics;
using KitchenLib.Customs;
using KitchenLib.Utils;
using UnityEngine;
namespace Easter2025.Customs.Items
{
public class GreenShell : GenericStackableItem
{
public override string UniqueNameID => "GreenShell";
public override GameObject Prefab => Mod.Bundle.LoadAsset<GameObject>("GreenShell").AssignMaterialsByNames();
}
}
+18
View File
@@ -0,0 +1,18 @@
using System.Collections.Generic;
using Easter2025.Customs.Generics;
using Easter2025.Utilies;
using KitchenData;
using KitchenLib.Utils;
using UnityEngine;
namespace Easter2025.Customs.Items
{
public class GreenSlicedEgg : GenericStackableItem
{
public override string UniqueNameID => "GreenSlicedEgg";
public override GameObject Prefab => Mod.Bundle.LoadAsset<GameObject>("GreenSlicedEgg").AssignMaterialsByNames();
public override int SplitCount => 1;
public override Item SplitSubItem => GDOReferences.EggYolk;
public override List<Item> SplitDepletedItems => new List<Item> { GDOReferences.GreenDeYolkedSlicedEgg };
}
}
+15
View File
@@ -0,0 +1,15 @@
using Easter2025.Customs.Generics;
using Easter2025.Utilies;
using KitchenData;
using KitchenLib.Customs;
using KitchenLib.Utils;
using UnityEngine;
namespace Easter2025.Customs.Items
{
public class HalfEgg : GenericStackableItem
{
public override string UniqueNameID => "HalfEgg";
public override GameObject Prefab => Mod.Bundle.LoadAsset<GameObject>("HalfEgg").AssignMaterialsByNames();
}
}
+22
View File
@@ -0,0 +1,22 @@
using System.Collections.Generic;
using Easter2025.Components;
using Easter2025.Customs.Generics;
using KitchenData;
using KitchenLib.Utils;
using UnityEngine;
namespace Easter2025.Customs.Items
{
public class OrangePlasticEgg : GenericStackableItem
{
public override string UniqueNameID => "OrangePlasticEgg";
public override GameObject Prefab => Mod.Bundle.LoadAsset<GameObject>("OrangePlasticEgg").AssignMaterialsByNames();
public override string ColourBlindTag => "O";
public override ItemValue ItemValue => ItemValue.SideSmall;
public override List<IItemProperty> Properties => new List<IItemProperty>
{
new CHidableItem(),
new CEggBasket.CanPlaceInBasket()
};
}
}
+23
View File
@@ -0,0 +1,23 @@
using System.Collections.Generic;
using Easter2025.Components;
using Easter2025.Customs.Generics;
using KitchenData;
using KitchenLib.Utils;
using UnityEngine;
namespace Easter2025.Customs.Items
{
public class PinkPlasticEgg : GenericStackableItem
{
public override string UniqueNameID => "PinkPlasticEgg";
public override GameObject Prefab => Mod.Bundle.LoadAsset<GameObject>("PinkPlasticEgg").AssignMaterialsByNames();
public override string ColourBlindTag => "P";
public override ItemValue ItemValue => ItemValue.SideSmall;
public override List<IItemProperty> Properties => new List<IItemProperty>
{
new CHidableItem(),
new CEggBasket.CanPlaceInBasket()
};
}
}
+42
View File
@@ -0,0 +1,42 @@
using System.Collections.Generic;
using System.Reflection;
using Easter2025.Utilies;
using Kitchen;
using KitchenData;
using KitchenLib.Customs;
using KitchenLib.Utils;
using UnityEngine;
namespace Easter2025.Customs.Items
{
public class PreppedEggMould : CustomItem
{
public override string UniqueNameID => "PreppedEggMould";
public override GameObject Prefab => Mod.Bundle.LoadAsset<GameObject>("PreppedEggMould").AssignMaterialsByNames();
public override Item DisposesTo => GDOReferences.EggMould;
public override Item SplitSubItem => GDOReferences.HalfEgg;
public override List<Item> SplitDepletedItems => new List<Item> { GDOReferences.EggMould };
public override int SplitCount => 10;
public override void OnRegister(Item gameDataObject)
{
base.OnRegister(gameDataObject);
ObjectsSplittableView objectsSplittableView = gameDataObject.Prefab.AddComponent<ObjectsSplittableView>();
FieldInfo objectsInfo = ReflectionUtils.GetField<ObjectsSplittableView>("Objects");
List<GameObject> objects = new List<GameObject>
{
gameDataObject.Prefab.GetChild("Eggs/HalfEgg1"),
gameDataObject.Prefab.GetChild("Eggs/HalfEgg2"),
gameDataObject.Prefab.GetChild("Eggs/HalfEgg3"),
gameDataObject.Prefab.GetChild("Eggs/HalfEgg4"),
gameDataObject.Prefab.GetChild("Eggs/HalfEgg5"),
gameDataObject.Prefab.GetChild("Eggs/HalfEgg6"),
gameDataObject.Prefab.GetChild("Eggs/HalfEgg7"),
gameDataObject.Prefab.GetChild("Eggs/HalfEgg8"),
gameDataObject.Prefab.GetChild("Eggs/HalfEgg9"),
gameDataObject.Prefab.GetChild("Eggs/HalfEgg10"),
};
objectsInfo.SetValue(objectsSplittableView, objects);
}
}
}
+32
View File
@@ -0,0 +1,32 @@
using System.Collections.Generic;
using Easter2025.Customs.Generics;
using Easter2025.Utilies;
using KitchenData;
using KitchenLib.Utils;
using UnityEngine;
namespace Easter2025.Customs.Items
{
public class RawHotCrossBun : GenericStackableItem
{
public override string UniqueNameID => "RawHotCrossBun";
public override GameObject Prefab => Mod.Bundle.LoadAsset<GameObject>("RawHotCrossBun").AssignMaterialsByNames();
public override Appliance DedicatedProvider => GDOReferences.HotCrossBunsProvider;
public override List<Item.ItemProcess> Processes => new()
{
new Item.ItemProcess
{
Process = GDOReferences.Chop,
Duration = 1,
Result = GDOReferences.CutRawHotCrossBun
},
new Item.ItemProcess
{
Process = GDOReferences.Cook,
Duration = 1,
Result = GDOReferences.CookedHotCrossBun
}
};
}
}
+12
View File
@@ -0,0 +1,12 @@
using Easter2025.Customs.Generics;
using KitchenLib.Utils;
using UnityEngine;
namespace Easter2025.Customs.Items
{
public class RedDeYolkedSlicedEgg : GenericStackableItem
{
public override string UniqueNameID => "RedDeYolkedSlicedEgg";
public override GameObject Prefab => Mod.Bundle.LoadAsset<GameObject>("RedDeYolkedSlicedEgg").AssignMaterialsByNames();
}
}
+24
View File
@@ -0,0 +1,24 @@
using Easter2025.Customs.Generics;
using Easter2025.Utilies;
using Kitchen;
using KitchenData;
using KitchenLib.Customs;
using KitchenLib.Utils;
using UnityEngine;
namespace Easter2025.Customs.Items
{
public class RedDye : GenericStackableItem
{
public override string UniqueNameID => "RedDye";
public override GameObject Prefab => Mod.Bundle.LoadAsset<GameObject>("RedDye").AssignMaterialsByNames();
public override Appliance DedicatedProvider => GDOReferences.DyeProvider;
public override string ColourBlindTag => "R";
public override void OnRegister(Item gameDataObject)
{
base.OnRegister(gameDataObject);
gameDataObject.Prefab.AddComponent<ColourBlindMode>().Element = gameDataObject.Prefab.GetChild("Circle");
}
}
}
+14
View File
@@ -0,0 +1,14 @@
using Easter2025.Customs.Generics;
using KitchenData;
using KitchenLib.Utils;
using UnityEngine;
namespace Easter2025.Customs.Items
{
public class RedEasterBread : GenericStackableItem
{
public override string UniqueNameID => "RedEasterBread";
public override GameObject Prefab => Mod.Bundle.LoadAsset<GameObject>("RedEasterBread").AssignMaterialsByNames();
public override ItemValue ItemValue => ItemValue.Small;
}
}
+13
View File
@@ -0,0 +1,13 @@
using Easter2025.Customs.Generics;
using KitchenLib.Customs;
using KitchenLib.Utils;
using UnityEngine;
namespace Easter2025.Customs.Items
{
public class RedShell : GenericStackableItem
{
public override string UniqueNameID => "RedShell";
public override GameObject Prefab => Mod.Bundle.LoadAsset<GameObject>("RedShell").AssignMaterialsByNames();
}
}
+18
View File
@@ -0,0 +1,18 @@
using System.Collections.Generic;
using Easter2025.Customs.Generics;
using Easter2025.Utilies;
using KitchenData;
using KitchenLib.Utils;
using UnityEngine;
namespace Easter2025.Customs.Items
{
public class RedSlicedEgg : GenericStackableItem
{
public override string UniqueNameID => "RedSlicedEgg";
public override GameObject Prefab => Mod.Bundle.LoadAsset<GameObject>("RedSlicedEgg").AssignMaterialsByNames();
public override int SplitCount => 1;
public override Item SplitSubItem => GDOReferences.EggYolk;
public override List<Item> SplitDepletedItems => new List<Item> { GDOReferences.RedDeYolkedSlicedEgg };
}
}
+18
View File
@@ -0,0 +1,18 @@
using System.Collections.Generic;
using Easter2025.Customs.Generics;
using Easter2025.Utilies;
using KitchenData;
using KitchenLib.Utils;
using UnityEngine;
namespace Easter2025.Customs.Items
{
public class SlicedEgg : GenericStackableItem
{
public override string UniqueNameID => "SlicedEgg";
public override GameObject Prefab => Mod.Bundle.LoadAsset<GameObject>("SlicedEgg").AssignMaterialsByNames();
public override int SplitCount => 1;
public override Item SplitSubItem => GDOReferences.EggYolk;
public override List<Item> SplitDepletedItems => new List<Item> { GDOReferences.DeYolkedSlicedEgg };
}
}
+13
View File
@@ -0,0 +1,13 @@
using Easter2025.Customs.Generics;
using KitchenLib.Utils;
using UnityEngine;
namespace Easter2025.Customs.Items
{
public class WrappedCremeEgg : GenericStackableItem
{
public override string UniqueNameID => "WrappedCremeEgg";
public override GameObject Prefab => Mod.Bundle.LoadAsset<GameObject>("WrappedCremeEgg").AssignMaterialsByNames();
public override string ColourBlindTag => "C";
}
}
+14
View File
@@ -0,0 +1,14 @@
using System.Collections.Generic;
using Easter2025.Customs.Generics;
using Easter2025.Utilies;
using KitchenData;
using KitchenLib.Utils;
using UnityEngine;
namespace Easter2025.Customs.Items
{
public class Wrapper : GenericStackableItem
{
public override string UniqueNameID => "Wrapper";
}
}
+20
View File
@@ -0,0 +1,20 @@
using System.Collections.Generic;
using Easter2025.Customs.Generics;
using Easter2025.Utilies;
using KitchenData;
using KitchenLib.Utils;
using UnityEngine;
namespace Easter2025.Customs.Items
{
public class WrapperRoll : GenericStackableItem
{
public override string UniqueNameID => "WrapperRoll";
public override GameObject Prefab => Mod.Bundle.LoadAsset<GameObject>("WrapperRoll").AssignMaterialsByNames();
public override int SplitCount => 999;
public override bool AllowSplitMerging => true;
public override bool PreventExplicitSplit => true;
public override Item SplitSubItem => GDOReferences.Wrapper;
public override Appliance DedicatedProvider => GDOReferences.WrapperProvider;
}
}
+22
View File
@@ -0,0 +1,22 @@
using System.Collections.Generic;
using Easter2025.Components;
using Easter2025.Customs.Generics;
using KitchenData;
using KitchenLib.Utils;
using UnityEngine;
namespace Easter2025.Customs.Items
{
public class YellowPlasticEgg : GenericStackableItem
{
public override string UniqueNameID => "YellowPlasticEgg";
public override GameObject Prefab => Mod.Bundle.LoadAsset<GameObject>("YellowPlasticEgg").AssignMaterialsByNames();
public override string ColourBlindTag => "Y";
public override ItemValue ItemValue => ItemValue.SideSmall;
public override List<IItemProperty> Properties => new List<IItemProperty>
{
new CHidableItem(),
new CEggBasket.CanPlaceInBasket()
};
}
}