Skip to content

Commit

Permalink
a small fix on input Replacement
Browse files Browse the repository at this point in the history
  • Loading branch information
WanionCane committed Sep 3, 2016
1 parent d85ee74 commit 86f86f8
Show file tree
Hide file tree
Showing 6 changed files with 15 additions and 12 deletions.
2 changes: 1 addition & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ plugins {
id "net.minecraftforge.gradle.forge" version "2.0.2"
}
*/
version = "1.10.2-1.8"
version = "1.10.2-1.8b"
group= "wanion.unidict" // http://maven.apache.org/guides/mini/guide-naming-conventions.html
archivesBaseName = "UniDict"

Expand Down
2 changes: 1 addition & 1 deletion src/main/java/wanion/unidict/Config.java
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ private Config() {}
private static final Configuration config = new Configuration(new File("." + SLASH + "config" + SLASH + Reference.MOD_NAME + ".cfg"), Reference.MOD_VERSION);
// general configs
private static final String general = Configuration.CATEGORY_GENERAL;
public static final boolean keepOneEntry = config.getBoolean("keepOneEntry", general, false, "keep only one entry per ore dict entry?\nNote: enabling this also enables inputReplacement.");
public static final boolean keepOneEntry = config.getBoolean("keepOneEntry", general, false, "keep only one entry per ore dict entry?");
public static final boolean inputReplacement = config.getBoolean("inputReplacement", general, false, "Enabling this will remove all non-standard items as input.\nNote: this will only affect machines that doesn't use OreDictionary.");
public static final Set<String> keepOneEntryModBlackSet = Collections.unmodifiableSet(Sets.newLinkedHashSet(Arrays.asList(config.getStringList("keepOneEntryModBlackList", general, new String[]{}, "mods listed here will be blacklisted in keepOneEntry.\nmust be the exact modID."))));
public static boolean autoHideInJEI;
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/wanion/unidict/common/Reference.java
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ public final class Reference
{
public static final String MOD_ID = "UniDict";
public static final String MOD_NAME = MOD_ID;
public static final String MOD_VERSION = "1.10.2-1.8";
public static final String MOD_VERSION = "1.10.2-1.8b";
public static final char SLASH = separatorChar;
public static final String MC_VERSION = "[1.10.2]";

Expand Down
13 changes: 7 additions & 6 deletions src/main/java/wanion/unidict/integration/FurnaceIntegration.java
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ public String call()

private void optimizeFurnaceRecipes()
{
if (!(Config.keepOneEntry || Config.inputReplacement))
if (!Config.inputReplacement)
for (final Map.Entry<ItemStack, ItemStack> furnaceRecipe : FurnaceRecipes.instance().getSmeltingList().entrySet())
furnaceRecipe.setValue(resourceHandler.getMainItemStack(furnaceRecipe.getValue()));
else {
Expand All @@ -51,20 +51,21 @@ private void optimizeFurnaceRecipes()
final Map.Entry<ItemStack, ItemStack> furnaceRecipe = furnaceRecipeIterator.next();
final UniResourceContainer inputContainer = resourceHandler.getContainer(furnaceRecipe.getKey());
final UniResourceContainer outputContainer = resourceHandler.getContainer(furnaceRecipe.getValue());
if (outputContainer != null && inputContainer == null) {
furnaceRecipe.setValue(outputContainer.getMainEntry(furnaceRecipe.getValue().stackSize));
if (outputContainer == null)
continue;
} else if (outputContainer == null)
else if (inputContainer == null) {
furnaceRecipe.setValue(outputContainer.getMainEntry(furnaceRecipe.getValue().stackSize));
continue;
}
final int kind = inputContainer.kind;
if (!containerKindMap.containsKey(outputContainer))
containerKindMap.put(outputContainer, new TIntHashSet());
final TIntSet kindSet = containerKindMap.get(outputContainer);
if (!kindSet.contains(kind)) {
kindSet.add(kind);
newRecipes.put(inputContainer.getMainEntry(furnaceRecipe.getKey().stackSize), outputContainer.getMainEntry(furnaceRecipe.getValue().stackSize));
} else
furnaceRecipeIterator.remove();
}
furnaceRecipeIterator.remove();
}
furnaceRecipes.putAll(newRecipes);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ private void fixInfusionMekanismRecipes(@Nonnull final Map<InfusionInput, Machin
{
final int initialSize = recipes.size();
final Map<InfusionInput, MachineRecipe<InfusionInput, ItemStackOutput, MetallurgicInfuserRecipe>> correctRecipes = new HashMap<>(initialSize, 1);
if (!(Config.keepOneEntry || Config.inputReplacement)) {
if (!Config.inputReplacement) {
final TIntSet uniques = new TIntHashSet(initialSize, 1);

for (final Iterator<MachineRecipe<InfusionInput, ItemStackOutput, MetallurgicInfuserRecipe>> infusionRecipeIterator = recipes.values().iterator(); infusionRecipeIterator.hasNext(); )
Expand All @@ -114,6 +114,8 @@ private void fixInfusionMekanismRecipes(@Nonnull final Map<InfusionInput, Machin
if (correctOutput == infusionRecipe.recipeOutput.output)
continue;
final MachineRecipe<InfusionInput, ItemStackOutput, MetallurgicInfuserRecipe> newRecipe = infusionRecipe.copy();
if (Config.keepOneEntry)
newRecipe.recipeInput.inputStack = resourceHandler.getMainItemStack(newRecipe.recipeInput.inputStack);
newRecipe.recipeOutput.output = correctOutput;
final int recipeID = MetaItem.getCumulative(newRecipe.recipeOutput.output, newRecipe.recipeInput.inputStack);
if (!uniques.contains(recipeID)) {
Expand All @@ -122,7 +124,7 @@ private void fixInfusionMekanismRecipes(@Nonnull final Map<InfusionInput, Machin
}
infusionRecipeIterator.remove();
}
}else {
} else {
final Map<UniResourceContainer, TIntSet> containerKindMap = new IdentityHashMap<>();
for (final Iterator<MachineRecipe<InfusionInput, ItemStackOutput, MetallurgicInfuserRecipe>> infusionRecipeIterator = recipes.values().iterator(); infusionRecipeIterator.hasNext(); )
{
Expand Down
2 changes: 1 addition & 1 deletion src/main/resources/mcmod.info
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"modid": "UniDict",
"name": "UniDict",
"description": "a mod about unifying all the things.",
"version": "1.8",
"version": "1.8b",
"mcversion": "${mcversion}",
"url": "http://minecraft.curseforge.com/projects/unidict",
"updateUrl": "",
Expand Down

0 comments on commit 86f86f8

Please sign in to comment.