Exemplo n.º 1
0
        public virtual List <WatchableObject> GetChangedObjects()
        {
            List <WatchableObject> arraylist = null;

            if (objectChanged)
            {
                System.Collections.IEnumerator iterator = watchedObjects.Values.GetEnumerator();
                do
                {
                    if (!iterator.MoveNext())
                    {
                        break;
                    }
                    net.minecraft.src.WatchableObject watchableobject = (net.minecraft.src.WatchableObject
                                                                         )iterator.Current;
                    if (watchableobject.GetWatching())
                    {
                        watchableobject.SetWatching(false);
                        if (arraylist == null)
                        {
                            arraylist = new List <WatchableObject>();
                        }
                        arraylist.Add(watchableobject);
                    }
                }while (true);
            }
            objectChanged = false;
            return(arraylist);
        }
Exemplo n.º 2
0
        // Referenced classes of package net.minecraft.src:
        //            WatchableObject, Packet, ItemStack, Item,
        //            ChunkCoordinates
        public virtual void AddObject(int i, object obj)
        {
            int integer = (int)dataTypes[Sharpen.Runtime.GetClassForObject(obj)];

            if (integer == null)
            {
                throw new System.ArgumentException((new java.lang.StringBuilder()).Append("Unknown data type: "
                                                                                          ).Append(Sharpen.Runtime.GetClassForObject(obj)).ToString());
            }
            if (i > 31)
            {
                throw new System.ArgumentException((new java.lang.StringBuilder()).Append("Data value id is too big with "
                                                                                          ).Append(i).Append("! (Max is ").Append(31).Append(")").ToString());
            }
            if (watchedObjects.Contains(i))
            {
                throw new System.ArgumentException((new java.lang.StringBuilder()).Append("Duplicate id value for "
                                                                                          ).Append(i).Append("!").ToString());
            }
            else
            {
                net.minecraft.src.WatchableObject watchableobject = new net.minecraft.src.WatchableObject
                                                                        (integer, i, obj);
                watchedObjects[i] = watchableobject;
                return;
            }
        }
Exemplo n.º 3
0
 public virtual void UpdateObject(int i, object obj)
 {
     net.minecraft.src.WatchableObject watchableobject = (net.minecraft.src.WatchableObject
                                                          )watchedObjects[i];
     if (!obj.Equals(watchableobject.GetObject()))
     {
         watchableobject.SetObject(obj);
         watchableobject.SetWatching(true);
         objectChanged = true;
     }
 }
Exemplo n.º 4
0
        /// <exception cref="System.IO.IOException"/>
        public static List <WatchableObject> ReadWatchableObjects(java.io.DataInputStream
                                                                  datainputstream)
        {
            List <WatchableObject> arraylist = null;

            for (byte byte0 = datainputstream.ReadByte(); byte0 != 127; byte0 = datainputstream
                                                                                .ReadByte())
            {
                if (arraylist == null)
                {
                    arraylist = new List <WatchableObject>();
                }
                int i = (byte0 & 0xe0) >> 5;
                int j = byte0 & 0x1f;
                net.minecraft.src.WatchableObject watchableobject = null;
                switch (i)
                {
                case 0:
                {
                    // '\0'
                    watchableobject = new net.minecraft.src.WatchableObject(i, j, datainputstream.ReadByte());
                    break;
                }

                case 1:
                {
                    // '\001'
                    watchableobject = new net.minecraft.src.WatchableObject(i, j, datainputstream.ReadShort());
                    break;
                }

                case 2:
                {
                    // '\002'
                    watchableobject = new net.minecraft.src.WatchableObject(i, j, datainputstream.ReadInt());
                    break;
                }

                case 3:
                {
                    // '\003'
                    watchableobject = new net.minecraft.src.WatchableObject(i, j, datainputstream.ReadFloat());
                    break;
                }

                case 4:
                {
                    // '\004'
                    watchableobject = new net.minecraft.src.WatchableObject(i, j, net.minecraft.src.Packet.ReadString(datainputstream, 64));
                    break;
                }

                case 5:
                {
                    // '\005'
                    short word0 = datainputstream.ReadShort();
                    byte  byte1 = datainputstream.ReadByte();
                    short word1 = datainputstream.ReadShort();
                    watchableobject = new net.minecraft.src.WatchableObject(i, j, new net.minecraft.src.ItemStack
                                                                                (word0, byte1, word1));
                    break;
                }

                case 6:
                {
                    // '\006'
                    int k  = datainputstream.ReadInt();
                    int l  = datainputstream.ReadInt();
                    int i1 = datainputstream.ReadInt();
                    watchableobject = new net.minecraft.src.WatchableObject(i, j, new net.minecraft.src.ChunkCoordinates
                                                                                (k, l, i1));
                    break;
                }
                }
                arraylist.Add(watchableobject);
            }
            return(arraylist);
        }
Exemplo n.º 5
0
        /// <exception cref="System.IO.IOException"/>
        private static void WriteWatchableObject(java.io.DataOutputStream dataoutputstream, net.minecraft.src.WatchableObject watchableobject)
        {
            int i = (watchableobject.GetObjectType() << 5 | watchableobject.GetDataValueId()
                     & 0x1f) & 0xff;

            dataoutputstream.WriteByte(i);
            switch (watchableobject.GetObjectType())
            {
            case 0:
            {
                // '\0'
                dataoutputstream.WriteByte(((byte)watchableobject.GetObject()));
                break;
            }

            case 1:
            {
                // '\001'
                dataoutputstream.WriteShort(((short)watchableobject.GetObject()));
                break;
            }

            case 2:
            {
                // '\002'
                dataoutputstream.WriteInt(((int)watchableobject.GetObject()));
                break;
            }

            case 3:
            {
                // '\003'
                dataoutputstream.WriteFloat(((float)watchableobject.GetObject()));
                break;
            }

            case 4:
            {
                // '\004'
                net.minecraft.src.Packet.WriteString((string)watchableobject.GetObject(), dataoutputstream
                                                     );
                break;
            }

            case 5:
            {
                // '\005'
                net.minecraft.src.ItemStack itemstack = (net.minecraft.src.ItemStack)watchableobject
                                                        .GetObject();
                dataoutputstream.WriteShort(itemstack.GetItem().ID);
                dataoutputstream.WriteByte(itemstack.stackSize);
                dataoutputstream.WriteShort(itemstack.GetItemDamage());
                break;
            }

            case 6:
            {
                // '\006'
                net.minecraft.src.ChunkCoordinates chunkcoordinates = (net.minecraft.src.ChunkCoordinates
                                                                       )watchableobject.GetObject();
                dataoutputstream.WriteInt(chunkcoordinates.posX);
                dataoutputstream.WriteInt(chunkcoordinates.posY);
                dataoutputstream.WriteInt(chunkcoordinates.posZ);
                break;
            }
            }
        }