Now comes the grind, 244 errors left

This commit is contained in:
modmuss50 2016-03-13 16:08:30 +00:00
parent 7f920b282f
commit 9a40abbe78
220 changed files with 2053 additions and 2052 deletions

View file

@ -1,68 +1,68 @@
package techreborn.compat.jei; package techreborn.compat.jei;
import mezz.jei.api.recipe.BlankRecipeWrapper; import mezz.jei.api.recipe.BlankRecipeWrapper;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraftforge.oredict.OreDictionary; import net.minecraftforge.oredict.OreDictionary;
import techreborn.api.recipe.BaseRecipe; import techreborn.api.recipe.BaseRecipe;
import javax.annotation.Nonnull; import javax.annotation.Nonnull;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;
import java.util.HashSet; import java.util.HashSet;
import java.util.List; import java.util.List;
import java.util.Set; import java.util.Set;
public abstract class BaseRecipeWrapper<T extends BaseRecipe> extends BlankRecipeWrapper { public abstract class BaseRecipeWrapper<T extends BaseRecipe> extends BlankRecipeWrapper {
protected final T baseRecipe; protected final T baseRecipe;
@Nonnull @Nonnull
private final List<List<ItemStack>> inputs; private final List<List<ItemStack>> inputs;
public BaseRecipeWrapper(T baseRecipe) { public BaseRecipeWrapper(T baseRecipe) {
this.baseRecipe = baseRecipe; this.baseRecipe = baseRecipe;
inputs = new ArrayList<>(); inputs = new ArrayList<>();
for (ItemStack input : baseRecipe.getInputs()) { for (ItemStack input : baseRecipe.getInputs()) {
if (baseRecipe.useOreDic()) { if (baseRecipe.useOreDic()) {
List<ItemStack> oreDictInputs = expandOreDict(input); List<ItemStack> oreDictInputs = expandOreDict(input);
inputs.add(oreDictInputs); inputs.add(oreDictInputs);
} else { } else {
inputs.add(Collections.singletonList(input)); inputs.add(Collections.singletonList(input));
} }
} }
} }
private static List<ItemStack> expandOreDict(ItemStack itemStack) { private static List<ItemStack> expandOreDict(ItemStack itemStack) {
int[] oreIds = OreDictionary.getOreIDs(itemStack); int[] oreIds = OreDictionary.getOreIDs(itemStack);
if (oreIds.length == 0) { if (oreIds.length == 0) {
return Collections.singletonList(itemStack); return Collections.singletonList(itemStack);
} }
Set<ItemStack> itemStackSet = new HashSet<>(); Set<ItemStack> itemStackSet = new HashSet<>();
for (int oreId : oreIds) { for (int oreId : oreIds) {
String oreName = OreDictionary.getOreName(oreId); String oreName = OreDictionary.getOreName(oreId);
List<ItemStack> ores = OreDictionary.getOres(oreName); List<ItemStack> ores = OreDictionary.getOres(oreName);
for (ItemStack ore : ores) { for (ItemStack ore : ores) {
if (ore.stackSize != itemStack.stackSize) { if (ore.stackSize != itemStack.stackSize) {
ItemStack oreCopy = ore.copy(); ItemStack oreCopy = ore.copy();
oreCopy.stackSize = itemStack.stackSize; oreCopy.stackSize = itemStack.stackSize;
itemStackSet.add(oreCopy); itemStackSet.add(oreCopy);
} else { } else {
itemStackSet.add(ore); itemStackSet.add(ore);
} }
} }
} }
return new ArrayList<>(itemStackSet); return new ArrayList<>(itemStackSet);
} }
@Nonnull @Nonnull
@Override @Override
public List<List<ItemStack>> getInputs() { public List<List<ItemStack>> getInputs() {
return inputs; return inputs;
} }
@Nonnull @Nonnull
@Override @Override
public List<ItemStack> getOutputs() { public List<ItemStack> getOutputs() {
return baseRecipe.getOutputs(); return baseRecipe.getOutputs();
} }
} }

View file

@ -1,24 +1,24 @@
package techreborn.compat.jei; package techreborn.compat.jei;
public class RecipeCategoryUids { public class RecipeCategoryUids {
private RecipeCategoryUids() { private RecipeCategoryUids() {
} }
public static final String ALLOY_SMELTER = "TechReborn.AlloySmelter"; public static final String ALLOY_SMELTER = "TechReborn.AlloySmelter";
public static final String ASSEMBLING_MACHINE = "TechReborn.AssemblingMachine"; public static final String ASSEMBLING_MACHINE = "TechReborn.AssemblingMachine";
public static final String BLAST_FURNACE = "TechReborn.BlastFurnace"; public static final String BLAST_FURNACE = "TechReborn.BlastFurnace";
public static final String CENTRIFUGE = "TechReborn.Centrifuge"; public static final String CENTRIFUGE = "TechReborn.Centrifuge";
public static final String CHEMICAL_REACTOR = "TechReborn.ChemicalReactor"; public static final String CHEMICAL_REACTOR = "TechReborn.ChemicalReactor";
public static final String FUSION_REACTOR = "TechReborn.FusionReactor"; public static final String FUSION_REACTOR = "TechReborn.FusionReactor";
public static final String INDUSTRIAL_GRINDER = "TechReborn.IndustrialGrinder"; public static final String INDUSTRIAL_GRINDER = "TechReborn.IndustrialGrinder";
public static final String IMPLOSION_COMPRESSOR = "TechReborn.ImplosionCompressor"; public static final String IMPLOSION_COMPRESSOR = "TechReborn.ImplosionCompressor";
public static final String INDUSTRIAL_ELECTROLYZER = "TechReborn.IndustrialElectrolyzer"; public static final String INDUSTRIAL_ELECTROLYZER = "TechReborn.IndustrialElectrolyzer";
public static final String INDUSTRIAL_SAWMILL = "TechReborn.IndustrialSawmill"; public static final String INDUSTRIAL_SAWMILL = "TechReborn.IndustrialSawmill";
public static final String ROLLING_MACHINE = "TechReborn.RollingMachine"; public static final String ROLLING_MACHINE = "TechReborn.RollingMachine";
public static final String VACUUM_FREEZER = "TechReborn.VacuumFreezer"; public static final String VACUUM_FREEZER = "TechReborn.VacuumFreezer";
public static final String GRINDER = "TechReborn.Grinder"; public static final String GRINDER = "TechReborn.Grinder";
public static final String EXTRACTOR = "TechReborn.Extractor"; public static final String EXTRACTOR = "TechReborn.Extractor";
public static final String COMPRESSOR = "TechReborn.Compressor"; public static final String COMPRESSOR = "TechReborn.Compressor";
public static final String SCRAPBOX = "TechReborn.Scrapbox"; public static final String SCRAPBOX = "TechReborn.Scrapbox";
public static final String RECYCLER = "TechReborn.Recycler"; public static final String RECYCLER = "TechReborn.Recycler";
} }

View file

@ -1,90 +1,90 @@
package techreborn.compat.jei; package techreborn.compat.jei;
import mezz.jei.api.gui.IGuiFluidStackGroup; import mezz.jei.api.gui.IGuiFluidStackGroup;
import mezz.jei.api.gui.IGuiItemStackGroup; import mezz.jei.api.gui.IGuiItemStackGroup;
import mezz.jei.api.gui.IRecipeLayout; import mezz.jei.api.gui.IRecipeLayout;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.FontRenderer; import net.minecraft.client.gui.FontRenderer;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.util.StatCollector; import net.minecraft.util.StatCollector;
import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.fluids.FluidStack;
import javax.annotation.Nonnull; import javax.annotation.Nonnull;
import javax.annotation.Nullable; import javax.annotation.Nullable;
import java.awt.*; import java.awt.*;
import java.text.NumberFormat; import java.text.NumberFormat;
import java.util.List; import java.util.List;
public class RecipeUtil { public class RecipeUtil {
private static final int color = Color.darkGray.getRGB(); private static final int color = Color.darkGray.getRGB();
private RecipeUtil() { private RecipeUtil() {
} }
public static void drawInfo(@Nonnull Minecraft minecraft, int x, int y, final double startCost, final double euPerTick, final int tickTime) { public static void drawInfo(@Nonnull Minecraft minecraft, int x, int y, final double startCost, final double euPerTick, final int tickTime) {
FontRenderer fontRendererObj = minecraft.fontRendererObj; FontRenderer fontRendererObj = minecraft.fontRendererObj;
int lineSpacing = fontRendererObj.FONT_HEIGHT + 1; int lineSpacing = fontRendererObj.FONT_HEIGHT + 1;
NumberFormat formatter = NumberFormat.getInstance(); NumberFormat formatter = NumberFormat.getInstance();
String startCostEU = formatter.format(startCost); String startCostEU = formatter.format(startCost);
String startCostString = StatCollector.translateToLocalFormatted("techreborn.jei.recipe.start.cost", startCostEU); String startCostString = StatCollector.translateToLocalFormatted("techreborn.jei.recipe.start.cost", startCostEU);
fontRendererObj.drawString(startCostString, x, y, color); fontRendererObj.drawString(startCostString, x, y, color);
y += lineSpacing; y += lineSpacing;
drawInfo(minecraft, x, y, euPerTick, tickTime); drawInfo(minecraft, x, y, euPerTick, tickTime);
} }
public static void drawInfo(@Nonnull Minecraft minecraft, int x, int y, final double euPerTick, final int tickTime) { public static void drawInfo(@Nonnull Minecraft minecraft, int x, int y, final double euPerTick, final int tickTime) {
FontRenderer fontRendererObj = minecraft.fontRendererObj; FontRenderer fontRendererObj = minecraft.fontRendererObj;
int lineSpacing = fontRendererObj.FONT_HEIGHT + 1; int lineSpacing = fontRendererObj.FONT_HEIGHT + 1;
String runningCostString = StatCollector.translateToLocalFormatted("techreborn.jei.recipe.running.cost", euPerTick); String runningCostString = StatCollector.translateToLocalFormatted("techreborn.jei.recipe.running.cost", euPerTick);
fontRendererObj.drawString(runningCostString, x, y, color); fontRendererObj.drawString(runningCostString, x, y, color);
y += lineSpacing; y += lineSpacing;
String processingTimeString1 = StatCollector.translateToLocalFormatted("techreborn.jei.recipe.processing.time.1", tickTime); String processingTimeString1 = StatCollector.translateToLocalFormatted("techreborn.jei.recipe.processing.time.1", tickTime);
fontRendererObj.drawString(processingTimeString1, x, y, color); fontRendererObj.drawString(processingTimeString1, x, y, color);
y += lineSpacing; y += lineSpacing;
int seconds = tickTime / 20; int seconds = tickTime / 20;
String processingTimeString2 = StatCollector.translateToLocalFormatted("techreborn.jei.recipe.processing.time.2", seconds); String processingTimeString2 = StatCollector.translateToLocalFormatted("techreborn.jei.recipe.processing.time.2", seconds);
fontRendererObj.drawString(processingTimeString2, x + 10, y, color); fontRendererObj.drawString(processingTimeString2, x + 10, y, color);
} }
public static void setRecipeItems(@Nonnull IRecipeLayout recipeLayout, @Nonnull BaseRecipeWrapper<?> recipe, @Nullable int[] itemInputSlots, @Nullable int[] itemOutputSlots, @Nullable int[] fluidInputSlots, @Nullable int[] fluidOutputSlots) { public static void setRecipeItems(@Nonnull IRecipeLayout recipeLayout, @Nonnull BaseRecipeWrapper<?> recipe, @Nullable int[] itemInputSlots, @Nullable int[] itemOutputSlots, @Nullable int[] fluidInputSlots, @Nullable int[] fluidOutputSlots) {
IGuiItemStackGroup guiItemStacks = recipeLayout.getItemStacks(); IGuiItemStackGroup guiItemStacks = recipeLayout.getItemStacks();
IGuiFluidStackGroup guiFluidStacks = recipeLayout.getFluidStacks(); IGuiFluidStackGroup guiFluidStacks = recipeLayout.getFluidStacks();
if (itemInputSlots != null) { if (itemInputSlots != null) {
List<List<ItemStack>> inputs = recipe.getInputs(); List<List<ItemStack>> inputs = recipe.getInputs();
for (int i = 0; i < inputs.size() && i < itemInputSlots.length; i++) { for (int i = 0; i < inputs.size() && i < itemInputSlots.length; i++) {
int inputSlot = itemInputSlots[i]; int inputSlot = itemInputSlots[i];
guiItemStacks.set(inputSlot, inputs.get(i)); guiItemStacks.set(inputSlot, inputs.get(i));
} }
} }
if (itemOutputSlots != null) { if (itemOutputSlots != null) {
List<ItemStack> outputs = recipe.getOutputs(); List<ItemStack> outputs = recipe.getOutputs();
for (int i = 0; i < outputs.size() && i < itemOutputSlots.length; i++) { for (int i = 0; i < outputs.size() && i < itemOutputSlots.length; i++) {
int outputSlot = itemOutputSlots[i]; int outputSlot = itemOutputSlots[i];
guiItemStacks.set(outputSlot, outputs.get(i)); guiItemStacks.set(outputSlot, outputs.get(i));
} }
} }
if (fluidInputSlots != null) { if (fluidInputSlots != null) {
List<FluidStack> fluidInputs = recipe.getFluidInputs(); List<FluidStack> fluidInputs = recipe.getFluidInputs();
for (int i = 0; i < fluidInputs.size() && i < fluidInputSlots.length; i++) { for (int i = 0; i < fluidInputs.size() && i < fluidInputSlots.length; i++) {
int inputTank = fluidInputSlots[i]; int inputTank = fluidInputSlots[i];
guiFluidStacks.set(inputTank, fluidInputs.get(i)); guiFluidStacks.set(inputTank, fluidInputs.get(i));
} }
} }
if (fluidOutputSlots != null) { if (fluidOutputSlots != null) {
List<FluidStack> fluidOutputs = recipe.getFluidOutputs(); List<FluidStack> fluidOutputs = recipe.getFluidOutputs();
for (int i = 0; i < fluidOutputs.size() && i < fluidOutputSlots.length; i++) { for (int i = 0; i < fluidOutputs.size() && i < fluidOutputSlots.length; i++) {
int outputTank = fluidOutputSlots[i]; int outputTank = fluidOutputSlots[i];
guiFluidStacks.set(outputTank, fluidOutputs.get(i)); guiFluidStacks.set(outputTank, fluidOutputs.get(i));
} }
} }
} }
} }

View file

@ -1,69 +1,69 @@
package techreborn.compat.jei.alloySmelter; package techreborn.compat.jei.alloySmelter;
import mezz.jei.api.IGuiHelper; import mezz.jei.api.IGuiHelper;
import mezz.jei.api.gui.IDrawable; import mezz.jei.api.gui.IDrawable;
import mezz.jei.api.gui.IDrawableAnimated; import mezz.jei.api.gui.IDrawableAnimated;
import mezz.jei.api.gui.IDrawableStatic; import mezz.jei.api.gui.IDrawableStatic;
import mezz.jei.api.gui.IGuiItemStackGroup; import mezz.jei.api.gui.IGuiItemStackGroup;
import mezz.jei.api.gui.IRecipeLayout; import mezz.jei.api.gui.IRecipeLayout;
import mezz.jei.api.recipe.BlankRecipeCategory; import mezz.jei.api.recipe.BlankRecipeCategory;
import mezz.jei.api.recipe.IRecipeWrapper; import mezz.jei.api.recipe.IRecipeWrapper;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import net.minecraft.util.StatCollector; import net.minecraft.util.StatCollector;
import techreborn.client.gui.GuiAlloySmelter; import techreborn.client.gui.GuiAlloySmelter;
import techreborn.compat.jei.RecipeCategoryUids; import techreborn.compat.jei.RecipeCategoryUids;
import techreborn.compat.jei.RecipeUtil; import techreborn.compat.jei.RecipeUtil;
import javax.annotation.Nonnull; import javax.annotation.Nonnull;
public class AlloySmelterRecipeCategory extends BlankRecipeCategory { public class AlloySmelterRecipeCategory extends BlankRecipeCategory {
private static final int[] INPUT_SLOTS = {0, 1}; private static final int[] INPUT_SLOTS = {0, 1};
private static final int[] OUTPUT_SLOTS = {2}; private static final int[] OUTPUT_SLOTS = {2};
private final IDrawable background; private final IDrawable background;
private final IDrawableAnimated electricity; private final IDrawableAnimated electricity;
private final String title; private final String title;
public AlloySmelterRecipeCategory(IGuiHelper guiHelper) { public AlloySmelterRecipeCategory(IGuiHelper guiHelper) {
background = guiHelper.createDrawable(GuiAlloySmelter.texture, 46, 16, 91, 54); background = guiHelper.createDrawable(GuiAlloySmelter.texture, 46, 16, 91, 54);
IDrawableStatic electricityDrawable = guiHelper.createDrawable(GuiAlloySmelter.texture, 176, 0, 14, 14); IDrawableStatic electricityDrawable = guiHelper.createDrawable(GuiAlloySmelter.texture, 176, 0, 14, 14);
electricity = guiHelper.createAnimatedDrawable(electricityDrawable, 300, IDrawableAnimated.StartDirection.TOP, true); electricity = guiHelper.createAnimatedDrawable(electricityDrawable, 300, IDrawableAnimated.StartDirection.TOP, true);
title = StatCollector.translateToLocal("techreborn.jei.category.alloy.furnace"); title = StatCollector.translateToLocal("techreborn.jei.category.alloy.furnace");
} }
@Nonnull @Nonnull
@Override @Override
public String getUid() { public String getUid() {
return RecipeCategoryUids.ALLOY_SMELTER; return RecipeCategoryUids.ALLOY_SMELTER;
} }
@Nonnull @Nonnull
@Override @Override
public String getTitle() { public String getTitle() {
return title; return title;
} }
@Nonnull @Nonnull
@Override @Override
public IDrawable getBackground() { public IDrawable getBackground() {
return background; return background;
} }
@Override @Override
public void drawAnimations(@Nonnull Minecraft minecraft) { public void drawAnimations(@Nonnull Minecraft minecraft) {
electricity.draw(minecraft, 10, 20); electricity.draw(minecraft, 10, 20);
} }
@Override @Override
public void setRecipe(@Nonnull IRecipeLayout recipeLayout, @Nonnull IRecipeWrapper recipeWrapper) { public void setRecipe(@Nonnull IRecipeLayout recipeLayout, @Nonnull IRecipeWrapper recipeWrapper) {
IGuiItemStackGroup guiItemStacks = recipeLayout.getItemStacks(); IGuiItemStackGroup guiItemStacks = recipeLayout.getItemStacks();
guiItemStacks.init(INPUT_SLOTS[0], true, 0, 0); guiItemStacks.init(INPUT_SLOTS[0], true, 0, 0);
guiItemStacks.init(INPUT_SLOTS[1], true, 18, 0); guiItemStacks.init(INPUT_SLOTS[1], true, 18, 0);
guiItemStacks.init(OUTPUT_SLOTS[0], false, 69, 18); guiItemStacks.init(OUTPUT_SLOTS[0], false, 69, 18);
if (recipeWrapper instanceof AlloySmelterRecipeWrapper) { if (recipeWrapper instanceof AlloySmelterRecipeWrapper) {
AlloySmelterRecipeWrapper recipe = (AlloySmelterRecipeWrapper) recipeWrapper; AlloySmelterRecipeWrapper recipe = (AlloySmelterRecipeWrapper) recipeWrapper;
RecipeUtil.setRecipeItems(recipeLayout, recipe, INPUT_SLOTS, OUTPUT_SLOTS, null, null); RecipeUtil.setRecipeItems(recipeLayout, recipe, INPUT_SLOTS, OUTPUT_SLOTS, null, null);
} }
} }
} }

View file

@ -1,41 +1,41 @@
package techreborn.compat.jei.alloySmelter; package techreborn.compat.jei.alloySmelter;
import mezz.jei.api.IJeiHelpers; import mezz.jei.api.IJeiHelpers;
import mezz.jei.api.recipe.IRecipeHandler; import mezz.jei.api.recipe.IRecipeHandler;
import mezz.jei.api.recipe.IRecipeWrapper; import mezz.jei.api.recipe.IRecipeWrapper;
import techreborn.api.recipe.machines.AlloySmelterRecipe; import techreborn.api.recipe.machines.AlloySmelterRecipe;
import techreborn.compat.jei.RecipeCategoryUids; import techreborn.compat.jei.RecipeCategoryUids;
import javax.annotation.Nonnull; import javax.annotation.Nonnull;
public class AlloySmelterRecipeHandler implements IRecipeHandler<AlloySmelterRecipe> { public class AlloySmelterRecipeHandler implements IRecipeHandler<AlloySmelterRecipe> {
@Nonnull @Nonnull
private final IJeiHelpers jeiHelpers; private final IJeiHelpers jeiHelpers;
public AlloySmelterRecipeHandler(@Nonnull IJeiHelpers jeiHelpers) { public AlloySmelterRecipeHandler(@Nonnull IJeiHelpers jeiHelpers) {
this.jeiHelpers = jeiHelpers; this.jeiHelpers = jeiHelpers;
} }
@Nonnull @Nonnull
@Override @Override
public Class<AlloySmelterRecipe> getRecipeClass() { public Class<AlloySmelterRecipe> getRecipeClass() {
return AlloySmelterRecipe.class; return AlloySmelterRecipe.class;
} }
@Nonnull @Nonnull
@Override @Override
public String getRecipeCategoryUid() { public String getRecipeCategoryUid() {
return RecipeCategoryUids.ALLOY_SMELTER; return RecipeCategoryUids.ALLOY_SMELTER;
} }
@Nonnull @Nonnull
@Override @Override
public IRecipeWrapper getRecipeWrapper(@Nonnull AlloySmelterRecipe recipe) { public IRecipeWrapper getRecipeWrapper(@Nonnull AlloySmelterRecipe recipe) {
return new AlloySmelterRecipeWrapper(jeiHelpers, recipe); return new AlloySmelterRecipeWrapper(jeiHelpers, recipe);
} }
@Override @Override
public boolean isRecipeValid(@Nonnull AlloySmelterRecipe recipe) { public boolean isRecipeValid(@Nonnull AlloySmelterRecipe recipe) {
return true; return true;
} }
} }

View file

@ -1,29 +1,29 @@
package techreborn.compat.jei.alloySmelter; package techreborn.compat.jei.alloySmelter;
import mezz.jei.api.IGuiHelper; import mezz.jei.api.IGuiHelper;
import mezz.jei.api.IJeiHelpers; import mezz.jei.api.IJeiHelpers;
import mezz.jei.api.gui.IDrawableAnimated; import mezz.jei.api.gui.IDrawableAnimated;
import mezz.jei.api.gui.IDrawableStatic; import mezz.jei.api.gui.IDrawableStatic;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import techreborn.api.recipe.machines.AlloySmelterRecipe; import techreborn.api.recipe.machines.AlloySmelterRecipe;
import techreborn.client.gui.GuiAlloySmelter; import techreborn.client.gui.GuiAlloySmelter;
import techreborn.compat.jei.BaseRecipeWrapper; import techreborn.compat.jei.BaseRecipeWrapper;
import javax.annotation.Nonnull; import javax.annotation.Nonnull;
public class AlloySmelterRecipeWrapper extends BaseRecipeWrapper<AlloySmelterRecipe> { public class AlloySmelterRecipeWrapper extends BaseRecipeWrapper<AlloySmelterRecipe> {
private final IDrawableAnimated arrow; private final IDrawableAnimated arrow;
public AlloySmelterRecipeWrapper(@Nonnull IJeiHelpers jeiHelpers, @Nonnull AlloySmelterRecipe baseRecipe) { public AlloySmelterRecipeWrapper(@Nonnull IJeiHelpers jeiHelpers, @Nonnull AlloySmelterRecipe baseRecipe) {
super(baseRecipe); super(baseRecipe);
IGuiHelper guiHelper = jeiHelpers.getGuiHelper(); IGuiHelper guiHelper = jeiHelpers.getGuiHelper();
IDrawableStatic arrowStatic = guiHelper.createDrawable(GuiAlloySmelter.texture, 176, 14, 24, 17); IDrawableStatic arrowStatic = guiHelper.createDrawable(GuiAlloySmelter.texture, 176, 14, 24, 17);
this.arrow = guiHelper.createAnimatedDrawable(arrowStatic, baseRecipe.tickTime(), IDrawableAnimated.StartDirection.LEFT, false); this.arrow = guiHelper.createAnimatedDrawable(arrowStatic, baseRecipe.tickTime(), IDrawableAnimated.StartDirection.LEFT, false);
} }
@Override @Override
public void drawAnimations(@Nonnull Minecraft minecraft, int recipeWidth, int recipeHeight) { public void drawAnimations(@Nonnull Minecraft minecraft, int recipeWidth, int recipeHeight) {
super.drawAnimations(minecraft, recipeWidth, recipeHeight); super.drawAnimations(minecraft, recipeWidth, recipeHeight);
arrow.draw(minecraft, 33, 19); arrow.draw(minecraft, 33, 19);
} }
} }

View file

@ -1,69 +1,69 @@
package techreborn.compat.jei.assemblingMachine; package techreborn.compat.jei.assemblingMachine;
import mezz.jei.api.IGuiHelper; import mezz.jei.api.IGuiHelper;
import mezz.jei.api.gui.IDrawable; import mezz.jei.api.gui.IDrawable;
import mezz.jei.api.gui.IDrawableAnimated; import mezz.jei.api.gui.IDrawableAnimated;
import mezz.jei.api.gui.IDrawableStatic; import mezz.jei.api.gui.IDrawableStatic;
import mezz.jei.api.gui.IGuiItemStackGroup; import mezz.jei.api.gui.IGuiItemStackGroup;
import mezz.jei.api.gui.IRecipeLayout; import mezz.jei.api.gui.IRecipeLayout;
import mezz.jei.api.recipe.BlankRecipeCategory; import mezz.jei.api.recipe.BlankRecipeCategory;
import mezz.jei.api.recipe.IRecipeWrapper; import mezz.jei.api.recipe.IRecipeWrapper;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import net.minecraft.util.StatCollector; import net.minecraft.util.StatCollector;
import techreborn.client.gui.GuiAssemblingMachine; import techreborn.client.gui.GuiAssemblingMachine;
import techreborn.compat.jei.RecipeCategoryUids; import techreborn.compat.jei.RecipeCategoryUids;
import techreborn.compat.jei.RecipeUtil; import techreborn.compat.jei.RecipeUtil;
import javax.annotation.Nonnull; import javax.annotation.Nonnull;
public class AssemblingMachineRecipeCategory extends BlankRecipeCategory { public class AssemblingMachineRecipeCategory extends BlankRecipeCategory {
private static final int[] INPUT_SLOTS = {0, 1}; private static final int[] INPUT_SLOTS = {0, 1};
private static final int[] OUTPUT_SLOTS = {2}; private static final int[] OUTPUT_SLOTS = {2};
private final IDrawable background; private final IDrawable background;
private final IDrawableAnimated electricity; private final IDrawableAnimated electricity;
private final String title; private final String title;
public AssemblingMachineRecipeCategory(IGuiHelper guiHelper) { public AssemblingMachineRecipeCategory(IGuiHelper guiHelper) {
background = guiHelper.createDrawable(GuiAssemblingMachine.texture, 46, 16, 91, 54); background = guiHelper.createDrawable(GuiAssemblingMachine.texture, 46, 16, 91, 54);
IDrawableStatic electricityDrawable = guiHelper.createDrawable(GuiAssemblingMachine.texture, 176, 0, 14, 14); IDrawableStatic electricityDrawable = guiHelper.createDrawable(GuiAssemblingMachine.texture, 176, 0, 14, 14);
electricity = guiHelper.createAnimatedDrawable(electricityDrawable, 300, IDrawableAnimated.StartDirection.TOP, true); electricity = guiHelper.createAnimatedDrawable(electricityDrawable, 300, IDrawableAnimated.StartDirection.TOP, true);
title = StatCollector.translateToLocal("tile.techreborn.assemblingmachine.name"); title = StatCollector.translateToLocal("tile.techreborn.assemblingmachine.name");
} }
@Nonnull @Nonnull
@Override @Override
public String getUid() { public String getUid() {
return RecipeCategoryUids.ASSEMBLING_MACHINE; return RecipeCategoryUids.ASSEMBLING_MACHINE;
} }
@Nonnull @Nonnull
@Override @Override
public String getTitle() { public String getTitle() {
return title; return title;
} }
@Nonnull @Nonnull
@Override @Override
public IDrawable getBackground() { public IDrawable getBackground() {
return background; return background;
} }
@Override @Override
public void drawAnimations(@Nonnull Minecraft minecraft) { public void drawAnimations(@Nonnull Minecraft minecraft) {
electricity.draw(minecraft, 10, 20); electricity.draw(minecraft, 10, 20);
} }
@Override @Override
public void setRecipe(@Nonnull IRecipeLayout recipeLayout, @Nonnull IRecipeWrapper recipeWrapper) { public void setRecipe(@Nonnull IRecipeLayout recipeLayout, @Nonnull IRecipeWrapper recipeWrapper) {
IGuiItemStackGroup guiItemStacks = recipeLayout.getItemStacks(); IGuiItemStackGroup guiItemStacks = recipeLayout.getItemStacks();
guiItemStacks.init(INPUT_SLOTS[0], true, 0, 0); guiItemStacks.init(INPUT_SLOTS[0], true, 0, 0);
guiItemStacks.init(INPUT_SLOTS[1], true, 18, 0); guiItemStacks.init(INPUT_SLOTS[1], true, 18, 0);
guiItemStacks.init(OUTPUT_SLOTS[0], false, 69, 18); guiItemStacks.init(OUTPUT_SLOTS[0], false, 69, 18);
if (recipeWrapper instanceof AssemblingMachineRecipeWrapper) { if (recipeWrapper instanceof AssemblingMachineRecipeWrapper) {
AssemblingMachineRecipeWrapper recipe = (AssemblingMachineRecipeWrapper) recipeWrapper; AssemblingMachineRecipeWrapper recipe = (AssemblingMachineRecipeWrapper) recipeWrapper;
RecipeUtil.setRecipeItems(recipeLayout, recipe, INPUT_SLOTS, OUTPUT_SLOTS, null, null); RecipeUtil.setRecipeItems(recipeLayout, recipe, INPUT_SLOTS, OUTPUT_SLOTS, null, null);
} }
} }
} }

View file

@ -1,41 +1,41 @@
package techreborn.compat.jei.assemblingMachine; package techreborn.compat.jei.assemblingMachine;
import mezz.jei.api.IJeiHelpers; import mezz.jei.api.IJeiHelpers;
import mezz.jei.api.recipe.IRecipeHandler; import mezz.jei.api.recipe.IRecipeHandler;
import mezz.jei.api.recipe.IRecipeWrapper; import mezz.jei.api.recipe.IRecipeWrapper;
import techreborn.api.recipe.machines.AssemblingMachineRecipe; import techreborn.api.recipe.machines.AssemblingMachineRecipe;
import techreborn.compat.jei.RecipeCategoryUids; import techreborn.compat.jei.RecipeCategoryUids;
import javax.annotation.Nonnull; import javax.annotation.Nonnull;
public class AssemblingMachineRecipeHandler implements IRecipeHandler<AssemblingMachineRecipe> { public class AssemblingMachineRecipeHandler implements IRecipeHandler<AssemblingMachineRecipe> {
@Nonnull @Nonnull
private final IJeiHelpers jeiHelpers; private final IJeiHelpers jeiHelpers;
public AssemblingMachineRecipeHandler(@Nonnull IJeiHelpers jeiHelpers) { public AssemblingMachineRecipeHandler(@Nonnull IJeiHelpers jeiHelpers) {
this.jeiHelpers = jeiHelpers; this.jeiHelpers = jeiHelpers;
} }
@Nonnull @Nonnull
@Override @Override
public Class<AssemblingMachineRecipe> getRecipeClass() { public Class<AssemblingMachineRecipe> getRecipeClass() {
return AssemblingMachineRecipe.class; return AssemblingMachineRecipe.class;
} }
@Nonnull @Nonnull
@Override @Override
public String getRecipeCategoryUid() { public String getRecipeCategoryUid() {
return RecipeCategoryUids.ASSEMBLING_MACHINE; return RecipeCategoryUids.ASSEMBLING_MACHINE;
} }
@Nonnull @Nonnull
@Override @Override
public IRecipeWrapper getRecipeWrapper(@Nonnull AssemblingMachineRecipe recipe) { public IRecipeWrapper getRecipeWrapper(@Nonnull AssemblingMachineRecipe recipe) {
return new AssemblingMachineRecipeWrapper(jeiHelpers, recipe); return new AssemblingMachineRecipeWrapper(jeiHelpers, recipe);
} }
@Override @Override
public boolean isRecipeValid(@Nonnull AssemblingMachineRecipe recipe) { public boolean isRecipeValid(@Nonnull AssemblingMachineRecipe recipe) {
return true; return true;
} }
} }

View file

@ -1,29 +1,29 @@
package techreborn.compat.jei.assemblingMachine; package techreborn.compat.jei.assemblingMachine;
import mezz.jei.api.IGuiHelper; import mezz.jei.api.IGuiHelper;
import mezz.jei.api.IJeiHelpers; import mezz.jei.api.IJeiHelpers;
import mezz.jei.api.gui.IDrawableAnimated; import mezz.jei.api.gui.IDrawableAnimated;
import mezz.jei.api.gui.IDrawableStatic; import mezz.jei.api.gui.IDrawableStatic;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import techreborn.api.recipe.machines.AssemblingMachineRecipe; import techreborn.api.recipe.machines.AssemblingMachineRecipe;
import techreborn.client.gui.GuiAssemblingMachine; import techreborn.client.gui.GuiAssemblingMachine;
import techreborn.compat.jei.BaseRecipeWrapper; import techreborn.compat.jei.BaseRecipeWrapper;
import javax.annotation.Nonnull; import javax.annotation.Nonnull;
public class AssemblingMachineRecipeWrapper extends BaseRecipeWrapper<AssemblingMachineRecipe> { public class AssemblingMachineRecipeWrapper extends BaseRecipeWrapper<AssemblingMachineRecipe> {
private final IDrawableAnimated progress; private final IDrawableAnimated progress;
public AssemblingMachineRecipeWrapper(@Nonnull IJeiHelpers jeiHelpers, @Nonnull AssemblingMachineRecipe baseRecipe) { public AssemblingMachineRecipeWrapper(@Nonnull IJeiHelpers jeiHelpers, @Nonnull AssemblingMachineRecipe baseRecipe) {
super(baseRecipe); super(baseRecipe);
IGuiHelper guiHelper = jeiHelpers.getGuiHelper(); IGuiHelper guiHelper = jeiHelpers.getGuiHelper();
IDrawableStatic progressStatic = guiHelper.createDrawable(GuiAssemblingMachine.texture, 176, 14, 20, 18); IDrawableStatic progressStatic = guiHelper.createDrawable(GuiAssemblingMachine.texture, 176, 14, 20, 18);
this.progress = guiHelper.createAnimatedDrawable(progressStatic, baseRecipe.tickTime(), IDrawableAnimated.StartDirection.LEFT, false); this.progress = guiHelper.createAnimatedDrawable(progressStatic, baseRecipe.tickTime(), IDrawableAnimated.StartDirection.LEFT, false);
} }
@Override @Override
public void drawAnimations(@Nonnull Minecraft minecraft, int recipeWidth, int recipeHeight) { public void drawAnimations(@Nonnull Minecraft minecraft, int recipeWidth, int recipeHeight) {
super.drawAnimations(minecraft, recipeWidth, recipeHeight); super.drawAnimations(minecraft, recipeWidth, recipeHeight);
progress.draw(minecraft, 40, 18); progress.draw(minecraft, 40, 18);
} }
} }

View file

@ -1,59 +1,59 @@
package techreborn.compat.jei.blastFurnace; package techreborn.compat.jei.blastFurnace;
import mezz.jei.api.IGuiHelper; import mezz.jei.api.IGuiHelper;
import mezz.jei.api.gui.IDrawable; import mezz.jei.api.gui.IDrawable;
import mezz.jei.api.gui.IGuiItemStackGroup; import mezz.jei.api.gui.IGuiItemStackGroup;
import mezz.jei.api.gui.IRecipeLayout; import mezz.jei.api.gui.IRecipeLayout;
import mezz.jei.api.recipe.BlankRecipeCategory; import mezz.jei.api.recipe.BlankRecipeCategory;
import mezz.jei.api.recipe.IRecipeWrapper; import mezz.jei.api.recipe.IRecipeWrapper;
import net.minecraft.util.StatCollector; import net.minecraft.util.StatCollector;
import techreborn.client.gui.GuiBlastFurnace; import techreborn.client.gui.GuiBlastFurnace;
import techreborn.compat.jei.RecipeCategoryUids; import techreborn.compat.jei.RecipeCategoryUids;
import techreborn.compat.jei.RecipeUtil; import techreborn.compat.jei.RecipeUtil;
import javax.annotation.Nonnull; import javax.annotation.Nonnull;
public class BlastFurnaceRecipeCategory extends BlankRecipeCategory { public class BlastFurnaceRecipeCategory extends BlankRecipeCategory {
private static final int[] INPUT_SLOTS = {0, 1}; private static final int[] INPUT_SLOTS = {0, 1};
private static final int[] OUTPUT_SLOTS = {2, 3}; private static final int[] OUTPUT_SLOTS = {2, 3};
private final IDrawable background; private final IDrawable background;
private final String title; private final String title;
public BlastFurnaceRecipeCategory(IGuiHelper guiHelper) { public BlastFurnaceRecipeCategory(IGuiHelper guiHelper) {
background = guiHelper.createDrawable(GuiBlastFurnace.texture, 39, 24, 100, 36); background = guiHelper.createDrawable(GuiBlastFurnace.texture, 39, 24, 100, 36);
title = StatCollector.translateToLocal("tile.techreborn.blastfurnace.name"); title = StatCollector.translateToLocal("tile.techreborn.blastfurnace.name");
} }
@Nonnull @Nonnull
@Override @Override
public String getUid() { public String getUid() {
return RecipeCategoryUids.BLAST_FURNACE; return RecipeCategoryUids.BLAST_FURNACE;
} }
@Nonnull @Nonnull
@Override @Override
public String getTitle() { public String getTitle() {
return title; return title;
} }
@Nonnull @Nonnull
@Override @Override
public IDrawable getBackground() { public IDrawable getBackground() {
return background; return background;
} }
@Override @Override
public void setRecipe(@Nonnull IRecipeLayout recipeLayout, @Nonnull IRecipeWrapper recipeWrapper) { public void setRecipe(@Nonnull IRecipeLayout recipeLayout, @Nonnull IRecipeWrapper recipeWrapper) {
IGuiItemStackGroup guiItemStacks = recipeLayout.getItemStacks(); IGuiItemStackGroup guiItemStacks = recipeLayout.getItemStacks();
guiItemStacks.init(INPUT_SLOTS[0], true, 0, 0); guiItemStacks.init(INPUT_SLOTS[0], true, 0, 0);
guiItemStacks.init(INPUT_SLOTS[1], true, 0, 18); guiItemStacks.init(INPUT_SLOTS[1], true, 0, 18);
guiItemStacks.init(OUTPUT_SLOTS[0], false, 60, 10); guiItemStacks.init(OUTPUT_SLOTS[0], false, 60, 10);
guiItemStacks.init(OUTPUT_SLOTS[1], false, 78, 10); guiItemStacks.init(OUTPUT_SLOTS[1], false, 78, 10);
if (recipeWrapper instanceof BlastFurnaceRecipeWrapper) { if (recipeWrapper instanceof BlastFurnaceRecipeWrapper) {
BlastFurnaceRecipeWrapper recipe = (BlastFurnaceRecipeWrapper) recipeWrapper; BlastFurnaceRecipeWrapper recipe = (BlastFurnaceRecipeWrapper) recipeWrapper;
RecipeUtil.setRecipeItems(recipeLayout, recipe, INPUT_SLOTS, OUTPUT_SLOTS, null, null); RecipeUtil.setRecipeItems(recipeLayout, recipe, INPUT_SLOTS, OUTPUT_SLOTS, null, null);
} }
} }
} }

View file

@ -1,41 +1,41 @@
package techreborn.compat.jei.blastFurnace; package techreborn.compat.jei.blastFurnace;
import mezz.jei.api.IJeiHelpers; import mezz.jei.api.IJeiHelpers;
import mezz.jei.api.recipe.IRecipeHandler; import mezz.jei.api.recipe.IRecipeHandler;
import mezz.jei.api.recipe.IRecipeWrapper; import mezz.jei.api.recipe.IRecipeWrapper;
import techreborn.api.recipe.machines.BlastFurnaceRecipe; import techreborn.api.recipe.machines.BlastFurnaceRecipe;
import techreborn.compat.jei.RecipeCategoryUids; import techreborn.compat.jei.RecipeCategoryUids;
import javax.annotation.Nonnull; import javax.annotation.Nonnull;
public class BlastFurnaceRecipeHandler implements IRecipeHandler<BlastFurnaceRecipe> { public class BlastFurnaceRecipeHandler implements IRecipeHandler<BlastFurnaceRecipe> {
@Nonnull @Nonnull
private final IJeiHelpers jeiHelpers; private final IJeiHelpers jeiHelpers;
public BlastFurnaceRecipeHandler(@Nonnull IJeiHelpers jeiHelpers) { public BlastFurnaceRecipeHandler(@Nonnull IJeiHelpers jeiHelpers) {
this.jeiHelpers = jeiHelpers; this.jeiHelpers = jeiHelpers;
} }
@Nonnull @Nonnull
@Override @Override
public Class<BlastFurnaceRecipe> getRecipeClass() { public Class<BlastFurnaceRecipe> getRecipeClass() {
return BlastFurnaceRecipe.class; return BlastFurnaceRecipe.class;
} }
@Nonnull @Nonnull
@Override @Override
public String getRecipeCategoryUid() { public String getRecipeCategoryUid() {
return RecipeCategoryUids.BLAST_FURNACE; return RecipeCategoryUids.BLAST_FURNACE;
} }
@Nonnull @Nonnull
@Override @Override
public IRecipeWrapper getRecipeWrapper(@Nonnull BlastFurnaceRecipe recipe) { public IRecipeWrapper getRecipeWrapper(@Nonnull BlastFurnaceRecipe recipe) {
return new BlastFurnaceRecipeWrapper(jeiHelpers, recipe); return new BlastFurnaceRecipeWrapper(jeiHelpers, recipe);
} }
@Override @Override
public boolean isRecipeValid(@Nonnull BlastFurnaceRecipe recipe) { public boolean isRecipeValid(@Nonnull BlastFurnaceRecipe recipe) {
return true; return true;
} }
} }

View file

@ -1,29 +1,29 @@
package techreborn.compat.jei.blastFurnace; package techreborn.compat.jei.blastFurnace;
import mezz.jei.api.IGuiHelper; import mezz.jei.api.IGuiHelper;
import mezz.jei.api.IJeiHelpers; import mezz.jei.api.IJeiHelpers;
import mezz.jei.api.gui.IDrawableAnimated; import mezz.jei.api.gui.IDrawableAnimated;
import mezz.jei.api.gui.IDrawableStatic; import mezz.jei.api.gui.IDrawableStatic;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import techreborn.api.recipe.machines.BlastFurnaceRecipe; import techreborn.api.recipe.machines.BlastFurnaceRecipe;
import techreborn.client.gui.GuiBlastFurnace; import techreborn.client.gui.GuiBlastFurnace;
import techreborn.compat.jei.BaseRecipeWrapper; import techreborn.compat.jei.BaseRecipeWrapper;
import javax.annotation.Nonnull; import javax.annotation.Nonnull;
public class BlastFurnaceRecipeWrapper extends BaseRecipeWrapper<BlastFurnaceRecipe> { public class BlastFurnaceRecipeWrapper extends BaseRecipeWrapper<BlastFurnaceRecipe> {
private final IDrawableAnimated progress; private final IDrawableAnimated progress;
public BlastFurnaceRecipeWrapper(@Nonnull IJeiHelpers jeiHelpers, @Nonnull BlastFurnaceRecipe baseRecipe) { public BlastFurnaceRecipeWrapper(@Nonnull IJeiHelpers jeiHelpers, @Nonnull BlastFurnaceRecipe baseRecipe) {
super(baseRecipe); super(baseRecipe);
IGuiHelper guiHelper = jeiHelpers.getGuiHelper(); IGuiHelper guiHelper = jeiHelpers.getGuiHelper();
IDrawableStatic progressStatic = guiHelper.createDrawable(GuiBlastFurnace.texture, 176, 14, 20, 11); IDrawableStatic progressStatic = guiHelper.createDrawable(GuiBlastFurnace.texture, 176, 14, 20, 11);
this.progress = guiHelper.createAnimatedDrawable(progressStatic, baseRecipe.tickTime(), IDrawableAnimated.StartDirection.LEFT, false); this.progress = guiHelper.createAnimatedDrawable(progressStatic, baseRecipe.tickTime(), IDrawableAnimated.StartDirection.LEFT, false);
} }
@Override @Override
public void drawAnimations(@Nonnull Minecraft minecraft, int recipeWidth, int recipeHeight) { public void drawAnimations(@Nonnull Minecraft minecraft, int recipeWidth, int recipeHeight) {
super.drawAnimations(minecraft, recipeWidth, recipeHeight); super.drawAnimations(minecraft, recipeWidth, recipeHeight);
progress.draw(minecraft, 54-29, 13); progress.draw(minecraft, 54-29, 13);
} }
} }

View file

@ -1,62 +1,62 @@
package techreborn.compat.jei.centrifuge; package techreborn.compat.jei.centrifuge;
import mezz.jei.api.IGuiHelper; import mezz.jei.api.IGuiHelper;
import mezz.jei.api.gui.IDrawable; import mezz.jei.api.gui.IDrawable;
import mezz.jei.api.gui.IGuiItemStackGroup; import mezz.jei.api.gui.IGuiItemStackGroup;
import mezz.jei.api.gui.IRecipeLayout; import mezz.jei.api.gui.IRecipeLayout;
import mezz.jei.api.recipe.BlankRecipeCategory; import mezz.jei.api.recipe.BlankRecipeCategory;
import mezz.jei.api.recipe.IRecipeWrapper; import mezz.jei.api.recipe.IRecipeWrapper;
import net.minecraft.util.StatCollector; import net.minecraft.util.StatCollector;
import techreborn.client.gui.GuiCentrifuge; import techreborn.client.gui.GuiCentrifuge;
import techreborn.compat.jei.RecipeCategoryUids; import techreborn.compat.jei.RecipeCategoryUids;
import techreborn.compat.jei.RecipeUtil; import techreborn.compat.jei.RecipeUtil;
import javax.annotation.Nonnull; import javax.annotation.Nonnull;
public class CentrifugeRecipeCategory extends BlankRecipeCategory { public class CentrifugeRecipeCategory extends BlankRecipeCategory {
private static final int[] INPUT_SLOTS = {0, 1}; private static final int[] INPUT_SLOTS = {0, 1};
private static final int[] OUTPUT_SLOTS = {2, 3, 4, 5}; private static final int[] OUTPUT_SLOTS = {2, 3, 4, 5};
private final IDrawable background; private final IDrawable background;
private final String title; private final String title;
public CentrifugeRecipeCategory(IGuiHelper guiHelper) { public CentrifugeRecipeCategory(IGuiHelper guiHelper) {
background = guiHelper.createDrawable(GuiCentrifuge.texture, 49, 4, 78, 78); background = guiHelper.createDrawable(GuiCentrifuge.texture, 49, 4, 78, 78);
title = StatCollector.translateToLocal("tile.techreborn.centrifuge.name"); title = StatCollector.translateToLocal("tile.techreborn.centrifuge.name");
} }
@Nonnull @Nonnull
@Override @Override
public String getUid() { public String getUid() {
return RecipeCategoryUids.CENTRIFUGE; return RecipeCategoryUids.CENTRIFUGE;
} }
@Nonnull @Nonnull
@Override @Override
public String getTitle() { public String getTitle() {
return title; return title;
} }
@Nonnull @Nonnull
@Override @Override
public IDrawable getBackground() { public IDrawable getBackground() {
return background; return background;
} }
@Override @Override
public void setRecipe(@Nonnull IRecipeLayout recipeLayout, @Nonnull IRecipeWrapper recipeWrapper) { public void setRecipe(@Nonnull IRecipeLayout recipeLayout, @Nonnull IRecipeWrapper recipeWrapper) {
IGuiItemStackGroup guiItemStacks = recipeLayout.getItemStacks(); IGuiItemStackGroup guiItemStacks = recipeLayout.getItemStacks();
guiItemStacks.init(INPUT_SLOTS[0], true, 30, 30); guiItemStacks.init(INPUT_SLOTS[0], true, 30, 30);
guiItemStacks.init(INPUT_SLOTS[1], true, 0, 0); guiItemStacks.init(INPUT_SLOTS[1], true, 0, 0);
guiItemStacks.init(OUTPUT_SLOTS[0], false, 30, 0); guiItemStacks.init(OUTPUT_SLOTS[0], false, 30, 0);
guiItemStacks.init(OUTPUT_SLOTS[1], false, 60, 30); guiItemStacks.init(OUTPUT_SLOTS[1], false, 60, 30);
guiItemStacks.init(OUTPUT_SLOTS[2], false, 30, 60); guiItemStacks.init(OUTPUT_SLOTS[2], false, 30, 60);
guiItemStacks.init(OUTPUT_SLOTS[3], false, 0, 30); guiItemStacks.init(OUTPUT_SLOTS[3], false, 0, 30);
if (recipeWrapper instanceof CentrifugeRecipeWrapper) { if (recipeWrapper instanceof CentrifugeRecipeWrapper) {
CentrifugeRecipeWrapper recipe = (CentrifugeRecipeWrapper) recipeWrapper; CentrifugeRecipeWrapper recipe = (CentrifugeRecipeWrapper) recipeWrapper;
RecipeUtil.setRecipeItems(recipeLayout, recipe, INPUT_SLOTS, OUTPUT_SLOTS, null, null); RecipeUtil.setRecipeItems(recipeLayout, recipe, INPUT_SLOTS, OUTPUT_SLOTS, null, null);
} }
} }
} }

View file

@ -1,41 +1,41 @@
package techreborn.compat.jei.centrifuge; package techreborn.compat.jei.centrifuge;
import mezz.jei.api.IJeiHelpers; import mezz.jei.api.IJeiHelpers;
import mezz.jei.api.recipe.IRecipeHandler; import mezz.jei.api.recipe.IRecipeHandler;
import mezz.jei.api.recipe.IRecipeWrapper; import mezz.jei.api.recipe.IRecipeWrapper;
import techreborn.api.recipe.machines.CentrifugeRecipe; import techreborn.api.recipe.machines.CentrifugeRecipe;
import techreborn.compat.jei.RecipeCategoryUids; import techreborn.compat.jei.RecipeCategoryUids;
import javax.annotation.Nonnull; import javax.annotation.Nonnull;
public class CentrifugeRecipeHandler implements IRecipeHandler<CentrifugeRecipe> { public class CentrifugeRecipeHandler implements IRecipeHandler<CentrifugeRecipe> {
@Nonnull @Nonnull
private final IJeiHelpers jeiHelpers; private final IJeiHelpers jeiHelpers;
public CentrifugeRecipeHandler(@Nonnull IJeiHelpers jeiHelpers) { public CentrifugeRecipeHandler(@Nonnull IJeiHelpers jeiHelpers) {
this.jeiHelpers = jeiHelpers; this.jeiHelpers = jeiHelpers;
} }
@Nonnull @Nonnull
@Override @Override
public Class<CentrifugeRecipe> getRecipeClass() { public Class<CentrifugeRecipe> getRecipeClass() {
return CentrifugeRecipe.class; return CentrifugeRecipe.class;
} }
@Nonnull @Nonnull
@Override @Override
public String getRecipeCategoryUid() { public String getRecipeCategoryUid() {
return RecipeCategoryUids.CENTRIFUGE; return RecipeCategoryUids.CENTRIFUGE;
} }
@Nonnull @Nonnull
@Override @Override
public IRecipeWrapper getRecipeWrapper(@Nonnull CentrifugeRecipe recipe) { public IRecipeWrapper getRecipeWrapper(@Nonnull CentrifugeRecipe recipe) {
return new CentrifugeRecipeWrapper(jeiHelpers, recipe); return new CentrifugeRecipeWrapper(jeiHelpers, recipe);
} }
@Override @Override
public boolean isRecipeValid(@Nonnull CentrifugeRecipe recipe) { public boolean isRecipeValid(@Nonnull CentrifugeRecipe recipe) {
return true; return true;
} }
} }

View file

@ -1,43 +1,43 @@
package techreborn.compat.jei.centrifuge; package techreborn.compat.jei.centrifuge;
import mezz.jei.api.IGuiHelper; import mezz.jei.api.IGuiHelper;
import mezz.jei.api.IJeiHelpers; import mezz.jei.api.IJeiHelpers;
import mezz.jei.api.gui.IDrawableAnimated; import mezz.jei.api.gui.IDrawableAnimated;
import mezz.jei.api.gui.IDrawableStatic; import mezz.jei.api.gui.IDrawableStatic;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import techreborn.api.recipe.machines.CentrifugeRecipe; import techreborn.api.recipe.machines.CentrifugeRecipe;
import techreborn.client.gui.GuiCentrifuge; import techreborn.client.gui.GuiCentrifuge;
import techreborn.compat.jei.BaseRecipeWrapper; import techreborn.compat.jei.BaseRecipeWrapper;
import javax.annotation.Nonnull; import javax.annotation.Nonnull;
public class CentrifugeRecipeWrapper extends BaseRecipeWrapper<CentrifugeRecipe> { public class CentrifugeRecipeWrapper extends BaseRecipeWrapper<CentrifugeRecipe> {
private final IDrawableAnimated progressUp; private final IDrawableAnimated progressUp;
private final IDrawableAnimated progressLeft; private final IDrawableAnimated progressLeft;
private final IDrawableAnimated progressDown; private final IDrawableAnimated progressDown;
private final IDrawableAnimated progressRight; private final IDrawableAnimated progressRight;
public CentrifugeRecipeWrapper(@Nonnull IJeiHelpers jeiHelpers, @Nonnull CentrifugeRecipe baseRecipe) { public CentrifugeRecipeWrapper(@Nonnull IJeiHelpers jeiHelpers, @Nonnull CentrifugeRecipe baseRecipe) {
super(baseRecipe); super(baseRecipe);
IGuiHelper guiHelper = jeiHelpers.getGuiHelper(); IGuiHelper guiHelper = jeiHelpers.getGuiHelper();
IDrawableStatic progressUpStatic = guiHelper.createDrawable(GuiCentrifuge.texture, 176, 14, 12, 12); IDrawableStatic progressUpStatic = guiHelper.createDrawable(GuiCentrifuge.texture, 176, 14, 12, 12);
IDrawableStatic progressLeftStatic = guiHelper.createDrawable(GuiCentrifuge.texture, 176, 26, 12, 12); IDrawableStatic progressLeftStatic = guiHelper.createDrawable(GuiCentrifuge.texture, 176, 26, 12, 12);
IDrawableStatic progressDownStatic = guiHelper.createDrawable(GuiCentrifuge.texture, 176, 38, 12, 12); IDrawableStatic progressDownStatic = guiHelper.createDrawable(GuiCentrifuge.texture, 176, 38, 12, 12);
IDrawableStatic progressRightStatic = guiHelper.createDrawable(GuiCentrifuge.texture, 176, 50, 12, 12); IDrawableStatic progressRightStatic = guiHelper.createDrawable(GuiCentrifuge.texture, 176, 50, 12, 12);
int ticksPerCycle = baseRecipe.tickTime() / 4; // speed up the animation a bit int ticksPerCycle = baseRecipe.tickTime() / 4; // speed up the animation a bit
this.progressUp = guiHelper.createAnimatedDrawable(progressUpStatic, ticksPerCycle, IDrawableAnimated.StartDirection.BOTTOM, false); this.progressUp = guiHelper.createAnimatedDrawable(progressUpStatic, ticksPerCycle, IDrawableAnimated.StartDirection.BOTTOM, false);
this.progressLeft = guiHelper.createAnimatedDrawable(progressLeftStatic, ticksPerCycle, IDrawableAnimated.StartDirection.RIGHT, false); this.progressLeft = guiHelper.createAnimatedDrawable(progressLeftStatic, ticksPerCycle, IDrawableAnimated.StartDirection.RIGHT, false);
this.progressDown = guiHelper.createAnimatedDrawable(progressDownStatic, ticksPerCycle, IDrawableAnimated.StartDirection.TOP, false); this.progressDown = guiHelper.createAnimatedDrawable(progressDownStatic, ticksPerCycle, IDrawableAnimated.StartDirection.TOP, false);
this.progressRight = guiHelper.createAnimatedDrawable(progressRightStatic, ticksPerCycle, IDrawableAnimated.StartDirection.LEFT, false); this.progressRight = guiHelper.createAnimatedDrawable(progressRightStatic, ticksPerCycle, IDrawableAnimated.StartDirection.LEFT, false);
} }
@Override @Override
public void drawAnimations(@Nonnull Minecraft minecraft, int recipeWidth, int recipeHeight) { public void drawAnimations(@Nonnull Minecraft minecraft, int recipeWidth, int recipeHeight) {
super.drawAnimations(minecraft, recipeWidth, recipeHeight); super.drawAnimations(minecraft, recipeWidth, recipeHeight);
progressUp.draw(minecraft, 33, 18); progressUp.draw(minecraft, 33, 18);
progressLeft.draw(minecraft, 18, 33); progressLeft.draw(minecraft, 18, 33);
progressDown.draw(minecraft, 33, 48); progressDown.draw(minecraft, 33, 48);
progressRight.draw(minecraft, 48, 33); progressRight.draw(minecraft, 48, 33);
} }
} }

View file

@ -1,59 +1,59 @@
package techreborn.compat.jei.chemicalReactor; package techreborn.compat.jei.chemicalReactor;
import mezz.jei.api.IGuiHelper; import mezz.jei.api.IGuiHelper;
import mezz.jei.api.gui.IDrawable; import mezz.jei.api.gui.IDrawable;
import mezz.jei.api.gui.IGuiItemStackGroup; import mezz.jei.api.gui.IGuiItemStackGroup;
import mezz.jei.api.gui.IRecipeLayout; import mezz.jei.api.gui.IRecipeLayout;
import mezz.jei.api.recipe.BlankRecipeCategory; import mezz.jei.api.recipe.BlankRecipeCategory;
import mezz.jei.api.recipe.IRecipeWrapper; import mezz.jei.api.recipe.IRecipeWrapper;
import net.minecraft.util.StatCollector; import net.minecraft.util.StatCollector;
import techreborn.client.gui.GuiChemicalReactor; import techreborn.client.gui.GuiChemicalReactor;
import techreborn.compat.jei.RecipeCategoryUids; import techreborn.compat.jei.RecipeCategoryUids;
import techreborn.compat.jei.RecipeUtil; import techreborn.compat.jei.RecipeUtil;
import javax.annotation.Nonnull; import javax.annotation.Nonnull;
public class ChemicalReactorRecipeCategory extends BlankRecipeCategory { public class ChemicalReactorRecipeCategory extends BlankRecipeCategory {
private static final int[] INPUT_SLOTS = {0, 1}; private static final int[] INPUT_SLOTS = {0, 1};
private static final int[] OUTPUT_SLOTS = {2}; private static final int[] OUTPUT_SLOTS = {2};
private final IDrawable background; private final IDrawable background;
private final String title; private final String title;
public ChemicalReactorRecipeCategory(IGuiHelper guiHelper) { public ChemicalReactorRecipeCategory(IGuiHelper guiHelper) {
background = guiHelper.createDrawable(GuiChemicalReactor.texture, 69, 20, 38, 48); background = guiHelper.createDrawable(GuiChemicalReactor.texture, 69, 20, 38, 48);
title = StatCollector.translateToLocal("tile.techreborn.chemicalreactor.name"); title = StatCollector.translateToLocal("tile.techreborn.chemicalreactor.name");
} }
@Nonnull @Nonnull
@Override @Override
public String getUid() { public String getUid() {
return RecipeCategoryUids.CHEMICAL_REACTOR; return RecipeCategoryUids.CHEMICAL_REACTOR;
} }
@Nonnull @Nonnull
@Override @Override
public String getTitle() { public String getTitle() {
return title; return title;
} }
@Nonnull @Nonnull
@Override @Override
public IDrawable getBackground() { public IDrawable getBackground() {
return background; return background;
} }
@Override @Override
public void setRecipe(@Nonnull IRecipeLayout recipeLayout, @Nonnull IRecipeWrapper recipeWrapper) { public void setRecipe(@Nonnull IRecipeLayout recipeLayout, @Nonnull IRecipeWrapper recipeWrapper) {
IGuiItemStackGroup guiItemStacks = recipeLayout.getItemStacks(); IGuiItemStackGroup guiItemStacks = recipeLayout.getItemStacks();
guiItemStacks.init(INPUT_SLOTS[0], true, 0, 0); guiItemStacks.init(INPUT_SLOTS[0], true, 0, 0);
guiItemStacks.init(INPUT_SLOTS[1], true, 20, 0); guiItemStacks.init(INPUT_SLOTS[1], true, 20, 0);
guiItemStacks.init(OUTPUT_SLOTS[0], false, 10, 30); guiItemStacks.init(OUTPUT_SLOTS[0], false, 10, 30);
if (recipeWrapper instanceof ChemicalReactorRecipeWrapper) { if (recipeWrapper instanceof ChemicalReactorRecipeWrapper) {
ChemicalReactorRecipeWrapper recipe = (ChemicalReactorRecipeWrapper) recipeWrapper; ChemicalReactorRecipeWrapper recipe = (ChemicalReactorRecipeWrapper) recipeWrapper;
RecipeUtil.setRecipeItems(recipeLayout, recipe, INPUT_SLOTS, OUTPUT_SLOTS, null, null); RecipeUtil.setRecipeItems(recipeLayout, recipe, INPUT_SLOTS, OUTPUT_SLOTS, null, null);
} }
} }
} }

View file

@ -1,41 +1,41 @@
package techreborn.compat.jei.chemicalReactor; package techreborn.compat.jei.chemicalReactor;
import mezz.jei.api.IJeiHelpers; import mezz.jei.api.IJeiHelpers;
import mezz.jei.api.recipe.IRecipeHandler; import mezz.jei.api.recipe.IRecipeHandler;
import mezz.jei.api.recipe.IRecipeWrapper; import mezz.jei.api.recipe.IRecipeWrapper;
import techreborn.api.recipe.machines.ChemicalReactorRecipe; import techreborn.api.recipe.machines.ChemicalReactorRecipe;
import techreborn.compat.jei.RecipeCategoryUids; import techreborn.compat.jei.RecipeCategoryUids;
import javax.annotation.Nonnull; import javax.annotation.Nonnull;
public class ChemicalReactorRecipeHandler implements IRecipeHandler<ChemicalReactorRecipe> { public class ChemicalReactorRecipeHandler implements IRecipeHandler<ChemicalReactorRecipe> {
@Nonnull @Nonnull
private final IJeiHelpers jeiHelpers; private final IJeiHelpers jeiHelpers;
public ChemicalReactorRecipeHandler(@Nonnull IJeiHelpers jeiHelpers) { public ChemicalReactorRecipeHandler(@Nonnull IJeiHelpers jeiHelpers) {
this.jeiHelpers = jeiHelpers; this.jeiHelpers = jeiHelpers;
} }
@Nonnull @Nonnull
@Override @Override
public Class<ChemicalReactorRecipe> getRecipeClass() { public Class<ChemicalReactorRecipe> getRecipeClass() {
return ChemicalReactorRecipe.class; return ChemicalReactorRecipe.class;
} }
@Nonnull @Nonnull
@Override @Override
public String getRecipeCategoryUid() { public String getRecipeCategoryUid() {
return RecipeCategoryUids.CHEMICAL_REACTOR; return RecipeCategoryUids.CHEMICAL_REACTOR;
} }
@Nonnull @Nonnull
@Override @Override
public IRecipeWrapper getRecipeWrapper(@Nonnull ChemicalReactorRecipe recipe) { public IRecipeWrapper getRecipeWrapper(@Nonnull ChemicalReactorRecipe recipe) {
return new ChemicalReactorRecipeWrapper(jeiHelpers, recipe); return new ChemicalReactorRecipeWrapper(jeiHelpers, recipe);
} }
@Override @Override
public boolean isRecipeValid(@Nonnull ChemicalReactorRecipe recipe) { public boolean isRecipeValid(@Nonnull ChemicalReactorRecipe recipe) {
return true; return true;
} }
} }

View file

@ -1,31 +1,31 @@
package techreborn.compat.jei.chemicalReactor; package techreborn.compat.jei.chemicalReactor;
import mezz.jei.api.IGuiHelper; import mezz.jei.api.IGuiHelper;
import mezz.jei.api.IJeiHelpers; import mezz.jei.api.IJeiHelpers;
import mezz.jei.api.gui.IDrawableAnimated; import mezz.jei.api.gui.IDrawableAnimated;
import mezz.jei.api.gui.IDrawableStatic; import mezz.jei.api.gui.IDrawableStatic;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import techreborn.api.recipe.machines.ChemicalReactorRecipe; import techreborn.api.recipe.machines.ChemicalReactorRecipe;
import techreborn.client.gui.GuiChemicalReactor; import techreborn.client.gui.GuiChemicalReactor;
import techreborn.compat.jei.BaseRecipeWrapper; import techreborn.compat.jei.BaseRecipeWrapper;
import javax.annotation.Nonnull; import javax.annotation.Nonnull;
public class ChemicalReactorRecipeWrapper extends BaseRecipeWrapper<ChemicalReactorRecipe> { public class ChemicalReactorRecipeWrapper extends BaseRecipeWrapper<ChemicalReactorRecipe> {
private final IDrawableAnimated progress; private final IDrawableAnimated progress;
public ChemicalReactorRecipeWrapper(@Nonnull IJeiHelpers jeiHelpers, @Nonnull ChemicalReactorRecipe baseRecipe) { public ChemicalReactorRecipeWrapper(@Nonnull IJeiHelpers jeiHelpers, @Nonnull ChemicalReactorRecipe baseRecipe) {
super(baseRecipe); super(baseRecipe);
IGuiHelper guiHelper = jeiHelpers.getGuiHelper(); IGuiHelper guiHelper = jeiHelpers.getGuiHelper();
IDrawableStatic progressStatic = guiHelper.createDrawable(GuiChemicalReactor.texture, 176, 14, 32, 12); IDrawableStatic progressStatic = guiHelper.createDrawable(GuiChemicalReactor.texture, 176, 14, 32, 12);
int ticksPerCycle = baseRecipe.tickTime(); int ticksPerCycle = baseRecipe.tickTime();
this.progress = guiHelper.createAnimatedDrawable(progressStatic, ticksPerCycle, IDrawableAnimated.StartDirection.TOP, false); this.progress = guiHelper.createAnimatedDrawable(progressStatic, ticksPerCycle, IDrawableAnimated.StartDirection.TOP, false);
} }
@Override @Override
public void drawAnimations(@Nonnull Minecraft minecraft, int recipeWidth, int recipeHeight) { public void drawAnimations(@Nonnull Minecraft minecraft, int recipeWidth, int recipeHeight) {
super.drawAnimations(minecraft, recipeWidth, recipeHeight); super.drawAnimations(minecraft, recipeWidth, recipeHeight);
progress.draw(minecraft, 3, 18); progress.draw(minecraft, 3, 18);
} }
} }

View file

@ -1,71 +1,71 @@
package techreborn.compat.jei.implosionCompressor; package techreborn.compat.jei.implosionCompressor;
import mezz.jei.api.IGuiHelper; import mezz.jei.api.IGuiHelper;
import mezz.jei.api.gui.IDrawable; import mezz.jei.api.gui.IDrawable;
import mezz.jei.api.gui.IDrawableAnimated; import mezz.jei.api.gui.IDrawableAnimated;
import mezz.jei.api.gui.IDrawableStatic; import mezz.jei.api.gui.IDrawableStatic;
import mezz.jei.api.gui.IGuiItemStackGroup; import mezz.jei.api.gui.IGuiItemStackGroup;
import mezz.jei.api.gui.IRecipeLayout; import mezz.jei.api.gui.IRecipeLayout;
import mezz.jei.api.recipe.BlankRecipeCategory; import mezz.jei.api.recipe.BlankRecipeCategory;
import mezz.jei.api.recipe.IRecipeWrapper; import mezz.jei.api.recipe.IRecipeWrapper;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import net.minecraft.util.StatCollector; import net.minecraft.util.StatCollector;
import techreborn.client.gui.GuiImplosionCompressor; import techreborn.client.gui.GuiImplosionCompressor;
import techreborn.compat.jei.RecipeCategoryUids; import techreborn.compat.jei.RecipeCategoryUids;
import techreborn.compat.jei.RecipeUtil; import techreborn.compat.jei.RecipeUtil;
import javax.annotation.Nonnull; import javax.annotation.Nonnull;
public class ImplosionCompressorRecipeCategory extends BlankRecipeCategory { public class ImplosionCompressorRecipeCategory extends BlankRecipeCategory {
private static final int[] INPUT_SLOTS = {0, 1}; private static final int[] INPUT_SLOTS = {0, 1};
private static final int[] OUTPUT_SLOTS = {2, 3}; private static final int[] OUTPUT_SLOTS = {2, 3};
private final IDrawable background; private final IDrawable background;
private final IDrawable electricity; private final IDrawable electricity;
private final String title; private final String title;
public ImplosionCompressorRecipeCategory(IGuiHelper guiHelper) { public ImplosionCompressorRecipeCategory(IGuiHelper guiHelper) {
background = guiHelper.createDrawable(GuiImplosionCompressor.texture, 16, 25, 116, 36); background = guiHelper.createDrawable(GuiImplosionCompressor.texture, 16, 25, 116, 36);
IDrawableStatic electricityDrawable = guiHelper.createDrawable(GuiImplosionCompressor.texture, 176, 0, 14, 14); IDrawableStatic electricityDrawable = guiHelper.createDrawable(GuiImplosionCompressor.texture, 176, 0, 14, 14);
electricity = guiHelper.createAnimatedDrawable(electricityDrawable, 300, IDrawableAnimated.StartDirection.TOP, true); electricity = guiHelper.createAnimatedDrawable(electricityDrawable, 300, IDrawableAnimated.StartDirection.TOP, true);
title = StatCollector.translateToLocal("tile.techreborn.implosioncompressor.name"); title = StatCollector.translateToLocal("tile.techreborn.implosioncompressor.name");
} }
@Nonnull @Nonnull
@Override @Override
public String getUid() { public String getUid() {
return RecipeCategoryUids.IMPLOSION_COMPRESSOR; return RecipeCategoryUids.IMPLOSION_COMPRESSOR;
} }
@Nonnull @Nonnull
@Override @Override
public String getTitle() { public String getTitle() {
return title; return title;
} }
@Nonnull @Nonnull
@Override @Override
public IDrawable getBackground() { public IDrawable getBackground() {
return background; return background;
} }
@Override @Override
public void drawAnimations(@Nonnull Minecraft minecraft) { public void drawAnimations(@Nonnull Minecraft minecraft) {
electricity.draw(minecraft, 0, 12); electricity.draw(minecraft, 0, 12);
} }
@Override @Override
public void setRecipe(@Nonnull IRecipeLayout recipeLayout, @Nonnull IRecipeWrapper recipeWrapper) { public void setRecipe(@Nonnull IRecipeLayout recipeLayout, @Nonnull IRecipeWrapper recipeWrapper) {
IGuiItemStackGroup guiItemStacks = recipeLayout.getItemStacks(); IGuiItemStackGroup guiItemStacks = recipeLayout.getItemStacks();
guiItemStacks.init(INPUT_SLOTS[0], true, 20, 0); guiItemStacks.init(INPUT_SLOTS[0], true, 20, 0);
guiItemStacks.init(INPUT_SLOTS[1], true, 20, 18); guiItemStacks.init(INPUT_SLOTS[1], true, 20, 18);
guiItemStacks.init(OUTPUT_SLOTS[0], false, 76, 9); guiItemStacks.init(OUTPUT_SLOTS[0], false, 76, 9);
guiItemStacks.init(OUTPUT_SLOTS[1], false, 94, 9); guiItemStacks.init(OUTPUT_SLOTS[1], false, 94, 9);
if (recipeWrapper instanceof ImplosionCompressorRecipeWrapper) { if (recipeWrapper instanceof ImplosionCompressorRecipeWrapper) {
ImplosionCompressorRecipeWrapper recipe = (ImplosionCompressorRecipeWrapper) recipeWrapper; ImplosionCompressorRecipeWrapper recipe = (ImplosionCompressorRecipeWrapper) recipeWrapper;
RecipeUtil.setRecipeItems(recipeLayout, recipe, INPUT_SLOTS, OUTPUT_SLOTS, null, null); RecipeUtil.setRecipeItems(recipeLayout, recipe, INPUT_SLOTS, OUTPUT_SLOTS, null, null);
} }
} }
} }

View file

@ -1,41 +1,41 @@
package techreborn.compat.jei.implosionCompressor; package techreborn.compat.jei.implosionCompressor;
import mezz.jei.api.IJeiHelpers; import mezz.jei.api.IJeiHelpers;
import mezz.jei.api.recipe.IRecipeHandler; import mezz.jei.api.recipe.IRecipeHandler;
import mezz.jei.api.recipe.IRecipeWrapper; import mezz.jei.api.recipe.IRecipeWrapper;
import techreborn.api.recipe.machines.ImplosionCompressorRecipe; import techreborn.api.recipe.machines.ImplosionCompressorRecipe;
import techreborn.compat.jei.RecipeCategoryUids; import techreborn.compat.jei.RecipeCategoryUids;
import javax.annotation.Nonnull; import javax.annotation.Nonnull;
public class ImplosionCompressorRecipeHandler implements IRecipeHandler<ImplosionCompressorRecipe> { public class ImplosionCompressorRecipeHandler implements IRecipeHandler<ImplosionCompressorRecipe> {
@Nonnull @Nonnull
private final IJeiHelpers jeiHelpers; private final IJeiHelpers jeiHelpers;
public ImplosionCompressorRecipeHandler(@Nonnull IJeiHelpers jeiHelpers) { public ImplosionCompressorRecipeHandler(@Nonnull IJeiHelpers jeiHelpers) {
this.jeiHelpers = jeiHelpers; this.jeiHelpers = jeiHelpers;
} }
@Nonnull @Nonnull
@Override @Override
public Class<ImplosionCompressorRecipe> getRecipeClass() { public Class<ImplosionCompressorRecipe> getRecipeClass() {
return ImplosionCompressorRecipe.class; return ImplosionCompressorRecipe.class;
} }
@Nonnull @Nonnull
@Override @Override
public String getRecipeCategoryUid() { public String getRecipeCategoryUid() {
return RecipeCategoryUids.IMPLOSION_COMPRESSOR; return RecipeCategoryUids.IMPLOSION_COMPRESSOR;
} }
@Nonnull @Nonnull
@Override @Override
public IRecipeWrapper getRecipeWrapper(@Nonnull ImplosionCompressorRecipe recipe) { public IRecipeWrapper getRecipeWrapper(@Nonnull ImplosionCompressorRecipe recipe) {
return new ImplosionCompressorRecipeWrapper(jeiHelpers, recipe); return new ImplosionCompressorRecipeWrapper(jeiHelpers, recipe);
} }
@Override @Override
public boolean isRecipeValid(@Nonnull ImplosionCompressorRecipe recipe) { public boolean isRecipeValid(@Nonnull ImplosionCompressorRecipe recipe) {
return true; return true;
} }
} }

View file

@ -1,29 +1,29 @@
package techreborn.compat.jei.implosionCompressor; package techreborn.compat.jei.implosionCompressor;
import mezz.jei.api.IGuiHelper; import mezz.jei.api.IGuiHelper;
import mezz.jei.api.IJeiHelpers; import mezz.jei.api.IJeiHelpers;
import mezz.jei.api.gui.IDrawableAnimated; import mezz.jei.api.gui.IDrawableAnimated;
import mezz.jei.api.gui.IDrawableStatic; import mezz.jei.api.gui.IDrawableStatic;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import techreborn.api.recipe.machines.ImplosionCompressorRecipe; import techreborn.api.recipe.machines.ImplosionCompressorRecipe;
import techreborn.client.gui.GuiImplosionCompressor; import techreborn.client.gui.GuiImplosionCompressor;
import techreborn.compat.jei.BaseRecipeWrapper; import techreborn.compat.jei.BaseRecipeWrapper;
import javax.annotation.Nonnull; import javax.annotation.Nonnull;
public class ImplosionCompressorRecipeWrapper extends BaseRecipeWrapper<ImplosionCompressorRecipe> { public class ImplosionCompressorRecipeWrapper extends BaseRecipeWrapper<ImplosionCompressorRecipe> {
private final IDrawableAnimated progress; private final IDrawableAnimated progress;
public ImplosionCompressorRecipeWrapper(@Nonnull IJeiHelpers jeiHelpers, @Nonnull ImplosionCompressorRecipe baseRecipe) { public ImplosionCompressorRecipeWrapper(@Nonnull IJeiHelpers jeiHelpers, @Nonnull ImplosionCompressorRecipe baseRecipe) {
super(baseRecipe); super(baseRecipe);
IGuiHelper guiHelper = jeiHelpers.getGuiHelper(); IGuiHelper guiHelper = jeiHelpers.getGuiHelper();
IDrawableStatic progressStatic = guiHelper.createDrawable(GuiImplosionCompressor.texture, 176, 14, 21, 11); IDrawableStatic progressStatic = guiHelper.createDrawable(GuiImplosionCompressor.texture, 176, 14, 21, 11);
this.progress = guiHelper.createAnimatedDrawable(progressStatic, baseRecipe.tickTime(), IDrawableAnimated.StartDirection.LEFT, false); this.progress = guiHelper.createAnimatedDrawable(progressStatic, baseRecipe.tickTime(), IDrawableAnimated.StartDirection.LEFT, false);
} }
@Override @Override
public void drawAnimations(@Nonnull Minecraft minecraft, int recipeWidth, int recipeHeight) { public void drawAnimations(@Nonnull Minecraft minecraft, int recipeWidth, int recipeHeight) {
super.drawAnimations(minecraft, recipeWidth, recipeHeight); super.drawAnimations(minecraft, recipeWidth, recipeHeight);
progress.draw(minecraft, 44, 13); progress.draw(minecraft, 44, 13);
} }
} }

View file

@ -1,61 +1,61 @@
package techreborn.compat.jei.industrialElectrolyzer; package techreborn.compat.jei.industrialElectrolyzer;
import mezz.jei.api.IGuiHelper; import mezz.jei.api.IGuiHelper;
import mezz.jei.api.gui.IDrawable; import mezz.jei.api.gui.IDrawable;
import mezz.jei.api.gui.IGuiItemStackGroup; import mezz.jei.api.gui.IGuiItemStackGroup;
import mezz.jei.api.gui.IRecipeLayout; import mezz.jei.api.gui.IRecipeLayout;
import mezz.jei.api.recipe.BlankRecipeCategory; import mezz.jei.api.recipe.BlankRecipeCategory;
import mezz.jei.api.recipe.IRecipeWrapper; import mezz.jei.api.recipe.IRecipeWrapper;
import net.minecraft.util.StatCollector; import net.minecraft.util.StatCollector;
import techreborn.client.gui.GuiIndustrialElectrolyzer; import techreborn.client.gui.GuiIndustrialElectrolyzer;
import techreborn.compat.jei.RecipeCategoryUids; import techreborn.compat.jei.RecipeCategoryUids;
import techreborn.compat.jei.RecipeUtil; import techreborn.compat.jei.RecipeUtil;
import javax.annotation.Nonnull; import javax.annotation.Nonnull;
public class IndustrialElectrolyzerRecipeCategory extends BlankRecipeCategory { public class IndustrialElectrolyzerRecipeCategory extends BlankRecipeCategory {
private static final int[] INPUT_SLOTS = {0, 1}; private static final int[] INPUT_SLOTS = {0, 1};
private static final int[] OUTPUT_SLOTS = {2, 3, 4, 5}; private static final int[] OUTPUT_SLOTS = {2, 3, 4, 5};
private final IDrawable background; private final IDrawable background;
private final String title; private final String title;
public IndustrialElectrolyzerRecipeCategory(IGuiHelper guiHelper) { public IndustrialElectrolyzerRecipeCategory(IGuiHelper guiHelper) {
background = guiHelper.createDrawable(GuiIndustrialElectrolyzer.texture, 49, 18, 78, 50); background = guiHelper.createDrawable(GuiIndustrialElectrolyzer.texture, 49, 18, 78, 50);
title = StatCollector.translateToLocal("tile.techreborn.industrialelectrolyzer.name"); title = StatCollector.translateToLocal("tile.techreborn.industrialelectrolyzer.name");
} }
@Nonnull @Nonnull
@Override @Override
public String getUid() { public String getUid() {
return RecipeCategoryUids.INDUSTRIAL_ELECTROLYZER; return RecipeCategoryUids.INDUSTRIAL_ELECTROLYZER;
} }
@Nonnull @Nonnull
@Override @Override
public String getTitle() { public String getTitle() {
return title; return title;
} }
@Nonnull @Nonnull
@Override @Override
public IDrawable getBackground() { public IDrawable getBackground() {
return background; return background;
} }
@Override @Override
public void setRecipe(@Nonnull IRecipeLayout recipeLayout, @Nonnull IRecipeWrapper recipeWrapper) { public void setRecipe(@Nonnull IRecipeLayout recipeLayout, @Nonnull IRecipeWrapper recipeWrapper) {
IGuiItemStackGroup guiItemStacks = recipeLayout.getItemStacks(); IGuiItemStackGroup guiItemStacks = recipeLayout.getItemStacks();
guiItemStacks.init(INPUT_SLOTS[0], true, 30, 32); guiItemStacks.init(INPUT_SLOTS[0], true, 30, 32);
guiItemStacks.init(INPUT_SLOTS[1], true, 0, 32); guiItemStacks.init(INPUT_SLOTS[1], true, 0, 32);
guiItemStacks.init(OUTPUT_SLOTS[0], false, 0, 0); guiItemStacks.init(OUTPUT_SLOTS[0], false, 0, 0);
guiItemStacks.init(OUTPUT_SLOTS[1], false, 20, 0); guiItemStacks.init(OUTPUT_SLOTS[1], false, 20, 0);
guiItemStacks.init(OUTPUT_SLOTS[2], false, 40, 0); guiItemStacks.init(OUTPUT_SLOTS[2], false, 40, 0);
guiItemStacks.init(OUTPUT_SLOTS[3], false, 60, 0); guiItemStacks.init(OUTPUT_SLOTS[3], false, 60, 0);
if (recipeWrapper instanceof IndustrialElectrolyzerRecipeWrapper) { if (recipeWrapper instanceof IndustrialElectrolyzerRecipeWrapper) {
IndustrialElectrolyzerRecipeWrapper recipe = (IndustrialElectrolyzerRecipeWrapper) recipeWrapper; IndustrialElectrolyzerRecipeWrapper recipe = (IndustrialElectrolyzerRecipeWrapper) recipeWrapper;
RecipeUtil.setRecipeItems(recipeLayout, recipe, INPUT_SLOTS, OUTPUT_SLOTS, null, null); RecipeUtil.setRecipeItems(recipeLayout, recipe, INPUT_SLOTS, OUTPUT_SLOTS, null, null);
} }
} }
} }

View file

@ -1,41 +1,41 @@
package techreborn.compat.jei.industrialElectrolyzer; package techreborn.compat.jei.industrialElectrolyzer;
import mezz.jei.api.IJeiHelpers; import mezz.jei.api.IJeiHelpers;
import mezz.jei.api.recipe.IRecipeHandler; import mezz.jei.api.recipe.IRecipeHandler;
import mezz.jei.api.recipe.IRecipeWrapper; import mezz.jei.api.recipe.IRecipeWrapper;
import techreborn.api.recipe.machines.IndustrialElectrolyzerRecipe; import techreborn.api.recipe.machines.IndustrialElectrolyzerRecipe;
import techreborn.compat.jei.RecipeCategoryUids; import techreborn.compat.jei.RecipeCategoryUids;
import javax.annotation.Nonnull; import javax.annotation.Nonnull;
public class IndustrialElectrolyzerRecipeHandler implements IRecipeHandler<IndustrialElectrolyzerRecipe> { public class IndustrialElectrolyzerRecipeHandler implements IRecipeHandler<IndustrialElectrolyzerRecipe> {
@Nonnull @Nonnull
private final IJeiHelpers jeiHelpers; private final IJeiHelpers jeiHelpers;
public IndustrialElectrolyzerRecipeHandler(@Nonnull IJeiHelpers jeiHelpers) { public IndustrialElectrolyzerRecipeHandler(@Nonnull IJeiHelpers jeiHelpers) {
this.jeiHelpers = jeiHelpers; this.jeiHelpers = jeiHelpers;
} }
@Nonnull @Nonnull
@Override @Override
public Class<IndustrialElectrolyzerRecipe> getRecipeClass() { public Class<IndustrialElectrolyzerRecipe> getRecipeClass() {
return IndustrialElectrolyzerRecipe.class; return IndustrialElectrolyzerRecipe.class;
} }
@Nonnull @Nonnull
@Override @Override
public String getRecipeCategoryUid() { public String getRecipeCategoryUid() {
return RecipeCategoryUids.INDUSTRIAL_ELECTROLYZER; return RecipeCategoryUids.INDUSTRIAL_ELECTROLYZER;
} }
@Nonnull @Nonnull
@Override @Override
public IRecipeWrapper getRecipeWrapper(@Nonnull IndustrialElectrolyzerRecipe recipe) { public IRecipeWrapper getRecipeWrapper(@Nonnull IndustrialElectrolyzerRecipe recipe) {
return new IndustrialElectrolyzerRecipeWrapper(jeiHelpers, recipe); return new IndustrialElectrolyzerRecipeWrapper(jeiHelpers, recipe);
} }
@Override @Override
public boolean isRecipeValid(@Nonnull IndustrialElectrolyzerRecipe recipe) { public boolean isRecipeValid(@Nonnull IndustrialElectrolyzerRecipe recipe) {
return true; return true;
} }
} }

View file

@ -1,29 +1,29 @@
package techreborn.compat.jei.industrialElectrolyzer; package techreborn.compat.jei.industrialElectrolyzer;
import mezz.jei.api.IGuiHelper; import mezz.jei.api.IGuiHelper;
import mezz.jei.api.IJeiHelpers; import mezz.jei.api.IJeiHelpers;
import mezz.jei.api.gui.IDrawableAnimated; import mezz.jei.api.gui.IDrawableAnimated;
import mezz.jei.api.gui.IDrawableStatic; import mezz.jei.api.gui.IDrawableStatic;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import techreborn.api.recipe.machines.IndustrialElectrolyzerRecipe; import techreborn.api.recipe.machines.IndustrialElectrolyzerRecipe;
import techreborn.client.gui.GuiIndustrialElectrolyzer; import techreborn.client.gui.GuiIndustrialElectrolyzer;
import techreborn.compat.jei.BaseRecipeWrapper; import techreborn.compat.jei.BaseRecipeWrapper;
import javax.annotation.Nonnull; import javax.annotation.Nonnull;
public class IndustrialElectrolyzerRecipeWrapper extends BaseRecipeWrapper<IndustrialElectrolyzerRecipe> { public class IndustrialElectrolyzerRecipeWrapper extends BaseRecipeWrapper<IndustrialElectrolyzerRecipe> {
private final IDrawableAnimated progress; private final IDrawableAnimated progress;
public IndustrialElectrolyzerRecipeWrapper(@Nonnull IJeiHelpers jeiHelpers, @Nonnull IndustrialElectrolyzerRecipe baseRecipe) { public IndustrialElectrolyzerRecipeWrapper(@Nonnull IJeiHelpers jeiHelpers, @Nonnull IndustrialElectrolyzerRecipe baseRecipe) {
super(baseRecipe); super(baseRecipe);
IGuiHelper guiHelper = jeiHelpers.getGuiHelper(); IGuiHelper guiHelper = jeiHelpers.getGuiHelper();
IDrawableStatic progressStatic = guiHelper.createDrawable(GuiIndustrialElectrolyzer.texture, 176, 14, 30, 10); IDrawableStatic progressStatic = guiHelper.createDrawable(GuiIndustrialElectrolyzer.texture, 176, 14, 30, 10);
this.progress = guiHelper.createAnimatedDrawable(progressStatic, baseRecipe.tickTime(), IDrawableAnimated.StartDirection.BOTTOM, false); this.progress = guiHelper.createAnimatedDrawable(progressStatic, baseRecipe.tickTime(), IDrawableAnimated.StartDirection.BOTTOM, false);
} }
@Override @Override
public void drawAnimations(@Nonnull Minecraft minecraft, int recipeWidth, int recipeHeight) { public void drawAnimations(@Nonnull Minecraft minecraft, int recipeWidth, int recipeHeight) {
super.drawAnimations(minecraft, recipeWidth, recipeHeight); super.drawAnimations(minecraft, recipeWidth, recipeHeight);
progress.draw(minecraft, 24, 20); progress.draw(minecraft, 24, 20);
} }
} }

View file

@ -1,77 +1,77 @@
package techreborn.compat.jei.industrialSawmill; package techreborn.compat.jei.industrialSawmill;
import mezz.jei.api.IGuiHelper; import mezz.jei.api.IGuiHelper;
import mezz.jei.api.gui.IDrawable; import mezz.jei.api.gui.IDrawable;
import mezz.jei.api.gui.IGuiFluidStackGroup; import mezz.jei.api.gui.IGuiFluidStackGroup;
import mezz.jei.api.gui.IGuiItemStackGroup; import mezz.jei.api.gui.IGuiItemStackGroup;
import mezz.jei.api.gui.IRecipeLayout; import mezz.jei.api.gui.IRecipeLayout;
import mezz.jei.api.recipe.BlankRecipeCategory; import mezz.jei.api.recipe.BlankRecipeCategory;
import mezz.jei.api.recipe.IRecipeWrapper; import mezz.jei.api.recipe.IRecipeWrapper;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import net.minecraft.util.StatCollector; import net.minecraft.util.StatCollector;
import techreborn.client.gui.GuiIndustrialSawmill; import techreborn.client.gui.GuiIndustrialSawmill;
import techreborn.compat.jei.RecipeCategoryUids; import techreborn.compat.jei.RecipeCategoryUids;
import techreborn.compat.jei.RecipeUtil; import techreborn.compat.jei.RecipeUtil;
import techreborn.tiles.TileIndustrialSawmill; import techreborn.tiles.TileIndustrialSawmill;
import javax.annotation.Nonnull; import javax.annotation.Nonnull;
public class IndustrialSawmillRecipeCategory extends BlankRecipeCategory { public class IndustrialSawmillRecipeCategory extends BlankRecipeCategory {
private static final int[] INPUT_SLOTS = {0, 1}; private static final int[] INPUT_SLOTS = {0, 1};
private static final int[] OUTPUT_SLOTS = {2, 3, 4}; private static final int[] OUTPUT_SLOTS = {2, 3, 4};
private static final int[] INPUT_TANKS = {0}; private static final int[] INPUT_TANKS = {0};
private final IDrawable background; private final IDrawable background;
private final IDrawable blankArea; // for covering the lightning power symbol private final IDrawable blankArea; // for covering the lightning power symbol
private final IDrawable tankOverlay; private final IDrawable tankOverlay;
private final String title; private final String title;
public IndustrialSawmillRecipeCategory(IGuiHelper guiHelper) { public IndustrialSawmillRecipeCategory(IGuiHelper guiHelper) {
background = guiHelper.createDrawable(GuiIndustrialSawmill.texture, 7, 15, 141, 55); background = guiHelper.createDrawable(GuiIndustrialSawmill.texture, 7, 15, 141, 55);
blankArea = guiHelper.createDrawable(GuiIndustrialSawmill.texture, 50, 45, 6, 6); blankArea = guiHelper.createDrawable(GuiIndustrialSawmill.texture, 50, 45, 6, 6);
tankOverlay = guiHelper.createDrawable(GuiIndustrialSawmill.texture, 176, 83, 12, 47); tankOverlay = guiHelper.createDrawable(GuiIndustrialSawmill.texture, 176, 83, 12, 47);
title = StatCollector.translateToLocal("tile.techreborn.industrialsawmill.name"); title = StatCollector.translateToLocal("tile.techreborn.industrialsawmill.name");
} }
@Nonnull @Nonnull
@Override @Override
public String getUid() { public String getUid() {
return RecipeCategoryUids.INDUSTRIAL_SAWMILL; return RecipeCategoryUids.INDUSTRIAL_SAWMILL;
} }
@Nonnull @Nonnull
@Override @Override
public String getTitle() { public String getTitle() {
return title; return title;
} }
@Nonnull @Nonnull
@Override @Override
public IDrawable getBackground() { public IDrawable getBackground() {
return background; return background;
} }
@Override @Override
public void drawExtras(@Nonnull Minecraft minecraft) { public void drawExtras(@Nonnull Minecraft minecraft) {
blankArea.draw(minecraft, 31, 51); blankArea.draw(minecraft, 31, 51);
} }
@Override @Override
public void setRecipe(@Nonnull IRecipeLayout recipeLayout, @Nonnull IRecipeWrapper recipeWrapper) { public void setRecipe(@Nonnull IRecipeLayout recipeLayout, @Nonnull IRecipeWrapper recipeWrapper) {
IGuiItemStackGroup guiItemStacks = recipeLayout.getItemStacks(); IGuiItemStackGroup guiItemStacks = recipeLayout.getItemStacks();
guiItemStacks.init(INPUT_SLOTS[0], true, 24, 10); guiItemStacks.init(INPUT_SLOTS[0], true, 24, 10);
guiItemStacks.init(INPUT_SLOTS[1], true, 24, 28); guiItemStacks.init(INPUT_SLOTS[1], true, 24, 28);
guiItemStacks.init(OUTPUT_SLOTS[0], false, 76, 19); guiItemStacks.init(OUTPUT_SLOTS[0], false, 76, 19);
guiItemStacks.init(OUTPUT_SLOTS[1], false, 94, 19); guiItemStacks.init(OUTPUT_SLOTS[1], false, 94, 19);
guiItemStacks.init(OUTPUT_SLOTS[2], false, 112, 19); guiItemStacks.init(OUTPUT_SLOTS[2], false, 112, 19);
IGuiFluidStackGroup guiFluidStacks = recipeLayout.getFluidStacks(); IGuiFluidStackGroup guiFluidStacks = recipeLayout.getFluidStacks();
guiFluidStacks.init(INPUT_TANKS[0], true, 4, 4, 12, 47, TileIndustrialSawmill.TANK_CAPACITY, true, tankOverlay); guiFluidStacks.init(INPUT_TANKS[0], true, 4, 4, 12, 47, TileIndustrialSawmill.TANK_CAPACITY, true, tankOverlay);
if (recipeWrapper instanceof IndustrialSawmillRecipeWrapper) { if (recipeWrapper instanceof IndustrialSawmillRecipeWrapper) {
IndustrialSawmillRecipeWrapper recipe = (IndustrialSawmillRecipeWrapper) recipeWrapper; IndustrialSawmillRecipeWrapper recipe = (IndustrialSawmillRecipeWrapper) recipeWrapper;
RecipeUtil.setRecipeItems(recipeLayout, recipe, INPUT_SLOTS, OUTPUT_SLOTS, INPUT_TANKS, null); RecipeUtil.setRecipeItems(recipeLayout, recipe, INPUT_SLOTS, OUTPUT_SLOTS, INPUT_TANKS, null);
} }
} }
} }

View file

@ -1,41 +1,41 @@
package techreborn.compat.jei.industrialSawmill; package techreborn.compat.jei.industrialSawmill;
import mezz.jei.api.IJeiHelpers; import mezz.jei.api.IJeiHelpers;
import mezz.jei.api.recipe.IRecipeHandler; import mezz.jei.api.recipe.IRecipeHandler;
import mezz.jei.api.recipe.IRecipeWrapper; import mezz.jei.api.recipe.IRecipeWrapper;
import techreborn.api.recipe.machines.IndustrialSawmillRecipe; import techreborn.api.recipe.machines.IndustrialSawmillRecipe;
import techreborn.compat.jei.RecipeCategoryUids; import techreborn.compat.jei.RecipeCategoryUids;
import javax.annotation.Nonnull; import javax.annotation.Nonnull;
public class IndustrialSawmillRecipeHandler implements IRecipeHandler<IndustrialSawmillRecipe> { public class IndustrialSawmillRecipeHandler implements IRecipeHandler<IndustrialSawmillRecipe> {
@Nonnull @Nonnull
private final IJeiHelpers jeiHelpers; private final IJeiHelpers jeiHelpers;
public IndustrialSawmillRecipeHandler(@Nonnull IJeiHelpers jeiHelpers) { public IndustrialSawmillRecipeHandler(@Nonnull IJeiHelpers jeiHelpers) {
this.jeiHelpers = jeiHelpers; this.jeiHelpers = jeiHelpers;
} }
@Nonnull @Nonnull
@Override @Override
public Class<IndustrialSawmillRecipe> getRecipeClass() { public Class<IndustrialSawmillRecipe> getRecipeClass() {
return IndustrialSawmillRecipe.class; return IndustrialSawmillRecipe.class;
} }
@Nonnull @Nonnull
@Override @Override
public String getRecipeCategoryUid() { public String getRecipeCategoryUid() {
return RecipeCategoryUids.INDUSTRIAL_SAWMILL; return RecipeCategoryUids.INDUSTRIAL_SAWMILL;
} }
@Nonnull @Nonnull
@Override @Override
public IRecipeWrapper getRecipeWrapper(@Nonnull IndustrialSawmillRecipe recipe) { public IRecipeWrapper getRecipeWrapper(@Nonnull IndustrialSawmillRecipe recipe) {
return new IndustrialSawmillRecipeWrapper(jeiHelpers, recipe); return new IndustrialSawmillRecipeWrapper(jeiHelpers, recipe);
} }
@Override @Override
public boolean isRecipeValid(@Nonnull IndustrialSawmillRecipe recipe) { public boolean isRecipeValid(@Nonnull IndustrialSawmillRecipe recipe) {
return true; return true;
} }
} }

View file

@ -1,44 +1,44 @@
package techreborn.compat.jei.industrialSawmill; package techreborn.compat.jei.industrialSawmill;
import mezz.jei.api.IGuiHelper; import mezz.jei.api.IGuiHelper;
import mezz.jei.api.IJeiHelpers; import mezz.jei.api.IJeiHelpers;
import mezz.jei.api.gui.IDrawableAnimated; import mezz.jei.api.gui.IDrawableAnimated;
import mezz.jei.api.gui.IDrawableStatic; import mezz.jei.api.gui.IDrawableStatic;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.fluids.FluidStack;
import techreborn.api.recipe.machines.IndustrialSawmillRecipe; import techreborn.api.recipe.machines.IndustrialSawmillRecipe;
import techreborn.client.gui.GuiIndustrialSawmill; import techreborn.client.gui.GuiIndustrialSawmill;
import techreborn.compat.jei.BaseRecipeWrapper; import techreborn.compat.jei.BaseRecipeWrapper;
import javax.annotation.Nonnull; import javax.annotation.Nonnull;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
public class IndustrialSawmillRecipeWrapper extends BaseRecipeWrapper<IndustrialSawmillRecipe> { public class IndustrialSawmillRecipeWrapper extends BaseRecipeWrapper<IndustrialSawmillRecipe> {
private final IDrawableAnimated progress; private final IDrawableAnimated progress;
public IndustrialSawmillRecipeWrapper(@Nonnull IJeiHelpers jeiHelpers, @Nonnull IndustrialSawmillRecipe baseRecipe) { public IndustrialSawmillRecipeWrapper(@Nonnull IJeiHelpers jeiHelpers, @Nonnull IndustrialSawmillRecipe baseRecipe) {
super(baseRecipe); super(baseRecipe);
IGuiHelper guiHelper = jeiHelpers.getGuiHelper(); IGuiHelper guiHelper = jeiHelpers.getGuiHelper();
IDrawableStatic progressStatic = guiHelper.createDrawable(GuiIndustrialSawmill.texture, 176, 14, 20, 12); IDrawableStatic progressStatic = guiHelper.createDrawable(GuiIndustrialSawmill.texture, 176, 14, 20, 12);
int ticksPerCycle = baseRecipe.tickTime(); int ticksPerCycle = baseRecipe.tickTime();
this.progress = guiHelper.createAnimatedDrawable(progressStatic, ticksPerCycle, IDrawableAnimated.StartDirection.LEFT, false); this.progress = guiHelper.createAnimatedDrawable(progressStatic, ticksPerCycle, IDrawableAnimated.StartDirection.LEFT, false);
} }
@Override @Override
@Nonnull @Nonnull
public List<FluidStack> getFluidInputs() { public List<FluidStack> getFluidInputs() {
if (baseRecipe.fluidStack != null) { if (baseRecipe.fluidStack != null) {
return Collections.singletonList(baseRecipe.fluidStack); return Collections.singletonList(baseRecipe.fluidStack);
} else { } else {
return Collections.emptyList(); return Collections.emptyList();
} }
} }
@Override @Override
public void drawAnimations(@Nonnull Minecraft minecraft, int recipeWidth, int recipeHeight) { public void drawAnimations(@Nonnull Minecraft minecraft, int recipeWidth, int recipeHeight) {
super.drawAnimations(minecraft, recipeWidth, recipeHeight); super.drawAnimations(minecraft, recipeWidth, recipeHeight);
progress.draw(minecraft, 49, 23); progress.draw(minecraft, 49, 23);
} }
} }

View file

@ -1,79 +1,79 @@
package techreborn.compat.jei.rollingMachine; package techreborn.compat.jei.rollingMachine;
import mezz.jei.api.IGuiHelper; import mezz.jei.api.IGuiHelper;
import mezz.jei.api.gui.ICraftingGridHelper; import mezz.jei.api.gui.ICraftingGridHelper;
import mezz.jei.api.gui.IDrawable; import mezz.jei.api.gui.IDrawable;
import mezz.jei.api.gui.IDrawableAnimated; import mezz.jei.api.gui.IDrawableAnimated;
import mezz.jei.api.gui.IDrawableStatic; import mezz.jei.api.gui.IDrawableStatic;
import mezz.jei.api.gui.IGuiItemStackGroup; import mezz.jei.api.gui.IGuiItemStackGroup;
import mezz.jei.api.gui.IRecipeLayout; import mezz.jei.api.gui.IRecipeLayout;
import mezz.jei.api.recipe.BlankRecipeCategory; import mezz.jei.api.recipe.BlankRecipeCategory;
import mezz.jei.api.recipe.IRecipeWrapper; import mezz.jei.api.recipe.IRecipeWrapper;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import net.minecraft.util.StatCollector; import net.minecraft.util.StatCollector;
import techreborn.client.gui.GuiRollingMachine; import techreborn.client.gui.GuiRollingMachine;
import techreborn.compat.jei.RecipeCategoryUids; import techreborn.compat.jei.RecipeCategoryUids;
import javax.annotation.Nonnull; import javax.annotation.Nonnull;
public class RollingMachineRecipeCategory extends BlankRecipeCategory { public class RollingMachineRecipeCategory extends BlankRecipeCategory {
private static final int[] INPUT_SLOTS = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}; private static final int[] INPUT_SLOTS = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
private static final int[] OUTPUT_SLOTS = {10}; private static final int[] OUTPUT_SLOTS = {10};
private final IDrawable background; private final IDrawable background;
private final IDrawableAnimated progress; private final IDrawableAnimated progress;
private final ICraftingGridHelper craftingGridHelper; private final ICraftingGridHelper craftingGridHelper;
private final String title; private final String title;
public RollingMachineRecipeCategory(IGuiHelper guiHelper) { public RollingMachineRecipeCategory(IGuiHelper guiHelper) {
background = guiHelper.createDrawable(GuiRollingMachine.texture, 29, 16, 116, 54); background = guiHelper.createDrawable(GuiRollingMachine.texture, 29, 16, 116, 54);
title = StatCollector.translateToLocal("tile.techreborn.rollingmachine.name"); title = StatCollector.translateToLocal("tile.techreborn.rollingmachine.name");
IDrawableStatic progressStatic = guiHelper.createDrawable(GuiRollingMachine.texture, 176, 14, 20, 18); IDrawableStatic progressStatic = guiHelper.createDrawable(GuiRollingMachine.texture, 176, 14, 20, 18);
progress = guiHelper.createAnimatedDrawable(progressStatic, 250, IDrawableAnimated.StartDirection.LEFT, false); progress = guiHelper.createAnimatedDrawable(progressStatic, 250, IDrawableAnimated.StartDirection.LEFT, false);
craftingGridHelper = guiHelper.createCraftingGridHelper(INPUT_SLOTS[0], OUTPUT_SLOTS[0]); craftingGridHelper = guiHelper.createCraftingGridHelper(INPUT_SLOTS[0], OUTPUT_SLOTS[0]);
} }
@Nonnull @Nonnull
@Override @Override
public String getUid() { public String getUid() {
return RecipeCategoryUids.ROLLING_MACHINE; return RecipeCategoryUids.ROLLING_MACHINE;
} }
@Nonnull @Nonnull
@Override @Override
public String getTitle() { public String getTitle() {
return title; return title;
} }
@Nonnull @Nonnull
@Override @Override
public IDrawable getBackground() { public IDrawable getBackground() {
return background; return background;
} }
@Override @Override
public void drawAnimations(@Nonnull Minecraft minecraft) { public void drawAnimations(@Nonnull Minecraft minecraft) {
progress.draw(minecraft, 62, 18); progress.draw(minecraft, 62, 18);
} }
@Override @Override
public void setRecipe(@Nonnull IRecipeLayout recipeLayout, @Nonnull IRecipeWrapper recipeWrapper) { public void setRecipe(@Nonnull IRecipeLayout recipeLayout, @Nonnull IRecipeWrapper recipeWrapper) {
IGuiItemStackGroup guiItemStacks = recipeLayout.getItemStacks(); IGuiItemStackGroup guiItemStacks = recipeLayout.getItemStacks();
for (int l = 0; l < 3; l++) { for (int l = 0; l < 3; l++) {
for (int k1 = 0; k1 < 3; k1++) { for (int k1 = 0; k1 < 3; k1++) {
int i = k1 + l * 3; int i = k1 + l * 3;
guiItemStacks.init(INPUT_SLOTS[i], true, k1 * 18, l * 18); guiItemStacks.init(INPUT_SLOTS[i], true, k1 * 18, l * 18);
} }
} }
guiItemStacks.init(OUTPUT_SLOTS[0], false, 94, 18); guiItemStacks.init(OUTPUT_SLOTS[0], false, 94, 18);
if (recipeWrapper instanceof RollingMachineRecipeWrapper) { if (recipeWrapper instanceof RollingMachineRecipeWrapper) {
RollingMachineRecipeWrapper recipe = (RollingMachineRecipeWrapper) recipeWrapper; RollingMachineRecipeWrapper recipe = (RollingMachineRecipeWrapper) recipeWrapper;
craftingGridHelper.setInput(guiItemStacks, recipe.getInputs()); craftingGridHelper.setInput(guiItemStacks, recipe.getInputs());
craftingGridHelper.setOutput(guiItemStacks, recipe.getOutputs()); craftingGridHelper.setOutput(guiItemStacks, recipe.getOutputs());
} }
} }
} }

View file

@ -1,32 +1,32 @@
package techreborn.compat.jei.rollingMachine; package techreborn.compat.jei.rollingMachine;
import mezz.jei.api.recipe.IRecipeHandler; import mezz.jei.api.recipe.IRecipeHandler;
import mezz.jei.api.recipe.IRecipeWrapper; import mezz.jei.api.recipe.IRecipeWrapper;
import techreborn.compat.jei.RecipeCategoryUids; import techreborn.compat.jei.RecipeCategoryUids;
import javax.annotation.Nonnull; import javax.annotation.Nonnull;
public class RollingMachineRecipeHandler implements IRecipeHandler<RollingMachineRecipeWrapper> { public class RollingMachineRecipeHandler implements IRecipeHandler<RollingMachineRecipeWrapper> {
@Nonnull @Nonnull
@Override @Override
public Class<RollingMachineRecipeWrapper> getRecipeClass() { public Class<RollingMachineRecipeWrapper> getRecipeClass() {
return RollingMachineRecipeWrapper.class; return RollingMachineRecipeWrapper.class;
} }
@Nonnull @Nonnull
@Override @Override
public String getRecipeCategoryUid() { public String getRecipeCategoryUid() {
return RecipeCategoryUids.ROLLING_MACHINE; return RecipeCategoryUids.ROLLING_MACHINE;
} }
@Nonnull @Nonnull
@Override @Override
public IRecipeWrapper getRecipeWrapper(@Nonnull RollingMachineRecipeWrapper recipe) { public IRecipeWrapper getRecipeWrapper(@Nonnull RollingMachineRecipeWrapper recipe) {
return recipe; return recipe;
} }
@Override @Override
public boolean isRecipeValid(@Nonnull RollingMachineRecipeWrapper recipe) { public boolean isRecipeValid(@Nonnull RollingMachineRecipeWrapper recipe) {
return true; return true;
} }
} }

View file

@ -1,24 +1,24 @@
package techreborn.compat.jei.rollingMachine; package techreborn.compat.jei.rollingMachine;
import net.minecraft.item.crafting.IRecipe; import net.minecraft.item.crafting.IRecipe;
import techreborn.api.RollingMachineRecipe; import techreborn.api.RollingMachineRecipe;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
public class RollingMachineRecipeMaker { public class RollingMachineRecipeMaker {
private RollingMachineRecipeMaker() { private RollingMachineRecipeMaker() {
} }
public static List<Object> getRecipes() { public static List<Object> getRecipes() {
List<Object> recipes = new ArrayList<>(); List<Object> recipes = new ArrayList<>();
for (IRecipe recipe : RollingMachineRecipe.instance.getRecipeList()) { for (IRecipe recipe : RollingMachineRecipe.instance.getRecipeList()) {
RollingMachineRecipeWrapper recipeWrapper = RollingMachineRecipeWrapper.create(recipe); RollingMachineRecipeWrapper recipeWrapper = RollingMachineRecipeWrapper.create(recipe);
if (recipeWrapper != null) { if (recipeWrapper != null) {
recipes.add(recipeWrapper); recipes.add(recipeWrapper);
} }
} }
return recipes; return recipes;
} }
} }

View file

@ -1,56 +1,56 @@
package techreborn.compat.jei.rollingMachine; package techreborn.compat.jei.rollingMachine;
import mezz.jei.api.recipe.BlankRecipeWrapper; import mezz.jei.api.recipe.BlankRecipeWrapper;
import mezz.jei.api.recipe.wrapper.ICraftingRecipeWrapper; import mezz.jei.api.recipe.wrapper.ICraftingRecipeWrapper;
import mezz.jei.plugins.vanilla.crafting.ShapedOreRecipeWrapper; import mezz.jei.plugins.vanilla.crafting.ShapedOreRecipeWrapper;
import mezz.jei.plugins.vanilla.crafting.ShapedRecipesWrapper; import mezz.jei.plugins.vanilla.crafting.ShapedRecipesWrapper;
import mezz.jei.plugins.vanilla.crafting.ShapelessOreRecipeWrapper; import mezz.jei.plugins.vanilla.crafting.ShapelessOreRecipeWrapper;
import mezz.jei.plugins.vanilla.crafting.ShapelessRecipesWrapper; import mezz.jei.plugins.vanilla.crafting.ShapelessRecipesWrapper;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.item.crafting.IRecipe; import net.minecraft.item.crafting.IRecipe;
import net.minecraft.item.crafting.ShapedRecipes; import net.minecraft.item.crafting.ShapedRecipes;
import net.minecraft.item.crafting.ShapelessRecipes; import net.minecraft.item.crafting.ShapelessRecipes;
import net.minecraftforge.oredict.ShapedOreRecipe; import net.minecraftforge.oredict.ShapedOreRecipe;
import net.minecraftforge.oredict.ShapelessOreRecipe; import net.minecraftforge.oredict.ShapelessOreRecipe;
import javax.annotation.Nonnull; import javax.annotation.Nonnull;
import javax.annotation.Nullable; import javax.annotation.Nullable;
import java.util.List; import java.util.List;
public class RollingMachineRecipeWrapper extends BlankRecipeWrapper implements ICraftingRecipeWrapper { public class RollingMachineRecipeWrapper extends BlankRecipeWrapper implements ICraftingRecipeWrapper {
private final ICraftingRecipeWrapper baseRecipe; private final ICraftingRecipeWrapper baseRecipe;
@Nullable @Nullable
public static RollingMachineRecipeWrapper create(IRecipe baseRecipe) { public static RollingMachineRecipeWrapper create(IRecipe baseRecipe) {
ICraftingRecipeWrapper recipeWrapper; ICraftingRecipeWrapper recipeWrapper;
if (baseRecipe instanceof ShapelessRecipes) { if (baseRecipe instanceof ShapelessRecipes) {
recipeWrapper = new ShapelessRecipesWrapper((ShapelessRecipes) baseRecipe); recipeWrapper = new ShapelessRecipesWrapper((ShapelessRecipes) baseRecipe);
} else if (baseRecipe instanceof ShapedRecipes) { } else if (baseRecipe instanceof ShapedRecipes) {
recipeWrapper = new ShapedRecipesWrapper((ShapedRecipes) baseRecipe); recipeWrapper = new ShapedRecipesWrapper((ShapedRecipes) baseRecipe);
} else if (baseRecipe instanceof ShapedOreRecipe) { } else if (baseRecipe instanceof ShapedOreRecipe) {
recipeWrapper = new ShapedOreRecipeWrapper((ShapedOreRecipe) baseRecipe); recipeWrapper = new ShapedOreRecipeWrapper((ShapedOreRecipe) baseRecipe);
} else if (baseRecipe instanceof ShapelessOreRecipe) { } else if (baseRecipe instanceof ShapelessOreRecipe) {
recipeWrapper = new ShapelessOreRecipeWrapper((ShapelessOreRecipe) baseRecipe); recipeWrapper = new ShapelessOreRecipeWrapper((ShapelessOreRecipe) baseRecipe);
} else { } else {
return null; return null;
} }
return new RollingMachineRecipeWrapper(recipeWrapper); return new RollingMachineRecipeWrapper(recipeWrapper);
} }
public RollingMachineRecipeWrapper(ICraftingRecipeWrapper baseRecipe) { public RollingMachineRecipeWrapper(ICraftingRecipeWrapper baseRecipe) {
this.baseRecipe = baseRecipe; this.baseRecipe = baseRecipe;
} }
@Override @Override
@Nonnull @Nonnull
public List getInputs() { public List getInputs() {
return baseRecipe.getInputs(); return baseRecipe.getInputs();
} }
@Override @Override
@Nonnull @Nonnull
public List<ItemStack> getOutputs() { public List<ItemStack> getOutputs() {
return baseRecipe.getOutputs(); return baseRecipe.getOutputs();
} }
} }

View file

@ -1,58 +1,58 @@
package techreborn.compat.jei.vacuumFreezer; package techreborn.compat.jei.vacuumFreezer;
import mezz.jei.api.IGuiHelper; import mezz.jei.api.IGuiHelper;
import mezz.jei.api.gui.IDrawable; import mezz.jei.api.gui.IDrawable;
import mezz.jei.api.gui.IGuiItemStackGroup; import mezz.jei.api.gui.IGuiItemStackGroup;
import mezz.jei.api.gui.IRecipeLayout; import mezz.jei.api.gui.IRecipeLayout;
import mezz.jei.api.recipe.BlankRecipeCategory; import mezz.jei.api.recipe.BlankRecipeCategory;
import mezz.jei.api.recipe.IRecipeWrapper; import mezz.jei.api.recipe.IRecipeWrapper;
import net.minecraft.util.StatCollector; import net.minecraft.util.StatCollector;
import techreborn.client.gui.GuiVacuumFreezer; import techreborn.client.gui.GuiVacuumFreezer;
import techreborn.compat.jei.RecipeCategoryUids; import techreborn.compat.jei.RecipeCategoryUids;
import techreborn.compat.jei.RecipeUtil; import techreborn.compat.jei.RecipeUtil;
import javax.annotation.Nonnull; import javax.annotation.Nonnull;
public class VacuumFreezerRecipeCategory extends BlankRecipeCategory { public class VacuumFreezerRecipeCategory extends BlankRecipeCategory {
private static final int[] INPUT_SLOTS = {0}; private static final int[] INPUT_SLOTS = {0};
private static final int[] OUTPUT_SLOTS = {1}; private static final int[] OUTPUT_SLOTS = {1};
private final IDrawable background; private final IDrawable background;
private final String title; private final String title;
public VacuumFreezerRecipeCategory(IGuiHelper guiHelper) { public VacuumFreezerRecipeCategory(IGuiHelper guiHelper) {
background = guiHelper.createDrawable(GuiVacuumFreezer.texture, 55, 30, 82, 26); background = guiHelper.createDrawable(GuiVacuumFreezer.texture, 55, 30, 82, 26);
title = StatCollector.translateToLocal("tile.techreborn.vacuumfreezer.name"); title = StatCollector.translateToLocal("tile.techreborn.vacuumfreezer.name");
} }
@Nonnull @Nonnull
@Override @Override
public String getUid() { public String getUid() {
return RecipeCategoryUids.VACUUM_FREEZER; return RecipeCategoryUids.VACUUM_FREEZER;
} }
@Nonnull @Nonnull
@Override @Override
public String getTitle() { public String getTitle() {
return title; return title;
} }
@Nonnull @Nonnull
@Override @Override
public IDrawable getBackground() { public IDrawable getBackground() {
return background; return background;
} }
@Override @Override
public void setRecipe(@Nonnull IRecipeLayout recipeLayout, @Nonnull IRecipeWrapper recipeWrapper) { public void setRecipe(@Nonnull IRecipeLayout recipeLayout, @Nonnull IRecipeWrapper recipeWrapper) {
IGuiItemStackGroup guiItemStacks = recipeLayout.getItemStacks(); IGuiItemStackGroup guiItemStacks = recipeLayout.getItemStacks();
guiItemStacks.init(INPUT_SLOTS[0], true, 0, 3); guiItemStacks.init(INPUT_SLOTS[0], true, 0, 3);
guiItemStacks.init(OUTPUT_SLOTS[0], false, 60, 4); guiItemStacks.init(OUTPUT_SLOTS[0], false, 60, 4);
if (recipeWrapper instanceof VacuumFreezerRecipeWrapper) { if (recipeWrapper instanceof VacuumFreezerRecipeWrapper) {
VacuumFreezerRecipeWrapper recipe = (VacuumFreezerRecipeWrapper) recipeWrapper; VacuumFreezerRecipeWrapper recipe = (VacuumFreezerRecipeWrapper) recipeWrapper;
RecipeUtil.setRecipeItems(recipeLayout, recipe, INPUT_SLOTS, OUTPUT_SLOTS, null, null); RecipeUtil.setRecipeItems(recipeLayout, recipe, INPUT_SLOTS, OUTPUT_SLOTS, null, null);
} }
} }
} }

View file

@ -1,41 +1,41 @@
package techreborn.compat.jei.vacuumFreezer; package techreborn.compat.jei.vacuumFreezer;
import mezz.jei.api.IJeiHelpers; import mezz.jei.api.IJeiHelpers;
import mezz.jei.api.recipe.IRecipeHandler; import mezz.jei.api.recipe.IRecipeHandler;
import mezz.jei.api.recipe.IRecipeWrapper; import mezz.jei.api.recipe.IRecipeWrapper;
import techreborn.api.recipe.machines.VacuumFreezerRecipe; import techreborn.api.recipe.machines.VacuumFreezerRecipe;
import techreborn.compat.jei.RecipeCategoryUids; import techreborn.compat.jei.RecipeCategoryUids;
import javax.annotation.Nonnull; import javax.annotation.Nonnull;
public class VacuumFreezerRecipeHandler implements IRecipeHandler<VacuumFreezerRecipe> { public class VacuumFreezerRecipeHandler implements IRecipeHandler<VacuumFreezerRecipe> {
@Nonnull @Nonnull
private final IJeiHelpers jeiHelpers; private final IJeiHelpers jeiHelpers;
public VacuumFreezerRecipeHandler(@Nonnull IJeiHelpers jeiHelpers) { public VacuumFreezerRecipeHandler(@Nonnull IJeiHelpers jeiHelpers) {
this.jeiHelpers = jeiHelpers; this.jeiHelpers = jeiHelpers;
} }
@Nonnull @Nonnull
@Override @Override
public Class<VacuumFreezerRecipe> getRecipeClass() { public Class<VacuumFreezerRecipe> getRecipeClass() {
return VacuumFreezerRecipe.class; return VacuumFreezerRecipe.class;
} }
@Nonnull @Nonnull
@Override @Override
public String getRecipeCategoryUid() { public String getRecipeCategoryUid() {
return RecipeCategoryUids.VACUUM_FREEZER; return RecipeCategoryUids.VACUUM_FREEZER;
} }
@Nonnull @Nonnull
@Override @Override
public IRecipeWrapper getRecipeWrapper(@Nonnull VacuumFreezerRecipe recipe) { public IRecipeWrapper getRecipeWrapper(@Nonnull VacuumFreezerRecipe recipe) {
return new VacuumFreezerRecipeWrapper(jeiHelpers, recipe); return new VacuumFreezerRecipeWrapper(jeiHelpers, recipe);
} }
@Override @Override
public boolean isRecipeValid(@Nonnull VacuumFreezerRecipe recipe) { public boolean isRecipeValid(@Nonnull VacuumFreezerRecipe recipe) {
return true; return true;
} }
} }

View file

@ -1,31 +1,31 @@
package techreborn.compat.jei.vacuumFreezer; package techreborn.compat.jei.vacuumFreezer;
import mezz.jei.api.IGuiHelper; import mezz.jei.api.IGuiHelper;
import mezz.jei.api.IJeiHelpers; import mezz.jei.api.IJeiHelpers;
import mezz.jei.api.gui.IDrawableAnimated; import mezz.jei.api.gui.IDrawableAnimated;
import mezz.jei.api.gui.IDrawableStatic; import mezz.jei.api.gui.IDrawableStatic;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import techreborn.api.recipe.machines.VacuumFreezerRecipe; import techreborn.api.recipe.machines.VacuumFreezerRecipe;
import techreborn.client.gui.GuiVacuumFreezer; import techreborn.client.gui.GuiVacuumFreezer;
import techreborn.compat.jei.BaseRecipeWrapper; import techreborn.compat.jei.BaseRecipeWrapper;
import javax.annotation.Nonnull; import javax.annotation.Nonnull;
public class VacuumFreezerRecipeWrapper extends BaseRecipeWrapper<VacuumFreezerRecipe> { public class VacuumFreezerRecipeWrapper extends BaseRecipeWrapper<VacuumFreezerRecipe> {
private final IDrawableAnimated progress; private final IDrawableAnimated progress;
public VacuumFreezerRecipeWrapper(@Nonnull IJeiHelpers jeiHelpers, @Nonnull VacuumFreezerRecipe baseRecipe) { public VacuumFreezerRecipeWrapper(@Nonnull IJeiHelpers jeiHelpers, @Nonnull VacuumFreezerRecipe baseRecipe) {
super(baseRecipe); super(baseRecipe);
IGuiHelper guiHelper = jeiHelpers.getGuiHelper(); IGuiHelper guiHelper = jeiHelpers.getGuiHelper();
IDrawableStatic progressStatic = guiHelper.createDrawable(GuiVacuumFreezer.texture, 176, 14, 20, 11); IDrawableStatic progressStatic = guiHelper.createDrawable(GuiVacuumFreezer.texture, 176, 14, 20, 11);
int ticksPerCycle = baseRecipe.tickTime(); int ticksPerCycle = baseRecipe.tickTime();
this.progress = guiHelper.createAnimatedDrawable(progressStatic, ticksPerCycle, IDrawableAnimated.StartDirection.LEFT, false); this.progress = guiHelper.createAnimatedDrawable(progressStatic, ticksPerCycle, IDrawableAnimated.StartDirection.LEFT, false);
} }
@Override @Override
public void drawAnimations(@Nonnull Minecraft minecraft, int recipeWidth, int recipeHeight) { public void drawAnimations(@Nonnull Minecraft minecraft, int recipeWidth, int recipeHeight) {
super.drawAnimations(minecraft, recipeWidth, recipeHeight); super.drawAnimations(minecraft, recipeWidth, recipeHeight);
progress.draw(minecraft, 25, 7); progress.draw(minecraft, 25, 7);
} }
} }

View file

@ -8,6 +8,10 @@ buildscript {
maven { maven {
name = "sonatype" name = "sonatype"
url = "https://oss.sonatype.org/content/repositories/snapshots/" url = "https://oss.sonatype.org/content/repositories/snapshots/"
}
maven {
name = "modmuss50"
url = "http://maven.modmuss50.me/"
} }
} }
dependencies { dependencies {
@ -80,8 +84,8 @@ if (ENV.BUILD_NUMBER) {
} }
minecraft { minecraft {
version = "1.8.9-11.15.1.1722" version = "1.9-12.16.0.0-1.9"
mappings = 'snapshot_20151230' mappings = "snapshot_20160312
replace "@MODVERSION@", project.version replace "@MODVERSION@", project.version
makeObfSourceJar = false makeObfSourceJar = false
useDepAts = true useDepAts = true

View file

@ -19,7 +19,7 @@ public class BlockFusionCoil extends BlockMachineBase {
private final String prefix = "techreborn:blocks/machine/"; private final String prefix = "techreborn:blocks/machine/";
@Override @Override
public String getTextureNameFromState(IBlockState blockState, EnumFacing facing) { public String getTextureNameFromState(IBlockState BlockStateContainer, EnumFacing facing) {
return prefix + "fusion_coil"; return prefix + "fusion_coil";
} }
} }

View file

@ -4,7 +4,7 @@ import net.minecraft.block.material.Material;
import net.minecraft.entity.Entity; import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.BlockPos; import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World; import net.minecraft.world.World;
import reborncore.common.blocks.BlockMachineBase; import reborncore.common.blocks.BlockMachineBase;
import reborncore.common.blocks.IAdvancedRotationTexture; import reborncore.common.blocks.IAdvancedRotationTexture;

View file

@ -18,7 +18,7 @@ public class BlockHighlyAdvancedMachine extends BlockMachineBase {
@Override @Override
public String getTextureNameFromState(IBlockState blockState, EnumFacing facing) { public String getTextureNameFromState(IBlockState BlockStateContainer, EnumFacing facing) {
return prefix + "highlyadvancedmachine"; return prefix + "highlyadvancedmachine";
} }

View file

@ -4,7 +4,7 @@ import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.BlockPos; import net.minecraft.util.math.BlockPos;
import net.minecraft.util.EnumFacing; import net.minecraft.util.EnumFacing;
import net.minecraft.util.EnumParticleTypes; import net.minecraft.util.EnumParticleTypes;
import net.minecraft.world.IBlockAccess; import net.minecraft.world.IBlockAccess;

View file

@ -4,13 +4,13 @@ import me.modmuss50.jsonDestroyer.api.ITexturedBlock;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.block.properties.PropertyInteger; import net.minecraft.block.properties.PropertyInteger;
import net.minecraft.block.state.BlockState; import net.minecraft.block.state.BlockStateContainer;
import net.minecraft.block.state.IBlockState; import net.minecraft.block.state.IBlockState;
import net.minecraft.creativetab.CreativeTabs; import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item; import net.minecraft.item.Item;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.BlockPos; import net.minecraft.util.math.BlockPos;
import net.minecraft.util.EnumFacing; import net.minecraft.util.EnumFacing;
import net.minecraft.world.IBlockAccess; import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World; import net.minecraft.world.World;
@ -33,7 +33,7 @@ public class BlockMachineCasing extends BlockMultiblockBase implements ITextured
setCreativeTab(TechRebornCreativeTab.instance); setCreativeTab(TechRebornCreativeTab.instance);
setUnlocalizedName("techreborn.machineCasing"); setUnlocalizedName("techreborn.machineCasing");
setHardness(2F); setHardness(2F);
this.setDefaultState(this.blockState.getBaseState().withProperty(METADATA, 0)); this.setDefaultState(this.getDefaultState().withProperty(METADATA, 0));
} }
public PropertyInteger METADATA; public PropertyInteger METADATA;
@ -48,10 +48,10 @@ public class BlockMachineCasing extends BlockMultiblockBase implements ITextured
return (Integer) state.getValue(METADATA); return (Integer) state.getValue(METADATA);
} }
protected BlockState createBlockState() { protected BlockStateContainer createBlockStateContainer() {
METADATA = PropertyInteger.create("Type", 0, types.length); METADATA = PropertyInteger.create("Type", 0, types.length);
return new BlockState(this, METADATA); return new BlockStateContainer(this, METADATA);
} }
public int getHeatFromState(IBlockState state) { public int getHeatFromState(IBlockState state) {
@ -90,9 +90,9 @@ public class BlockMachineCasing extends BlockMultiblockBase implements ITextured
} }
@Override @Override
public boolean shouldSideBeRendered(IBlockAccess worldIn, BlockPos pos, EnumFacing side) { public boolean shouldSideBeRendered(IBlockState blockState, IBlockAccess worldIn, BlockPos pos, EnumFacing side) {
Block b = worldIn.getBlockState(pos).getBlock(); Block b = worldIn.getBlockState(pos).getBlock();
return b == (Block) this ? false : super.shouldSideBeRendered(worldIn, pos, side); return b == (Block) this ? false : super.shouldSideBeRendered(blockState, worldIn, pos, side);
} }
public boolean shouldConnectToBlock(IBlockAccess blockAccess, int x, int y, int z, Block block, int meta) { public boolean shouldConnectToBlock(IBlockAccess blockAccess, int x, int y, int z, Block block, int meta) {
@ -100,8 +100,8 @@ public class BlockMachineCasing extends BlockMultiblockBase implements ITextured
} }
@Override @Override
public String getTextureNameFromState(IBlockState blockState, EnumFacing facing) { public String getTextureNameFromState(IBlockState BlockStateContainer, EnumFacing facing) {
return "techreborn:blocks/machine/casing" + types[getMetaFromState(blockState)] + "_full"; return "techreborn:blocks/machine/casing" + types[getMetaFromState(BlockStateContainer)] + "_full";
} }
@Override @Override

View file

@ -3,7 +3,7 @@ package techreborn.blocks;
import me.modmuss50.jsonDestroyer.api.ITexturedBlock; import me.modmuss50.jsonDestroyer.api.ITexturedBlock;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.block.properties.PropertyInteger; import net.minecraft.block.properties.PropertyInteger;
import net.minecraft.block.state.BlockState; import net.minecraft.block.state.BlockStateContainer;
import net.minecraft.block.state.IBlockState; import net.minecraft.block.state.IBlockState;
import net.minecraft.creativetab.CreativeTabs; import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item; import net.minecraft.item.Item;
@ -39,7 +39,7 @@ public class BlockMachineFrame extends BaseBlock implements ITexturedBlock {
setUnlocalizedName("techreborn.machineFrame"); setUnlocalizedName("techreborn.machineFrame");
setCreativeTab(TechRebornCreativeTab.instance); setCreativeTab(TechRebornCreativeTab.instance);
setHardness(1f); setHardness(1f);
this.setDefaultState(this.blockState.getBaseState().withProperty(METADATA, 0)); this.setDefaultState(this.getDefaultState().withProperty(METADATA, 0));
} }
@Override @Override
@ -57,8 +57,8 @@ public class BlockMachineFrame extends BaseBlock implements ITexturedBlock {
} }
@Override @Override
public String getTextureNameFromState(IBlockState blockState, EnumFacing facing) { public String getTextureNameFromState(IBlockState BlockStateContainer, EnumFacing facing) {
return "techreborn:blocks/machine/" + types[getMetaFromState(blockState)] + "_machine_block"; return "techreborn:blocks/machine/" + types[getMetaFromState(BlockStateContainer)] + "_machine_block";
} }
@Override @Override
@ -71,10 +71,10 @@ public class BlockMachineFrame extends BaseBlock implements ITexturedBlock {
return state.getValue(METADATA); return state.getValue(METADATA);
} }
protected BlockState createBlockState() { protected BlockStateContainer createBlockStateContainer() {
METADATA = PropertyInteger.create("Type", 0, types.length -1); METADATA = PropertyInteger.create("Type", 0, types.length -1);
return new BlockState(this, METADATA); return new BlockStateContainer(this, METADATA);
} }
@Override @Override

Some files were not shown because too many files have changed in this diff Show more