package eiteam.esteemedinnovation.thumper;
import eiteam.esteemedinnovation.api.book.*;
import eiteam.esteemedinnovation.commons.Config;
import eiteam.esteemedinnovation.commons.init.ContentModule;
import net.minecraft.block.Block;
import net.minecraft.creativetab.CreativeTabs;
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.*;
import static eiteam.esteemedinnovation.misc.ItemCraftingComponent.Types.BRASS_PISTON;
import static eiteam.esteemedinnovation.misc.MiscellaneousModule.COMPONENT;
import static eiteam.esteemedinnovation.transport.TransportationModule.BRASS_PIPE;
public class ThumperModule extends ContentModule {
public static Block THUMPER;
public static Block THUMPER_DUMMY;
@Override
public void create(Side side) {
THUMPER = setup(new BlockThumper(), "thumper");
THUMPER_DUMMY = setup(new BlockThumperDummy(), "thumper_dummy", (CreativeTabs) null);
registerTileEntity(TileEntityThumper.class, "thumper");
}
@Override
public void recipes(Side side) {
if (Config.enableThumper) {
BookRecipeRegistry.addRecipe("thumper1", new ShapedOreRecipe(THUMPER,
"pbp",
"ebe",
"xix",
'i', BLOCK_IRON,
'b', BLOCK_BRASS,
'e', BRASS_PIPE,
'p', new ItemStack(COMPONENT, 1, BRASS_PISTON.getMetadata()),
'x', PLATE_THIN_BRASS
));
BookRecipeRegistry.addRecipe("thumper2", new ShapedOreRecipe(THUMPER,
"pbp",
"ebe",
"xix",
'i', BLOCK_IRON,
'b', BLOCK_BRASS,
'e', BRASS_PIPE,
'p', new ItemStack(COMPONENT, 1, BRASS_PISTON.getMetadata()),
'x', INGOT_BRASS
));
}
}
@Override
public void finish(Side side) {
if (Config.enableThumper) {
BookPageRegistry.addCategoryToSection(STEAMPOWER_SECTION, 13,
new BookCategory("category.Thumper.name",
new BookEntry("research.Thumper.name",
new BookPageItem("research.Thumper.name", "research.Thumper.0", new ItemStack(THUMPER)),
new BookPageText("research.Thumper.name", "research.Thumper.1"),
new BookPageCrafting("", "thumper1", "thumper2"))));
}
}
@SideOnly(Side.CLIENT)
@Override
public void preInitClient() {
registerModel(THUMPER);
registerModel(THUMPER_DUMMY);
}
@SideOnly(Side.CLIENT)
@Override
public void initClient() {
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityThumper.class, new TileEntityThumperRenderer());
}
}