/*******************************************************************************
* Copyright (c) 2015, Superloup10
*
* Wolf's Addons is distributed under the terms of the Minecraft Mod Public
* License 1.0, or MMPL. Please check the contents of the license located in
* https://www.dropbox.com/s/6l16rc7b1aks211/MMPL-1.0.txt
******************************************************************************/
package fr.wolf.addons.proxy;
import fr.wolf.addons.client.render.RenderHammer;
import fr.wolf.addons.client.render.TESRCable;
import fr.wolf.addons.common.Wolf_Addons;
import fr.wolf.addons.common.block.WolfBlockList;
import fr.wolf.addons.common.item.WolfItemList;
import fr.wolf.addons.common.tileentity.TileEntityCable;
import net.minecraft.block.Block;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.ItemMeshDefinition;
import net.minecraft.client.renderer.ItemModelMesher;
import net.minecraft.client.resources.model.ModelBakery;
import net.minecraft.client.resources.model.ModelResourceLocation;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraftforge.client.MinecraftForgeClient;
import net.minecraftforge.fml.client.FMLClientHandler;
import net.minecraftforge.fml.client.registry.ClientRegistry;
public class WolfClientProxy extends WolfCommonProxy
{
@Override
public void registerRender()
{
MinecraftForgeClient.registerItemRenderer(WolfItemList.woodHammer, new RenderHammer());
MinecraftForgeClient.registerItemRenderer(WolfItemList.stoneHammer, new RenderHammer());
MinecraftForgeClient.registerItemRenderer(WolfItemList.ironHammer, new RenderHammer());
MinecraftForgeClient.registerItemRenderer(WolfItemList.goldHammer, new RenderHammer());
MinecraftForgeClient.registerItemRenderer(WolfItemList.diamondHammer, new RenderHammer());
MinecraftForgeClient.registerItemRenderer(WolfItemList.silverHammer, new RenderHammer());
MinecraftForgeClient.registerItemRenderer(WolfItemList.redstoneHammer, new RenderHammer());
MinecraftForgeClient.registerItemRenderer(WolfItemList.lapisHammer, new RenderHammer());
MinecraftForgeClient.registerItemRenderer(WolfItemList.emeraldHammer, new RenderHammer());
}
@Override
public void registerTESR()
{
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityCable.class, new TESRCable());
}
@Override
public void registerTexture()
{
// Blocks
ItemModelMesher mesher = Minecraft.getMinecraft().getRenderItem().getItemModelMesher();
mesher.register(Item.getItemFromBlock(WolfBlockList.silverOre), new ItemMeshDefinition()
{
@Override
public ModelResourceLocation getModelLocation(ItemStack stack)
{
if(FMLClientHandler.instance().getWorldClient().provider.getDimensionId() == -1)
{
ModelBakery.addVariantName(Item.getItemFromBlock(WolfBlockList.silverOre), "silver_ore" + "_nether");
return new ModelResourceLocation(Wolf_Addons.MODID + ":silver_ore" + "_nether", "inventory");
}
else if(FMLClientHandler.instance().getWorldClient().provider.getDimensionId() == 1)
{
ModelBakery.addVariantName(Item.getItemFromBlock(WolfBlockList.silverOre), "silver_ore" + "_end");
return new ModelResourceLocation(Wolf_Addons.MODID + ":silver_ore" + "_end", "inventory");
}
ModelBakery.addVariantName(Item.getItemFromBlock(WolfBlockList.silverOre), "silver_ore");
return new ModelResourceLocation(Wolf_Addons.MODID + ":silver_ore", "inventory");
}
});
registerBlockTexture(WolfBlockList.silverBlock, "silver_block");
registerBlockTexture(WolfBlockList.furnace, "furnace");
registerBlockTexture(WolfBlockList.cable, "cable");
// Items
registerItemTexture(WolfItemList.emeraldIngot, "emerald_ingot");
registerItemTexture(WolfItemList.redstoneIngot, "redstone_ingot");
registerItemTexture(WolfItemList.lapisIngot, "lapis_ingot");
registerItemTexture(WolfItemList.silverIngot, "silver_ingot");
registerItemTexture(WolfItemList.silverDust, "silver_dust");
// Tools
registerItemTexture(WolfItemList.emeraldPickaxe, "emerald_pickaxe");
registerItemTexture(WolfItemList.emeraldAxe, "emerald_axe");
registerItemTexture(WolfItemList.emeraldShovel, "emerald_shovel");
registerItemTexture(WolfItemList.emeraldHoe, "emerald_hoe");
registerItemTexture(WolfItemList.redstonePickaxe, "redstone_pickaxe");
registerItemTexture(WolfItemList.redstoneAxe, "redstone_axe");
registerItemTexture(WolfItemList.redstoneShovel, "redstone_shovel");
registerItemTexture(WolfItemList.redstoneHoe, "redstone_hoe");
registerItemTexture(WolfItemList.lapisPickaxe, "lapis_pickaxe");
registerItemTexture(WolfItemList.lapisAxe, "lapis_axe");
registerItemTexture(WolfItemList.lapisShovel, "lapis_shovel");
registerItemTexture(WolfItemList.lapisHoe, "lapis_hoe");
registerItemTexture(WolfItemList.silverPickaxe, "silver_pickaxe");
registerItemTexture(WolfItemList.silverAxe, "silver_axe");
registerItemTexture(WolfItemList.silverShovel, "silver_shovel");
registerItemTexture(WolfItemList.silverHoe, "silver_hoe");
// Weapons
registerItemTexture(WolfItemList.redstoneSword, "redstone_sword");
registerItemTexture(WolfItemList.emeraldSword, "emerald_sword");
registerItemTexture(WolfItemList.lapisSword, "lapis_sword");
registerItemTexture(WolfItemList.silverSword, "silver_sword");
// Armors
registerItemTexture(WolfItemList.redstoneHelmet, "redstone_helmet");
registerItemTexture(WolfItemList.redstoneChestplate, "redstone_chestplate");
registerItemTexture(WolfItemList.redstoneLeggings, "redstone_leggings");
registerItemTexture(WolfItemList.redstoneBoots, "redstone_boots");
registerItemTexture(WolfItemList.emeraldHelmet, "emerald_helmet");
registerItemTexture(WolfItemList.emeraldChestplate, "emerald_chestplate");
registerItemTexture(WolfItemList.emeraldLeggings, "emerald_leggings");
registerItemTexture(WolfItemList.emeraldBoots, "emerald_boots");
registerItemTexture(WolfItemList.silverHelmet, "silver_helmet");
registerItemTexture(WolfItemList.silverChestplate, "silver_chestplate");
registerItemTexture(WolfItemList.silverLeggings, "silver_leggings");
registerItemTexture(WolfItemList.silverBoots, "silver_boots");
registerItemTexture(WolfItemList.lapisHelmet, "lapis_helmet");
registerItemTexture(WolfItemList.lapisChestplate, "lapis_chestplate");
registerItemTexture(WolfItemList.lapisLeggings, "lapis_leggings");
registerItemTexture(WolfItemList.lapisBoots, "lapis_boots");
}
public static void registerItemTexture(Item item, int metadata, String name)
{
ItemModelMesher mesher = Minecraft.getMinecraft().getRenderItem().getItemModelMesher();
mesher.register(item, metadata, new ModelResourceLocation(Wolf_Addons.MODID + ":" + name, "inventory"));
}
public static void registerItemTexture(Item item, String name)
{
registerItemTexture(item, 0, name);
}
public static void registerBlockTexture(Block block, int metadata, String name)
{
registerItemTexture(Item.getItemFromBlock(block), metadata, name);
}
public static void registerBlockTexture(Block block, String name)
{
registerBlockTexture(block, 0, name);
}
}