updated JEI, and improved support

This commit is contained in:
modmuss50 2015-12-05 22:48:11 +00:00
parent 5cf116d8a4
commit ba90e49822
7 changed files with 48 additions and 46 deletions

View file

@ -109,7 +109,7 @@ dependencies {
// deobfCompile name: "MineTweaker3", version: "1.8-3.0.10B", classifier: "Dev"
// shade 'IC2-Classic-API-STANDALONE:IC2-Classic-API-STANDALONE:1.1.0.19-5:api'
compile 'RebornCore:RebornCore-1.8.8:1.1.0.+:dev'
deobfCompile "mezz.jei:jei_1.8.8:2.0.5.6"
deobfCompile "mezz.jei:jei_1.8.8:2.3.0.18"
testCompile 'junit:junit:4.12'
}

View file

@ -14,18 +14,18 @@ public class CompatManager {
public static boolean isIC2Loaded = false;
public static boolean isIC2ClassicLoaded = false;
public static boolean isClassicEnet = false;
public static boolean isGregTechLoaded = false;
public static boolean isGregTechLoaded = false;
public CompatManager() {
isIC2Loaded = Loader.isModLoaded("IC2");
isIC2ClassicLoaded = false;
if(isIC2ClassicLoaded){
if (isIC2ClassicLoaded) {
isClassicEnet = true;
}
if(Loader.isModLoaded("Uncomplication")){
if (Loader.isModLoaded("Uncomplication")) {
isClassicEnet = true;
}
if(Loader.isModLoaded("gregtech")){
if (Loader.isModLoaded("gregtech")) {
isGregTechLoaded = true;
}
registerCompact(JEIPlugin.class, "JEI");

View file

@ -1,6 +1,5 @@
package techreborn.compat.jei;
import mezz.jei.api.JEIManager;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
@ -10,7 +9,7 @@ import techreborn.compat.ICompatModule;
public class JEIPlugin implements ICompatModule {
@Override
public void preInit(FMLPreInitializationEvent event) {
JEIManager.pluginRegistry.registerPlugin(new TechRebornPlugin());
}
@Override

View file

@ -1,20 +1,18 @@
package techreborn.compat.jei;
import mezz.jei.api.IModPlugin;
import mezz.jei.api.recipe.IRecipeCategory;
import mezz.jei.api.recipe.IRecipeHandler;
import mezz.jei.api.IModRegistry;
import net.minecraftforge.fml.common.Loader;
import techreborn.api.reactor.FusionReactorRecipeHelper;
import techreborn.api.recipe.RecipeHandler;
import techreborn.compat.jei.fusionReactor.FusionReactorRecipeCategory;
import techreborn.compat.jei.fusionReactor.FusionReactorRecipeHandler;
import techreborn.lib.ModInfo;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
@mezz.jei.api.JEIPlugin
public class TechRebornPlugin implements IModPlugin {
@Override
public boolean isModLoaded() {
@ -22,23 +20,15 @@ public class TechRebornPlugin implements IModPlugin {
}
@Override
public Iterable<? extends IRecipeCategory> getRecipeCategories() {
return Arrays.asList(
public void register(IModRegistry registry) {
registry.addRecipeCategories(
new FusionReactorRecipeCategory()
);
}
@Override
public Iterable<? extends IRecipeHandler> getRecipeHandlers() {
return Arrays.asList(
registry.addRecipeHandlers(
new FusionReactorRecipeHandler()
);
}
@Override
public Iterable<Object> getRecipes() {
List<Object> recipes = new ArrayList<>();
recipes.addAll(FusionReactorRecipeHelper.reactorRecipes);
return recipes;
registry.addRecipes(recipes);
}
}

View file

@ -2,15 +2,14 @@ package techreborn.compat.jei.fusionReactor;
import mezz.jei.api.JEIManager;
import mezz.jei.api.gui.IDrawable;
import mezz.jei.api.gui.IGuiFluidTanks;
import mezz.jei.api.gui.IGuiItemStacks;
import mezz.jei.api.gui.IRecipeLayout;
import mezz.jei.api.recipe.IRecipeCategory;
import mezz.jei.api.recipe.IRecipeWrapper;
import net.minecraft.client.Minecraft;
import net.minecraft.item.ItemStack;
import techreborn.client.gui.GuiFusionReactor;
import javax.annotation.Nonnull;
import java.util.Collection;
public class FusionReactorRecipeCategory implements IRecipeCategory {
@ -22,13 +21,19 @@ public class FusionReactorRecipeCategory implements IRecipeCategory {
private final IDrawable background;
public FusionReactorRecipeCategory() {
background = JEIManager.guiHelper.createDrawable(GuiFusionReactor.texture, 55, 16, 82, 54);
background = JEIManager.guiHelper.createDrawable(GuiFusionReactor.texture, 86, 16, 85, 64, 0, 40, 20, 20);
}
@Nonnull
@Override
public String getUid() {
return "FusionReactor";
}
@Nonnull
@Override
public String getTitle() {
return "Fustion Reactor";
return "Fusion Reactor";
}
@Nonnull
@ -38,18 +43,23 @@ public class FusionReactorRecipeCategory implements IRecipeCategory {
}
@Override
public void init(@Nonnull IGuiItemStacks guiItemStacks, @Nonnull IGuiFluidTanks guiFluidTanks) {
guiItemStacks.init(inputSlot1, 0, 0);
guiItemStacks.init(inputSlot2, 0, 25);
guiItemStacks.init(outputSlot, 60, 18);
public void drawExtras(Minecraft minecraft) {
}
@Override
public void setRecipe(@Nonnull IGuiItemStacks guiItemStacks, @Nonnull IGuiFluidTanks guiFluidTanks, @Nonnull IRecipeWrapper recipeWrapper) {
if(recipeWrapper instanceof FusionReactorRecipeWrapper){
guiItemStacks.set(inputSlot1, (ItemStack) recipeWrapper.getInputs().get(0));
guiItemStacks.set(inputSlot2, (ItemStack) recipeWrapper.getInputs().get(1));
guiItemStacks.set(outputSlot, recipeWrapper.getOutputs());
public void init(@Nonnull IRecipeLayout recipeLayout) {
recipeLayout.getItemStacks().init(inputSlot1, true, 21, 0);
recipeLayout.getItemStacks().init(inputSlot2, true, 21, 36);
recipeLayout.getItemStacks().init(outputSlot, false, 80, 18);
}
@Override
public void setRecipe(@Nonnull IRecipeLayout recipeLayout, @Nonnull IRecipeWrapper recipeWrapper) {
if (recipeWrapper instanceof FusionReactorRecipeWrapper) {
recipeLayout.getItemStacks().set(inputSlot1, (ItemStack) recipeWrapper.getInputs().get(0));
recipeLayout.getItemStacks().set(inputSlot2, (ItemStack) recipeWrapper.getInputs().get(1));
recipeLayout.getItemStacks().set(outputSlot, recipeWrapper.getOutputs());
}
}

View file

@ -1,6 +1,5 @@
package techreborn.compat.jei.fusionReactor;
import mezz.jei.api.recipe.IRecipeCategory;
import mezz.jei.api.recipe.IRecipeHandler;
import mezz.jei.api.recipe.IRecipeWrapper;
import techreborn.api.reactor.FusionReactorRecipe;
@ -18,8 +17,8 @@ public class FusionReactorRecipeHandler implements IRecipeHandler<FusionReactorR
@Nonnull
@Override
public Class<? extends IRecipeCategory> getRecipeCategoryClass() {
return FusionReactorRecipeCategory.class;
public String getRecipeCategoryUid() {
return "FusionReactor";
}
@Nonnull

View file

@ -8,7 +8,6 @@ import net.minecraft.item.ItemStack;
import net.minecraftforge.fluids.FluidStack;
import techreborn.api.reactor.FusionReactorRecipe;
import java.awt.*;
import java.text.DecimalFormat;
import java.text.DecimalFormatSymbols;
import java.text.NumberFormat;
@ -53,15 +52,20 @@ public class FusionReactorRecipeWrapper implements IRecipeWrapper {
@Override
public void drawInfo(Minecraft minecraft) {
FontRenderer fontRendererObj = minecraft.fontRendererObj;
// fontRendererObj.drawString(baseRecipe.getEuTick() + "", 69 - fontRendererObj.getStringWidth(baseRecipe.getEuTick() + "") / 2, 0, Color.gray.getRGB());
// fontRendererObj.drawString(baseRecipe.getEuTick() + "", 69 - fontRendererObj.getStringWidth(baseRecipe.getEuTick() + "") / 2, 0, Color.gray.getRGB());
DecimalFormat formatter = (DecimalFormat) NumberFormat.getInstance(Locale.US);
DecimalFormatSymbols symbols = formatter.getDecimalFormatSymbols();
symbols.setGroupingSeparator('.');
formatter.setDecimalFormatSymbols(symbols);
fontRendererObj.drawString("Start: " + formatter.format(baseRecipe.getStartEU()) + "EU", 16, 0, -1);
fontRendererObj.drawString("EU/t: " + baseRecipe.getEuTick() , 16, 10, -1);
fontRendererObj.drawString("Ticks to process: " + baseRecipe.getTickTime(), 14, 20, -1);
fontRendererObj.drawString("Time to process: " + baseRecipe.getTickTime() / 20 + " seconds", 14, 30, -1);
fontRendererObj.drawStringWithShadow("Start: " + formatter.format(baseRecipe.getStartEU()) + "EU", 0, 70, -1);
fontRendererObj.drawStringWithShadow("EU/t: " + baseRecipe.getEuTick(), 0, 80, -1);
fontRendererObj.drawStringWithShadow("Ticks to process: " + baseRecipe.getTickTime(), 0, 90, -1);
fontRendererObj.drawStringWithShadow("Time to process: " + baseRecipe.getTickTime() / 20 + " seconds", 0, 100, -1);
}
@Override
public boolean usesOreDictionaryComparison() {
return true;
}
}