Rendu complexe de bloc via TESR
-
je sais pas vraiment si c’est de sa que tu parle, vu que sa ne fait que environ 1 mois que j’ai commencer à modder, mais dans mon Clientproxy j’ai ça :
package bitegab; import cpw.mods.fml.client.registry.ClientRegistry; import net.minecraftforge.client.MinecraftForgeClient; public class ClientProxy extends CommonProxy { @Override public void registerRenderers() { //ici mes futur client registry ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTutorialTechne.class, TileEntityTutorialTechneRender.class); } } -
Mets des balises pour tes codes si il te plais.
Merci. -
On peut avoir ta classe principale ?
(PS : j’ai édité ton poste pour le code java, et celui de sevenno pour l’orthographe)
-
Quesqu’une balise? et voici ma classe principale: ```java
package minecraftplus;
import net.minecraft.block.Block;
import net.minecraft.block.BlockOre;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.item.crafting.FurnaceRecipes;
import net.minecraft.potion.Potion;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.oredict.OreDictionary;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.EventHandler;
import cpw.mods.fml.common.Mod.Instance;
import cpw.mods.fml.common.SidedProxy;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.common.network.NetworkMod;
import cpw.mods.fml.common.network.NetworkRegistry;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.common.registry.LanguageRegistry;@Mod(modid=“MinePlus”, name=“Minecraft+”, version=“MV.1.6.2-VM.1.0.0”)
@NetworkMod(clientSideRequired=true, serverSideRequired=false, channels = “TutoMod”, packetHandler = TutPacketHandler.class) // NE PAS MODIFIER CETTE LIGNE!!!public class minecraftplusmain {
@SidedProxy(clientSide = “minecraftplus.ClientProxy”, serverSide = “minecraftplus.CommonProxy”)
public static minecraftplus.CommonProxy proxy;@Instance(“MinePlus”)
public static minecraftplusmain instance = new minecraftplusmain();//creativeTabs static
public static CreativeTabs MinecraftplusTabs = new MinecraftplusTabs(CreativeTabs.getNextID(), “Minecraftplus Mod Tabs”);//block static
public static Block platine, cr, BlockPlatine, thallium, phosphore, blockphosphore1, blockphosphore2, blockphosphore3, blockphosphore4, blockphosphore5, gallium, polonium, BlockGallium, BlockPolonium, BlockThallium, StoneFuel ;//item static
public static Item moulear, moulearc, moulearp, platine1, platine2, platine3, platine4, platine5, rc, cs, gr, ch, platinein, ss, sh, is, lameferraf, tetepiocheferraf, tetehacheferraf, tetepelleferraf, moulearth, thallium1, thallium2, thalliumin, moulearpo, polonium1, polonium2, poloniumin, moulearga, gallium1, gallium2, galliumin, phosphoredust, Legouteur, BottleFuel ;//other static
public static Block TutFurnaceIdle;
public static Block TutFurnaceBurning;
private GuiHandler guihandler = new GuiHandler();@EventHandler
public void PreInit(FMLPreInitializationEvent event)
{//Configuration
//Blocks
cr = new cr(2001).setHardness(4.0F).setResistance(14.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName(“Cobblestone renforcee”).func_111022_d(“rm:cr”);
GameRegistry.registerBlock(cr, “cr”);
LanguageRegistry.addName(cr, “Cobblestone renforcee”);//four 500C
TutFurnaceIdle = new TutFurnace(1000, false).setHardness(3.5F).setUnlocalizedName(“Ore Furnace 500C”);
TutFurnaceBurning = new TutFurnace(1001, true).setHardness(3.5F).setUnlocalizedName(“Ore Furnace 500C Burning”).setLightValue(0.4F);
GameRegistry.registerBlock(TutFurnaceIdle, “Tutorial.FurnaceIdle”);
GameRegistry.registerBlock(TutFurnaceIdle, “Tutorial.FurnaceBurning”);
GameRegistry.registerTileEntity(TileEntityTutFurnace.class, “tileentitytutfurnace”);
NetworkRegistry.instance().registerGuiHandler(this, guihandler);
LanguageRegistry.addName(TutFurnaceIdle, “Ore Furnace 500C”);
LanguageRegistry.addName(TutFurnaceBurning, “Ore Furnace 500C Burning”);//ore
StoneFuel = new StoneFuel(2015).setHardness(8.0F).setResistance(1.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName(“StoneFuel”).func_111022_d(“rm:StoneFuel”);
polonium = new polonium(2011).setHardness(3.0F).setResistance(5.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName(“Polonium”).func_111022_d(“rm:polonium”);
phosphore = new phosphore(2004).setHardness(2.0F).setResistance(2.0F).setLightValue(0.4F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName(“Phosphore”).func_111022_d(“rm:phosphore”);
platine = new platine(2000).setHardness(3.0F).setResistance(5.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName(“Platine”).func_111022_d(“rm:platine”);
thallium = new thallium(2003).setHardness(3.0F).setResistance(5.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName(“Thallium”).func_111022_d(“rm:thallium”);
gallium = new gallium(2010).setHardness(3.0F).setResistance(5.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName(“Gallium”).func_111022_d(“rm:gallium”);
GameRegistry.registerBlock(StoneFuel, “StoneFuel”);
GameRegistry.registerBlock(phosphore, “phosphore”);
GameRegistry.registerBlock(platine, “platine”);
GameRegistry.registerBlock(thallium, “thallium”);
GameRegistry.registerBlock(gallium, “gallium”);
GameRegistry.registerBlock(polonium, “polonium”);
LanguageRegistry.addName(StoneFuel, “StoneFuel”);
LanguageRegistry.addName(phosphore, “Phosphore”);
LanguageRegistry.addName(platine, “Platine”);
LanguageRegistry.addName(thallium, “Thallium”);
LanguageRegistry.addName(gallium, “Gallium”);
LanguageRegistry.addName(polonium, “Polonium”);//phosphore
blockphosphore1 = new blockphosphore1(2005).setHardness(3.0F).setResistance(4.0F).setLightValue(0.2F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName(“Block de Phosphore L1”).func_111022_d(“rm:phosphore1”);
blockphosphore2 = new blockphosphore2(2006).setHardness(3.0F).setResistance(4.0F).setLightValue(0.4F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName(“Block de Phosphore L2”).func_111022_d(“rm:phosphore2”);
blockphosphore3 = new blockphosphore3(2007).setHardness(3.0F).setResistance(4.0F).setLightValue(0.6F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName(“Block de Phosphore L3”).func_111022_d(“rm:phosphore3”);
blockphosphore4 = new blockphosphore4(2008).setHardness(3.0F).setResistance(4.0F).setLightValue(0.8F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName(“Block de Phosphore L4”).func_111022_d(“rm:phosphore4”);
blockphosphore5 = new blockphosphore5(2009).setHardness(3.0F).setResistance(4.0F).setLightValue(1.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName(“Block de Phosphore L5”).func_111022_d(“rm:phosphore5”);
phosphoredust = new moulearc(1232).setUnlocalizedName(“Poudre de Phosphore”).func_111206_d(“rm:phosphoredust”);
GameRegistry.registerBlock(blockphosphore1, “blockphosphore1”);
GameRegistry.registerBlock(blockphosphore2, “blockphosphore2”);
GameRegistry.registerBlock(blockphosphore3, “blockphosphore3”);
GameRegistry.registerBlock(blockphosphore4, “blockphosphore4”);
GameRegistry.registerBlock(blockphosphore5, “blockphosphore5”);
GameRegistry.registerItem(phosphoredust, “phosphoredust”);
LanguageRegistry.addName(blockphosphore1, “Block de Phosphore L1”);
LanguageRegistry.addName(blockphosphore2, “Block de Phosphore L2”);
LanguageRegistry.addName(blockphosphore3, “Block de Phosphore L3”);
LanguageRegistry.addName(blockphosphore4, “Block de Phosphore L4”);
LanguageRegistry.addName(blockphosphore5, “Block de Phosphore L5”);
LanguageRegistry.addName(phosphoredust, “Poudre de Phosphore”);//Items
BottleFuel= new BottleFuel(1234).setUnlocalizedName(“Bouteille de gaz”).func_111206_d(“rm:BottleFuel”);
Legouteur = new Legouteur(1233).setUnlocalizedName(“Goudrelle”).setFull3D().func_111206_d(“rm:Legouteur”);
moulear = new moulear(1200).setUnlocalizedName(“Moule d’Argile”).func_111206_d(“rm:moulear”);
moulearc = new moulearc(1201).setUnlocalizedName(“Moule d’argile Cuit”).func_111206_d(“rm:moulearc”);
rc = new rc(1209).setUnlocalizedName(“Reservoir de Chaleur”).func_111206_d(“rm:rc”);
cs = new cs(1210).setUnlocalizedName(“Cobblestone Stick”).setFull3D().func_111206_d(“rm:cs”);
gr = new cs(1211).setUnlocalizedName(“Grille de Cobblestone”).func_111206_d(“rm:gr”);
ch = new ch(1212).setUnlocalizedName(“Cobblestone Hammer”).setFull3D().func_111206_d(“rm:ch”);
ss = new ss(1213).setUnlocalizedName(“Stone Stick”).setFull3D().func_111206_d(“rm:ss”);
sh = new sh(1214).setUnlocalizedName(“Stone Hammer”).setFull3D().func_111206_d(“rm:sh”);
is = new is(1215).setUnlocalizedName(“Iron Stick”).setFull3D().func_111206_d(“rm:is”);
GameRegistry.registerItem(BottleFuel, “BottleFuel”);
GameRegistry.registerItem(Legouteur, “Legouteur”);
GameRegistry.registerItem(moulear, “moule”);
GameRegistry.registerItem(moulearc, “moulearc”);
GameRegistry.registerItem(rc, “rc”);
GameRegistry.registerItem(cs, “cs”);
GameRegistry.registerItem(gr, “gr”);
GameRegistry.registerItem(ch, “ch”);
GameRegistry.registerItem(ss, “ss”);
GameRegistry.registerItem(sh, “sh”);
GameRegistry.registerItem(is, “is”);
LanguageRegistry.addName(BottleFuel, “Bouteille de gaz”);
LanguageRegistry.addName(Legouteur, “Goudrelle”);
LanguageRegistry.addName(moulear, “Moule d’Argile”);
LanguageRegistry.addName(moulearc, “Moule d’argile Cuit”);
LanguageRegistry.addName(rc, “Reservoir de Chaleur”);
LanguageRegistry.addName(cs, “Cobblestone Stick”);
LanguageRegistry.addName(gr, “Grille de Cobblestone”);
LanguageRegistry.addName(ch, “Cobblestone Hammer”);
LanguageRegistry.addName(ss, “Stone Stick”);
LanguageRegistry.addName(sh, “Stone Hammer”);
LanguageRegistry.addName(is, “Iron Stick”);//Gallium
BlockGallium = new BlockGallium(2012).setHardness(5.0F).setResistance(5.0F).setStepSound(Block.soundMetalFootstep).setUnlocalizedName(“Block de Gallium”).func_111022_d(“rm:BlockGallium”);
moulearga = new moulearth(1228).setUnlocalizedName(“Moule de Gallium”).func_111206_d(“rm:moulearga”);
gallium1 = new thallium1(1229).setUnlocalizedName(“Gallium [1/2]C”).func_111206_d(“rm:gallium1”);
gallium2 = new thallium2(1230).setUnlocalizedName(“Gallium Liquide”).func_111206_d(“rm:gallium2”);
galliumin = new thalliumin(1231).setUnlocalizedName(“Gallium Ingot”).func_111206_d(“rm:galliumin”);
GameRegistry.registerItem(moulearga, “moulearga”);
GameRegistry.registerItem(gallium1, “gallium1”);
GameRegistry.registerItem(gallium2, “gallium2”);
GameRegistry.registerItem(galliumin, “galliumin”);
GameRegistry.registerBlock(BlockGallium, “BlockGallium”);
LanguageRegistry.addName(moulearga, “Moule de Gallium”);
LanguageRegistry.addName(gallium1, “Gallium [1/2]C”);
LanguageRegistry.addName(gallium2, “Gallium Liquide”);
LanguageRegistry.addName(galliumin, “Gallium Ingot”);
LanguageRegistry.addName(BlockGallium, “Block de Gallium”);//Polonium
BlockPolonium = new BlockGallium(2013).setHardness(5.0F).setResistance(5.0F).setStepSound(Block.soundMetalFootstep).setUnlocalizedName(“Block de Polonium”).func_111022_d(“rm:BlockPolonium”);
moulearpo = new moulearth(1224).setUnlocalizedName(“Moule de Polonium”).func_111206_d(“rm:moulearpo”);
polonium1 = new thallium1(1225).setUnlocalizedName(“Polonium [1/2]C”).func_111206_d(“rm:polonium1”);
polonium2 = new thallium2(1226).setUnlocalizedName(“Polonium Liquide”).func_111206_d(“rm:polonium2”);
poloniumin = new thalliumin(1227).setUnlocalizedName(“Polonium Ingot”).func_111206_d(“rm:poloniumin”);
GameRegistry.registerItem(moulearpo, “moulearpo”);
GameRegistry.registerItem(polonium1, “polonium1”);
GameRegistry.registerItem(polonium2, “polonium2”);
GameRegistry.registerItem(poloniumin, “poloniumin”);
GameRegistry.registerBlock(BlockPolonium, “BlockPolonium”);
LanguageRegistry.addName(moulearpo, “Moule de Polonium”);
LanguageRegistry.addName(polonium1, “Polonium [1/2]C”);
LanguageRegistry.addName(polonium2, “Polonium Liquide”);
LanguageRegistry.addName(poloniumin, “Polonium Ingot”);
LanguageRegistry.addName(BlockPolonium, “Block de Polonium”);//Thallium
BlockThallium = new BlockThallium(2014).setHardness(5.0F).setResistance(5.0F).setStepSound(Block.soundMetalFootstep).setUnlocalizedName(“Block de Thallium”).func_111022_d(“rm:BlockThallium”);
moulearth = new moulearth(1220).setUnlocalizedName(“Moule de Thallium”).func_111206_d(“rm:moulearth”);
thallium1 = new thallium1(1221).setUnlocalizedName(“Thallium [1/2]C”).func_111206_d(“rm:thallium1”);
thallium2 = new thallium2(1222).setUnlocalizedName(“Thallium Liquide”).func_111206_d(“rm:thallium2”);
thalliumin = new thalliumin(1223).setUnlocalizedName(“Thallium Ingot”).func_111206_d(“rm:thalliumin”);
GameRegistry.registerItem(moulearth, “moulearth”);
GameRegistry.registerItem(thallium1, “thallium1”);
GameRegistry.registerItem(thallium2, “thallium2”);
GameRegistry.registerItem(thalliumin, “thalliumin”);
GameRegistry.registerBlock(BlockThallium, “BlockThallium”);
LanguageRegistry.addName(moulearth, “Moule de Thallium”);
LanguageRegistry.addName(thallium1, “Thallium [1/2]C”);
LanguageRegistry.addName(thallium2, “Thallium Liquide”);
LanguageRegistry.addName(thalliumin, “Thallium Ingot”);
LanguageRegistry.addName(BlockThallium, “Block de Thallium”);//Platine
moulearp = new moulearp(1202).setUnlocalizedName(“Moule de Platine”).func_111206_d(“rm:moulearp”);
platine1 = new platine1(1203).setUnlocalizedName(“Platine [1/5]C”).func_111206_d(“rm:platine1”);
platine2 = new platine2(1204).setUnlocalizedName(“Platine [2/5]C”).func_111206_d(“rm:platine2”);
platine3 = new platine3(1205).setUnlocalizedName(“Platine [3/5]C”).func_111206_d(“rm:platine3”);
platine4 = new platine4(1206).setUnlocalizedName(“Platine [4/5]C”).func_111206_d(“rm:platine4”);
platine5 = new platine5(1207).setUnlocalizedName(“Platine Liquide”).func_111206_d(“rm:platine5”);
platinein = new platinein(1208).setUnlocalizedName(“Platine Ingot”).func_111206_d(“rm:platinein”);
BlockPlatine = new BlockPlatine(2002).setHardness(8.0F).setResistance(10.0F).setStepSound(Block.soundMetalFootstep).setUnlocalizedName(“Block de Platine”).func_111022_d(“rm:BlockPlatine”);
GameRegistry.registerItem(moulearp, “moulearp”);
GameRegistry.registerItem(platine1, “platine1”);
GameRegistry.registerItem(platine2, “platine2”);
GameRegistry.registerItem(platine3, “platine3”);
GameRegistry.registerItem(platine4, “platine4”);
GameRegistry.registerItem(platine5, “platine5”);
GameRegistry.registerItem(platinein, “platinein”);
GameRegistry.registerBlock(BlockPlatine, “BlockPlatine”);
LanguageRegistry.addName(moulearp, “Moule de Platine”);
LanguageRegistry.addName(platine1, “Platine [1/5]C”);
LanguageRegistry.addName(platine2, “Platine [2/5]C”);
LanguageRegistry.addName(platine3, “Platine [3/5]C”);
LanguageRegistry.addName(platine4, “Platine [4/5]C”);
LanguageRegistry.addName(platine5, “Platine liquide”);
LanguageRegistry.addName(platinein, “Platine Ingot”);
LanguageRegistry.addName(BlockPlatine, “Block de Platine”);//raffine
tetepelleferraf = new tetepelleferraf(1217).setUnlocalizedName(“Tete de pelle en fer Raffinee”).func_111206_d(“rm:tetehacheferraf”);
tetehacheferraf = new tetehacheferraf(1216).setUnlocalizedName(“Tete de hache en fer Raffinee”).func_111206_d(“rm:tetehacheferraf”);
tetepiocheferraf = new tetepiocheferraf(1218).setUnlocalizedName(“Tete de pioche en fer Raffinee”).func_111206_d(“rm:tetepiocheferraf”);
lameferraf = new lameferraf(1219).setUnlocalizedName(“Lame de fer Raffinee”).func_111206_d(“rm:lameferraf”);
GameRegistry.registerItem(tetepelleferraf, “tetepelleferraf”);
GameRegistry.registerItem(tetehacheferraf, “tetehacheferraf”);
GameRegistry.registerItem(tetepiocheferraf, “tetepiocheferraf”);
GameRegistry.registerItem(lameferraf, “lameferraf”);
LanguageRegistry.addName(tetepelleferraf, “Tete de pelle en fer Raffinee”);
LanguageRegistry.addName(tetehacheferraf, “Tete de hache en fer Raffinee”);
LanguageRegistry.addName(tetepiocheferraf, “Tete de pioche en fer Raffinee”);
LanguageRegistry.addName(lameferraf, “Lame de fer Raffinee”);}
@EventHandler
public void Init(FMLInitializationEvent event)
{
//RegistryGameRegistry.registerWorldGenerator(new oregeneration());
GameRegistry.registerCraftingHandler(new chHandler());
GameRegistry.registerCraftingHandler(new shHandler());
GameRegistry.registerCraftingHandler(new LegouteurHandler());//Mobs
//Render
proxy.registerRenderers();//NetWork
//Recipe
GameRegistry.addRecipe(new ItemStack(moulear, 2), new Object[]{“ZZZ”, “YZY”, “YYY”, ‘Y’, new ItemStack(Item.clay)});
GameRegistry.addRecipe(new ItemStack(rc), new Object[]{“ZAZ”, “ZAZ”, “ZZZ”, ‘Z’, cr});
GameRegistry.addRecipe(new ItemStack(cr, 4), new Object[]{“ZYZ”, “YYY”, “ZYZ”, ‘Y’, new ItemStack(Block.cobblestone), ‘Z’, new ItemStack(Block.gravel)});
GameRegistry.addRecipe(new ItemStack(cs, 2), new Object[] {“#”, “#”, ‘#’, new ItemStack(Block.cobblestone, 1, 0)});
GameRegistry.addRecipe(new ItemStack(gr), new Object[]{“XXX”, “ZZZ”, “ZZZ”, ‘Z’, cs});
GameRegistry.addRecipe(new ItemStack(ss, 2), new Object[] {“#”, “#”, ‘#’, new ItemStack(Block.stone, 1, 0)});
GameRegistry.addRecipe(new ItemStack(TutFurnaceIdle), new Object[]{“XXX”, “XYX”, “XZX”, ‘X’, cr, ‘Z’, rc, ‘Y’, gr});
GameRegistry.addRecipe(new ItemStack(BlockPlatine), new Object[]{“XXX”, “XXX”, “XXX”, ‘X’, platine5});
GameRegistry.addRecipe(new ItemStack(BlockGallium), new Object[]{“XXX”, “XXX”, “XXX”, ‘X’, gallium2});
GameRegistry.addRecipe(new ItemStack(BlockThallium), new Object[]{“XXX”, “XXX”, “XXX”, ‘X’, thallium2});
GameRegistry.addRecipe(new ItemStack(BlockPolonium), new Object[]{“XXX”, “XXX”, “XXX”, ‘X’, polonium2});
GameRegistry.addRecipe(new ItemStack(blockphosphore1), new Object[]{“XXX”, “XXX”, “XXX”, ‘X’, phosphoredust});
GameRegistry.addRecipe(new ItemStack(blockphosphore2, 4), new Object[] {“XYX”, “YYY”, “XYX”, ‘X’, blockphosphore1, ‘Y’, phosphoredust});
GameRegistry.addRecipe(new ItemStack(blockphosphore3, 4), new Object[] {“XYX”, “YYY”, “XYX”, ‘X’, blockphosphore2, ‘Y’, phosphoredust});
GameRegistry.addRecipe(new ItemStack(blockphosphore4, 4), new Object[] {“XYX”, “YYY”, “XYX”, ‘X’, blockphosphore3, ‘Y’, phosphoredust});
GameRegistry.addRecipe(new ItemStack(blockphosphore5, 4), new Object[] {“XYX”, “YYY”, “XYX”, ‘X’, blockphosphore4, ‘Y’, phosphoredust});
GameRegistry.addRecipe(new ItemStack(is, 2), new Object[] {“#”, “#”, ‘#’, new ItemStack(Item.ingotIron, 1, 0)});
GameRegistry.addRecipe(new ItemStack(Legouteur), new Object[] {“YZY”, “XXX”, “XZY”, ‘X’, cr, ‘Z’, thalliumin});
GameRegistry.addShapelessRecipe(new ItemStack(BottleFuel, 1, 0), new ItemStack(Legouteur, 1, OreDictionary.WILDCARD_VALUE), new ItemStack(StoneFuel), new ItemStack(Item.glassBottle));
GameRegistry.addSmelting(moulear.itemID, new ItemStack(moulearc), 1.2F);//raffine_recipes
GameRegistry.addSmelting(Item.shovelIron.itemID, new ItemStack(tetepelleferraf), 0.5F);
GameRegistry.addSmelting(Item.swordIron.itemID, new ItemStack(lameferraf), 0.5F);
GameRegistry.addSmelting(Item.pickaxeIron.itemID, new ItemStack(tetepiocheferraf), 0.5F);
GameRegistry.addSmelting(Item.axeIron.itemID, new ItemStack(tetehacheferraf), 0.5F);
GameRegistry.addSmelting(Item.pickaxeIron.itemID, new ItemStack(tetepiocheferraf), 0.5F);//Ores_recipes
GameRegistry.addShapelessRecipe(new ItemStack(moulearp), new Object[]{ new ItemStack(moulearc), new ItemStack(platine5)});
GameRegistry.addShapelessRecipe(new ItemStack(moulearth), new Object[]{ new ItemStack(moulearc), new ItemStack(thallium2)});
GameRegistry.addShapelessRecipe(new ItemStack(moulearpo), new Object[]{ new ItemStack(moulearc), new ItemStack(polonium2)});
GameRegistry.addShapelessRecipe(new ItemStack(moulearga), new Object[]{ new ItemStack(moulearc), new ItemStack(gallium2)});//Cobble_Hammer_recipes
GameRegistry.addRecipe(new ItemStack(ch), new Object[]{“XXX”, “XXX”, “ZYZ”, ‘Y’, cs, ‘X’, new ItemStack(Block.cobblestone)});
GameRegistry.addShapelessRecipe(new ItemStack(platinein, 1, 0), new ItemStack(ch, 1, OreDictionary.WILDCARD_VALUE), new ItemStack(moulearp));
GameRegistry.addShapelessRecipe(new ItemStack(thalliumin, 1, 0), new ItemStack(ch, 1, OreDictionary.WILDCARD_VALUE), new ItemStack(moulearth));
GameRegistry.addShapelessRecipe(new ItemStack(poloniumin, 1, 0), new ItemStack(ch, 1, OreDictionary.WILDCARD_VALUE), new ItemStack(moulearpo));
GameRegistry.addShapelessRecipe(new ItemStack(galliumin, 1, 0), new ItemStack(ch, 1, OreDictionary.WILDCARD_VALUE), new ItemStack(moulearga));//Stone_Hammer_recipes
GameRegistry.addRecipe(new ItemStack(sh), new Object[]{“XXX”, “XXX”, “ZYZ”, ‘Y’, ss, ‘X’, new ItemStack(Block.stone)});
GameRegistry.addShapelessRecipe(new ItemStack(platinein, 1, 0), new ItemStack(sh, 1, OreDictionary.WILDCARD_VALUE), new ItemStack(moulearp));
GameRegistry.addShapelessRecipe(new ItemStack(thalliumin, 1, 0), new ItemStack(sh, 1, OreDictionary.WILDCARD_VALUE), new ItemStack(moulearth));
GameRegistry.addShapelessRecipe(new ItemStack(poloniumin, 1, 0), new ItemStack(sh, 1, OreDictionary.WILDCARD_VALUE), new ItemStack(moulearpo));
GameRegistry.addShapelessRecipe(new ItemStack(galliumin, 1, 0), new ItemStack(sh, 1, OreDictionary.WILDCARD_VALUE), new ItemStack(moulearga));//Remove_Recipies
FurnaceRecipes.smelting().getSmeltingList().remove(Block.oreIron.blockID);
FurnaceRecipes.smelting().getSmeltingList().remove(Block.oreGold.blockID);
FurnaceRecipes.smelting().getSmeltingList().remove(Block.oreDiamond.blockID);
FurnaceRecipes.smelting().getSmeltingList().remove(Block.oreCoal.blockID);
FurnaceRecipes.smelting().getSmeltingList().remove(Block.oreEmerald.blockID);
FurnaceRecipes.smelting().getSmeltingList().remove(Block.oreLapis.blockID);
FurnaceRecipes.smelting().getSmeltingList().remove(Block.oreNetherQuartz.blockID);
FurnaceRecipes.smelting().getSmeltingList().remove(Block.oreRedstone.blockID);
FurnaceRecipes.smelting().getSmeltingList().remove(Block.oreRedstoneGlowing.blockID);//Harvest_Level
MinecraftForge.setBlockHarvestLevel(platine, “pickaxe”, 3);
MinecraftForge.setBlockHarvestLevel(thallium, “pickaxe”, 1);
MinecraftForge.setBlockHarvestLevel(gallium, “pickaxe”, 1);
MinecraftForge.setBlockHarvestLevel(polonium, “pickaxe”, 1);
MinecraftForge.setBlockHarvestLevel(phosphore, “pickaxe”, 2);
}@EventHandler
public void PostInit(FMLPostInitializationEvent event)
{
//Integration_avec_les_autres_mods}
}ma classe ClientProxy: ```java package minecraftplus; import cpw.mods.fml.client.registry.RenderingRegistry; public class ClientProxy extends CommonProxy { @Override public void registerRenderers() { //ici mes futurs client registry } @Override public void registerRenderEntity(){ } }et ma classe CommonProxy: ```java
package minecraftplus;
public class CommonProxy {
public void registerRenderers(){
}
public void registerRenderEntity(){
}
} -
Je vois pas de problème, tu as juste à mettre :
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTutorialTechne.class, TileEntityTutorialTechneRender.class);
dans le void registerRenderers et c’est bon.
Si tu as toujours une erreur, ou est-elle précisément ? Que dit eclipse ? -
désoler de te poser cette question, mais je ne suis vraiment pas très bon avec les terms de modding, quesque c’est que le void registerRenderers, et je refait le tuto complet maintenant et je poste les erreures ensuite
-
voila, je n’ai pas encore fait la classe du model, mais j’ai déjà des erreurs dans le TileEntityTutorialTechneRender.java:
package minecraftplus; import org.lwjgl.opengl.GL11; import net.minecraft.block.Block; import net.minecraft.client.renderer.OpenGlHelper; import net.minecraft.client.renderer.Tessellator; import net.minecraft.entity.Entity; import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntitySpecialRenderer; import net.minecraft.util.ResourceLocation; import net.minecraft.world.World; public class TileEntityTutorialTechneRender extends TileEntitySpecialRenderer { private final ModelBlockTutorielTechne model; protected static final ResourceLocation texture = new ResourceLocation("rm:textures/blocks/BlockTechne.png"); public TileEntityTutorialTechneRender() { this.model = new ModelBlockTutorielTechne(); } private void adjustRotatePivotViaMeta(World world, int x, int y, int z) { int meta = world.getBlockMetadata(x, y, z); GL11.glPushMatrix(); GL11.glRotatef(meta * (-90), 0.0F, 0.0F, 1.0F); GL11.glPopMatrix(); } @Override public void renderTileEntityAt(TileEntity tileentity, double x, double y, double z, float scale) { this.renderTileEntityAtBlockTutorielTechne((TileEntityTutorialTechne)tileentity,? x, y, z, scale); } public void renderTileEntityAtBlockTutorielTechne(TileEntityTutorialTechne tileentity, double x, double y, double z, float scale) { GL11.glPushMatrix(); GL11.glTranslatef((float)x + 0.5F, (float)y + 1.5F, (float)z + 0.5F); this.func_110628_a(texture); GL11.glPushMatrix(); GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F); this.model.render((Entity)null, 0.0F, 0.0F, -0.1F, 0.0F, 0.0F, 0.0625F); GL11.glPopMatrix(); GL11.glPopMatrix(); } private void adjustLightFixture(World world, int i, int j, int k, Block block) { Tessellator tess = Tessellator.instance; float brightness = block.getBlockBrightness(world, i, j, k); int skyLight = world.getLightBrightnessForSkyBlocks(i, j, k, 0); int modulousModifier = skyLight % 65536; int divModifier = skyLight / 65536; tess.setColorOpaque_F(brightness, brightness, brightness); OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, (float)modulousModifier, divModifier); } }et dans le ClientProxy:
package minecraftplus; import cpw.mods.fml.client.registry.ClientRegistry; import cpw.mods.fml.client.registry.RenderingRegistry; public class ClientProxy extends CommonProxy { @Override public void registerRenderers() { //ici mes futurs client registry ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTutorialTechne.class, new TileEntityTutorialTechneRender()); } @Override public void registerRenderEntity(){ } }et voici la classe de mon block juste au cas ou:
package minecraftplus; import net.minecraft.block.Block; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; public class BlockTutorial extends BlockContainer { public BlockTutorial(int par1) { super(par1, Material.rock); this.setCreativeTab(CreativeTabs.tabBlock); } @Override public TileEntity createNewTileEntity(World world) { return new TileEntityTuto(); } @Override public TileEntity createTileEntity(World world, int metadata) { return new TileEntityTutorialTechne(); } public boolean hasTileEntity(int metadata) { return true; } public boolean isOpaqueCube() { return false; } public boolean renderAsNormalBlock() { return false; } public int getRenderType() { return -1; } }Voici tout se qui ne marche pas:
-import net.minecraft.tileentity.TileEntitySpecialRenderer;
-extends TileEntitySpecialRenderer
-this.model = new ModelBlockTutorielTechne();
-public void renderTileEntityAt(TileEntity tileentity, double x, double y, double z, float scale)
-this.func_110628_a(texture);
-this.model.render((Entity)null, 0.0F, 0.0F, -0.1F, 0.0F, 0.0F, 0.0625F);
-.bindTileEntitySpecialRenderer
///////////////////////////////////////////////////////////////////////////////////////////////////
j’espere que vous pourrai m’aider, merci
-
Normal, net.minecraft.tileentity.TileEntitySpecialRenderer; n’existe pas c’est net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
-
merci sa ma regler mes problème enfin, merci :)___
désoler, mais il me reste encore 1 seul problème, le block se pose, mais je n’ai pas de texture, comment en mettre une? Quand je le pose, il est transparent (sans texture), mais dans ma main j’ai une texture comme un item.
-
Salut, moi j’ai suivi ton tuto à la lettre mais Eclipse me met plusieurs erreurs :
this.model.render((Entity)null, 0.0F, 0.0F, -0.1F, 0.0F, 0.0F, 0.0625F); ``` <–- au mot "render"float brightness = block.getBlockBrightness(world, i, j, k);
Quelqu'un pourrait-il m'aider car j'ai suivi au moins tutos pour faire un bloc avec un render special et aucun ne marchaient pour moi. Merci -
fireblade51 -> c’est le code resourcelocation et le bindtexture ou func_110628_a si tu utilise une version inférieur à forge 849
jeje78660 -> 1.6.2 ? Eclipse te dis quoi ? -
@‘robin4002’:
fireblade51 -> c’est le code resourcelocation et le bindtexture ou func_110628_a si tu utilise une version inférieur à forge 849
jeje78660 -> 1.6.2 ? Eclipse te dis quoi ?oui, 1.6.2
et Eclipse me marque pour l’erreur 1 ( render ) :```
The method render(Entity, float, float, float, float, float, float) in the type ModelParasol is not applicable for the arguments (Entity, float, float, float, float, float, float)et pour l'erreur 2 (getBlockBrightness) :``` The method getBlockBrightness(World, int, int, int) is undefined for the type Mod.Blocket le crash-reports :
–-- Minecraft Crash Report ---- // You're mean. Time: 13/09/13 15:29 Description: Rendering Tile Entity java.lang.Error: Unresolved compilation problem: The method render(Entity, float, float, float, float, float, float) in the type ModelParasol is not applicable for the arguments (Entity, float, float, float, float, float, float) at Assabody.mod.TileEntityParasolRenderer.renderTileEntityAt(TileEntityParasolRenderer.java:46) at net.minecraft.client.renderer.tileentity.TileEntityRenderer.renderTileEntityAt(TileEntityRenderer.java:172) at net.minecraft.client.renderer.tileentity.TileEntityRenderer.renderTileEntity(TileEntityRenderer.java:157) at net.minecraft.client.renderer.RenderGlobal.renderEntities(RenderGlobal.java:536) at net.minecraft.client.renderer.EntityRenderer.renderWorld(EntityRenderer.java:1160) at net.minecraft.client.renderer.EntityRenderer.updateCameraAndRender(EntityRenderer.java:1006) at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:934) at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:826) at net.minecraft.client.main.Main.main(Main.java:93) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at net.minecraft.launchwrapper.Launch.launch(Launch.java:57) at net.minecraft.launchwrapper.Launch.main(Launch.java:18) A detailed walkthrough of the error, its code path and all known details is as follows: --------------------------------------------------------------------------------------- -- Head -- Stacktrace: at Assabody.mod.TileEntityParasolRenderer.renderTileEntityAt(TileEntityParasolRenderer.java:46) -- Tile Entity Details -- Details: Name: tileEntityParasol // Assabody.mod.TileEntityParasol Block type: ID #2000 (tile.BlockParasol // Assabody.mod.BlockParasol) Block data value: 0 / 0x0 / 0b0000 Block location: World: (0,65,146), Chunk: (at 0,4,2 in 0,9; contains blocks 0,0,144 to 15,255,159), Region: (0,0; contains chunks 0,0 to 31,31, blocks 0,0,0 to 511,255,511) Actual block type: ID #2000 (tile.BlockParasol // Assabody.mod.BlockParasol) Actual block data value: 0 / 0x0 / 0b0000 Stacktrace: at net.minecraft.client.renderer.tileentity.TileEntityRenderer.renderTileEntityAt(TileEntityRenderer.java:172) at net.minecraft.client.renderer.tileentity.TileEntityRenderer.renderTileEntity(TileEntityRenderer.java:157) at net.minecraft.client.renderer.RenderGlobal.renderEntities(RenderGlobal.java:536) at net.minecraft.client.renderer.EntityRenderer.renderWorld(EntityRenderer.java:1160) -- Affected level -- Details: Level name: MpServer All players: 1 total; [EntityClientPlayerMP['Player250'/1492, l='MpServer', x=0,50, y=66,62, z=144,50]] Chunk stats: MultiplayerChunkCache: 35 Level seed: 0 Level generator: ID 00 - default, ver 1\. Features enabled: false Level generator options: Level spawn location: World: (10,64,140), Chunk: (at 10,4,12 in 0,8; contains blocks 0,0,128 to 15,255,143), Region: (0,0; contains chunks 0,0 to 31,31, blocks 0,0,0 to 511,255,511) Level time: 368 game time, 368 day time Level dimension: 0 Level storage version: 0x00000 - Unknown? Level weather: Rain time: 0 (now: false), thunder time: 0 (now: false) Level game mode: Game mode: creative (ID 1). Hardcore: false. Cheats: false Forced entities: 79 total; [EntityClientPlayerMP['Player250'/1492, l='MpServer', x=0,50, y=66,62, z=144,50], EntityPig['Pig'/687, l='MpServer', x=17,69, y=64,00, z=121,66], EntityPig['Pig'/686, l='MpServer', x=20,38, y=64,00, z=123,50], EntityFallingSand['Falling Block'/817, l='MpServer', x=53,50, y=41,97, z=192,50], EntityFallingSand['Falling Block'/816, l='MpServer', x=52,50, y=41,97, z=192,50], EntityFallingSand['Falling Block'/819, l='MpServer', x=51,50, y=46,00, z=192,50], EntityFallingSand['Falling Block'/818, l='MpServer', x=51,50, y=41,97, z=192,50], EntityPig['Pig'/558, l='MpServer', x=-1,50, y=64,00, z=150,50], EntityPig['Pig'/556, l='MpServer', x=-5,75, y=63,00, z=143,97], EntityPig['Pig'/557, l='MpServer', x=-6,22, y=63,00, z=145,66], EntityPig['Pig'/555, l='MpServer', x=-3,63, y=64,00, z=139,13], EntityFallingSand['Falling Block'/804, l='MpServer', x=61,50, y=44,41, z=184,50], EntityFallingSand['Falling Block'/805, l='MpServer', x=62,50, y=44,41, z=183,50], EntityFallingSand['Falling Block'/806, l='MpServer', x=62,50, y=44,41, z=184,50], EntityFallingSand['Falling Block'/807, l='MpServer', x=63,50, y=44,41, z=183,50], EntityFallingSand['Falling Block'/800, l='MpServer', x=62,50, y=41,09, z=184,50], EntityFallingSand['Falling Block'/801, l='MpServer', x=63,50, y=41,09, z=183,50], EntityFallingSand['Falling Block'/802, l='MpServer', x=63,50, y=41,09, z=184,50], EntityFallingSand['Falling Block'/803, l='MpServer', x=56,50, y=45,41, z=187,50], EntityCreeper['Creeper'/694, l='MpServer', x=23,50, y=14,00, z=204,50], EntityCreeper['Creeper'/695, l='MpServer', x=23,50, y=14,00, z=203,50], EntityPig['Pig'/692, l='MpServer', x=22,84, y=63,00, z=184,16], EntityPig['Pig'/693, l='MpServer', x=17,88, y=64,00, z=179,06], EntityFallingSand['Falling Block'/808, l='MpServer', x=63,50, y=44,41, z=184,50], EntityPig['Pig'/690, l='MpServer', x=23,50, y=63,00, z=188,50], EntityFallingSand['Falling Block'/809, l='MpServer', x=61,50, y=46,13, z=184,50], EntityPig['Pig'/691, l='MpServer', x=21,50, y=63,00, z=188,50], EntityFallingSand['Falling Block'/810, l='MpServer', x=62,50, y=46,13, z=183,50], EntityPig['Pig'/688, l='MpServer', x=27,06, y=64,00, z=162,81], EntityFallingSand['Falling Block'/811, l='MpServer', x=62,50, y=46,13, z=184,50], EntityPig['Pig'/689, l='MpServer', x=31,75, y=64,00, z=164,91], EntityFallingSand['Falling Block'/791, l='MpServer', x=58,50, y=42,09, z=187,50], EntityFallingSand['Falling Block'/790, l='MpServer', x=57,50, y=42,09, z=189,50], EntityFallingSand['Falling Block'/789, l='MpServer', x=57,50, y=42,09, z=188,50], EntityFallingSand['Falling Block'/788, l='MpServer', x=58,50, y=42,09, z=189,50], EntityFallingSand['Falling Block'/787, l='MpServer', x=52,50, y=42,56, z=191,50], EntityFallingSand['Falling Block'/786, l='MpServer', x=53,50, y=42,56, z=191,50], EntityZombie['Zombie'/785, l='MpServer', x=59,59, y=12,00, z=157,84], EntityFallingSand['Falling Block'/799, l='MpServer', x=62,50, y=41,09, z=183,50], EntityFallingSand['Falling Block'/798, l='MpServer', x=61,50, y=41,09, z=184,50], EntityFallingSand['Falling Block'/797, l='MpServer', x=56,50, y=42,09, z=189,50], EntityFallingSand['Falling Block'/796, l='MpServer', x=55,50, y=42,09, z=188,50], EntityFallingSand['Falling Block'/795, l='MpServer', x=57,50, y=42,09, z=187,50], EntityFallingSand['Falling Block'/794, l='MpServer', x=56,50, y=42,09, z=188,50], EntityFallingSand['Falling Block'/793, l='MpServer', x=56,50, y=42,09, z=187,50], EntityFallingSand['Falling Block'/792, l='MpServer', x=58,50, y=42,09, z=188,50], EntityFallingSand['Falling Block'/772, l='MpServer', x=33,50, y=37,97, z=204,50], EntityFallingSand['Falling Block'/770, l='MpServer', x=34,50, y=37,97, z=205,50], EntityFallingSand['Falling Block'/771, l='MpServer', x=32,50, y=36,97, z=206,50], EntityFallingSand['Falling Block'/768, l='MpServer', x=32,50, y=36,97, z=205,50], EntityFallingSand['Falling Block'/769, l='MpServer', x=33,50, y=37,97, z=205,50], EntityFallingSand['Falling Block'/622, l='MpServer', x=14,50, y=43,13, z=189,50], EntityFallingSand['Falling Block'/623, l='MpServer', x=13,50, y=43,13, z=190,50], EntityPig['Pig'/620, l='MpServer', x=6,53, y=64,00, z=121,34], EntityFallingSand['Falling Block'/621, l='MpServer', x=13,50, y=42,13, z=189,50], EntityPig['Pig'/762, l='MpServer', x=44,50, y=65,00, z=155,50], EntityFallingSand['Falling Block'/627, l='MpServer', x=15,50, y=43,13, z=189,50], EntityPig['Pig'/763, l='MpServer', x=40,22, y=64,00, z=157,78], EntityFallingSand['Falling Block'/626, l='MpServer', x=14,50, y=43,13, z=191,50], EntityFallingSand['Falling Block'/625, l='MpServer', x=13,50, y=43,13, z=191,50], EntityPig['Pig'/761, l='MpServer', x=33,50, y=64,00, z=144,50], EntityFallingSand['Falling Block'/624, l='MpServer', x=14,50, y=43,13, z=190,50], EntityBat['Bat'/631, l='MpServer', x=8,75, y=46,03, z=205,31], EntityPig['Pig'/766, l='MpServer', x=32,16, y=64,00, z=167,31], EntityPig['Pig'/767, l='MpServer', x=36,88, y=64,00, z=165,59], EntityPig['Pig'/630, l='MpServer', x=8,50, y=63,00, z=190,50], EntityPig['Pig'/764, l='MpServer', x=41,50, y=64,00, z=156,19], EntityFallingSand['Falling Block'/629, l='MpServer', x=13,50, y=45,41, z=189,50], EntityPig['Pig'/765, l='MpServer', x=46,28, y=64,00, z=163,03], EntityFallingSand['Falling Block'/628, l='MpServer', x=15,50, y=43,13, z=190,50], EntityPig['Pig'/633, l='MpServer', x=8,50, y=63,00, z=192,50], EntityFallingSand['Falling Block'/632, l='MpServer', x=13,50, y=40,97, z=192,50], EntityPig['Pig'/758, l='MpServer', x=36,47, y=65,00, z=143,69], EntityPig['Pig'/759, l='MpServer', x=35,66, y=66,00, z=140,88], EntityPig['Pig'/757, l='MpServer', x=34,50, y=65,00, z=142,50], EntityCreeper['Creeper'/484, l='MpServer', x=-28,53, y=41,00, z=118,97], EntityFallingSand['Falling Block'/486, l='MpServer', x=-23,50, y=44,13, z=128,50], EntityCreeper['Creeper'/483, l='MpServer', x=-30,47, y=41,00, z=119,88], EntityCreeper['Creeper'/482, l='MpServer', x=-30,75, y=41,00, z=120,66]] Retry entities: 0 total; [] Server brand: fml,forge Server type: Integrated singleplayer server Stacktrace: at net.minecraft.client.multiplayer.WorldClient.addWorldInfoToCrashReport(WorldClient.java:440) at net.minecraft.client.Minecraft.addGraphicsAndWorldToCrashReport(Minecraft.java:2298) at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:844) at net.minecraft.client.main.Main.main(Main.java:93) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at net.minecraft.launchwrapper.Launch.launch(Launch.java:57) at net.minecraft.launchwrapper.Launch.main(Launch.java:18) – System Details -- Details: Minecraft Version: 1.6.2 Operating System: Windows 8 (amd64) version 6.2 Java Version: 1.7.0_21, Oracle Corporation Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation Memory: 853166880 bytes (813 MB) / 1037959168 bytes (989 MB) up to 1037959168 bytes (989 MB) JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M AABB Pool Size: 17062 (955472 bytes; 0 MB) allocated, 43 (2408 bytes; 0 MB) used Suspicious classes: FML and Forge are installed IntCache: cache: 0, tcache: 0, allocated: 3, tallocated: 63 FML: MCP v8.04 FML v6.2.35.804 Minecraft Forge 9.10.0.804 4 mods loaded, 4 mods active mcp{8.04} [Minecraft Coder Pack] (minecraft.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available FML{6.2.35.804} [Forge Mod Loader] (coremods) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available Forge{9.10.0.804} [Minecraft Forge] (coremods) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available assabody-mod{1.6.2-1} [Mod Assabody] (bin) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available Launched Version: 1.6 LWJGL: 2.9.0 OpenGL: Intel(R) HD Graphics 4000 GL version 4.0.0 - Build 9.17.10.2932, Intel Is Modded: Definitely; Client brand changed to 'fml,forge' Type: Client (map_client.txt) Resource Pack: Default Current Language: English (US) Profiler Position: N/A (disabled) Vec3 Pool Size: 1099 (61544 bytes; 0 MB) allocated, 1099 (61544 bytes; 0 MB) usedSi sa marche JE TE BENIS

-
D’accord je vait esseyer sa merci

-
Bah c’est a moi de te remercier si tu reussis a régler mon problème qui date de + de 10 jours ^^___
Parce que j’ai beau suivre plusieurs tutos, rien ne marche.Si quelqu’un pouvait m’envoyer tous ses fichiers .java afin que je les copie et que je remplace juste le model
-
Je pourrais voir toute la classe? (import aussi)
-
Je te met toute les classes dans 2 min___
BlockParasol :package Assabody.mod; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; public class BlockParasol extends BlockContainer { //Treat it like a normal block here. The Block Bounds are a good idea - the first three are X Y and Z of the botton-left corner, //And the second three are the top-right corner. public BlockParasol(int id) { super(id, Material.iron); this.setCreativeTab(CreativeTabs.tabBlock); this.setBlockBounds(0.4F, 0.0F, 0.4F, 0.6F, 3.0F, 0.6F); } //Make sure you set this as your TileEntity class relevant for the block! @Override public TileEntity createNewTileEntity(World world) { return new TileEntityParasol(); } @Override public TileEntity createTileEntity(World world, int metadata) { return new TileEntityParasol(); } //You don't want the normal render type, or it wont render properly. @Override public int getRenderType() { return -1; } //It's not an opaque cube, so you need this. @Override public boolean isOpaqueCube() { return false; } //It's not a normal block, so you need this too. public boolean renderAsNormalBlock() { return false; } //This is the icon to use for showing the block in your hand. public void registerIcons(IconRegister icon) { this.blockIcon = icon.registerIcon("assabody-mod:TrafficLightIcon"); } public boolean hasTileEntity(int metadata) { return true; } }TileEntityParasol :
package Assabody.mod; import com.jcraft.jogg.Packet; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.network.INetworkManager; import net.minecraft.network.packet.Packet132TileEntityData; import net.minecraft.tileentity.TileEntity; public class TileEntityParasol extends TileEntity { public net.minecraft.network.packet.Packet getDescriptionPacket() { NBTTagCompound nbtTag = new NBTTagCompound(); this.writeToNBT(nbtTag); return new Packet132TileEntityData(this.xCoord, this.yCoord, this.zCoord, 1, nbtTag); } public void onDataPacket(INetworkManager net, Packet132TileEntityData packet) { readFromNBT(packet.customParam1); } }TileEntityParasolRenderer ( avec les deux erreurs ) :
package Assabody.mod; import javax.swing.text.html.parser.Entity; import Assabody.mod.ModelParasol; import org.lwjgl.opengl.GL11; import cpw.mods.fml.common.Mod.Block; import net.minecraft.client.renderer.OpenGlHelper; import net.minecraft.client.renderer.Tessellator; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.ResourceLocation; import net.minecraft.world.World; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; public class TileEntityParasolRenderer extends TileEntitySpecialRenderer { //The model of your block private void adjustRotatePivotViaMeta(World world, int x, int y, int z) { int meta = world.getBlockMetadata(x, y, z); GL11.glPushMatrix(); GL11.glRotatef(meta * (-90), 0.0F, 0.0F, 1.0F); GL11.glPopMatrix(); } @Override public void renderTileEntityAt(TileEntity par1TileEntity, double x, double y, double z, float scale) { //The PushMatrix tells the renderer to "start" doing something. GL11.glPushMatrix(); //This is setting the initial location. GL11.glTranslatef((float) x + 0.5F, (float) y + 1.5F, (float) z + 0.5F); //This is the texture of your block. It's pathed to be the same place as your other blocks here. //Outdated bindTextureByName("/mods/roads/textures/blocks/TrafficLightPoleRed.png"); //Use in 1.6.2 this func_110628_a(new ResourceLocation("mods:assabody-mod/textures/blocks/TrafficLightPoleRed.png")); //the ':' is very important //This rotation part is very important! Without it, your model will render upside-down! And for some reason you DO need PushMatrix again! GL11.glPushMatrix(); GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F); //A reference to your Model file. Again, very important. this.model.render((Entity)null, 0.0F, 0.0F, -0.1F, 0.0F, 0.0F, 0.0625F); //Tell it to stop rendering for both the PushMatrix's GL11.glPopMatrix(); GL11.glPopMatrix(); } //Set the lighting stuff, so it changes it's brightness properly. private void adjustLightFixture(World world, int i, int j, int k, Block block) { Tessellator tess = Tessellator.instance; float brightness = block.getBlockBrightness(world, i, j, k); int skyLight = world.getLightBrightnessForSkyBlocks(i, j, k, 0); int modulousModifier = skyLight % 65536; int divModifier = skyLight / 65536; tess.setColorOpaque_F(brightness, brightness, brightness); OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, (float)modulousModifier, divModifier); } public void renderTileEntityAtBlockTutorielTechne(TileEntityParasol tileentity, double x, double y, double z, float scale) { } public final ModelParasol model; public TileEntityParasolRenderer() { ModelParasol model = new ModelParasol(); this.model = new ModelParasol();} }ModelParasol :
package Assabody.mod; import net.minecraft.client.model.ModelBase; import net.minecraft.client.model.ModelRenderer; import net.minecraft.entity.Entity; public class ModelParasol extends ModelBase { ModelRenderer Shape1; ModelRenderer Shape2; public ModelParasol() { textureWidth = 128; textureHeight = 128; Shape1 = new ModelRenderer(this, 0, 0); Shape1.addBox(0.0F, 0.0F, 0.0F, 1, 28, 1); Shape1.setRotationPoint(0.0F, -4.0F, 0.0F); Shape1.setTextureSize(128, 128); Shape1.mirror = true; setRotation(this.Shape1, 0.0F, 0.0F, 0.0F); Shape2 = new ModelRenderer(this, 4, 0); Shape2.addBox(0.0F, 0.0F, 0.0F, 21, 1, 21); Shape2.setRotationPoint(-10.0F, -5.0F, -10.0F); Shape2.setTextureSize(128, 128); Shape2.mirror = true; setRotation(this.Shape2, 0.0F, 0.0F, 0.0F); } public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { super.render(entity, f, f1, f2, f3, f4, f5); setRotationAngles(f, f1, f2, f3, f4, f5, entity); Shape1.render(f5); Shape2.render(f5); } private void setRotation(ModelRenderer model, float x, float y, float z) { model.rotateAngleX = x; model.rotateAngleY = y; model.rotateAngleZ = z; } public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) { super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); } public void renderModel(float f) { } }Merci de ton aide___
Déclaration dans la Classe principale :GameRegistry.registerTileEntity(TileEntityParasol.class, "tileEntityParasol");et dans le proxyClient :
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityParasol.class, new TileEntityParasolRenderer()); -
TileEntityParasolRenderer.class :
import cpw.mods.fml.common.Mod.Block; -> net.minecraft.block.BlockPour les items et blocs, importez toujours net.minecraft.item ou block.Item ou Block
Jamais celui de fml, il est que utilisé pour l’itemtracker de fml, c’est lié au fonctionnement de fml, et rien d’autre. Et encore moins la classe Block ou Item de java. TOUJOURS net.minecraft.block.Block ou net.minecraft.item.Item -
Ok merci, je vais tester tt de suite___
Merci beaucoup, maintenant il marque plus qu’1 erreur, l’erreur .render___
la version de Minecraft la 1.6.2 et forge est en 9.10.0.804 -
Robin plus rapide quoi moi ……
Sinon essaie un ctrl+shift+o et s’il te propose d’importer Entity, prend bien celui de Minecraft -
Ok merci___
Il me marque en bas “0 import added.” Et y a tjr l’erreur___
Et quand je reste sur minecraft, quand je pose le bloc, minecraft crashMerci et bonne nuit

