Skip to content

Commit

Permalink
Added ability to specify preferences for OreDictionary outputs from t…
Browse files Browse the repository at this point in the history
…he SAG Mill
  • Loading branch information
CrazyPants committed Dec 9, 2014
1 parent 57191de commit 85efebd
Show file tree
Hide file tree
Showing 9 changed files with 347 additions and 24 deletions.
56 changes: 56 additions & 0 deletions eclipseCleanUp.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<profiles version="2">
<profile kind="CleanUpProfile" name="EnderIO" version="2">
<setting id="cleanup.remove_unused_private_fields" value="true"/>
<setting id="cleanup.always_use_parentheses_in_expressions" value="false"/>
<setting id="cleanup.never_use_blocks" value="false"/>
<setting id="cleanup.add_missing_deprecated_annotations" value="true"/>
<setting id="cleanup.remove_unused_private_methods" value="true"/>
<setting id="cleanup.convert_to_enhanced_for_loop" value="false"/>
<setting id="cleanup.remove_unnecessary_nls_tags" value="true"/>
<setting id="cleanup.sort_members" value="false"/>
<setting id="cleanup.remove_unused_local_variables" value="false"/>
<setting id="cleanup.remove_unused_private_members" value="false"/>
<setting id="cleanup.never_use_parentheses_in_expressions" value="true"/>
<setting id="cleanup.remove_unnecessary_casts" value="true"/>
<setting id="cleanup.make_parameters_final" value="false"/>
<setting id="cleanup.use_this_for_non_static_field_access" value="false"/>
<setting id="cleanup.use_blocks" value="true"/>
<setting id="cleanup.remove_private_constructors" value="true"/>
<setting id="cleanup.always_use_this_for_non_static_method_access" value="false"/>
<setting id="cleanup.remove_trailing_whitespaces_all" value="true"/>
<setting id="cleanup.always_use_this_for_non_static_field_access" value="false"/>
<setting id="cleanup.use_this_for_non_static_field_access_only_if_necessary" value="true"/>
<setting id="cleanup.add_default_serial_version_id" value="true"/>
<setting id="cleanup.make_type_abstract_if_missing_method" value="false"/>
<setting id="cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class" value="true"/>
<setting id="cleanup.make_variable_declarations_final" value="false"/>
<setting id="cleanup.add_missing_nls_tags" value="false"/>
<setting id="cleanup.format_source_code" value="false"/>
<setting id="cleanup.add_missing_override_annotations" value="true"/>
<setting id="cleanup.qualify_static_method_accesses_with_declaring_class" value="false"/>
<setting id="cleanup.remove_unused_private_types" value="true"/>
<setting id="cleanup.make_local_variable_final" value="true"/>
<setting id="cleanup.add_missing_methods" value="false"/>
<setting id="cleanup.add_missing_override_annotations_interface_methods" value="true"/>
<setting id="cleanup.correct_indentation" value="false"/>
<setting id="cleanup.remove_unused_imports" value="true"/>
<setting id="cleanup.remove_trailing_whitespaces_ignore_empty" value="false"/>
<setting id="cleanup.make_private_fields_final" value="true"/>
<setting id="cleanup.add_generated_serial_version_id" value="false"/>
<setting id="cleanup.organize_imports" value="true"/>
<setting id="cleanup.sort_members_all" value="false"/>
<setting id="cleanup.remove_trailing_whitespaces" value="false"/>
<setting id="cleanup.use_blocks_only_for_return_and_throw" value="false"/>
<setting id="cleanup.use_parentheses_in_expressions" value="false"/>
<setting id="cleanup.add_missing_annotations" value="true"/>
<setting id="cleanup.qualify_static_field_accesses_with_declaring_class" value="false"/>
<setting id="cleanup.use_this_for_non_static_method_access_only_if_necessary" value="true"/>
<setting id="cleanup.use_this_for_non_static_method_access" value="false"/>
<setting id="cleanup.qualify_static_member_accesses_through_instances_with_declaring_class" value="true"/>
<setting id="cleanup.add_serial_version_id" value="false"/>
<setting id="cleanup.always_use_blocks" value="true"/>
<setting id="cleanup.qualify_static_member_accesses_with_declaring_class" value="true"/>
<setting id="cleanup.format_source_code_changes_only" value="false"/>
</profile>
</profiles>
76 changes: 76 additions & 0 deletions resources/assets/enderio/config/OreDictionaryPreferences_Core.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
<!--
This file contains the preferred outputs from Ender IO machines for items registered in the OreDictionary
Details of itemStack definition can be found in SAGMillRecipes_Core.xml
Item Information and data dumps:
To show ore dictionary and/or registered names, in the EnderIO config set:
addRegisterdNameTooltip=true
addOreDictionaryTooltips=true
To write all registered items to config/modObjectsRegistery.txt include in SAGMillRecipes_User.xml:
<dumpRegistry modObjects="true/>
To write the contents of the ore dictionary to config/oreDictionaryRegistery.txt include in SAGMillRecipes_User.xml:
<dumpRegistery oreDictionary="true"/>
-->
<OreDictionaryPreferences>

<!-- Dusts -->

<preference oreDictionary="dustCoal">
<itemStack modID="ThermalFoundation" itemName="material" itemMeta="2" />
<itemStack modID="EnderIO" itemName="itemPowderIngot" itemMeta="0" />
</preference>

<preference oreDictionary="dustCharcoal">
<itemStack modID="ThermalFoundation" itemName="material" itemMeta="3" />
</preference>

<preference oreDictionary="dustObsidian">
<itemStack modID="ThermalFoundation" itemName="material" itemMeta="4" />
</preference>

<preference oreDictionary="dustIron">
<itemStack modID="ThermalFoundation" itemName="material" itemMeta="0" />
<itemStack modID="EnderIO" itemName="itemPowderIngot" itemMeta="1" />
</preference>

<preference oreDictionary="dustGold">
<itemStack modID="ThermalFoundation" itemName="material" itemMeta="1" />
<itemStack modID="EnderIO" itemName="itemPowderIngot" itemMeta="2" />
</preference>

<preference oreDictionary="dustCopper">
<itemStack modID="ThermalFoundation" itemName="material" itemMeta="32" />
<itemStack modID="EnderIO" itemName="itemPowderIngot" itemMeta="3" />
</preference>

<preference oreDictionary="dustTin">
<itemStack modID="ThermalFoundation" itemName="material" itemMeta="33" />
<itemStack modID="EnderIO" itemName="itemPowderIngot" itemMeta="4" />
</preference>

<preference oreDictionary="dustSilver">
<itemStack modID="ThermalFoundation" itemName="material" itemMeta="34" />
</preference>

<preference oreDictionary="dustLead">
<itemStack modID="ThermalFoundation" itemName="material" itemMeta="35" />
</preference>

<preference oreDictionary="dustNickel">
<itemStack modID="ThermalFoundation" itemName="material" itemMeta="36" />
</preference>

<preference oreDictionary="dustSulfur">
<itemStack modID="ThermalFoundation" itemName="material" itemMeta="16" />
</preference>

<preference oreDictionary="dustBronze">
<itemStack modID="ThermalFoundation" itemName="material" itemMeta="41" />
</preference>


</OreDictionaryPreferences>
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<!--
Entries in this file take precedence over the values in the core file
-->
<OreDictionaryPreferences>
</OreDictionaryPreferences>
11 changes: 7 additions & 4 deletions src/main/java/crazypants/enderio/EnderIO.java
Original file line number Diff line number Diff line change
@@ -1,9 +1,5 @@
package crazypants.enderio;

import static crazypants.enderio.EnderIO.MODID;
import static crazypants.enderio.EnderIO.MOD_NAME;
import static crazypants.enderio.EnderIO.VERSION;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
Expand Down Expand Up @@ -142,6 +138,7 @@
import crazypants.enderio.material.ItemMaterial;
import crazypants.enderio.material.ItemPowderIngot;
import crazypants.enderio.material.MaterialRecipes;
import crazypants.enderio.material.OreDictionaryPreferences;
import crazypants.enderio.network.MessageTileNBT;
import crazypants.enderio.network.PacketHandler;
import crazypants.enderio.rail.BlockEnderRail;
Expand All @@ -150,6 +147,9 @@
import crazypants.enderio.teleport.TeleportRecipes;
import crazypants.enderio.teleport.TravelController;
import crazypants.util.EntityUtil;
import static crazypants.enderio.EnderIO.MODID;
import static crazypants.enderio.EnderIO.MOD_NAME;
import static crazypants.enderio.EnderIO.VERSION;

@Mod(modid = MODID, name = MOD_NAME, version = VERSION, dependencies = "required-after:[email protected],);after:MineFactoryReloaded", guiFactory = "crazypants.enderio.config.ConfigFactoryEIO")
public class EnderIO {
Expand Down Expand Up @@ -570,6 +570,9 @@ public void load(FMLInitializationEvent event) {
@EventHandler
public void postInit(FMLPostInitializationEvent event) {

//This must be loaded before parsing the recipes so we get the preferred outputs
OreDictionaryPreferences.loadConfig();

//Regsiter the enchants
Enchantments.getInstance();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
import java.io.File;
import java.io.FileInputStream;
import java.io.StringReader;
import java.util.ArrayList;

import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
Expand All @@ -31,6 +30,8 @@
import crazypants.enderio.machine.crusher.CrusherRecipeManager;
import crazypants.enderio.machine.recipe.RecipeConfig.RecipeElement;
import crazypants.enderio.machine.recipe.RecipeConfig.RecipeGroup;
import crazypants.enderio.material.OreDictionaryPreferences;
import crazypants.util.OreDictionaryHelper;

public class RecipeConfigParser extends DefaultHandler {

Expand Down Expand Up @@ -103,7 +104,7 @@ public static RecipeConfig parse(InputSource is, CustomTagHandler customHandler)
private boolean inputTagOpen = false;

private boolean debug = false;

private boolean inCustomHandler = false;

private CustomTagHandler customHandler = null;
Expand Down Expand Up @@ -376,12 +377,16 @@ public static RecipeInput getItemStack(Attributes attributes) {
int stackSize = getIntValue(AT_NUMBER, attributes, 1);
String oreDict = getStringValue(AT_ORE_DICT, attributes, null);
if(oreDict != null) {
ArrayList<ItemStack> ores = OreDictionary.getOres(oreDict);
if(ores == null || ores.isEmpty() || ores.get(0) == null) {
if(!OreDictionaryHelper.isRegistered(oreDict)) {
Log.debug(LP + "Could not find an entry in the ore dictionary for " + oreDict);
return null;
}
ItemStack stack = ores.get(0).copy();
ItemStack stack = OreDictionaryPreferences.instance.getPreferred(oreDict);
if(stack == null) {
Log.debug(LP + "Could not find a prefered item in the ore dictionary for " + oreDict);
return null;
}
stack = stack.copy();
stack.stackSize = stackSize;
return new OreDictionaryRecipeInput(stack, OreDictionary.getOreID(oreDict), getFloatValue(AT_MULTIPLIER, attributes, 1), getIntValue(AT_SLOT, attributes,
-1));
Expand Down
15 changes: 8 additions & 7 deletions src/main/java/crazypants/enderio/material/MaterialRecipes.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,11 @@

import java.util.ArrayList;

import static crazypants.util.OreDictionaryHelper.INGOT_TIN;
import static crazypants.util.OreDictionaryHelper.hasCopper;
import static crazypants.util.OreDictionaryHelper.hasEnderPearlDust;
import static crazypants.util.OreDictionaryHelper.hasTin;

import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.item.Item;
Expand All @@ -15,11 +20,6 @@
import crazypants.util.OreDictionaryHelper;
import static crazypants.enderio.EnderIO.itemBasicCapacitor;

import static crazypants.util.OreDictionaryHelper.INGOT_TIN;
import static crazypants.util.OreDictionaryHelper.getPreffered;
import static crazypants.util.OreDictionaryHelper.hasCopper;
import static crazypants.util.OreDictionaryHelper.hasEnderPearlDust;
import static crazypants.util.OreDictionaryHelper.hasTin;

public class MaterialRecipes {

Expand Down Expand Up @@ -193,10 +193,11 @@ public static void addRecipes() {
public static void addOreDictionaryRecipes() {
if(OreDictionaryHelper.hasCopper()) {
FurnaceRecipes.smelting().func_151394_a(new ItemStack(EnderIO.itemPowderIngot, 1, PowderIngot.POWDER_COPPER.ordinal()),
getPreffered(OreDictionaryHelper.INGOT_COPPER), 0);
OreDictionaryPreferences.instance.getPreferred(OreDictionaryHelper.INGOT_COPPER), 0);
}
if(hasTin()) {
FurnaceRecipes.smelting().func_151394_a(new ItemStack(EnderIO.itemPowderIngot, 1, PowderIngot.POWDER_TIN.ordinal()), getPreffered(INGOT_TIN), 0);
FurnaceRecipes.smelting().func_151394_a(new ItemStack(EnderIO.itemPowderIngot, 1, PowderIngot.POWDER_TIN.ordinal()),
OreDictionaryPreferences.instance.getPreferred(INGOT_TIN), 0);
}

ItemStack capacitor = new ItemStack(EnderIO.itemBasicCapacitor, 1, 0);
Expand Down
Loading

0 comments on commit 85efebd

Please sign in to comment.