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>