Merge remote-tracking branch 'refs/remotes/TechReborn/1.9.4' into 1.9.4

This commit is contained in:
al132 2016-07-16 02:39:40 -05:00
commit c1d645fd35
25 changed files with 819 additions and 481 deletions

View file

@ -63,7 +63,6 @@ public class Core
public static Core INSTANCE; public static Core INSTANCE;
public static LogHelper logHelper = new LogHelper(new ModInfo()); public static LogHelper logHelper = new LogHelper(new ModInfo());
public static TechRebornWorldGen worldGen; public static TechRebornWorldGen worldGen;
public static RecipeCompact recipeCompact;
public static File configDir; public static File configDir;
public VersionChecker versionChecker; public VersionChecker versionChecker;
@ -84,8 +83,6 @@ public class Core
worldGen.configFile = (new File(configDir, "ores.json")); worldGen.configFile = (new File(configDir, "ores.json"));
worldGen.hConfigFile = (new File(configDir, "ores.hjson")); worldGen.hConfigFile = (new File(configDir, "ores.hjson"));
recipeCompact = new RecipeCompact();
TechRebornAPI.recipeCompact = recipeCompact;
TechRebornAPI.subItemRetriever = new SubItemRetriever(); TechRebornAPI.subItemRetriever = new SubItemRetriever();
for (ICompatModule compatModule : CompatManager.INSTANCE.compatModules) for (ICompatModule compatModule : CompatManager.INSTANCE.compatModules)
@ -101,9 +98,11 @@ public class Core
ModItems.init(); ModItems.init();
// Entitys // Entitys
EntityRegistry.registerModEntity(EntityNukePrimed.class, "nuke", 0, INSTANCE, 160, 5, true); EntityRegistry.registerModEntity(EntityNukePrimed.class, "nuke", 0, INSTANCE, 160, 5, true);
proxy.preInit(event); proxy.preInit(event);
RecipeConfigManager.load(event.getModConfigurationDirectory()); RecipeConfigManager.load(event.getModConfigurationDirectory());
versionChecker = new VersionChecker("TechReborn", new ModInfo()); versionChecker = new VersionChecker("TechReborn", new ModInfo());
versionChecker.checkVersionThreaded(); versionChecker.checkVersionThreaded();
logHelper.info("PreInitialization Complete"); logHelper.info("PreInitialization Complete");
@ -124,6 +123,10 @@ public class Core
compatModule.init(event); compatModule.init(event);
} }
MinecraftForge.EVENT_BUS.register(new StackWIPHandler()); MinecraftForge.EVENT_BUS.register(new StackWIPHandler());
//Ore Dictionary
OreDict.init();
// Recipes // Recipes
StopWatch watch = new StopWatch(); StopWatch watch = new StopWatch();
watch.start(); watch.start();

View file

@ -1,8 +1,9 @@
package techreborn.api.recipe; package techreborn.api.recipe;
import com.google.common.collect.ImmutableList;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
public interface IRecipeCompact { public interface IRecipeCompact {
ItemStack getItem(String name); ImmutableList<ItemStack> getItems(String name);
} }

View file

@ -0,0 +1,211 @@
package techreborn.client.render;
import com.google.common.base.Function;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
import net.minecraft.block.state.IBlockState;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.block.model.*;
import net.minecraft.client.renderer.texture.TextureAtlasSprite;
import net.minecraft.client.renderer.vertex.VertexFormat;
import net.minecraft.client.resources.IResourceManager;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.ResourceLocation;
import net.minecraft.world.World;
import net.minecraftforge.client.model.*;
import net.minecraftforge.common.model.IModelPart;
import net.minecraftforge.common.model.IModelState;
import net.minecraftforge.common.model.TRSRTransformation;
import net.minecraftforge.fluids.Fluid;
import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import techreborn.init.ModItems;
import techreborn.items.DynamicCell;
import javax.annotation.Nullable;
import java.awt.*;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
@SideOnly(Side.CLIENT)
public class ModelDynamicCell implements IModel {
public static final ModelDynamicCell MODEL = new ModelDynamicCell(
new ResourceLocation("techreborn:items/cell_cover"),
new ResourceLocation("techreborn:items/cell_empty")
);
public static final ModelResourceLocation MODEL_LOCATION = new ModelResourceLocation(new ResourceLocation("techreborn", "dynamic_cell"), "default");
private static final float NORTH_Z_FLUID = 7.6f / 16f;
private static final float SOUTH_Z_FLUID = 8.4f / 16f;
public static void init() {
ModelLoader.setCustomMeshDefinition(ModItems.dynamicCell, stack -> MODEL_LOCATION);
ModelBakery.registerItemVariants(ModItems.dynamicCell, MODEL_LOCATION);
ModelLoaderRegistry.registerLoader(new DynamicCellLoader());
}
private final ResourceLocation baseTexture;
private final ResourceLocation emptyTexture;
private final Fluid fluid;
public ModelDynamicCell(ResourceLocation baseTexture, ResourceLocation emptyTexture) {
this(baseTexture, emptyTexture, null);
}
public ModelDynamicCell(ResourceLocation baseTexture, ResourceLocation emptyTexture, Fluid fluid) {
this.baseTexture = baseTexture;
this.emptyTexture = emptyTexture;
this.fluid = fluid;
}
@Override
public Collection<ResourceLocation> getDependencies() {
return ImmutableList.of();
}
@Override
public Collection<ResourceLocation> getTextures() {
return ImmutableList.of(baseTexture, emptyTexture);
}
@Override
public IBakedModel bake(IModelState state, VertexFormat format, Function<ResourceLocation, TextureAtlasSprite> bakedTextureGetter) {
ImmutableMap<ItemCameraTransforms.TransformType, TRSRTransformation> transformMap = IPerspectiveAwareModel.MapWrapper.getTransforms(state);
TRSRTransformation transform = state.apply(Optional.<IModelPart>absent()).or(TRSRTransformation.identity());
ImmutableList.Builder<BakedQuad> builder = ImmutableList.builder();
builder.addAll(new ItemLayerModel(ImmutableList.of(baseTexture)).bake(transform, format, bakedTextureGetter).getQuads(null, null, 0L));
ResourceLocation sprite = fluid != null ? fluid.getStill() : emptyTexture;
int color = fluid != null ? fluid.getColor() : Color.WHITE.getRGB();
TextureAtlasSprite fluidSprite = bakedTextureGetter.apply(sprite);
if (fluidSprite != null) {
builder.add(ItemTextureQuadConverter.genQuad(format, transform, 5, 2, 11, 14, NORTH_Z_FLUID, fluidSprite, EnumFacing.NORTH, color));
builder.add(ItemTextureQuadConverter.genQuad(format, transform, 5, 2, 11, 14, SOUTH_Z_FLUID, fluidSprite, EnumFacing.SOUTH, color));
}
return new BakedDynamicCell(builder.build(), this, bakedTextureGetter.apply(baseTexture), format, transformMap);
}
@Override
public IModelState getDefaultState() {
return TRSRTransformation.identity();
}
public static class DynamicCellLoader implements ICustomModelLoader {
@Override
public boolean accepts(ResourceLocation modelLocation) {
return modelLocation.getResourceDomain().equals("techreborn") && modelLocation.getResourcePath().contains("dynamic_cell");
}
@Override
public IModel loadModel(ResourceLocation modelLocation) throws Exception {
return MODEL;
}
@Override
public void onResourceManagerReload(IResourceManager resourceManager) {}
}
public static class BakedDynamicCell implements IBakedModel{
private final List<BakedQuad> quads;
private final ModelDynamicCell parent;
private final TextureAtlasSprite particle;
private final VertexFormat format;
private final ImmutableMap<ItemCameraTransforms.TransformType, TRSRTransformation> transformMap;
public BakedDynamicCell(List<BakedQuad> quads, ModelDynamicCell parent, TextureAtlasSprite particle, VertexFormat format, ImmutableMap<ItemCameraTransforms.TransformType, TRSRTransformation> transformMap) {
this.transformMap = transformMap;
this.quads = quads;
this.parent = parent;
this.particle = particle;
this.format = format;
}
@Override
public List<BakedQuad> getQuads(@Nullable IBlockState state, @Nullable EnumFacing side, long rand) {
return quads;
}
@Override
public boolean isAmbientOcclusion() {
return true;
}
@Override
public boolean isGui3d() {
return false;
}
@Override
public boolean isBuiltInRenderer() {
return false;
}
@Override
public TextureAtlasSprite getParticleTexture() {
return particle;
}
@Override
public ItemCameraTransforms getItemCameraTransforms() {
return ModelHelper.DEFAULT_ITEM_TRANSFORMS;
}
@Override
public ItemOverrideList getOverrides() {
return OVERRIDES;
}
}
public static final OverrideHandler OVERRIDES = new OverrideHandler();
public static class OverrideHandler extends ItemOverrideList {
private final HashMap<String, IBakedModel> modelCache = new HashMap<>();
private final Function<ResourceLocation, TextureAtlasSprite> textureGetter = location ->
Minecraft.getMinecraft().getTextureMapBlocks().getAtlasSprite(location.toString());
private OverrideHandler() {
super(ImmutableList.of());
}
@Override
public IBakedModel handleItemState(IBakedModel originalModel, ItemStack stack, World world, EntityLivingBase entity) {
FluidStack fluidStack = DynamicCell.getFluidHandler(stack).getFluid();
if(fluidStack == null) {
//return default bucket
return originalModel;
}
String name = fluidStack.getFluid().getName();
if(!modelCache.containsKey(name)) {
BakedDynamicCell bakedCell = (BakedDynamicCell) originalModel;
ModelDynamicCell model = new ModelDynamicCell(bakedCell.parent.baseTexture, bakedCell.parent.emptyTexture, fluidStack.getFluid());
modelCache.put(name, model.bake(new SimpleModelState(bakedCell.transformMap), bakedCell.format, textureGetter));
}
return modelCache.get(name);
}
}
}

View file

@ -0,0 +1,46 @@
package techreborn.client.render;
import com.google.common.base.Charsets;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.block.model.ItemCameraTransforms;
import net.minecraft.client.renderer.block.model.ModelBlock;
import net.minecraft.client.resources.IResource;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import techreborn.Core;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.Reader;
/*
* Credits to JsonDestroyer
*/
@SideOnly(Side.CLIENT)
public class ModelHelper {
public static final ItemCameraTransforms DEFAULT_ITEM_TRANSFORMS = loadTransformFromJson(new ResourceLocation("minecraft:models/item/generated"));
public static final ItemCameraTransforms HANDHELD_ITEM_TRANSFORMS = loadTransformFromJson(new ResourceLocation("minecraft:models/item/handheld"));
public static ItemCameraTransforms loadTransformFromJson(ResourceLocation location) {
try {
return ModelBlock.deserialize(getReaderForResource(location)).getAllTransforms();
} catch (IOException exception) {
Core.logHelper.warn("Can't load resource " + location);
exception.printStackTrace();
return null;
}
}
public static Reader getReaderForResource(ResourceLocation location) throws IOException {
ResourceLocation file = new ResourceLocation(location.getResourceDomain(), location.getResourcePath() + ".json");
IResource iresource = Minecraft.getMinecraft().getResourceManager().getResource(file);
return new BufferedReader(new InputStreamReader(iresource.getInputStream(), Charsets.UTF_8));
}
}

View file

@ -1,9 +1,5 @@
package techreborn.command; package techreborn.command;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.command.CommandBase; import net.minecraft.command.CommandBase;
import net.minecraft.command.CommandException; import net.minecraft.command.CommandException;
@ -16,13 +12,13 @@ import net.minecraft.util.EnumHand;
import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos;
import net.minecraft.util.text.TextComponentString; import net.minecraft.util.text.TextComponentString;
import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.Fluid;
import net.minecraftforge.fml.common.registry.GameData;
import net.minecraftforge.fml.common.registry.GameRegistry;
import reborncore.api.fuel.FluidPowerManager; import reborncore.api.fuel.FluidPowerManager;
import reborncore.api.recipe.RecipeHandler; import reborncore.api.recipe.RecipeHandler;
import techreborn.Core;
import techreborn.dev.JsonGenerator; import techreborn.dev.JsonGenerator;
import techreborn.init.RecipeCompact;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
public class TechRebornDevCommand extends CommandBase public class TechRebornDevCommand extends CommandBase
{ {
@ -107,12 +103,6 @@ public class TechRebornDevCommand extends CommandBase
e.printStackTrace(); e.printStackTrace();
sender.addChatMessage(new TextComponentString(e.getLocalizedMessage())); sender.addChatMessage(new TextComponentString(e.getLocalizedMessage()));
} }
} else if ("missing".equals(args[0])) {
try {
Core.recipeCompact.saveMissingItems(Core.configDir);
} catch (IOException e) {
e.printStackTrace();
}
} }
} }
} }

View file

@ -11,6 +11,8 @@ 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 java.awt.*;
public class AlloySmelterRecipeWrapper extends BaseRecipeWrapper<AlloySmelterRecipe> public class AlloySmelterRecipeWrapper extends BaseRecipeWrapper<AlloySmelterRecipe>
{ {
private final IDrawableAnimated arrow; private final IDrawableAnimated arrow;
@ -29,5 +31,15 @@ public class AlloySmelterRecipeWrapper extends BaseRecipeWrapper<AlloySmelterRec
{ {
super.drawAnimations(minecraft, recipeWidth, recipeHeight); super.drawAnimations(minecraft, recipeWidth, recipeHeight);
arrow.draw(minecraft, 33, 19); arrow.draw(minecraft, 33, 19);
int x = recipeWidth / 2;
int y = recipeHeight - recipeHeight / 4;
int lineHeight = minecraft.fontRendererObj.FONT_HEIGHT;
minecraft.fontRendererObj.drawString("Time: " + (baseRecipe.tickTime / 20) + " secs", x, y, 0x444444);
minecraft.fontRendererObj.drawString("EU: " + baseRecipe.euPerTick + " EU/t", x, y += lineHeight, 0x444444);
} }
} }

View file

@ -23,7 +23,7 @@ public class BlastFurnaceRecipeCategory extends BlankRecipeCategory
public BlastFurnaceRecipeCategory(IGuiHelper guiHelper) public BlastFurnaceRecipeCategory(IGuiHelper guiHelper)
{ {
background = guiHelper.createDrawable(GuiBlastFurnace.texture, 39, 24, 100, 36); background = guiHelper.createDrawable(GuiBlastFurnace.texture, 39, 24, 90, 60);
title = I18n.translateToLocal("tile.techreborn.blastfurnace.name"); title = I18n.translateToLocal("tile.techreborn.blastfurnace.name");
} }

View file

@ -11,6 +11,8 @@ 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 java.awt.*;
public class BlastFurnaceRecipeWrapper extends BaseRecipeWrapper<BlastFurnaceRecipe> public class BlastFurnaceRecipeWrapper extends BaseRecipeWrapper<BlastFurnaceRecipe>
{ {
private final IDrawableAnimated progress; private final IDrawableAnimated progress;
@ -29,5 +31,13 @@ public class BlastFurnaceRecipeWrapper extends BaseRecipeWrapper<BlastFurnaceRec
{ {
super.drawAnimations(minecraft, recipeWidth, recipeHeight); super.drawAnimations(minecraft, recipeWidth, recipeHeight);
progress.draw(minecraft, 54 - 29, 13); progress.draw(minecraft, 54 - 29, 13);
int x = recipeWidth / 3;
int y = (int) (recipeHeight - recipeHeight / 2.2F);
int lineHeight = minecraft.fontRendererObj.FONT_HEIGHT;
minecraft.fontRendererObj.drawString("Time: " + baseRecipe.tickTime / 20 + " secs", x, y, 0x444444);
minecraft.fontRendererObj.drawString("EU: " + baseRecipe.euPerTick + " EU/t", x, y += lineHeight, 0x444444);
minecraft.fontRendererObj.drawString("Heat capacity: " + baseRecipe.neededHeat, x, y += lineHeight, 0x444444);
} }
} }

View file

@ -47,5 +47,13 @@ public class CentrifugeRecipeWrapper extends BaseRecipeWrapper<CentrifugeRecipe>
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);
int x = -45;
int y = 60;
int lineHeight = minecraft.fontRendererObj.FONT_HEIGHT;
minecraft.fontRendererObj.drawString("Time: " + baseRecipe.tickTime / 20 + " secs", x, y, 0x444444);
minecraft.fontRendererObj.drawString("EU: " + baseRecipe.euPerTick + " EU/t", x, y += lineHeight, 0x444444);
} }
} }

View file

@ -1,7 +1,5 @@
package techreborn.compat.jei.chemicalReactor; package techreborn.compat.jei.chemicalReactor;
import javax.annotation.Nonnull;
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;
@ -11,6 +9,8 @@ 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;
public class ChemicalReactorRecipeWrapper extends BaseRecipeWrapper<ChemicalReactorRecipe> public class ChemicalReactorRecipeWrapper extends BaseRecipeWrapper<ChemicalReactorRecipe>
{ {
private final IDrawableAnimated progress; private final IDrawableAnimated progress;
@ -31,5 +31,12 @@ public class ChemicalReactorRecipeWrapper extends BaseRecipeWrapper<ChemicalReac
{ {
super.drawAnimations(minecraft, recipeWidth, recipeHeight); super.drawAnimations(minecraft, recipeWidth, recipeHeight);
progress.draw(minecraft, 3, 18); progress.draw(minecraft, 3, 18);
int x = (int) (-recipeWidth * 1.6f);
int y = (int) (recipeHeight - recipeHeight / 3F);
int lineHeight = minecraft.fontRendererObj.FONT_HEIGHT;
minecraft.fontRendererObj.drawString("Time: " + baseRecipe.tickTime / 20 + " secs", x, y, 0x444444);
minecraft.fontRendererObj.drawString("EU: " + baseRecipe.euPerTick + " EU/t", x, y += lineHeight, 0x444444);
} }
} }

View file

@ -1,7 +1,5 @@
package techreborn.compat.jei.compressor; package techreborn.compat.jei.compressor;
import javax.annotation.Nonnull;
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;
@ -11,6 +9,8 @@ import techreborn.api.recipe.machines.CompressorRecipe;
import techreborn.client.gui.GuiCompressor; import techreborn.client.gui.GuiCompressor;
import techreborn.compat.jei.BaseRecipeWrapper; import techreborn.compat.jei.BaseRecipeWrapper;
import javax.annotation.Nonnull;
public class CompressorRecipeWrapper extends BaseRecipeWrapper<CompressorRecipe> public class CompressorRecipeWrapper extends BaseRecipeWrapper<CompressorRecipe>
{ {
private final IDrawableAnimated progress; private final IDrawableAnimated progress;
@ -31,5 +31,12 @@ public class CompressorRecipeWrapper extends BaseRecipeWrapper<CompressorRecipe>
{ {
super.drawAnimations(minecraft, recipeWidth, recipeHeight); super.drawAnimations(minecraft, recipeWidth, recipeHeight);
progress.draw(minecraft, 25, 7); progress.draw(minecraft, 25, 7);
int x = -45;
int y = 4;
int lineHeight = minecraft.fontRendererObj.FONT_HEIGHT;
minecraft.fontRendererObj.drawString("Time: " + baseRecipe.tickTime / 20 + " s", x, y, 0x444444);
minecraft.fontRendererObj.drawString("EU: " + baseRecipe.euPerTick + " EU/t", x, y += lineHeight, 0x444444);
} }
} }

View file

@ -31,5 +31,12 @@ public class ExtractorRecipeWrapper extends BaseRecipeWrapper<ExtractorRecipe>
{ {
super.drawAnimations(minecraft, recipeWidth, recipeHeight); super.drawAnimations(minecraft, recipeWidth, recipeHeight);
progress.draw(minecraft, 25, 7); progress.draw(minecraft, 25, 7);
int x = -45;
int y = 4;
int lineHeight = minecraft.fontRendererObj.FONT_HEIGHT;
minecraft.fontRendererObj.drawString("Time: " + baseRecipe.tickTime / 20 + " s", x, y, 0x444444);
minecraft.fontRendererObj.drawString("EU: " + baseRecipe.euPerTick + " EU/t", x, y += lineHeight, 0x444444);
} }
} }

View file

@ -1,7 +1,5 @@
package techreborn.compat.jei.grinder; package techreborn.compat.jei.grinder;
import javax.annotation.Nonnull;
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;
@ -11,6 +9,8 @@ import techreborn.api.recipe.machines.GrinderRecipe;
import techreborn.client.gui.GuiGrinder; import techreborn.client.gui.GuiGrinder;
import techreborn.compat.jei.BaseRecipeWrapper; import techreborn.compat.jei.BaseRecipeWrapper;
import javax.annotation.Nonnull;
public class GrinderRecipeWrapper extends BaseRecipeWrapper<GrinderRecipe> public class GrinderRecipeWrapper extends BaseRecipeWrapper<GrinderRecipe>
{ {
private final IDrawableAnimated progress; private final IDrawableAnimated progress;
@ -31,5 +31,12 @@ public class GrinderRecipeWrapper extends BaseRecipeWrapper<GrinderRecipe>
{ {
super.drawAnimations(minecraft, recipeWidth, recipeHeight); super.drawAnimations(minecraft, recipeWidth, recipeHeight);
progress.draw(minecraft, 25, 7); progress.draw(minecraft, 25, 7);
int x = -45;
int y = 4;
int lineHeight = minecraft.fontRendererObj.FONT_HEIGHT;
minecraft.fontRendererObj.drawString("Time: " + baseRecipe.tickTime / 20 + " s", x, y, 0x444444);
minecraft.fontRendererObj.drawString("EU: " + baseRecipe.euPerTick + " EU/t", x, y += lineHeight, 0x444444);
} }
} }

View file

@ -7,9 +7,11 @@ 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.Core;
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 techreborn.init.ModRecipes;
public class ImplosionCompressorRecipeWrapper extends BaseRecipeWrapper<ImplosionCompressorRecipe> public class ImplosionCompressorRecipeWrapper extends BaseRecipeWrapper<ImplosionCompressorRecipe>
{ {
@ -30,5 +32,12 @@ public class ImplosionCompressorRecipeWrapper extends BaseRecipeWrapper<Implosio
{ {
super.drawAnimations(minecraft, recipeWidth, recipeHeight); super.drawAnimations(minecraft, recipeWidth, recipeHeight);
progress.draw(minecraft, 44, 13); progress.draw(minecraft, 44, 13);
int x = -45;
int y = 4;
int lineHeight = minecraft.fontRendererObj.FONT_HEIGHT;
minecraft.fontRendererObj.drawString("Time: " + baseRecipe.tickTime / 20 + " s", x, y, 0x444444);
minecraft.fontRendererObj.drawString("EU: " + baseRecipe.euPerTick + " EU/t", x, y += lineHeight, 0x444444);
} }
} }

View file

@ -30,5 +30,12 @@ public class IndustrialElectrolyzerRecipeWrapper extends BaseRecipeWrapper<Indus
{ {
super.drawAnimations(minecraft, recipeWidth, recipeHeight); super.drawAnimations(minecraft, recipeWidth, recipeHeight);
progress.draw(minecraft, 24, 20); progress.draw(minecraft, 24, 20);
int x = 60;
int y = 30;
int lineHeight = minecraft.fontRendererObj.FONT_HEIGHT;
minecraft.fontRendererObj.drawString("Time: " + baseRecipe.tickTime / 20 + " s", x, y, 0x444444);
minecraft.fontRendererObj.drawString("EU: " + baseRecipe.euPerTick + " EU/t", x, y += lineHeight, 0x444444);
} }
} }

View file

@ -48,5 +48,12 @@ public class IndustrialGrinderRecipeWrapper extends BaseRecipeWrapper<Industrial
{ {
super.drawAnimations(minecraft, recipeWidth, recipeHeight); super.drawAnimations(minecraft, recipeWidth, recipeHeight);
progress.draw(minecraft, 44, 20); progress.draw(minecraft, 44, 20);
int x = 70;
int y = 40;
int lineHeight = minecraft.fontRendererObj.FONT_HEIGHT;
minecraft.fontRendererObj.drawString("Time: " + baseRecipe.tickTime / 20 + " s", x, y, 0x444444);
minecraft.fontRendererObj.drawString("EU: " + baseRecipe.euPerTick + " EU/t", x, y += lineHeight, 0x444444);
} }
} }

View file

@ -48,5 +48,12 @@ public class IndustrialSawmillRecipeWrapper extends BaseRecipeWrapper<Industrial
{ {
super.drawAnimations(minecraft, recipeWidth, recipeHeight); super.drawAnimations(minecraft, recipeWidth, recipeHeight);
progress.draw(minecraft, 49, 23); progress.draw(minecraft, 49, 23);
int x = 70;
int y = 40;
int lineHeight = minecraft.fontRendererObj.FONT_HEIGHT;
minecraft.fontRendererObj.drawString("Time: " + baseRecipe.tickTime / 20 + " s", x, y, 0x444444);
minecraft.fontRendererObj.drawString("EU: " + baseRecipe.euPerTick + " EU/t", x, y += lineHeight, 0x444444);
} }
} }

View file

@ -3,6 +3,7 @@ package techreborn.init;
import net.minecraft.init.Items; import net.minecraft.init.Items;
import net.minecraft.inventory.EntityEquipmentSlot; import net.minecraft.inventory.EntityEquipmentSlot;
import net.minecraft.item.Item; import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.fluids.FluidContainerRegistry; import net.minecraftforge.fluids.FluidContainerRegistry;
import net.minecraftforge.fluids.FluidRegistry; import net.minecraftforge.fluids.FluidRegistry;
@ -294,12 +295,14 @@ public class ModItems
debug = new ItemDebugTool(); debug = new ItemDebugTool();
registerItem(debug, "debug"); registerItem(debug, "debug");
emptyCell = new EmptyCell();
registerItem(emptyCell, "emptyCell");
dynamicCell = new DynamicCell(); dynamicCell = new DynamicCell();
registerItem(dynamicCell, "dynamicCell"); registerItem(dynamicCell, "dynamicCell");
emptyCell = dynamicCell;
Item cell = new EmptyCell();
registerItem(cell, "emptyCell");
GameRegistry.addShapelessRecipe(new ItemStack(dynamicCell), cell);
MinecraftForge.EVENT_BUS.register(BucketHandler.INSTANCE); MinecraftForge.EVENT_BUS.register(BucketHandler.INSTANCE);
Core.logHelper.info("TechReborns Items Loaded"); Core.logHelper.info("TechReborns Items Loaded");
@ -555,8 +558,9 @@ public class ModItems
OreUnifier.registerOre("craftingSuperconductor", ItemParts.getPartByName("superconductor")); OreUnifier.registerOre("craftingSuperconductor", ItemParts.getPartByName("superconductor"));
OreUnifier.registerOre("batteryUltimate", ItemParts.getPartByName("diamondGrindingHead")); OreUnifier.registerOre("batteryUltimate", ItemParts.getPartByName("diamondGrindingHead"));
OreUnifier.registerOre("containerWater", ItemCells.getCellByName("water")); //Buggy.
OreUnifier.registerOre("containerWater", Items.WATER_BUCKET); //OreUnifier.registerOre("containerWater", ItemCells.getCellByName("water"));
//OreUnifier.registerOre("containerWater", Items.WATER_BUCKET);
OreUnifier.registerOre("materialResin", ItemParts.getPartByName("rubberSap")); OreUnifier.registerOre("materialResin", ItemParts.getPartByName("rubberSap"));
OreUnifier.registerOre("materialRubber", ItemParts.getPartByName("rubber")); OreUnifier.registerOre("materialRubber", ItemParts.getPartByName("rubber"));

View file

@ -46,9 +46,6 @@ public class ModRecipes
public static ItemStack lapcrystalStack = new ItemStack(ModItems.lapotronCrystal, 1, OreDictionary.WILDCARD_VALUE); public static ItemStack lapcrystalStack = new ItemStack(ModItems.lapotronCrystal, 1, OreDictionary.WILDCARD_VALUE);
public static ItemStack dyes = new ItemStack(Items.DYE, 1, OreDictionary.WILDCARD_VALUE); public static ItemStack dyes = new ItemStack(Items.DYE, 1, OreDictionary.WILDCARD_VALUE);
public static Item ironDrill = TechRebornAPI.recipeCompact.getItem("miningDrill").getItem();
public static ItemStack ironDrillStack = new ItemStack(ironDrill, 1, OreDictionary.WILDCARD_VALUE);
public static Item diamondDrill = ModItems.diamondDrill; public static Item diamondDrill = ModItems.diamondDrill;
public static ItemStack diamondDrillStack = new ItemStack(diamondDrill, 1, OreDictionary.WILDCARD_VALUE); public static ItemStack diamondDrillStack = new ItemStack(diamondDrill, 1, OreDictionary.WILDCARD_VALUE);
@ -440,9 +437,9 @@ public class ModRecipes
RecipeHandler.addRecipe( RecipeHandler.addRecipe(
new GrinderRecipe(BlockOre2.getOreByName("tin"), ItemDusts.getDustByName("tin", 2), ticktime, eutick)); new GrinderRecipe(BlockOre2.getOreByName("tin"), ItemDusts.getDustByName("tin", 2), ticktime, eutick));
RecipeHandler.addRecipe( RecipeHandler.addRecipe(
new GrinderRecipe(BlockOre.getOreByName("Lead"), ItemDusts.getDustByName("lead", 2), ticktime, eutick)); new GrinderRecipe(BlockOre.getOreByName("lead"), ItemDusts.getDustByName("lead", 2), ticktime, eutick));
RecipeHandler.addRecipe( RecipeHandler.addRecipe(
new GrinderRecipe(BlockOre.getOreByName("Silver"), ItemDusts.getDustByName("silver", 2), ticktime, eutick)); new GrinderRecipe(BlockOre.getOreByName("silver"), ItemDusts.getDustByName("silver", 2), ticktime, eutick));
// Ingots to Dust // Ingots to Dust
RecipeHandler.addRecipe( RecipeHandler.addRecipe(
@ -576,21 +573,21 @@ public class ModRecipes
CraftingHelper CraftingHelper
.addShapedOreRecipe(new ItemStack(ModItems.ironChainsaw), " SS", "SCS", "BS ", 'S', "ingotSteel", 'B', .addShapedOreRecipe(new ItemStack(ModItems.ironChainsaw), " SS", "SCS", "BS ", 'S', "ingotSteel", 'B',
TechRebornAPI.recipeCompact.getItem("reBattery"), 'C', "reBattery", 'C',
TechRebornAPI.recipeCompact.getItem("electronicCircuit")); "circuitBasic");
CraftingHelper CraftingHelper
.addShapedOreRecipe(new ItemStack(ModItems.diamondChainsaw), " DD", "TBD", "CT ", 'T', "ingotTitanium", .addShapedOreRecipe(new ItemStack(ModItems.diamondChainsaw), " DD", "TBD", "CT ", 'T', "ingotTitanium",
'B', ironChainsawStack, 'C', TechRebornAPI.recipeCompact.getItem("advancedCircuit"), 'D', 'B', ironChainsawStack, 'C', "circuitAdvanced", 'D',
"diamondTR"); "diamondTR");
CraftingHelper CraftingHelper
.addShapedOreRecipe(new ItemStack(ModItems.steelJackhammer), "SBS", "SCS", " S ", 'S', "ingotSteel", .addShapedOreRecipe(new ItemStack(ModItems.steelJackhammer), "SBS", "SCS", " S ", 'S', "ingotSteel",
'B', TechRebornAPI.recipeCompact.getItem("reBattery"), 'C', 'B', "reBattery", 'C',
TechRebornAPI.recipeCompact.getItem("electronicCircuit")); "circuitBasic");
CraftingHelper.addShapedOreRecipe(new ItemStack(ModItems.diamondJackhammer), "DCD", "TBT", " D ", 'T', CraftingHelper.addShapedOreRecipe(new ItemStack(ModItems.diamondJackhammer), "DCD", "TBT", " D ", 'T',
"ingotTitanium", 'B', steelJackhammerStack, 'C', TechRebornAPI.recipeCompact.getItem("advancedCircuit"), "ingotTitanium", 'B', steelJackhammerStack, 'C', "circuitAdvanced",
'D', "diamondTR"); 'D', "diamondTR");
CraftingHelper.addShapelessOreRecipe(ItemParts.getPartByName("carbonfiber"), ItemDusts.getDustByName("coal"), CraftingHelper.addShapelessOreRecipe(ItemParts.getPartByName("carbonfiber"), ItemDusts.getDustByName("coal"),
@ -635,15 +632,15 @@ public class ModRecipes
BlockMachineFrame.getFrameByName("machine", 1)); BlockMachineFrame.getFrameByName("machine", 1));
CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.MachineCasing, 4, 1), "RRR", "CAC", "RRR", 'R', CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.MachineCasing, 4, 1), "RRR", "CAC", "RRR", 'R',
"ingotSteel", 'C', ItemParts.getPartByName("advancedCircuit"), 'A', "ingotSteel", 'C', "circuitAdvanced", 'A',
BlockMachineFrame.getFrameByName("advancedMachine", 1)); BlockMachineFrame.getFrameByName("advancedMachine", 1));
CraftingHelper.addShapedOreRecipe(ItemParts.getPartByName("dataOrb"), "DDD", "DID", "DDD", 'D', CraftingHelper.addShapedOreRecipe(ItemParts.getPartByName("dataOrb"), "DDD", "DID", "DDD", 'D',
ItemParts.getPartByName("dataStorageCircuit"), 'I', ItemParts.getPartByName("dataControlCircuit")); "circuitElite", 'I', ItemParts.getPartByName("dataControlCircuit"));
CraftingHelper.addShapedOreRecipe(ItemParts.getPartByName("dataControlCircuit", 4), "CDC", "DID", "CDC", 'I', CraftingHelper.addShapedOreRecipe(ItemParts.getPartByName("dataControlCircuit", 4), "CDC", "DID", "CDC", 'I',
ItemPlates.getPlateByName("iridium"), 'D', ItemParts.getPartByName("dataStorageCircuit"), 'C', ItemPlates.getPlateByName("iridium"), 'D', "circuitElite", 'C',
ItemParts.getPartByName("advancedCircuit")); "circuitAdvanced");
CraftingHelper CraftingHelper
.addShapedOreRecipe(new ItemStack(ModBlocks.thermalGenerator), "III", "IRI", "CGC", 'I', "ingotInvar", .addShapedOreRecipe(new ItemStack(ModBlocks.thermalGenerator), "III", "IRI", "CGC", 'I', "ingotInvar",
@ -661,12 +658,12 @@ public class ModRecipes
ItemStandaloneCables.getCableByName("insulatedgold")); ItemStandaloneCables.getCableByName("insulatedgold"));
CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.mfsu), "LAL", "LML", "LOL", 'A', CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.mfsu), "LAL", "LML", "LOL", 'A',
ItemParts.getPartByName("advancedCircuit"), 'L', lapcrystalStack, 'M', new ItemStack(ModBlocks.mfe), "circuitAdvanced", 'L', lapcrystalStack, 'M', new ItemStack(ModBlocks.mfe),
'O', BlockMachineFrame.getFrameByName("advancedMachine", 1)); 'O', BlockMachineFrame.getFrameByName("advancedMachine", 1));
CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.IndustrialElectrolyzer), "RER", "CEC", "RER", 'R', CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.IndustrialElectrolyzer), "RER", "CEC", "RER", 'R',
ItemIngots.getIngotByName("refinediron"), 'E', new ItemStack(ModBlocks.Extractor), 'C', ItemIngots.getIngotByName("refinediron"), 'E', new ItemStack(ModBlocks.Extractor), 'C',
ItemParts.getPartByName("advancedCircuit")); "circuitAdvanced");
// Mixed Metal Ingot Recipes :P // Mixed Metal Ingot Recipes :P
@ -838,7 +835,7 @@ public class ModRecipes
ItemIngots.getIngotByName("advancedAlloy"), 'C', ItemPlates.getPlateByName("carbon"), 'M', ItemIngots.getIngotByName("advancedAlloy"), 'C', ItemPlates.getPlateByName("carbon"), 'M',
BlockMachineFrame.getFrameByName("machine", 1)); BlockMachineFrame.getFrameByName("machine", 1));
CraftingHelper.addShapedOreRecipe(ItemParts.getPartByName("dataStorageCircuit"), "EEE", "ECE", "EEE", 'E', CraftingHelper.addShapedOreRecipe(ItemParts.getPartByName("dataControlCircuit"), "EEE", "ECE", "EEE", 'E',
new ItemStack(Items.EMERALD), 'C', ItemParts.getPartByName("electronicCircuit")); new ItemStack(Items.EMERALD), 'C', ItemParts.getPartByName("electronicCircuit"));
CraftingHelper CraftingHelper
@ -850,7 +847,7 @@ public class ModRecipes
'M', new ItemStack(ModItems.parts, 1, 13)); 'M', new ItemStack(ModItems.parts, 1, 13));
CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.Supercondensator), "EOE", "SAS", "EOE", 'E', CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.Supercondensator), "EOE", "SAS", "EOE", 'E',
ItemParts.getPartByName("energyFlowCircuit"), 'O', ModItems.lapotronicOrb, 'S', "circuitMaster", 'O', ModItems.lapotronicOrb, 'S',
ItemParts.getPartByName("superconductor"), 'A', ItemParts.getPartByName("superconductor"), 'A',
BlockMachineFrame.getFrameByName("highlyAdvancedMachine", 1)); BlockMachineFrame.getFrameByName("highlyAdvancedMachine", 1));
@ -863,11 +860,11 @@ public class ModRecipes
/* TODO: Make destructopack seperate item /* TODO: Make destructopack seperate item
CraftingHelper.addShapedOreRecipe(ItemParts.getPartByName("destructoPack"), "CIC", "IBI", "CIC", 'C', CraftingHelper.addShapedOreRecipe(ItemParts.getPartByName("destructoPack"), "CIC", "IBI", "CIC", 'C',
ItemParts.getPartByName("advancedCircuit"), 'I', "ingotAluminum", 'B', "circuitAdvanced", 'I', "ingotAluminum", 'B',
new ItemStack(Items.lava_bucket)); new ItemStack(Items.lava_bucket));
CraftingHelper.addShapedOreRecipe(ItemParts.getPartByName("destructoPack"), "CIC", "IBI", "CIC", 'C', CraftingHelper.addShapedOreRecipe(ItemParts.getPartByName("destructoPack"), "CIC", "IBI", "CIC", 'C',
ItemParts.getPartByName("advancedCircuit"), 'I', "ingotRefinedIron", 'B', "circuitAdvanced", 'I', "ingotRefinedIron", 'B',
new ItemStack(Items.lava_bucket)); new ItemStack(Items.lava_bucket));
*/ */
@ -925,15 +922,15 @@ public class ModRecipes
CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.FusionControlComputer), "CCC", "PTP", "CCC", 'P', CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.FusionControlComputer), "CCC", "PTP", "CCC", 'P',
new ItemStack(ModBlocks.ComputerCube), 'T', new ItemStack(ModBlocks.FusionCoil), 'C', new ItemStack(ModBlocks.ComputerCube), 'T', new ItemStack(ModBlocks.FusionCoil), 'C',
ItemParts.getPartByName("energyFlowCircuit")); "circuitMaster");
CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.LightningRod), "CAC", "ACA", "CAC", 'A', CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.LightningRod), "CAC", "ACA", "CAC", 'A',
new ItemStack(ModBlocks.MachineCasing, 1, 2), 'S', ItemParts.getPartByName("superConductor"), 'C', new ItemStack(ModBlocks.MachineCasing, 1, 2), 'S', ItemParts.getPartByName("superConductor"), 'C',
ItemParts.getPartByName("energyFlowCircuit")); "circuitMaster");
CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.FusionCoil), "CSC", "NAN", "CRC", 'A', CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.FusionCoil), "CSC", "NAN", "CRC", 'A',
new ItemStack(ModBlocks.MachineCasing, 1, 2), 'N', ItemParts.getPartByName("nichromeHeatingCoil"), 'C', new ItemStack(ModBlocks.MachineCasing, 1, 2), 'N', ItemParts.getPartByName("nichromeHeatingCoil"), 'C',
ItemParts.getPartByName("energyFlowCircuit"), 'S', ItemParts.getPartByName("superConductor"), 'R', "circuitMaster", 'S', ItemParts.getPartByName("superConductor"), 'R',
ItemParts.getPartByName("iridiumNeutronReflector")); ItemParts.getPartByName("iridiumNeutronReflector"));
CraftingHelper.addShapedOreRecipe(ItemParts.getPartByName("iridiumNeutronReflector"), "PPP", "PIP", "PPP", 'P', CraftingHelper.addShapedOreRecipe(ItemParts.getPartByName("iridiumNeutronReflector"), "PPP", "PIP", "PPP", 'P',
@ -1057,7 +1054,7 @@ public class ModRecipes
{ {
CraftingHelper CraftingHelper
.addShapedOreRecipe(new ItemStack(ModBlocks.quantumTank), "EPE", "PCP", "EPE", 'P', "ingotPlatinum", .addShapedOreRecipe(new ItemStack(ModBlocks.quantumTank), "EPE", "PCP", "EPE", 'P', "ingotPlatinum",
'E', ItemParts.getPartByName("advancedCircuit"), 'C', ModBlocks.quantumChest); 'E', "circuitAdvanced", 'C', ModBlocks.quantumChest);
CraftingHelper CraftingHelper
.addShapedOreRecipe(new ItemStack(ModBlocks.digitalChest), "PPP", "PDP", "PCP", 'P', "plateAluminum", .addShapedOreRecipe(new ItemStack(ModBlocks.digitalChest), "PPP", "PDP", "PCP", 'P', "plateAluminum",
@ -2219,36 +2216,35 @@ public class ModRecipes
CraftingHelper CraftingHelper
.addShapedOreRecipe(ItemParts.getPartByName("machineParts", 16), "CSC", "SCS", "CSC", 'S', "ingotSteel", .addShapedOreRecipe(ItemParts.getPartByName("machineParts", 16), "CSC", "SCS", "CSC", 'S', "ingotSteel",
'C', TechRebornAPI.recipeCompact.getItem("electronicCircuit")); 'C', "circuitBasic");
CraftingHelper.addShapedOreRecipe(ItemParts.getPartByName("energyFlowCircuit", 4), "ATA", "LIL", "ATA", 'T', CraftingHelper.addShapedOreRecipe(ItemParts.getPartByName("energyFlowCircuit", 4), "ATA", "LIL", "ATA", 'T',
"ingotTungsten", 'I', "plateIridium", 'A', TechRebornAPI.recipeCompact.getItem("advancedCircuit"), 'L', "ingotTungsten", 'I', "plateIridium", 'A', "circuitAdvanced", 'L',
TechRebornAPI.recipeCompact.getItem("lapotronCrystal")); "lapotronCrystal");
CraftingHelper.addShapedOreRecipe(ItemParts.getPartByName("superconductor", 4), "CCC", "TIT", "EEE", 'E', CraftingHelper.addShapedOreRecipe(ItemParts.getPartByName("superconductor", 4), "CCC", "TIT", "EEE", 'E',
ItemParts.getPartByName("energyFlowCircuit"), 'C', ItemParts.getPartByName("heliumCoolantSimple"), 'T', "circuitMaster", 'C', ItemParts.getPartByName("heliumCoolantSimple"), 'T',
"ingotTungsten", 'I', TechRebornAPI.recipeCompact.getItem("iridiumPlate")); "ingotTungsten", 'I', "plateIridium");
CraftingHelper.addShapedOreRecipe(new ItemStack(ModItems.lapotronicOrb), "LLL", "LPL", "LLL", 'L', CraftingHelper.addShapedOreRecipe(new ItemStack(ModItems.lapotronicOrb), "LLL", "LPL", "LLL", 'L',
new ItemStack(TechRebornAPI.recipeCompact.getItem("lapotronCrystal").getItem(), 1, "lapotronCrystal", 'P', "plateIridium");
OreDictionary.WILDCARD_VALUE), 'P', TechRebornAPI.recipeCompact.getItem("iridiumPlate"));
CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.industrialSawmill), "PAP", "SSS", "ACA", 'P', CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.industrialSawmill), "PAP", "SSS", "ACA", 'P',
ItemIngots.getIngotByName("refinedIron"), 'A', TechRebornAPI.recipeCompact.getItem("advancedCircuit"), ItemIngots.getIngotByName("refinedIron"), 'A', "circuitAdvanced",
'S', ItemParts.getPartByName("diamondSawBlade"), 'C', 'S', ItemParts.getPartByName("diamondSawBlade"), 'C',
TechRebornAPI.recipeCompact.getItem("advancedMachine")); "machineBlockAdvanced");
CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.ComputerCube), "DME", "MAM", "EMD", 'E', CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.ComputerCube), "DME", "MAM", "EMD", 'E',
ItemParts.getPartByName("energyFlowCircuit"), 'D', ItemParts.getPartByName("dataOrb"), 'M', "circuitMaster", 'D', ItemParts.getPartByName("dataOrb"), 'M',
ItemParts.getPartByName("computerMonitor"), 'A', ItemParts.getPartByName("computerMonitor"), 'A',
TechRebornAPI.recipeCompact.getItem("advancedMachine")); "machineBlockAdvanced");
CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.chargeBench), "ETE", "COC", "EAD", 'E', CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.chargeBench), "ETE", "COC", "EAD", 'E',
ItemParts.getPartByName("energyFlowCircuit"), 'T', ModBlocks.ComputerCube, 'C', Blocks.CHEST, 'O', "circuitMaster", 'T', ModBlocks.ComputerCube, 'C', Blocks.CHEST, 'O',
ModItems.lapotronicOrb, 'A', TechRebornAPI.recipeCompact.getItem("advancedMachine")); ModItems.lapotronicOrb, 'A', "machineBlockAdvanced");
CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.MatterFabricator), "ETE", "AOA", "ETE", 'E', CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.MatterFabricator), "ETE", "AOA", "ETE", 'E',
ItemParts.getPartByName("energyFlowCircuit"), 'T', ModBlocks.Extractor, 'A', "circuitMaster", 'T', ModBlocks.Extractor, 'A',
BlockMachineFrame.getFrameByName("highlyAdvancedMachine", 1), 'O', ModItems.lapotronicOrb); BlockMachineFrame.getFrameByName("highlyAdvancedMachine", 1), 'O', ModItems.lapotronicOrb);
CraftingHelper CraftingHelper
@ -2257,15 +2253,15 @@ public class ModRecipes
CraftingHelper CraftingHelper
.addShapedOreRecipe(new ItemStack(ModBlocks.Gasturbine), "IAI", "WGW", "IAI", 'I', "ingotInvar", 'A', .addShapedOreRecipe(new ItemStack(ModBlocks.Gasturbine), "IAI", "WGW", "IAI", 'I', "ingotInvar", 'A',
TechRebornAPI.recipeCompact.getItem("advancedCircuit"), 'W', "circuitAdvanced", 'W',
TechRebornAPI.recipeCompact.getItem("windMill"), 'G', getOre("ic2Windmill"), 'G',
TechRebornAPI.recipeCompact.getItem("reinforcedGlass")); getOre("glassReinforced"));
CraftingHelper CraftingHelper
.addShapedOreRecipe(new ItemStack(ModBlocks.Gasturbine), "IAI", "WGW", "IAI", 'I', "ingotAluminum", 'A', .addShapedOreRecipe(new ItemStack(ModBlocks.Gasturbine), "IAI", "WGW", "IAI", 'I', "ingotAluminum", 'A',
TechRebornAPI.recipeCompact.getItem("advancedCircuit"), 'W', "circuitAdvanced", 'W',
TechRebornAPI.recipeCompact.getItem("windMill"), 'G', getOre("ic2Windmill"), 'G',
TechRebornAPI.recipeCompact.getItem("reinforcedGlass")); getOre("glassReinforced"));
CraftingHelper CraftingHelper
.addShapedOreRecipe(new ItemStack(ModBlocks.Semifluidgenerator), "III", "IHI", "CGC", 'I', "plateIron", .addShapedOreRecipe(new ItemStack(ModBlocks.Semifluidgenerator), "III", "IHI", "CGC", 'I', "plateIron",
@ -2291,7 +2287,7 @@ public class ModRecipes
// 'S', "craftingSuperconductor", // 'S', "craftingSuperconductor",
// 'B', Blocks.beacon, // 'B', Blocks.beacon,
// 'A', ModBlocks.Magicenergeyconverter, // 'A', ModBlocks.Magicenergeyconverter,
// 'I', TechRebornAPI.recipeCompact.getItem("iridiumPlate")); // 'I', "plateIridium");
// //
// CraftingHelper.addShapedOreRecipe(new // CraftingHelper.addShapedOreRecipe(new
// ItemStack(ModBlocks.Magicenergeyconverter), // ItemStack(ModBlocks.Magicenergeyconverter),
@ -2299,39 +2295,39 @@ public class ModRecipes
// 'C', "circuitAdvanced", // 'C', "circuitAdvanced",
// 'P', "platePlatinum", // 'P', "platePlatinum",
// 'B', Blocks.beacon, // 'B', Blocks.beacon,
// 'L', TechRebornAPI.recipeCompact.getItem("lapotronCrystal"), // 'L', "lapotronCrystal",
// 'T', TechRebornAPI.recipeCompact.getItem("teleporter")); // 'T', TechRebornAPI.recipeCompact.getItem("teleporter"));
CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.Dragoneggenergysiphoner), "CTC", "ISI", "CBC", 'I', CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.Dragoneggenergysiphoner), "CTC", "ISI", "CBC", 'I',
TechRebornAPI.recipeCompact.getItem("iridiumPlate"), 'C', ItemParts.getPartByName("electronicCircuit"), "plateIridium", 'C', ItemParts.getPartByName("electronicCircuit"),
'B', ModItems.lithiumBattery, 'S', ModBlocks.Supercondensator, 'T', ModBlocks.Extractor); 'B', ModItems.lithiumBattery, 'S', ModBlocks.Supercondensator, 'T', ModBlocks.Extractor);
CraftingHelper CraftingHelper
.addShapedOreRecipe(new ItemStack(ModBlocks.centrifuge), "SCS", "BEB", "SCS", 'S', "plateSteel", 'C', .addShapedOreRecipe(new ItemStack(ModBlocks.centrifuge), "SCS", "BEB", "SCS", 'S', "plateSteel", 'C',
"circuitAdvanced", 'B', TechRebornAPI.recipeCompact.getItem("advancedMachine"), 'E', "circuitAdvanced", 'B', "machineBlockAdvanced", 'E',
TechRebornAPI.recipeCompact.getItem("extractor")); getOre("ic2Extractor"));
CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.BlastFurnace), "CHC", "HBH", "FHF", 'H', CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.BlastFurnace), "CHC", "HBH", "FHF", 'H',
new ItemStack(ModItems.parts, 1, 17), 'C', ItemParts.getPartByName("advancedCircuit"), 'B', new ItemStack(ModItems.parts, 1, 17), 'C', "circuitAdvanced", 'B',
BlockMachineFrame.getFrameByName("advancedMachine", 1), 'F', ModBlocks.ElectricFurnace); BlockMachineFrame.getFrameByName("advancedMachine", 1), 'F', ModBlocks.ElectricFurnace);
CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.IndustrialGrinder), "ECP", "GGG", "CBC", 'E', CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.IndustrialGrinder), "ECP", "GGG", "CBC", 'E',
ModBlocks.IndustrialElectrolyzer, 'P', ModBlocks.Extractor, 'C', ModBlocks.IndustrialElectrolyzer, 'P', ModBlocks.Extractor, 'C',
ItemParts.getPartByName("advancedCircuit"), 'B', TechRebornAPI.recipeCompact.getItem("advancedMachine"), "circuitAdvanced", 'B', "machineBlockAdvanced",
'G', ModBlocks.Grinder); 'G', ModBlocks.Grinder);
CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.ImplosionCompressor), "ABA", "CPC", "ABA", 'A', CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.ImplosionCompressor), "ABA", "CPC", "ABA", 'A',
ItemIngots.getIngotByName("advancedAlloy"), 'C', ItemParts.getPartByName("advancedCircuit"), 'B', ItemIngots.getIngotByName("advancedAlloy"), 'C', "circuitAdvanced", 'B',
BlockMachineFrame.getFrameByName("advancedMachine", 1), 'P', ModBlocks.Compressor); BlockMachineFrame.getFrameByName("advancedMachine", 1), 'P', ModBlocks.Compressor);
CraftingHelper CraftingHelper
.addShapedOreRecipe(new ItemStack(ModBlocks.VacuumFreezer), "SPS", "CGC", "SPS", 'S', "plateSteel", 'C', .addShapedOreRecipe(new ItemStack(ModBlocks.VacuumFreezer), "SPS", "CGC", "SPS", 'S', "plateSteel", 'C',
ItemParts.getPartByName("advancedCircuit"), 'G', ModBlocks.reinforcedglass, 'P', "circuitAdvanced", 'G', ModBlocks.reinforcedglass, 'P',
ModBlocks.Extractor); ModBlocks.Extractor);
CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.Distillationtower), "CMC", "PBP", "EME", 'E', CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.Distillationtower), "CMC", "PBP", "EME", 'E',
ModBlocks.IndustrialElectrolyzer, 'M', "circuitMaster", 'B', ModBlocks.IndustrialElectrolyzer, 'M', "circuitMaster", 'B',
TechRebornAPI.recipeCompact.getItem("advancedMachine"), 'C', ModBlocks.centrifuge, 'P', "machineBlockAdvanced", 'C', ModBlocks.centrifuge, 'P',
ModBlocks.Extractor); ModBlocks.Extractor);
CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.AlloyFurnace), "III", "F F", "III", 'I', CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.AlloyFurnace), "III", "F F", "III", 'I',
@ -2339,12 +2335,12 @@ public class ModRecipes
CraftingHelper CraftingHelper
.addShapedOreRecipe(new ItemStack(ModBlocks.ChemicalReactor), "IMI", "CPC", "IEI", 'I', "ingotInvar", .addShapedOreRecipe(new ItemStack(ModBlocks.ChemicalReactor), "IMI", "CPC", "IEI", 'I', "ingotInvar",
'C', ItemParts.getPartByName("advancedCircuit"), 'M', ModBlocks.Extractor, 'P', 'C', "circuitAdvanced", 'M', ModBlocks.Extractor, 'P',
ModBlocks.Compressor, 'E', ModBlocks.Extractor); ModBlocks.Compressor, 'E', ModBlocks.Extractor);
CraftingHelper CraftingHelper
.addShapedOreRecipe(new ItemStack(ModBlocks.RollingMachine), "PCP", "MBM", "PCP", 'P', Blocks.PISTON, .addShapedOreRecipe(new ItemStack(ModBlocks.RollingMachine), "PCP", "MBM", "PCP", 'P', Blocks.PISTON,
'C', ItemParts.getPartByName("advancedCircuit"), 'M', ModBlocks.Compressor, 'B', 'C', "circuitAdvanced", 'M', ModBlocks.Compressor, 'B',
BlockMachineFrame.getFrameByName("machine", 1)); BlockMachineFrame.getFrameByName("machine", 1));
// CraftingHelper.addShapedOreRecipe(new // CraftingHelper.addShapedOreRecipe(new
@ -2353,7 +2349,7 @@ public class ModRecipes
// 'I', "plateIron", // 'I', "plateIron",
// 'C', "circuitAdvanced", // 'C', "circuitAdvanced",
// 'T', "crafterWood", // 'T', "crafterWood",
// 'B', TechRebornAPI.recipeCompact.getItem("machine")); // 'B', "machineBlockBasic");
// CraftingHelper.addShapedOreRecipe(new // CraftingHelper.addShapedOreRecipe(new
// ItemStack(ModBlocks.ElectricCraftingTable), // ItemStack(ModBlocks.ElectricCraftingTable),
@ -2361,7 +2357,7 @@ public class ModRecipes
// 'A', "plateAluminum", // 'A', "plateAluminum",
// 'C', "circuitAdvanced", // 'C', "circuitAdvanced",
// 'T', "crafterWood", // 'T', "crafterWood",
// 'B', TechRebornAPI.recipeCompact.getItem("machine")); // 'B', "machineBlockBasic");
// CraftingHelper.addShapedOreRecipe(new // CraftingHelper.addShapedOreRecipe(new
// ItemStack(ModBlocks.ChunkLoader), // ItemStack(ModBlocks.ChunkLoader),
@ -2371,19 +2367,19 @@ public class ModRecipes
// 'M', new ItemStack(ModItems.parts, 1, 39)); // 'M', new ItemStack(ModItems.parts, 1, 39));
CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.Lesu), " L ", "CBC", " M ", 'L', ModBlocks.lvt, 'C', CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.Lesu), " L ", "CBC", " M ", 'L', ModBlocks.lvt, 'C',
ItemParts.getPartByName("advancedCircuit"), 'M', ModBlocks.mvt, 'B', ModBlocks.LesuStorage); "circuitAdvanced", 'M', ModBlocks.mvt, 'B', ModBlocks.LesuStorage);
CraftingHelper CraftingHelper
.addShapedOreRecipe(BlockMachineFrame.getFrameByName("highlyAdvancedMachine", 1), "CTC", "TBT", "CTC", .addShapedOreRecipe(BlockMachineFrame.getFrameByName("highlyAdvancedMachine", 1), "CTC", "TBT", "CTC",
'C', "ingotChrome", 'T', "ingotTitanium", 'B', 'C', "ingotChrome", 'T', "ingotTitanium", 'B',
TechRebornAPI.recipeCompact.getItem("advancedMachine")); "machineBlockAdvanced");
CraftingHelper CraftingHelper
.addShapedOreRecipe(new ItemStack(ModBlocks.MachineCasing, 4, 0), "III", "CBC", "III", 'I', "plateIron", .addShapedOreRecipe(new ItemStack(ModBlocks.MachineCasing, 4, 0), "III", "CBC", "III", 'I', "plateIron",
'C', "circuitBasic", 'B', TechRebornAPI.recipeCompact.getItem("machine")); 'C', "circuitBasic", 'B', "machineBlockBasic");
CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.MachineCasing, 4, 1), "SSS", "CBC", "SSS", 'S', CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.MachineCasing, 4, 1), "SSS", "CBC", "SSS", 'S',
"plateSteel", 'C', "circuitAdvanced", 'B', TechRebornAPI.recipeCompact.getItem("advancedMachine")); "plateSteel", 'C', "circuitAdvanced", 'B', "machineBlockAdvanced");
CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.MachineCasing, 4, 2), "HHH", "CBC", "HHH", 'H', CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.MachineCasing, 4, 2), "HHH", "CBC", "HHH", 'H',
"ingotChrome", 'C', "circuitElite", 'B', BlockMachineFrame.getFrameByName("highlyAdvancedMachine", 1)); "ingotChrome", 'C', "circuitElite", 'B', BlockMachineFrame.getFrameByName("highlyAdvancedMachine", 1));
@ -2394,50 +2390,29 @@ public class ModRecipes
ModBlocks.Compressor); ModBlocks.Compressor);
CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.PlasmaGenerator), "PPP", "PTP", "CGC", 'P', CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.PlasmaGenerator), "PPP", "PTP", "CGC", 'P',
ItemPlates.getPlateByName("tungstensteel"), 'T', TechRebornAPI.recipeCompact.getItem("hvTransformer"), ItemPlates.getPlateByName("tungstensteel"), 'T', getOre("hvTransformer"),
'G', TechRebornAPI.recipeCompact.getItem("generator"), 'C', 'G', "ic2Generator", 'C',
ItemParts.getPartByName("energyFlowCircuit")); "circuitMaster");
// Smetling // Smetling
CraftingHelper CraftingHelper
.addSmelting(ItemDusts.getDustByName("copper", 1), TechRebornAPI.recipeCompact.getItem("copperIngot"), .addSmelting(ItemDusts.getDustByName("copper", 1), getOre("ingotCopper"),
1F); 1F);
CraftingHelper CraftingHelper
.addSmelting(ItemDusts.getDustByName("tin", 1), TechRebornAPI.recipeCompact.getItem("tinIngot"), 1F); .addSmelting(ItemDusts.getDustByName("tin", 1), ItemIngots.getIngotByName("tin"), 1F);
CraftingHelper CraftingHelper
.addSmelting(ItemDusts.getDustByName("bronze", 1), TechRebornAPI.recipeCompact.getItem("bronzeIngot"), .addSmelting(ItemDusts.getDustByName("bronze", 1), ItemIngots.getIngotByName("bronze"),
1F); 1F);
CraftingHelper CraftingHelper
.addSmelting(ItemDusts.getDustByName("lead", 1), TechRebornAPI.recipeCompact.getItem("leadIngot"), 1F); .addSmelting(ItemDusts.getDustByName("lead", 1), ItemIngots.getIngotByName("lead"), 1F);
CraftingHelper CraftingHelper
.addSmelting(ItemDusts.getDustByName("silver", 1), TechRebornAPI.recipeCompact.getItem("silverIngot"), .addSmelting(ItemDusts.getDustByName("silver", 1), ItemIngots.getIngotByName("silver"),
1F); 1F);
// Saw mill
ItemStack pulpStack = OreDictionary.getOres("pulpWood").get(0);
RecipeHandler.addRecipe(new IndustrialSawmillRecipe(new ItemStack(Blocks.LOG, 1, 0),
TechRebornAPI.recipeCompact.getItem("waterCell"), null, new ItemStack(Blocks.PLANKS, 6, 0), pulpStack,
ItemCells.getCellByName("empty"), 200, 30, false));
RecipeHandler.addRecipe(new IndustrialSawmillRecipe(new ItemStack(Blocks.LOG, 1, 0),
TechRebornAPI.recipeCompact.getItem("waterCell"), null, new ItemStack(Blocks.PLANKS, 6, 0), pulpStack,
ItemCells.getCellByName("empty"), 200, 30, false));
RecipeHandler.addRecipe(new IndustrialSawmillRecipe(new ItemStack(Blocks.LOG, 1, 2),
TechRebornAPI.recipeCompact.getItem("waterCell"), null, new ItemStack(Blocks.PLANKS, 6, 2), pulpStack,
ItemCells.getCellByName("empty"), 200, 30, false));
RecipeHandler.addRecipe(new IndustrialSawmillRecipe(new ItemStack(Blocks.LOG, 1, 3),
TechRebornAPI.recipeCompact.getItem("waterCell"), null, new ItemStack(Blocks.PLANKS, 6, 3), pulpStack,
ItemCells.getCellByName("empty"), 200, 30, false));
RecipeHandler.addRecipe(new IndustrialSawmillRecipe(new ItemStack(Blocks.LOG2, 1, 0),
TechRebornAPI.recipeCompact.getItem("waterCell"), null, new ItemStack(Blocks.PLANKS, 6, 4), pulpStack,
ItemCells.getCellByName("empty"), 200, 30, false));
RecipeHandler.addRecipe(new IndustrialSawmillRecipe(new ItemStack(Blocks.LOG2, 1, 1),
TechRebornAPI.recipeCompact.getItem("waterCell"), null, new ItemStack(Blocks.PLANKS, 6, 5), pulpStack,
ItemCells.getCellByName("empty"), 200, 30, false));
// UU // UU
if (ConfigTechReborn.UUrecipesIridiamOre) if (ConfigTechReborn.UUrecipesIridiamOre)
CraftingHelper CraftingHelper
.addShapedOreRecipe((TechRebornAPI.recipeCompact.getItem("iridiumOre")), "UUU", " U ", "UUU", 'U', .addShapedOreRecipe((OreDictionary.getOres("oreIridium").get(0)), "UUU", " U ", "UUU", 'U',
ModItems.uuMatter); ModItems.uuMatter);
// Blast Furnace // Blast Furnace
@ -2542,7 +2517,7 @@ public class ModRecipes
// Rubber Wood Yields // Rubber Wood Yields
RecipeHandler.addRecipe( RecipeHandler.addRecipe(
new CentrifugeRecipe(new ItemStack(TechRebornAPI.recipeCompact.getItem("rubberWood").getItem(), 16), new CentrifugeRecipe(new ItemStack(getOre("rubberWood").getItem(), 16),
ItemCells.getCellByName("empty", 5), new ItemStack(ModItems.parts, 8, 41), ItemCells.getCellByName("empty", 5), new ItemStack(ModItems.parts, 8, 41),
new ItemStack(Blocks.SAPLING, 6), ItemCells.getCellByName("methane", 1), new ItemStack(Blocks.SAPLING, 6), ItemCells.getCellByName("methane", 1),
ItemCells.getCellByName("carbon", 4), 5000, 5, false)); ItemCells.getCellByName("carbon", 4), 5000, 5, false));
@ -2588,7 +2563,7 @@ public class ModRecipes
ItemCells.getCellByName("deuterium", 1), ItemCells.getCellByName("empty", 3), null, null, 3000, 5)); ItemCells.getCellByName("deuterium", 1), ItemCells.getCellByName("empty", 3), null, null, 3000, 5));
// Lava Cell Byproducts // Lava Cell Byproducts
ItemStack lavaCells = TechRebornAPI.recipeCompact.getItem("lavaCell"); ItemStack lavaCells = ItemCells.getCellByName("lava");
lavaCells.stackSize = 8; lavaCells.stackSize = 8;
RecipeHandler.addRecipe(new CentrifugeRecipe(lavaCells, null, ItemNuggets.getNuggetByName("electrum", 4), RecipeHandler.addRecipe(new CentrifugeRecipe(lavaCells, null, ItemNuggets.getNuggetByName("electrum", 4),
ItemIngots.getIngotByName("copper", 2), ItemDustsSmall.getSmallDustByName("Tungsten", 1), ItemIngots.getIngotByName("copper", 2), ItemDustsSmall.getSmallDustByName("Tungsten", 1),
@ -2596,15 +2571,15 @@ public class ModRecipes
// IndustrialGrinderRecipes // IndustrialGrinderRecipes
RecipeHandler.addRecipe(new IndustrialGrinderRecipe(new ItemStack(Blocks.COAL_ORE, 1), RecipeHandler.addRecipe(new IndustrialGrinderRecipe(new ItemStack(Blocks.COAL_ORE, 1),
TechRebornAPI.recipeCompact.getItem("waterCell"), null, new ItemStack(Items.COAL, 1), ItemCells.getCellByName("water"), null, new ItemStack(Items.COAL, 1),
ItemDustsSmall.getSmallDustByName("Coal", 6), ItemDustsSmall.getSmallDustByName("Coal", 2), ItemDustsSmall.getSmallDustByName("Coal", 6), ItemDustsSmall.getSmallDustByName("Coal", 2),
ItemCells.getCellByName("empty"), 100, 120)); ItemCells.getCellByName("empty"), 100, 120));
RecipeHandler.addRecipe(new IndustrialGrinderRecipe(new ItemStack(Blocks.IRON_ORE, 1), RecipeHandler.addRecipe(new IndustrialGrinderRecipe(new ItemStack(Blocks.IRON_ORE, 1),
TechRebornAPI.recipeCompact.getItem("waterCell"), null, ItemDusts.getDustByName("iron", 2), ItemCells.getCellByName("water"), null, ItemDusts.getDustByName("iron", 2),
ItemDustsSmall.getSmallDustByName("Nickel", 1), ItemDustsSmall.getSmallDustByName("Tin", 1), ItemDustsSmall.getSmallDustByName("Nickel", 1), ItemDustsSmall.getSmallDustByName("Tin", 1),
ItemCells.getCellByName("empty"), 100, 120)); ItemCells.getCellByName("empty"), 100, 120));
RecipeHandler.addRecipe(new IndustrialGrinderRecipe(new ItemStack(Blocks.GOLD_ORE, 1), RecipeHandler.addRecipe(new IndustrialGrinderRecipe(new ItemStack(Blocks.GOLD_ORE, 1),
TechRebornAPI.recipeCompact.getItem("waterCell"), null, ItemDusts.getDustByName("gold", 2), ItemCells.getCellByName("water"), null, ItemDusts.getDustByName("gold", 2),
ItemDustsSmall.getSmallDustByName("Copper", 1), ItemDustsSmall.getSmallDustByName("Nickel", 1), ItemDustsSmall.getSmallDustByName("Copper", 1), ItemDustsSmall.getSmallDustByName("Nickel", 1),
ItemCells.getCellByName("empty"), 100, 120)); ItemCells.getCellByName("empty"), 100, 120));
RecipeHandler.addRecipe(new IndustrialGrinderRecipe(new ItemStack(Blocks.IRON_ORE, 1), RecipeHandler.addRecipe(new IndustrialGrinderRecipe(new ItemStack(Blocks.IRON_ORE, 1),
@ -2620,19 +2595,19 @@ public class ModRecipes
null, ItemDusts.getDustByName("gold", 3), ItemDustsSmall.getSmallDustByName("Copper", 1), null, ItemDusts.getDustByName("gold", 3), ItemDustsSmall.getSmallDustByName("Copper", 1),
ItemDustsSmall.getSmallDustByName("Nickel", 1), ItemCells.getCellByName("empty"), 100, 120)); ItemDustsSmall.getSmallDustByName("Nickel", 1), ItemCells.getCellByName("empty"), 100, 120));
RecipeHandler.addRecipe(new IndustrialGrinderRecipe(new ItemStack(Blocks.DIAMOND_ORE, 1), RecipeHandler.addRecipe(new IndustrialGrinderRecipe(new ItemStack(Blocks.DIAMOND_ORE, 1),
TechRebornAPI.recipeCompact.getItem("waterCell"), null, new ItemStack(Items.DIAMOND, 1), ItemCells.getCellByName("water"), null, new ItemStack(Items.DIAMOND, 1),
ItemDustsSmall.getSmallDustByName("Diamond", 6), ItemDustsSmall.getSmallDustByName("Coal", 2), ItemDustsSmall.getSmallDustByName("Diamond", 6), ItemDustsSmall.getSmallDustByName("Coal", 2),
ItemCells.getCellByName("empty"), 100, 120)); ItemCells.getCellByName("empty"), 100, 120));
RecipeHandler.addRecipe(new IndustrialGrinderRecipe(new ItemStack(Blocks.EMERALD_ORE, 1), RecipeHandler.addRecipe(new IndustrialGrinderRecipe(new ItemStack(Blocks.EMERALD_ORE, 1),
TechRebornAPI.recipeCompact.getItem("waterCell"), null, new ItemStack(Items.EMERALD, 1), ItemCells.getCellByName("water"), null, new ItemStack(Items.EMERALD, 1),
ItemDustsSmall.getSmallDustByName("Emerald", 6), ItemDustsSmall.getSmallDustByName("Aluminum", 2), ItemDustsSmall.getSmallDustByName("Emerald", 6), ItemDustsSmall.getSmallDustByName("Aluminum", 2),
ItemCells.getCellByName("empty"), 100, 120)); ItemCells.getCellByName("empty"), 100, 120));
RecipeHandler.addRecipe(new IndustrialGrinderRecipe(new ItemStack(Blocks.REDSTONE_ORE, 1), RecipeHandler.addRecipe(new IndustrialGrinderRecipe(new ItemStack(Blocks.REDSTONE_ORE, 1),
TechRebornAPI.recipeCompact.getItem("waterCell"), null, new ItemStack(Items.REDSTONE, 10), ItemCells.getCellByName("water"), null, new ItemStack(Items.REDSTONE, 10),
ItemDustsSmall.getSmallDustByName("Cinnabar", 1), ItemDustsSmall.getSmallDustByName("Glowstone", 1), ItemDustsSmall.getSmallDustByName("Cinnabar", 1), ItemDustsSmall.getSmallDustByName("Glowstone", 1),
ItemCells.getCellByName("empty"), 100, 120)); ItemCells.getCellByName("empty"), 100, 120));
RecipeHandler.addRecipe(new IndustrialGrinderRecipe(new ItemStack(Blocks.LAPIS_ORE, 1), RecipeHandler.addRecipe(new IndustrialGrinderRecipe(new ItemStack(Blocks.LAPIS_ORE, 1),
TechRebornAPI.recipeCompact.getItem("waterCell"), null, new ItemStack(Items.DYE, 6, 4), ItemCells.getCellByName("water"), null, new ItemStack(Items.DYE, 6, 4),
ItemDustsSmall.getSmallDustByName("Lazurite", 3), null, ItemCells.getCellByName("empty"), 100, 120)); ItemDustsSmall.getSmallDustByName("Lazurite", 3), null, ItemCells.getCellByName("empty"), 100, 120));
// Copper Ore // Copper Ore
@ -2642,7 +2617,7 @@ public class ModRecipes
{ {
ItemStack oreStack = OreDictionary.getOres("oreCopper").get(0); ItemStack oreStack = OreDictionary.getOres("oreCopper").get(0);
RecipeHandler.addRecipe( RecipeHandler.addRecipe(
new IndustrialGrinderRecipe(oreStack, TechRebornAPI.recipeCompact.getItem("waterCell"), null, new IndustrialGrinderRecipe(oreStack,ItemCells.getCellByName("water"), null,
ItemDusts.getDustByName("copper", 2), ItemDustsSmall.getSmallDustByName("Gold", 1), ItemDusts.getDustByName("copper", 2), ItemDustsSmall.getSmallDustByName("Gold", 1),
ItemDustsSmall.getSmallDustByName("Nickel", 1), ItemCells.getCellByName("empty"), 100, ItemDustsSmall.getSmallDustByName("Nickel", 1), ItemCells.getCellByName("empty"), 100,
120)); 120));
@ -2670,7 +2645,7 @@ public class ModRecipes
{ {
ItemStack oreStack = OreDictionary.getOres("oreTin").get(0); ItemStack oreStack = OreDictionary.getOres("oreTin").get(0);
RecipeHandler.addRecipe( RecipeHandler.addRecipe(
new IndustrialGrinderRecipe(oreStack, TechRebornAPI.recipeCompact.getItem("waterCell"), null, new IndustrialGrinderRecipe(oreStack,ItemCells.getCellByName("water"), null,
ItemDusts.getDustByName("tin", 2), ItemDustsSmall.getSmallDustByName("Iron", 1), ItemDusts.getDustByName("tin", 2), ItemDustsSmall.getSmallDustByName("Iron", 1),
ItemDustsSmall.getSmallDustByName("Zinc", 1), ItemCells.getCellByName("empty"), 100, ItemDustsSmall.getSmallDustByName("Zinc", 1), ItemCells.getCellByName("empty"), 100,
120)); 120));
@ -2691,7 +2666,7 @@ public class ModRecipes
{ {
ItemStack oreStack = OreDictionary.getOres("oreNickel").get(0); ItemStack oreStack = OreDictionary.getOres("oreNickel").get(0);
RecipeHandler.addRecipe( RecipeHandler.addRecipe(
new IndustrialGrinderRecipe(oreStack, TechRebornAPI.recipeCompact.getItem("waterCell"), null, new IndustrialGrinderRecipe(oreStack,ItemCells.getCellByName("water"), null,
ItemDusts.getDustByName("nickel", 2), ItemDustsSmall.getSmallDustByName("Iron", 1), ItemDusts.getDustByName("nickel", 2), ItemDustsSmall.getSmallDustByName("Iron", 1),
ItemDustsSmall.getSmallDustByName("Platinum", 1), ItemCells.getCellByName("empty"), 100, ItemDustsSmall.getSmallDustByName("Platinum", 1), ItemCells.getCellByName("empty"), 100,
120)); 120));
@ -2717,7 +2692,7 @@ public class ModRecipes
{ {
ItemStack oreStack = OreDictionary.getOres("oreZinc").get(0); ItemStack oreStack = OreDictionary.getOres("oreZinc").get(0);
RecipeHandler.addRecipe( RecipeHandler.addRecipe(
new IndustrialGrinderRecipe(oreStack, TechRebornAPI.recipeCompact.getItem("waterCell"), null, new IndustrialGrinderRecipe(oreStack,ItemCells.getCellByName("water"), null,
ItemDusts.getDustByName("zinc", 2), ItemDustsSmall.getSmallDustByName("Iron", 1), ItemDusts.getDustByName("zinc", 2), ItemDustsSmall.getSmallDustByName("Iron", 1),
ItemDustsSmall.getSmallDustByName("Tin", 1), ItemCells.getCellByName("empty"), 100, ItemDustsSmall.getSmallDustByName("Tin", 1), ItemCells.getCellByName("empty"), 100,
120)); 120));
@ -2738,7 +2713,7 @@ public class ModRecipes
{ {
ItemStack oreStack = OreDictionary.getOres("oreSilver").get(0); ItemStack oreStack = OreDictionary.getOres("oreSilver").get(0);
RecipeHandler.addRecipe( RecipeHandler.addRecipe(
new IndustrialGrinderRecipe(oreStack, TechRebornAPI.recipeCompact.getItem("waterCell"), null, new IndustrialGrinderRecipe(oreStack,ItemCells.getCellByName("water"), null,
ItemDusts.getDustByName("silver", 2), ItemDustsSmall.getSmallDustByName("Lead", 1), ItemDusts.getDustByName("silver", 2), ItemDustsSmall.getSmallDustByName("Lead", 1),
ItemDustsSmall.getSmallDustByName("Sulfur", 1), ItemCells.getCellByName("empty"), 100, ItemDustsSmall.getSmallDustByName("Sulfur", 1), ItemCells.getCellByName("empty"), 100,
120)); 120));
@ -2760,7 +2735,7 @@ public class ModRecipes
{ {
ItemStack oreStack = OreDictionary.getOres("oreLead").get(0); ItemStack oreStack = OreDictionary.getOres("oreLead").get(0);
RecipeHandler.addRecipe( RecipeHandler.addRecipe(
new IndustrialGrinderRecipe(oreStack, TechRebornAPI.recipeCompact.getItem("waterCell"), null, new IndustrialGrinderRecipe(oreStack,ItemCells.getCellByName("water"), null,
ItemDusts.getDustByName("lead", 2), ItemDustsSmall.getSmallDustByName("Silver", 1), ItemDusts.getDustByName("lead", 2), ItemDustsSmall.getSmallDustByName("Silver", 1),
ItemDustsSmall.getSmallDustByName("Sulfur", 1), ItemCells.getCellByName("empty"), 100, ItemDustsSmall.getSmallDustByName("Sulfur", 1), ItemCells.getCellByName("empty"), 100,
120)); 120));
@ -2781,15 +2756,15 @@ public class ModRecipes
try try
{ {
ItemStack oreStack = OreDictionary.getOres("oreUranium").get(0); ItemStack oreStack = OreDictionary.getOres("oreUranium").get(0);
ItemStack uranium238Stack = TechRebornAPI.recipeCompact.getItem("Uran238"); ItemStack uranium238Stack = getOre("uran238");
uranium238Stack.stackSize = 8; uranium238Stack.stackSize = 8;
ItemStack uranium235Stack = TechRebornAPI.recipeCompact.getItem("smallUran235"); ItemStack uranium235Stack = getOre("smallUran235");
uranium235Stack.stackSize = 2; uranium235Stack.stackSize = 2;
RecipeHandler.addRecipe( RecipeHandler.addRecipe(
new IndustrialGrinderRecipe(oreStack, null, new FluidStack(FluidRegistry.WATER, 1000), new IndustrialGrinderRecipe(oreStack, null, new FluidStack(FluidRegistry.WATER, 1000),
uranium238Stack, uranium235Stack, null, null, 100, 120)); uranium238Stack, uranium235Stack, null, null, 100, 120));
RecipeHandler.addRecipe( RecipeHandler.addRecipe(
new IndustrialGrinderRecipe(oreStack, TechRebornAPI.recipeCompact.getItem("waterCell"), null, new IndustrialGrinderRecipe(oreStack,ItemCells.getCellByName("water"), null,
uranium238Stack, uranium235Stack, null, ItemCells.getCellByName("empty"), 100, 120)); uranium238Stack, uranium235Stack, null, ItemCells.getCellByName("empty"), 100, 120));
RecipeHandler.addRecipe( RecipeHandler.addRecipe(
new IndustrialGrinderRecipe(oreStack, new ItemStack(Items.WATER_BUCKET), null, uranium238Stack, new IndustrialGrinderRecipe(oreStack, new ItemStack(Items.WATER_BUCKET), null, uranium238Stack,
@ -2806,15 +2781,15 @@ public class ModRecipes
try try
{ {
ItemStack oreStack = OreDictionary.getOres("orePitchblende").get(0); ItemStack oreStack = OreDictionary.getOres("orePitchblende").get(0);
ItemStack uranium238Stack = TechRebornAPI.recipeCompact.getItem("Uran238"); ItemStack uranium238Stack = getOre("uran238");
uranium238Stack.stackSize = 8; uranium238Stack.stackSize = 8;
ItemStack uranium235Stack = TechRebornAPI.recipeCompact.getItem("smallUran235"); ItemStack uranium235Stack = getOre("uran235");
uranium235Stack.stackSize = 2; uranium235Stack.stackSize = 2;
RecipeHandler.addRecipe( RecipeHandler.addRecipe(
new IndustrialGrinderRecipe(oreStack, null, new FluidStack(FluidRegistry.WATER, 1000), new IndustrialGrinderRecipe(oreStack, null, new FluidStack(FluidRegistry.WATER, 1000),
uranium238Stack, uranium235Stack, null, null, 100, 120)); uranium238Stack, uranium235Stack, null, null, 100, 120));
RecipeHandler.addRecipe( RecipeHandler.addRecipe(
new IndustrialGrinderRecipe(oreStack, TechRebornAPI.recipeCompact.getItem("waterCell"), null, new IndustrialGrinderRecipe(oreStack,ItemCells.getCellByName("water"), null,
uranium238Stack, uranium235Stack, null, ItemCells.getCellByName("empty"), 100, 120)); uranium238Stack, uranium235Stack, null, ItemCells.getCellByName("empty"), 100, 120));
RecipeHandler.addRecipe( RecipeHandler.addRecipe(
new IndustrialGrinderRecipe(oreStack, new ItemStack(Items.WATER_BUCKET), null, uranium238Stack, new IndustrialGrinderRecipe(oreStack, new ItemStack(Items.WATER_BUCKET), null, uranium238Stack,
@ -2832,7 +2807,7 @@ public class ModRecipes
{ {
ItemStack oreStack = OreDictionary.getOres("oreAluminum").get(0); ItemStack oreStack = OreDictionary.getOres("oreAluminum").get(0);
RecipeHandler.addRecipe( RecipeHandler.addRecipe(
new IndustrialGrinderRecipe(oreStack, TechRebornAPI.recipeCompact.getItem("waterCell"), null, new IndustrialGrinderRecipe(oreStack,ItemCells.getCellByName("water"), null,
ItemDusts.getDustByName("aluminum", 2), ItemDustsSmall.getSmallDustByName("Bauxite", 1), ItemDusts.getDustByName("aluminum", 2), ItemDustsSmall.getSmallDustByName("Bauxite", 1),
ItemDustsSmall.getSmallDustByName("Bauxite", 1), ItemCells.getCellByName("empty"), 100, ItemDustsSmall.getSmallDustByName("Bauxite", 1), ItemCells.getCellByName("empty"), 100,
120)); 120));
@ -2849,7 +2824,7 @@ public class ModRecipes
{ {
ItemStack oreStack = OreDictionary.getOres("oreArdite").get(0); ItemStack oreStack = OreDictionary.getOres("oreArdite").get(0);
RecipeHandler.addRecipe( RecipeHandler.addRecipe(
new IndustrialGrinderRecipe(oreStack, TechRebornAPI.recipeCompact.getItem("waterCell"), null, new IndustrialGrinderRecipe(oreStack,ItemCells.getCellByName("water"), null,
ItemDusts.getDustByName("ardite", 2), ItemDustsSmall.getSmallDustByName("Ardite", 1), ItemDusts.getDustByName("ardite", 2), ItemDustsSmall.getSmallDustByName("Ardite", 1),
ItemDustsSmall.getSmallDustByName("Ardite", 1), ItemCells.getCellByName("empty"), 100, ItemDustsSmall.getSmallDustByName("Ardite", 1), ItemCells.getCellByName("empty"), 100,
120)); 120));
@ -2866,7 +2841,7 @@ public class ModRecipes
{ {
ItemStack oreStack = OreDictionary.getOres("oreCobalt").get(0); ItemStack oreStack = OreDictionary.getOres("oreCobalt").get(0);
RecipeHandler.addRecipe( RecipeHandler.addRecipe(
new IndustrialGrinderRecipe(oreStack, TechRebornAPI.recipeCompact.getItem("waterCell"), null, new IndustrialGrinderRecipe(oreStack,ItemCells.getCellByName("water"), null,
ItemDusts.getDustByName("cobalt", 2), ItemDustsSmall.getSmallDustByName("Cobalt", 1), ItemDusts.getDustByName("cobalt", 2), ItemDustsSmall.getSmallDustByName("Cobalt", 1),
ItemDustsSmall.getSmallDustByName("Cobalt", 1), ItemCells.getCellByName("empty"), 100, ItemDustsSmall.getSmallDustByName("Cobalt", 1), ItemCells.getCellByName("empty"), 100,
120)); 120));
@ -2883,7 +2858,7 @@ public class ModRecipes
{ {
ItemStack oreStack = OreDictionary.getOres("oreDarkIron").get(0); ItemStack oreStack = OreDictionary.getOres("oreDarkIron").get(0);
RecipeHandler.addRecipe( RecipeHandler.addRecipe(
new IndustrialGrinderRecipe(oreStack, TechRebornAPI.recipeCompact.getItem("waterCell"), null, new IndustrialGrinderRecipe(oreStack,ItemCells.getCellByName("water"), null,
ItemDusts.getDustByName("darkIron", 2), ItemDusts.getDustByName("darkIron", 2),
ItemDustsSmall.getSmallDustByName("DarkIron", 1), ItemDustsSmall.getSmallDustByName("DarkIron", 1),
ItemDustsSmall.getSmallDustByName("Iron", 1), ItemCells.getCellByName("empty"), 100, ItemDustsSmall.getSmallDustByName("Iron", 1), ItemCells.getCellByName("empty"), 100,
@ -2901,7 +2876,7 @@ public class ModRecipes
{ {
ItemStack oreStack = OreDictionary.getOres("oreCadmium").get(0); ItemStack oreStack = OreDictionary.getOres("oreCadmium").get(0);
RecipeHandler.addRecipe( RecipeHandler.addRecipe(
new IndustrialGrinderRecipe(oreStack, TechRebornAPI.recipeCompact.getItem("waterCell"), null, new IndustrialGrinderRecipe(oreStack,ItemCells.getCellByName("water"), null,
ItemDusts.getDustByName("cadmium", 2), ItemDustsSmall.getSmallDustByName("Cadmium", 1), ItemDusts.getDustByName("cadmium", 2), ItemDustsSmall.getSmallDustByName("Cadmium", 1),
ItemDustsSmall.getSmallDustByName("Cadmium", 1), ItemCells.getCellByName("empty"), 100, ItemDustsSmall.getSmallDustByName("Cadmium", 1), ItemCells.getCellByName("empty"), 100,
120)); 120));
@ -2918,7 +2893,7 @@ public class ModRecipes
{ {
ItemStack oreStack = OreDictionary.getOres("oreIndium").get(0); ItemStack oreStack = OreDictionary.getOres("oreIndium").get(0);
RecipeHandler.addRecipe( RecipeHandler.addRecipe(
new IndustrialGrinderRecipe(oreStack, TechRebornAPI.recipeCompact.getItem("waterCell"), null, new IndustrialGrinderRecipe(oreStack,ItemCells.getCellByName("water"), null,
ItemDusts.getDustByName("indium", 2), ItemDustsSmall.getSmallDustByName("Indium", 1), ItemDusts.getDustByName("indium", 2), ItemDustsSmall.getSmallDustByName("Indium", 1),
ItemDustsSmall.getSmallDustByName("Indium", 1), ItemCells.getCellByName("empty"), 100, ItemDustsSmall.getSmallDustByName("Indium", 1), ItemCells.getCellByName("empty"), 100,
120)); 120));
@ -2936,7 +2911,7 @@ public class ModRecipes
ItemStack oreStack = OreDictionary.getOres("oreCalcite").get(0); ItemStack oreStack = OreDictionary.getOres("oreCalcite").get(0);
ItemStack gemStack = OreDictionary.getOres("gemCalcite").get(0); ItemStack gemStack = OreDictionary.getOres("gemCalcite").get(0);
RecipeHandler.addRecipe( RecipeHandler.addRecipe(
new IndustrialGrinderRecipe(oreStack, TechRebornAPI.recipeCompact.getItem("waterCell"), null, new IndustrialGrinderRecipe(oreStack,ItemCells.getCellByName("water"), null,
gemStack, ItemDustsSmall.getSmallDustByName("Calcite", 6), null, gemStack, ItemDustsSmall.getSmallDustByName("Calcite", 6), null,
ItemCells.getCellByName("empty"), 100, 120)); ItemCells.getCellByName("empty"), 100, 120));
} catch (Exception e) } catch (Exception e)
@ -2953,7 +2928,7 @@ public class ModRecipes
ItemStack oreStack = OreDictionary.getOres("oreMagnetite").get(0); ItemStack oreStack = OreDictionary.getOres("oreMagnetite").get(0);
ItemStack chunkStack = OreDictionary.getOres("chunkMagnetite").get(0); ItemStack chunkStack = OreDictionary.getOres("chunkMagnetite").get(0);
RecipeHandler.addRecipe( RecipeHandler.addRecipe(
new IndustrialGrinderRecipe(oreStack, TechRebornAPI.recipeCompact.getItem("waterCell"), null, new IndustrialGrinderRecipe(oreStack,ItemCells.getCellByName("water"), null,
chunkStack, ItemDustsSmall.getSmallDustByName("Magnetite", 6), null, chunkStack, ItemDustsSmall.getSmallDustByName("Magnetite", 6), null,
ItemCells.getCellByName("empty"), 100, 120)); ItemCells.getCellByName("empty"), 100, 120));
} catch (Exception e) } catch (Exception e)
@ -2970,7 +2945,7 @@ public class ModRecipes
ItemStack oreStack = OreDictionary.getOres("oreGraphite").get(0); ItemStack oreStack = OreDictionary.getOres("oreGraphite").get(0);
ItemStack chunkStack = OreDictionary.getOres("chunkGraphite").get(0); ItemStack chunkStack = OreDictionary.getOres("chunkGraphite").get(0);
RecipeHandler.addRecipe( RecipeHandler.addRecipe(
new IndustrialGrinderRecipe(oreStack, TechRebornAPI.recipeCompact.getItem("waterCell"), null, new IndustrialGrinderRecipe(oreStack,ItemCells.getCellByName("water"), null,
chunkStack, ItemDustsSmall.getSmallDustByName("Graphite", 6), null, chunkStack, ItemDustsSmall.getSmallDustByName("Graphite", 6), null,
ItemCells.getCellByName("empty"), 100, 120)); ItemCells.getCellByName("empty"), 100, 120));
} catch (Exception e) } catch (Exception e)
@ -2986,7 +2961,7 @@ public class ModRecipes
{ {
ItemStack oreStack = OreDictionary.getOres("oreOsmium").get(0); ItemStack oreStack = OreDictionary.getOres("oreOsmium").get(0);
RecipeHandler.addRecipe( RecipeHandler.addRecipe(
new IndustrialGrinderRecipe(oreStack, TechRebornAPI.recipeCompact.getItem("waterCell"), null, new IndustrialGrinderRecipe(oreStack,ItemCells.getCellByName("water"), null,
ItemDusts.getDustByName("osmium", 2), ItemDustsSmall.getSmallDustByName("Osmium", 1), ItemDusts.getDustByName("osmium", 2), ItemDustsSmall.getSmallDustByName("Osmium", 1),
ItemDustsSmall.getSmallDustByName("Osmium", 1), ItemCells.getCellByName("empty"), 100, ItemDustsSmall.getSmallDustByName("Osmium", 1), ItemCells.getCellByName("empty"), 100,
120)); 120));
@ -3005,7 +2980,7 @@ public class ModRecipes
ItemStack dustStack = OreDictionary.getOres("dustTeslatite").get(0); ItemStack dustStack = OreDictionary.getOres("dustTeslatite").get(0);
dustStack.stackSize = 10; dustStack.stackSize = 10;
RecipeHandler.addRecipe( RecipeHandler.addRecipe(
new IndustrialGrinderRecipe(oreStack, TechRebornAPI.recipeCompact.getItem("waterCell"), null, new IndustrialGrinderRecipe(oreStack,ItemCells.getCellByName("water"), null,
dustStack, ItemDustsSmall.getSmallDustByName("Sodalite", 1), dustStack, ItemDustsSmall.getSmallDustByName("Sodalite", 1),
ItemDustsSmall.getSmallDustByName("Glowstone", 1), ItemCells.getCellByName("empty"), ItemDustsSmall.getSmallDustByName("Glowstone", 1), ItemCells.getCellByName("empty"),
100, 120)); 100, 120));
@ -3022,7 +2997,7 @@ public class ModRecipes
{ {
ItemStack oreStack = OreDictionary.getOres("oreSulfur").get(0); ItemStack oreStack = OreDictionary.getOres("oreSulfur").get(0);
RecipeHandler.addRecipe( RecipeHandler.addRecipe(
new IndustrialGrinderRecipe(oreStack, TechRebornAPI.recipeCompact.getItem("waterCell"), null, new IndustrialGrinderRecipe(oreStack,ItemCells.getCellByName("water"), null,
ItemDusts.getDustByName("sulfur", 2), ItemDustsSmall.getSmallDustByName("Sulfur", 1), ItemDusts.getDustByName("sulfur", 2), ItemDustsSmall.getSmallDustByName("Sulfur", 1),
ItemDustsSmall.getSmallDustByName("Sulfur", 1), ItemCells.getCellByName("empty"), 100, ItemDustsSmall.getSmallDustByName("Sulfur", 1), ItemCells.getCellByName("empty"), 100,
120)); 120));
@ -3039,7 +3014,7 @@ public class ModRecipes
{ {
ItemStack oreStack = OreDictionary.getOres("oreSaltpeter").get(0); ItemStack oreStack = OreDictionary.getOres("oreSaltpeter").get(0);
RecipeHandler.addRecipe( RecipeHandler.addRecipe(
new IndustrialGrinderRecipe(oreStack, TechRebornAPI.recipeCompact.getItem("waterCell"), null, new IndustrialGrinderRecipe(oreStack,ItemCells.getCellByName("water"), null,
ItemDusts.getDustByName("saltpeter", 2), ItemDusts.getDustByName("saltpeter", 2),
ItemDustsSmall.getSmallDustByName("Saltpeter", 1), ItemDustsSmall.getSmallDustByName("Saltpeter", 1),
ItemDustsSmall.getSmallDustByName("Saltpeter", 1), ItemCells.getCellByName("empty"), ItemDustsSmall.getSmallDustByName("Saltpeter", 1), ItemCells.getCellByName("empty"),
@ -3059,7 +3034,7 @@ public class ModRecipes
ItemStack gemStack = OreDictionary.getOres("gemApatite").get(0); ItemStack gemStack = OreDictionary.getOres("gemApatite").get(0);
gemStack.stackSize = 6; gemStack.stackSize = 6;
RecipeHandler.addRecipe( RecipeHandler.addRecipe(
new IndustrialGrinderRecipe(oreStack, TechRebornAPI.recipeCompact.getItem("waterCell"), null, new IndustrialGrinderRecipe(oreStack,ItemCells.getCellByName("water"), null,
gemStack, gemStack, ItemDustsSmall.getSmallDustByName("Phosphorous", 4), gemStack, gemStack, ItemDustsSmall.getSmallDustByName("Phosphorous", 4),
ItemCells.getCellByName("empty"), 100, 120)); ItemCells.getCellByName("empty"), 100, 120));
} catch (Exception e) } catch (Exception e)
@ -3076,7 +3051,7 @@ public class ModRecipes
ItemStack dustStack = OreDictionary.getOres("dustNetherQuartz").get(0); ItemStack dustStack = OreDictionary.getOres("dustNetherQuartz").get(0);
dustStack.stackSize = 4; dustStack.stackSize = 4;
RecipeHandler.addRecipe(new IndustrialGrinderRecipe(new ItemStack(Blocks.QUARTZ_ORE, 1), RecipeHandler.addRecipe(new IndustrialGrinderRecipe(new ItemStack(Blocks.QUARTZ_ORE, 1),
TechRebornAPI.recipeCompact.getItem("waterCell"), null, new ItemStack(Items.QUARTZ, 2), ItemCells.getCellByName("water"), null, new ItemStack(Items.QUARTZ, 2),
dustStack, ItemDustsSmall.getSmallDustByName("Netherrack", 2), ItemCells.getCellByName("empty"), dustStack, ItemDustsSmall.getSmallDustByName("Netherrack", 2), ItemCells.getCellByName("empty"),
100, 120)); 100, 120));
} catch (Exception e) } catch (Exception e)
@ -3095,7 +3070,7 @@ public class ModRecipes
ItemStack dustStack = OreDictionary.getOres("dustCertusQuartz").get(0); ItemStack dustStack = OreDictionary.getOres("dustCertusQuartz").get(0);
dustStack.stackSize = 2; dustStack.stackSize = 2;
RecipeHandler.addRecipe( RecipeHandler.addRecipe(
new IndustrialGrinderRecipe(oreStack, TechRebornAPI.recipeCompact.getItem("waterCell"), null, new IndustrialGrinderRecipe(oreStack,ItemCells.getCellByName("water"), null,
gemStack, dustStack, null, ItemCells.getCellByName("empty"), 100, 120)); gemStack, dustStack, null, ItemCells.getCellByName("empty"), 100, 120));
} catch (Exception e) } catch (Exception e)
{ {
@ -3113,7 +3088,7 @@ public class ModRecipes
ItemStack dustStack = OreDictionary.getOres("dustCertusQuartz").get(0); ItemStack dustStack = OreDictionary.getOres("dustCertusQuartz").get(0);
dustStack.stackSize = 2; dustStack.stackSize = 2;
RecipeHandler.addRecipe( RecipeHandler.addRecipe(
new IndustrialGrinderRecipe(oreStack, TechRebornAPI.recipeCompact.getItem("waterCell"), null, new IndustrialGrinderRecipe(oreStack,ItemCells.getCellByName("water"), null,
gemStack, dustStack, null, ItemCells.getCellByName("empty"), 100, 120)); gemStack, dustStack, null, ItemCells.getCellByName("empty"), 100, 120));
} catch (Exception e) } catch (Exception e)
{ {
@ -3132,7 +3107,7 @@ public class ModRecipes
ItemStack dustStack = OreDictionary.getOres("gemAmethyst").get(0); ItemStack dustStack = OreDictionary.getOres("gemAmethyst").get(0);
dustStack.stackSize = 1; dustStack.stackSize = 1;
RecipeHandler.addRecipe( RecipeHandler.addRecipe(
new IndustrialGrinderRecipe(oreStack, TechRebornAPI.recipeCompact.getItem("waterCell"), null, new IndustrialGrinderRecipe(oreStack,ItemCells.getCellByName("water"), null,
gemStack, dustStack, null, ItemCells.getCellByName("empty"), 100, 120)); gemStack, dustStack, null, ItemCells.getCellByName("empty"), 100, 120));
} catch (Exception e) } catch (Exception e)
{ {
@ -3151,7 +3126,7 @@ public class ModRecipes
ItemStack dustStack = OreDictionary.getOres("gemTopaz").get(0); ItemStack dustStack = OreDictionary.getOres("gemTopaz").get(0);
dustStack.stackSize = 1; dustStack.stackSize = 1;
RecipeHandler.addRecipe( RecipeHandler.addRecipe(
new IndustrialGrinderRecipe(oreStack, TechRebornAPI.recipeCompact.getItem("waterCell"), null, new IndustrialGrinderRecipe(oreStack,ItemCells.getCellByName("water"), null,
gemStack, dustStack, null, ItemCells.getCellByName("empty"), 100, 120)); gemStack, dustStack, null, ItemCells.getCellByName("empty"), 100, 120));
} catch (Exception e) } catch (Exception e)
{ {
@ -3170,7 +3145,7 @@ public class ModRecipes
ItemStack dustStack = OreDictionary.getOres("gemTanzanite").get(0); ItemStack dustStack = OreDictionary.getOres("gemTanzanite").get(0);
dustStack.stackSize = 1; dustStack.stackSize = 1;
RecipeHandler.addRecipe( RecipeHandler.addRecipe(
new IndustrialGrinderRecipe(oreStack, TechRebornAPI.recipeCompact.getItem("waterCell"), null, new IndustrialGrinderRecipe(oreStack,ItemCells.getCellByName("water"), null,
gemStack, dustStack, null, ItemCells.getCellByName("empty"), 100, 120)); gemStack, dustStack, null, ItemCells.getCellByName("empty"), 100, 120));
} catch (Exception e) } catch (Exception e)
{ {
@ -3188,8 +3163,9 @@ public class ModRecipes
gemStack.stackSize = 2; gemStack.stackSize = 2;
ItemStack dustStack = OreDictionary.getOres("gemMalachite").get(0); ItemStack dustStack = OreDictionary.getOres("gemMalachite").get(0);
dustStack.stackSize = 1; dustStack.stackSize = 1;
RecipeHandler.addRecipe( RecipeHandler.addRecipe(
new IndustrialGrinderRecipe(oreStack, TechRebornAPI.recipeCompact.getItem("waterCell"), null, new IndustrialGrinderRecipe(oreStack,ItemCells.getCellByName("water"), null,
gemStack, dustStack, null, ItemCells.getCellByName("empty"), 100, 120)); gemStack, dustStack, null, ItemCells.getCellByName("empty"), 100, 120));
} catch (Exception e) } catch (Exception e)
{ {
@ -3200,35 +3176,35 @@ public class ModRecipes
// Implosion Compressor // Implosion Compressor
RecipeHandler.addRecipe(new ImplosionCompressorRecipe(ItemIngots.getIngotByName("iridiumAlloy"), RecipeHandler.addRecipe(new ImplosionCompressorRecipe(ItemIngots.getIngotByName("iridiumAlloy"),
new ItemStack(TechRebornAPI.recipeCompact.getItem("industrialTnt").getItem(), 8), new ItemStack(OreDictionary.getOres("industrialTnt").get(0).getItem(), 8),
TechRebornAPI.recipeCompact.getItem("iridiumPlate"), ItemDusts.getDustByName("darkAshes", 4), 20, 30)); OreDictionary.getOres("plateIridium").get(0).copy(), ItemDusts.getDustByName("darkAshes", 4), 20, 30));
RecipeHandler.addRecipe(new ImplosionCompressorRecipe(ItemDusts.getDustByName("diamond", 4), RecipeHandler.addRecipe(new ImplosionCompressorRecipe(ItemDusts.getDustByName("diamond", 4),
new ItemStack(TechRebornAPI.recipeCompact.getItem("industrialTnt").getItem(), 32), new ItemStack(OreDictionary.getOres("industrialTnt").get(0).getItem(), 32),
new ItemStack(TechRebornAPI.recipeCompact.getItem("industrialDiamond").getItem(), 3), new ItemStack(OreDictionary.getOres("craftingIndustrialDiamond").get(0).getItem(), 3),
ItemDusts.getDustByName("darkAshes", 16), 20, 30)); ItemDusts.getDustByName("darkAshes", 16), 20, 30));
RecipeHandler.addRecipe(new ImplosionCompressorRecipe(ItemDusts.getDustByName("emerald", 4), RecipeHandler.addRecipe(new ImplosionCompressorRecipe(ItemDusts.getDustByName("emerald", 4),
new ItemStack(TechRebornAPI.recipeCompact.getItem("industrialTnt").getItem(), 24), new ItemStack(OreDictionary.getOres("industrialTnt").get(0).getItem(), 24),
new ItemStack(Items.EMERALD, 3), ItemDusts.getDustByName("darkAshes", 12), 20, 30)); new ItemStack(Items.EMERALD, 3), ItemDusts.getDustByName("darkAshes", 12), 20, 30));
RecipeHandler.addRecipe(new ImplosionCompressorRecipe(ItemDusts.getDustByName("sapphire", 4), RecipeHandler.addRecipe(new ImplosionCompressorRecipe(ItemDusts.getDustByName("sapphire", 4),
new ItemStack(TechRebornAPI.recipeCompact.getItem("industrialTnt").getItem(), 24), new ItemStack(OreDictionary.getOres("industrialTnt").get(0).getItem(), 24),
ItemGems.getGemByName("sapphire", 3), ItemDusts.getDustByName("darkAshes", 12), 20, 30)); ItemGems.getGemByName("sapphire", 3), ItemDusts.getDustByName("darkAshes", 12), 20, 30));
RecipeHandler.addRecipe(new ImplosionCompressorRecipe(ItemDusts.getDustByName("ruby", 4), RecipeHandler.addRecipe(new ImplosionCompressorRecipe(ItemDusts.getDustByName("ruby", 4),
new ItemStack(TechRebornAPI.recipeCompact.getItem("industrialTnt").getItem(), 24), new ItemStack(OreDictionary.getOres("industrialTnt").get(0).getItem(), 24),
ItemGems.getGemByName("ruby", 3), ItemDusts.getDustByName("darkAshes", 12), 20, 30)); ItemGems.getGemByName("ruby", 3), ItemDusts.getDustByName("darkAshes", 12), 20, 30));
RecipeHandler.addRecipe(new ImplosionCompressorRecipe(ItemDusts.getDustByName("yellowGarnet", 4), RecipeHandler.addRecipe(new ImplosionCompressorRecipe(ItemDusts.getDustByName("yellowGarnet", 4),
new ItemStack(TechRebornAPI.recipeCompact.getItem("industrialTnt").getItem(), 24), new ItemStack(OreDictionary.getOres("industrialTnt").get(0).getItem(), 24),
ItemGems.getGemByName("yellowGarnet", 3), ItemDusts.getDustByName("darkAshes", 12), 20, 30)); ItemGems.getGemByName("yellowGarnet", 3), ItemDusts.getDustByName("darkAshes", 12), 20, 30));
RecipeHandler.addRecipe(new ImplosionCompressorRecipe(ItemDusts.getDustByName("redGarnet", 4), RecipeHandler.addRecipe(new ImplosionCompressorRecipe(ItemDusts.getDustByName("redGarnet", 4),
new ItemStack(TechRebornAPI.recipeCompact.getItem("industrialTnt").getItem(), 24), new ItemStack(OreDictionary.getOres("industrialTnt").get(0).getItem(), 24),
ItemGems.getGemByName("redGarnet", 3), ItemDusts.getDustByName("darkAshes", 12), 20, 30)); ItemGems.getGemByName("redGarnet", 3), ItemDusts.getDustByName("darkAshes", 12), 20, 30));
RecipeHandler.addRecipe(new ImplosionCompressorRecipe(ItemDusts.getDustByName("peridot", 4), RecipeHandler.addRecipe(new ImplosionCompressorRecipe(ItemDusts.getDustByName("peridot", 4),
new ItemStack(TechRebornAPI.recipeCompact.getItem("industrialTnt").getItem(), 24), new ItemStack(OreDictionary.getOres("industrialTnt").get(0).getItem(), 24),
ItemGems.getGemByName("peridot", 3), ItemDusts.getDustByName("darkAshes", 12), 20, 30)); ItemGems.getGemByName("peridot", 3), ItemDusts.getDustByName("darkAshes", 12), 20, 30));
// Grinder // Grinder
RecipeHandler.addRecipe(new IndustrialGrinderRecipe(new ItemStack(ModBlocks.ore, 1, 0), RecipeHandler.addRecipe(new IndustrialGrinderRecipe(new ItemStack(ModBlocks.ore, 1, 0),
TechRebornAPI.recipeCompact.getItem("waterCell"), null, ItemDusts.getDustByName("galena", 2), ItemCells.getCellByName("water"), null, ItemDusts.getDustByName("galena", 2),
ItemDustsSmall.getSmallDustByName("Sulfur", 1), ItemDustsSmall.getSmallDustByName("Silver", 1), ItemDustsSmall.getSmallDustByName("Sulfur", 1), ItemDustsSmall.getSmallDustByName("Silver", 1),
ItemCells.getCellByName("empty"), 100, 120)); ItemCells.getCellByName("empty"), 100, 120));
RecipeHandler.addRecipe( RecipeHandler.addRecipe(
@ -3238,56 +3214,56 @@ public class ModRecipes
// Iridium Ore // Iridium Ore
RecipeHandler.addRecipe(new IndustrialGrinderRecipe(new ItemStack(ModBlocks.ore, 1, 1), null, RecipeHandler.addRecipe(new IndustrialGrinderRecipe(new ItemStack(ModBlocks.ore, 1, 1), null,
new FluidStack(FluidRegistry.WATER, 1000), TechRebornAPI.recipeCompact.getItem("iridiumOre"), new FluidStack(FluidRegistry.WATER, 1000), OreDictionary.getOres("oreIridium").get(0),
ItemDustsSmall.getSmallDustByName("Platinum", 2), null, null, 100, 120)); ItemDustsSmall.getSmallDustByName("Platinum", 2), null, null, 100, 120));
RecipeHandler.addRecipe(new IndustrialGrinderRecipe(new ItemStack(ModBlocks.ore, 1, 1), RecipeHandler.addRecipe(new IndustrialGrinderRecipe(new ItemStack(ModBlocks.ore, 1, 1),
TechRebornAPI.recipeCompact.getItem("waterCell"), null, ItemCells.getCellByName("water"), null,
TechRebornAPI.recipeCompact.getItem("iridiumOre"), ItemDustsSmall.getSmallDustByName("Platinum", 2), OreDictionary.getOres("oreIridium").get(0), ItemDustsSmall.getSmallDustByName("Platinum", 2),
null, ItemCells.getCellByName("empty"), 100, 120)); null, ItemCells.getCellByName("empty"), 100, 120));
RecipeHandler.addRecipe( RecipeHandler.addRecipe(
new IndustrialGrinderRecipe(new ItemStack(ModBlocks.ore, 1, 1), new ItemStack(Items.WATER_BUCKET), null, new IndustrialGrinderRecipe(new ItemStack(ModBlocks.ore, 1, 1), new ItemStack(Items.WATER_BUCKET), null,
TechRebornAPI.recipeCompact.getItem("iridiumOre"), OreDictionary.getOres("oreIridium").get(0),
ItemDustsSmall.getSmallDustByName("Platinum", 2), null, new ItemStack(Items.BUCKET), 100, 120)); ItemDustsSmall.getSmallDustByName("Platinum", 2), null, new ItemStack(Items.BUCKET), 100, 120));
RecipeHandler.addRecipe(new IndustrialGrinderRecipe(new ItemStack(ModBlocks.ore, 1, 1), null, RecipeHandler.addRecipe(new IndustrialGrinderRecipe(new ItemStack(ModBlocks.ore, 1, 1), null,
new FluidStack(ModFluids.fluidMercury, 1000), TechRebornAPI.recipeCompact.getItem("iridiumOre"), new FluidStack(ModFluids.fluidMercury, 1000), OreDictionary.getOres("oreIridium").get(0),
ItemDustsSmall.getSmallDustByName("Platinum", 2), null, null, 100, 120)); ItemDustsSmall.getSmallDustByName("Platinum", 2), null, null, 100, 120));
RecipeHandler.addRecipe( RecipeHandler.addRecipe(
new IndustrialGrinderRecipe(new ItemStack(ModBlocks.ore, 1, 1), ItemCells.getCellByName("mercury", 1), new IndustrialGrinderRecipe(new ItemStack(ModBlocks.ore, 1, 1), ItemCells.getCellByName("mercury", 1),
null, TechRebornAPI.recipeCompact.getItem("iridiumOre"), null, OreDictionary.getOres("oreIridium").get(0),
ItemDustsSmall.getSmallDustByName("Platinum", 2), null, ItemCells.getCellByName("empty"), 100, ItemDustsSmall.getSmallDustByName("Platinum", 2), null, ItemCells.getCellByName("empty"), 100,
120)); 120));
RecipeHandler.addRecipe(new IndustrialGrinderRecipe(new ItemStack(ModBlocks.ore, 1, 1), RecipeHandler.addRecipe(new IndustrialGrinderRecipe(new ItemStack(ModBlocks.ore, 1, 1),
getBucketWithFluid(ModFluids.fluidMercury), null, TechRebornAPI.recipeCompact.getItem("iridiumOre"), getBucketWithFluid(ModFluids.fluidMercury), null, OreDictionary.getOres("oreIridium").get(0),
ItemDustsSmall.getSmallDustByName("Platinum", 2), null, new ItemStack(Items.BUCKET), 100, 120)); ItemDustsSmall.getSmallDustByName("Platinum", 2), null, new ItemStack(Items.BUCKET), 100, 120));
RecipeHandler.addRecipe(new IndustrialGrinderRecipe(new ItemStack(ModBlocks.ore, 1, 2), RecipeHandler.addRecipe(new IndustrialGrinderRecipe(new ItemStack(ModBlocks.ore, 1, 2),
TechRebornAPI.recipeCompact.getItem("waterCell"), null, ItemGems.getGemByName("ruby", 1), ItemCells.getCellByName("water"), null, ItemGems.getGemByName("ruby", 1),
ItemDustsSmall.getSmallDustByName("Ruby", 6), ItemDustsSmall.getSmallDustByName("Chrome", 2), ItemDustsSmall.getSmallDustByName("Ruby", 6), ItemDustsSmall.getSmallDustByName("Chrome", 2),
ItemCells.getCellByName("empty"), 100, 120)); ItemCells.getCellByName("empty"), 100, 120));
RecipeHandler.addRecipe(new IndustrialGrinderRecipe(new ItemStack(ModBlocks.ore, 1, 3), RecipeHandler.addRecipe(new IndustrialGrinderRecipe(new ItemStack(ModBlocks.ore, 1, 3),
TechRebornAPI.recipeCompact.getItem("waterCell"), null, ItemGems.getGemByName("sapphire", 1), ItemCells.getCellByName("water"), null, ItemGems.getGemByName("sapphire", 1),
ItemDustsSmall.getSmallDustByName("Sapphire", 6), ItemDustsSmall.getSmallDustByName("Aluminum", 2), ItemDustsSmall.getSmallDustByName("Sapphire", 6), ItemDustsSmall.getSmallDustByName("Aluminum", 2),
ItemCells.getCellByName("empty"), 100, 120)); ItemCells.getCellByName("empty"), 100, 120));
RecipeHandler.addRecipe(new IndustrialGrinderRecipe(new ItemStack(ModBlocks.ore, 1, 4), RecipeHandler.addRecipe(new IndustrialGrinderRecipe(new ItemStack(ModBlocks.ore, 1, 4),
TechRebornAPI.recipeCompact.getItem("waterCell"), null, ItemDusts.getDustByName("bauxite", 2), ItemCells.getCellByName("water"), null, ItemDusts.getDustByName("bauxite", 2),
ItemDustsSmall.getSmallDustByName("Grossular", 4), ItemDustsSmall.getSmallDustByName("Titanium", 4), ItemDustsSmall.getSmallDustByName("Grossular", 4), ItemDustsSmall.getSmallDustByName("Titanium", 4),
ItemCells.getCellByName("empty"), 100, 120)); ItemCells.getCellByName("empty"), 100, 120));
RecipeHandler.addRecipe(new IndustrialGrinderRecipe(new ItemStack(ModBlocks.ore, 1, 5), RecipeHandler.addRecipe(new IndustrialGrinderRecipe(new ItemStack(ModBlocks.ore, 1, 5),
TechRebornAPI.recipeCompact.getItem("waterCell"), null, ItemDusts.getDustByName("pyrite", 2), ItemCells.getCellByName("water"), null, ItemDusts.getDustByName("pyrite", 2),
ItemDustsSmall.getSmallDustByName("Sulfur", 1), ItemDustsSmall.getSmallDustByName("Phosphorous", 1), ItemDustsSmall.getSmallDustByName("Sulfur", 1), ItemDustsSmall.getSmallDustByName("Phosphorous", 1),
ItemCells.getCellByName("empty"), 100, 120)); ItemCells.getCellByName("empty"), 100, 120));
RecipeHandler.addRecipe(new IndustrialGrinderRecipe(new ItemStack(ModBlocks.ore, 1, 6), RecipeHandler.addRecipe(new IndustrialGrinderRecipe(new ItemStack(ModBlocks.ore, 1, 6),
TechRebornAPI.recipeCompact.getItem("waterCell"), null, ItemDusts.getDustByName("cinnabar", 2), ItemCells.getCellByName("water"), null, ItemDusts.getDustByName("cinnabar", 2),
ItemDustsSmall.getSmallDustByName("Redstone", 1), ItemDustsSmall.getSmallDustByName("Glowstone", 1), ItemDustsSmall.getSmallDustByName("Redstone", 1), ItemDustsSmall.getSmallDustByName("Glowstone", 1),
ItemCells.getCellByName("empty"), 100, 120)); ItemCells.getCellByName("empty"), 100, 120));
RecipeHandler.addRecipe(new IndustrialGrinderRecipe(new ItemStack(ModBlocks.ore, 1, 7), RecipeHandler.addRecipe(new IndustrialGrinderRecipe(new ItemStack(ModBlocks.ore, 1, 7),
TechRebornAPI.recipeCompact.getItem("waterCell"), null, ItemDusts.getDustByName("sphalerite", 2), ItemCells.getCellByName("water"), null, ItemDusts.getDustByName("sphalerite", 2),
ItemDustsSmall.getSmallDustByName("Zinc", 1), ItemDustsSmall.getSmallDustByName("YellowGarnet", 1), ItemDustsSmall.getSmallDustByName("Zinc", 1), ItemDustsSmall.getSmallDustByName("YellowGarnet", 1),
ItemCells.getCellByName("empty"), 100, 120)); ItemCells.getCellByName("empty"), 100, 120));
RecipeHandler.addRecipe(new IndustrialGrinderRecipe(new ItemStack(ModBlocks.ore, 1, 7), RecipeHandler.addRecipe(new IndustrialGrinderRecipe(new ItemStack(ModBlocks.ore, 1, 7),
@ -3296,7 +3272,7 @@ public class ModRecipes
ItemCells.getCellByName("empty"), 100, 120)); ItemCells.getCellByName("empty"), 100, 120));
RecipeHandler.addRecipe(new IndustrialGrinderRecipe(new ItemStack(ModBlocks.ore, 1, 8), RecipeHandler.addRecipe(new IndustrialGrinderRecipe(new ItemStack(ModBlocks.ore, 1, 8),
TechRebornAPI.recipeCompact.getItem("waterCell"), null, ItemDusts.getDustByName("tungsten", 2), ItemCells.getCellByName("water"), null, ItemDusts.getDustByName("tungsten", 2),
ItemDustsSmall.getSmallDustByName("Manganese", 1), ItemDustsSmall.getSmallDustByName("Silver", 1), ItemDustsSmall.getSmallDustByName("Manganese", 1), ItemDustsSmall.getSmallDustByName("Silver", 1),
ItemCells.getCellByName("empty"), 100, 120)); ItemCells.getCellByName("empty"), 100, 120));
RecipeHandler.addRecipe( RecipeHandler.addRecipe(
@ -3305,7 +3281,7 @@ public class ModRecipes
ItemDusts.getDustByName("silver", 2), ItemCells.getCellByName("empty"), 100, 120)); ItemDusts.getDustByName("silver", 2), ItemCells.getCellByName("empty"), 100, 120));
RecipeHandler.addRecipe(new IndustrialGrinderRecipe(new ItemStack(ModBlocks.ore, 1, 9), RecipeHandler.addRecipe(new IndustrialGrinderRecipe(new ItemStack(ModBlocks.ore, 1, 9),
TechRebornAPI.recipeCompact.getItem("waterCell"), null, ItemDusts.getDustByName("platinum", 2), ItemCells.getCellByName("water"), null, ItemDusts.getDustByName("platinum", 2),
ItemDusts.getDustByName("nickel", 1), ItemNuggets.getNuggetByName("iridium", 2), ItemDusts.getDustByName("nickel", 1), ItemNuggets.getNuggetByName("iridium", 2),
ItemCells.getCellByName("empty"), 100, 120)); ItemCells.getCellByName("empty"), 100, 120));
RecipeHandler.addRecipe( RecipeHandler.addRecipe(
@ -3314,38 +3290,38 @@ public class ModRecipes
ItemNuggets.getNuggetByName("iridium", 2), ItemCells.getCellByName("empty"), 100, 120)); ItemNuggets.getNuggetByName("iridium", 2), ItemCells.getCellByName("empty"), 100, 120));
RecipeHandler.addRecipe(new IndustrialGrinderRecipe(new ItemStack(ModBlocks.ore, 1, 10), RecipeHandler.addRecipe(new IndustrialGrinderRecipe(new ItemStack(ModBlocks.ore, 1, 10),
TechRebornAPI.recipeCompact.getItem("waterCell"), null, ItemGems.getGemByName("peridot", 1), ItemCells.getCellByName("water"), null, ItemGems.getGemByName("peridot", 1),
ItemDustsSmall.getSmallDustByName("Peridot", 6), ItemDustsSmall.getSmallDustByName("Pyrope", 2), ItemDustsSmall.getSmallDustByName("Peridot", 6), ItemDustsSmall.getSmallDustByName("Pyrope", 2),
ItemCells.getCellByName("empty"), 100, 120)); ItemCells.getCellByName("empty"), 100, 120));
RecipeHandler.addRecipe(new IndustrialGrinderRecipe(new ItemStack(ModBlocks.ore, 1, 11), RecipeHandler.addRecipe(new IndustrialGrinderRecipe(new ItemStack(ModBlocks.ore, 1, 11),
TechRebornAPI.recipeCompact.getItem("waterCell"), null, ItemDusts.getDustByName("sodalite", 12), ItemCells.getCellByName("water"), null, ItemDusts.getDustByName("sodalite", 12),
ItemDustsSmall.getSmallDustByName("aluminum", 3), null, ItemCells.getCellByName("empty"), 100, 120)); ItemDustsSmall.getSmallDustByName("aluminum", 3), null, ItemCells.getCellByName("empty"), 100, 120));
// Chemical Reactor // Chemical Reactor
RecipeHandler.addRecipe(new ChemicalReactorRecipe(ItemDusts.getDustByName("calcite", 1), null, RecipeHandler.addRecipe(new ChemicalReactorRecipe(ItemDusts.getDustByName("calcite", 1), null,
new ItemStack(TechRebornAPI.recipeCompact.getItem("fertilizer").getItem(), 1), 100, 30)); new ItemStack(OreDictionary.getOres("fertilizer").get(0).getItem(), 1), 100, 30));
RecipeHandler.addRecipe(new ChemicalReactorRecipe(ItemDusts.getDustByName("calcite", 1), RecipeHandler.addRecipe(new ChemicalReactorRecipe(ItemDusts.getDustByName("calcite", 1),
ItemDusts.getDustByName("phosphorous", 1), ItemDusts.getDustByName("phosphorous", 1),
new ItemStack(TechRebornAPI.recipeCompact.getItem("fertilizer").getItem(), 3), 100, 30)); new ItemStack(OreDictionary.getOres("fertilizer").get(0).getItem(), 3), 100, 30));
RecipeHandler.addRecipe(new ChemicalReactorRecipe(ItemCells.getCellByName("sodiumSulfide", 1), RecipeHandler.addRecipe(new ChemicalReactorRecipe(ItemCells.getCellByName("sodiumSulfide", 1),
TechRebornAPI.recipeCompact.getItem("airCell"), ItemCells.getCellByName("sodiumPersulfate", 2), 2000, ItemCells.getCellByName("empty"), ItemCells.getCellByName("sodiumPersulfate", 2), 2000,
30)); 30));
RecipeHandler.addRecipe(new ChemicalReactorRecipe(ItemCells.getCellByName("nitrocarbon", 1), RecipeHandler.addRecipe(new ChemicalReactorRecipe(ItemCells.getCellByName("nitrocarbon", 1),
TechRebornAPI.recipeCompact.getItem("waterCell"), ItemCells.getCellByName("glyceryl", 2), 580, 30)); ItemCells.getCellByName("water"), ItemCells.getCellByName("glyceryl", 2), 580, 30));
RecipeHandler.addRecipe( RecipeHandler.addRecipe(
new ChemicalReactorRecipe(ItemDusts.getDustByName("calcite", 1), ItemDusts.getDustByName("sulfur", 1), new ChemicalReactorRecipe(ItemDusts.getDustByName("calcite", 1), ItemDusts.getDustByName("sulfur", 1),
new ItemStack(TechRebornAPI.recipeCompact.getItem("fertilizer").getItem(), 2), 100, 30)); new ItemStack(OreDictionary.getOres("fertilizer").get(0).getItem(), 2), 100, 30));
ItemStack waterCells = TechRebornAPI.recipeCompact.getItem("waterCell").copy(); ItemStack waterCells =ItemCells.getCellByName("water").copy();
waterCells.stackSize = 2; waterCells.stackSize = 2;
RecipeHandler.addRecipe(new ChemicalReactorRecipe(ItemCells.getCellByName("sulfur", 1), waterCells, RecipeHandler.addRecipe(new ChemicalReactorRecipe(ItemCells.getCellByName("sulfur", 1), waterCells,
ItemCells.getCellByName("sulfuricAcid", 3), 1140, 30)); ItemCells.getCellByName("sulfuricAcid", 3), 1140, 30));
ItemStack waterCells2 = TechRebornAPI.recipeCompact.getItem("waterCell").copy(); ItemStack waterCells2 =ItemCells.getCellByName("water").copy();
waterCells2.stackSize = 5; waterCells2.stackSize = 5;
RecipeHandler.addRecipe(new ChemicalReactorRecipe(ItemCells.getCellByName("hydrogen", 4), RecipeHandler.addRecipe(new ChemicalReactorRecipe(ItemCells.getCellByName("hydrogen", 4),
TechRebornAPI.recipeCompact.getItem("airCell"), waterCells2, 10, 30)); ItemCells.getCellByName("empty"), waterCells2, 10, 30));
RecipeHandler.addRecipe(new ChemicalReactorRecipe(ItemCells.getCellByName("nitrogen", 1), RecipeHandler.addRecipe(new ChemicalReactorRecipe(ItemCells.getCellByName("nitrogen", 1),
TechRebornAPI.recipeCompact.getItem("airCell"), ItemCells.getCellByName("nitrogenDioxide", 2), 1240, ItemCells.getCellByName("empty"), ItemCells.getCellByName("nitrogenDioxide", 2), 1240,
30)); 30));
// IndustrialElectrolyzer // IndustrialElectrolyzer
@ -3448,52 +3424,52 @@ public class ModRecipes
ItemCells.getCellByName("sodium"), ItemCells.getCellByName("chlorine"), null, null, 40, 60)); ItemCells.getCellByName("sodium"), ItemCells.getCellByName("chlorine"), null, null, 40, 60));
} }
Item drill = TechRebornAPI.recipeCompact.getItem("miningDrill").getItem(); Item drill = OreDictionary.getOres("drillBasic").get(0).getItem();
ItemStack drillStack = new ItemStack(drill, 1, OreDictionary.WILDCARD_VALUE); ItemStack drillStack = new ItemStack(drill, 1, OreDictionary.WILDCARD_VALUE);
if (ConfigTechReborn.ExpensiveMacerator) if (ConfigTechReborn.ExpensiveMacerator)
CraftingHelper CraftingHelper
.addShapedOreRecipe(TechRebornAPI.recipeCompact.getItem("macerator"), "FDF", "DMD", "FCF", 'F', .addShapedOreRecipe(getOre("ic2Macerator"), "FDF", "DMD", "FCF", 'F',
Items.FLINT, 'D', Items.DIAMOND, 'M', TechRebornAPI.recipeCompact.getItem("machine"), 'C', Items.FLINT, 'D', Items.DIAMOND, 'M', "machineBlockBasic", 'C',
TechRebornAPI.recipeCompact.getItem("electronicCircuit")); "circuitBasic");
if (ConfigTechReborn.ExpensiveDrill) if (ConfigTechReborn.ExpensiveDrill)
CraftingHelper CraftingHelper
.addShapedOreRecipe(TechRebornAPI.recipeCompact.getItem("miningDrill"), " S ", "SCS", "SBS", 'S', .addShapedOreRecipe(OreDictionary.getOres("drillBasic").get(0).copy(), " S ", "SCS", "SBS", 'S',
"ingotSteel", 'B', TechRebornAPI.recipeCompact.getItem("reBattery"), 'C', "ingotSteel", 'B', "reBattery", 'C',
TechRebornAPI.recipeCompact.getItem("electronicCircuit")); "circuitBasic");
if (ConfigTechReborn.ExpensiveDiamondDrill) if (ConfigTechReborn.ExpensiveDiamondDrill)
CraftingHelper CraftingHelper
.addShapedOreRecipe(TechRebornAPI.recipeCompact.getItem("diamondDrill"), " D ", "DBD", "TCT", 'D', .addShapedOreRecipe(OreDictionary.getOres("drillDiamond").get(0).copy(), " D ", "DBD", "TCT", 'D',
"diamondTR", 'T', "ingotTitanium", 'B', drillStack, 'C', "diamondTR", 'T', "ingotTitanium", 'B', drillStack, 'C',
TechRebornAPI.recipeCompact.getItem("advancedCircuit")); "circuitAdvanced");
if (ConfigTechReborn.ExpensiveSolar) if (ConfigTechReborn.ExpensiveSolar)
CraftingHelper CraftingHelper
.addShapedOreRecipe(TechRebornAPI.recipeCompact.getItem("solarPanel"), "PPP", "SZS", "CGC", 'P', .addShapedOreRecipe(OreDictionary.getOres("ic2SolarPanel").get(0).copy(), "PPP", "SZS", "CGC", 'P',
"paneGlass", 'S', ItemPlates.getPlateByName("silicon"), 'Z', "paneGlass", 'S', ItemPlates.getPlateByName("silicon"), 'Z',
TechRebornAPI.recipeCompact.getItem("carbonPlate"), 'G', "plateCarbon", 'G',
TechRebornAPI.recipeCompact.getItem("generator"), 'C', "ic2Generator", 'C',
TechRebornAPI.recipeCompact.getItem("electronicCircuit")); "circuitBasic");
CraftingHelper.addShapedOreRecipe(ItemIngots.getIngotByName("iridiumAlloy"), "IAI", "ADA", "IAI", 'I', CraftingHelper.addShapedOreRecipe(ItemIngots.getIngotByName("iridiumAlloy"), "IAI", "ADA", "IAI", 'I',
ItemIngots.getIngotByName("iridium"), 'D', ItemDusts.getDustByName("diamond"), 'A', "ingotIridium", 'D', ItemDusts.getDustByName("diamond"), 'A',
TechRebornAPI.recipeCompact.getItem("advancedAlloy")); "plateAdvancedAlloy");
CraftingHelper CraftingHelper
.addShapedOreRecipe(new ItemStack(ModItems.lithiumBatpack, 1, OreDictionary.WILDCARD_VALUE), "BCB", .addShapedOreRecipe(new ItemStack(ModItems.lithiumBatpack, 1, OreDictionary.WILDCARD_VALUE), "BCB",
"BPB", "B B", 'B', new ItemStack(ModItems.lithiumBattery), 'P', "plateAluminum", 'C', "BPB", "B B", 'B', new ItemStack(ModItems.lithiumBattery), 'P', "plateAluminum", 'C',
TechRebornAPI.recipeCompact.getItem("advancedCircuit")); "circuitAdvanced");
CraftingHelper CraftingHelper
.addShapedOreRecipe(new ItemStack(ModItems.lithiumBattery, 1, OreDictionary.WILDCARD_VALUE), " C ", .addShapedOreRecipe(new ItemStack(ModItems.lithiumBattery, 1, OreDictionary.WILDCARD_VALUE), " C ",
"PFP", "PFP", 'F', ItemCells.getCellByName("lithium"), 'P', "plateAluminum", 'C', "PFP", "PFP", 'F', ItemCells.getCellByName("lithium"), 'P', "plateAluminum", 'C',
TechRebornAPI.recipeCompact.getItem("insulatedGoldCableItem")); "insulatedGoldCableItem");
CraftingHelper CraftingHelper
.addShapedOreRecipe(new ItemStack(ModItems.lapotronpack, 1, OreDictionary.WILDCARD_VALUE), "FOF", "SPS", .addShapedOreRecipe(new ItemStack(ModItems.lapotronpack, 1, OreDictionary.WILDCARD_VALUE), "FOF", "SPS",
"FIF", 'F', ItemParts.getPartByName("energyFlowCircuit"), 'O', "FIF", 'F', "circuitMaster", 'O',
new ItemStack(ModItems.lapotronicOrb), 'S', ItemParts.getPartByName("superConductor"), 'I', new ItemStack(ModItems.lapotronicOrb), 'S', ItemParts.getPartByName("superConductor"), 'I',
"ingotIridium", 'P', new ItemStack(ModItems.lapotronpack)); "ingotIridium", 'P', new ItemStack(ModItems.lapotronpack));
} }
@ -3525,4 +3501,9 @@ public class ModRecipes
{ {
return UniversalBucket.getFilledBucket(ForgeModContainer.getInstance().universalBucket, fluid); return UniversalBucket.getFilledBucket(ForgeModContainer.getInstance().universalBucket, fluid);
} }
public static ItemStack getOre(String name) {
return OreDictionary.getOres(name).get(0).copy();
}
} }

View file

@ -0,0 +1,121 @@
package techreborn.init;
import ic2.core.block.BlockTexGlass;
import ic2.core.block.type.ResourceBlock;
import ic2.core.block.wiring.CableType;
import ic2.core.item.type.*;
import ic2.core.ref.BlockName;
import ic2.core.ref.ItemName;
import ic2.core.ref.TeBlock;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.item.ItemStack;
import net.minecraftforge.fml.common.Loader;
import net.minecraftforge.oredict.OreDictionary;
import techreborn.blocks.BlockMachineFrame;
import techreborn.items.ItemIngots;
import techreborn.items.ItemParts;
import techreborn.items.ItemPlates;
import techreborn.parts.powerCables.ItemStandaloneCables;
public class OreDict {
public static void init() {
if(Loader.isModLoaded("IC2")) {
OreDictionary.registerOre("reBattery", ItemName.re_battery.getItemStack());
OreDictionary.registerOre("circuitBasic", ItemName.crafting.getItemStack(CraftingItemType.circuit));
OreDictionary.registerOre("circuitAdvanced", ItemName.crafting.getItemStack(CraftingItemType.advanced_circuit));
OreDictionary.registerOre("machineBlockBasic", BlockName.resource.getItemStack(ResourceBlock.machine));
OreDictionary.registerOre("machineBlockAdvanced", BlockName.resource.getItemStack(ResourceBlock.advanced_machine));
OreDictionary.registerOre("lapotronCrystal", ItemName.lapotron_crystal.getItemStack());
OreDictionary.registerOre("energyCrystal", ItemName.lapotron_crystal.getItemStack());
OreDictionary.registerOre("drillBasic", ItemName.drill.getItemStack());
OreDictionary.registerOre("drillDiamond", ItemName.diamond_drill.getItemStack());
OreDictionary.registerOre("drillAdvanced", ItemName.iridium_drill.getItemStack());
ItemStack industrialTnt = BlockName.te.getItemStack(TeBlock.itnt);
industrialTnt.setItemDamage(1);
OreDictionary.registerOre("industrialTnt", industrialTnt);
OreDictionary.registerOre("craftingIndustrialDiamond", ItemName.crafting.getItemStack(CraftingItemType.industrial_diamond));
OreDictionary.registerOre("fertilizer", ItemName.crafting.getItemStack(CraftingItemType.bio_chaff));
OreDictionary.registerOre("hvTransformer", BlockName.te.getItemStack(TeBlock.hv_transformer));
//TODO:
//OreDictionary.registerOre("insulatedGoldCableItem", BlockName.te.getItemStack(CableType.gold));
//OreDictionary.registerOre("ic2Generator", ModBlocks.Generator);
//OreDictionary.registerOre("ic2SolarPanel", ModBlocks.solarPanel);
//OreDictionary.registerOre("ic2Macerator", ModBlocks.Grinder);
//OreDictionary.registerOre("ic2Extractor", ModBlocks.Extractor);
//OreDictionary.registerOre("ic2Windmill", ModBlocks.windMill);
//OreDictionary.registerOre("ic2Watermill", ModBlocks.waterMill);
OreDictionary.registerOre("uran235", ItemName.nuclear.getItemStack(NuclearResourceType.uranium_235));
OreDictionary.registerOre("uran238", ItemName.nuclear.getItemStack(NuclearResourceType.uranium_238));
OreDictionary.registerOre("smallUran238", ItemName.nuclear.getItemStack(NuclearResourceType.small_uranium_238));
OreDictionary.registerOre("smallUran235", ItemName.nuclear.getItemStack(NuclearResourceType.small_uranium_235));
OreDictionary.registerOre("rubberWood", BlockName.rubber_wood.getItemStack());
OreDictionary.registerOre("glassReinforced", BlockName.glass.getItemStack(BlockTexGlass.GlassType.reinforced));
OreDictionary.registerOre("oreIridium", ItemName.misc_resource.getItemStack(MiscResourceType.iridium_ore));
}
OreDictionary.registerOre("reBattery", ModItems.reBattery);
OreDictionary.registerOre("circuitBasic", ItemParts.getPartByName("electronicCircuit"));
OreDictionary.registerOre("circuitAdvanced", ItemParts.getPartByName("advancedCircuit"));
OreDictionary.registerOre("circuitElite", ItemParts.getPartByName("dataControlCircuit"));
OreDictionary.registerOre("circuitMaster", ItemParts.getPartByName("energyFlowCircuit"));
OreDictionary.registerOre("machineBlockBasic", BlockMachineFrame.getFrameByName("machine", 1));
OreDictionary.registerOre("machineBlockAdvanced", BlockMachineFrame.getFrameByName("advancedMachine", 1));
OreDictionary.registerOre("machineBlockElite", BlockMachineFrame.getFrameByName("highlyAdvancedMachine", 1));
OreDictionary.registerOre("lapotronCrystal", ModItems.lapotronCrystal);
OreDictionary.registerOre("energyCrystal", ModItems.energyCrystal);
OreDictionary.registerOre("drillBasic", ModItems.diamondDrill);
OreDictionary.registerOre("drillDiamond", ModItems.diamondDrill);
OreDictionary.registerOre("industrialTnt", Blocks.TNT);
OreDictionary.registerOre("craftingIndustrialDiamond", Items.DIAMOND);
OreDictionary.registerOre("insulatedGoldCableItem", ItemStandaloneCables.getCableByName("insulatedgold"));
OreDictionary.registerOre("fertilizer", new ItemStack(Items.DYE, 1, 15));
OreDictionary.registerOre("ic2Generator", ModBlocks.Generator);
OreDictionary.registerOre("ic2SolarPanel", ModBlocks.solarPanel);
OreDictionary.registerOre("ic2Macerator", ModBlocks.Grinder);
OreDictionary.registerOre("ic2Extractor", ModBlocks.Extractor);
OreDictionary.registerOre("ic2Windmill", ModBlocks.windMill);
OreDictionary.registerOre("ic2Watermill", ModBlocks.waterMill);
//OreDictionary.registerOre("uran235", );
//OreDictionary.registerOre("uran238", );
//OreDictionary.registerOre("smallUran235", );
OreDictionary.registerOre("woodRubber", ModBlocks.rubberLog);
OreDictionary.registerOre("glassReinforced", ModBlocks.reinforcedglass);
for(String type : ItemPlates.types) {
String oreDictName = "plate" + Character.toUpperCase(type.charAt(0)) + type.substring(1);
System.out.println(oreDictName);
OreDictionary.registerOre(oreDictName, ItemPlates.getPlateByName(type));
}
for(String type : ItemIngots.types) {
String oreDictName = "ingot" + Character.toUpperCase(type.charAt(0)) + type.substring(1);
System.out.println(oreDictName);
OreDictionary.registerOre(oreDictName, ItemIngots.getIngotByName(type));
}
}
}

View file

@ -1,195 +0,0 @@
package techreborn.init;
import ic2.api.item.IC2Items;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.item.ItemStack;
import net.minecraftforge.fluids.FluidRegistry;
import net.minecraftforge.fml.common.Loader;
import techreborn.api.recipe.IRecipeCompact;
import techreborn.blocks.BlockMachineFrame;
import techreborn.compat.CompatManager;
import techreborn.items.*;
import techreborn.parts.powerCables.ItemStandaloneCables;
import javax.annotation.Nullable;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
public class RecipeCompact implements IRecipeCompact
{
HashMap<String, ItemStack> recipes = new HashMap<>();
ArrayList<String> missingItems = new ArrayList<>();
HashMap<String, Ic2ItemLookup> lookupHashMap = new HashMap<>();
boolean inited = false;
public void init()
{
recipes.put("industrialDiamond", new ItemStack(Items.DIAMOND));
recipes.put("industrialTnt", new ItemStack(Blocks.TNT));
recipes.put("copperIngot", ItemIngots.getIngotByName("copper"));
recipes.put("tinIngot", ItemIngots.getIngotByName("tin"));
recipes.put("bronzeIngot", ItemIngots.getIngotByName("bronze"));
recipes.put("leadIngot", ItemIngots.getIngotByName("lead"));
recipes.put("silverIngot", ItemIngots.getIngotByName("silver"));
recipes.put("iridiumOre", ItemIngots.getIngotByName("iridium"));
recipes.put("plateiron", ItemPlates.getPlateByName("iron"));
recipes.put("iridiumPlate", ItemPlates.getPlateByName("iridium"));
recipes.put("cell", new ItemStack(ModItems.emptyCell));
recipes.put("airCell", new ItemStack(ModItems.emptyCell));
recipes.put("electronicCircuit", ItemParts.getPartByName("electronicCircuit"));
recipes.put("advancedCircuit", ItemParts.getPartByName("advancedCircuit"));
recipes.put("rubberWood", new ItemStack(ModBlocks.rubberLog));
recipes.put("resin", ItemParts.getPartByName("rubberSap"));
recipes.put("carbonPlate", ItemPlates.getPlateByName("carbon"));
recipes.put("reBattery", new ItemStack(ModItems.reBattery));
recipes.put("machine", BlockMachineFrame.getFrameByName("machine", 1));
recipes.put("advancedMachine", BlockMachineFrame.getFrameByName("advancedMachine", 1));
recipes.put("extractor", new ItemStack(ModBlocks.Extractor));
recipes.put("generator", new ItemStack(ModBlocks.Generator));
recipes.put("macerator", new ItemStack(ModBlocks.Grinder));
recipes.put("diamondDrill", new ItemStack(ModItems.diamondDrill));
recipes.put("miningDrill", new ItemStack(ModItems.ironDrill));
recipes.put("solarPanel", new ItemStack(ModBlocks.solarPanel));
recipes.put("waterCell", DynamicCell.getCellWithFluid(FluidRegistry.WATER));
recipes.put("lavaCell", DynamicCell.getCellWithFluid(FluidRegistry.LAVA));
recipes.put("pump", new ItemStack(ModBlocks.pump));
// recipes.put("teleporter", new ItemStack(ModItems.missingRecipe));
recipes.put("advancedAlloy", ItemIngots.getIngotByName("advancedAlloy"));
recipes.put("lvTransformer", new ItemStack(ModBlocks.lvt));
recipes.put("mvTransformer", new ItemStack(ModBlocks.mvt));
recipes.put("hvTransformer", new ItemStack(ModBlocks.hvt));
recipes.put("windMill", new ItemStack(ModBlocks.windMill));
recipes.put("energyCrystal", new ItemStack(ModItems.energyCrystal));
recipes.put("lapotronCrystal", new ItemStack(ModItems.lapotronCrystal));
recipes.put("reinforcedGlass", new ItemStack(ModBlocks.reinforcedglass));
recipes.put("compressor", new ItemStack(ModBlocks.Compressor));
recipes.put("insulatedGoldCableItem", ItemStandaloneCables.getCableByName("insulatedgold"));
recipes.put("fertilizer", new ItemStack(Items.DYE));
lookupHashMap.put("miningDrill", new Ic2ItemLookup("drill"));
lookupHashMap.put("reBattery", new Ic2ItemLookup("re_battery"));
lookupHashMap.put("electronicCircuit", new Ic2ItemLookup("crafting", "circuit"));
lookupHashMap.put("advancedCircuit", new Ic2ItemLookup("crafting", "advanced_circuit"));
lookupHashMap.put("lapotronCrystal", new Ic2ItemLookup("lapotron_crystal"));
lookupHashMap.put("lapotronCrystal", new Ic2ItemLookup("lapotron_crystal"));
lookupHashMap.put("iridiumPlate", new Ic2ItemLookup(ItemPlates.getPlateByName("iridium")));
lookupHashMap.put("advancedMachine", new Ic2ItemLookup("resource", "advanced_machine"));
lookupHashMap.put("windMill", new Ic2ItemLookup("te", "wind_generator"));
lookupHashMap.put("reinforcedGlass", new Ic2ItemLookup("glass", "reinforced"));
lookupHashMap.put("extractor", new Ic2ItemLookup("te", "extractor"));
lookupHashMap.put("machine", new Ic2ItemLookup("resource", "machine"));
lookupHashMap.put("hvTransformer", new Ic2ItemLookup("te", "hv_transformer"));
lookupHashMap.put("generator", new Ic2ItemLookup("te", "generator"));
lookupHashMap.put("rubberWood", new Ic2ItemLookup("rubber_wood"));
lookupHashMap.put("industrialTnt", new Ic2ItemLookup("te", "itnt"));
lookupHashMap.put("industrialDiamond", new Ic2ItemLookup("crafting", "industrial_diamond"));
lookupHashMap.put("macerator", new Ic2ItemLookup("te", "macerator"));
lookupHashMap.put("diamondDrill", new Ic2ItemLookup("diamond_drill"));
lookupHashMap.put("solarPanel", new Ic2ItemLookup("te", "solar_generator"));
lookupHashMap.put("insulatedGoldCableItem", new Ic2ItemLookup("cable", "type:gold,insulation:1"));
inited = false;
}
@Override
public ItemStack getItem(String name)
{
if (!inited)
{
init();
}
if(Loader.isModLoaded("IC2")){
ItemStack stack = IC2Items.getItem(name);
if(stack == null){
if(lookupHashMap.containsKey(name)){
Ic2ItemLookup lookup = lookupHashMap.get(name);
if(lookup.getStack() != null){
return lookup.getStack();
}
return IC2Items.getItem(lookup.getName(), lookup.getVariant());
} else {
String line = "IC2:" + name;
if (!missingItems.contains(line))
{
missingItems.add(line);
}
}
} else {
return stack;
}
}
if (!recipes.containsKey(name))
{
if (!missingItems.contains(name))
{
missingItems.add(name);
}
return new ItemStack(ModItems.missingRecipe);
} else
{
return recipes.get(name);
}
}
public void saveMissingItems(File mcDir) throws IOException
{
File missingItemsFile = new File(mcDir, "missingItems.txt");
if (missingItemsFile.exists())
{
missingItemsFile.delete();
}
BufferedWriter writer = new BufferedWriter(new FileWriter(missingItemsFile));
for (String str : missingItems)
{
writer.write(str);
writer.newLine();
}
writer.close();
}
class Ic2ItemLookup {
@Nullable
String name;
@Nullable
String variant;
@Nullable
ItemStack stack;
public Ic2ItemLookup(String name, String variant) {
this.name = name;
this.variant = variant;
}
public Ic2ItemLookup(String name) {
this.name = name;
}
public Ic2ItemLookup(ItemStack stack) {
this.stack = stack;
}
public String getName() {
return name;
}
public String getVariant() {
return variant;
}
@Nullable
public ItemStack getStack() {
return stack;
}
}
}

View file

@ -1,95 +1,182 @@
package techreborn.items; package techreborn.items;
import net.minecraft.block.Block;
import net.minecraft.block.BlockStaticLiquid;
import net.minecraft.block.material.Material;
import net.minecraft.block.state.IBlockState;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.ActionResult; import net.minecraft.util.ActionResult;
import net.minecraft.util.EnumActionResult; import net.minecraft.util.EnumActionResult;
import net.minecraft.util.EnumHand; import net.minecraft.util.EnumHand;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.RayTraceResult;
import net.minecraft.util.text.TextComponentString;
import net.minecraft.world.World; import net.minecraft.world.World;
import net.minecraftforge.event.entity.player.FillBucketEvent; import net.minecraftforge.common.capabilities.ICapabilityProvider;
import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.Fluid;
import net.minecraftforge.fluids.FluidRegistry;
import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.fluids.UniversalBucket; import net.minecraftforge.fluids.IFluidBlock;
import net.minecraftforge.fluids.capability.templates.FluidHandlerItemStack;
import org.apache.commons.lang3.Validate; import org.apache.commons.lang3.Validate;
import techreborn.client.TechRebornCreativeTab; import techreborn.client.TechRebornCreativeTab;
import techreborn.init.ModItems; import techreborn.init.ModItems;
import techreborn.init.ModRecipes;
import java.util.List;
/** /**
* Created by modmuss50 on 17/05/2016. * Created by modmuss50 on 17/05/2016.
*/ */
public class DynamicCell extends UniversalBucket{ public class DynamicCell extends Item {
public static final int CAPACITY = Fluid.BUCKET_VOLUME;
public DynamicCell() { public DynamicCell() {
super(1000, new ItemStack(ModItems.emptyCell), false); super();
setCreativeTab(TechRebornCreativeTab.instance); setCreativeTab(TechRebornCreativeTab.instance);
setUnlocalizedName("techreborn.cellFilled"); setUnlocalizedName("techreborn.cell");
setMaxStackSize(16); setMaxStackSize(16);
} }
@Override @Override
public ActionResult<ItemStack> onItemRightClick(ItemStack itemstack, World world, EntityPlayer player, EnumHand hand) { public void onUpdate(ItemStack stack, World worldIn, Entity entityIn, int itemSlot, boolean isSelected) {
return ActionResult.newResult(EnumActionResult.FAIL, itemstack); //Clearing tag because ItemUtils.isItemEqual doesn't handle tags ForgeCaps and display
//And breaks ability to use in recipes
//TODO: Property ItemUtils.isItemEquals tags equality handling?
if(stack.hasTagCompound()) {
NBTTagCompound tag = stack.getTagCompound();
if(tag.getSize() != 1 || tag.hasKey("Fluid")) {
NBTTagCompound clearTag = new NBTTagCompound();
clearTag.setTag("Fluid", tag.getCompoundTag("Fluid"));
stack.setTagCompound(clearTag);
}
}
} }
@Override @Override
public void onFillBucket(FillBucketEvent event) { public ActionResult<ItemStack> onItemRightClick(ItemStack stack, World worldIn, EntityPlayer playerIn, EnumHand hand) {
return; if(!worldIn.isRemote) {
RayTraceResult result = rayTrace(worldIn, playerIn, true);
if (result.typeOfHit == RayTraceResult.Type.BLOCK) {
BlockPos pos = result.getBlockPos();
IBlockState state = worldIn.getBlockState(pos);
Block block = state.getBlock();
if (block instanceof IFluidBlock) {
IFluidBlock fluidBlock = (IFluidBlock) block;
if (fluidBlock.canDrain(worldIn, pos)) {
FluidStack fluid = fluidBlock.drain(worldIn, pos, false);
if (fluid != null && fluid.amount == DynamicCell.CAPACITY) {
if(tryAddCellToInventory(playerIn, stack, fluid.getFluid())) {
fluidBlock.drain(worldIn, pos, true);
return ActionResult.newResult(EnumActionResult.SUCCESS, stack);
}
}
}
} else if (block instanceof BlockStaticLiquid) {
Fluid fluid = block.getMaterial(state) == Material.LAVA ? FluidRegistry.LAVA : FluidRegistry.WATER;
if(tryAddCellToInventory(playerIn, stack, fluid)) {
if(fluid != FluidRegistry.WATER)
worldIn.setBlockToAir(pos);
return ActionResult.newResult(EnumActionResult.SUCCESS, stack);
}
}
}
}
return ActionResult.newResult(EnumActionResult.FAIL, stack);
}
public boolean tryAddCellToInventory(EntityPlayer player, ItemStack stack, Fluid fluid) {
if (player.inventory.addItemStackToInventory(DynamicCell.getCellWithFluid(fluid))) {
--stack.stackSize;
return true;
}
return false;
} }
@Override @Override
public String getItemStackDisplayName(ItemStack stack) public void getSubItems(Item itemIn, CreativeTabs tab, List<ItemStack> subItems) {
{ subItems.add(getEmptyCell(1));
FluidStack fluidStack = getFluid(stack); for(Fluid fluid : FluidRegistry.getRegisteredFluids().values()) {
subItems.add(getCellWithFluid(fluid));
}
}
@Override
public String getItemStackDisplayName(ItemStack stack) {
FluidStack fluidStack = getFluidHandler(stack).getFluid();
if (fluidStack == null) if (fluidStack == null)
{
if(getEmpty() != null)
{
return getEmpty().getDisplayName();
}
return super.getItemStackDisplayName(stack); return super.getItemStackDisplayName(stack);
}
return fluidStack.getLocalizedName() + " Cell"; return fluidStack.getLocalizedName() + " Cell";
} }
@Override @Override
public int fill(ItemStack container, FluidStack resource, boolean doFill) public ICapabilityProvider initCapabilities(ItemStack stack, NBTTagCompound nbt) {
{ return getFluidHandler(stack);
// has to be exactly 1, must be handled from the caller
if (container.stackSize != 1)
{
return 0;
} }
// can only fill exact capacity public static FluidHandler getFluidHandler(ItemStack stack) {
if (resource == null || resource.amount != getCapacity()) return new FluidHandler(stack, CAPACITY);
{
return 0;
}
// fill the container
if (doFill)
{
NBTTagCompound tag = container.getTagCompound();
if (tag == null)
{
tag = new NBTTagCompound();
}
resource.writeToNBT(tag);
container.setTagCompound(tag);
}
return getCapacity();
} }
public static ItemStack getCellWithFluid(Fluid fluid, int stackSize){ public static ItemStack getCellWithFluid(Fluid fluid, int stackSize){
Validate.notNull(fluid); Validate.notNull(fluid);
ItemStack stack = new ItemStack(ModItems.dynamicCell, stackSize); ItemStack stack = new ItemStack(ModItems.dynamicCell);
ModItems.dynamicCell.fill(stack, new FluidStack(fluid, ModItems.dynamicCell.getCapacity()), true); getFluidHandler(stack).fill(new FluidStack(fluid, CAPACITY), true);
stack.stackSize = stackSize;
return stack; return stack;
} }
public static ItemStack getEmptyCell(int amount) {
return new ItemStack(ModItems.dynamicCell, amount);
}
public static ItemStack getCellWithFluid(Fluid fluid){ public static ItemStack getCellWithFluid(Fluid fluid){
return getCellWithFluid(fluid, 1); return getCellWithFluid(fluid, 1);
} }
public static class FluidHandler extends FluidHandlerItemStack {
public FluidHandler(ItemStack container, int capacity) {
super(container, capacity);
//backwards compatibility
if(container.hasTagCompound() && container.getTagCompound().hasKey("FluidName")) {
FluidStack stack = FluidStack.loadFluidStackFromNBT(container.getTagCompound());
if(stack != null) {
container.setTagCompound(new NBTTagCompound());
fill(stack, true);
}
}
}
@Override
public int fill(FluidStack resource, boolean doFill) {
if(resource.amount != capacity) return 0;
return super.fill(resource, doFill);
}
@Override
public FluidStack drain(int maxDrain, boolean doDrain) {
if(maxDrain != capacity) return null;
return super.drain(maxDrain, doDrain);
}
}
} }

View file

@ -1,19 +1,28 @@
package techreborn.items; package techreborn.items;
import techreborn.client.TechRebornCreativeTab; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import techreborn.lib.ModInfo; import techreborn.lib.ModInfo;
import java.util.List;
/** /**
* Created by modmuss50 on 17/05/2016. * Created by modmuss50 on 17/05/2016.
*/ */
@Deprecated
public class EmptyCell extends ItemTextureBase { public class EmptyCell extends ItemTextureBase {
public EmptyCell() public EmptyCell() {
{
super(); super();
setUnlocalizedName("techreborn.cell"); setUnlocalizedName("techreborn.cell");
setCreativeTab(TechRebornCreativeTab.instance);
} }
@Override
public void addInformation(ItemStack stack, EntityPlayer playerIn, List<String> tooltip, boolean advanced) {
tooltip.add("§cDeprecated");
tooltip.add("§7Place to workbench to get new item");
}
@Override @Override
public String getTextureName(int damage) { public String getTextureName(int damage) {
return ModInfo.MOD_ID + ":items/cell_base"; return ModInfo.MOD_ID + ":items/cell_base";
@ -23,4 +32,5 @@ public class EmptyCell extends ItemTextureBase {
public int getMaxMeta() { public int getMaxMeta() {
return 1; return 1;
} }
} }

View file

@ -30,6 +30,7 @@ import techreborn.client.RegisterItemJsons;
import techreborn.client.StackToolTipEvent; import techreborn.client.StackToolTipEvent;
import techreborn.client.hud.ChargeHud; import techreborn.client.hud.ChargeHud;
import techreborn.client.keybindings.KeyBindings; import techreborn.client.keybindings.KeyBindings;
import techreborn.client.render.ModelDynamicCell;
import techreborn.client.render.entitys.RenderNukePrimed; import techreborn.client.render.entitys.RenderNukePrimed;
import techreborn.entitys.EntityNukePrimed; import techreborn.entitys.EntityNukePrimed;
import techreborn.init.ModBlocks; import techreborn.init.ModBlocks;
@ -44,8 +45,6 @@ public class ClientProxy extends CommonProxy
public static MultiblockRenderEvent multiblockRenderEvent; public static MultiblockRenderEvent multiblockRenderEvent;
public static final ModelResourceLocation MODEL_DYNAMIC_CELL = new ModelResourceLocation(new ResourceLocation("techreborn", "dyncell"), "inventory");
@Override @Override
public void preInit(FMLPreInitializationEvent event) public void preInit(FMLPreInitializationEvent event)
{ {
@ -70,15 +69,7 @@ public class ClientProxy extends CommonProxy
} }
} }
ModelLoader.setCustomMeshDefinition(ModItems.dynamicCell, new ItemMeshDefinition() ModelDynamicCell.init();
{
@Override
public ModelResourceLocation getModelLocation(ItemStack stack)
{
return MODEL_DYNAMIC_CELL;
}
});
ModelBakery.registerItemVariants(ModItems.dynamicCell, MODEL_DYNAMIC_CELL);
RegisterItemJsons.registerModels(); RegisterItemJsons.registerModels();
} }

Binary file not shown.

Before

Width:  |  Height:  |  Size: 243 B