package eiteam.esteemedinnovation.converter; import eiteam.esteemedinnovation.api.book.*; import eiteam.esteemedinnovation.commons.Config; import eiteam.esteemedinnovation.commons.init.ContentModule; import eiteam.esteemedinnovation.transport.TransportationModule; import net.minecraft.block.Block; import net.minecraft.item.ItemStack; import net.minecraftforge.fml.client.registry.ClientRegistry; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; import net.minecraftforge.oredict.ShapedOreRecipe; import static eiteam.esteemedinnovation.commons.EsteemedInnovation.STEAMPOWER_SECTION; import static eiteam.esteemedinnovation.commons.OreDictEntries.*; public class ConverterModule extends ContentModule { public static Block PRESSURE_CONVERTER; @Override public void create(Side side) { PRESSURE_CONVERTER = setup(new BlockFluidSteamConverter(), "pressure_converter"); registerTileEntity(TileEntityFluidSteamConverter.class, "fluidSteamConverter"); } @Override public void recipes(Side side) { BookRecipeRegistry.addRecipe("fsc1", new ShapedOreRecipe(PRESSURE_CONVERTER, "xlx", "gpp", "xlx", 'x', "ingotBrass", 'l', LEATHER_ORE, 'p', TransportationModule.BRASS_PIPE, 'g', PANE_GLASS_COLORLESS )); BookRecipeRegistry.addRecipe("fsc1", new ShapedOreRecipe(PRESSURE_CONVERTER, "xlx", "gpp", "xlx", 'x', PLATE_THIN_BRASS, 'l', LEATHER_ORE, 'p', TransportationModule.BRASS_PIPE, 'g', PANE_GLASS_COLORLESS )); } @Override public void finish(Side side) { if (Config.enableFluidSteamConverter) { BookPageRegistry.addCategoryToSection(STEAMPOWER_SECTION, 16, new BookCategory("category.FSC.name", new BookEntry("research.FSC.name", new BookPageItem("research.FSC.name", "research.FSC.0", new ItemStack(PRESSURE_CONVERTER)), new BookPageCrafting("", "fsc1", "fsc2"), new BookPageText("", "research.FSC.1"), new BookPageText("", "research.FSC.2")))); } } @SideOnly(Side.CLIENT) @Override public void preInitClient() { registerModel(PRESSURE_CONVERTER); } @SideOnly(Side.CLIENT) @Override public void initClient() { ClientRegistry.bindTileEntitySpecialRenderer(TileEntityFluidSteamConverter.class, new TileEntityFluidSteamRenderer()); } }