Please disclose if your mod was created primarily using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
Decompiled source of Bukov server v0.4.0
plugins/Oryxen.Valheim.UI.DisplayDayTime.dll
Decompiled 2 years agousing System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Runtime.Versioning; using BepInEx; using BepInEx.Configuration; using HarmonyLib; using UnityEngine; using UnityEngine.UI; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)] [assembly: AssemblyTitle("Display Day & Time in HUD")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("Oryxen")] [assembly: AssemblyProduct("Valheim")] [assembly: AssemblyCopyright("Copyright © 2021")] [assembly: AssemblyTrademark("")] [assembly: ComVisible(false)] [assembly: Guid("e12e7c61-76d0-4cf3-8bb3-7e8abb19d120")] [assembly: AssemblyFileVersion("1.1.2.0")] [assembly: TargetFramework(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")] [assembly: AssemblyVersion("1.1.2.0")] namespace Oryxen.Valheim.UI.DisplayDayTime { [BepInPlugin("oryxen.valheim.ui.displaydaytime", "Display Day & Time in HUD", "1.1.2")] [BepInProcess("valheim.exe")] public class DisplayDayTimePlugin : BaseUnityPlugin { public const string ID = "oryxen.valheim.ui.displaydaytime"; private static ConfigEntry<bool> _displayUnderMiniMap; private static ConfigEntry<bool> _displayDay; private static ConfigEntry<bool> _displayTime; private static ConfigEntry<bool> _displayBackground; private static ConfigEntry<bool> _twentyFourHourClock; private static ConfigEntry<int> _fontSize; private static ConfigEntry<string> _fontName; private static ConfigEntry<Color> _fontColor; private static ConfigEntry<bool> _textOutlineEnabled; private static ConfigEntry<Color> _textOutlineColor; private static ConfigEntry<Color> _backgroundColor; private static ConfigEntry<float> _marginBetweenMiniMap; private static ConfigEntry<float> _padding; private static ConfigEntry<bool> _reverseTextPositions; private static ConfigEntry<float> _panelWidth; private static ConfigEntry<float> _panelHeight; private const string DEFAULT_FONT = "AveriaSansLibre-Bold"; private static GameObject _panel; private static Text _dayText; private static Text _timeText; private Harmony _harmony; private void Awake() { //IL_0109: Unknown result type (might be due to invalid IL or missing references) //IL_014d: Unknown result type (might be due to invalid IL or missing references) //IL_0185: Unknown result type (might be due to invalid IL or missing references) _displayUnderMiniMap = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "Display under minimap", false, "Display under minimap"); _displayDay = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "Display day", true, "Display day"); _displayTime = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "Display time", true, "Display time"); _displayBackground = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "Display background", true, "Display background"); _twentyFourHourClock = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "24-hour clock", true, "24-hour clock"); _fontSize = ((BaseUnityPlugin)this).Config.Bind<int>("General", "Font size", 16, "Font size"); _fontName = ((BaseUnityPlugin)this).Config.Bind<string>("General", "Font name", "AveriaSansLibre-Bold", "Font name"); _fontColor = ((BaseUnityPlugin)this).Config.Bind<Color>("General", "Font color", new Color(1f, 1f, 1f, 0.791f), "Font color"); _textOutlineEnabled = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "Text outline enabled", true, "Text outline enabled"); _textOutlineColor = ((BaseUnityPlugin)this).Config.Bind<Color>("General", "Text outline color", Color.black, "Text outline color"); _backgroundColor = ((BaseUnityPlugin)this).Config.Bind<Color>("General", "Background color", new Color(0f, 0f, 0f, 0.3921569f), "Background color"); _marginBetweenMiniMap = ((BaseUnityPlugin)this).Config.Bind<float>("General", "Margin between minimap and this panel", 0f, "Margin between minimap and this panel"); _padding = ((BaseUnityPlugin)this).Config.Bind<float>("General", "Padding left and right", 10f, "Padding left and right from text."); _reverseTextPositions = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "Reverse text positions", false, "If set to 'true', time will display to the left and day will display to the right."); _panelWidth = ((BaseUnityPlugin)this).Config.Bind<float>("General", "Panel width", 200f, "Panel width"); _panelHeight = ((BaseUnityPlugin)this).Config.Bind<float>("General", "Panel height", 30f, "Panel height"); _harmony = Harmony.CreateAndPatchAll(Assembly.GetExecutingAssembly(), "oryxen.valheim.ui.displaydaytime"); } private void OnDestroy() { if (Object.op_Implicit((Object)(object)Hud.instance) && (Object)(object)_panel != (Object)null) { Log("Destroying panel..."); Object.Destroy((Object)(object)_panel); Log("Panel destroyed!"); } Harmony harmony = _harmony; if (harmony != null) { harmony.UnpatchAll("oryxen.valheim.ui.displaydaytime"); } } private void Update() { //IL_008e: Unknown result type (might be due to invalid IL or missing references) //IL_00ac: Unknown result type (might be due to invalid IL or missing references) //IL_00d5: Unknown result type (might be due to invalid IL or missing references) if (Object.op_Implicit((Object)(object)Player.m_localPlayer) && Object.op_Implicit((Object)(object)Hud.instance) && Traverse.Create((object)Hud.instance).Method("IsVisible", Array.Empty<object>()).GetValue<bool>()) { if ((Object)(object)_panel == (Object)null) { CreatePanel(Hud.instance); } RectTransform component = _panel.GetComponent<RectTransform>(); component.anchoredPosition = new Vector2(-140f, _displayUnderMiniMap.Value ? (-255f - _marginBetweenMiniMap.Value) : (-25f + _marginBetweenMiniMap.Value)); component.sizeDelta = new Vector2(_panelWidth.Value, _panelHeight.Value); Image component2 = _panel.GetComponent<Image>(); ((Behaviour)component2).enabled = _displayBackground.Value; ((Graphic)component2).color = _backgroundColor.Value; ((Behaviour)_dayText).enabled = _displayDay.Value; ((Behaviour)_timeText).enabled = _displayTime.Value; if (_displayDay.Value) { UpdateDay(); } if (_displayTime.Value) { UpdateTime(); } } } public static void CreatePanel(Hud hudInstance) { //IL_000f: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Expected O, but got Unknown //IL_004f: Unknown result type (might be due to invalid IL or missing references) //IL_0064: Unknown result type (might be due to invalid IL or missing references) //IL_00a2: Unknown result type (might be due to invalid IL or missing references) //IL_00c0: Unknown result type (might be due to invalid IL or missing references) //IL_0114: Unknown result type (might be due to invalid IL or missing references) Log("Creating panel..."); _panel = new GameObject("DayTimePanel") { layer = 5 }; _panel.transform.SetParent(hudInstance.m_rootObject.transform); RectTransform obj = _panel.AddComponent<RectTransform>(); obj.anchorMin = new Vector2(1f, 1f); obj.anchorMax = new Vector2(1f, 1f); obj.anchoredPosition = new Vector2(-140f, _displayUnderMiniMap.Value ? (-255f - _marginBetweenMiniMap.Value) : (-25f + _marginBetweenMiniMap.Value)); obj.sizeDelta = new Vector2(_panelWidth.Value, _panelHeight.Value); Sprite sprite = ((IEnumerable<Sprite>)Resources.FindObjectsOfTypeAll<Sprite>()).FirstOrDefault((Func<Sprite, bool>)((Sprite s) => ((Object)s).name == "InputFieldBackground")); Image obj2 = _panel.AddComponent<Image>(); ((Behaviour)obj2).enabled = _displayBackground.Value; ((Graphic)obj2).color = _backgroundColor.Value; obj2.sprite = sprite; obj2.type = (Type)1; Log("Panel created!"); CreateDay(); CreateTime(); } private static void CreateDay() { //IL_000f: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_0030: Unknown result type (might be due to invalid IL or missing references) //IL_0081: Unknown result type (might be due to invalid IL or missing references) //IL_00a5: Unknown result type (might be due to invalid IL or missing references) //IL_00af: Unknown result type (might be due to invalid IL or missing references) //IL_00c4: Unknown result type (might be due to invalid IL or missing references) //IL_012a: Unknown result type (might be due to invalid IL or missing references) //IL_013f: Unknown result type (might be due to invalid IL or missing references) Log("Creating day text..."); GameObject val = new GameObject("Day") { layer = 5 }; val.transform.SetParent(_panel.transform); RectTransform obj = val.AddComponent<RectTransform>(); obj.anchoredPosition = new Vector2(_reverseTextPositions.Value ? (_panelWidth.Value / 4f - _padding.Value) : (0f - _panelWidth.Value / 4f + _padding.Value), 0f); obj.sizeDelta = new Vector2(_panelWidth.Value / 2f, _panelHeight.Value); _dayText = val.AddComponent<Text>(); ((Graphic)_dayText).color = _fontColor.Value; _dayText.font = GetFont(); _dayText.fontSize = _fontSize.Value; ((Behaviour)_dayText).enabled = _displayDay.Value; _dayText.alignment = (TextAnchor)(_reverseTextPositions.Value ? 5 : 3); Outline obj2 = val.AddComponent<Outline>(); ((Shadow)obj2).effectColor = _textOutlineColor.Value; ((Shadow)obj2).effectDistance = new Vector2(1f, -1f); ((Shadow)obj2).useGraphicAlpha = true; ((MonoBehaviour)obj2).useGUILayout = true; ((Behaviour)obj2).enabled = _textOutlineEnabled.Value; Log("Day created!"); } private static void CreateTime() { //IL_000f: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_0030: Unknown result type (might be due to invalid IL or missing references) //IL_0081: Unknown result type (might be due to invalid IL or missing references) //IL_00a5: Unknown result type (might be due to invalid IL or missing references) //IL_00af: Unknown result type (might be due to invalid IL or missing references) //IL_00c4: Unknown result type (might be due to invalid IL or missing references) //IL_012a: Unknown result type (might be due to invalid IL or missing references) //IL_013f: Unknown result type (might be due to invalid IL or missing references) Log("Creating time text..."); GameObject val = new GameObject("Time") { layer = 5 }; val.transform.SetParent(_panel.transform); RectTransform obj = val.AddComponent<RectTransform>(); obj.anchoredPosition = new Vector2(_reverseTextPositions.Value ? (0f - _panelWidth.Value / 4f + _padding.Value) : (_panelWidth.Value / 4f - _padding.Value), 0f); obj.sizeDelta = new Vector2(_panelWidth.Value / 2f, _panelHeight.Value); _timeText = val.AddComponent<Text>(); ((Graphic)_timeText).color = _fontColor.Value; _timeText.font = GetFont(); _timeText.fontSize = _fontSize.Value; ((Behaviour)_timeText).enabled = _displayTime.Value; _timeText.alignment = (TextAnchor)(_reverseTextPositions.Value ? 3 : 5); Outline obj2 = val.AddComponent<Outline>(); ((Shadow)obj2).effectColor = _textOutlineColor.Value; ((Shadow)obj2).effectDistance = new Vector2(1f, -1f); ((Shadow)obj2).useGraphicAlpha = true; ((MonoBehaviour)obj2).useGUILayout = true; ((Behaviour)obj2).enabled = _textOutlineEnabled.Value; Log("Time created!"); } private void UpdateDay() { //IL_0084: Unknown result type (might be due to invalid IL or missing references) //IL_00a8: Unknown result type (might be due to invalid IL or missing references) //IL_00d6: Unknown result type (might be due to invalid IL or missing references) //IL_0123: Unknown result type (might be due to invalid IL or missing references) if (((Object)_dayText.font).name != _fontName.Value) { _dayText.font = GetFont(); } RectTransform component = ((Component)_dayText).GetComponent<RectTransform>(); component.anchoredPosition = new Vector2(_reverseTextPositions.Value ? (_panelWidth.Value / 4f - _padding.Value) : (0f - _panelWidth.Value / 4f + _padding.Value), 0f); component.sizeDelta = new Vector2(_panelWidth.Value / 2f, _panelHeight.Value); _dayText.alignment = (TextAnchor)(_reverseTextPositions.Value ? 5 : 3); ((Graphic)_dayText).color = _fontColor.Value; _dayText.fontSize = _fontSize.Value; _dayText.text = GetCurrentDayText(); Outline component2 = ((Component)_dayText).GetComponent<Outline>(); ((Behaviour)component2).enabled = _textOutlineEnabled.Value; ((Shadow)component2).effectColor = _textOutlineColor.Value; } private void UpdateTime() { //IL_0084: Unknown result type (might be due to invalid IL or missing references) //IL_00a8: Unknown result type (might be due to invalid IL or missing references) //IL_00d6: Unknown result type (might be due to invalid IL or missing references) //IL_0123: Unknown result type (might be due to invalid IL or missing references) if (((Object)_timeText.font).name != _fontName.Value) { _timeText.font = GetFont(); } RectTransform component = ((Component)_timeText).GetComponent<RectTransform>(); component.anchoredPosition = new Vector2(_reverseTextPositions.Value ? (0f - _panelWidth.Value / 4f + _padding.Value) : (_panelWidth.Value / 4f - _padding.Value), 0f); component.sizeDelta = new Vector2(_panelWidth.Value / 2f, _panelHeight.Value); _timeText.alignment = (TextAnchor)(_reverseTextPositions.Value ? 3 : 5); ((Graphic)_timeText).color = _fontColor.Value; _timeText.fontSize = _fontSize.Value; _timeText.text = GetCurrentTimeText(); Outline component2 = ((Component)_timeText).GetComponent<Outline>(); ((Behaviour)component2).enabled = _textOutlineEnabled.Value; ((Shadow)component2).effectColor = _textOutlineColor.Value; } private string GetCurrentDayText() { if (!Object.op_Implicit((Object)(object)EnvMan.instance) || Localization.instance == null) { return null; } int num = (int)typeof(EnvMan).GetMethod("GetCurrentDay", BindingFlags.Instance | BindingFlags.NonPublic).Invoke(EnvMan.instance, null); return Localization.instance.Localize("$msg_newday", new string[1] { num.ToString() }); } private string GetCurrentTimeText() { if (!Object.op_Implicit((Object)(object)EnvMan.instance)) { return null; } float num = (float)typeof(EnvMan).GetField("m_smoothDayFraction", BindingFlags.Instance | BindingFlags.NonPublic).GetValue(EnvMan.instance); int num2 = (int)(num * 24f); int num3 = (int)((num * 24f - (float)num2) * 60f); int second = (int)(((num * 24f - (float)num2) * 60f - (float)num3) * 60f); DateTime dateTime = new DateTime(DateTime.Today.Year, DateTime.Today.Month, DateTime.Today.Day, num2, num3, second); return dateTime.ToString(_twentyFourHourClock.Value ? "HH:mm" : "hh:mm tt"); } public static Font GetFont() { Font[] source = Resources.FindObjectsOfTypeAll<Font>(); Font val = ((IEnumerable<Font>)source).FirstOrDefault((Func<Font, bool>)((Font f) => ((Object)f).name == _fontName.Value)); if ((Object)(object)val == (Object)null) { return ((IEnumerable<Font>)source).FirstOrDefault((Func<Font, bool>)((Font f) => ((Object)f).name == "AveriaSansLibre-Bold")); } return val; } public static void Log(string message) { Debug.Log((object)("oryxen.valheim.ui.displaydaytime: " + message)); } } } namespace Oryxen.Valheim.UI.DisplayDayTime.GamePatches { [HarmonyPatch(typeof(Hud), "Awake")] public static class Hud_Awake_Patch { public static void Postfix(Hud __instance) { DisplayDayTimePlugin.CreatePanel(__instance); } } }
plugins/SmartEquip.dll
Decompiled 2 years agousing System.Collections.Generic; using System.Diagnostics; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Runtime.Versioning; using System.Security.Permissions; using BepInEx; using BepInEx.Configuration; using HarmonyLib; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: AssemblyTitle("SmartEquip")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("SmartEquip")] [assembly: AssemblyCopyright("Copyright © 2021")] [assembly: AssemblyTrademark("")] [assembly: ComVisible(false)] [assembly: Guid("e3243d22-4307-4008-ba36-9f326008cde5")] [assembly: AssemblyFileVersion("0.0.1.0")] [assembly: TargetFramework(".NETFramework,Version=v4.6.2", FrameworkDisplayName = ".NET Framework 4.6.2")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("0.0.1.0")] namespace SmartEquip; [BepInPlugin("com.kpro.SmartEquip", "SmartEquip", "0.0.1")] internal class SmartEquip : BaseUnityPlugin { [HarmonyPatch(typeof(Player))] [HarmonyPatch("UseHotbarItem")] public class UseHotbarItem_Patch { private static bool Prefix(Player __instance, int index) { //IL_0060: Unknown result type (might be due to invalid IL or missing references) //IL_0066: Invalid comparison between Unknown and I4 List<ItemData> list = new List<ItemData>(); ItemData itemAt = ((Humanoid)__instance).m_inventory.GetItemAt(index - 1, 0); if (!itemAt.IsWeapon()) { return true; } if (!((Humanoid)__instance).IsItemEquiped(itemAt)) { if (EnableAutoShieldEquip.Value) { ((Humanoid)__instance).m_inventory.GetAllItems((ItemType)5, list); if ((int)itemAt.m_shared.m_itemType == 3 && list.Count > 0) { ((Humanoid)__instance).EquipItem(list[0], true); } } return true; } return EnableHotBarWeaponUnequip.Value; } } public const string PluginGUID = "com.kpro.SmartEquip"; public const string PluginName = "SmartEquip"; public const string PluginVersion = "0.0.1"; private readonly Harmony harmony = new Harmony("com.kpro.smartequip"); public static ConfigEntry<bool> EnableHotBarWeaponUnequip; public static ConfigEntry<bool> EnableAutoShieldEquip; private void CreateConfigValues() { ((BaseUnityPlugin)this).Config.SaveOnConfigSet = true; EnableHotBarWeaponUnequip = ((BaseUnityPlugin)this).Config.Bind<bool>("Config", "Hotbar Unequip", false, "Enabling restores vanilla behavior"); EnableAutoShieldEquip = ((BaseUnityPlugin)this).Config.Bind<bool>("Config", "Auto Shield", false, "Enabling will auto equip shield with one-handed weapon"); } private void Awake() { harmony.PatchAll(); CreateConfigValues(); } }