Some mods target the Mono version of the game, which is available by opting into the Steam beta branch "alternate"
Decompiled source of InstantDeliveries v1.9.6
InstantDeliveryMod.dll
Decompiled 10 months agousing System; using System.Diagnostics; using System.IO; using System.Linq; using System.Reflection; using System.Resources; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using HarmonyLib; using Il2CppFishNet.Connection; using Il2CppScheduleOne.Delivery; using InstantDeliveryMod; using MelonLoader; using MelonLoader.Utils; using Microsoft.CodeAnalysis; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)] [assembly: MelonInfo(typeof(InstantDelivery), "InstantDeliveryMod", "1.9.6", "wall-E", null)] [assembly: MelonGame("TVGS", "Schedule I")] [assembly: TargetFramework(".NETCoreApp,Version=v6.0", FrameworkDisplayName = ".NET 6.0")] [assembly: AssemblyCompany("InstantDeliveryMod")] [assembly: AssemblyConfiguration("Release")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0")] [assembly: AssemblyProduct("InstantDeliveryMod")] [assembly: AssemblyTitle("InstantDeliveryMod")] [assembly: NeutralResourcesLanguage("en-US")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] [module: RefSafetyRules(11)] namespace Microsoft.CodeAnalysis { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] internal sealed class EmbeddedAttribute : Attribute { } } namespace System.Runtime.CompilerServices { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)] internal sealed class RefSafetyRulesAttribute : Attribute { public readonly int Version; public RefSafetyRulesAttribute(int P_0) { Version = P_0; } } } namespace InstantDeliveryMod { public class InstantDelivery : MelonMod { private static string configPath = Path.Combine(MelonEnvironment.UserDataDirectory, "InstantDeliveryMod.cfg"); public static bool instantVanArrivalEnabled = true; public static bool immersiveDeliveries = false; public override void OnInitializeMelon() { if (MelonTypeBase<MelonMod>.RegisteredMelons.Any((MelonMod mod) => ((MelonBase)mod).Info.Name == "IncreasedStackLimit")) { MelonLogger.Error("Instant Deliveries is incompatible with the [IncreasedStackLimit] for now... issues may occur while using both mods!"); } MelonLogger.Msg("InstantDeliveryMod Loaded! :P"); LoadConfig(); } private void LoadConfig() { if (File.Exists(configPath)) { string[] array = File.ReadAllLines(configPath); foreach (string text in array) { if (text.StartsWith("InstantVanArrival=")) { instantVanArrivalEnabled = !bool.TryParse(text.Split('=')[1].Trim(), out var result) || result; } else if (text.StartsWith("ImmersiveDeliveries=")) { immersiveDeliveries = bool.TryParse(text.Split('=')[1].Trim(), out var result2) && result2; } } } else { SaveConfig(); } MelonLogger.Msg($"Config Loaded - Instant Van Arrival: {instantVanArrivalEnabled}, Immersive Deliveries: {immersiveDeliveries}"); } private static void SaveConfig() { File.WriteAllText(configPath, $"InstantVanArrival={instantVanArrivalEnabled}\nImmersiveDeliveries={immersiveDeliveries}"); MelonLogger.Msg("Config file created."); } } [HarmonyPatch(typeof(DeliveryManager), "ReceiveDelivery")] public class Patch_ReceiveDelivery { private static void Prefix(NetworkConnection conn, ref DeliveryInstance delivery) { if (delivery != null) { if (InstantDelivery.immersiveDeliveries) { delivery.TimeUntilArrival = GetRandomDeliveryTime(); MelonLogger.Msg($"Immersive delivery time set to {delivery.TimeUntilArrival} seconds for delivery ID: {delivery.DeliveryID}"); } else if (InstantDelivery.instantVanArrivalEnabled) { delivery.TimeUntilArrival = 1; MelonLogger.Msg("Instant delivery set to 1 second for delivery ID: " + delivery.DeliveryID); } } } private static int GetRandomDeliveryTime() { return new Random().Next(30, 121); } } }