第五步:修改报错代码
原因:这个原因怎么说呢,我不是程序员我也半懂不懂,这个就是应为NuGet包更新后里面一些东西变了,作者原先写的代码调用了已经改了的东西,所以会有代码报错,我们需要把这些错的调用修改掉,这一步就需要你C#的基础了,否则你无从下手。这个Mod报错的原因是应为程序识别按键的方法改了,我看了参考资料(就上面相关参考内个网站里的)改的,居然成功了。我真是佩服我自己。
1、报错的代码是ModEntry.cs这个文件里的,他会报两个错误,如下:


2、这个我改的代码,我也不解释了,直接全部替换就行了。
using Pelican.Config;
using Pelican.Menus;
using Pelican.Items;
using StardewModdingAPI;
using StardewModdingAPI.Events;
namespace Pelican
{
public class ModEntry : Mod
{
private IModHelper helper;
public override void Entry(IModHelper helper)
{
this.helper = helper;
//ControlEvents.KeyPressed += ControlEvents_KeyPressed;
helper.Events.Input.ButtonPressed += this.ControlEvents_KeyPressed;
}
private void ControlEvents_KeyPressed(object sender, ButtonPressedEventArgs e)
{
if (Context.IsWorldReady)
{
Meta.Config = helper.ReadConfig<ModConfig>();
if (e.Button.ToString().Equals(Meta.Config.MenuAccessKey))
{
Meta.Console = Monitor;
Meta.Lang = helper.Translation;
ItemHandler itemHandler = new ItemHandler();
PostalService menu = new PostalService(itemHandler);
menu.Open();
}
}
}
}
}
3、记得保存啊,一个字也不能差。