Exports the ore-dicts out of the recipe files

This will not alter the handler, because rewriting the parser for it being too static is not feasible at this point
This commit is contained in:
thatsIch 2015-06-21 23:57:36 +02:00
parent ab32b2b357
commit cd0aec123d
6 changed files with 42 additions and 27 deletions

View file

@ -100,6 +100,7 @@ sourceSets {
srcDir "src/main/resources/"
include "assets/appliedenergistics2/recipes/*.recipe",
"assets/appliedenergistics2/recipes/README.html",
"assets/appliedenergistics2/oredict/*.oredict",
"assets/appliedenergistics2/lang/*.lang",
"assets/appliedenergistics2/textures/blocks/*",
"assets/appliedenergistics2/textures/guis/*",

View file

@ -29,6 +29,7 @@ import com.google.common.base.Preconditions;
import org.apache.commons.io.FileUtils;
import appeng.api.recipes.IRecipeHandler;
import appeng.api.recipes.IRecipeLoader;
import appeng.recipes.loader.ConfigLoader;
import appeng.recipes.loader.JarLoader;
import appeng.recipes.loader.RecipeResourceCopier;
@ -68,7 +69,11 @@ public class RecipeLoader implements Runnable
final File readmeGenDest = new File( generatedRecipesDir, "README.html" );
final File readmeUserDest = new File( userRecipesDir, "README.html" );
// generates generated and user recipes dir
final IRecipeLoader oreDictLoader = new JarLoader("/assets/appliedenergistics2/oredict/");
this.handler.parseRecipes(oreDictLoader, "vanilla.oredict" );
this.handler.parseRecipes(oreDictLoader, "ae2.oredict" );
// generates generated and user recipes dir
// will clean the generated every time to keep it up to date
// copies over the recipes in the jar over to the generated folder
// copies over the readmes

View file

@ -73,16 +73,20 @@ import appeng.recipes.handlers.OreRegistration;
*/
public class RecipeHandler implements IRecipeHandler
{
public final List<String> tokens = new LinkedList<String>();
final RecipeData data;
private final List<String> tokens = new LinkedList<String>();
public RecipeHandler()
{
this.data = new RecipeData();
}
RecipeHandler( RecipeHandler parent )
/**
* Called recursively from parent
*
* @param parent owner of this handler
*/
private RecipeHandler( RecipeHandler parent )
{
this.data = parent.data;
}

View file

@ -0,0 +1,17 @@
# AE2 Ore Dictionary
# Materials for processing in other machines
ore=ae2:ItemMaterial.CertusQuartzCrystal -> crystalCertusQuartz
ore=ae2:ItemMaterial.FluixCrystal -> crystalFluix
ore=ae2:ItemMaterial.PurifiedFluixCrystal -> crystalPureFluix
ore=ae2:ItemMaterial.NetherQuartzDust -> dustNetherQuartz
ore=ae2:ItemMaterial.CertusQuartzDust -> dustCertusQuartz
ore=ae2:ItemMaterial.FluixDust -> dustFluix
# Ores of AE2
ore=ae2:tile.OreQuartz -> oreCertusQuartz
ore=ae2:tile.OreQuartzCharged -> oreCertusQuartz
# Parts to be used
ore= ae2:ItemPart.SemiDarkMonitor -> itemIlluminatedPanel
ore= ae2:ItemPart.Monitor -> itemIlluminatedPanel
ore= ae2:ItemPart.DarkMonitor -> itemIlluminatedPanel

View file

@ -0,0 +1,11 @@
# Forge Ore Dictionary
# logWood, slabWood, stairWood, treeSapling, treeLeaves,
# oreGold, oreIron, oreLapis, oreDiamond, oreRedstone, oreEmerald, oreQuartz, oreCoal,
# stone, cobblestone, record, stickWood, plankWood,
# dyeBlack, dyeRed, dyeGreen, dyeBrown, dyeBlue, dyePurple, dyeCyan, dyeLightGray, dyeGray, dyePink, dyeLime, dyeYellow, dyeLightBlue, dyeMagenta, dyeOrange, dyeWhite
# Minecraft Ore Dict Entries
# Renamed for less clashing
ore=mc:quartz -> crystalNetherQuartz
ore=mc:wool:* -> blockWool
ore=mc:stained_hardened_clay:* -> blockStainedHardenedClay

View file

@ -2,25 +2,6 @@
alias=mc -> minecraft
alias=ae2 -> appliedenergistics2
# Forge Ore Dictionary
# logWood, slabWood, stairWood, treeSapling, treeLeaves,
# oreGold, oreIron, oreLapis, oreDiamond, oreRedstone, oreEmerald, oreQuartz, oreCoal,
# stone, cobblestone, record, stickWood, plankWood,
# dyeBlack, dyeRed, dyeGreen, dyeBrown, dyeBlue, dyePurple, dyeCyan, dyeLightGray, dyeGray, dyePink, dyeLime, dyeYellow, dyeLightBlue, dyeMagenta, dyeOrange, dyeWhite
# AE2 Ore Dictionary
ore=ae2:ItemMaterial.CertusQuartzCrystal -> crystalCertusQuartz
ore=ae2:ItemMaterial.FluixCrystal -> crystalFluix
ore=ae2:ItemMaterial.PurifiedFluixCrystal -> crystalPureFluix
ore=mc:quartz -> crystalNetherQuartz
ore=mc:wool:* -> blockWool
ore=mc:stained_hardened_clay:* -> blockStainedHardenedClay
ore=ae2:ItemMaterial.NetherQuartzDust -> dustNetherQuartz
ore=ae2:ItemMaterial.CertusQuartzDust -> dustCertusQuartz
ore=ae2:ItemMaterial.FluixDust -> dustFluix
ore=ae2:tile.OreQuartz -> oreCertusQuartz
ore=ae2:tile.OreQuartzCharged -> oreCertusQuartz
group= mc:iron_ingot oredictionary:ingotCopper oredictionary:ingotTin oredictionary:ingotSilver oredictionary:ingotLead oredictionary:ingotBronze oredictionary:ingotBrass oredictionary:ingotNickel oredictionary:ingotInvar oredictionary:ingotAluminium -> metalIngots
group= oredictionary:dustEnder oredictionary:dustEnderPearl -> dustEnder
@ -43,10 +24,6 @@ exceptions=false
# Error on Missing Items ( default is no because AE2 allows you to enable/disable items without modifying recipes. )
erroronmissing=true
ore= ae2:ItemPart.SemiDarkMonitor -> itemIlluminatedPanel
ore= ae2:ItemPart.Monitor -> itemIlluminatedPanel
ore= ae2:ItemPart.DarkMonitor -> itemIlluminatedPanel
group= oredictionary:itemIlluminatedPanel -> monitor
group= ae2:BlockInterface ae2:ItemPart.Interface -> interface