/// <summary> /// Reads from the given tag list and fills the slots in the inventory with the correct items. /// </summary> public virtual void ReadFromNBT(NBTTagList par1NBTTagList) { MainInventory = new ItemStack[36]; ArmorInventory = new ItemStack[4]; for (int i = 0; i < par1NBTTagList.TagCount(); i++) { NBTTagCompound nbttagcompound = (NBTTagCompound)par1NBTTagList.TagAt(i); int j = nbttagcompound.GetByte("Slot") & 0xff; ItemStack itemstack = ItemStack.LoadItemStackFromNBT(nbttagcompound); if (itemstack == null) { continue; } if (j >= 0 && j < MainInventory.Length) { MainInventory[j] = itemstack; } if (j >= 100 && j < ArmorInventory.Length + 100) { ArmorInventory[j - 100] = itemstack; } } }
public static AnvilConverterData Load(NBTTagCompound par0NBTTagCompound) { int i = par0NBTTagCompound.GetInteger("xPos"); int j = par0NBTTagCompound.GetInteger("zPos"); AnvilConverterData anvilconverterdata = new AnvilConverterData(i, j); anvilconverterdata.Blocks = par0NBTTagCompound.GetByteArray("Blocks"); anvilconverterdata.Data = new NibbleArrayReader(par0NBTTagCompound.GetByteArray("Data"), 7); anvilconverterdata.SkyLight = new NibbleArrayReader(par0NBTTagCompound.GetByteArray("SkyLight"), 7); anvilconverterdata.BlockLight = new NibbleArrayReader(par0NBTTagCompound.GetByteArray("BlockLight"), 7); anvilconverterdata.Heightmap = par0NBTTagCompound.GetByteArray("HeightMap"); anvilconverterdata.TerrainPopulated = par0NBTTagCompound.Getbool("TerrainPopulated"); anvilconverterdata.Entities = par0NBTTagCompound.GetTagList("Entities"); anvilconverterdata.TileEntities = par0NBTTagCompound.GetTagList("TileEntities"); anvilconverterdata.TileTicks = par0NBTTagCompound.GetTagList("TileTicks"); //try { anvilconverterdata.LastUpdated = par0NBTTagCompound.GetLong("LastUpdate"); } /* * catch (ClassCastException classcastexception) * { * anvilconverterdata.LastUpdated = par0NBTTagCompound.GetInteger("LastUpdate"); * }*/ return(anvilconverterdata); }
/// <summary> /// Writes the inventory out as a list of compound tags. This is where the slot indices are used (+100 for armor, +80 /// for crafting). /// </summary> public virtual NBTTagList WriteToNBT(NBTTagList par1NBTTagList) { for (int i = 0; i < MainInventory.Length; i++) { if (MainInventory[i] != null) { NBTTagCompound nbttagcompound = new NBTTagCompound(); nbttagcompound.SetByte("Slot", (byte)i); MainInventory[i].WriteToNBT(nbttagcompound); par1NBTTagList.AppendTag(nbttagcompound); } } for (int j = 0; j < ArmorInventory.Length; j++) { if (ArmorInventory[j] != null) { NBTTagCompound nbttagcompound1 = new NBTTagCompound(); nbttagcompound1.SetByte("Slot", (byte)(j + 100)); ArmorInventory[j].WriteToNBT(nbttagcompound1); par1NBTTagList.AppendTag(nbttagcompound1); } } return(par1NBTTagList); }
public NBTTagList writeToNBT(NBTTagList nbttaglist) { for (int i = 0; i < mainInventory.Length; i++) { if (mainInventory[i] != null) { var nbttagcompound = new NBTTagCompound(); nbttagcompound.setByte("Slot", (byte)i); mainInventory[i].writeToNBT(nbttagcompound); nbttaglist.setTag(nbttagcompound); } } for (int j = 0; j < armorInventory.Length; j++) { if (armorInventory[j] != null) { var nbttagcompound1 = new NBTTagCompound(); nbttagcompound1.setByte("Slot", (byte)(j + 100)); armorInventory[j].writeToNBT(nbttagcompound1); nbttaglist.setTag(nbttagcompound1); } } return(nbttaglist); }
/// <summary> /// Writes a tile entity to NBT. /// </summary> public override void WriteToNBT(NBTTagCompound par1NBTTagCompound) { base.WriteToNBT(par1NBTTagCompound); if (Record > 0) { par1NBTTagCompound.SetInteger("Record", Record); } }
public virtual void WriteCapabilitiesToNBT(NBTTagCompound par1NBTTagCompound) { NBTTagCompound nbttagcompound = new NBTTagCompound(); nbttagcompound.Setbool("invulnerable", DisableDamage); nbttagcompound.Setbool("flying", IsFlying); nbttagcompound.Setbool("mayfly", AllowFlying); nbttagcompound.Setbool("instabuild", IsCreativeMode); par1NBTTagCompound.SetTag("abilities", nbttagcompound); }
public virtual void ReadCapabilitiesFromNBT(NBTTagCompound par1NBTTagCompound) { if (par1NBTTagCompound.HasKey("abilities")) { NBTTagCompound nbttagcompound = par1NBTTagCompound.GetCompoundTag("abilities"); DisableDamage = nbttagcompound.Getbool("invulnerable"); IsFlying = nbttagcompound.Getbool("flying"); AllowFlying = nbttagcompound.Getbool("mayfly"); IsCreativeMode = nbttagcompound.Getbool("instabuild"); } }
public override void readFromNBT(NBTTagCompound nbttagcompound) { base.readFromNBT(nbttagcompound); note = nbttagcompound.getByte("note"); if (note < 0) { note = 0; } if (note > 24) { note = 24; } }
public override void readFromNBT(NBTTagCompound nbttagcompound) { base.readFromNBT(nbttagcompound); NBTTagList nbttaglist = nbttagcompound.getTagList("Items"); chestContents = new ItemStack[getSizeInventory()]; for (int i = 0; i < nbttaglist.tagCount(); i++) { var nbttagcompound1 = (NBTTagCompound) nbttaglist.tagAt(i); int j = nbttagcompound1.getByte("Slot") & 0xff; if (j >= 0 && j < chestContents.Length) { chestContents[j] = new ItemStack(nbttagcompound1); } } }
/// <summary> /// Reads a tile entity from NBT. /// </summary> public override void ReadFromNBT(NBTTagCompound par1NBTTagCompound) { base.ReadFromNBT(par1NBTTagCompound); Note = par1NBTTagCompound.GetByte("note"); if (Note < 0) { Note = 0; } if (Note > 24) { Note = 24; } }
public override void readFromNBT(NBTTagCompound nbttagcompound) { base.readFromNBT(nbttagcompound); NBTTagList nbttaglist = nbttagcompound.getTagList("Items"); chestContents = new ItemStack[getSizeInventory()]; for (int i = 0; i < nbttaglist.tagCount(); i++) { var nbttagcompound1 = (NBTTagCompound)nbttaglist.tagAt(i); int j = nbttagcompound1.getByte("Slot") & 0xff; if (j >= 0 && j < chestContents.Length) { chestContents[j] = new ItemStack(nbttagcompound1); } } }
public NBTTagCompound ImageConvert(Bitmap bmp, bool IsSchematic, ref BackgroundWorker bw) { var schema = new SilverNBTLibrary.Structure.Schematic(bmp.Width, 1, bmp.Height); var mapbyte = new byte[16384]; var compound = new NBTTagCompound(); int i = 0; using (BitmapAccessor accessor = new BitmapAccessor(bmp)) { for (int y = 0; y < bmp.Height; y++) { for (int x = 0; x < bmp.Width; x++) { Color bitmapRGB = accessor.GetPixel(x, y); var block = IsSchematic ? RGBToBlockColor(bitmapRGB) : RGBToMapColor(bitmapRGB); if (IsSchematic) { schema.SetBlock(x, 0, y, block.ID, block.Meta); } else { mapbyte[i] = (byte)block.ID; i++; } } bw.ReportProgress(y); } } if (IsSchematic) { compound = schema.SaveToNBT(); } else { var map = new NBTTagByteArray("colors", mapbyte); compound = NBTFile.LoadFromFile(System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase + @"\data\MapTemplate.dat"); var data = (NBTTagCompound)compound.GetTag("data"); data.Add(map); } bmp.Dispose(); return(compound); }
/// <summary> /// Writes a tile entity to NBT. /// </summary> public override void WriteToNBT(NBTTagCompound par1NBTTagCompound) { base.WriteToNBT(par1NBTTagCompound); NBTTagList nbttaglist = new NBTTagList(); for (int i = 0; i < ChestContents.Length; i++) { if (ChestContents[i] != null) { NBTTagCompound nbttagcompound = new NBTTagCompound(); nbttagcompound.SetByte("Slot", (byte)i); ChestContents[i].WriteToNBT(nbttagcompound); nbttaglist.AppendTag(nbttagcompound); } } par1NBTTagCompound.SetTag("Items", nbttaglist); }
/// <summary> /// Reads a tile entity from NBT. /// </summary> public override void ReadFromNBT(NBTTagCompound par1NBTTagCompound) { base.ReadFromNBT(par1NBTTagCompound); NBTTagList nbttaglist = par1NBTTagCompound.GetTagList("Items"); ChestContents = new ItemStack[GetSizeInventory()]; for (int i = 0; i < nbttaglist.TagCount(); i++) { NBTTagCompound nbttagcompound = (NBTTagCompound)nbttaglist.TagAt(i); int j = nbttagcompound.GetByte("Slot") & 0xff; if (j >= 0 && j < ChestContents.Length) { ChestContents[j] = ItemStack.LoadItemStackFromNBT(nbttagcompound); } } }
public override void writeToNBT(NBTTagCompound nbttagcompound) { base.writeToNBT(nbttagcompound); var nbttaglist = new NBTTagList(); for (int i = 0; i < chestContents.Length; i++) { if (chestContents[i] != null) { var nbttagcompound1 = new NBTTagCompound(); nbttagcompound1.setByte("Slot", (byte)i); chestContents[i].writeToNBT(nbttagcompound1); nbttaglist.setTag(nbttagcompound1); } } nbttagcompound.setTag("Items", nbttaglist); }
/// <summary> /// Writes a tile entity to NBT. /// </summary> public override void WriteToNBT(NBTTagCompound par1NBTTagCompound) { base.WriteToNBT(par1NBTTagCompound); par1NBTTagCompound.SetShort("BurnTime", (short)FurnaceBurnTime); par1NBTTagCompound.SetShort("CookTime", (short)FurnaceCookTime); NBTTagList nbttaglist = new NBTTagList(); for (int i = 0; i < FurnaceItemStacks.Length; i++) { if (FurnaceItemStacks[i] != null) { NBTTagCompound nbttagcompound = new NBTTagCompound(); nbttagcompound.SetByte("Slot", (byte)i); FurnaceItemStacks[i].WriteToNBT(nbttagcompound); nbttaglist.AppendTag(nbttagcompound); } } par1NBTTagCompound.SetTag("Items", nbttaglist); }
public override void readFromNBT(NBTTagCompound nbttagcompound) { base.readFromNBT(nbttagcompound); NBTTagList nbttaglist = nbttagcompound.getTagList("Items"); furnaceItemStacks = new ItemStack[getSizeInventory()]; for (int i = 0; i < nbttaglist.tagCount(); i++) { var nbttagcompound1 = (NBTTagCompound)nbttaglist.tagAt(i); byte byte0 = nbttagcompound1.getByte("Slot"); if (byte0 >= 0 && byte0 < furnaceItemStacks.Length) { furnaceItemStacks[byte0] = new ItemStack(nbttagcompound1); } } furnaceBurnTime = nbttagcompound.getShort("BurnTime"); furnaceCookTime = nbttagcompound.getShort("CookTime"); currentItemBurnTime = getItemBurnTime(furnaceItemStacks[1]); }
public override void writeToNBT(NBTTagCompound nbttagcompound) { base.writeToNBT(nbttagcompound); nbttagcompound.setShort("BurnTime", (short)furnaceBurnTime); nbttagcompound.setShort("CookTime", (short)furnaceCookTime); var nbttaglist = new NBTTagList(); for (int i = 0; i < furnaceItemStacks.Length; i++) { if (furnaceItemStacks[i] != null) { var nbttagcompound1 = new NBTTagCompound(); nbttagcompound1.setByte("Slot", (byte)i); furnaceItemStacks[i].writeToNBT(nbttagcompound1); nbttaglist.setTag(nbttagcompound1); } } nbttagcompound.setTag("Items", nbttaglist); }
public static Boolean Equals(NBTTagCompound A, NBTTagCompound B) { Int32 Value = 0; if (A != null) { Value++; } if (B != null) { Value++; } if (Value == 0) { return(true); } if (Value == 1) { return(false); } if (A.Count != B.Count || A.Name != B.Name) { return(false); } for (Int32 I = 0; I < A.Count; I++) { ITag Item = A[I]; ITag Compare = B[Item.Name]; if (Item == null || !Item.Equals(Compare)) { return(false); } } return(true); }
/// <summary> /// Reads a tile entity from NBT. /// </summary> public override void ReadFromNBT(NBTTagCompound par1NBTTagCompound) { base.ReadFromNBT(par1NBTTagCompound); NBTTagList nbttaglist = par1NBTTagCompound.GetTagList("Items"); FurnaceItemStacks = new ItemStack[GetSizeInventory()]; for (int i = 0; i < nbttaglist.TagCount(); i++) { NBTTagCompound nbttagcompound = (NBTTagCompound)nbttaglist.TagAt(i); byte byte0 = nbttagcompound.GetByte("Slot"); if (byte0 >= 0 && byte0 < FurnaceItemStacks.Length) { FurnaceItemStacks[byte0] = ItemStack.LoadItemStackFromNBT(nbttagcompound); } } FurnaceBurnTime = par1NBTTagCompound.GetShort("BurnTime"); FurnaceCookTime = par1NBTTagCompound.GetShort("CookTime"); CurrentItemBurnTime = GetItemBurnTime(FurnaceItemStacks[1]); }
public override void writeEntityToNBT(NBTTagCompound nbttagcompound) { nbttagcompound.setByte("Tile", (byte) blockID); }
/// <summary> /// (abstract) Protected helper method to read subclass entity data from NBT. /// </summary> public override void ReadEntityFromNBT(NBTTagCompound par1NBTTagCompound) { base.ReadEntityFromNBT(par1NBTTagCompound); }
/// <summary> /// (abstract) Protected helper method to write subclass entity data to NBT. /// </summary> public override void WriteEntityToNBT(NBTTagCompound par1NBTTagCompound) { base.WriteEntityToNBT(par1NBTTagCompound); }
public override void writeToNBT(NBTTagCompound nbttagcompound) { base.writeToNBT(nbttagcompound); var nbttaglist = new NBTTagList(); for (int i = 0; i < chestContents.Length; i++) { if (chestContents[i] != null) { var nbttagcompound1 = new NBTTagCompound(); nbttagcompound1.setByte("Slot", (byte) i); chestContents[i].writeToNBT(nbttagcompound1); nbttaglist.setTag(nbttagcompound1); } } nbttagcompound.setTag("Items", nbttaglist); }
public override void writeToNBT(NBTTagCompound nbttagcompound) { base.writeToNBT(nbttagcompound); nbttagcompound.setByte("note", note); }
public override void writeToNBT(NBTTagCompound nbttagcompound) { base.writeToNBT(nbttagcompound); nbttagcompound.setShort("BurnTime", (short) furnaceBurnTime); nbttagcompound.setShort("CookTime", (short) furnaceCookTime); var nbttaglist = new NBTTagList(); for (int i = 0; i < furnaceItemStacks.Length; i++) { if (furnaceItemStacks[i] != null) { var nbttagcompound1 = new NBTTagCompound(); nbttagcompound1.setByte("Slot", (byte) i); furnaceItemStacks[i].writeToNBT(nbttagcompound1); nbttaglist.setTag(nbttagcompound1); } } nbttagcompound.setTag("Items", nbttaglist); }
/// <summary>Creates a new instance of <see cref="CompoundBuilder"/></summary> /// <param name="Base">The base to use</param> public CompoundBuilder(NBTTagCompound Base) { this._Tag = Base; }
public override void readFromNBT(NBTTagCompound nbttagcompound) { base.readFromNBT(nbttagcompound); NBTTagList nbttaglist = nbttagcompound.getTagList("Items"); furnaceItemStacks = new ItemStack[getSizeInventory()]; for (int i = 0; i < nbttaglist.tagCount(); i++) { var nbttagcompound1 = (NBTTagCompound) nbttaglist.tagAt(i); byte byte0 = nbttagcompound1.getByte("Slot"); if (byte0 >= 0 && byte0 < furnaceItemStacks.Length) { furnaceItemStacks[byte0] = new ItemStack(nbttagcompound1); } } furnaceBurnTime = nbttagcompound.getShort("BurnTime"); furnaceCookTime = nbttagcompound.getShort("CookTime"); currentItemBurnTime = getItemBurnTime(furnaceItemStacks[1]); }
public override void readFromNBT(NBTTagCompound nbttagcompound) { base.readFromNBT(nbttagcompound); mobID = nbttagcompound.getString("EntityId"); delay = nbttagcompound.getShort("Delay"); }
public override void writeEntityToNBT(NBTTagCompound nbttagcompound) { base.writeEntityToNBT(nbttagcompound); }
public override void readEntityFromNBT(NBTTagCompound nbttagcompound) { base.readEntityFromNBT(nbttagcompound); }
public override void readEntityFromNBT(NBTTagCompound nbttagcompound) { blockID = nbttagcompound.getByte("Tile") & 0xff; }
public static void ConvertToAnvilFormat(AnvilConverterData par0AnvilConverterData, NBTTagCompound par1NBTTagCompound, WorldChunkManager par2WorldChunkManager) { par1NBTTagCompound.SetInteger("xPos", par0AnvilConverterData.x); par1NBTTagCompound.SetInteger("zPos", par0AnvilConverterData.z); par1NBTTagCompound.SetLong("LastUpdate", par0AnvilConverterData.LastUpdated); int[] ai = new int[par0AnvilConverterData.Heightmap.Length]; for (int i = 0; i < par0AnvilConverterData.Heightmap.Length; i++) { ai[i] = par0AnvilConverterData.Heightmap[i]; } par1NBTTagCompound.Func_48183_a("HeightMap", ai); par1NBTTagCompound.Setbool("TerrainPopulated", par0AnvilConverterData.TerrainPopulated); NBTTagList nbttaglist = new NBTTagList("Sections"); for (int j = 0; j < 8; j++) { bool flag = true; for (int l = 0; l < 16 && flag; l++) { label0: for (int j1 = 0; j1 < 16 && flag; j1++) { int k1 = 0; do { if (k1 >= 16) { goto label0; } int l1 = l << 11 | k1 << 7 | j1 + (j << 4); byte byte0 = par0AnvilConverterData.Blocks[l1]; if (byte0 != 0) { flag = false; goto label0; } k1++; }while (true); } } if (flag) { continue; } byte[] abyte1 = new byte[4096]; NibbleArray nibblearray = new NibbleArray(abyte1.Length, 4); NibbleArray nibblearray1 = new NibbleArray(abyte1.Length, 4); NibbleArray nibblearray2 = new NibbleArray(abyte1.Length, 4); for (int i2 = 0; i2 < 16; i2++) { for (int j2 = 0; j2 < 16; j2++) { for (int k2 = 0; k2 < 16; k2++) { int l2 = i2 << 11 | k2 << 7 | j2 + (j << 4); byte byte1 = par0AnvilConverterData.Blocks[l2]; abyte1[j2 << 8 | k2 << 4 | i2] = (byte)(byte1 & 0xff); nibblearray.Set(i2, j2, k2, par0AnvilConverterData.Data.Get(i2, j2 + (j << 4), k2)); nibblearray1.Set(i2, j2, k2, par0AnvilConverterData.SkyLight.Get(i2, j2 + (j << 4), k2)); nibblearray2.Set(i2, j2, k2, par0AnvilConverterData.BlockLight.Get(i2, j2 + (j << 4), k2)); } } } NBTTagCompound nbttagcompound = new NBTTagCompound(); nbttagcompound.SetByte("Y", (byte)(j & 0xff)); nbttagcompound.SetByteArray("Blocks", abyte1); nbttagcompound.SetByteArray("Data", nibblearray.Data); nbttagcompound.SetByteArray("SkyLight", nibblearray1.Data); nbttagcompound.SetByteArray("BlockLight", nibblearray2.Data); nbttaglist.AppendTag(nbttagcompound); } par1NBTTagCompound.SetTag("Sections", nbttaglist); byte[] abyte0 = new byte[256]; for (int k = 0; k < 16; k++) { for (int i1 = 0; i1 < 16; i1++) { abyte0[i1 << 4 | k] = (byte)(par2WorldChunkManager.GetBiomeGenAt(par0AnvilConverterData.x << 4 | k, par0AnvilConverterData.z << 4 | i1).BiomeID & 0xff); } } par1NBTTagCompound.SetByteArray("Biomes", abyte0); par1NBTTagCompound.SetTag("Entities", par0AnvilConverterData.Entities); par1NBTTagCompound.SetTag("TileEntities", par0AnvilConverterData.TileEntities); if (par0AnvilConverterData.TileTicks != null) { par1NBTTagCompound.SetTag("TileTicks", par0AnvilConverterData.TileTicks); } }
/// <summary> /// Reads a tile entity from NBT. /// </summary> public override void ReadFromNBT(NBTTagCompound par1NBTTagCompound) { base.ReadFromNBT(par1NBTTagCompound); Record = par1NBTTagCompound.GetInteger("Record"); }
/// <summary> /// (abstract) Protected helper method to read subclass entity data from NBT. /// </summary> public override void ReadEntityFromNBT(NBTTagCompound nbttagcompound) { }
/// <summary> /// (abstract) Protected helper method to write subclass entity data to NBT. /// </summary> public override void WriteEntityToNBT(NBTTagCompound nbttagcompound) { }
public override void writeEntityToNBT(NBTTagCompound nbttagcompound) { base.writeEntityToNBT(nbttagcompound); nbttagcompound.setInteger("Size", slimeSize - 1); }
public override void readEntityFromNBT(NBTTagCompound nbttagcompound) { base.readEntityFromNBT(nbttagcompound); slimeSize = nbttagcompound.getInteger("Size") + 1; }
public override void writeToNBT(NBTTagCompound nbttagcompound) { base.writeToNBT(nbttagcompound); nbttagcompound.setString("EntityId", mobID); nbttagcompound.setShort("Delay", (short) delay); }