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

View file

@ -1,8 +1,9 @@
package techreborn.api.recipe;
import com.google.common.collect.ImmutableList;
import net.minecraft.item.ItemStack;
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;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import net.minecraft.block.Block;
import net.minecraft.command.CommandBase;
import net.minecraft.command.CommandException;
@ -16,13 +12,13 @@ import net.minecraft.util.EnumHand;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.text.TextComponentString;
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.recipe.RecipeHandler;
import techreborn.Core;
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
{
@ -107,12 +103,6 @@ public class TechRebornDevCommand extends CommandBase
e.printStackTrace();
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.compat.jei.BaseRecipeWrapper;
import java.awt.*;
public class AlloySmelterRecipeWrapper extends BaseRecipeWrapper<AlloySmelterRecipe>
{
private final IDrawableAnimated arrow;
@ -29,5 +31,15 @@ public class AlloySmelterRecipeWrapper extends BaseRecipeWrapper<AlloySmelterRec
{
super.drawAnimations(minecraft, recipeWidth, recipeHeight);
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)
{
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");
}

View file

@ -11,6 +11,8 @@ import techreborn.api.recipe.machines.BlastFurnaceRecipe;
import techreborn.client.gui.GuiBlastFurnace;
import techreborn.compat.jei.BaseRecipeWrapper;
import java.awt.*;
public class BlastFurnaceRecipeWrapper extends BaseRecipeWrapper<BlastFurnaceRecipe>
{
private final IDrawableAnimated progress;
@ -29,5 +31,13 @@ public class BlastFurnaceRecipeWrapper extends BaseRecipeWrapper<BlastFurnaceRec
{
super.drawAnimations(minecraft, recipeWidth, recipeHeight);
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);
progressDown.draw(minecraft, 33, 48);
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;
import javax.annotation.Nonnull;
import mezz.jei.api.IGuiHelper;
import mezz.jei.api.IJeiHelpers;
import mezz.jei.api.gui.IDrawableAnimated;
@ -11,6 +9,8 @@ import techreborn.api.recipe.machines.ChemicalReactorRecipe;
import techreborn.client.gui.GuiChemicalReactor;
import techreborn.compat.jei.BaseRecipeWrapper;
import javax.annotation.Nonnull;
public class ChemicalReactorRecipeWrapper extends BaseRecipeWrapper<ChemicalReactorRecipe>
{
private final IDrawableAnimated progress;
@ -31,5 +31,12 @@ public class ChemicalReactorRecipeWrapper extends BaseRecipeWrapper<ChemicalReac
{
super.drawAnimations(minecraft, recipeWidth, recipeHeight);
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;
import javax.annotation.Nonnull;
import mezz.jei.api.IGuiHelper;
import mezz.jei.api.IJeiHelpers;
import mezz.jei.api.gui.IDrawableAnimated;
@ -11,6 +9,8 @@ import techreborn.api.recipe.machines.CompressorRecipe;
import techreborn.client.gui.GuiCompressor;
import techreborn.compat.jei.BaseRecipeWrapper;
import javax.annotation.Nonnull;
public class CompressorRecipeWrapper extends BaseRecipeWrapper<CompressorRecipe>
{
private final IDrawableAnimated progress;
@ -31,5 +31,12 @@ public class CompressorRecipeWrapper extends BaseRecipeWrapper<CompressorRecipe>
{
super.drawAnimations(minecraft, recipeWidth, recipeHeight);
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);
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;
import javax.annotation.Nonnull;
import mezz.jei.api.IGuiHelper;
import mezz.jei.api.IJeiHelpers;
import mezz.jei.api.gui.IDrawableAnimated;
@ -11,6 +9,8 @@ import techreborn.api.recipe.machines.GrinderRecipe;
import techreborn.client.gui.GuiGrinder;
import techreborn.compat.jei.BaseRecipeWrapper;
import javax.annotation.Nonnull;
public class GrinderRecipeWrapper extends BaseRecipeWrapper<GrinderRecipe>
{
private final IDrawableAnimated progress;
@ -31,5 +31,12 @@ public class GrinderRecipeWrapper extends BaseRecipeWrapper<GrinderRecipe>
{
super.drawAnimations(minecraft, recipeWidth, recipeHeight);
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.IDrawableStatic;
import net.minecraft.client.Minecraft;
import techreborn.Core;
import techreborn.api.recipe.machines.ImplosionCompressorRecipe;
import techreborn.client.gui.GuiImplosionCompressor;
import techreborn.compat.jei.BaseRecipeWrapper;
import techreborn.init.ModRecipes;
public class ImplosionCompressorRecipeWrapper extends BaseRecipeWrapper<ImplosionCompressorRecipe>
{
@ -30,5 +32,12 @@ public class ImplosionCompressorRecipeWrapper extends BaseRecipeWrapper<Implosio
{
super.drawAnimations(minecraft, recipeWidth, recipeHeight);
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);
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);
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);
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.inventory.EntityEquipmentSlot;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.fluids.FluidContainerRegistry;
import net.minecraftforge.fluids.FluidRegistry;
@ -294,12 +295,14 @@ public class ModItems
debug = new ItemDebugTool();
registerItem(debug, "debug");
emptyCell = new EmptyCell();
registerItem(emptyCell, "emptyCell");
dynamicCell = new 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);
Core.logHelper.info("TechReborns Items Loaded");
@ -555,8 +558,9 @@ public class ModItems
OreUnifier.registerOre("craftingSuperconductor", ItemParts.getPartByName("superconductor"));
OreUnifier.registerOre("batteryUltimate", ItemParts.getPartByName("diamondGrindingHead"));
OreUnifier.registerOre("containerWater", ItemCells.getCellByName("water"));
OreUnifier.registerOre("containerWater", Items.WATER_BUCKET);
//Buggy.
//OreUnifier.registerOre("containerWater", ItemCells.getCellByName("water"));
//OreUnifier.registerOre("containerWater", Items.WATER_BUCKET);
OreUnifier.registerOre("materialResin", ItemParts.getPartByName("rubberSap"));
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 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 ItemStack diamondDrillStack = new ItemStack(diamondDrill, 1, OreDictionary.WILDCARD_VALUE);
@ -440,9 +437,9 @@ public class ModRecipes
RecipeHandler.addRecipe(
new GrinderRecipe(BlockOre2.getOreByName("tin"), ItemDusts.getDustByName("tin", 2), ticktime, eutick));
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(
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
RecipeHandler.addRecipe(
@ -576,21 +573,21 @@ public class ModRecipes
CraftingHelper
.addShapedOreRecipe(new ItemStack(ModItems.ironChainsaw), " SS", "SCS", "BS ", 'S', "ingotSteel", 'B',
TechRebornAPI.recipeCompact.getItem("reBattery"), 'C',
TechRebornAPI.recipeCompact.getItem("electronicCircuit"));
"reBattery", 'C',
"circuitBasic");
CraftingHelper
.addShapedOreRecipe(new ItemStack(ModItems.diamondChainsaw), " DD", "TBD", "CT ", 'T', "ingotTitanium",
'B', ironChainsawStack, 'C', TechRebornAPI.recipeCompact.getItem("advancedCircuit"), 'D',
'B', ironChainsawStack, 'C', "circuitAdvanced", 'D',
"diamondTR");
CraftingHelper
.addShapedOreRecipe(new ItemStack(ModItems.steelJackhammer), "SBS", "SCS", " S ", 'S', "ingotSteel",
'B', TechRebornAPI.recipeCompact.getItem("reBattery"), 'C',
TechRebornAPI.recipeCompact.getItem("electronicCircuit"));
'B', "reBattery", 'C',
"circuitBasic");
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");
CraftingHelper.addShapelessOreRecipe(ItemParts.getPartByName("carbonfiber"), ItemDusts.getDustByName("coal"),
@ -635,15 +632,15 @@ public class ModRecipes
BlockMachineFrame.getFrameByName("machine", 1));
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));
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',
ItemPlates.getPlateByName("iridium"), 'D', ItemParts.getPartByName("dataStorageCircuit"), 'C',
ItemParts.getPartByName("advancedCircuit"));
ItemPlates.getPlateByName("iridium"), 'D', "circuitElite", 'C',
"circuitAdvanced");
CraftingHelper
.addShapedOreRecipe(new ItemStack(ModBlocks.thermalGenerator), "III", "IRI", "CGC", 'I', "ingotInvar",
@ -661,12 +658,12 @@ public class ModRecipes
ItemStandaloneCables.getCableByName("insulatedgold"));
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));
CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.IndustrialElectrolyzer), "RER", "CEC", "RER", 'R',
ItemIngots.getIngotByName("refinediron"), 'E', new ItemStack(ModBlocks.Extractor), 'C',
ItemParts.getPartByName("advancedCircuit"));
"circuitAdvanced");
// Mixed Metal Ingot Recipes :P
@ -838,7 +835,7 @@ public class ModRecipes
ItemIngots.getIngotByName("advancedAlloy"), 'C', ItemPlates.getPlateByName("carbon"), 'M',
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"));
CraftingHelper
@ -850,7 +847,7 @@ public class ModRecipes
'M', new ItemStack(ModItems.parts, 1, 13));
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',
BlockMachineFrame.getFrameByName("highlyAdvancedMachine", 1));
@ -863,11 +860,11 @@ public class ModRecipes
/* TODO: Make destructopack seperate item
CraftingHelper.addShapedOreRecipe(ItemParts.getPartByName("destructoPack"), "CIC", "IBI", "CIC", 'C',
ItemParts.getPartByName("advancedCircuit"), 'I', "ingotAluminum", 'B',
"circuitAdvanced", 'I', "ingotAluminum", 'B',
new ItemStack(Items.lava_bucket));
CraftingHelper.addShapedOreRecipe(ItemParts.getPartByName("destructoPack"), "CIC", "IBI", "CIC", 'C',
ItemParts.getPartByName("advancedCircuit"), 'I', "ingotRefinedIron", 'B',
"circuitAdvanced", 'I', "ingotRefinedIron", 'B',
new ItemStack(Items.lava_bucket));
*/
@ -925,15 +922,15 @@ public class ModRecipes
CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.FusionControlComputer), "CCC", "PTP", "CCC", 'P',
new ItemStack(ModBlocks.ComputerCube), 'T', new ItemStack(ModBlocks.FusionCoil), 'C',
ItemParts.getPartByName("energyFlowCircuit"));
"circuitMaster");
CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.LightningRod), "CAC", "ACA", "CAC", 'A',
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',
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"));
CraftingHelper.addShapedOreRecipe(ItemParts.getPartByName("iridiumNeutronReflector"), "PPP", "PIP", "PPP", 'P',
@ -1057,7 +1054,7 @@ public class ModRecipes
{
CraftingHelper
.addShapedOreRecipe(new ItemStack(ModBlocks.quantumTank), "EPE", "PCP", "EPE", 'P', "ingotPlatinum",
'E', ItemParts.getPartByName("advancedCircuit"), 'C', ModBlocks.quantumChest);
'E', "circuitAdvanced", 'C', ModBlocks.quantumChest);
CraftingHelper
.addShapedOreRecipe(new ItemStack(ModBlocks.digitalChest), "PPP", "PDP", "PCP", 'P', "plateAluminum",
@ -2219,36 +2216,35 @@ public class ModRecipes
CraftingHelper
.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',
"ingotTungsten", 'I', "plateIridium", 'A', TechRebornAPI.recipeCompact.getItem("advancedCircuit"), 'L',
TechRebornAPI.recipeCompact.getItem("lapotronCrystal"));
"ingotTungsten", 'I', "plateIridium", 'A', "circuitAdvanced", 'L',
"lapotronCrystal");
CraftingHelper.addShapedOreRecipe(ItemParts.getPartByName("superconductor", 4), "CCC", "TIT", "EEE", 'E',
ItemParts.getPartByName("energyFlowCircuit"), 'C', ItemParts.getPartByName("heliumCoolantSimple"), 'T',
"ingotTungsten", 'I', TechRebornAPI.recipeCompact.getItem("iridiumPlate"));
"circuitMaster", 'C', ItemParts.getPartByName("heliumCoolantSimple"), 'T',
"ingotTungsten", 'I', "plateIridium");
CraftingHelper.addShapedOreRecipe(new ItemStack(ModItems.lapotronicOrb), "LLL", "LPL", "LLL", 'L',
new ItemStack(TechRebornAPI.recipeCompact.getItem("lapotronCrystal").getItem(), 1,
OreDictionary.WILDCARD_VALUE), 'P', TechRebornAPI.recipeCompact.getItem("iridiumPlate"));
"lapotronCrystal", 'P', "plateIridium");
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',
TechRebornAPI.recipeCompact.getItem("advancedMachine"));
"machineBlockAdvanced");
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',
TechRebornAPI.recipeCompact.getItem("advancedMachine"));
"machineBlockAdvanced");
CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.chargeBench), "ETE", "COC", "EAD", 'E',
ItemParts.getPartByName("energyFlowCircuit"), 'T', ModBlocks.ComputerCube, 'C', Blocks.CHEST, 'O',
ModItems.lapotronicOrb, 'A', TechRebornAPI.recipeCompact.getItem("advancedMachine"));
"circuitMaster", 'T', ModBlocks.ComputerCube, 'C', Blocks.CHEST, 'O',
ModItems.lapotronicOrb, 'A', "machineBlockAdvanced");
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);
CraftingHelper
@ -2257,15 +2253,15 @@ public class ModRecipes
CraftingHelper
.addShapedOreRecipe(new ItemStack(ModBlocks.Gasturbine), "IAI", "WGW", "IAI", 'I', "ingotInvar", 'A',
TechRebornAPI.recipeCompact.getItem("advancedCircuit"), 'W',
TechRebornAPI.recipeCompact.getItem("windMill"), 'G',
TechRebornAPI.recipeCompact.getItem("reinforcedGlass"));
"circuitAdvanced", 'W',
getOre("ic2Windmill"), 'G',
getOre("glassReinforced"));
CraftingHelper
.addShapedOreRecipe(new ItemStack(ModBlocks.Gasturbine), "IAI", "WGW", "IAI", 'I', "ingotAluminum", 'A',
TechRebornAPI.recipeCompact.getItem("advancedCircuit"), 'W',
TechRebornAPI.recipeCompact.getItem("windMill"), 'G',
TechRebornAPI.recipeCompact.getItem("reinforcedGlass"));
"circuitAdvanced", 'W',
getOre("ic2Windmill"), 'G',
getOre("glassReinforced"));
CraftingHelper
.addShapedOreRecipe(new ItemStack(ModBlocks.Semifluidgenerator), "III", "IHI", "CGC", 'I', "plateIron",
@ -2291,7 +2287,7 @@ public class ModRecipes
// 'S', "craftingSuperconductor",
// 'B', Blocks.beacon,
// 'A', ModBlocks.Magicenergeyconverter,
// 'I', TechRebornAPI.recipeCompact.getItem("iridiumPlate"));
// 'I', "plateIridium");
//
// CraftingHelper.addShapedOreRecipe(new
// ItemStack(ModBlocks.Magicenergeyconverter),
@ -2299,39 +2295,39 @@ public class ModRecipes
// 'C', "circuitAdvanced",
// 'P', "platePlatinum",
// 'B', Blocks.beacon,
// 'L', TechRebornAPI.recipeCompact.getItem("lapotronCrystal"),
// 'L', "lapotronCrystal",
// 'T', TechRebornAPI.recipeCompact.getItem("teleporter"));
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);
CraftingHelper
.addShapedOreRecipe(new ItemStack(ModBlocks.centrifuge), "SCS", "BEB", "SCS", 'S', "plateSteel", 'C',
"circuitAdvanced", 'B', TechRebornAPI.recipeCompact.getItem("advancedMachine"), 'E',
TechRebornAPI.recipeCompact.getItem("extractor"));
"circuitAdvanced", 'B', "machineBlockAdvanced", 'E',
getOre("ic2Extractor"));
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);
CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.IndustrialGrinder), "ECP", "GGG", "CBC", 'E',
ModBlocks.IndustrialElectrolyzer, 'P', ModBlocks.Extractor, 'C',
ItemParts.getPartByName("advancedCircuit"), 'B', TechRebornAPI.recipeCompact.getItem("advancedMachine"),
"circuitAdvanced", 'B', "machineBlockAdvanced",
'G', ModBlocks.Grinder);
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);
CraftingHelper
.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);
CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.Distillationtower), "CMC", "PBP", "EME", 'E',
ModBlocks.IndustrialElectrolyzer, 'M', "circuitMaster", 'B',
TechRebornAPI.recipeCompact.getItem("advancedMachine"), 'C', ModBlocks.centrifuge, 'P',
"machineBlockAdvanced", 'C', ModBlocks.centrifuge, 'P',
ModBlocks.Extractor);
CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.AlloyFurnace), "III", "F F", "III", 'I',
@ -2339,12 +2335,12 @@ public class ModRecipes
CraftingHelper
.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);
CraftingHelper
.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));
// CraftingHelper.addShapedOreRecipe(new
@ -2353,7 +2349,7 @@ public class ModRecipes
// 'I', "plateIron",
// 'C', "circuitAdvanced",
// 'T', "crafterWood",
// 'B', TechRebornAPI.recipeCompact.getItem("machine"));
// 'B', "machineBlockBasic");
// CraftingHelper.addShapedOreRecipe(new
// ItemStack(ModBlocks.ElectricCraftingTable),
@ -2361,7 +2357,7 @@ public class ModRecipes
// 'A', "plateAluminum",
// 'C', "circuitAdvanced",
// 'T', "crafterWood",
// 'B', TechRebornAPI.recipeCompact.getItem("machine"));
// 'B', "machineBlockBasic");
// CraftingHelper.addShapedOreRecipe(new
// ItemStack(ModBlocks.ChunkLoader),
@ -2371,19 +2367,19 @@ public class ModRecipes
// 'M', new ItemStack(ModItems.parts, 1, 39));
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
.addShapedOreRecipe(BlockMachineFrame.getFrameByName("highlyAdvancedMachine", 1), "CTC", "TBT", "CTC",
'C', "ingotChrome", 'T', "ingotTitanium", 'B',
TechRebornAPI.recipeCompact.getItem("advancedMachine"));
"machineBlockAdvanced");
CraftingHelper
.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',
"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',
"ingotChrome", 'C', "circuitElite", 'B', BlockMachineFrame.getFrameByName("highlyAdvancedMachine", 1));
@ -2394,50 +2390,29 @@ public class ModRecipes
ModBlocks.Compressor);
CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.PlasmaGenerator), "PPP", "PTP", "CGC", 'P',
ItemPlates.getPlateByName("tungstensteel"), 'T', TechRebornAPI.recipeCompact.getItem("hvTransformer"),
'G', TechRebornAPI.recipeCompact.getItem("generator"), 'C',
ItemParts.getPartByName("energyFlowCircuit"));
ItemPlates.getPlateByName("tungstensteel"), 'T', getOre("hvTransformer"),
'G', "ic2Generator", 'C',
"circuitMaster");
// Smetling
CraftingHelper
.addSmelting(ItemDusts.getDustByName("copper", 1), TechRebornAPI.recipeCompact.getItem("copperIngot"),
.addSmelting(ItemDusts.getDustByName("copper", 1), getOre("ingotCopper"),
1F);
CraftingHelper
.addSmelting(ItemDusts.getDustByName("tin", 1), TechRebornAPI.recipeCompact.getItem("tinIngot"), 1F);
.addSmelting(ItemDusts.getDustByName("tin", 1), ItemIngots.getIngotByName("tin"), 1F);
CraftingHelper
.addSmelting(ItemDusts.getDustByName("bronze", 1), TechRebornAPI.recipeCompact.getItem("bronzeIngot"),
.addSmelting(ItemDusts.getDustByName("bronze", 1), ItemIngots.getIngotByName("bronze"),
1F);
CraftingHelper
.addSmelting(ItemDusts.getDustByName("lead", 1), TechRebornAPI.recipeCompact.getItem("leadIngot"), 1F);
.addSmelting(ItemDusts.getDustByName("lead", 1), ItemIngots.getIngotByName("lead"), 1F);
CraftingHelper
.addSmelting(ItemDusts.getDustByName("silver", 1), TechRebornAPI.recipeCompact.getItem("silverIngot"),
.addSmelting(ItemDusts.getDustByName("silver", 1), ItemIngots.getIngotByName("silver"),
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
if (ConfigTechReborn.UUrecipesIridiamOre)
CraftingHelper
.addShapedOreRecipe((TechRebornAPI.recipeCompact.getItem("iridiumOre")), "UUU", " U ", "UUU", 'U',
.addShapedOreRecipe((OreDictionary.getOres("oreIridium").get(0)), "UUU", " U ", "UUU", 'U',
ModItems.uuMatter);
// Blast Furnace
@ -2542,7 +2517,7 @@ public class ModRecipes
// Rubber Wood Yields
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),
new ItemStack(Blocks.SAPLING, 6), ItemCells.getCellByName("methane", 1),
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));
// Lava Cell Byproducts
ItemStack lavaCells = TechRebornAPI.recipeCompact.getItem("lavaCell");
ItemStack lavaCells = ItemCells.getCellByName("lava");
lavaCells.stackSize = 8;
RecipeHandler.addRecipe(new CentrifugeRecipe(lavaCells, null, ItemNuggets.getNuggetByName("electrum", 4),
ItemIngots.getIngotByName("copper", 2), ItemDustsSmall.getSmallDustByName("Tungsten", 1),
@ -2596,15 +2571,15 @@ public class ModRecipes
// IndustrialGrinderRecipes
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),
ItemCells.getCellByName("empty"), 100, 120));
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),
ItemCells.getCellByName("empty"), 100, 120));
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),
ItemCells.getCellByName("empty"), 100, 120));
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),
ItemDustsSmall.getSmallDustByName("Nickel", 1), ItemCells.getCellByName("empty"), 100, 120));
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),
ItemCells.getCellByName("empty"), 100, 120));
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),
ItemCells.getCellByName("empty"), 100, 120));
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),
ItemCells.getCellByName("empty"), 100, 120));
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));
// Copper Ore
@ -2642,7 +2617,7 @@ public class ModRecipes
{
ItemStack oreStack = OreDictionary.getOres("oreCopper").get(0);
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),
ItemDustsSmall.getSmallDustByName("Nickel", 1), ItemCells.getCellByName("empty"), 100,
120));
@ -2670,7 +2645,7 @@ public class ModRecipes
{
ItemStack oreStack = OreDictionary.getOres("oreTin").get(0);
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),
ItemDustsSmall.getSmallDustByName("Zinc", 1), ItemCells.getCellByName("empty"), 100,
120));
@ -2691,7 +2666,7 @@ public class ModRecipes
{
ItemStack oreStack = OreDictionary.getOres("oreNickel").get(0);
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),
ItemDustsSmall.getSmallDustByName("Platinum", 1), ItemCells.getCellByName("empty"), 100,
120));
@ -2717,7 +2692,7 @@ public class ModRecipes
{
ItemStack oreStack = OreDictionary.getOres("oreZinc").get(0);
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),
ItemDustsSmall.getSmallDustByName("Tin", 1), ItemCells.getCellByName("empty"), 100,
120));
@ -2738,7 +2713,7 @@ public class ModRecipes
{
ItemStack oreStack = OreDictionary.getOres("oreSilver").get(0);
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),
ItemDustsSmall.getSmallDustByName("Sulfur", 1), ItemCells.getCellByName("empty"), 100,
120));
@ -2760,7 +2735,7 @@ public class ModRecipes
{
ItemStack oreStack = OreDictionary.getOres("oreLead").get(0);
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),
ItemDustsSmall.getSmallDustByName("Sulfur", 1), ItemCells.getCellByName("empty"), 100,
120));
@ -2781,15 +2756,15 @@ public class ModRecipes
try
{
ItemStack oreStack = OreDictionary.getOres("oreUranium").get(0);
ItemStack uranium238Stack = TechRebornAPI.recipeCompact.getItem("Uran238");
ItemStack uranium238Stack = getOre("uran238");
uranium238Stack.stackSize = 8;
ItemStack uranium235Stack = TechRebornAPI.recipeCompact.getItem("smallUran235");
ItemStack uranium235Stack = getOre("smallUran235");
uranium235Stack.stackSize = 2;
RecipeHandler.addRecipe(
new IndustrialGrinderRecipe(oreStack, null, new FluidStack(FluidRegistry.WATER, 1000),
uranium238Stack, uranium235Stack, null, null, 100, 120));
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));
RecipeHandler.addRecipe(
new IndustrialGrinderRecipe(oreStack, new ItemStack(Items.WATER_BUCKET), null, uranium238Stack,
@ -2806,15 +2781,15 @@ public class ModRecipes
try
{
ItemStack oreStack = OreDictionary.getOres("orePitchblende").get(0);
ItemStack uranium238Stack = TechRebornAPI.recipeCompact.getItem("Uran238");
ItemStack uranium238Stack = getOre("uran238");
uranium238Stack.stackSize = 8;
ItemStack uranium235Stack = TechRebornAPI.recipeCompact.getItem("smallUran235");
ItemStack uranium235Stack = getOre("uran235");
uranium235Stack.stackSize = 2;
RecipeHandler.addRecipe(
new IndustrialGrinderRecipe(oreStack, null, new FluidStack(FluidRegistry.WATER, 1000),
uranium238Stack, uranium235Stack, null, null, 100, 120));
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));
RecipeHandler.addRecipe(
new IndustrialGrinderRecipe(oreStack, new ItemStack(Items.WATER_BUCKET), null, uranium238Stack,
@ -2832,7 +2807,7 @@ public class ModRecipes
{
ItemStack oreStack = OreDictionary.getOres("oreAluminum").get(0);
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),
ItemDustsSmall.getSmallDustByName("Bauxite", 1), ItemCells.getCellByName("empty"), 100,
120));
@ -2849,7 +2824,7 @@ public class ModRecipes
{
ItemStack oreStack = OreDictionary.getOres("oreArdite").get(0);
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),
ItemDustsSmall.getSmallDustByName("Ardite", 1), ItemCells.getCellByName("empty"), 100,
120));
@ -2866,7 +2841,7 @@ public class ModRecipes
{
ItemStack oreStack = OreDictionary.getOres("oreCobalt").get(0);
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),
ItemDustsSmall.getSmallDustByName("Cobalt", 1), ItemCells.getCellByName("empty"), 100,
120));
@ -2883,7 +2858,7 @@ public class ModRecipes
{
ItemStack oreStack = OreDictionary.getOres("oreDarkIron").get(0);
RecipeHandler.addRecipe(
new IndustrialGrinderRecipe(oreStack, TechRebornAPI.recipeCompact.getItem("waterCell"), null,
new IndustrialGrinderRecipe(oreStack,ItemCells.getCellByName("water"), null,
ItemDusts.getDustByName("darkIron", 2),
ItemDustsSmall.getSmallDustByName("DarkIron", 1),
ItemDustsSmall.getSmallDustByName("Iron", 1), ItemCells.getCellByName("empty"), 100,
@ -2901,7 +2876,7 @@ public class ModRecipes
{
ItemStack oreStack = OreDictionary.getOres("oreCadmium").get(0);
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),
ItemDustsSmall.getSmallDustByName("Cadmium", 1), ItemCells.getCellByName("empty"), 100,
120));
@ -2918,7 +2893,7 @@ public class ModRecipes
{
ItemStack oreStack = OreDictionary.getOres("oreIndium").get(0);
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),
ItemDustsSmall.getSmallDustByName("Indium", 1), ItemCells.getCellByName("empty"), 100,
120));
@ -2936,7 +2911,7 @@ public class ModRecipes
ItemStack oreStack = OreDictionary.getOres("oreCalcite").get(0);
ItemStack gemStack = OreDictionary.getOres("gemCalcite").get(0);
RecipeHandler.addRecipe(
new IndustrialGrinderRecipe(oreStack, TechRebornAPI.recipeCompact.getItem("waterCell"), null,
new IndustrialGrinderRecipe(oreStack,ItemCells.getCellByName("water"), null,
gemStack, ItemDustsSmall.getSmallDustByName("Calcite", 6), null,
ItemCells.getCellByName("empty"), 100, 120));
} catch (Exception e)
@ -2953,7 +2928,7 @@ public class ModRecipes
ItemStack oreStack = OreDictionary.getOres("oreMagnetite").get(0);
ItemStack chunkStack = OreDictionary.getOres("chunkMagnetite").get(0);
RecipeHandler.addRecipe(
new IndustrialGrinderRecipe(oreStack, TechRebornAPI.recipeCompact.getItem("waterCell"), null,
new IndustrialGrinderRecipe(oreStack,ItemCells.getCellByName("water"), null,
chunkStack, ItemDustsSmall.getSmallDustByName("Magnetite", 6), null,
ItemCells.getCellByName("empty"), 100, 120));
} catch (Exception e)
@ -2970,7 +2945,7 @@ public class ModRecipes
ItemStack oreStack = OreDictionary.getOres("oreGraphite").get(0);
ItemStack chunkStack = OreDictionary.getOres("chunkGraphite").get(0);
RecipeHandler.addRecipe(
new IndustrialGrinderRecipe(oreStack, TechRebornAPI.recipeCompact.getItem("waterCell"), null,
new IndustrialGrinderRecipe(oreStack,ItemCells.getCellByName("water"), null,
chunkStack, ItemDustsSmall.getSmallDustByName("Graphite", 6), null,
ItemCells.getCellByName("empty"), 100, 120));
} catch (Exception e)
@ -2986,7 +2961,7 @@ public class ModRecipes
{
ItemStack oreStack = OreDictionary.getOres("oreOsmium").get(0);
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),
ItemDustsSmall.getSmallDustByName("Osmium", 1), ItemCells.getCellByName("empty"), 100,
120));
@ -3005,7 +2980,7 @@ public class ModRecipes
ItemStack dustStack = OreDictionary.getOres("dustTeslatite").get(0);
dustStack.stackSize = 10;
RecipeHandler.addRecipe(
new IndustrialGrinderRecipe(oreStack, TechRebornAPI.recipeCompact.getItem("waterCell"), null,
new IndustrialGrinderRecipe(oreStack,ItemCells.getCellByName("water"), null,
dustStack, ItemDustsSmall.getSmallDustByName("Sodalite", 1),
ItemDustsSmall.getSmallDustByName("Glowstone", 1), ItemCells.getCellByName("empty"),
100, 120));
@ -3022,7 +2997,7 @@ public class ModRecipes
{
ItemStack oreStack = OreDictionary.getOres("oreSulfur").get(0);
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),
ItemDustsSmall.getSmallDustByName("Sulfur", 1), ItemCells.getCellByName("empty"), 100,
120));
@ -3039,7 +3014,7 @@ public class ModRecipes
{
ItemStack oreStack = OreDictionary.getOres("oreSaltpeter").get(0);
RecipeHandler.addRecipe(
new IndustrialGrinderRecipe(oreStack, TechRebornAPI.recipeCompact.getItem("waterCell"), null,
new IndustrialGrinderRecipe(oreStack,ItemCells.getCellByName("water"), null,
ItemDusts.getDustByName("saltpeter", 2),
ItemDustsSmall.getSmallDustByName("Saltpeter", 1),
ItemDustsSmall.getSmallDustByName("Saltpeter", 1), ItemCells.getCellByName("empty"),
@ -3059,7 +3034,7 @@ public class ModRecipes
ItemStack gemStack = OreDictionary.getOres("gemApatite").get(0);
gemStack.stackSize = 6;
RecipeHandler.addRecipe(
new IndustrialGrinderRecipe(oreStack, TechRebornAPI.recipeCompact.getItem("waterCell"), null,
new IndustrialGrinderRecipe(oreStack,ItemCells.getCellByName("water"), null,
gemStack, gemStack, ItemDustsSmall.getSmallDustByName("Phosphorous", 4),
ItemCells.getCellByName("empty"), 100, 120));
} catch (Exception e)
@ -3076,7 +3051,7 @@ public class ModRecipes
ItemStack dustStack = OreDictionary.getOres("dustNetherQuartz").get(0);
dustStack.stackSize = 4;
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"),
100, 120));
} catch (Exception e)
@ -3095,7 +3070,7 @@ public class ModRecipes
ItemStack dustStack = OreDictionary.getOres("dustCertusQuartz").get(0);
dustStack.stackSize = 2;
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));
} catch (Exception e)
{
@ -3113,7 +3088,7 @@ public class ModRecipes
ItemStack dustStack = OreDictionary.getOres("dustCertusQuartz").get(0);
dustStack.stackSize = 2;
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));
} catch (Exception e)
{
@ -3132,7 +3107,7 @@ public class ModRecipes
ItemStack dustStack = OreDictionary.getOres("gemAmethyst").get(0);
dustStack.stackSize = 1;
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));
} catch (Exception e)
{
@ -3151,7 +3126,7 @@ public class ModRecipes
ItemStack dustStack = OreDictionary.getOres("gemTopaz").get(0);
dustStack.stackSize = 1;
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));
} catch (Exception e)
{
@ -3170,7 +3145,7 @@ public class ModRecipes
ItemStack dustStack = OreDictionary.getOres("gemTanzanite").get(0);
dustStack.stackSize = 1;
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));
} catch (Exception e)
{
@ -3188,8 +3163,9 @@ public class ModRecipes
gemStack.stackSize = 2;
ItemStack dustStack = OreDictionary.getOres("gemMalachite").get(0);
dustStack.stackSize = 1;
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));
} catch (Exception e)
{
@ -3200,35 +3176,35 @@ public class ModRecipes
// Implosion Compressor
RecipeHandler.addRecipe(new ImplosionCompressorRecipe(ItemIngots.getIngotByName("iridiumAlloy"),
new ItemStack(TechRebornAPI.recipeCompact.getItem("industrialTnt").getItem(), 8),
TechRebornAPI.recipeCompact.getItem("iridiumPlate"), ItemDusts.getDustByName("darkAshes", 4), 20, 30));
new ItemStack(OreDictionary.getOres("industrialTnt").get(0).getItem(), 8),
OreDictionary.getOres("plateIridium").get(0).copy(), ItemDusts.getDustByName("darkAshes", 4), 20, 30));
RecipeHandler.addRecipe(new ImplosionCompressorRecipe(ItemDusts.getDustByName("diamond", 4),
new ItemStack(TechRebornAPI.recipeCompact.getItem("industrialTnt").getItem(), 32),
new ItemStack(TechRebornAPI.recipeCompact.getItem("industrialDiamond").getItem(), 3),
new ItemStack(OreDictionary.getOres("industrialTnt").get(0).getItem(), 32),
new ItemStack(OreDictionary.getOres("craftingIndustrialDiamond").get(0).getItem(), 3),
ItemDusts.getDustByName("darkAshes", 16), 20, 30));
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));
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));
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));
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));
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));
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));
// Grinder
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),
ItemCells.getCellByName("empty"), 100, 120));
RecipeHandler.addRecipe(
@ -3238,56 +3214,56 @@ public class ModRecipes
// Iridium Ore
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));
RecipeHandler.addRecipe(new IndustrialGrinderRecipe(new ItemStack(ModBlocks.ore, 1, 1),
TechRebornAPI.recipeCompact.getItem("waterCell"), null,
TechRebornAPI.recipeCompact.getItem("iridiumOre"), ItemDustsSmall.getSmallDustByName("Platinum", 2),
ItemCells.getCellByName("water"), null,
OreDictionary.getOres("oreIridium").get(0), ItemDustsSmall.getSmallDustByName("Platinum", 2),
null, ItemCells.getCellByName("empty"), 100, 120));
RecipeHandler.addRecipe(
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));
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));
RecipeHandler.addRecipe(
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,
120));
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));
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),
ItemCells.getCellByName("empty"), 100, 120));
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),
ItemCells.getCellByName("empty"), 100, 120));
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),
ItemCells.getCellByName("empty"), 100, 120));
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),
ItemCells.getCellByName("empty"), 100, 120));
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),
ItemCells.getCellByName("empty"), 100, 120));
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),
ItemCells.getCellByName("empty"), 100, 120));
RecipeHandler.addRecipe(new IndustrialGrinderRecipe(new ItemStack(ModBlocks.ore, 1, 7),
@ -3296,7 +3272,7 @@ public class ModRecipes
ItemCells.getCellByName("empty"), 100, 120));
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),
ItemCells.getCellByName("empty"), 100, 120));
RecipeHandler.addRecipe(
@ -3305,7 +3281,7 @@ public class ModRecipes
ItemDusts.getDustByName("silver", 2), ItemCells.getCellByName("empty"), 100, 120));
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),
ItemCells.getCellByName("empty"), 100, 120));
RecipeHandler.addRecipe(
@ -3314,38 +3290,38 @@ public class ModRecipes
ItemNuggets.getNuggetByName("iridium", 2), ItemCells.getCellByName("empty"), 100, 120));
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),
ItemCells.getCellByName("empty"), 100, 120));
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));
// Chemical Reactor
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),
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),
TechRebornAPI.recipeCompact.getItem("airCell"), ItemCells.getCellByName("sodiumPersulfate", 2), 2000,
ItemCells.getCellByName("empty"), ItemCells.getCellByName("sodiumPersulfate", 2), 2000,
30));
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(
new ChemicalReactorRecipe(ItemDusts.getDustByName("calcite", 1), ItemDusts.getDustByName("sulfur", 1),
new ItemStack(TechRebornAPI.recipeCompact.getItem("fertilizer").getItem(), 2), 100, 30));
ItemStack waterCells = TechRebornAPI.recipeCompact.getItem("waterCell").copy();
new ItemStack(OreDictionary.getOres("fertilizer").get(0).getItem(), 2), 100, 30));
ItemStack waterCells =ItemCells.getCellByName("water").copy();
waterCells.stackSize = 2;
RecipeHandler.addRecipe(new ChemicalReactorRecipe(ItemCells.getCellByName("sulfur", 1), waterCells,
ItemCells.getCellByName("sulfuricAcid", 3), 1140, 30));
ItemStack waterCells2 = TechRebornAPI.recipeCompact.getItem("waterCell").copy();
ItemStack waterCells2 =ItemCells.getCellByName("water").copy();
waterCells2.stackSize = 5;
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),
TechRebornAPI.recipeCompact.getItem("airCell"), ItemCells.getCellByName("nitrogenDioxide", 2), 1240,
ItemCells.getCellByName("empty"), ItemCells.getCellByName("nitrogenDioxide", 2), 1240,
30));
// IndustrialElectrolyzer
@ -3448,52 +3424,52 @@ public class ModRecipes
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);
if (ConfigTechReborn.ExpensiveMacerator)
CraftingHelper
.addShapedOreRecipe(TechRebornAPI.recipeCompact.getItem("macerator"), "FDF", "DMD", "FCF", 'F',
Items.FLINT, 'D', Items.DIAMOND, 'M', TechRebornAPI.recipeCompact.getItem("machine"), 'C',
TechRebornAPI.recipeCompact.getItem("electronicCircuit"));
.addShapedOreRecipe(getOre("ic2Macerator"), "FDF", "DMD", "FCF", 'F',
Items.FLINT, 'D', Items.DIAMOND, 'M', "machineBlockBasic", 'C',
"circuitBasic");
if (ConfigTechReborn.ExpensiveDrill)
CraftingHelper
.addShapedOreRecipe(TechRebornAPI.recipeCompact.getItem("miningDrill"), " S ", "SCS", "SBS", 'S',
"ingotSteel", 'B', TechRebornAPI.recipeCompact.getItem("reBattery"), 'C',
TechRebornAPI.recipeCompact.getItem("electronicCircuit"));
.addShapedOreRecipe(OreDictionary.getOres("drillBasic").get(0).copy(), " S ", "SCS", "SBS", 'S',
"ingotSteel", 'B', "reBattery", 'C',
"circuitBasic");
if (ConfigTechReborn.ExpensiveDiamondDrill)
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',
TechRebornAPI.recipeCompact.getItem("advancedCircuit"));
"circuitAdvanced");
if (ConfigTechReborn.ExpensiveSolar)
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',
TechRebornAPI.recipeCompact.getItem("carbonPlate"), 'G',
TechRebornAPI.recipeCompact.getItem("generator"), 'C',
TechRebornAPI.recipeCompact.getItem("electronicCircuit"));
"plateCarbon", 'G',
"ic2Generator", 'C',
"circuitBasic");
CraftingHelper.addShapedOreRecipe(ItemIngots.getIngotByName("iridiumAlloy"), "IAI", "ADA", "IAI", 'I',
ItemIngots.getIngotByName("iridium"), 'D', ItemDusts.getDustByName("diamond"), 'A',
TechRebornAPI.recipeCompact.getItem("advancedAlloy"));
"ingotIridium", 'D', ItemDusts.getDustByName("diamond"), 'A',
"plateAdvancedAlloy");
CraftingHelper
.addShapedOreRecipe(new ItemStack(ModItems.lithiumBatpack, 1, OreDictionary.WILDCARD_VALUE), "BCB",
"BPB", "B B", 'B', new ItemStack(ModItems.lithiumBattery), 'P', "plateAluminum", 'C',
TechRebornAPI.recipeCompact.getItem("advancedCircuit"));
"circuitAdvanced");
CraftingHelper
.addShapedOreRecipe(new ItemStack(ModItems.lithiumBattery, 1, OreDictionary.WILDCARD_VALUE), " C ",
"PFP", "PFP", 'F', ItemCells.getCellByName("lithium"), 'P', "plateAluminum", 'C',
TechRebornAPI.recipeCompact.getItem("insulatedGoldCableItem"));
"insulatedGoldCableItem");
CraftingHelper
.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',
"ingotIridium", 'P', new ItemStack(ModItems.lapotronpack));
}
@ -3525,4 +3501,9 @@ public class ModRecipes
{
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;
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.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.ActionResult;
import net.minecraft.util.EnumActionResult;
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.minecraftforge.event.entity.player.FillBucketEvent;
import net.minecraftforge.common.capabilities.ICapabilityProvider;
import net.minecraftforge.fluids.Fluid;
import net.minecraftforge.fluids.FluidRegistry;
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 techreborn.client.TechRebornCreativeTab;
import techreborn.init.ModItems;
import techreborn.init.ModRecipes;
import java.util.List;
/**
* 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() {
super(1000, new ItemStack(ModItems.emptyCell), false);
super();
setCreativeTab(TechRebornCreativeTab.instance);
setUnlocalizedName("techreborn.cellFilled");
setUnlocalizedName("techreborn.cell");
setMaxStackSize(16);
}
@Override
public ActionResult<ItemStack> onItemRightClick(ItemStack itemstack, World world, EntityPlayer player, EnumHand hand) {
return ActionResult.newResult(EnumActionResult.FAIL, itemstack);
}
@Override
public void onFillBucket(FillBucketEvent event) {
return;
}
@Override
public String getItemStackDisplayName(ItemStack stack)
{
FluidStack fluidStack = getFluid(stack);
if (fluidStack == null)
{
if(getEmpty() != null)
{
return getEmpty().getDisplayName();
public void onUpdate(ItemStack stack, World worldIn, Entity entityIn, int itemSlot, boolean isSelected) {
//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);
}
return super.getItemStackDisplayName(stack);
}
}
@Override
public ActionResult<ItemStack> onItemRightClick(ItemStack stack, World worldIn, EntityPlayer playerIn, EnumHand hand) {
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
public void getSubItems(Item itemIn, CreativeTabs tab, List<ItemStack> subItems) {
subItems.add(getEmptyCell(1));
for(Fluid fluid : FluidRegistry.getRegisteredFluids().values()) {
subItems.add(getCellWithFluid(fluid));
}
}
@Override
public String getItemStackDisplayName(ItemStack stack) {
FluidStack fluidStack = getFluidHandler(stack).getFluid();
if (fluidStack == null)
return super.getItemStackDisplayName(stack);
return fluidStack.getLocalizedName() + " Cell";
}
@Override
public int fill(ItemStack container, FluidStack resource, boolean doFill)
{
// has to be exactly 1, must be handled from the caller
if (container.stackSize != 1)
{
return 0;
}
public ICapabilityProvider initCapabilities(ItemStack stack, NBTTagCompound nbt) {
return getFluidHandler(stack);
}
// can only fill exact capacity
if (resource == null || resource.amount != getCapacity())
{
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 FluidHandler getFluidHandler(ItemStack stack) {
return new FluidHandler(stack, CAPACITY);
}
public static ItemStack getCellWithFluid(Fluid fluid, int stackSize){
Validate.notNull(fluid);
ItemStack stack = new ItemStack(ModItems.dynamicCell, stackSize);
ModItems.dynamicCell.fill(stack, new FluidStack(fluid, ModItems.dynamicCell.getCapacity()), true);
ItemStack stack = new ItemStack(ModItems.dynamicCell);
getFluidHandler(stack).fill(new FluidStack(fluid, CAPACITY), true);
stack.stackSize = stackSize;
return stack;
}
public static ItemStack getEmptyCell(int amount) {
return new ItemStack(ModItems.dynamicCell, amount);
}
public static ItemStack getCellWithFluid(Fluid fluid){
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;
import techreborn.client.TechRebornCreativeTab;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import techreborn.lib.ModInfo;
import java.util.List;
/**
* Created by modmuss50 on 17/05/2016.
*/
@Deprecated
public class EmptyCell extends ItemTextureBase {
public EmptyCell()
{
public EmptyCell() {
super();
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
public String getTextureName(int damage) {
return ModInfo.MOD_ID + ":items/cell_base";
@ -23,4 +32,5 @@ public class EmptyCell extends ItemTextureBase {
public int getMaxMeta() {
return 1;
}
}

View file

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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 243 B