public void SetItem(Item item) { var newItem = new NbtCompound("Item") { new NbtShort("id", item.Id), new NbtShort("Damage", item.Metadata), new NbtByte("Count", 1) }; if (item.ExtraData != null) { var newTag = (NbtTag) item.ExtraData.Clone(); newTag.Name = "tag"; newItem.Add(newTag); } var comp = new NbtCompound(string.Empty) { new NbtString("id", Id), new NbtInt("x", Coordinates.X), new NbtInt("y", Coordinates.Y), new NbtInt("z", Coordinates.Z), }; comp["Item"] = newItem; Compound = comp; }
public PlayerInventory(Player player) { Player = player; Slots = Enumerable.Repeat(new ItemStack(), InventorySize).ToList(); //Slots = Enumerable.Repeat(new ItemStack(new ItemIronSword(0), 1), InventorySize).ToList(); //Slots[Slots.Count-10] = new ItemStack(new ItemDiamondAxe(0), 1); //Slots[Slots.Count-9] = new ItemStack(new ItemDiamondAxe(0), 1); //int c = -1; //Slots[++c] = new ItemStack(new ItemIronSword(0), 1); //Slots[++c] = new ItemStack(new ItemBow(0), 1); //Slots[++c] = new ItemStack(new ItemSnowball(0), 64); //Slots[++c] = new ItemStack(new ItemEgg(0), 64); //Slots[++c] = new ItemStack(262, 32); //Slots[++c] = new ItemStack(new ItemBucket(10), 1); //Slots[++c] = new ItemStack(new ItemChest(0), 1); ////Slots[++c] = new ItemStack(new ItemBlock(new DiamondOre(), 0), 64); //Slots[++c] = new ItemStack(new ItemBlock(new GoldBlock(), 0), 64); //Slots[++c] = new ItemStack(new ItemBlock(new GoldBlock(), 0), 64); //Slots[++c] = new ItemStack(new ItemBlock(new GoldBlock(), 0), 64); //Slots[++c] = new ItemStack(new ItemBlock(new GoldBlock(), 0), 64); //Slots[++c] = new ItemStack(new ItemBlock(new GoldBlock(), 0), 64); //Slots[++c] = new ItemStack(new ItemBlock(new GoldBlock(), 0), 64); //Slots[++c] = new ItemStack(new ItemBlock(new GoldBlock(), 0), 64); //Slots[++c] = new ItemStack(new ItemBlock(new GoldBlock(), 0), 64); //Slots[++c] = new ItemStack(new ItemBlock(new GoldBlock(), 0), 64); //Slots[++c] = new ItemStack(new ItemBlock(new GoldBlock(), 0), 64); //Slots[++c] = new ItemStack(new ItemBlock(new GoldBlock(), 0), 64); //Slots[++c] = new ItemStack(new ItemBlock(new GoldBlock(), 0), 64); //Slots[++c] = new ItemStack(new ItemBlock(new GoldBlock(), 0), 64); //Slots[++c] = new ItemStack(new ItemBlock(new GoldBlock(), 0), 64); //Slots[++c] = new ItemStack(new ItemBlock(new GoldBlock(), 0), 64); //Slots[++c] = new ItemStack(new ItemBlock(new CoalBlock(), 0), 64); //Slots = new List<ItemStack>(); //for (int i = 0; i < 100; i++) //{ // Slots.Add(new ItemStack(ItemFactory.GetItem(i, 0), 1)); //} ItemHotbar = new int[HotbarSize]; InHandSlot = 0; for (byte i = 0; i < ItemHotbar.Length; i++) { ItemHotbar[i] = i; } Boots = new Item(0, 0); Leggings = new Item(0, 0); Chest = new Item(0, 0); Helmet = new Item(0, 0); //Boots = new ItemDiamondBoots(0); //Leggings = new ItemDiamondLeggings(0); //Chest = new ItemDiamondChestplate(0); //Helmet = new ItemDiamondHelmet(0); }
public static Item GetItem(int id, short metadata) { Item item = null; if (CustomItemFactory != null) { item = CustomItemFactory.GetItem(id, metadata); } if (item != null) return item; if (id == 54) item = new ItemChest(metadata); else if (id == 44) item = new ItemSlab(id, metadata); else if (id == 61) item = new ItemFurnace(metadata); else if (id == 158) item = new ItemSlab(id, metadata); else if (id == 256) item = new ItemIronShovel(metadata); else if (id == 259) item = new ItemFlintAndSteel(metadata); else if (id == 261) item = new ItemBow(metadata); else if (id == 263) item = new ItemCoal(metadata); else if (id == 267) item = new ItemIronSword(metadata); else if (id == 268) item = new ItemWoodenSword(metadata); else if (id == 269) item = new ItemWoodenShovel(metadata); else if (id == 270) item = new ItemWoodenPickaxe(metadata); else if (id == 271) item = new ItemWoodenAxe(metadata); else if (id == 273) item = new ItemStoneShovel(metadata); else if (id == 277) item = new ItemDiamondShovel(metadata); else if (id == 280) item = new ItemStick(metadata); else if (id == 284) item = new ItemGoldShovel(metadata); else if (id == 290) item = new ItemWoodenHoe(metadata); else if (id == 291) item = new ItemStoneHoe(metadata); else if (id == 292) item = new ItemIronHoe(metadata); else if (id == 293) item = new ItemDiamondHoe(metadata); else if (id == 294) item = new ItemGoldHoe(metadata); else if (id == 323) item = new ItemSign(metadata); else if (id == 324) item = new ItemDoor(metadata); else if (id == 325) item = new ItemBucket(metadata); else if (id == 332) item = new ItemSnowball(metadata); else if (id == 355) item = new ItemBed(metadata); else if (id == 363) item = new ItemRawBeef(metadata); else if (id == 365) item = new ItemRawChicken(metadata); else if (id == 319) item = new ItemRawPorkchop(metadata); else if (id == 309) item = new ItemIronBoots(metadata); else if (id == 308) item = new ItemIronLeggings(metadata); else if (id == 307) item = new ItemIronChestplate(metadata); else if (id == 306) item = new ItemIronHelmet(metadata); else if (id == 310) item = new ItemDiamondHelmet(metadata); else if (id == 311) item = new ItemDiamondChestplate(metadata); else if (id == 312) item = new ItemDiamondLeggings(metadata); else if (id == 313) item = new ItemDiamondBoots(metadata); else if (id == 344) item = new ItemEgg(metadata); else if (id == 383) item = new ItemSpawnEgg(metadata); else if (id <= 255) item = new ItemBlock(BlockFactory.GetBlockById((byte) id), metadata); else item = new Item(id, metadata); return item; }
public ItemEntity(Level level, Item item) : base(64, level) { Item = item; Height = 0.25; Width = 0.25; Length = 0.25; PickupDelay = 10; TimeToLive = 6000; }
public MetadataSlot(Item value) { Value = value; }
private bool FirstEmptySlot(short itemId, byte amount, short metadata, bool update, int si, Item item) { var b = Slots[si]; if (b.Id == itemId && b.Metadata == metadata && b.Count + amount <= item.MaxStackSize) { Slots[si].Count += amount; //if (update) Player.SendPlayerInventory(); if (update) SendSetSlot(si); Log.Info("Set on slot " + si); return true; } else if (b.Id == 0 || b.Id == -1) { Slots[si] = new ItemStack(itemId, amount, metadata); //if (update) Player.SendPlayerInventory(); if (update) SendSetSlot(si); Log.Info("Set on slot " + si); return true; } return false; }
protected bool Equals(Item other) { return Id == other.Id && Metadata == other.Metadata; }
public ItemBreakParticle(Level level, Item item) : base(ParticleType.ItemBreak, level) { Data = (item.Id << 16) | item.Metadata; }
private bool FirstEmptySlot(Item item, bool update, int si) { Item existingItem = Slots[si]; if (existingItem.Id == item.Id && existingItem.Metadata == item.Metadata && existingItem.Count + item.Count <= item.MaxStackSize) { Slots[si].Count += item.Count; //if (update) Player.SendPlayerInventory(); if (update) SendSetSlot(si); return true; } else if (existingItem is ItemAir || existingItem.Id == -1) { Slots[si] = item; //if (update) Player.SendPlayerInventory(); if (update) SendSetSlot(si); return true; } return false; }
public static Item GetItem(int id, short metadata) { Item item = null; if (CustomItemFactory != null) { item = CustomItemFactory.GetItem(id, metadata); } if (item != null) return item; if (id == 54) item = new ItemChest(metadata); else if (id == 44) item = new ItemSlab(id, metadata); else if (id == 61) item = new ItemFurnace(metadata); else if (id == 63) item = new ItemSign(metadata); else if (id == 68) item = new ItemSign(metadata); else if (id == 158) item = new ItemSlab(id, metadata); else if (id == 256) item = new ItemIronShovel(metadata); else if (id == 258) item = new ItemIronAxe(metadata); else if (id == 259) item = new ItemFlintAndSteel(metadata); else if (id == 260) item = new ItemApple(); else if (id == 261) item = new ItemBow(metadata); else if (id == 263) item = new ItemCoal(metadata); else if (id == 267) item = new ItemIronSword(metadata); else if (id == 268) item = new ItemWoodenSword(metadata); else if (id == 269) item = new ItemWoodenShovel(metadata); else if (id == 270) item = new ItemWoodenPickaxe(metadata); else if (id == 271) item = new ItemWoodenAxe(metadata); else if (id == 272) item = new ItemStoneSword(metadata); else if (id == 273) item = new ItemStoneShovel(metadata); else if (id == 275) item = new ItemStoneAxe(metadata); else if (id == 276) item = new ItemDiamondSword(metadata); else if (id == 277) item = new ItemDiamondShovel(metadata); else if (id == 279) item = new ItemDiamondAxe(metadata); else if (id == 280) item = new ItemStick(metadata); else if (id == 283) item = new ItemGoldSword(metadata); else if (id == 284) item = new ItemGoldShovel(metadata); else if (id == 286) item = new ItemGoldAxe(metadata); else if (id == 290) item = new ItemWoodenHoe(metadata); else if (id == 291) item = new ItemStoneHoe(metadata); else if (id == 292) item = new ItemIronHoe(metadata); else if (id == 293) item = new ItemDiamondHoe(metadata); else if (id == 294) item = new ItemGoldHoe(metadata); else if (id == 297) item = new ItemBread(); else if (id == 298) item = new ItemLeatherHelmet(metadata); else if (id == 299) item = new ItemLeatherChestplate(metadata); else if (id == 300) item = new ItemLeatherLeggings(metadata); else if (id == 301) item = new ItemLeatherBoots(metadata); else if (id == 302) item = new ItemChainmailHelmet(metadata); else if (id == 303) item = new ItemChainmailChestplate(metadata); else if (id == 304) item = new ItemChainmailLeggings(metadata); else if (id == 305) item = new ItemChainmailBoots(metadata); else if (id == 309) item = new ItemIronBoots(metadata); else if (id == 308) item = new ItemIronLeggings(metadata); else if (id == 307) item = new ItemIronChestplate(metadata); else if (id == 306) item = new ItemIronHelmet(metadata); else if (id == 310) item = new ItemDiamondHelmet(metadata); else if (id == 311) item = new ItemDiamondChestplate(metadata); else if (id == 312) item = new ItemDiamondLeggings(metadata); else if (id == 313) item = new ItemDiamondBoots(metadata); else if (id == 314) item = new ItemGoldHelmet(metadata); else if (id == 315) item = new ItemGoldChestplate(metadata); else if (id == 316) item = new ItemGoldLeggings(metadata); else if (id == 317) item = new ItemGoldBoots(metadata); else if (id == 319) item = new ItemRawPorkchop(metadata); else if (id == 320) item = new ItemCookedPorkshop(); else if (id == 322) item = new ItemGoldenApple(); else if (id == 323) item = new ItemSign(metadata); else if (id == 324) item = new ItemDoor(metadata); else if (id == 325) item = new ItemBucket(metadata); else if (id == 332) item = new ItemSnowball(metadata); else if (id == 344) item = new ItemEgg(metadata); else if (id == 355) item = new ItemBed(metadata); else if (id == 357) item = new ItemCookie(); else if (id == 360) item = new ItemMelonSlice(); else if (id == 363) item = new ItemRawBeef(); else if (id == 364) item = new ItemSteak(); else if (id == 365) item = new ItemRawChicken(); else if (id == 366) item = new ItemCoockedChicken(); else if (id == 383) item = new ItemSpawnEgg(metadata); else if (id == 391) item = new ItemCarrot(); else if (id == 392) item = new ItemPotato(); else if (id == 393) item = new ItemBakedPotato(); else if (id == 400) item = new ItemPumpkinPie(); else if (id <= 255) { Block block = BlockFactory.GetBlockById((byte) id); if (CustomBlockItemFactory == null) { item = new ItemBlock(block, metadata); } else { item = CustomBlockItemFactory.GetBlockItem(block, metadata); } } else item = new Item(id, metadata); return item; }
public bool HasItem(Item item) { for (byte i = 0; i < Slots.Count; i++) { if ((Slots[i]).Id == item.Id && (Slots[i]).Metadata == item.Metadata) { return true; } } return false; }
public ItemStack(Item item, byte count) { Count = count; Item = item; }
public virtual bool VerifyItemStack(Player player, Item itemStack) { return true; }
public virtual Item SignItem(Item item) { return item; }
public override void IncreaseFoodAndSaturation(Item item, int foodPoints, double saturationRestore) { }
public override void FromStream(BinaryReader stream) { var id = stream.ReadInt16(); var count = stream.ReadByte(); var metadata = stream.ReadInt16(); Value = new Item(id, metadata, count); }
public static Item GetItem(short id, short metadata = 0, byte count = 1) { Item item = null; if (CustomItemFactory != null) { item = CustomItemFactory.GetItem(id, metadata, count); } if (item != null) return item; if (id == 0) item = new ItemAir(); else if (id == 54) item = new ItemChest(); else if (id == 44) item = new ItemSlab(id, metadata); else if (id == 61) item = new ItemFurnace(); else if (id == 63) item = new ItemSign(); else if (id == 68) item = new ItemSign(); else if (id == 116) item = new ItemEnchantingTable(); else if (id == 158) item = new ItemSlab(id, metadata); else if (id == 256) item = new ItemIronShovel(); else if (id == 257) item = new ItemIronPickaxe(); else if (id == 258) item = new ItemIronAxe(); else if (id == 259) item = new ItemFlintAndSteel(); else if (id == 260) item = new ItemApple(); else if (id == 261) item = new ItemBow(); else if (id == 262) item = new ItemArrow(); else if (id == 263) item = new ItemCoal(); else if (id == 267) item = new ItemIronSword(); else if (id == 268) item = new ItemWoodenSword(); else if (id == 269) item = new ItemWoodenShovel(); else if (id == 270) item = new ItemWoodenPickaxe(); else if (id == 271) item = new ItemWoodenAxe(); else if (id == 272) item = new ItemStoneSword(); else if (id == 273) item = new ItemStoneShovel(); else if (id == 274) item = new ItemStonePickaxe(); else if (id == 275) item = new ItemStoneAxe(); else if (id == 276) item = new ItemDiamondSword(); else if (id == 277) item = new ItemDiamondShovel(); else if (id == 278) item = new ItemDiamondPickaxe(); else if (id == 279) item = new ItemDiamondAxe(); else if (id == 280) item = new ItemStick(); else if (id == 283) item = new ItemGoldSword(); else if (id == 284) item = new ItemGoldShovel(); else if (id == 285) item = new ItemGoldPickaxe(); else if (id == 286) item = new ItemGoldAxe(); else if (id == 290) item = new ItemWoodenHoe(); else if (id == 291) item = new ItemStoneHoe(); else if (id == 292) item = new ItemIronHoe(); else if (id == 293) item = new ItemDiamondHoe(); else if (id == 294) item = new ItemGoldHoe(); else if (id == 297) item = new ItemBread(); else if (id == 298) item = new ItemLeatherHelmet(); else if (id == 299) item = new ItemLeatherChestplate(); else if (id == 300) item = new ItemLeatherLeggings(); else if (id == 301) item = new ItemLeatherBoots(); else if (id == 302) item = new ItemChainmailHelmet(); else if (id == 303) item = new ItemChainmailChestplate(); else if (id == 304) item = new ItemChainmailLeggings(); else if (id == 305) item = new ItemChainmailBoots(); else if (id == 309) item = new ItemIronBoots(); else if (id == 308) item = new ItemIronLeggings(); else if (id == 307) item = new ItemIronChestplate(); else if (id == 306) item = new ItemIronHelmet(); else if (id == 310) item = new ItemDiamondHelmet(); else if (id == 311) item = new ItemDiamondChestplate(); else if (id == 312) item = new ItemDiamondLeggings(); else if (id == 313) item = new ItemDiamondBoots(); else if (id == 314) item = new ItemGoldHelmet(); else if (id == 315) item = new ItemGoldChestplate(); else if (id == 316) item = new ItemGoldLeggings(); else if (id == 317) item = new ItemGoldBoots(); else if (id == 319) item = new ItemRawPorkchop(); else if (id == 320) item = new ItemCookedPorkshop(); else if (id == 322) item = new ItemGoldenApple(); else if (id == 323) item = new ItemSign(); else if (id == 324) item = new ItemDoor(); else if (id == 325) item = new ItemBucket(metadata); else if (id == 332) item = new ItemSnowball(); else if (id == 344) item = new ItemEgg(); else if (id == 355) item = new ItemBed(); else if (id == 357) item = new ItemCookie(); else if (id == 360) item = new ItemMelonSlice(); else if (id == 363) item = new ItemRawBeef(); else if (id == 364) item = new ItemSteak(); else if (id == 365) item = new ItemRawChicken(); else if (id == 366) item = new ItemCoockedChicken(); else if (id == 373) item = new ItemPotion(metadata); else if (id == 383) item = new ItemSpawnEgg(metadata); else if (id == 391) item = new ItemCarrot(); else if (id == 392) item = new ItemPotato(); else if (id == 393) item = new ItemBakedPotato(); else if (id == 397) item = new ItemMobHead(metadata); else if (id == 400) item = new ItemPumpkinPie(); else if (id <= 255) { Block block = BlockFactory.GetBlockById((byte) id); if (CustomBlockItemFactory == null) { item = new ItemBlock(block, metadata); } else { item = CustomBlockItemFactory.GetBlockItem(block, metadata, count); } } else item = new Item(id, metadata, count); // This might now be a good idea if the constructor changes these // properties for custom items. item.Metadata = metadata; item.Count = count; return item; }
public bool SetFirstEmptySlot(Item item, bool update, bool reverseOrder) { if (reverseOrder) { for (int si = Slots.Count; si > 0; si--) { if (FirstEmptySlot(item, update, si - 1)) return true; } } else { for (int si = 0; si < Slots.Count; si++) { if (FirstEmptySlot(item, update, si)) return true; } } return false; }
public double GetMineTime(Item miningTool) { int multiplier = (int) miningTool.ItemMaterial; return Hardness*(1.5*multiplier); }
public void SetInventorySlot(int slot, Item item) { Slots[slot] = item; SendSetSlot(slot); }