Skip to content

Commit

Permalink
💎 Copper and Brass Pipes are now made through metalcasting
Browse files Browse the repository at this point in the history
  • Loading branch information
elifoster committed Sep 1, 2016
1 parent 34dc3c1 commit 8e5d5a0
Show file tree
Hide file tree
Showing 6 changed files with 56 additions and 32 deletions.
Expand Up @@ -27,6 +27,11 @@ public class CrucibleRegistry {
*/
public static HashMap<Tuple3, MutablePair<Integer, ItemStack>> dunkRecipes = new HashMap<>();

/**
* All of the CrucibleLiquids that can be cast into pipes, and their according pipe ItemStacks
*/
public static HashMap<CrucibleLiquid, ItemStack> pipeLiquids = new HashMap<>();

/**
* Gets the given CrucibleLiquid from the name.
* @param name The liquid's name.
Expand Down
@@ -1,17 +1,12 @@
package eiteam.esteemedinnovation.init.blocks;

import eiteam.esteemedinnovation.EsteemedInnovation;
import eiteam.esteemedinnovation.api.book.BookRecipeRegistry;
import eiteam.esteemedinnovation.block.pipe.BlockColdFluidPipe;
import eiteam.esteemedinnovation.block.pipe.BlockSteamPipe;
import eiteam.esteemedinnovation.init.IInitCategory;
import net.minecraft.block.Block;
import net.minecraft.item.ItemBlock;
import net.minecraftforge.fml.common.registry.GameRegistry;
import net.minecraftforge.oredict.ShapedOreRecipe;

import static eiteam.esteemedinnovation.init.misc.OreDictEntries.INGOT_BRASS;
import static eiteam.esteemedinnovation.init.misc.OreDictEntries.PLATE_THIN_BRASS;

public class PipeBlocks implements IInitCategory {
public enum Blocks {
Expand Down Expand Up @@ -43,25 +38,5 @@ public void oreDict() {
}

@Override
public void recipes() {
for (Blocks block : Blocks.values()) {
switch (block) {
case BRASS_PIPE: {
BookRecipeRegistry.addRecipe("pipe1", new ShapedOreRecipe(block.getBlock(),
"xxx",
" ",
"xxx",
'x', INGOT_BRASS
));
BookRecipeRegistry.addRecipe("pipe2", new ShapedOreRecipe(block.getBlock(),
"xxx",
" ",
"xxx",
'x', PLATE_THIN_BRASS
));
break;
}
}
}
}
public void recipes() {}
}
@@ -1,24 +1,26 @@
package eiteam.esteemedinnovation.init.items;

import eiteam.esteemedinnovation.api.mold.MoldRegistry;
import net.minecraft.item.Item;
import net.minecraftforge.fml.common.registry.GameRegistry;
import net.minecraftforge.oredict.ShapedOreRecipe;
import eiteam.esteemedinnovation.Config;
import eiteam.esteemedinnovation.EsteemedInnovation;
import eiteam.esteemedinnovation.api.book.BookRecipeRegistry;
import eiteam.esteemedinnovation.api.mold.MoldRegistry;
import eiteam.esteemedinnovation.init.IInitCategory;
import eiteam.esteemedinnovation.item.ItemIngotMold;
import eiteam.esteemedinnovation.item.ItemNuggetMold;
import eiteam.esteemedinnovation.item.ItemPipeMold;
import eiteam.esteemedinnovation.item.ItemPlateMold;
import net.minecraft.item.Item;
import net.minecraftforge.fml.common.registry.GameRegistry;
import net.minecraftforge.oredict.ShapedOreRecipe;

import static net.minecraft.init.Items.*;
import static net.minecraft.init.Items.BRICK;

public class MetalcastingItems implements IInitCategory {
public enum Items {
INGOT_MOLD(new ItemIngotMold(), "ingot_mold", false),
NUGGET_MOLD(new ItemNuggetMold(), "nugget_mold", false),
PLATE_MOLD(new ItemPlateMold(), "plate_mold", false),
PIPE_MOLD(new ItemPipeMold(), "pipe_mold", false),
BLANK_MOLD(new Item(), "blank_mold", true);

private Item item;
Expand Down
Expand Up @@ -3,11 +3,12 @@
import eiteam.esteemedinnovation.api.crucible.CrucibleFormula;
import eiteam.esteemedinnovation.api.crucible.CrucibleLiquid;
import eiteam.esteemedinnovation.api.crucible.CrucibleRegistry;
import eiteam.esteemedinnovation.init.blocks.PipeBlocks;
import eiteam.esteemedinnovation.init.items.MetalItems;
import eiteam.esteemedinnovation.init.items.armor.ArmorItems;
import eiteam.esteemedinnovation.init.items.tools.ToolItems;

import net.minecraft.init.Items;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
Expand Down Expand Up @@ -119,6 +120,9 @@ public void init(FMLInitializationEvent event) {
CrucibleRegistry.registerMeltRecipeOreDict(INGOT_LEAD, liquidLead, 9);
CrucibleRegistry.registerMeltRecipeOreDict(NUGGET_LEAD, liquidLead, 1);
CrucibleRegistry.registerMeltRecipeOreDict(PLATE_THIN_LEAD, liquidLead, 6);

CrucibleRegistry.registerMeltRecipe(Item.getItemFromBlock(PipeBlocks.Blocks.BRASS_PIPE.getBlock()), liquidBrass, 54);
CrucibleRegistry.registerMeltRecipe(Item.getItemFromBlock(PipeBlocks.Blocks.COPPER_PIPE.getBlock()), liquidCopper, 54);
}

@Override
Expand All @@ -129,5 +133,8 @@ public void postInit(FMLPostInitializationEvent event) {
CrucibleRegistry.registerMeltRecipeOreDict(DUST_COPPER, Liquids.COPPER_LIQUID.getLiquid(), 9);
CrucibleRegistry.registerMeltRecipeOreDict(DUST_BRASS, Liquids.BRASS_LIQUID.getLiquid(), 9);
CrucibleRegistry.registerMeltRecipeOreDict(DUST_LEAD, Liquids.LEAD_LIQUID.getLiquid(), 9);

CrucibleRegistry.pipeLiquids.put(Liquids.BRASS_LIQUID.getLiquid(), new ItemStack(PipeBlocks.Blocks.BRASS_PIPE.getBlock()));
CrucibleRegistry.pipeLiquids.put(Liquids.COPPER_LIQUID.getLiquid(), new ItemStack(PipeBlocks.Blocks.COPPER_PIPE.getBlock()));
}
}
34 changes: 34 additions & 0 deletions src/main/java/eiteam/esteemedinnovation/item/ItemPipeMold.java
@@ -0,0 +1,34 @@
package eiteam.esteemedinnovation.item;

import eiteam.esteemedinnovation.api.crucible.CrucibleLiquid;
import eiteam.esteemedinnovation.api.crucible.CrucibleRegistry;
import eiteam.esteemedinnovation.api.mold.ICrucibleMold;
import eiteam.esteemedinnovation.init.items.MetalcastingItems;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ResourceLocation;

public class ItemPipeMold extends Item implements ICrucibleMold {
@Override
public ResourceLocation getBlockTexture() {
// TODO: Proper texture for this mold
return ((ICrucibleMold)MetalcastingItems.Items.INGOT_MOLD.getItem()).getBlockTexture();
}

@Override
public boolean canUseOn(CrucibleLiquid liquid) {
return liquid != null && CrucibleRegistry.pipeLiquids.containsKey(liquid);
}

@Override
public ItemStack getItemFromLiquid(CrucibleLiquid liquid) {
ItemStack newStack = CrucibleRegistry.pipeLiquids.get(liquid).copy();
newStack.stackSize = 1;
return newStack;
}

@Override
public int getCostToMold(CrucibleLiquid liquid) {
return 54;
}
}
Expand Up @@ -697,5 +697,6 @@ esteemedinnovation.research.sneakforlist=Sneak to view your keywords
item.esteemedinnovation:soil_sampling_kit.name=Soil Sampling Kit
item.esteemedinnovation:research_log_biome.name=Biome Log

item.esteemedinnovation:pipe_mold.name=Pipe Mold
tile.esteemedinnovation:brass_pipe.name=Brass Pipe
tile.esteemedinnovation:copper_pipe.name=Copper Pipe

0 comments on commit 8e5d5a0

Please sign in to comment.