6 mars 2014, 00:32

Salut à vous,

Depuis l’arrivée de Forge en 1.7… J’ai quelques petits problèmes avec mon mod…
Version de Forge: 1.7.2-10.12.0.1024
Ma classe principale:

package fr.mrsamhalo.taherservmod;

import io.netty.handler.codec.http.HttpHeaders.Names;

import org.apache.logging.log4j.message.MapMessage.MapFormat;

import net.minecraft.client.Minecraft;
import net.minecraft.item.Item;
import net.minecraft.item.Item.ToolMaterial;
import net.minecraft.item.ItemAxe;
import net.minecraft.item.ItemHoe;
import net.minecraft.item.ItemPickaxe;
import net.minecraft.item.ItemSpade;
import net.minecraft.item.ItemSword;
import net.minecraftforge.common.config.Configuration;
import net.minecraftforge.common.util.EnumHelper;
import cpw.mods.fml.common.FMLCommonHandler;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.EventHandler;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.common.gameevent.TickEvent;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.common.registry.LanguageRegistry;
import cpw.mods.fml.relauncher.Side;

@Mod(modid = TaherServMod.MODID, version = TaherServMod.VERSION)
public class TaherServMod
{
   public static final String MODID = "TaherServMod";
   public static final String VERSION = "1.0";

   public static ToolMaterial ObsidianI = EnumHelper.addToolMaterial("ObsidianI", 3, 4683, 11.0F, 6.0F, 10);

   public static Item swordObsi;
   public static Item pickObsi;
   public static Item axeObsi;
   public static Item shovelObsi;
   public static Item hoeObsi;

   @EventHandler
   public void init(FMLInitializationEvent event)
   {
    swordObsi = new ItemSword(ObsidianI).setUnlocalizedName("swordObsi").setTextureName(TaherServMod.MODID + ":swordObsi");
    GameRegistry.registerItem(swordObsi, swordObsi.getUnlocalizedName().substring(5));

    pickObsi = new ItemPickaxe(ObsidianI).setUnlocalizedName("pickObsi").setTextureName(TaherServMod.MODID + ":" + "pickObsi.png");
    GameRegistry.registerItem(pickObsi, pickObsi.getUnlocalizedName().substring(5));

    axeObsi = new ItemAxe(ObsidianI).setUnlocalizedName("axeObsi").setTextureName(TaherServMod.MODID + ":" + "axeObsi.png");
    GameRegistry.registerItem(axeObsi, axeObsi.getUnlocalizedName().substring(5));

    shovelObsi = new ItemSpade(ObsidianI).setUnlocalizedName("shovelObsi").setTextureName(TaherServMod.MODID + ":shovelObsi.png");
    GameRegistry.registerItem(shovelObsi, shovelObsi.getUnlocalizedName().substring(5));

    hoeObsi = new ItemHoe(ObsidianI).setUnlocalizedName("hoeObsi").setTextureName(TaherServMod.MODID + ":hoeObsi.png");
    GameRegistry.registerItem(hoeObsi, hoeObsi.getUnlocalizedName().substring(5));

    FMLCommonHandler.instance().bus().register(new RenderTickHandler(Minecraft.getMinecraft()));
   }
}

Problème #1: Quand j’essai de créer une nouvelle pioche et une nouvelle hache, ça me dit:
"The constructor ItemPickaxe(Item.ToolMaterial) is not visible "
et
"The constructor ItemAxe(Item.ToolMaterial) is not visible "
Code: ```java

pickObsi = new ItemPickaxe(ObsidianI).setUnlocalizedName(“pickObsi”).setTextureName(TaherServMod.MODID + “:” + “pickObsi.png”);
    GameRegistry.registerItem(pickObsi, pickObsi.getUnlocalizedName().substring(5));

axeObsi = new ItemAxe(ObsidianI).setUnlocalizedName(“axeObsi”).setTextureName(TaherServMod.MODID + “:” + “axeObsi.png”);
    GameRegistry.registerItem(axeObsi, axeObsi.getUnlocalizedName().substring(5));


Problème #2: En jeu, les Items ne chargent pas les textures... J'aimerais savoir où les placer pour que ça fonctionne... En occurence, je les place dans "\ForgeModding1.7.2\src\main\resources\assets\TaherServMod\textures\items"

Problème #3: En 1.6.4, pour remplacer le menu principal, j'utilisais un TickRegistry... (Voici les codes que j'utilisais)
Dans la méthode load de la classe principale:
```java
TickRegistry.registerTickHandler(new TickHandler(), Side.CLIENT);

Dans la classe TickHandler:

package samhalo007.aperixx.gui;

import java.util.EnumSet;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.GuiIngame;
import net.minecraft.client.gui.GuiMainMenu;
import net.minecraft.client.gui.GuiOptions;
import net.minecraft.client.gui.GuiScreen;
import net.minecraft.client.resources.GuiScreenTemporaryResourcePackSelect;
import cpw.mods.fml.client.FMLClientHandler;
import cpw.mods.fml.common.ITickHandler;
import cpw.mods.fml.common.TickType;

public class TickHandler implements ITickHandler {

protected Minecraft mc;
@Override
public void tickStart(EnumSet <ticktype>type, Object... tickData)
{
    if (type.equals(EnumSet.of(TickType.CLIENT)))
{
       Minecraft mc = Minecraft.getMinecraft();
GuiScreen guiscreen = mc.currentScreen;
       GuiAperixxMenu monMenu  = new GuiAperixxMenu();

if (guiscreen instanceof GuiMainMenu && guiscreen != monMenu)
{
mc.displayGuiScreen(monMenu);
}
}
}

   @Override
   public void tickEnd(EnumSet <ticktype>type, Object... tickData)
   {
   }

@Override
public EnumSet <ticktype>ticks() {
return EnumSet.of(TickType.CLIENT);
}

@Override
public String getLabel() {
return getLabel();
}
}

Mais dans la 1.7, ça ne fonctionne pas, j’aimerais savoir si il y a une alternative.

Voilà, j’espère avoir bien fait mon topic d’aide… Merci d’avance !</ticktype></ticktype></ticktype>