Added in prismatic ore vein, nugget, and furnace recipe. Also added in gemstone to nugget or shard depending on config.

This commit is contained in:
JoshuaNavarro 2019-08-29 19:51:13 -07:00
parent 44d63f0a13
commit 7143d4548c
10 changed files with 1362 additions and 31 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 237 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 605 B

View File

@ -0,0 +1,24 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Revitalize.Framework.Configs
{
/// <summary>
/// Handles holding all of the config information.
/// </summary>
public class ConfigManager
{
/// <summary>
/// The config file for vanilla machine recipes.
/// </summary>
public VanillaMachineRecipeConfig vanillaMachineConfig;
public ConfigManager()
{
this.vanillaMachineConfig = VanillaMachineRecipeConfig.InitializeConfig();
}
}
}

View File

@ -0,0 +1,36 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Revitalize.Framework.Environment;
namespace Revitalize.Framework.Configs
{
public class VanillaMachineRecipeConfig
{
/// <summary>
/// Should the more expensive recipe be used for smelting. If true the 7 gems smelt a sigle nugget. If false they smelt a prismatic shard after 7 days.
/// </summary>
public bool ExpensiveGemstoneToPrismaticFurnaceRecipe;
public VanillaMachineRecipeConfig()
{
this.ExpensiveGemstoneToPrismaticFurnaceRecipe = false;
}
public static VanillaMachineRecipeConfig InitializeConfig()
{
if (File.Exists(Path.Combine(ModCore.ModHelper.DirectoryPath, "Configs", "VanillaMachineRecipeConfig.json")))
return ModCore.ModHelper.Data.ReadJsonFile<VanillaMachineRecipeConfig>(Path.Combine("Configs", "VanillaMachineRecipeConfig.json"));
else
{
VanillaMachineRecipeConfig Config = new VanillaMachineRecipeConfig();
ModCore.ModHelper.Data.WriteJsonFile<VanillaMachineRecipeConfig>(Path.Combine("Configs", "VanillaMachineRecipeConfig.json"), Config);
return Config;
}
}
}
}

View File

@ -35,7 +35,7 @@ namespace Revitalize.Framework.Crafting
VanillaRecipe furnace_tinOre = new VanillaRecipe(new Dictionary<Item, int>()
{
{ModCore.ObjectManager.resources.getOre("Tin"),5 },
{new StardewValley.Object(382,1),1}
{new StardewValley.Object((int)Enums.SDVObject.Coal,1),1}
}, new KeyValuePair<Item, int>(ModCore.ObjectManager.GetItem("TinIngot"), 1), TimeUtilities.GetMinutesFromTime(0,0,50), new StatCost(), false);
this.recipesByObjectName["Furnace"].Add("Tin Ore", furnace_tinOre);
@ -43,7 +43,7 @@ namespace Revitalize.Framework.Crafting
VanillaRecipe furnace_bauxiteOre = new VanillaRecipe(new Dictionary<Item, int>()
{
{ModCore.ObjectManager.resources.getOre("Bauxite"),5 },
{new StardewValley.Object(382,1),1}
{new StardewValley.Object((int)Enums.SDVObject.Coal,1),1}
}, new KeyValuePair<Item, int>(ModCore.ObjectManager.GetItem("AluminumIngot"), 1), TimeUtilities.GetMinutesFromTime(0,1,30), new StatCost(), false);
this.recipesByObjectName["Furnace"].Add("Bauxite Ore", furnace_bauxiteOre);
@ -51,7 +51,7 @@ namespace Revitalize.Framework.Crafting
VanillaRecipe furnace_leadOre = new VanillaRecipe(new Dictionary<Item, int>()
{
{ModCore.ObjectManager.resources.getOre("Lead"),5 },
{new StardewValley.Object(382,1),1}
{new StardewValley.Object((int)Enums.SDVObject.Coal,1),1}
}, new KeyValuePair<Item, int>(ModCore.ObjectManager.GetItem("LeadIngot"), 1), TimeUtilities.GetMinutesFromTime(0,2,0), new StatCost(), false);
this.recipesByObjectName["Furnace"].Add("Lead Ore", furnace_leadOre);
@ -59,7 +59,7 @@ namespace Revitalize.Framework.Crafting
VanillaRecipe furnace_silverOre = new VanillaRecipe(new Dictionary<Item, int>()
{
{ModCore.ObjectManager.resources.getOre("Silver"),5 },
{new StardewValley.Object(382,1),1}
{new StardewValley.Object((int)Enums.SDVObject.Coal,1),1}
}, new KeyValuePair<Item, int>(ModCore.ObjectManager.GetItem("SilverIngot"), 1), TimeUtilities.GetMinutesFromTime(0,3,0), new StatCost(), false);
this.recipesByObjectName["Furnace"].Add("Silver Ore", furnace_silverOre);
@ -67,10 +67,64 @@ namespace Revitalize.Framework.Crafting
VanillaRecipe furnace_titaniumOre = new VanillaRecipe(new Dictionary<Item, int>()
{
{ModCore.ObjectManager.resources.getOre("Titanium"),5 },
{new StardewValley.Object(382,1),1}
{new StardewValley.Object((int)Enums.SDVObject.Coal,1),1}
}, new KeyValuePair<Item, int>(ModCore.ObjectManager.GetItem("TitaniumIngot"), 1), TimeUtilities.GetMinutesFromTime(0,4,0), new StatCost(), false);
this.recipesByObjectName["Furnace"].Add("Titanium Ore", furnace_titaniumOre);
VanillaRecipe furnace_prismaticNugget = new VanillaRecipe(new Dictionary<Item, int>()
{
{ModCore.ObjectManager.resources.getOre("PrismaticNugget"),7 },
{new StardewValley.Object((int)Enums.SDVObject.Coal,1),1}
}, new KeyValuePair<Item, int>(new StardewValley.Object((int)Enums.SDVObject.PrismaticShard,1), 1), TimeUtilities.GetMinutesFromTime(0, 7, 0), new StatCost(), false);
this.recipesByObjectName["Furnace"].Add("Prismatic Nugget", furnace_prismaticNugget);
if (ModCore.Configs.vanillaMachineConfig.ExpensiveGemstoneToPrismaticFurnaceRecipe)
{
VanillaRecipe furnace_gemsToPrismaticNugget = new VanillaRecipe(new Dictionary<Item, int>()
{
{new StardewValley.Object((int)Enums.SDVObject.Emerald,1),1},
{new StardewValley.Object((int)Enums.SDVObject.Aquamarine,1),1},
{new StardewValley.Object((int)Enums.SDVObject.Ruby,1),1},
{new StardewValley.Object((int)Enums.SDVObject.Amethyst,1),1},
{new StardewValley.Object((int)Enums.SDVObject.Topaz,1),1},
{new StardewValley.Object((int)Enums.SDVObject.Jade,1),1},
{new StardewValley.Object((int)Enums.SDVObject.Diamond,1),1},
{new StardewValley.Object((int)Enums.SDVObject.Coal,1),1}
}, new KeyValuePair<Item, int>(ModCore.ObjectManager.resources.getOre("PrismaticNugget"), 1), TimeUtilities.GetMinutesFromTime(7, 0, 0), new StatCost(), false);
this.recipesByObjectName["Furnace"].Add("Emerald", furnace_gemsToPrismaticNugget);
this.recipesByObjectName["Furnace"].Add("Aquamarine", furnace_gemsToPrismaticNugget);
this.recipesByObjectName["Furnace"].Add("Ruby", furnace_gemsToPrismaticNugget);
this.recipesByObjectName["Furnace"].Add("Amethyst", furnace_gemsToPrismaticNugget);
this.recipesByObjectName["Furnace"].Add("Topaz", furnace_gemsToPrismaticNugget);
this.recipesByObjectName["Furnace"].Add("Jade", furnace_gemsToPrismaticNugget);
this.recipesByObjectName["Furnace"].Add("Diamond", furnace_gemsToPrismaticNugget);
}
else
{
VanillaRecipe furnace_gemsToPrismaticShard = new VanillaRecipe(new Dictionary<Item, int>()
{
{new StardewValley.Object((int)Enums.SDVObject.Emerald,1),1},
{new StardewValley.Object((int)Enums.SDVObject.Aquamarine,1),1},
{new StardewValley.Object((int)Enums.SDVObject.Ruby,1),1},
{new StardewValley.Object((int)Enums.SDVObject.Amethyst,1),1},
{new StardewValley.Object((int)Enums.SDVObject.Topaz,1),1},
{new StardewValley.Object((int)Enums.SDVObject.Jade,1),1},
{new StardewValley.Object((int)Enums.SDVObject.Diamond,1),1},
{new StardewValley.Object((int)Enums.SDVObject.Coal,1),1}
}, new KeyValuePair<Item, int>(new StardewValley.Object((int)Enums.SDVObject.PrismaticShard,1), 1), TimeUtilities.GetMinutesFromTime(7, 0, 0), new StatCost(), false);
this.recipesByObjectName["Furnace"].Add("Emerald", furnace_gemsToPrismaticShard);
this.recipesByObjectName["Furnace"].Add("Aquamarine", furnace_gemsToPrismaticShard);
this.recipesByObjectName["Furnace"].Add("Ruby", furnace_gemsToPrismaticShard);
this.recipesByObjectName["Furnace"].Add("Amethyst", furnace_gemsToPrismaticShard);
this.recipesByObjectName["Furnace"].Add("Topaz", furnace_gemsToPrismaticShard);
this.recipesByObjectName["Furnace"].Add("Jade", furnace_gemsToPrismaticShard);
this.recipesByObjectName["Furnace"].Add("Diamond", furnace_gemsToPrismaticShard);
}
}
/// <summary>

File diff suppressed because it is too large Load Diff

View File

@ -1,8 +1,17 @@
namespace Revitalize.Framework.Environment
{
/// <summary>
/// Deals with configurations for darker night.
/// </summary>
public class DarkerNightConfig
{
/// <summary>
/// Is darker night enabled?
/// </summary>
public bool Enabled;
/// <summary>
/// The intensity for how dark it gets at night.
/// </summary>
public float DarknessIntensity;
public DarkerNightConfig()
{

View File

@ -130,7 +130,7 @@ namespace Revitalize.Framework.Objects
/// Serializes an example ore to eb
/// </summary>
private void serializeOreVeins() {
OreVeinObj tinOre = new OreVeinObj(PyTKHelper.CreateOBJData("Omegasis.Revitalize.Resources.Ore.Tin", TextureManager.GetTexture(ModCore.Manifest, "Resources.Ore", "Tin"), typeof(OreVeinTile), Color.White), new BasicItemInformation("Tin Ore Vein", "Omegasis.Revitalize.Resources.Ore.Tin", "A ore vein that is full of tin.", "Revitalize.Ore", Color.Black, -300, 0, false, 350, true, true, TextureManager.GetTexture(ModCore.Manifest, "Resources.Ore", "Tin"), new AnimationManager(TextureManager.GetExtendedTexture(ModCore.Manifest, "Resources.Ore", "Tin"), new Animation(0, 0, 16, 16)), Color.White, false, null, null));
OreVeinObj tinOre = new OreVeinObj(PyTKHelper.CreateOBJData("Omegasis.Revitalize.Resources.Ore.Tin", TextureManager.GetTexture(ModCore.Manifest, "Resources.Ore", "Tin"), typeof(OreVeinObj), Color.White), new BasicItemInformation("Tin Ore Vein", "Omegasis.Revitalize.Resources.Ore.Tin", "A ore vein that is full of tin.", "Revitalize.Ore", Color.Black, -300, 0, false, 350, true, true, TextureManager.GetTexture(ModCore.Manifest, "Resources.Ore", "Tin"), new AnimationManager(TextureManager.GetExtendedTexture(ModCore.Manifest, "Resources.Ore", "Tin"), new Animation(0, 0, 16, 16)), Color.White, false, null, null));
OreVeinTile tinOre_0_0= new OreVeinTile(PyTKHelper.CreateOBJData("Omegasis.Revitalize.Resources.Ore.Tin", TextureManager.GetTexture(ModCore.Manifest, "Resources.Ore", "Tin"), typeof(OreVeinTile), Color.White), new BasicItemInformation("Tin Ore Vein", "Omegasis.Revitalize.Resources.Ore.Tin", "A ore vein that is full of tin.", "Revitalize.Ore", Color.Black, -300, 0, false, 350, true, true, TextureManager.GetTexture(ModCore.Manifest, "Resources.Ore", "Tin"), new AnimationManager(TextureManager.GetExtendedTexture(ModCore.Manifest, "Resources.Ore", "Tin"), new Animation(0, 0, 16, 16)), Color.White, false, null, null),
new InformationFiles.OreResourceInformation(this.getOre("Tin"), true, true, true, false, new List<IntRange>()
{
@ -150,7 +150,7 @@ namespace Revitalize.Framework.Objects
ModCore.Serializer.SerializeContentFile("TinOre", tinOre_file, Path.Combine(this.oreResourceDataPath, "TinOre"));
OreVeinObj bauxiteOre = new OreVeinObj(PyTKHelper.CreateOBJData("Omegasis.Revitalize.Resources.Ore.Bauxite", TextureManager.GetTexture(ModCore.Manifest, "Resources.Ore", "Bauxite"), typeof(OreVeinTile), Color.White), new BasicItemInformation("Bauxite Ore Vein", "Omegasis.Revitalize.Resources.Ore.Bauxite", "A ore vein that is full of bauxite ore.", "Revitalize.Ore", Color.Black, -300, 0, false, 350, true, true, TextureManager.GetTexture(ModCore.Manifest, "Resources.Ore", "Bauxite"), new AnimationManager(TextureManager.GetExtendedTexture(ModCore.Manifest, "Resources.Ore", "Bauxite"), new Animation(0, 0, 16, 16)), Color.White, false, null, null));
OreVeinObj bauxiteOre = new OreVeinObj(PyTKHelper.CreateOBJData("Omegasis.Revitalize.Resources.Ore.Bauxite", TextureManager.GetTexture(ModCore.Manifest, "Resources.Ore", "Bauxite"), typeof(OreVeinObj), Color.White), new BasicItemInformation("Bauxite Ore Vein", "Omegasis.Revitalize.Resources.Ore.Bauxite", "A ore vein that is full of bauxite ore.", "Revitalize.Ore", Color.Black, -300, 0, false, 350, true, true, TextureManager.GetTexture(ModCore.Manifest, "Resources.Ore", "Bauxite"), new AnimationManager(TextureManager.GetExtendedTexture(ModCore.Manifest, "Resources.Ore", "Bauxite"), new Animation(0, 0, 16, 16)), Color.White, false, null, null));
OreVeinTile bauxiteOre_0_0 = new OreVeinTile(PyTKHelper.CreateOBJData("Omegasis.Revitalize.Resources.Ore.Bauxite", TextureManager.GetTexture(ModCore.Manifest, "Resources.Ore", "Bauxite"), typeof(OreVeinTile), Color.White), new BasicItemInformation("Bauxite Ore Vein", "Omegasis.Revitalize.Resources.Ore.Bauxite", "A ore vein that is full of bauxite ore.", "Revitalize.Ore", Color.Black, -300, 0, false, 350, true, true, TextureManager.GetTexture(ModCore.Manifest, "Resources.Ore", "Bauxite"), new AnimationManager(TextureManager.GetExtendedTexture(ModCore.Manifest, "Resources.Ore", "Bauxite"), new Animation(0, 0, 16, 16)), Color.White, false, null, null),
new InformationFiles.OreResourceInformation(this.getOre("Bauxite"), true, true, true, false, new List<IntRange>()
{
@ -161,7 +161,7 @@ namespace Revitalize.Framework.Objects
}, new List<IntRange>()
{
new IntRange(0,9999)
}, null, null, .70d, 0.16d, 0.20d, 1d, 1d, 0, 0, 0, 0), new List<ResourceInformaton>(), 4);
}, null, null, .70d, 0.16d, 0.20d, 1d, 1d, 0, 0, 0, 0), new List<ResourceInformaton>(), 5);
OreFactoryInfo bauxiteOre_0_0_file = new OreFactoryInfo(bauxiteOre_0_0);
OreFactoryInfo bauxiteOre_file = new OreFactoryInfo(bauxiteOre);
@ -170,7 +170,7 @@ namespace Revitalize.Framework.Objects
ModCore.Serializer.SerializeContentFile("BauxiteOre", bauxiteOre_file, Path.Combine(this.oreResourceDataPath, "BauxiteOre"));
OreVeinObj silverOre = new OreVeinObj(PyTKHelper.CreateOBJData("Omegasis.Revitalize.Resources.Ore.Silver", TextureManager.GetTexture(ModCore.Manifest, "Resources.Ore", "Silver"), typeof(OreVeinTile), Color.White), new BasicItemInformation("Silver Ore Vein", "Omegasis.Revitalize.Resources.Ore.Silver", "A ore vein that is full of silver ore.", "Revitalize.Ore", Color.Black, -300, 0, false, 350, true, true, TextureManager.GetTexture(ModCore.Manifest, "Resources.Ore", "Silver"), new AnimationManager(TextureManager.GetExtendedTexture(ModCore.Manifest, "Resources.Ore", "Silver"), new Animation(0, 0, 16, 16)), Color.White, false, null, null));
OreVeinObj silverOre = new OreVeinObj(PyTKHelper.CreateOBJData("Omegasis.Revitalize.Resources.Ore.Silver", TextureManager.GetTexture(ModCore.Manifest, "Resources.Ore", "Silver"), typeof(OreVeinObj), Color.White), new BasicItemInformation("Silver Ore Vein", "Omegasis.Revitalize.Resources.Ore.Silver", "A ore vein that is full of silver ore.", "Revitalize.Ore", Color.Black, -300, 0, false, 350, true, true, TextureManager.GetTexture(ModCore.Manifest, "Resources.Ore", "Silver"), new AnimationManager(TextureManager.GetExtendedTexture(ModCore.Manifest, "Resources.Ore", "Silver"), new Animation(0, 0, 16, 16)), Color.White, false, null, null));
OreVeinTile silverOre_0_0 = new OreVeinTile(PyTKHelper.CreateOBJData("Omegasis.Revitalize.Resources.Ore.Silver", TextureManager.GetTexture(ModCore.Manifest, "Resources.Ore", "Silver"), typeof(OreVeinTile), Color.White), new BasicItemInformation("Silver Ore Vein", "Omegasis.Revitalize.Resources.Ore.Silver", "A ore vein that is full of silver ore.", "Revitalize.Ore", Color.Black, -300, 0, false, 350, true, true, TextureManager.GetTexture(ModCore.Manifest, "Resources.Ore", "Silver"), new AnimationManager(TextureManager.GetExtendedTexture(ModCore.Manifest, "Resources.Ore", "Silver"), new Animation(0, 0, 16, 16)), Color.White, false, null, null),
new InformationFiles.OreResourceInformation(this.getOre("Silver"), true, true, true, false, new List<IntRange>()
{
@ -181,7 +181,7 @@ namespace Revitalize.Framework.Objects
}, new List<IntRange>()
{
new IntRange(0,9999)
}, null, null, .50d, 0.10d, 0.14d, 1d, 1d, 0, 0, 0, 0), new List<ResourceInformaton>(), 4);
}, null, null, .50d, 0.10d, 0.14d, 1d, 1d, 0, 0, 0, 0), new List<ResourceInformaton>(), 6);
OreFactoryInfo silverOre_0_0_file = new OreFactoryInfo(silverOre_0_0);
OreFactoryInfo silverOre_file = new OreFactoryInfo(silverOre);
@ -189,7 +189,7 @@ namespace Revitalize.Framework.Objects
ModCore.Serializer.SerializeContentFile("SilverOre_0_0", silverOre_0_0_file, Path.Combine(this.oreResourceDataPath, "SilverOre"));
ModCore.Serializer.SerializeContentFile("SilverOre", silverOre_file, Path.Combine(this.oreResourceDataPath, "SilverOre"));
OreVeinObj leadOre = new OreVeinObj(PyTKHelper.CreateOBJData("Omegasis.Revitalize.Resources.Ore.Lead", TextureManager.GetTexture(ModCore.Manifest, "Resources.Ore", "Lead"), typeof(OreVeinTile), Color.White), new BasicItemInformation("Lead Ore Vein", "Omegasis.Revitalize.Resources.Ore.Lead", "A ore vein that is full of lead ore.", "Revitalize.Ore", Color.Black, -300, 0, false, 350, true, true, TextureManager.GetTexture(ModCore.Manifest, "Resources.Ore", "Lead"), new AnimationManager(TextureManager.GetExtendedTexture(ModCore.Manifest, "Resources.Ore", "Lead"), new Animation(0, 0, 16, 16)), Color.White, false, null, null));
OreVeinObj leadOre = new OreVeinObj(PyTKHelper.CreateOBJData("Omegasis.Revitalize.Resources.Ore.Lead", TextureManager.GetTexture(ModCore.Manifest, "Resources.Ore", "Lead"), typeof(OreVeinObj), Color.White), new BasicItemInformation("Lead Ore Vein", "Omegasis.Revitalize.Resources.Ore.Lead", "A ore vein that is full of lead ore.", "Revitalize.Ore", Color.Black, -300, 0, false, 350, true, true, TextureManager.GetTexture(ModCore.Manifest, "Resources.Ore", "Lead"), new AnimationManager(TextureManager.GetExtendedTexture(ModCore.Manifest, "Resources.Ore", "Lead"), new Animation(0, 0, 16, 16)), Color.White, false, null, null));
OreVeinTile leadOre_0_0 = new OreVeinTile(PyTKHelper.CreateOBJData("Omegasis.Revitalize.Resources.Ore.Lead", TextureManager.GetTexture(ModCore.Manifest, "Resources.Ore", "Lead"), typeof(OreVeinTile), Color.White), new BasicItemInformation("Lead Ore Vein", "Omegasis.Revitalize.Resources.Ore.Lead", "A ore vein that is full of lead ore.", "Revitalize.Ore", Color.Black, -300, 0, false, 350, true, true, TextureManager.GetTexture(ModCore.Manifest, "Resources.Ore", "Lead"), new AnimationManager(TextureManager.GetExtendedTexture(ModCore.Manifest, "Resources.Ore", "Lead"), new Animation(0, 0, 16, 16)), Color.White, false, null, null),
new InformationFiles.OreResourceInformation(this.getOre("Lead"), true, true, true, false, new List<IntRange>()
{
@ -201,7 +201,7 @@ namespace Revitalize.Framework.Objects
}, new List<IntRange>()
{
new IntRange(0,9999)
}, null, null, .60d, 0.13d, 0.17d, 1d, 1d, 0, 0, 0, 0), new List<ResourceInformaton>(), 4);
}, null, null, .60d, 0.13d, 0.17d, 1d, 1d, 0, 0, 0, 0), new List<ResourceInformaton>(), 7);
OreFactoryInfo leadOre_0_0_file = new OreFactoryInfo(leadOre_0_0);
OreFactoryInfo leadOre_file = new OreFactoryInfo(leadOre);
@ -210,7 +210,7 @@ namespace Revitalize.Framework.Objects
ModCore.Serializer.SerializeContentFile("LeadOre", leadOre_file, Path.Combine(this.oreResourceDataPath, "LeadOre"));
OreVeinObj titaniumOre = new OreVeinObj(PyTKHelper.CreateOBJData("Omegasis.Revitalize.Resources.Ore.Titanium", TextureManager.GetTexture(ModCore.Manifest, "Resources.Ore", "Titanium"), typeof(OreVeinTile), Color.White), new BasicItemInformation("Titanium Ore Vein", "Omegasis.Revitalize.Resources.Ore.Titanium", "A ore vein that is full of lead ore.", "Revitalize.Ore", Color.Black, -300, 0, false, 350, true, true, TextureManager.GetTexture(ModCore.Manifest, "Resources.Ore", "Titanium"), new AnimationManager(TextureManager.GetExtendedTexture(ModCore.Manifest, "Resources.Ore", "Titanium"), new Animation(0, 0, 16, 16)), Color.White, false, null, null));
OreVeinObj titaniumOre = new OreVeinObj(PyTKHelper.CreateOBJData("Omegasis.Revitalize.Resources.Ore.Titanium", TextureManager.GetTexture(ModCore.Manifest, "Resources.Ore", "Titanium"), typeof(OreVeinObj), Color.White), new BasicItemInformation("Titanium Ore Vein", "Omegasis.Revitalize.Resources.Ore.Titanium", "A ore vein that is full of lead ore.", "Revitalize.Ore", Color.Black, -300, 0, false, 350, true, true, TextureManager.GetTexture(ModCore.Manifest, "Resources.Ore", "Titanium"), new AnimationManager(TextureManager.GetExtendedTexture(ModCore.Manifest, "Resources.Ore", "Titanium"), new Animation(0, 0, 16, 16)), Color.White, false, null, null));
OreVeinTile titaniumOre_0_0 = new OreVeinTile(PyTKHelper.CreateOBJData("Omegasis.Revitalize.Resources.Ore.Titanium", TextureManager.GetTexture(ModCore.Manifest, "Resources.Ore", "Titanium"), typeof(OreVeinTile), Color.White), new BasicItemInformation("Titanium Ore Vein", "Omegasis.Revitalize.Resources.Ore.Titanium", "A ore vein that is full of lead ore.", "Revitalize.Ore", Color.Black, -300, 0, false, 350, true, true, TextureManager.GetTexture(ModCore.Manifest, "Resources.Ore", "Titanium"), new AnimationManager(TextureManager.GetExtendedTexture(ModCore.Manifest, "Resources.Ore", "Titanium"), new Animation(0, 0, 16, 16)), Color.White, false, null, null),
new InformationFiles.OreResourceInformation(this.getOre("Titanium"), true, true, true, false, new List<IntRange>()
{
@ -222,15 +222,35 @@ namespace Revitalize.Framework.Objects
}, new List<IntRange>()
{
new IntRange(0,9999)
}, null, null, .40d, 0.05d, 0.10d, 1d, 1d, 0, 0, 0, 0), new List<ResourceInformaton>(), 4);
}, null, null, .40d, 0.05d, 0.10d, 1d, 1d, 0, 0, 0, 0), new List<ResourceInformaton>(), 8);
OreFactoryInfo titaniumOre_0_0_file = new OreFactoryInfo(titaniumOre_0_0);
OreFactoryInfo titaniumOre_file = new OreFactoryInfo(titaniumOre);
ModCore.Serializer.SerializeContentFile("TitaniumOre_0_0", titaniumOre_0_0_file, Path.Combine(this.oreResourceDataPath, "TitaniumOre"));
ModCore.Serializer.SerializeContentFile("TitaniumOre", titaniumOre_file, Path.Combine(this.oreResourceDataPath, "TitaniumOre"));
}
OreVeinObj prismaticOre = new OreVeinObj(PyTKHelper.CreateOBJData("Omegasis.Revitalize.Resources.Ore.Prismatic", TextureManager.GetTexture(ModCore.Manifest, "Resources.Ore", "Prismatic"), typeof(OreVeinObj), Color.White), new BasicItemInformation("Prismatic Ore Vein", "Omegasis.Revitalize.Resources.Ore.Prismatic", "A ore vein that contains rare prismatic nuggets!", "Revitalize.Ore", Color.Black, -300, 0, false, 350, true, true, TextureManager.GetTexture(ModCore.Manifest, "Resources.Ore", "Prismatic"), new AnimationManager(TextureManager.GetExtendedTexture(ModCore.Manifest, "Resources.Ore", "Prismatic"), new Animation(0, 0, 16, 16)), Color.White, false, null, null));
OreVeinTile prismaticOre_0_0 = new OreVeinTile(PyTKHelper.CreateOBJData("Omegasis.Revitalize.Resources.Ore.Prismatic", TextureManager.GetTexture(ModCore.Manifest, "Resources.Ore", "Prismatic"), typeof(OreVeinTile), Color.White), new BasicItemInformation("Prismatic Ore Vein", "Omegasis.Revitalize.Resources.Ore.Prismatic", "A ore vein that is full of prismatic ore.", "Revitalize.Ore", Color.Black, -300, 0, false, 350, true, true, TextureManager.GetTexture(ModCore.Manifest, "Resources.Ore", "Prismatic"), new AnimationManager(TextureManager.GetExtendedTexture(ModCore.Manifest, "Resources.Ore", "Prismatic"), new Animation(0, 0, 16, 16)), Color.White, false, null, null),
new InformationFiles.OreResourceInformation(this.getOre("PrismaticNugget"), true, true, true, false, new List<IntRange>()
{
new IntRange(110,120)
}, new List<IntRange>(), null, (i => i % 10 == 0), 7, 7, 1, 1, new IntRange(1, 1), new IntRange(1, 1), new IntRange(1, 5), new List<IntRange>()
{
new IntRange(1,9999)
}, new List<IntRange>()
{
}, null, null, .03d, 1d, 0.01d, 0.10, 1d, 1, 1, 1,1), new List<ResourceInformaton>(), 10);
OreFactoryInfo prismaticOre_0_0_file = new OreFactoryInfo(prismaticOre_0_0);
OreFactoryInfo prismaticOre_file = new OreFactoryInfo(prismaticOre);
ModCore.Serializer.SerializeContentFile("PrismaticOre_0_0", prismaticOre_0_0_file, Path.Combine(this.oreResourceDataPath, "PrismaticOre"));
ModCore.Serializer.SerializeContentFile("PrismaticOre", prismaticOre_file, Path.Combine(this.oreResourceDataPath, "PrismaticOre"));
}
/// <summary>
/// Loads in all of the ore items into the game.
@ -253,6 +273,9 @@ namespace Revitalize.Framework.Objects
Ore titaniumOre = new Ore(PyTKHelper.CreateOBJData("Omegasis.Revitalize.Items.Resources.Ore.TitaniumOre", TextureManager.GetTexture(ModCore.Manifest, "Items.Resources.Ore", "TitaniumOre"), typeof(Ore), Color.White, true), new BasicItemInformation("Titanium Ore", "Omegasis.Revitalize.Items.Resources.Ore.TitaniumOre", "Titanium ore that can be smelted into titanium ingots for further use.", "Ore", Color.Silver, -300, 0, false, 35, false, false, TextureManager.GetTexture(ModCore.Manifest, "Items.Resources.Ore", "TitaniumOre"), new AnimationManager(), Color.White, true, null, null), 1);
this.ores.Add("Titanium", titaniumOre);
Ore prismaticOre = new Ore(PyTKHelper.CreateOBJData("Omegasis.Revitalize.Items.Resources.Ore.PrismaticNugget", TextureManager.GetTexture(ModCore.Manifest, "Items.Resources.Ore", "PrismaticNugget"), typeof(Ore), Color.White, true), new BasicItemInformation("Prismatic Nugget", "Omegasis.Revitalize.Items.Resources.Ore.PrismaticNugget", "Rare prismatic ore that can be smelted into a prismatic shard when seven are gathered.", "Ore", Color.Silver, -300, 0, false, 200, false, false, TextureManager.GetTexture(ModCore.Manifest, "Items.Resources.Ore", "PrismaticNugget"), new AnimationManager(), Color.White, true, null, null), 1);
this.ores.Add("PrismaticNugget", prismaticOre);
CustomObject tinIngot = new CustomObject(PyTKHelper.CreateOBJData("Omegasis.Revitalize.Items.Resources.Ore.TinIngot", TextureManager.GetTexture(ModCore.Manifest, "Items.Resources.Ore", "TinIngot"), typeof(CustomObject), Color.White, true), new BasicItemInformation("Tin Ingot", "Omegasis.Revitalize.Items.Resources.Ore.TinIngot", "A tin ingot that can be used for crafting purposes.", "Metal", Color.Silver, -300, 0, false,75, false, false, TextureManager.GetTexture(ModCore.Manifest, "Items.Resources.Ore", "TinIngot"), new AnimationManager(), Color.White, true, null, null), 1);
ModCore.ObjectManager.AddItem("TinIngot", tinIngot);
@ -511,7 +534,7 @@ namespace Revitalize.Framework.Objects
{
if (LocationUtilities.Farm_IsFarmHiltopFarm() == false)
{
ModCore.log("Farm is not hiltop farm!");
//ModCore.log("Farm is not hiltop farm!");
return;
}
GameLocation farm = Game1.getFarm();
@ -523,7 +546,7 @@ namespace Revitalize.Framework.Objects
if ((pair.Value.resourceInfo as OreResourceInformation).spawnsOnFarm)
{
spawnableOreVeins.Add(pair.Value);
ModCore.log("Found an ore that spawns on the farm!");
//ModCore.log("Found an ore that spawns on the farm!");
}
}
foreach (OreVeinObj ore in spawnableOreVeins)
@ -534,7 +557,7 @@ namespace Revitalize.Framework.Objects
List<Vector2> openTiles = this.getFarmQuarryOpenTiles(ore);
if (openTiles.Count == 0)
{
ModCore.log("No open farm tiles!");
//ModCore.log("No open farm tiles!");
}
amount = Math.Min(amount, openTiles.Count); //Only spawn for as many open tiles or the amount of nodes to spawn.
for (int i = 0; i < amount; i++)
@ -546,11 +569,11 @@ namespace Revitalize.Framework.Objects
i--; //If the tile didn't spawn due to some odd reason ensure that the amount is spawned.
openTiles.Remove(openTiles[position]);
//amount = Math.Min(amount, openTiles.Count); //Only spawn for as many open tiles or the amount of nodes to spawn.
ModCore.log("Did not spawn ore in the farm quarry!");
//ModCore.log("Did not spawn ore in the farm quarry!");
}
else
{
ModCore.log("Spawned ore in the farm quarry!");
//ModCore.log("Spawned ore in the farm quarry!");
openTiles.Remove(openTiles[position]); //Remove that tile from the list of open tiles.
}
}

View File

@ -23,6 +23,7 @@ using Revitalize.Framework.Objects.Extras;
using Revitalize.Framework.Minigame.SeasideScrambleMinigame;
using Revitalize.Framework.Objects.Items.Resources;
using Revitalize.Framework.Hacks;
using Revitalize.Framework.Configs;
namespace Revitalize
{
@ -107,7 +108,9 @@ namespace Revitalize
-Dye custom objects certain colors!
-Rainbow Dye -(set a custom object to any color)
-red, green, blue, yellow, pink, etc
-Make dye from flowers/coal/algee (black), etc
-Make dye from flowers/coal/algee/minerals/gems (black), etc
-soapstone (washes off dye)
-Lunarite (white)
Dye Machine
-takes custom object and dye
-dyes the object
@ -131,7 +134,7 @@ namespace Revitalize
// -Spell books
// -Potions!
// -Magic Meter
// -Connected chests much like Project EE2 from MC
// -Connected chests (3 digit color code) much like Project EE2 from MC
//
//
// -Food
@ -218,11 +221,13 @@ namespace Revitalize
public static Dictionary<Guid, CustomObject> CustomObjects;
public static ConfigManager Configs;
public override void Entry(IModHelper helper)
{
ModHelper = helper;
ModMonitor = this.Monitor;
Manifest = this.ModManifest;
Configs = new ConfigManager();
this.createDirectories();
this.initailizeComponents();
@ -255,10 +260,19 @@ namespace Revitalize
ModHelper.Events.Multiplayer.ModMessageReceived += MultiplayerUtilities.GetModMessage;
ModHelper.Events.GameLoop.DayEnding += this.GameLoop_DayEnding;
ModHelper.Events.GameLoop.Saving += this.GameLoop_Saving;
//Adds in recipes to the mod.
VanillaRecipeBook = new VanillaRecipeBook();
/*
foreach(var v in Game1.objectInformation)
{
string name = v.Value.Split('/')[0];
ModCore.log(name + "="+v.Key+","+Environment.NewLine,false);
}
*/
}
private void GameLoop_Saving(object sender, StardewModdingAPI.Events.SavingEventArgs e)
@ -273,7 +287,7 @@ namespace Revitalize
private void GameLoop_DayEnding(object sender, StardewModdingAPI.Events.DayEndingEventArgs e)
{
MultiplayerUtilities.RequestALLGuidObjects();
//MultiplayerUtilities.RequestALLGuidObjects();
}
/// <summary>
@ -437,7 +451,7 @@ namespace Revitalize
// Game1.player.addItemToInventory(GetObjectFromPool("Omegasis.BigTiledTest"));
//Game1.player.addItemToInventory(ObjectManager.getChair("Omegasis.Revitalize.Furniture.Chairs.OakChair"));
//Game1.player.addItemToInventory(GetObjectFromPool("Omegasis.Revitalize.Furniture.Rugs.RugTest"));
Game1.player.addItemToInventory(ObjectManager.getTable("Omegasis.Revitalize.Furniture.Tables.OakTable"));
//Game1.player.addItemToInventory(ObjectManager.getTable("Omegasis.Revitalize.Furniture.Tables.OakTable"));
//Game1.player.addItemToInventory(ObjectManager.getLamp("Omegasis.Revitalize.Furniture.Lamps.OakLamp"));
//Game1.player.addItemToInventory(ObjectManager.getObject("Omegasis.Revitalize.Furniture.Arcade.SeasideScramble",ObjectManager.miscellaneous));
@ -453,9 +467,21 @@ namespace Revitalize
//Game1.player.addItemToInventory(ObjectManager.resources.getOre("Tin", 19));
//Ore tin = ObjectManager.resources.getOre("Tin", 19);
Game1.player.addItemToInventory(ObjectManager.GetItem("TinIngot", 1));
Game1.player.addItemToInventory(new StardewValley.Object(388, 100));
//Game1.player.addItemToInventory(ObjectManager.GetItem("TinIngot", 1));
//Game1.player.addItemToInventory(new StardewValley.Object(388, 100));
Game1.player.addItemsByMenuIfNecessary(new List<Item>()
{
new StardewValley.Object(Vector2.Zero, (int)Enums.SDVBigCraftable.Furnace),
new StardewValley.Object((int)Enums.SDVObject.Coal,10),
new StardewValley.Object((int)Enums.SDVObject.PrismaticShard,5),
new StardewValley.Object((int)Enums.SDVObject.Emerald,1),
new StardewValley.Object((int)Enums.SDVObject.Aquamarine,1),
new StardewValley.Object((int)Enums.SDVObject.Ruby,1),
new StardewValley.Object((int)Enums.SDVObject.Amethyst,1),
new StardewValley.Object((int)Enums.SDVObject.Topaz,1),
new StardewValley.Object((int)Enums.SDVObject.Jade,1),
new StardewValley.Object((int)Enums.SDVObject.Diamond,1),
});
//ModCore.log("Tin sells for: " + tin.sellToStorePrice());
//ObjectManager.resources.spawnOreVein("Omegasis.Revitalize.Resources.Ore.Test", new Vector2(8, 7));
@ -480,9 +506,16 @@ namespace Revitalize
///Logs information to the console.
/// </summary>
/// <param name="message"></param>
public static void log(object message)
public static void log(object message, bool StackTrace = true)
{
ModMonitor.Log(message.ToString() + " " + getFileDebugInfo());
if (StackTrace)
{
ModMonitor.Log(message.ToString() + " " + getFileDebugInfo());
}
else
{
ModMonitor.Log(message.ToString());
}
}
public static string getFileDebugInfo()

View File

@ -52,6 +52,8 @@
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="Framework\Configs\ConfigManager.cs" />
<Compile Include="Framework\Configs\VanillaMachineRecipeConfig.cs" />
<Compile Include="Framework\Crafting\Recipe.cs" />
<Compile Include="Framework\Crafting\RecipeBook.cs" />
<Compile Include="Framework\Crafting\StatCost.cs" />
@ -197,6 +199,9 @@
<Content Include="Content\Graphics\Items\Resources\Ore\LeadOre.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Content\Graphics\Items\Resources\Ore\PrismaticNugget.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Content\Graphics\Items\Resources\Ore\SilverIngot.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
@ -257,6 +262,9 @@
<Content Include="Content\Graphics\Objects\Resources\Ore\Lead.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Content\Graphics\Objects\Resources\Ore\Prismatic.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Content\Graphics\Objects\Resources\Ore\Silver.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>