(1.5.7) AutoDoor Ignore List
This commit is contained in:
@@ -25,7 +25,7 @@ public class MxValheimMod : BaseUnityPlugin
|
||||
|
||||
private const string ModGUID = "ovh.mxdev.mxvalheim";
|
||||
private const string ModName = "MxValheim";
|
||||
public const string ModVersion = "1.5.6";
|
||||
public const string ModVersion = "1.5.7";
|
||||
|
||||
public static ConfigEntry<bool> Config_Locked;
|
||||
public static ConfigEntry<int> Config_OreMultiplier;
|
||||
@@ -38,7 +38,8 @@ public class MxValheimMod : BaseUnityPlugin
|
||||
|
||||
public static string modPath = Path.Combine(Paths.PluginPath, "MxValheim");
|
||||
public static string internalConfigsPath = Path.Combine(modPath, "Configs");
|
||||
private static string WeightConfigPath => Path.Combine(internalConfigsPath, "items_weight.json");
|
||||
public static string WeightConfigPath => Path.Combine(internalConfigsPath, "items_weight.json");
|
||||
public static string AutoDoorConfigPath => Path.Combine(internalConfigsPath, "auto_doors.json");
|
||||
public static Dictionary<string, float> WeightSettings = new Dictionary<string, float>();
|
||||
|
||||
// Data structures
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
using BepInEx;
|
||||
using HarmonyLib;
|
||||
using Newtonsoft.Json;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using UnityEngine;
|
||||
using UnityEngine.Diagnostics;
|
||||
using static MxValheimMod;
|
||||
@@ -9,6 +12,11 @@ namespace MxValheim.Patch
|
||||
{
|
||||
public class Doors_Patch
|
||||
{
|
||||
public class DoorRoot
|
||||
{
|
||||
public List<string> ignoreList { get; set; }
|
||||
}
|
||||
|
||||
[HarmonyPatch(typeof(Door), nameof(Door.Interact))]
|
||||
public static class DoorTracker
|
||||
{
|
||||
@@ -21,14 +29,15 @@ namespace MxValheim.Patch
|
||||
int prefabHash = nview.GetZDO().GetPrefab();
|
||||
string prefabName = ZNetScene.instance.GetPrefab(prefabHash).name;
|
||||
|
||||
if (prefabName == "piece_crypt_door") return;
|
||||
DoorRoot iL = JsonConvert.DeserializeObject<DoorRoot>(File.ReadAllText(MxValheimMod.AutoDoorConfigPath));
|
||||
if (iL.ignoreList.Contains(prefabName)) return;
|
||||
|
||||
if (hold || alt || ___m_nview == null || !___m_nview.IsValid()) return;
|
||||
|
||||
// Get state: 0 is closed
|
||||
int state = ___m_nview.GetZDO().GetInt("state");
|
||||
|
||||
if (state == 0) return;
|
||||
if (state == 0) return;
|
||||
|
||||
lock (_doorQueueNview)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user