Ejemplo n.º 1
0
        /// <summary>
        /// Deserializes the recipe
        /// </summary>
        /// <param name="reader"></param>
        /// <param name="resolver"></param>
        public void FromBytes(BinaryReader reader, IWorldAccessor resolver)
        {
            Width  = reader.ReadInt32();
            Height = reader.ReadInt32();
            Output = new CraftingRecipeIngredient();
            Output.FromBytes(reader, resolver);
            Shapeless = reader.ReadBoolean();

            resolvedIngredients = new CraftingRecipeIngredient[Width * Height];
            for (int i = 0; i < resolvedIngredients.Length; i++)
            {
                bool isnull = reader.ReadBoolean();
                if (isnull)
                {
                    continue;
                }

                resolvedIngredients[i] = new CraftingRecipeIngredient();
                resolvedIngredients[i].FromBytes(reader, resolver);
            }

            Name = new AssetLocation(reader.ReadString());

            if (!reader.ReadBoolean())
            {
                string json = reader.ReadString();
                Attributes = new JsonObject(JToken.Parse(json));
            }

            if (reader.ReadBoolean())
            {
                RequiresTrait = reader.ReadString();
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Deserializes the alloy
        /// </summary>
        /// <param name="reader"></param>
        /// <param name="resolver"></param>
        public void FromBytes(BinaryReader reader, IWorldAccessor resolver)
        {
            Ingredient = new CraftingRecipeIngredient();
            RecipeId   = reader.ReadInt32();

            Ingredient.FromBytes(reader, resolver);

            int len = reader.ReadInt32();

            Pattern = new string[len][];
            for (int i = 0; i < Pattern.Length; i++)
            {
                Pattern[i] = reader.ReadStringArray();
            }

            Name = new AssetLocation(reader.ReadString());

            Output = new JsonItemStack();
            Output.FromBytes(reader, resolver.ClassRegistry);
            Output.Resolve(resolver, "[FromBytes]");
            GenVoxels();
        }