MFF

    Minecraft Forge France
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes
    • Forge Events
      • Automatique
      • Foncé
      • Clair
    • S'inscrire
    • Se connecter

    Les metadata de bloc

    Planifier Épinglé Verrouillé Déplacé Les blocs
    1.6.x
    56 Messages 11 Publieurs 19.8k Vues 1 Watching
    Charger plus de messages
    • Du plus ancien au plus récent
    • Du plus récent au plus ancien
    • Les plus votés
    Répondre
    • Répondre à l'aide d'un nouveau sujet
    Se connecter pour répondre
    Ce sujet a été supprimé. Seuls les utilisateurs avec les droits d'administration peuvent le voir.
    • EclipseOnFireE Hors-ligne
      EclipseOnFire
      dernière édition par robin4002

      Bien sûr ! Je t’avertis ça crève un peu les yeux, j’ai pas suivi l’ordre précis de tes tutos, j’ai tout groupé en fait. Par exemple les register seront à côté de la déclaration du bloc.
      Tout est commenté donc tu devrais pouvoir t’y retrouver ^^
      Voici la classe principale : (j’ai enlevé le package et les import)
      :::

      @Mod(modid = "WiremodCore", name = "Wirestone Core", version = "1.0", useMetadata = true)
      @NetworkMod(clientSideRequired = true, serverSideRequired = true)
      public class WirestoneMain{
      
      //–--- Déclaration des blocs et items -----
      public static Block InvisibleBlock,Fan,Grid,Neon,WarningBlock,DoorBlock;
      public static Item AirFilter,
      GasMask,
      HermeticChestPlate,
      HermeticLeggings,
      HermeticBoots;
      static EnumArmorMaterial HermeticArmor = EnumHelper.addArmorMaterial("Hermetic", 241, new int[]{1, 3, 2, 1}, 9);
      
      //----- Configurations -----
      @SidedProxy(clientSide = "fr.wirestone.mainmod.WirestoneClientProxy", serverSide = "fr.wirestone.mainmod.WirestoneCommonProxy")
      public static WirestoneCommonProxy proxy;
      
      @Instance("WirestoneMain")
      public static WirestoneMain instance;
      public void output(String str){ //Log dans la console
      System.out.println("[WIRESTONE] "+str);
      }
      @EventHandler
      public void PreInit(FMLPreInitializationEvent event){
      System.out.println("–--------------------------\nWirestoneCore par Arthur340\n----------------------------\n\n--> Initialisation globale du mod en cours !\n");
      org.lwjgl.opengl.Display.setTitle("Minecraft Wirestone");
      //----- Configuration -----
      
      //Démarrage de l'anticheat
      AntiCheat anticheat = new Anticheat();
      anticheat.start();
      
      //----- Blocs -----
      output("Initialisation des blocs...");
      //Bloc invisible
      InvisibleBlock = new InvisibleBlock(600).setHardness(0.3F).setResistance(5.0F).setStepSound(Block.soundGlassFootstep).setUnlocalizedName("InvisibleBlock").func_111022_d("wiremodcore:InvisibleBlock");
      GameRegistry.registerBlock(InvisibleBlock, "InvisibleBlock");
      output("Bloc 'InvisibleBlock' initialisé !");
      //Ventilateur
      Fan = new Fan(601).setHardness(5.0F).setResistance(30.0F).setStepSound(Block.soundMetalFootstep).setUnlocalizedName("Fan").func_111022_d("wiremodcore:Fan");
      GameRegistry.registerBlock(Fan, "Fan");
      output("Bloc 'Fan' initialisé !");
      //Grille d'aération
      Grid = new Grid(602).setHardness(5.0F).setResistance(30.0F).setStepSound(Block.soundMetalFootstep).setUnlocalizedName("Grid").func_111022_d("wiremodcore:Grid");
      GameRegistry.registerBlock(Grid, "Grid");
      output("Bloc 'Grid' initialisé !");
      //Néon
      Neon = new Neon(603).setHardness(2.5F).setResistance(30.0F).setStepSound(Block.soundMetalFootstep).setLightValue(1.0F).setUnlocalizedName("Neon").func_111022_d("wiremodcore:Neon");
      GameRegistry.registerBlock(Neon, "Neon");
      output("Bloc 'Neon' initialisé !");
      //Bloc attention
      WarningBlock = new WarningBlock(604).setHardness(0.8F).setStepSound(Block.soundClothFootstep).setUnlocalizedName("WarningBlock").func_111022_d("wiremodcore:WarningBlock");
      GameRegistry.registerBlock(WarningBlock, "WarningBlock");
      output("Bloc 'WarningBlock' initialisé !");
      //Bloc de porte
      DoorBlock = new DoorBlock(605).setHardness(5.0F).setResistance(2000.0F).setStepSound(Block.soundMetalFootstep).setUnlocalizedName("DoorBlock");
      GameRegistry.registerBlock(DoorBlock, ItemBlockDoorBlock.class, "DoorBlock", "WirestoneCore");
      output("Bloc et sous-blocs 'DoorBlock' initialisés !");
      
      output("Initialisation des blocs terminée !");
      //----- Items -----
      output("Initialisation des items...");
      //Filtre à air
      AirFilter = new AirFilter(3840).setUnlocalizedName("AirFilter").func_111206_d("wiremodcore:AirFilter");
      GameRegistry.registerItem(AirFilter, "AirFilter", "WiremodCore");
      output("Item 'AirFilter' initialisé !");
      //Armure hermétique
      GasMask = new ItemHermeticArmor(3841, HermeticArmor, 0,0).setUnlocalizedName("GasMask").func_111206_d("wiremodcore:gasmask");
      GameRegistry.registerItem(GasMask, "GasMask", "WiremodCore");
      output("Item 'AirMask' initialisé !");
      HermeticChestPlate = new ItemHermeticArmor(3842, HermeticArmor, 0, 1).setUnlocalizedName("HermeticChestPlate").func_111206_d("wiremodcore:hermeticchestplate");
      GameRegistry.registerItem(HermeticChestPlate, "HermeticChestPlate", "WiremodCore");
      output("Item 'HermeticChestPlate' initialisé !");
      HermeticLeggings = new ItemHermeticArmor(3843, HermeticArmor, 0, 2).setUnlocalizedName("HermeticLeggings").func_111206_d("wiremodcore:hermeticleggings");
      GameRegistry.registerItem(HermeticLeggings, "HermeticLeggings", "WiremodCore");
      output("Item 'HermeticLeggings' initialisé !");
      HermeticBoots = new ItemHermeticArmor(3844, HermeticArmor, 0, 3).setUnlocalizedName("HermeticBoots").func_111206_d("wiremodcore:hermeticboots");
      GameRegistry.registerItem(HermeticBoots, "HermeticBoots", "WiremodCore");
      output("Item 'HermeticBoots' initialisé !");
      output("Armure 'HermeticArmor' initialisée !");
      
      output("Initialisation des items terminée !");
      //----- Achievements -----
      
      output("Initialisation des textures !");
      output("Les erreurs qui suivent sont des erreurs qui peuvent être ignorées.");
      }
      @EventHandler
      public void Init(FMLInitializationEvent event){
      //----- Registry -----
      
      //----- Mobs -----
      
      //----- Render -----
      proxy.registerRender();
      
      //----- NetWork -----
      
      //----- Recipes -----
      //Déclarations des itemstack :
      output("Initialisation des textures terminée !");
      output("Initialisation des recettes...");
      ItemStack ironBars = new ItemStack(Block.fenceIron);
      ItemStack iron = new ItemStack(Item.ingotIron);
      ItemStack redStone = new ItemStack(Item.redstone);
      ItemStack glowStone = new ItemStack(Block.glowStone);
      ItemStack paper = new ItemStack(Item.paper);
      ItemStack woolYellow = new ItemStack(Block.cloth,1,4);
      ItemStack woolBlack = new ItemStack (Block.cloth,1,15);
      ItemStack glassPane = new ItemStack(Block.thinGlass);
      ItemStack airFilter = new ItemStack(fr.wirestone.mainmod.WirestoneMain.AirFilter);
      
      //Craft du filtre à air
      GameRegistry.addRecipe(new ItemStack(fr.wirestone.mainmod.WirestoneMain.AirFilter), " x ", "xyx",
      'x', iron, 'y', paper);
      output("Craft de 'AirFilter' initialisé !");
      
      //Craft du masque à gaz
      GameRegistry.addRecipe(new ItemStack(fr.wirestone.mainmod.WirestoneMain.GasMask), "xxx", "xzx"," z ",
      'x', woolYellow, 'y', airFilter, 'z', glassPane);
      output("Craft de 'GasMask' initialisé !");
      
      //Craft du plastron étanche
      GameRegistry.addRecipe(new ItemStack(fr.wirestone.mainmod.WirestoneMain.HermeticChestPlate), "x x", "xxx","xxx",
      'x', woolYellow);
      output("Craft de 'HermeticChestPlate' initialisé !");
      
      //Craft des jambières étanches
      GameRegistry.addRecipe(new ItemStack(fr.wirestone.mainmod.WirestoneMain.HermeticLeggings), "xxx", "x x","x x",
      'x', woolYellow);
      output("Craft de 'HermeticLeggings' initialisé !");
      
      //Craft des bottes étanches
      GameRegistry.addRecipe(new ItemStack(fr.wirestone.mainmod.WirestoneMain.HermeticBoots), "x x", "x x",
      'x', woolYellow);
      output("Craft de 'HermeticBoots' initialisé !");
      
      //Craft du ventilateur
      GameRegistry.addRecipe(new ItemStack(fr.wirestone.mainmod.WirestoneMain.Fan, 4), "xxx", "xrx","xxx",
      'x', iron, 'y', redStone);
      output("Craft de 'Fan' initialisé !");
      
      //Craft de la grille d'aération
      GameRegistry.addRecipe(new ItemStack(fr.wirestone.mainmod.WirestoneMain.Grid, 8), "xxx", "xyx","xxx",
      'x', iron, 'y', ironBars);
      output("Craft de 'Grid' initialisé !");
      
      //Craft du Néon
      GameRegistry.addRecipe(new ItemStack(fr.wirestone.mainmod.WirestoneMain.Neon, 2), "yyy", "xyx","yyy",
      'x', iron, 'y', glowStone);
      output("Craft de 'Neon' initialisé !");
      
      //Craft du bloc attention
      GameRegistry.addRecipe(new ItemStack(fr.wirestone.mainmod.WirestoneMain.WarningBlock, 4), "xy", "yx",
      'x', woolYellow, 'y', woolBlack);
      output("Craft de 'WarningBlock' initialisé !");
      GameRegistry.addRecipe(new ItemStack(fr.wirestone.mainmod.WirestoneMain.WarningBlock, 4), "yx", "xy",
      'x', woolYellow, 'y', woolBlack);
      output("Craft alternatif de 'WarningBlock' initialisé !");
      
      }
      @EventHandler
      public void PostInit(FMLPostInitializationEvent event){
      //Intégration avec les autres mods
      System.out.println("\n\n--> Initialisation globale du mod terminée avec succès !");
      }
      
      }
      

      :::
      Ma classe ItemBlockBlockDoor :

      package fr.wirestone.mainmod;
      
      import net.minecraft.item.ItemBlock;
      import net.minecraft.item.ItemBlock;
      import net.minecraft.item.ItemStack;
      
      public class ItemBlockDoorBlock extends ItemBlock{
      public ItemBlockDoorBlock(int id){
      super(id);
      this.setHasSubtypes(true);
      }
      public int getMetadata(int metadata){
      return metadata;
      }
      public String getUnlocalizedName(ItemStack stack){
      int metadata = stack.getItemDamage();
      if(metadata > DoorBlock.type.length || metadata < 0){
      metadata = 0;
      }
      return super.getUnlocalizedName() + "." + DoorBlock.type[metadata];
      }
      }
      

      Et voici la totalité du log :

      juil. 23, 2013 2:41:35 PM net.minecraft.launchwrapper.LogWrapper log
      INFO: Using tweak class name cpw.mods.fml.common.launcher.FMLTweaker
      2013-07-23 14:41:35 [INFO] [ForgeModLoader] Forge Mod Loader version 6.2.19.789 for Minecraft 1.6.2 loading
      2013-07-23 14:41:35 [INFO] [ForgeModLoader] Java is Java HotSpot(TM) Client VM, version 1.7.0_25, running on Windows 7:x86:6.1, installed at C:\Program Files\Java\jre7
      2013-07-23 14:41:35 [INFO] [ForgeModLoader] Managed to load a deobfuscated Minecraft name- we are in a deobfuscated environment. Skipping runtime deobfuscation
      2013-07-23 14:41:35 [INFO] [STDOUT] Loaded 39 rules from AccessTransformer config file fml_at.cfg
      2013-07-23 14:41:35 [INFO] [STDOUT] Loaded 107 rules from AccessTransformer config file forge_at.cfg
      2013-07-23 14:41:36 [SEVERE] [ForgeModLoader] The binary patch set is missing. Things are probably about to go very wrong.
      2013-07-23 14:41:36 [INFO] [ForgeModLoader] Launching wrapped minecraft
      2013-07-23 14:41:39 [INFO] [Minecraft-Client] Setting user: Player946
      2013-07-23 14:41:39 [INFO] [Minecraft-Client] (Session ID is null)
      2013-07-23 14:41:43 [INFO] [Minecraft-Client] LWJGL Version: 2.9.0
      2013-07-23 14:41:45 [INFO] [Minecraft-Client] Reloading ResourceManager: Default
      2013-07-23 14:41:46 [INFO] [STDOUT]
      2013-07-23 14:41:46 [INFO] [STDOUT] Starting up SoundSystem…
      2013-07-23 14:41:46 [INFO] [STDOUT] Initializing LWJGL OpenAL
      2013-07-23 14:41:46 [INFO] [STDOUT] (The LWJGL binding of OpenAL. For more information, see http://www.lwjgl.org)
      2013-07-23 14:41:46 [INFO] [MinecraftForge] Attempting early MinecraftForge initialization
      2013-07-23 14:41:46 [INFO] [STDOUT] MinecraftForge v9.10.0.789 Initialized
      2013-07-23 14:41:46 [INFO] [ForgeModLoader] MinecraftForge v9.10.0.789 Initialized
      2013-07-23 14:41:47 [INFO] [STDOUT] Replaced 101 ore recipies
      2013-07-23 14:41:47 [INFO] [STDOUT] OpenAL initialized.
      2013-07-23 14:41:47 [INFO] [STDOUT]
      2013-07-23 14:41:47 [INFO] [MinecraftForge] Completed early MinecraftForge initialization
      2013-07-23 14:41:47 [INFO] [ForgeModLoader] Reading custom logging properties from C:\Users\Arthur\Documents\Dropbox\Programmation\Java\forge-9.10.0.789\mcp\jars\config\logging.properties
      2013-07-23 14:41:47 [OFF] [ForgeModLoader] Logging level for ForgeModLoader logging is set to ALL
      2013-07-23 14:41:48 [INFO] [ForgeModLoader] Searching C:\Users\Arthur\Documents\Dropbox\Programmation\Java\forge-9.10.0.789\mcp\jars\mods for mods
      2013-07-23 14:41:56 [INFO] [ForgeModLoader] Forge Mod Loader has identified 4 mods to load
      2013-07-23 14:41:56 [INFO] [mcp] Activating mod mcp
      2013-07-23 14:41:56 [INFO] [FML] Activating mod FML
      2013-07-23 14:41:56 [INFO] [Forge] Activating mod Forge
      2013-07-23 14:41:56 [INFO] [WiremodCore] Activating mod WiremodCore
      2013-07-23 14:41:56 [INFO] [ForgeModLoader] Registering Forge Packet Handler
      2013-07-23 14:41:56 [INFO] [ForgeModLoader] Succeeded registering Forge Packet Handler
      2013-07-23 14:41:56 [INFO] [ForgeModLoader] Configured a dormant chunk cache size of 0
      2013-07-23 14:41:56 [INFO] [STDOUT] –--------------------------
      2013-07-23 14:41:56 [INFO] [STDOUT] WirestoneCore par Arthur340
      2013-07-23 14:41:56 [INFO] [STDOUT] –--------------------------
      2013-07-23 14:41:56 [INFO] [STDOUT]
      2013-07-23 14:41:56 [INFO] [STDOUT] –> Initialisation globale du mod en cours !
      2013-07-23 14:41:56 [INFO] [STDOUT]
      2013-07-23 14:41:56 [INFO] [STDOUT] [WIRESTONE] Initialisation des blocs…
      2013-07-23 14:41:56 [INFO] [STDOUT] [WIRESTONE] Bloc 'InvisibleBlock' initialisé !
      2013-07-23 14:41:56 [INFO] [STDOUT] [WIRESTONE] Bloc 'Fan' initialisé !
      2013-07-23 14:41:56 [INFO] [STDOUT] [WIRESTONE] Bloc 'Grid' initialisé !
      2013-07-23 14:41:56 [INFO] [STDOUT] [WIRESTONE] Bloc 'Neon' initialisé !
      2013-07-23 14:41:56 [INFO] [STDOUT] [WIRESTONE] Bloc 'WarningBlock' initialisé !
      2013-07-23 14:41:56 [SEVERE] [ForgeModLoader] Caught an exception during block registration
      java.lang.NullPointerException
      at cpw.mods.fml.common.registry.ItemData.setName(ItemData.java:158)
      at cpw.mods.fml.common.registry.GameData.setName(GameData.java:255)
      at cpw.mods.fml.common.registry.GameRegistry.registerItem(GameRegistry.java:150)
      at cpw.mods.fml.common.registry.GameRegistry.registerBlock(GameRegistry.java:227)
      at fr.wirestone.mainmod.WirestoneMain.PreInit(WirestoneMain.java:72)
      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 cpw.mods.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:540)
      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 com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:74)
      at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)
      at com.google.common.eventbus.EventBus.dispatch(EventBus.java:313)
      at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:296)
      at com.google.common.eventbus.EventBus.post(EventBus.java:267)
      at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:193)
      at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:173)
      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 com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:74)
      at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)
      at com.google.common.eventbus.EventBus.dispatch(EventBus.java:313)
      at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:296)
      at com.google.common.eventbus.EventBus.post(EventBus.java:267)
      at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:104)
      at cpw.mods.fml.common.Loader.loadMods(Loader.java:521)
      at cpw.mods.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:172)
      at net.minecraft.client.Minecraft.startGame(Minecraft.java:470)
      at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:796)
      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)
      2013-07-23 14:41:56 [SEVERE] [ForgeModLoader] Fatal errors were detected during the transition from PREINITIALIZATION to INITIALIZATION. Loading cannot continue
      2013-07-23 14:41:56 [SEVERE] [ForgeModLoader]
      mcp{8.04} [Minecraft Coder Pack] (minecraft.jar) Unloaded->Constructed->Pre-initialized
      FML{6.2.19.789} [Forge Mod Loader] (coremods) Unloaded->Constructed->Pre-initialized
      Forge{9.10.0.789} [Minecraft Forge] (coremods) Unloaded->Constructed->Pre-initialized
      WiremodCore{1.0} [Wirestone Core] (bin) Unloaded->Constructed->Errored
      2013-07-23 14:41:56 [SEVERE] [ForgeModLoader] The following problems were captured during this phase
      2013-07-23 14:41:56 [SEVERE] [ForgeModLoader] Caught exception from WiremodCore
      cpw.mods.fml.common.LoaderException: java.lang.NullPointerException
      at cpw.mods.fml.common.registry.GameRegistry.registerBlock(GameRegistry.java:232)
      at fr.wirestone.mainmod.WirestoneMain.PreInit(WirestoneMain.java:72)
      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 cpw.mods.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:540)
      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 com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:74)
      at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)
      at com.google.common.eventbus.EventBus.dispatch(EventBus.java:313)
      at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:296)
      at com.google.common.eventbus.EventBus.post(EventBus.java:267)
      at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:193)
      at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:173)
      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 com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:74)
      at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)
      at com.google.common.eventbus.EventBus.dispatch(EventBus.java:313)
      at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:296)
      at com.google.common.eventbus.EventBus.post(EventBus.java:267)
      at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:104)
      at cpw.mods.fml.common.Loader.loadMods(Loader.java:521)
      at cpw.mods.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:172)
      at net.minecraft.client.Minecraft.startGame(Minecraft.java:470)
      at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:796)
      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)
      Caused by: java.lang.NullPointerException
      at cpw.mods.fml.common.registry.ItemData.setName(ItemData.java:158)
      at cpw.mods.fml.common.registry.GameData.setName(GameData.java:255)
      at cpw.mods.fml.common.registry.GameRegistry.registerItem(GameRegistry.java:150)
      at cpw.mods.fml.common.registry.GameRegistry.registerBlock(GameRegistry.java:227)
      … 38 more
      2013-07-23 14:41:56 [INFO] [STDOUT] –-- Minecraft Crash Report ----
      2013-07-23 14:41:56 [INFO] [STDOUT] // I blame Dinnerbone.
      2013-07-23 14:41:56 [INFO] [STDOUT]
      2013-07-23 14:41:56 [INFO] [STDOUT] Time: 23/07/13 14:41
      2013-07-23 14:41:56 [INFO] [STDOUT] Description: There was a severe problem during mod loading that has caused the game to fail
      2013-07-23 14:41:56 [INFO] [STDOUT]
      2013-07-23 14:41:56 [INFO] [STDOUT] cpw.mods.fml.common.LoaderException: java.lang.NullPointerException
      2013-07-23 14:41:56 [INFO] [STDOUT] at cpw.mods.fml.common.registry.GameRegistry.registerBlock(GameRegistry.java:232)
      2013-07-23 14:41:56 [INFO] [STDOUT] at fr.wirestone.mainmod.WirestoneMain.PreInit(WirestoneMain.java:72)
      2013-07-23 14:41:56 [INFO] [STDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      2013-07-23 14:41:56 [INFO] [STDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
      2013-07-23 14:41:56 [INFO] [STDOUT] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
      2013-07-23 14:41:56 [INFO] [STDOUT] at java.lang.reflect.Method.invoke(Unknown Source)
      2013-07-23 14:41:56 [INFO] [STDOUT] at cpw.mods.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:540)
      2013-07-23 14:41:56 [INFO] [STDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      2013-07-23 14:41:56 [INFO] [STDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
      2013-07-23 14:41:56 [INFO] [STDOUT] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
      2013-07-23 14:41:56 [INFO] [STDOUT] at java.lang.reflect.Method.invoke(Unknown Source)
      2013-07-23 14:41:56 [INFO] [STDOUT] at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:74)
      2013-07-23 14:41:56 [INFO] [STDOUT] at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)
      2013-07-23 14:41:56 [INFO] [STDOUT] at com.google.common.eventbus.EventBus.dispatch(EventBus.java:313)
      2013-07-23 14:41:56 [INFO] [STDOUT] at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:296)
      2013-07-23 14:41:56 [INFO] [STDOUT] at com.google.common.eventbus.EventBus.post(EventBus.java:267)
      2013-07-23 14:41:56 [INFO] [STDOUT] at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:193)
      2013-07-23 14:41:56 [INFO] [STDOUT] at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:173)
      2013-07-23 14:41:56 [INFO] [STDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      2013-07-23 14:41:56 [INFO] [STDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
      2013-07-23 14:41:56 [INFO] [STDOUT] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
      2013-07-23 14:41:56 [INFO] [STDOUT] at java.lang.reflect.Method.invoke(Unknown Source)
      2013-07-23 14:41:56 [INFO] [STDOUT] at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:74)
      2013-07-23 14:41:56 [INFO] [STDOUT] at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)
      2013-07-23 14:41:56 [INFO] [STDOUT] at com.google.common.eventbus.EventBus.dispatch(EventBus.java:313)
      2013-07-23 14:41:56 [INFO] [STDOUT] at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:296)
      2013-07-23 14:41:56 [INFO] [STDOUT] at com.google.common.eventbus.EventBus.post(EventBus.java:267)
      2013-07-23 14:41:56 [INFO] [STDOUT] at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:104)
      2013-07-23 14:41:56 [INFO] [STDOUT] at cpw.mods.fml.common.Loader.loadMods(Loader.java:521)
      2013-07-23 14:41:56 [INFO] [STDOUT] at cpw.mods.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:172)
      2013-07-23 14:41:56 [INFO] [STDOUT] at net.minecraft.client.Minecraft.startGame(Minecraft.java:470)
      2013-07-23 14:41:56 [INFO] [STDOUT] at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:796)
      2013-07-23 14:41:56 [INFO] [STDOUT] at net.minecraft.client.main.Main.main(Main.java:93)
      2013-07-23 14:41:56 [INFO] [STDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      2013-07-23 14:41:56 [INFO] [STDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
      2013-07-23 14:41:56 [INFO] [STDOUT] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
      2013-07-23 14:41:56 [INFO] [STDOUT] at java.lang.reflect.Method.invoke(Unknown Source)
      2013-07-23 14:41:56 [INFO] [STDOUT] at net.minecraft.launchwrapper.Launch.launch(Launch.java:57)
      2013-07-23 14:41:56 [INFO] [STDOUT] at net.minecraft.launchwrapper.Launch.main(Launch.java:18)
      2013-07-23 14:41:56 [INFO] [STDOUT] Caused by: java.lang.NullPointerException
      2013-07-23 14:41:56 [INFO] [STDOUT] at cpw.mods.fml.common.registry.ItemData.setName(ItemData.java:158)
      2013-07-23 14:41:56 [INFO] [STDOUT] at cpw.mods.fml.common.registry.GameData.setName(GameData.java:255)
      2013-07-23 14:41:56 [INFO] [STDOUT] at cpw.mods.fml.common.registry.GameRegistry.registerItem(GameRegistry.java:150)
      2013-07-23 14:41:56 [INFO] [STDOUT] at cpw.mods.fml.common.registry.GameRegistry.registerBlock(GameRegistry.java:227)
      2013-07-23 14:41:56 [INFO] [STDOUT] … 38 more
      2013-07-23 14:41:56 [INFO] [STDOUT]
      2013-07-23 14:41:56 [INFO] [STDOUT]
      2013-07-23 14:41:56 [INFO] [STDOUT] A detailed walkthrough of the error, its code path and all known details is as follows:
      2013-07-23 14:41:56 [INFO] [STDOUT] –-------------------------------------------------------------------------------------
      2013-07-23 14:41:56 [INFO] [STDOUT]
      2013-07-23 14:41:56 [INFO] [STDOUT] – System Details --
      2013-07-23 14:41:56 [INFO] [STDOUT] Details:
      2013-07-23 14:41:56 [INFO] [STDOUT] Minecraft Version: 1.6.2
      2013-07-23 14:41:56 [INFO] [STDOUT] Operating System: Windows 7 (x86) version 6.1
      2013-07-23 14:41:56 [INFO] [STDOUT] Java Version: 1.7.0_25, Oracle Corporation
      2013-07-23 14:41:56 [INFO] [STDOUT] Java VM Version: Java HotSpot(TM) Client VM (mixed mode), Oracle Corporation
      2013-07-23 14:41:56 [INFO] [STDOUT] Memory: 930898024 bytes (887 MB) / 1060372480 bytes (1011 MB) up to 1060372480 bytes (1011 MB)
      2013-07-23 14:41:56 [INFO] [STDOUT] JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M
      2013-07-23 14:41:56 [INFO] [STDOUT] AABB Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
      2013-07-23 14:41:56 [INFO] [STDOUT] Suspicious classes: FML and Forge are installed
      2013-07-23 14:41:56 [INFO] [STDOUT] IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
      2013-07-23 14:41:56 [INFO] [STDOUT] FML: MCP v8.04 FML v6.2.19.789 Minecraft Forge 9.10.0.789 4 mods loaded, 4 mods active
      2013-07-23 14:41:56 [INFO] [STDOUT] mcp{8.04} [Minecraft Coder Pack] (minecraft.jar) Unloaded->Constructed->Pre-initialized
      2013-07-23 14:41:56 [INFO] [STDOUT] FML{6.2.19.789} [Forge Mod Loader] (coremods) Unloaded->Constructed->Pre-initialized
      2013-07-23 14:41:56 [INFO] [STDOUT] Forge{9.10.0.789} [Minecraft Forge] (coremods) Unloaded->Constructed->Pre-initialized
      2013-07-23 14:41:56 [INFO] [STDOUT] WiremodCore{1.0} [Wirestone Core] (bin) Unloaded->Constructed->Errored
      2013-07-23 14:41:56 [INFO] [STDOUT] #@!@# Game crashed! Crash report saved to: #@!@# C:\Users\Arthur\Documents\Dropbox\Programmation\Java\forge-9.10.0.789\mcp\jars\.\crash-reports\crash-2013-07-23_14.41.56-client.txt
      AL lib: (EE) alc_cleanup: 1 device not closed
      
      

      Travaille sur un super serveur, Wirestone.

      1 réponse Dernière réponse Répondre Citer 0
      • robin4002R Hors-ligne
        robin4002 Moddeurs confirmés Rédacteurs Administrateurs
        dernière édition par

        Les balises code sont plus lisible que quote.
        @Mod(modid = “WiremodCore” ….
        GameRegistry.registerBlock(DoorBlock, ItemBlockDoorBlock.class, “DoorBlock”, “WirestoneCore”);
        Heureusement que j’ai précisé qu’il faut mettre le modid ^^

        1 réponse Dernière réponse Répondre Citer 0
        • EclipseOnFireE Hors-ligne
          EclipseOnFire
          dernière édition par

          Je le crois pas !! :honte: :s

          Merci beaucoup ! Heu du coup tu peux supprimer mes messages nan ? Ca fait un peu désordre dans le topic du tutoriel ^^

          Quand j’y pense… L’erreur la plus idiote du monde et en plus j’ai re-vérifié 5 fois avant de poster ce message 😮

          Travaille sur un super serveur, Wirestone.

          1 réponse Dernière réponse Répondre Citer 0
          • kevin_68K Hors-ligne
            kevin_68 Moddeurs confirmés
            dernière édition par

            Les balises code sont plus lisible que quote.

            Les balise code_java sont plus lisible que code


            Mettez à jours vers la dernière version stable (1.8.9 voir même…

            1 réponse Dernière réponse Répondre Citer 0
            • EclipseOnFireE Hors-ligne
              EclipseOnFire
              dernière édition par

              Heu tu les utilises comment ?

              Travaille sur un super serveur, Wirestone.

              1 réponse Dernière réponse Répondre Citer 0
              • robin4002R Hors-ligne
                robin4002 Moddeurs confirmés Rédacteurs Administrateurs
                dernière édition par

                (code_java) mais avec des crochets. Mais il faudrait encore l’améliorer, car il déforme le forum si le code est trop long.

                1 réponse Dernière réponse Répondre Citer 0
                • EclipseOnFireE Hors-ligne
                  EclipseOnFire
                  dernière édition par

                  ha oui en effet le code java est beaucoup mieux, je vais le mettre sur mon tuto.

                  Travaille sur un super serveur, Wirestone.

                  1 réponse Dernière réponse Répondre Citer 0
                  • U Hors-ligne
                    ulysse1976
                    dernière édition par

                    Salut,

                    Voila je me sent plus a l’aise avec le “modding” et java en general.

                    Aussi en tant que développeur il y a une chose qui me chiffonne dans ton code. c’est la répétition des lignes de code . Aussi je propose un code alternatif qui apporte deux chose:

                    • une classe unique pour tout les block
                    • toute les variables sont initialisé dans la classe principal du mod

                    Voici la classe MyBlock pour tout les block

                    
                    public class MyBlock extends Block
                    {
                    private String dossierResource = null;
                    public String[] type; //Important "type" n'est plus static.
                    private Icon[] IconArray;
                    
                    public UlBlock(String pNom, int pId, Material pMaterial,float pDureté ,float pRésistance,StepSound Son, String pDossierResource,String[] pType)
                    {
                    super(pId, pMaterial);
                    this.dossierResource =pDossierResource;
                    this.setCreativeTab(CreativeTabs.tabBlock);
                    this.setHardness(pDureté).setResistance(pRésistance).setStepSound(Son).setUnlocalizedName(pNom);
                    this.type = pType;
                    }
                    
                    public void registerIcons(IconRegister iconregister)
                    {
                    IconArray = new Icon[type.length];
                    for(int i = 0; i < type.length; i++)
                    {
                    IconArray* = iconregister.registerIcon(dossierResource.toLowerCase()+":" + type*);
                    }
                    }
                    
                    @SideOnly(Side.CLIENT)
                    public void getSubBlocks(int id, CreativeTabs creativeTabs, List list)
                    {
                    for(int metadata = 0; metadata < type.length; metadata++)
                    {
                    list.add(new ItemStack(id, 1, metadata));
                    }
                    }
                    
                    @SideOnly(Side.CLIENT)
                    public Icon getIcon(int side, int metadata)
                    {
                    if(metadata < type.length && metadata >= 0)
                    return IconArray[metadata];
                    else
                    return IconArray[0];
                    }
                    
                    }
                    
                    

                    Voici les classe ItemBlock
                    Remplacer

                    
                    public String getUnlocalizedName(ItemStack stack)
                    {
                    int metadata = stack.getItemDamage();
                    
                    if(metadata > UlMetal.type.length || metadata < 0)
                    {
                    metadata = 0;
                    }
                    
                    return super.getUnlocalizedName() + "." + UlMetal.type[metadata];
                    }
                    
                    
                    
                    public class ModTutoriel
                    {
                    […]
                    
                    public static String[] typePierre = new String[]{"block1", "block2", "block3", "block4", "block5", "block6", "block7", "block8"};
                    
                    //Blocks
                    public static Block UlPierre;
                    
                    […]
                    
                    @EventHandler
                    public void PreInit(FMLPreInitializationEvent event)
                    // place des configurations et achievements, compléter et enregistrer nos blocs et items.
                    {
                    //Configuration
                    
                    //Son
                    
                    //Onglet créative
                    
                    //Blocks
                    TutorialMetadata= new TutorialMetadata("TutorialMetadata", 2001,Material.rock,2.0F,10.0F,Block.soundStoneFootstep,"ModTutoriel","alMetadata",typePierre);
                    
                    //Enregistrement des blocs - Blocks registry
                    GameRegistry.registerBlock(TutorialMetadata, UlItemMetadata.class, "UlItemMetadata", "ModTutoriel");;
                    
                    //Items
                    
                    //Enregistrement des Items - Items registry
                    
                    //Achievements
                    }
                    
                    @EventHandler
                    public void Init(FMLInitializationEvent event)
                    //enregistrement des tileEntity, des Entity, des rendu, etc
                    {
                    ///////////////////////////////////////////////////////////////////////////////
                    
                    //Registry
                    
                    //Mobs
                    
                    //Render
                    proxy.registerRender();
                    
                    //NetWork
                    
                    //Recipe
                    //GameRegistry.addRecipe(new ItemStack(BlockTutorial), new Object[]{"XXX", "ZYZ", "XXX", 'X', Block.blockLapis, 'Y', new ItemStack(Item.dyePowder, 1, 15), 'Z', new ItemStack(Item.dyePowder, 1, 6)});
                    //GameRegistry.addRecipe(new ItemStack(UlPierre, 4, 2), new Object[]{"XXX", "XXX", " ", 'X', Block.stone});
                    //GameRegistry.addRecipe(new ItemStack(UlSable, 4, 1), new Object[]{"XXX", "XXX", 'X', Block.dirt});
                    
                    for(int i = 0; i < 16; i++)
                    {
                    GameRegistry.addShapelessRecipe(new ItemStack(UlPierre, 1, i), new Object[]{ Block.stone, new ItemStack(UlColorant, 1, i)});
                    GameRegistry.addShapelessRecipe(new ItemStack(UlMetal, 1, i), new Object[]{ Block.blockIron , new ItemStack(UlColorant, 1, i)});
                    GameRegistry.addShapelessRecipe(new ItemStack(UlSable, 1, i), new Object[]{ Block.sand , new ItemStack(UlColorant, 1, i)});
                    GameRegistry.addShapelessRecipe(new ItemStack(UlVerre, 1, i), new Object[]{ Block.glass , new ItemStack(UlColorant, 1, i)});
                    
                    }
                    
                    }
                    
                    @EventHandler
                    public void PostInit(FMLPostInitializationEvent event)
                    //enregistrements de langages ou de recettes
                    {
                    //Intégration avec les autres mods
                    
                    }
                    
                    

                    ma vie de minecraftien: Ulyssecraft

                    1 réponse Dernière réponse Répondre Citer 0
                    • U Hors-ligne
                      ulysse1976
                      dernière édition par robin4002

                      Salut,

                      Voila je me sent plus a l’aise avec le “modding” et java en general.

                      Aussi en tant que développeur il y a une chose qui me chiffonne dans ton code. c’est la répétition des lignes de code . Aussi je propose un code alternatif qui apporte deux chose:

                      • une classe unique pour tout les block
                      • toute les variables sont initialisé dans la classe principal du mod

                      Voici la classe MyBlock pour tout les block

                      public class MyBlock extends Block
                      {
                          private String dossierResource = null;
                          public String[] type; // Important "type" n'est plus static.
                          private Icon[] IconArray;
                      
                          public MyBlock(String pNom, int pId, Material pMaterial, float pDureté, float pRésistance, StepSound Son, String pDossierResource, String[] pType)
                          {
                              super(pId, pMaterial);
                              this.dossierResource = pDossierResource;
                              this.setCreativeTab(CreativeTabs.tabBlock);
                              this.setHardness(pDureté).setResistance(pRésistance).setStepSound(Son).setUnlocalizedName(pNom);
                              this.type = pType;
                          }
                      
                          public void registerIcons(IconRegister iconregister)
                          {
                              IconArray = new Icon[type.length];
                              for(int i = 0; i < type.length; i++)
                              {
                                  IconArray[i] = iconregister.registerIcon(dossierResource.toLowerCase() + ":" + type[i]);
                              }
                          }
                      
                          @SideOnly(Side.CLIENT)
                          public void getSubBlocks(int id, CreativeTabs creativeTabs, List list)
                          {
                              for(int metadata = 0; metadata < type.length; metadata++)
                              {
                                  list.add(new ItemStack(id, 1, metadata));
                              }
                          }
                      
                          @SideOnly(Side.CLIENT)
                          public Icon getIcon(int side, int metadata)
                          {
                              if(metadata < type.length && metadata >= 0)
                                  return IconArray[metadata];
                              else
                                  return IconArray[0];
                          }
                      
                      }
                      

                      Pour les classe ItemBlock, remplacer:

                          public String getUnlocalizedName(ItemStack stack)
                          {
                              int metadata = stack.getItemDamage();
                              if(metadata > BlockTutorialMetadata.type.length || metadata < 0)
                              {
                                  metadata = 0;
                              }
                              return super.getUnlocalizedName() + "." + BlockTutorialMetadata.type[metadata];
                          }
                      

                      par :

                          public String getUnlocalizedName(ItemStack stack)
                          {
                              int metadata = stack.getItemDamage();
                              if(metadata > BlockTutorialMetadata.type.length || metadata < 0)
                              {
                                  metadata = 0;
                              }
                              return super.getUnlocalizedName() + "." + ModTutoriel.type[metadata];
                          }
                      

                      En faite je deplace le tableau “Type” dans la classe du mod

                      voici la classe du mod

                      public class ModTutoriel
                      {
                      […]
                      
                      public static String[] typeBlock = new String[]{"block1", "block2", "block3", "block4", "block5", "block6", "block7", "block8"};
                      
                      //Blocks
                      public static Block UlPierre;
                      
                      […]
                      
                      @EventHandler
                      public void PreInit(FMLPreInitializationEvent event)
                      // place des configurations et achievements, compléter et enregistrer nos blocs et items.
                      {
                      //Configuration
                      
                      //Son
                      
                      //Onglet créative
                      
                      //Blocks
                      TutorialMetadata= new MyBlock("TutorialMetadata", 2001,Material.rock,2.0F,10.0F,Block.soundStoneFootstep,"ModTutoriel","alMetadata",typeBlock );
                      
                      //Enregistrement des blocs - Blocks registry
                      GameRegistry.registerBlock(TutorialMetadata, ItemBlockTutorialMetadata.class, "TutorialMetadata", "ModTutoriel");;
                      
                      […]
                      

                      On pourrait pousser le vis en faisant une seul classe pour les block simples et les block metadata en détectant si le tableau “Type” est null ou vide par exemple

                      J’avais penser faire la même chose avec les classe “ItemBlock” mais c’est un tit peut plus difficile puisque apparemment elles sont instancier a la volé .

                      voila voila voila , je sais pas si ca va être utile mais je suis plutôt contant de moi 😛

                      ps: j’espere pas avoir fait d’erreur en transposant mon code avec les nom des variables et classes du tuto d’origine.

                      ma vie de minecraftien: Ulyssecraft

                      1 réponse Dernière réponse Répondre Citer 0
                      • robin4002R Hors-ligne
                        robin4002 Moddeurs confirmés Rédacteurs Administrateurs
                        dernière édition par

                        J’ai mis des code_java pour une meilleur lisibilité (il faudrait que je vois avec Woryk pour les améliorer encore aussi, barre défilante sur le codé et éviter les déformations avec les codes trop long)

                        Par contre tu as dû te fail avec l’ItemBlock, car je ne vois pas de différence (et du fait que type n’est plus static il me semble que ça peut pas marcher avec le code actuelle)

                        Ton code pourra être utile pour de nombreuse personne, je le laisse donc. En revanche, je préfère avoir une classe par bloc pour les autres fonctions que nous verrons plus tard pour rendre le bloc plus complexe.

                        1 réponse Dernière réponse Répondre Citer 0
                        • EclipseOnFireE Hors-ligne
                          EclipseOnFire
                          dernière édition par

                          ulysse je comprend tout à fait ton point de vue mais je pense que si les développeurs de Mojang ont choisi de faire une classe/bloc c’est pas pour rien. Ce ne sont pourtant pas des débutants en programmation.
                          Je ne comprend pas pourquoi moi non plus mais il doit bien y avoir une raison 🙂

                          Travaille sur un super serveur, Wirestone.

                          1 réponse Dernière réponse Répondre Citer 0
                          • kevin_68K Hors-ligne
                            kevin_68 Moddeurs confirmés
                            dernière édition par

                            Je ne comprend pas pourquoi moi non plus mais il doit bien y avoir une raison

                            Sans doute s’ils veulent faire une modification sur un bloc qui nécessite un changement de l’extension


                            Mettez à jours vers la dernière version stable (1.8.9 voir même…

                            1 réponse Dernière réponse Répondre Citer 0
                            • EclipseOnFireE Hors-ligne
                              EclipseOnFire
                              dernière édition par

                              Peut être… Ou alors pour mieux s’y retrouver, je sais pas.

                              Travaille sur un super serveur, Wirestone.

                              1 réponse Dernière réponse Répondre Citer 0
                              • U Hors-ligne
                                ulysse1976
                                dernière édition par

                                @‘robin4002’:

                                J’ai mis des code_java pour une meilleur lisibilité (il faudrait que je vois avec Woryk pour les améliorer encore aussi, barre défilante sur le codé et éviter les déformations avec les codes trop long)

                                Tu parle de balises pour écrire le code dans les post ?

                                @‘robin4002’:

                                Par contre tu as dû te fail avec l’ItemBlock, car je ne vois pas de différence (et du fait que type n’est plus static il me semble que ça peut pas marcher avec le code actuelle)

                                effectivement c’est pas TutorialMetedata (la classe du block) mais ModTutoriel ( classe du mod ) . J’ai rectifier dans le post . Et apparemment ca marche chez moi aussi non je ne me serait pas permis d’avoir publié ce code.

                                Pas évident de faire un post comme ca , je suis encore loin de pouvoir rédiger des tutu comme toi , mais ca viendra .

                                ma vie de minecraftien: Ulyssecraft

                                1 réponse Dernière réponse Répondre Citer 0
                                • robin4002R Hors-ligne
                                  robin4002 Moddeurs confirmés Rédacteurs Administrateurs
                                  dernière édition par

                                  Oui les balises dans le postes.
                                  Et pour le code, comme ça oui ça fonctionne, mais sans la avant que tu rectifie la modification de l’ItemBlock ça pouvait pas fonctionner

                                  1 réponse Dernière réponse Répondre Citer 0
                                  • U Hors-ligne
                                    ulysse1976
                                    dernière édition par

                                    @‘EclipseOnFire’:

                                    ulysse je comprend tout à fait ton point de vue mais je pense que si les développeurs de Mojang ont choisi de faire une classe/bloc c’est pas pour rien. Ce ne sont pourtant pas des débutants en programmation.
                                    Je ne comprend pas pourquoi moi non plus mais il doit bien y avoir une raison 🙂

                                    Non mais la se sont des classes qui sont écrites par nous même il n’est pas question de changer la classe Block de Majong.

                                    ma vie de minecraftien: Ulyssecraft

                                    1 réponse Dernière réponse Répondre Citer 0
                                    • kevin_68K Hors-ligne
                                      kevin_68 Moddeurs confirmés
                                      dernière édition par

                                      Petity fail:

                                      Majong

                                      c’est un jeu, c’est pas la même chose que Mojang


                                      Mettez à jours vers la dernière version stable (1.8.9 voir même…

                                      1 réponse Dernière réponse Répondre Citer 0
                                      • U Hors-ligne
                                        ulysse1976
                                        dernière édition par

                                        oups fourchage de doigts 😛

                                        ma vie de minecraftien: Ulyssecraft

                                        1 réponse Dernière réponse Répondre Citer 0
                                        • EclipseOnFireE Hors-ligne
                                          EclipseOnFire
                                          dernière édition par

                                          Non je ne parle pas de modifier. Je parle de suivre l’exemple initial. Je voulais dire que si les développeurs de Mojang ont décidé de faire un bloc/classe c’est pour une bonne raison, et je pense que l’on devrait suivre cette démarche 🙂 (Attention, je ne dis pas que ton code est nul/mauvais/inutile !)

                                          Travaille sur un super serveur, Wirestone.

                                          1 réponse Dernière réponse Répondre Citer 0
                                          • P Hors-ligne
                                            PoLePanda
                                            dernière édition par

                                            Quelque questions … Comment on ajoute des propriété a nos blocs dans les metadata ?

                                            du genre :

                                            
                                            public int quantityDropped(Random par1Random)
                                            {
                                            return 0;
                                            }
                                            
                                            public int getRenderBlockPass()
                                            {
                                            return 0;
                                            }
                                            
                                            public boolean isOpaqueCube()
                                            {
                                            return false;
                                            }
                                            
                                            public boolean renderAsNormalBlock()
                                            {
                                            return false;
                                            }
                                            
                                            

                                            Ou tout les propriété lister ici : Customiser votre bloc ?

                                            Merci de vos réponse !

                                            1 réponse Dernière réponse Répondre Citer 0
                                            • 1
                                            • 2
                                            • 3
                                            • 1 / 3
                                            • Premier message
                                              Dernier message
                                            Design by Woryk
                                            ContactMentions Légales

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB