Package forestry.pipes.proxy

Source Code of forestry.pipes.proxy.ProxyPipes

/*******************************************************************************
* Copyright 2011-2014 by SirSengir
*
* This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License.
*
* To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/3.0/.
******************************************************************************/
package forestry.pipes.proxy;

import java.lang.reflect.Constructor;

import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraftforge.client.IItemRenderer;
import buildcraft.BuildCraftTransport;
import buildcraft.core.CreativeTabBuildCraft;
import buildcraft.transport.BlockGenericPipe;
import buildcraft.transport.ItemPipe;
import buildcraft.transport.Pipe;
import buildcraft.transport.TransportProxy;
import cpw.mods.fml.common.registry.GameRegistry;
import forestry.pipes.PipeItemsPropolis;
import forestry.plugins.PluginPropolisPipe;

public class ProxyPipes {

  public void registerCustomItemRenderer(Item item, IItemRenderer basemod) {
  }

  public void initPropolisPipe() {
    PluginPropolisPipe.pipeItemsPropolis = createPipe(PipeItemsPropolis.class, CreativeTabBuildCraft.PIPES);
  }

  @SuppressWarnings("rawtypes")
  public Item createPipe(Class<? extends Pipe> clas, CreativeTabBuildCraft creativeTab) {

    return registerPipe(clas, creativeTab);
  }

  /**
   * Overriding the method in BlockGenericPipe to fix localizations.
   */
  @SuppressWarnings("rawtypes")
  public static ItemPipe registerPipe(Class<? extends Pipe> clas, CreativeTabBuildCraft creativeTab) {
    ItemPipe item = null;
    try {
      Constructor<ItemPipe> ctor = ItemPipe.class.getDeclaredConstructor(CreativeTabBuildCraft.class);
      ctor.setAccessible(true);
      item = ctor.newInstance(creativeTab);
    } catch (Exception e) {
      e.printStackTrace();
    }
    assert item != null : "The ItemPipe instance must not be null";
    item.setUnlocalizedName(clas.getSimpleName());
    GameRegistry.registerItem(item, item.getUnlocalizedName());

    BlockGenericPipe.pipes.put(item, clas);

    Pipe dummyPipe = BlockGenericPipe.createPipe(item);
    if (dummyPipe != null) {
      item.setPipeIconIndex(dummyPipe.getIconIndexForItem());
      TransportProxy.proxy.setIconProviderFromPipe(item, dummyPipe);
    }

    return item;
  }

  public void registerCraftingPropolis(ItemStack resource) {
    GameRegistry.addRecipe(new ItemStack(PluginPropolisPipe.pipeItemsPropolis), "#X#", '#', resource, 'X', BuildCraftTransport.pipeItemsDiamond);

  }
}
TOP

Related Classes of forestry.pipes.proxy.ProxyPipes

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.