Skip to content

Commit

Permalink
Merge pull request #251 from 1242509682/master
Browse files Browse the repository at this point in the history
修复:新建配置没有自带参数问题(宵禁与计划书)
  • Loading branch information
Controllerdestiny authored Jun 22, 2024
2 parents 379392f + 72ae6a4 commit 1ddd8e7
Show file tree
Hide file tree
Showing 6 changed files with 137 additions and 59 deletions.
7 changes: 5 additions & 2 deletions GoodNight/Configuration.cs
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ internal class Configuration
public HashSet<int> NpcDead = new HashSet<int>();
[JsonProperty("禁止怪物生成表(NpcID)", Order = -5)]
public HashSet<int> Npcs = new HashSet<int>();


#region 读取与创建配置文件方法
public void Write()
Expand All @@ -65,8 +65,11 @@ public static Configuration Read()
{
if (!File.Exists(FilePath))
{
var NewConfig = new Configuration();
NewConfig.PlayersList = new HashSet<string>() {"羽学"};
NewConfig.Npcs = new HashSet<int>() { 4,13,14,15,35,36,50,113,114,125,126,127,128,129,130,131,134,135,136,222,245,246,247,248,249,262,266,370,396,397,398,400,439,440,422,493,507,517,636,657,668 };
new Configuration().Write();
return new Configuration();
return NewConfig;
}
else
{
Expand Down
2 changes: 1 addition & 1 deletion GoodNight/Goodnight.cs
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ public class Goodnight : TerrariaPlugin
#region 变量与插件信息
public override string Name => "宵禁";
public override string Author => "Jonesn 羽学 少司命";
public override Version Version => new Version(2, 7, 0);
public override Version Version => new Version(2, 7, 2);
public override string Description => "设置服务器无法进入或禁止生成怪物的时段";
internal static Configuration Config;
#endregion
Expand Down
4 changes: 4 additions & 0 deletions GoodNight/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,10 @@
## 更新日志

```
v2.7.2
修复检测到没有配置文件时,创建的配置没有参数
不会因为使用/reload重复写入或覆盖原来参数等问题
v2.7.1
优化了对《允许召唤表》播报细节的空检查
Expand Down
178 changes: 123 additions & 55 deletions ProgressControls/Config.cs
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,96 @@ public static Config LoadConfigFile()
}
if (!File.Exists(configPath))
{
File.WriteAllText(configPath, JsonConvert.SerializeObject(new Config(), Formatting.Indented));
var NewConfig = new Config();
NewConfig.NpcKillCountForAutoReset = new Dictionary<int, ArrayList>()
{ { 398, new ArrayList { 3, "pco reset hand","bc 击杀月总3次自动重置" } } };
NewConfig.CommandForBeforeResetting = new HashSet<string>()
{
"clall",
"zout all",
"wat clearall",
"pbreload",
"pco copy",
"礼包 重置",
"礼包重置",
"pvp reset",
"派系 reset",
"bwl reload",
"task clear",
"task reset",
"rpg reset",
"bank reset",
"deal reset",
"skill reset",
"level reset",
"replenreload",
"重读多重限制",
"重读阶段库存",
"clearbuffs all",
"重读物品超数量封禁",
"重读自定义怪物血量",
"重读禁止召唤怪物表",
"zresetallplayers",
"clearallplayersplus",
"reload"
};
NewConfig.DeleteSQLiteForBeforeResetting = new HashSet<string>()
{
"HousingDistrict",
"TerrariaRobot死亡统计",
"Warps",
"渡劫表",
"RememberedPos",
"Zhipm_PlayerBackUp",
"Zhipm_PlayerExtra",
"Research",
"使用日志",
"区域执行指令",
"Economics",
"Economicsskill",
"Regions",
"RPG",
"Skill",
"Permabuff",
"Permabuffs",
"Onlineduration",
"Onlybaniplist",
"Stronger",
"Synctable",
"Task",
"TaskKillnpc",
"TaskTallk",
"OnlineDuration",
"WeaponPlusDBcostCoin",
"WeaponPlusdbbasedOnEconomics"
};
NewConfig.DeleteFileForBeforeResetting = new HashSet<string>(){
"tshock/backups/*.bak",
"tshock/logs/*.log",
"tshock/Watcher/logs/*.log",
"tshock/检查背包/检查日志/*.txt",};
NewConfig.ProgressLockTimeForStartServerDate = new Dictionary<string, double>(){
{"史莱姆王", 0},
{"克苏鲁之眼", 0},
{"世界吞噬者" ,24},
{"克苏鲁之脑" ,24},
{"蜂后" ,42},
{"巨鹿" ,36},
{"骷髅王" ,48},
{"血肉墙" ,72},
{"史莱姆皇后" ,84},
{"双子魔眼" ,96},
{"毁灭者" ,102},
{"机械骷髅王" ,108},
{"猪龙鱼公爵" ,120},
{"世纪之花" ,132},
{"光之女皇" ,138},
{"石巨人" ,150},
{"拜月教教徒" ,162},
{"四柱" ,164},
{"月亮领主" ,170}};
NewConfig.Command_PcoCopy_CopyPath = new HashSet<string>() { "world/SFE4.wld" };
File.WriteAllText(configPath, JsonConvert.SerializeObject(NewConfig, Formatting.Indented));
}
Config config;
try
Expand Down Expand Up @@ -84,28 +173,7 @@ public Config()
CommandForBeforeRestart = new HashSet<string>();

OpenAutoControlProgressLock = false;
ProgressLockTimeForStartServerDate = new Dictionary<string, double>()
{
{"史莱姆王", 0},
{"克苏鲁之眼", 0},
{"世界吞噬者" ,24},
{"克苏鲁之脑" ,24},
{"蜂后" ,42},
{"巨鹿" ,36},
{"骷髅王" ,48},
{"血肉墙" ,72},
{"史莱姆皇后" ,84},
{"双子魔眼" ,96},
{"毁灭者" ,102},
{"机械骷髅王" ,108},
{"猪龙鱼公爵" ,120},
{"世纪之花" ,132},
{"光之女皇" ,138},
{"石巨人" ,150},
{"拜月教教徒" ,162},
{"四柱" ,164},
{"月亮领主" ,170}
};
ProgressLockTimeForStartServerDate = new Dictionary<string, double>();
CustomNPCIDLockTimeForStartServerDate = new Dictionary<int, double> { };

LasetAutoCommandDate = DateTime.Now;
Expand All @@ -129,11 +197,11 @@ public Config()
[JsonProperty("多少小时后开始自动重置世界", Order = -15)]
public double HowLongTimeOfAotuResetServer;

[JsonProperty("重置是否重置玩家数据",Order = -14)]
[JsonProperty("重置是否重置玩家数据", Order = -14)]
public bool ResetTSCharacter;
[JsonProperty("重置前是否删除地图", Order = -14)]
public bool DeleteWorldForReset;
[JsonProperty("NPC死亡次数触发执行指令",Order = -14)]
[JsonProperty("NPC死亡次数触发执行指令", Order = -14)]
public Dictionary<int, ArrayList> NpcKillCountForAutoReset;
[JsonProperty("重置前执行的指令", Order = -14)]
public HashSet<string> CommandForBeforeResetting;
Expand All @@ -142,72 +210,72 @@ public Config()
[JsonProperty("重置前删除哪些文件或文件夹", Order = -14)]
public HashSet<string> DeleteFileForBeforeResetting;

[JsonProperty("重置后的地图大小_小1_中2_大3",Order = -13)]
[JsonProperty("重置后的地图大小_小1_中2_大3", Order = -13)]
public int MapSizeForAfterReset;
[JsonProperty("重置后的地图难度_普通0_专家1_大师2_旅途3",Order = -13)]
[JsonProperty("重置后的地图难度_普通0_专家1_大师2_旅途3", Order = -13)]
public int MapDifficultyForAfterReset;
[JsonProperty("重置后的地图种子",Order = -13)]
[JsonProperty("重置后的地图种子", Order = -13)]
public string WorldSeedForAfterReset;
[JsonProperty("重置后的地图名称",Order = -13)]
[JsonProperty("重置后的地图名称", Order = -13)]
public string WorldNameForAfterReset;
[JsonProperty("你提供用于重置的地图名称",Order = -13)]
[JsonProperty("你提供用于重置的地图名称", Order = -13)]
public HashSet<string> ExpectedUsageWorldFileNameForAotuReset;
[JsonProperty("地图存放目录",Order = -13)]
[JsonProperty("地图存放目录", Order = -13)]
public string WorldPath;

[JsonProperty("重置后的最多在线人数",Order = -12)]
[JsonProperty("重置后的最多在线人数", Order = -12)]
public int AfterResetPeople;
[JsonProperty("重置后的端口",Order = -12)]
[JsonProperty("重置后的端口", Order = -12)]
public string AfterResetPort;
[JsonProperty("重置后的服务器密码",Order = -12)]
[JsonProperty("重置后的服务器密码", Order = -12)]
public string AfterResetServerPassword;

//重启计划
[JsonProperty("上次重启服务器的日期",Order = -11)]
[JsonProperty("上次重启服务器的日期", Order = -11)]
public DateTime LasetServerRestartDate;
[JsonProperty("是否启用自动重启服务器",Order = -11)]
[JsonProperty("是否启用自动重启服务器", Order = -11)]
public bool AutoRestartServer;
[JsonProperty("多少小时后开始自动重启服务器",Order = -11)]
[JsonProperty("多少小时后开始自动重启服务器", Order = -11)]
public double HowLongTimeOfRestartServer;
[JsonProperty("重启后的最多在线人数",Order = -11)]
[JsonProperty("重启后的最多在线人数", Order = -11)]
public int AfterRestartPeople;
[JsonProperty("重启后的端口",Order = -11)]
[JsonProperty("重启后的端口", Order = -11)]
public string AfterRestartPort;
[JsonProperty("重启后的服务器密码",Order = -11)]
[JsonProperty("重启后的服务器密码", Order = -11)]
public string AfterRestartServerPassword;
[JsonProperty("重启前执行的指令",Order = -11)]
[JsonProperty("重启前执行的指令", Order = -11)]
public HashSet<string> CommandForBeforeRestart;

//Boss进度控制计划
[JsonProperty("是否自动控制NPC进度",Order = -10)]
[JsonProperty("是否自动控制NPC进度", Order = -10)]
public bool OpenAutoControlProgressLock;
[JsonProperty("Boss封禁时长距开服日期",Order = -10)]
[JsonProperty("Boss封禁时长距开服日期", Order = -10)]
public Dictionary<string, double> ProgressLockTimeForStartServerDate;
[JsonProperty("NPC封禁时长距开服日期_ID和单位小时",Order = -10)]
[JsonProperty("NPC封禁时长距开服日期_ID和单位小时", Order = -10)]
public Dictionary<int, double> CustomNPCIDLockTimeForStartServerDate;

//指令使用计划
[JsonProperty("上次自动执行指令的日期",Order = -9)]
[JsonProperty("上次自动执行指令的日期", Order = -9)]
public DateTime LasetAutoCommandDate;
[JsonProperty("是否启用自动执行指令",Order = -9)]
[JsonProperty("是否启用自动执行指令", Order = -9)]
public bool OpenAutoCommand;
[JsonProperty("多少小时后开始自动执行指令",Order = -9)]
[JsonProperty("多少小时后开始自动执行指令", Order = -9)]
public double HowLongTimeOfAutoCommand;
[JsonProperty("自动执行的指令_不需要加斜杠",Order = -9)]
[JsonProperty("自动执行的指令_不需要加斜杠", Order = -9)]
public HashSet<string> AutoCommandList;
[JsonProperty("执行指令时是否发广播",Order = -9)]
[JsonProperty("执行指令时是否发广播", Order = -9)]
public bool AutoCommandOfBroadcast;
[JsonProperty("越权检查",Order = -9)]
[JsonProperty("越权检查", Order = -9)]
public bool CheckPerm;
[JsonProperty("是否关闭ServerLog写入功能(Windows千万别开)", Order = -9)]
public bool ServerLogWriterEnabledForAotuResetting;
[JsonProperty("指令功能_删除哪些文件或文件夹",Order = -8)]
[JsonProperty("指令功能_删除哪些文件或文件夹", Order = -8)]
public HashSet<string> Command_PcoDelFile_DeletePath;
[JsonProperty("指令功能_要复制的文件或文件夹",Order = -8)]
[JsonProperty("指令功能_要复制的文件或文件夹", Order = -8)]
public HashSet<string> Command_PcoCopy_CopyPath;
[JsonProperty("指令功能_复制目标目录",Order = -8)]
[JsonProperty("指令功能_复制目标目录", Order = -8)]
public string Command_PcoCopy_PastePath { get; set; }
[JsonProperty("指令功能_文件是否允许覆盖",Order = -8)]
[JsonProperty("指令功能_文件是否允许覆盖", Order = -8)]
public bool Command_PcoCopy_CoverFile { get; set; } = true;

/// <summary>
Expand Down Expand Up @@ -245,4 +313,4 @@ public string AddNumberFile(string? name, string willDelete = "")
}
}
}
}
}
2 changes: 1 addition & 1 deletion ProgressControls/PControl.cs
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ public partial class PControl : TerrariaPlugin
public override string Author => "z枳 羽学";
public override string Description => "计划书";
public override string Name => "ProgressControl";
public override Version Version => new Version(1, 0, 0, 6);
public override Version Version => new Version(1, 0, 0, 7);

public static Config config = new Config();

Expand Down
3 changes: 3 additions & 0 deletions ProgressControls/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,9 @@

```
更新日志
v1.0.7
修复新建配置没有内置参数问题
1.0.6
修复/reload导致配置文件被覆盖问题
Expand Down

0 comments on commit 1ddd8e7

Please sign in to comment.