Fixed NEI bug & overlays
- Fixed Cutter NEI overlay aligment - Fixed NEI showing only 1 item in wildcard recipes, when should be more
This commit is contained in:
parent
ed6fb5a14b
commit
0941fa049f
24 changed files with 137 additions and 27 deletions
|
@ -151,6 +151,15 @@ public class GT_Utility {
|
|||
return null;
|
||||
}
|
||||
|
||||
public static void setFieldContent(Object aObject, Object value, String aField, boolean aPrivate, boolean aLogErrors) {
|
||||
Field f = getField(aObject, aField, aPrivate, aLogErrors);
|
||||
try {
|
||||
f.set(aObject, value);
|
||||
} catch (Throwable e) {
|
||||
if (aLogErrors) GT_Log.log.catching(e);
|
||||
}
|
||||
}
|
||||
|
||||
public static Object callPublicMethod(Object aObject, String aMethod, Object... aParameters) {
|
||||
return callMethod(aObject, aMethod, false, false, true, aParameters);
|
||||
}
|
||||
|
|
|
@ -7,6 +7,7 @@ import gregtechmod.api.recipe.Ingredient;
|
|||
import gregtechmod.api.recipe.Recipe;
|
||||
import gregtechmod.api.recipe.RecipeMap;
|
||||
import gregtechmod.api.util.GT_Utility;
|
||||
import gregtechmod.mistaqur.nei.handlers.FixedPositionedStack;
|
||||
|
||||
import static codechicken.lib.gui.GuiDraw.changeTexture;
|
||||
|
||||
|
@ -75,21 +76,21 @@ public abstract class GT_RecipeHandler extends TemplateRecipeHandler {
|
|||
nonConsumables.add(GT_Utility.stackToInt(s));
|
||||
}
|
||||
}
|
||||
resources.add(new PositionedStack(input.getVariants(), offsets.getKey(), offsets.getValue()));
|
||||
resources.add(new FixedPositionedStack(input.getVariants(), offsets.getKey(), offsets.getValue()));
|
||||
}
|
||||
|
||||
int offset = 0;
|
||||
List<ItemStack> outputs = recipe.getOutputs();
|
||||
for (offset = 0; offset < outputs.size(); offset++) {
|
||||
Pair<Integer, Integer> offsets = getOutputAligment(offset);
|
||||
products.add(new PositionedStack(outputs.get(offset), offsets.getKey(), offsets.getValue()));
|
||||
products.add(new FixedPositionedStack(outputs.get(offset), offsets.getKey(), offsets.getValue()));
|
||||
}
|
||||
|
||||
List<ChancedOutput> chanced = recipe.getChancedOutputs();
|
||||
for (int i = 0; i < chanced.size(); i++) {
|
||||
Pair<Integer, Integer> offsets = getOutputAligment(i + offset);
|
||||
ChancedOutput output = chanced.get(i);
|
||||
products.add(new PositionedStack(output.getStack(), offsets.getKey(), offsets.getValue()));
|
||||
products.add(new FixedPositionedStack(output.getStack(), offsets.getKey(), offsets.getValue()));
|
||||
this.chanced.put(GT_Utility.stackToInt(output.getStack()), output.getChance());
|
||||
}
|
||||
|
||||
|
|
|
@ -11,6 +11,25 @@ import gregtechmod.common.gui.GT_GUIContainer_PlasmaGenerator;
|
|||
import gregtechmod.common.gui.GT_GUIContainer_SemifluidGenerator;
|
||||
import gregtechmod.common.gui.GT_GUIContainer_ThermalGenerator;
|
||||
import gregtechmod.common.recipe.RecipeMaps;
|
||||
import gregtechmod.mistaqur.nei.handlers.AssemblerRecipeHandler;
|
||||
import gregtechmod.mistaqur.nei.handlers.BenderRecipeHandler;
|
||||
import gregtechmod.mistaqur.nei.handlers.BlastRecipeHandler;
|
||||
import gregtechmod.mistaqur.nei.handlers.BronzeBlastRecipeHandler;
|
||||
import gregtechmod.mistaqur.nei.handlers.CannerRecipeHandler;
|
||||
import gregtechmod.mistaqur.nei.handlers.CentrifugeRecipeHandler;
|
||||
import gregtechmod.mistaqur.nei.handlers.ChemicalRecipeHandler;
|
||||
import gregtechmod.mistaqur.nei.handlers.CutterRecipeHandler;
|
||||
import gregtechmod.mistaqur.nei.handlers.DistillationRecipeHandler;
|
||||
import gregtechmod.mistaqur.nei.handlers.ElectrolyzerRecipeHandler;
|
||||
import gregtechmod.mistaqur.nei.handlers.ExtruderRecipeHandler;
|
||||
import gregtechmod.mistaqur.nei.handlers.FusionRecipeHandler;
|
||||
import gregtechmod.mistaqur.nei.handlers.GeneratorHandler;
|
||||
import gregtechmod.mistaqur.nei.handlers.GrinderRecipeHandler;
|
||||
import gregtechmod.mistaqur.nei.handlers.ImplosionRecipeHandler;
|
||||
import gregtechmod.mistaqur.nei.handlers.LatheRecipeHandler;
|
||||
import gregtechmod.mistaqur.nei.handlers.SawmillRecipeHandler;
|
||||
import gregtechmod.mistaqur.nei.handlers.VacuumFreezerRecipeHandler;
|
||||
import gregtechmod.mistaqur.nei.handlers.WiremillRecipeHandler;
|
||||
import codechicken.nei.api.IConfigureNEI;
|
||||
|
||||
public class NEI_GregTech_Config implements IConfigureNEI {
|
||||
|
|
|
@ -22,9 +22,9 @@ import net.minecraftforge.fluids.FluidStack;
|
|||
*/
|
||||
public class PositionedFluidStack {
|
||||
|
||||
protected int x;
|
||||
protected int y;
|
||||
protected FluidStack fluid;
|
||||
public int x;
|
||||
public int y;
|
||||
public FluidStack fluid;
|
||||
/**
|
||||
*
|
||||
*/
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
package gregtechmod.mistaqur.nei;
|
||||
package gregtechmod.mistaqur.nei.handlers;
|
||||
|
||||
import gregtechmod.api.GregTech_API;
|
||||
import gregtechmod.api.recipe.Recipe;
|
||||
|
@ -7,6 +7,7 @@ import gregtechmod.api.util.GT_Log;
|
|||
import gregtechmod.api.util.GT_Utility;
|
||||
import gregtechmod.common.gui.GT_GUIContainer_BasicMachine_Assembler;
|
||||
import gregtechmod.common.recipe.RecipeMaps;
|
||||
import gregtechmod.mistaqur.nei.GT_RecipeHandler;
|
||||
|
||||
import java.awt.Rectangle;
|
||||
import java.util.ArrayList;
|
|
@ -1,4 +1,4 @@
|
|||
package gregtechmod.mistaqur.nei;
|
||||
package gregtechmod.mistaqur.nei.handlers;
|
||||
|
||||
import gregtechmod.api.GregTech_API;
|
||||
import gregtechmod.api.recipe.Recipe;
|
||||
|
@ -7,6 +7,7 @@ import gregtechmod.api.util.GT_Log;
|
|||
import gregtechmod.api.util.GT_Utility;
|
||||
import gregtechmod.common.gui.GT_GUIContainer_BasicMachine_Bender;
|
||||
import gregtechmod.common.recipe.RecipeMaps;
|
||||
import gregtechmod.mistaqur.nei.GT_RecipeHandler;
|
||||
|
||||
import java.awt.Rectangle;
|
||||
import java.util.ArrayList;
|
|
@ -1,4 +1,4 @@
|
|||
package gregtechmod.mistaqur.nei;
|
||||
package gregtechmod.mistaqur.nei.handlers;
|
||||
|
||||
import gregtechmod.api.GregTech_API;
|
||||
import gregtechmod.api.recipe.Recipe;
|
||||
|
@ -7,6 +7,7 @@ import gregtechmod.api.util.GT_Log;
|
|||
import gregtechmod.api.util.GT_Utility;
|
||||
import gregtechmod.common.gui.GT_GUIContainer_BlastFurnace;
|
||||
import gregtechmod.common.recipe.RecipeMaps;
|
||||
import gregtechmod.mistaqur.nei.GT_RecipeHandler;
|
||||
|
||||
import java.awt.Rectangle;
|
||||
import java.util.ArrayList;
|
|
@ -1,4 +1,4 @@
|
|||
package gregtechmod.mistaqur.nei;
|
||||
package gregtechmod.mistaqur.nei.handlers;
|
||||
|
||||
import java.awt.Rectangle;
|
||||
import java.util.ArrayList;
|
|
@ -1,4 +1,4 @@
|
|||
package gregtechmod.mistaqur.nei;
|
||||
package gregtechmod.mistaqur.nei.handlers;
|
||||
|
||||
import gregtechmod.api.GregTech_API;
|
||||
import gregtechmod.api.recipe.Recipe;
|
||||
|
@ -7,6 +7,7 @@ import gregtechmod.api.util.GT_Log;
|
|||
import gregtechmod.api.util.GT_Utility;
|
||||
import gregtechmod.common.gui.GT_GUIContainer_BasicMachine_Canner;
|
||||
import gregtechmod.common.recipe.RecipeMaps;
|
||||
import gregtechmod.mistaqur.nei.GT_RecipeHandler;
|
||||
|
||||
import java.awt.Rectangle;
|
||||
import java.util.ArrayList;
|
|
@ -1,4 +1,4 @@
|
|||
package gregtechmod.mistaqur.nei;
|
||||
package gregtechmod.mistaqur.nei.handlers;
|
||||
|
||||
import gregtechmod.api.GregTech_API;
|
||||
import gregtechmod.api.recipe.Recipe;
|
||||
|
@ -7,6 +7,7 @@ import gregtechmod.api.util.GT_Log;
|
|||
import gregtechmod.api.util.GT_Utility;
|
||||
import gregtechmod.common.gui.GT_GUIContainer_Centrifuge;
|
||||
import gregtechmod.common.recipe.RecipeMaps;
|
||||
import gregtechmod.mistaqur.nei.GT_RecipeHandler;
|
||||
|
||||
import java.awt.Rectangle;
|
||||
import java.util.ArrayList;
|
|
@ -1,4 +1,4 @@
|
|||
package gregtechmod.mistaqur.nei;
|
||||
package gregtechmod.mistaqur.nei.handlers;
|
||||
|
||||
import gregtechmod.api.GregTech_API;
|
||||
import gregtechmod.api.recipe.Recipe;
|
||||
|
@ -7,6 +7,7 @@ import gregtechmod.api.util.GT_Log;
|
|||
import gregtechmod.api.util.GT_Utility;
|
||||
import gregtechmod.common.gui.GT_GUIContainer_ChemicalReactor;
|
||||
import gregtechmod.common.recipe.RecipeMaps;
|
||||
import gregtechmod.mistaqur.nei.GT_RecipeHandler;
|
||||
|
||||
import java.awt.Rectangle;
|
||||
import java.util.ArrayList;
|
|
@ -1,4 +1,4 @@
|
|||
package gregtechmod.mistaqur.nei;
|
||||
package gregtechmod.mistaqur.nei.handlers;
|
||||
|
||||
import gregtechmod.api.GregTech_API;
|
||||
import gregtechmod.api.recipe.Recipe;
|
||||
|
@ -7,6 +7,7 @@ import gregtechmod.api.util.GT_Log;
|
|||
import gregtechmod.api.util.GT_Utility;
|
||||
import gregtechmod.common.gui.GT_GUIContainer_BasicMachine_Cutter;
|
||||
import gregtechmod.common.recipe.RecipeMaps;
|
||||
import gregtechmod.mistaqur.nei.GT_RecipeHandler;
|
||||
|
||||
import java.awt.Rectangle;
|
||||
import java.util.ArrayList;
|
||||
|
@ -67,7 +68,7 @@ public class CutterRecipeHandler extends GT_RecipeHandler {
|
|||
|
||||
@Override
|
||||
protected Pair<Integer, Integer> getOutputAligment(int itemIdx) {
|
||||
return Pair.of(107 - sOffsetX * (18 * itemIdx), 25 - sOffsetY);
|
||||
return Pair.of(102 - sOffsetX * (18 * itemIdx), 25 - sOffsetY);
|
||||
}
|
||||
};
|
||||
}
|
|
@ -1,4 +1,4 @@
|
|||
package gregtechmod.mistaqur.nei;
|
||||
package gregtechmod.mistaqur.nei.handlers;
|
||||
|
||||
import gregtechmod.api.GregTech_API;
|
||||
import gregtechmod.api.recipe.Recipe;
|
||||
|
@ -7,6 +7,7 @@ import gregtechmod.api.util.GT_Log;
|
|||
import gregtechmod.api.util.GT_Utility;
|
||||
import gregtechmod.common.gui.GT_GUIContainer_DistillationTower;
|
||||
import gregtechmod.common.recipe.RecipeMaps;
|
||||
import gregtechmod.mistaqur.nei.GT_RecipeHandler;
|
||||
|
||||
import java.awt.Rectangle;
|
||||
import java.util.ArrayList;
|
|
@ -1,4 +1,4 @@
|
|||
package gregtechmod.mistaqur.nei;
|
||||
package gregtechmod.mistaqur.nei.handlers;
|
||||
|
||||
import gregtechmod.api.GregTech_API;
|
||||
import gregtechmod.api.recipe.Recipe;
|
||||
|
@ -7,6 +7,7 @@ import gregtechmod.api.util.GT_Log;
|
|||
import gregtechmod.api.util.GT_Utility;
|
||||
import gregtechmod.common.gui.GT_GUIContainer_Electrolyzer;
|
||||
import gregtechmod.common.recipe.RecipeMaps;
|
||||
import gregtechmod.mistaqur.nei.GT_RecipeHandler;
|
||||
|
||||
import java.awt.Rectangle;
|
||||
import java.util.ArrayList;
|
|
@ -1,4 +1,4 @@
|
|||
package gregtechmod.mistaqur.nei;
|
||||
package gregtechmod.mistaqur.nei.handlers;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.awt.Rectangle;
|
||||
|
@ -12,6 +12,7 @@ import gregtechmod.api.util.GT_Log;
|
|||
import gregtechmod.api.util.GT_Utility;
|
||||
import gregtechmod.common.gui.GT_GUIContainer_BasicMachine_Extruder;
|
||||
import gregtechmod.common.recipe.RecipeMaps;
|
||||
import gregtechmod.mistaqur.nei.GT_RecipeHandler;
|
||||
import net.minecraft.client.resources.I18n;
|
||||
import net.minecraft.util.StatCollector;
|
||||
|
|
@ -0,0 +1,64 @@
|
|||
package gregtechmod.mistaqur.nei.handlers;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import codechicken.nei.ItemList;
|
||||
import codechicken.nei.PositionedStack;
|
||||
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
/**
|
||||
* @author TheDarkDnKTv
|
||||
* Fixed {@link PositionedStack}, in default NEI's brocken {@link PositionedStack#generatePermutations()} method. Do not saves amounts
|
||||
*/
|
||||
public class FixedPositionedStack extends PositionedStack {
|
||||
|
||||
protected boolean permutated = false;
|
||||
|
||||
public FixedPositionedStack(Object object, int x, int y) {
|
||||
super(object, x, y);
|
||||
}
|
||||
|
||||
public FixedPositionedStack(Object object, int x, int y, boolean genPerms) {
|
||||
super(object, x, y, genPerms);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void generatePermutations() {
|
||||
if (permutated) return;
|
||||
|
||||
List<ItemStack> stacks = new ArrayList<ItemStack>();
|
||||
for (ItemStack item : items) {
|
||||
if (item == null || item.getItem() == null)
|
||||
continue;
|
||||
|
||||
if (item.getItemDamage() == Short.MAX_VALUE) {
|
||||
List<ItemStack> permutations = ItemList.itemMap.get(item.getItem());
|
||||
if (!permutations.isEmpty()) {
|
||||
for (ItemStack stack : permutations) {
|
||||
ItemStack copy = stack.copy();
|
||||
copy.stackSize = item.stackSize;
|
||||
stacks.add(copy);
|
||||
}
|
||||
} else {
|
||||
ItemStack base = new ItemStack(item.getItem(), item.stackSize);
|
||||
base.stackTagCompound = item.stackTagCompound;
|
||||
stacks.add(base);
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
stacks.add(item.copy());
|
||||
}
|
||||
items = stacks.toArray(new ItemStack[0]);
|
||||
|
||||
if (items.length == 0)
|
||||
items = new ItemStack[] { new ItemStack(Blocks.fire) };
|
||||
|
||||
permutated = true;
|
||||
setPermutationToRender(0);
|
||||
}
|
||||
}
|
|
@ -1,4 +1,4 @@
|
|||
package gregtechmod.mistaqur.nei;
|
||||
package gregtechmod.mistaqur.nei.handlers;
|
||||
|
||||
import gregtechmod.api.GregTech_API;
|
||||
import gregtechmod.api.recipe.Recipe;
|
||||
|
@ -7,6 +7,7 @@ import gregtechmod.api.util.GT_Log;
|
|||
import gregtechmod.api.util.GT_Utility;
|
||||
import gregtechmod.common.gui.GT_GUIContainer_FusionComputer;
|
||||
import gregtechmod.common.recipe.RecipeMaps;
|
||||
import gregtechmod.mistaqur.nei.GT_RecipeHandler;
|
||||
|
||||
import java.awt.Rectangle;
|
||||
import java.util.ArrayList;
|
|
@ -1,4 +1,4 @@
|
|||
package gregtechmod.mistaqur.nei;
|
||||
package gregtechmod.mistaqur.nei.handlers;
|
||||
|
||||
import java.awt.Rectangle;
|
||||
import java.util.ArrayList;
|
||||
|
@ -13,7 +13,7 @@ import gregtechmod.api.recipe.Recipe;
|
|||
import gregtechmod.api.recipe.RecipeMap;
|
||||
import gregtechmod.api.util.GT_Log;
|
||||
import gregtechmod.api.util.GT_Utility;
|
||||
|
||||
import gregtechmod.mistaqur.nei.GT_RecipeHandler;
|
||||
import net.minecraft.client.gui.inventory.GuiContainer;
|
||||
import net.minecraft.client.resources.I18n;
|
||||
import net.minecraft.util.StatCollector;
|
|
@ -1,4 +1,4 @@
|
|||
package gregtechmod.mistaqur.nei;
|
||||
package gregtechmod.mistaqur.nei.handlers;
|
||||
|
||||
import gregtechmod.api.GregTech_API;
|
||||
import gregtechmod.api.recipe.Recipe;
|
||||
|
@ -7,6 +7,7 @@ import gregtechmod.api.util.GT_Log;
|
|||
import gregtechmod.api.util.GT_Utility;
|
||||
import gregtechmod.common.gui.GT_GUIContainer_Grinder;
|
||||
import gregtechmod.common.recipe.RecipeMaps;
|
||||
import gregtechmod.mistaqur.nei.GT_RecipeHandler;
|
||||
|
||||
import java.awt.Rectangle;
|
||||
import java.util.ArrayList;
|
|
@ -1,4 +1,4 @@
|
|||
package gregtechmod.mistaqur.nei;
|
||||
package gregtechmod.mistaqur.nei.handlers;
|
||||
|
||||
import gregtechmod.api.GregTech_API;
|
||||
import gregtechmod.api.recipe.Recipe;
|
||||
|
@ -7,6 +7,7 @@ import gregtechmod.api.util.GT_Log;
|
|||
import gregtechmod.api.util.GT_Utility;
|
||||
import gregtechmod.common.gui.GT_GUIContainer_ImplosionCompressor;
|
||||
import gregtechmod.common.recipe.RecipeMaps;
|
||||
import gregtechmod.mistaqur.nei.GT_RecipeHandler;
|
||||
|
||||
import java.awt.Rectangle;
|
||||
import java.util.ArrayList;
|
|
@ -1,4 +1,4 @@
|
|||
package gregtechmod.mistaqur.nei;
|
||||
package gregtechmod.mistaqur.nei.handlers;
|
||||
|
||||
import gregtechmod.api.GregTech_API;
|
||||
import gregtechmod.api.recipe.Recipe;
|
||||
|
@ -7,6 +7,7 @@ import gregtechmod.api.util.GT_Log;
|
|||
import gregtechmod.api.util.GT_Utility;
|
||||
import gregtechmod.common.gui.GT_GUIContainer_BasicMachine_Lathe;
|
||||
import gregtechmod.common.recipe.RecipeMaps;
|
||||
import gregtechmod.mistaqur.nei.GT_RecipeHandler;
|
||||
|
||||
import java.awt.Rectangle;
|
||||
import java.util.ArrayList;
|
|
@ -1,4 +1,4 @@
|
|||
package gregtechmod.mistaqur.nei;
|
||||
package gregtechmod.mistaqur.nei.handlers;
|
||||
|
||||
import gregtechmod.api.GregTech_API;
|
||||
import gregtechmod.api.recipe.Recipe;
|
||||
|
@ -7,6 +7,7 @@ import gregtechmod.api.util.GT_Log;
|
|||
import gregtechmod.api.util.GT_Utility;
|
||||
import gregtechmod.common.gui.GT_GUIContainer_Sawmill;
|
||||
import gregtechmod.common.recipe.RecipeMaps;
|
||||
import gregtechmod.mistaqur.nei.GT_RecipeHandler;
|
||||
|
||||
import java.awt.Rectangle;
|
||||
import java.util.ArrayList;
|
|
@ -1,4 +1,4 @@
|
|||
package gregtechmod.mistaqur.nei;
|
||||
package gregtechmod.mistaqur.nei.handlers;
|
||||
|
||||
import gregtechmod.api.GregTech_API;
|
||||
import gregtechmod.api.recipe.Recipe;
|
||||
|
@ -7,6 +7,7 @@ import gregtechmod.api.util.GT_Log;
|
|||
import gregtechmod.api.util.GT_Utility;
|
||||
import gregtechmod.common.gui.GT_GUIContainer_VacuumFreezer;
|
||||
import gregtechmod.common.recipe.RecipeMaps;
|
||||
import gregtechmod.mistaqur.nei.GT_RecipeHandler;
|
||||
|
||||
import java.awt.Rectangle;
|
||||
import java.util.ArrayList;
|
|
@ -1,4 +1,4 @@
|
|||
package gregtechmod.mistaqur.nei;
|
||||
package gregtechmod.mistaqur.nei.handlers;
|
||||
|
||||
import gregtechmod.api.GregTech_API;
|
||||
import gregtechmod.api.recipe.Recipe;
|
||||
|
@ -7,6 +7,7 @@ import gregtechmod.api.util.GT_Log;
|
|||
import gregtechmod.api.util.GT_Utility;
|
||||
import gregtechmod.common.gui.GT_GUIContainer_BasicMachine_Wiremill;
|
||||
import gregtechmod.common.recipe.RecipeMaps;
|
||||
import gregtechmod.mistaqur.nei.GT_RecipeHandler;
|
||||
|
||||
import java.awt.Rectangle;
|
||||
import java.util.ArrayList;
|
Loading…
Reference in a new issue