diff --git a/src/SMAPI/Framework/Patching/GamePatcher.cs b/src/SMAPI/Framework/Patching/GamePatcher.cs
index f82159d0..cdb54453 100644
--- a/src/SMAPI/Framework/Patching/GamePatcher.cs
+++ b/src/SMAPI/Framework/Patching/GamePatcher.cs
@@ -1,5 +1,5 @@
using System;
-using Harmony;
+using HarmonyLib;
namespace StardewModdingAPI.Framework.Patching
{
@@ -27,7 +27,7 @@ namespace StardewModdingAPI.Framework.Patching
/// The patches to apply.
public void Apply(params IHarmonyPatch[] patches)
{
- HarmonyInstance harmony = HarmonyInstance.Create("io.smapi");
+ Harmony harmony = new Harmony("io.smapi");
foreach (IHarmonyPatch patch in patches)
{
try
diff --git a/src/SMAPI/Framework/Patching/IHarmonyPatch.cs b/src/SMAPI/Framework/Patching/IHarmonyPatch.cs
index cb42f40e..7d5eb3d4 100644
--- a/src/SMAPI/Framework/Patching/IHarmonyPatch.cs
+++ b/src/SMAPI/Framework/Patching/IHarmonyPatch.cs
@@ -1,4 +1,4 @@
-using Harmony;
+using HarmonyLib;
namespace StardewModdingAPI.Framework.Patching
{
@@ -10,6 +10,6 @@ namespace StardewModdingAPI.Framework.Patching
/// Apply the Harmony patch.
/// The Harmony instance.
- void Apply(HarmonyInstance harmony);
+ void Apply(Harmony harmony);
}
}
diff --git a/src/SMAPI/Framework/PerformanceMonitoring/PerformanceCounter.cs b/src/SMAPI/Framework/PerformanceMonitoring/PerformanceCounter.cs
index 3cf668ee..42825999 100644
--- a/src/SMAPI/Framework/PerformanceMonitoring/PerformanceCounter.cs
+++ b/src/SMAPI/Framework/PerformanceMonitoring/PerformanceCounter.cs
@@ -1,7 +1,6 @@
using System;
using System.Collections.Generic;
using System.Linq;
-using Harmony;
namespace StardewModdingAPI.Framework.PerformanceMonitoring
{
@@ -57,7 +56,7 @@ namespace StardewModdingAPI.Framework.PerformanceMonitoring
// add entry
if (this.Entries.Count > this.MaxEntries)
this.Entries.Pop();
- this.Entries.Add(entry);
+ this.Entries.Push(entry);
// update metrics
if (this.PeakPerformanceCounterEntry == null || entry.ElapsedMilliseconds > this.PeakPerformanceCounterEntry.Value.ElapsedMilliseconds)
diff --git a/src/SMAPI/Patches/DialogueErrorPatch.cs b/src/SMAPI/Patches/DialogueErrorPatch.cs
index 1e49826d..80029540 100644
--- a/src/SMAPI/Patches/DialogueErrorPatch.cs
+++ b/src/SMAPI/Patches/DialogueErrorPatch.cs
@@ -2,7 +2,7 @@ using System;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using System.Reflection;
-using Harmony;
+using HarmonyLib;
using StardewModdingAPI.Framework.Patching;
using StardewModdingAPI.Framework.Reflection;
using StardewValley;
@@ -47,7 +47,7 @@ namespace StardewModdingAPI.Patches
/// Apply the Harmony patch.
/// The Harmony instance.
- public void Apply(HarmonyInstance harmony)
+ public void Apply(Harmony harmony)
{
harmony.Patch(
original: AccessTools.Constructor(typeof(Dialogue), new[] { typeof(string), typeof(NPC) }),
diff --git a/src/SMAPI/Patches/EventErrorPatch.cs b/src/SMAPI/Patches/EventErrorPatch.cs
index 504d1d2e..a2b94e8b 100644
--- a/src/SMAPI/Patches/EventErrorPatch.cs
+++ b/src/SMAPI/Patches/EventErrorPatch.cs
@@ -1,6 +1,6 @@
using System.Diagnostics.CodeAnalysis;
using System.Reflection;
-using Harmony;
+using HarmonyLib;
using StardewModdingAPI.Framework.Patching;
using StardewValley;
@@ -38,7 +38,7 @@ namespace StardewModdingAPI.Patches
/// Apply the Harmony patch.
/// The Harmony instance.
- public void Apply(HarmonyInstance harmony)
+ public void Apply(Harmony harmony)
{
harmony.Patch(
original: AccessTools.Method(typeof(GameLocation), "checkEventPrecondition"),
diff --git a/src/SMAPI/Patches/LoadContextPatch.cs b/src/SMAPI/Patches/LoadContextPatch.cs
index 0cc8c8eb..9c707676 100644
--- a/src/SMAPI/Patches/LoadContextPatch.cs
+++ b/src/SMAPI/Patches/LoadContextPatch.cs
@@ -1,6 +1,6 @@
using System;
using System.Diagnostics.CodeAnalysis;
-using Harmony;
+using HarmonyLib;
using StardewModdingAPI.Enums;
using StardewModdingAPI.Framework.Patching;
using StardewModdingAPI.Framework.Reflection;
@@ -47,7 +47,7 @@ namespace StardewModdingAPI.Patches
/// Apply the Harmony patch.
/// The Harmony instance.
- public void Apply(HarmonyInstance harmony)
+ public void Apply(Harmony harmony)
{
// detect CreatedBasicInfo
harmony.Patch(
diff --git a/src/SMAPI/Patches/LoadErrorPatch.cs b/src/SMAPI/Patches/LoadErrorPatch.cs
index 77415ff2..f8ad6693 100644
--- a/src/SMAPI/Patches/LoadErrorPatch.cs
+++ b/src/SMAPI/Patches/LoadErrorPatch.cs
@@ -2,7 +2,7 @@ using System;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using System.Linq;
-using Harmony;
+using HarmonyLib;
using StardewModdingAPI.Framework.Exceptions;
using StardewModdingAPI.Framework.Patching;
using StardewValley;
@@ -49,7 +49,7 @@ namespace StardewModdingAPI.Patches
/// Apply the Harmony patch.
/// The Harmony instance.
- public void Apply(HarmonyInstance harmony)
+ public void Apply(Harmony harmony)
{
harmony.Patch(
original: AccessTools.Method(typeof(SaveGame), nameof(SaveGame.loadDataToLocations)),
diff --git a/src/SMAPI/Patches/ObjectErrorPatch.cs b/src/SMAPI/Patches/ObjectErrorPatch.cs
index d3b8800a..b9655043 100644
--- a/src/SMAPI/Patches/ObjectErrorPatch.cs
+++ b/src/SMAPI/Patches/ObjectErrorPatch.cs
@@ -1,7 +1,7 @@
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using System.Reflection;
-using Harmony;
+using HarmonyLib;
using StardewModdingAPI.Framework.Patching;
using StardewValley;
using StardewValley.Menus;
@@ -27,7 +27,7 @@ namespace StardewModdingAPI.Patches
*********/
/// Apply the Harmony patch.
/// The Harmony instance.
- public void Apply(HarmonyInstance harmony)
+ public void Apply(Harmony harmony)
{
// object.getDescription
harmony.Patch(
diff --git a/src/SMAPI/Patches/ScheduleErrorPatch.cs b/src/SMAPI/Patches/ScheduleErrorPatch.cs
index 799fcb40..386230a6 100644
--- a/src/SMAPI/Patches/ScheduleErrorPatch.cs
+++ b/src/SMAPI/Patches/ScheduleErrorPatch.cs
@@ -1,7 +1,7 @@
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using System.Reflection;
-using Harmony;
+using HarmonyLib;
using StardewModdingAPI.Framework.Patching;
using StardewValley;
@@ -39,7 +39,7 @@ namespace StardewModdingAPI.Patches
/// Apply the Harmony patch.
/// The Harmony instance.
- public void Apply(HarmonyInstance harmony)
+ public void Apply(Harmony harmony)
{
harmony.Patch(
original: AccessTools.Method(typeof(NPC), "parseMasterSchedule"),
diff --git a/src/SMAPI/SMAPI.csproj b/src/SMAPI/SMAPI.csproj
index 5f41387b..1755b9e7 100644
--- a/src/SMAPI/SMAPI.csproj
+++ b/src/SMAPI/SMAPI.csproj
@@ -16,7 +16,7 @@
-
+