using System;
using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Runtime.Versioning;
using BepInEx;
using BepInEx.Configuration;
using HarmonyLib;
using JetBrains.Annotations;
[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: AssemblyTitle("DSP_MiningSpeedMod")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("DSP_MiningSpeedMod")]
[assembly: AssemblyCopyright("Copyright © 2026")]
[assembly: AssemblyTrademark("")]
[assembly: ComVisible(false)]
[assembly: Guid("D4E555CA-168C-463C-9D66-0AAC39813E4E")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: TargetFramework(".NETFramework,Version=v4.7.1", FrameworkDisplayName = ".NET Framework 4.7.1")]
[assembly: AssemblyVersion("1.0.0.0")]
namespace DSP_MiningSpeedMod;
[BepInPlugin("MiningSpeedMod", "MiningSpeedMod", "0.0.1")]
public class MiningSpeedMod : BaseUnityPlugin
{
private const string PluginGuid = "MiningSpeedMod";
private const string PluginName = "MiningSpeedMod";
private const string PluginVersion = "0.0.1";
private const string PluginText = "Mining Speed Max Value";
public static ConfigEntry<float> MiningSpeedMaxValue;
private void Awake()
{
//IL_0024: Unknown result type (might be due to invalid IL or missing references)
//IL_002a: Expected O, but got Unknown
((BaseUnityPlugin)this).Logger.LogInfo((object)"Plugin 'MiningSpeedMod'-'0.0.1' is loaded!");
InitConfig(((BaseUnityPlugin)this).Config);
Harmony val = new Harmony("MiningSpeedMod");
val.PatchAll();
}
private void InitConfig(ConfigFile config)
{
//IL_002a: Unknown result type (might be due to invalid IL or missing references)
//IL_0034: Expected O, but got Unknown
MiningSpeedMaxValue = config.Bind<float>("1. Mining Speed Max Value", "MiningSpeedMaxValue", 1f, new ConfigDescription("Mining Speed Max Value", (AcceptableValueBase)(object)new AcceptableValueRange<float>(float.MinValue, float.MaxValue), Array.Empty<object>()));
MiningSpeedPatch.ModMiningSpeedMaxValue = MiningSpeedMaxValue.Value;
}
}
[HarmonyPatch(typeof(MinerComponent))]
[HarmonyPatch("InternalUpdate")]
public static class MiningSpeedPatch
{
public static float ModMiningSpeedMaxValue;
[UsedImplicitly]
public static bool Prefix(ref float miningSpeed)
{
float modMiningSpeedMaxValue = ModMiningSpeedMaxValue;
if (miningSpeed > modMiningSpeedMaxValue)
{
miningSpeed = modMiningSpeedMaxValue;
}
return true;
}
}