Skip to content

Commit

Permalink
May fix Issue#5, Fix Immersive Engineering Integration, it was messin…
Browse files Browse the repository at this point in the history
…g with energy and time values.
  • Loading branch information
WanionCane committed Sep 6, 2016
1 parent 86f86f8 commit bbd8c5d
Show file tree
Hide file tree
Showing 5 changed files with 155 additions and 139 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.8b"
version = "1.10.2-1.8c"
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/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.8b";
public static final String MOD_VERSION = "1.10.2-1.8c";
public static final char SLASH = separatorChar;
public static final String MC_VERSION = "[1.10.2]";

Expand Down
28 changes: 11 additions & 17 deletions src/main/java/wanion/unidict/integration/IEIntegration.java
Original file line number Diff line number Diff line change
Expand Up @@ -14,20 +14,14 @@
import gnu.trove.set.TIntSet;
import gnu.trove.set.hash.TIntHashSet;
import net.minecraft.item.ItemStack;
import wanion.unidict.LoadStage;
import wanion.unidict.MetaItem;
import wanion.unidict.UniDict;
import wanion.unidict.UniOreDictionary;
import wanion.unidict.common.FixedSizeList;
import wanion.unidict.module.SpecifiedLoadStage;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;
import java.util.List;
import java.util.*;
import java.util.stream.Collectors;

@SpecifiedLoadStage(stage = LoadStage.LOAD_COMPLETE)
final class IEIntegration extends AbstractIntegrationThread
{
private final UniOreDictionary uniOreDictionary = UniDict.getDependencies().get(UniOreDictionary.class);
Expand All @@ -45,24 +39,23 @@ public String call()
fixBlastFurnaceRecipes();
fixCrusherRecipes();
fixMetalPressRecipes();
} catch (Exception e) {
UniDict.getLogger().error(threadName + e);
e.printStackTrace();
}
} catch (Exception e) { UniDict.getLogger().error(threadName + e); }
return threadName + "The world's engineer appears to be more immersive.";
}

private void fixArcFurnaceRecipes()
{
final List<ArcFurnaceRecipe> arcFurnaceRecipes = ArcFurnaceRecipe.recipeList;
final List<ArcFurnaceRecipe> correctRecipes = new ArrayList<>(new Double(arcFurnaceRecipes.size() * 1.3).intValue());
for (final Iterator arcFurnaceRecipeIterator = arcFurnaceRecipes.iterator(); arcFurnaceRecipeIterator.hasNext(); )
for (final Iterator<ArcFurnaceRecipe> arcFurnaceRecipeIterator = arcFurnaceRecipes.iterator(); arcFurnaceRecipeIterator.hasNext(); )
{
final ArcFurnaceRecipe recipe = (ArcFurnaceRecipe) arcFurnaceRecipeIterator.next();
final ArcFurnaceRecipe recipe = arcFurnaceRecipeIterator.next();
final ItemStack correctOutput = resourceHandler.getMainItemStack(recipe.output);
if (correctOutput == recipe.output)
continue;
correctRecipes.add(new ArcFurnaceRecipe(correctOutput, recipe.oreInputString, recipe.slag, recipe.getTotalProcessTime(), recipe.getMultipleProcessTicks(), ingredientStackToValidInput(recipe.additives)));
final int time = (int) Math.floor((double) ((float) recipe.getTotalProcessTime() / ArcFurnaceRecipe.timeModifier));
final int energy = (int) Math.floor((double) ((float) ((recipe.getTotalProcessEnergy() / ArcFurnaceRecipe.energyModifier) / recipe.getTotalProcessTime())));
correctRecipes.add(new ArcFurnaceRecipe(correctOutput, ingredientStackToValidInput(recipe.input), recipe.slag, time, energy, ingredientStackToValidInput(recipe.additives)));
arcFurnaceRecipeIterator.remove();
}
arcFurnaceRecipes.addAll(correctRecipes);
Expand Down Expand Up @@ -90,10 +83,11 @@ private void fixCrusherRecipes()
final ItemStack input = UniOreDictionary.getFirstEntry(crusherRecipe.oreInputString);
final int recipeId = MetaItem.getCumulative(input, correctOutput);
if (!uniques.contains(recipeId)) {
final int energy = (int) Math.floor((double) ((float) crusherRecipe.getTotalProcessEnergy() / CrusherRecipe.energyModifier));
if (crusherRecipe.secondaryOutput == null)
correctRecipes.add(new CrusherRecipe(correctOutput, ingredientStackToValidInput(crusherRecipe.input), crusherRecipe.getTotalProcessEnergy()));
correctRecipes.add(new CrusherRecipe(correctOutput, ingredientStackToValidInput(crusherRecipe.input), energy));
else
correctRecipes.add(new UniCrusherRecipe(correctOutput, ingredientStackToValidInput(crusherRecipe.input), crusherRecipe.getTotalProcessEnergy(), resourceHandler.getMainItemStacks(crusherRecipe.secondaryOutput), crusherRecipe.secondaryChance));
correctRecipes.add(new UniCrusherRecipe(correctOutput, ingredientStackToValidInput(crusherRecipe.input), energy, resourceHandler.getMainItemStacks(crusherRecipe.secondaryOutput), crusherRecipe.secondaryChance));
uniques.add(recipeId);
}
crusherRecipesIterator.remove();
Expand All @@ -114,7 +108,7 @@ private void fixMetalPressRecipes()
continue;
final int id = MetaItem.getCumulative(output, metalPressRecipe.mold.stack);
if (!uniques.contains(id)) {
correctRecipes.put(metalPressRecipe.mold, new MetalPressRecipe(output, ingredientStackToValidInput(metalPressRecipe.input), metalPressRecipe.mold.stack, metalPressRecipe.getTotalProcessEnergy()));
correctRecipes.put(metalPressRecipe.mold, new MetalPressRecipe(output, ingredientStackToValidInput(metalPressRecipe.input), metalPressRecipe.mold.stack, (int) Math.floor((double) ((float) metalPressRecipe.getTotalProcessEnergy() / MetalPressRecipe.timeModifier))));
uniques.add(id);
}
metalPressRecipesIterator.remove();
Expand Down
Loading

0 comments on commit bbd8c5d

Please sign in to comment.