Skip to content

+EA 23.318 Nightly - Plugin.BaseCore โ€‹

June 18, 2026

6 files modified.

Important Changes โ€‹

None.

BaseModManager โ€‹

public virtual void Init(string path, string defaultPackage = "_Elona")

cs
public void InitLang()
{
	Debug.Log("Initializing Langs: " + Lang.langCode);
	MOD.listAlias.Clear(); 
	MOD.listName.Clear(); 
	MOD.listTalk.Clear();
	MOD.listGodTalk.Clear();
	MOD.tones.Clear();

public void InitLang()

cs
		switch (fileInfo.Name)
		{
		case "Alias.xlsx":
			Lang.alias = new ExcelData(fileInfo.FullName); 
			MOD.listAlias.Add(new ExcelData(fileInfo.FullName)); 
			break;
		case "Name.xlsx":
			Lang.names = new ExcelData(fileInfo.FullName); 
			MOD.listName.Add(new ExcelData(fileInfo.FullName)); 
			break;
		case "chara_talk.xlsx":
			MOD.listTalk.Add(new ExcelData(fileInfo.FullName));

BaseModPackage โ€‹

public void Parse()

cs
	DirectoryInfo[] directories = dirInfo.GetDirectories();
	foreach (DirectoryInfo directoryInfo in directories)
	{
		if (directoryInfo.Name == "Actor") 
		if (directoryInfo.Name.ToLower() == "actor") 
		{
			FileInfo[] files = directoryInfo.GetFiles("*.xlsx", SearchOption.TopDirectoryOnly);
			foreach (FileInfo fileInfo in files)

public void Parse()

cs
			foreach (DirectoryInfo directoryInfo2 in directories2)
			{
				Log.App(directoryInfo2.FullName);
				string name = directoryInfo2.Name; 
				if (!(name == "PCC")) 
				string text = directoryInfo2.Name.ToLower(); 
				if (!(text == "pcc")) 
				{
					if (!(name == "Sprite")) 
					if (!(text == "sprite")) 
					{
						continue;
					}

ExcelDataList โ€‹

public virtual void Initialize()

cs
		foreach (Dictionary<string, string> item2 in obj)
		{
			item2["path"] = directoryName;
			all[item2["id"]] = item2; 
			if (item2.TryGetValue("id", out var value)) 
			{ 
				all[value] = item2; 
			} 
			list.Add(item2);
		}
	}

IO โ€‹

public static string[] LoadTextArray(string _path)

cs
		if (!File.Exists(_path))
		{
			Debug.Log(_path);
			return new string[0]; 
			return Array.Empty<string>(); 
		}
	}
	return File.ReadAllLines(_path);

Lang โ€‹

public class Words

cs

	public static LangSetting setting;

	public static ExcelData alias; 
	public static ExcelData names; 
	public static ExcelData excelDialog;

	public static List<Func<List<string>>> excelDialogLoaders = new List<Func<List<string>>>();

MOD โ€‹

public class MOD

cs
{
	public static Dictionary<string, LangSetting> langs = new Dictionary<string, LangSetting>();

	public static ExcelDataList listAlias = new ExcelDataList(); 
	public static ExcelDataList listName = new ExcelDataList(); 
	public static TalkDataList listTalk = new TalkDataList();

	public static GodTalkDataList listGodTalk = new GodTalkDataList();

public class MOD

cs
public static void ResetResources()
{
	langs.Clear();
	listAlias.Clear(); 
	listName.Clear(); 
	listTalk.Clear();
	listGodTalk.Clear();
	tones.Clear();