MysteryKaar Ответов: 1

Как исправить ошибку CS1026 в этом случае?


Я невероятно новичок в коде (так как в единственном коде, который я написал, были основные изменения в моделях и блочных состояниях для пакета ресурсов minecraft), и я застрял, пытаясь найти в этом что-то неправильное
Я тоже ничего не мог найти в интернете (во всяком случае, ничего такого, что я понимал)
using Microsoft.Xna.Framework;
using Terraria;
using Terraria.Localization;
using Terraria.ModLoader;
using Terraria.ObjectData;
using static Terraria.ModLoader.ModContent;

namespace ExampleMod.Tiles
{
	public class ExampleBar : ModTile
	{
		public override void SetDefaults()
		{
			Main.tileShine[Type] = 1100;
			Main.tileSolid[Type] = true;
			Main.tileSolidTop[Type] = true;
			Main.tileFrameImportant[Type] = true;

			TileObjectData.newTile.CopyFrom(TileObjectData.Style1x1);
			TileObjectData.newTile.StyleHorizontal = true;
			TileObjectData.newTile.LavaDeath = false;
			TileObjectData.addTile(Type);

			AddMapEntry(new Color(200, 200, 200), Language.GetText("MapObject.MetalBar")); // localized text for "Metal Bar"
		}

		public override bool Drop(int i, int j)
		{
			Tile t = Main.tile[i, j];
			int style = t.frameX / 18;
			if (style == 0) // It can be useful to share a single tile with multiple styles. This code will let you drop the appropriate bar if you had multiple.
			{
				Item.NewItem(i * 16, j * 16, 16, 16, (mod.ItemType("Items.Placeable.NetheriteBar"));
			}
			return base.Drop(i, j);
		}
	}
}

любая помощь будет оценена по достоинству, спасибо!

Что я уже пробовал:

Я пытался менять
Item.NewItem(i * 16, j * 16, 16, 16, ItemType<Items.Placeable.NetheriteBar>());

в
Item.NewItem(i * 16, j * 16, 16, 16, (mod.ItemType("Items.Placeable.NetheriteBar"));

Что немного помогло (3 ошибки превратились всего в 1)

1 Ответов

Рейтинг:
8

Thomas Daniels

CS1026 является ")" expected, что означает, что вы упускаете ) где-то, делая ваш синтаксис недействительным. И действительно, если вы посмотрите на эту строку:

Item.NewItem(i * 16, j * 16, 16, 16, (mod.ItemType("Items.Placeable.NetheriteBar"));
У вас есть три открывающие скобки, но только две закрывающие, так что это не может быть правильным. Вы можете просто избавиться от того, что было раньше mod хотя, так что превращение его в:
Item.NewItem(i * 16, j * 16, 16, 16, mod.ItemType("Items.Placeable.NetheriteBar"));


[no name]

Господи помилуй, я ослеп. Кажется, работает. Большое вам спасибо!