some NEI handler stuff

This commit is contained in:
Boblet 2022-10-03 16:21:24 +02:00
parent 91d4160d66
commit dd7695e00b
3 changed files with 102 additions and 63 deletions

View File

@ -0,0 +1,62 @@
package com.hbm.handler.nei;
import org.lwjgl.opengl.GL11;
import com.hbm.lib.RefStrings;
import codechicken.nei.PositionedStack;
import codechicken.nei.guihook.GuiContainerManager;
import codechicken.nei.recipe.TemplateRecipeHandler;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.FontRenderer;
import net.minecraft.item.ItemStack;
public class ChunkyHandler extends TemplateRecipeHandler {
public class RecipeSet extends TemplateRecipeHandler.CachedRecipe {
ItemStack stack;
public RecipeSet(ItemStack stack) {
this.stack = stack.copy();
this.stack.stackSize = 1;
}
@Override
public PositionedStack getResult() {
return null;
}
}
@Override
public String getRecipeName() {
return "The same thing but in big";
}
@Override
public String getGuiTexture() {
return RefStrings.MODID + ":textures/gui/nei/gui_nei.png";
}
@Override
public void loadCraftingRecipes(ItemStack result) {
this.arecipes.add(new RecipeSet(result));
}
@Override
public void loadUsageRecipes(ItemStack ingredient) {
this.arecipes.add(new RecipeSet(ingredient));
}
@Override
public void drawExtras(int recipe) {
RecipeSet rec = (RecipeSet) this.arecipes.get(recipe);
GL11.glPushMatrix();
double scale = 10D;
GL11.glScaled(scale, scale, scale);
GuiContainerManager.drawItem(50, 50, rec.stack); //TODO: center properly
GL11.glPopMatrix();
FontRenderer fontRenderer = Minecraft.getMinecraft().fontRenderer;
fontRenderer.drawString("so you can really stare at it", 52, 100, 0x404040);
}
}

View File

@ -198,7 +198,7 @@ public class SILEXRecipeHandler extends TemplateRecipeHandler {
String am = ((int)(rec.produced * 10D) / 10D) + "x"; String am = ((int)(rec.produced * 10D) / 10D) + "x";
fontRenderer.drawString(am, 52 - fontRenderer.getStringWidth(am) / 2, 43, 0x404040); fontRenderer.drawString(am, 52 - fontRenderer.getStringWidth(am) / 2, 43, 0x404040);
String wavelength = (rec.crystalStrength == EnumWavelengths.NULL) ? EnumChatFormatting.WHITE+"N/A" : rec.crystalStrength.textColor + I18nUtil.resolveKey(rec.crystalStrength.name); String wavelength = (rec.crystalStrength == EnumWavelengths.NULL) ? EnumChatFormatting.WHITE + "N/A" : rec.crystalStrength.textColor + I18nUtil.resolveKey(rec.crystalStrength.name);
fontRenderer.drawString(wavelength, (33 - fontRenderer.getStringWidth(wavelength) / 2), 8, 0x404040); fontRenderer.drawString(wavelength, (33 - fontRenderer.getStringWidth(wavelength) / 2), 8, 0x404040);

View File

@ -14,6 +14,8 @@ import codechicken.nei.api.API;
import codechicken.nei.api.IConfigureNEI; import codechicken.nei.api.IConfigureNEI;
import codechicken.nei.api.IHighlightHandler; import codechicken.nei.api.IHighlightHandler;
import codechicken.nei.api.ItemInfo.Layout; import codechicken.nei.api.ItemInfo.Layout;
import codechicken.nei.recipe.ICraftingHandler;
import codechicken.nei.recipe.IUsageHandler;
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;
@ -24,72 +26,42 @@ public class NEIConfig implements IConfigureNEI {
@Override @Override
public void loadConfig() { public void loadConfig() {
API.registerRecipeHandler(new AlloyFurnaceRecipeHandler()); registerHandler(new AlloyFurnaceRecipeHandler());
API.registerUsageHandler(new AlloyFurnaceRecipeHandler()); registerHandler(new CentrifugeRecipeHandler());
API.registerRecipeHandler(new CentrifugeRecipeHandler()); registerHandler(new GasCentrifugeRecipeHandler());
API.registerUsageHandler(new CentrifugeRecipeHandler()); registerHandler(new BreederRecipeHandler());
API.registerRecipeHandler(new GasCentrifugeRecipeHandler()); registerHandler(new ShredderRecipeHandler());
API.registerUsageHandler(new GasCentrifugeRecipeHandler()); registerHandler(new CMBFurnaceRecipeHandler());
API.registerRecipeHandler(new BreederRecipeHandler()); registerHandler(new CyclotronRecipeHandler());
API.registerUsageHandler(new BreederRecipeHandler()); registerHandler(new AssemblerRecipeHandler());
API.registerRecipeHandler(new ShredderRecipeHandler()); registerHandler(new RefineryRecipeHandler());
API.registerUsageHandler(new ShredderRecipeHandler()); registerHandler(new BoilerRecipeHandler());
API.registerRecipeHandler(new CMBFurnaceRecipeHandler()); registerHandler(new ChemplantRecipeHandler());
API.registerUsageHandler(new CMBFurnaceRecipeHandler()); registerHandler(new FluidRecipeHandler());
API.registerRecipeHandler(new CyclotronRecipeHandler()); registerHandler(new PressRecipeHandler());
API.registerUsageHandler(new CyclotronRecipeHandler()); registerHandler(new CrystallizerRecipeHandler());
API.registerRecipeHandler(new AssemblerRecipeHandler()); registerHandler(new BookRecipeHandler());
API.registerUsageHandler(new AssemblerRecipeHandler()); registerHandler(new FusionRecipeHandler());
API.registerRecipeHandler(new RefineryRecipeHandler()); registerHandler(new HadronRecipeHandler());
API.registerUsageHandler(new RefineryRecipeHandler()); registerHandler(new SILEXRecipeHandler());
API.registerRecipeHandler(new BoilerRecipeHandler()); registerHandler(new SmithingRecipeHandler());
API.registerUsageHandler(new BoilerRecipeHandler()); registerHandler(new AnvilRecipeHandler());
API.registerRecipeHandler(new ChemplantRecipeHandler()); registerHandler(new FuelPoolHandler());
API.registerUsageHandler(new ChemplantRecipeHandler()); registerHandler(new RadiolysisRecipeHandler());
API.registerRecipeHandler(new FluidRecipeHandler()); registerHandler(new CrucibleSmeltingHandler());
API.registerUsageHandler(new FluidRecipeHandler()); registerHandler(new CrucibleAlloyingHandler());
API.registerRecipeHandler(new PressRecipeHandler()); registerHandler(new CrucibleCastingHandler());
API.registerUsageHandler(new PressRecipeHandler()); registerHandler(new ChunkyHandler());
API.registerRecipeHandler(new CrystallizerRecipeHandler());
API.registerUsageHandler(new CrystallizerRecipeHandler());
API.registerRecipeHandler(new BookRecipeHandler());
API.registerUsageHandler(new BookRecipeHandler());
API.registerRecipeHandler(new FusionRecipeHandler());
API.registerUsageHandler(new FusionRecipeHandler());
API.registerRecipeHandler(new HadronRecipeHandler());
API.registerUsageHandler(new HadronRecipeHandler());
API.registerRecipeHandler(new SILEXRecipeHandler());
API.registerUsageHandler(new SILEXRecipeHandler());
API.registerRecipeHandler(new SmithingRecipeHandler());
API.registerUsageHandler(new SmithingRecipeHandler());
API.registerRecipeHandler(new AnvilRecipeHandler());
API.registerUsageHandler(new AnvilRecipeHandler());
API.registerRecipeHandler(new FuelPoolHandler());
API.registerUsageHandler(new FuelPoolHandler());
API.registerRecipeHandler(new RadiolysisRecipeHandler());
API.registerUsageHandler(new RadiolysisRecipeHandler());
API.registerRecipeHandler(new CrucibleSmeltingHandler());
API.registerUsageHandler(new CrucibleSmeltingHandler());
API.registerRecipeHandler(new CrucibleAlloyingHandler());
API.registerUsageHandler(new CrucibleAlloyingHandler());
API.registerRecipeHandler(new CrucibleCastingHandler());
API.registerUsageHandler(new CrucibleCastingHandler());
//universal boyes //universal boyes
API.registerRecipeHandler(new ZirnoxRecipeHandler()); registerHandler(new ZirnoxRecipeHandler());
API.registerUsageHandler(new ZirnoxRecipeHandler());
if(VersatileConfig.rtgDecay()) { if(VersatileConfig.rtgDecay()) {
API.registerRecipeHandler(new RTGRecipeHandler()); registerHandler(new RTGRecipeHandler());
API.registerUsageHandler(new RTGRecipeHandler());
} }
API.registerRecipeHandler(new LiquefactionHandler()); registerHandler(new LiquefactionHandler());
API.registerUsageHandler(new LiquefactionHandler()); registerHandler(new SolidificationHandler());
API.registerRecipeHandler(new SolidificationHandler()); registerHandler(new CrackingHandler());
API.registerUsageHandler(new SolidificationHandler()); registerHandler(new FractioningHandler());
API.registerRecipeHandler(new CrackingHandler());
API.registerUsageHandler(new CrackingHandler());
API.registerRecipeHandler(new FractioningHandler());
API.registerUsageHandler(new FractioningHandler());
//Some things are even beyond my control...or are they? //Some things are even beyond my control...or are they?
API.hideItem(ItemBattery.getEmptyBattery(ModItems.memory)); API.hideItem(ItemBattery.getEmptyBattery(ModItems.memory));
@ -184,6 +156,11 @@ public class NEIConfig implements IConfigureNEI {
}); });
} }
public static void registerHandler(Object o) {
API.registerRecipeHandler((ICraftingHandler) o);
API.registerUsageHandler((IUsageHandler) o);
}
@Override @Override
public String getName() { public String getName() {
return "Nuclear Tech NEI Plugin"; return "Nuclear Tech NEI Plugin";