diff --git a/GatheringPathRenderer/EditorCommands.cs b/GatheringPathRenderer/EditorCommands.cs index 2e9edad5..ae0247ae 100644 --- a/GatheringPathRenderer/EditorCommands.cs +++ b/GatheringPathRenderer/EditorCommands.cs @@ -3,16 +3,12 @@ using System.Collections.Generic; using System.IO; using System.Linq; using System.Numerics; -using System.Text.Json; -using System.Text.Json.Nodes; -using System.Text.Json.Serialization; -using System.Text.Json.Serialization.Metadata; using Dalamud.Game.ClientState.Objects; using Dalamud.Game.ClientState.Objects.Enums; using Dalamud.Game.ClientState.Objects.Types; using Dalamud.Game.Command; using Dalamud.Plugin.Services; -using Lumina.Excel.GeneratedSheets; +using Lumina.Excel.Sheets; using Questionable.Model; using Questionable.Model.Gathering; using Questionable.Model.Questing; @@ -70,14 +66,14 @@ internal sealed class EditorCommands : IDisposable if (target == null || target.ObjectKind != ObjectKind.GatheringPoint) throw new Exception("No valid target"); - var gatheringPoint = _dataManager.GetExcelSheet()!.GetRow(target.DataId); + var gatheringPoint = _dataManager.GetExcelSheet().GetRowOrDefault(target.DataId); if (gatheringPoint == null) throw new Exception("Invalid gathering point"); FileInfo targetFile; GatheringRoot root; var locationsInTerritory = _plugin.GetLocationsInTerritory(_clientState.TerritoryType).ToList(); - var location = locationsInTerritory.SingleOrDefault(x => x.Id == gatheringPoint.GatheringPointBase.Row); + var location = locationsInTerritory.SingleOrDefault(x => x.Id == gatheringPoint.Value.GatheringPointBase.RowId); if (location != null) { targetFile = location.File; @@ -96,7 +92,7 @@ internal sealed class EditorCommands : IDisposable } else { - (targetFile, root) = CreateNewFile(gatheringPoint, target); + (targetFile, root) = CreateNewFile(gatheringPoint.Value, target); _chatGui.Print($"Creating new file under {targetFile.FullName}", "qG"); } @@ -174,16 +170,16 @@ internal sealed class EditorCommands : IDisposable ?.File.Directory; if (targetFolder == null) { - var territoryInfo = _dataManager.GetExcelSheet()!.GetRow(_clientState.TerritoryType)!; + var territoryInfo = _dataManager.GetExcelSheet().GetRow(_clientState.TerritoryType); targetFolder = _plugin.PathsDirectory - .CreateSubdirectory(ExpansionData.ExpansionFolders[(EExpansionVersion)territoryInfo.ExVersion.Row]) - .CreateSubdirectory(territoryInfo.PlaceName.Value!.Name.ToString()); + .CreateSubdirectory(ExpansionData.ExpansionFolders[(EExpansionVersion)territoryInfo.ExVersion.RowId]) + .CreateSubdirectory(territoryInfo.PlaceName.Value.Name.ToString()); } FileInfo targetFile = new FileInfo( Path.Combine(targetFolder.FullName, - $"{gatheringPoint.GatheringPointBase.Row}_{gatheringPoint.PlaceName.Value!.Name}_{(_clientState.LocalPlayer!.ClassJob.Id == 16 ? "MIN" : "BTN")}.json")); + $"{gatheringPoint.GatheringPointBase.RowId}_{gatheringPoint.PlaceName.Value.Name}_{(_clientState.LocalPlayer!.ClassJob.RowId == 16 ? "MIN" : "BTN")}.json")); var root = new GatheringRoot { Author = [_configuration.AuthorName], diff --git a/GatheringPathRenderer/RendererPlugin.cs b/GatheringPathRenderer/RendererPlugin.cs index dbad1715..5ef430ea 100644 --- a/GatheringPathRenderer/RendererPlugin.cs +++ b/GatheringPathRenderer/RendererPlugin.cs @@ -59,7 +59,7 @@ public sealed class RendererPlugin : IDalamudPlugin _editorWindow = new EditorWindow(this, _editorCommands, dataManager, targetManager, clientState, objectTable) { IsOpen = true }; _windowSystem.AddWindow(_editorWindow); - _currentClassJob = (EClassJob?)_clientState.LocalPlayer?.ClassJob.Id ?? EClassJob.Adventurer; + _currentClassJob = (EClassJob?)_clientState.LocalPlayer?.ClassJob.RowId ?? EClassJob.Adventurer; _pluginInterface.GetIpcSubscriber("Questionable.ReloadData") .Subscribe(Reload); diff --git a/GatheringPathRenderer/Windows/EditorWindow.cs b/GatheringPathRenderer/Windows/EditorWindow.cs index 55f9a5c2..1150558f 100644 --- a/GatheringPathRenderer/Windows/EditorWindow.cs +++ b/GatheringPathRenderer/Windows/EditorWindow.cs @@ -1,7 +1,6 @@ using System; using System.Collections.Generic; using System.Globalization; -using System.IO; using System.Linq; using System.Numerics; using Dalamud.Game.ClientState.Objects; @@ -11,7 +10,7 @@ using Dalamud.Interface.Colors; using Dalamud.Interface.Windowing; using Dalamud.Plugin.Services; using ImGuiNET; -using Lumina.Excel.GeneratedSheets; +using Lumina.Excel.Sheets; using Questionable.Model.Gathering; namespace GatheringPathRenderer.Windows; @@ -205,12 +204,12 @@ internal sealed class EditorWindow : Window } else if (_target != null) { - var gatheringPoint = _dataManager.GetExcelSheet()!.GetRow(_target.DataId); + var gatheringPoint = _dataManager.GetExcelSheet().GetRowOrDefault(_target.DataId); if (gatheringPoint == null) return; var locationsInTerritory = _plugin.GetLocationsInTerritory(_clientState.TerritoryType).ToList(); - var location = locationsInTerritory.SingleOrDefault(x => x.Id == gatheringPoint.GatheringPointBase.Row); + var location = locationsInTerritory.SingleOrDefault(x => x.Id == gatheringPoint.Value.GatheringPointBase.RowId); if (location != null) { var targetFile = location.File; @@ -234,9 +233,9 @@ internal sealed class EditorWindow : Window } else { - if (ImGui.Button($"Create location ({gatheringPoint.GatheringPointBase.Row})")) + if (ImGui.Button($"Create location ({gatheringPoint.Value.GatheringPointBase.RowId})")) { - var (targetFile, root) = _editorCommands.CreateNewFile(gatheringPoint, _target); + var (targetFile, root) = _editorCommands.CreateNewFile(gatheringPoint.Value, _target); _plugin.Save(targetFile, root); } }