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
Problème #3: En 1.6.4, pour remplacer le menu principal, j
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>