Bonjour encore moi, je refais un post car je ne retrouve pas l’ancien.
Alors déjà pour commencer j’ai repris les cours de java sur openclassrooms, et j’ai aussi revu entièrement la manière d’organiser mon mod, avant c’était des organisations que j’avais copier/coller mais là j’ai enfin passé le cap et fais la mienne, qui me semble plus compréhensible et mieux adaptée à mon grand nombre de bloc à ajouter (au moins 500).
Seulement un soucis j’ai une erreur “BlockGeneric cannot be resolved to a type” dans ma classe BlockMinefus
Voici mes classes:
La Classe Principale:
package com.degraduck.modminefus;
import org.apache.logging.log4j.Logger;
import com.degraduck.modminefus.init.BlockMinefus;
import com.degraduck.modminefus.proxy.CommonProxy;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.Mod.EventHandler;
import net.minecraftforge.fml.common.Mod.Instance;
import net.minecraftforge.fml.common.SidedProxy;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
@Mod(modid = Reference.MOD_ID, name = Reference.MOD_NAME, version = Reference.VERSION)
public class ModMinefus {
@SidedProxy(clientSide = Reference.CLIENT_PROXY_CLASS, serverSide = Reference.SERVER_PROXY_CLASS)
public static CommonProxy proxy;
@Instance(Reference.MOD_ID)
public static ModMinefus instance;
public static Logger logger;
@EventHandler
public void preInit(FMLPreInitializationEvent event)
{
proxy.init();
logger = event.getModLog();
BlockMinefus.init();
BlockMinefus.register();
}
@EventHandler
public void init(FMLInitializationEvent event)
{
proxy.registerRenders();
}
@EventHandler
public void postInit(FMLPostInitializationEvent event)
{
}
}
Mon CommonProxy:
package com.degraduck.modminefus.proxy;
import java.io.File;
import net.minecraft.block.Block;
import net.minecraft.item.Item;
public class CommonProxy {
public void registerRenders()
{
}
public void preInit(File configFile)
{
//System.out.println("pre init côté commun");
}
public void init()
{
}
protected void registerItemTexture(Item item, int metadata, String name){}
protected void registerItemTexture(Item item, String name){}
protected void registerBlockTexture(Block block, int metadata, String name){}
protected void registerBlockTexture(Block block, String name){}
}
Mon ClientProxy:
package com.degraduck.modminefus.proxy;
import java.io.File;
import net.minecraft.block.Block;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.ItemModelMesher;
import net.minecraft.client.resources.model.ModelResourceLocation;
import net.minecraft.item.Item;
public class ClientProxy extends CommonProxy {
public void preInit(File configFile)
{
//System.out.println("pre init côté client");
}
public void registerRenders()
{
}
@Override
public void registerItemTexture(Item item, int metadata, String name)
{
ItemModelMesher mesher = Minecraft.getMinecraft().getRenderItem().getItemModelMesher();
mesher.register(item, metadata, new ModelResourceLocation("ModMinefus:" + name, "inventory"));
}
@Override
public void registerItemTexture(Item item, String name)
{
registerItemTexture(item, 0, name);
}
@Override
public void registerBlockTexture(Block block, int metadata, String name)
{
registerItemTexture(Item.getItemFromBlock(block), metadata, name);
}
@Override
public void registerBlockTexture(Block block, String name)
{
registerBlockTexture(block, 0, name);
}
}
La Classe BlockMinefus en question:
package com.degraduck.modminefus.init;
import com.degraduck.modminefus.Reference;
import net.minecraft.block.Block;
import net.minecraft.client.Minecraft;
import net.minecraft.client.resources.model.ModelResourceLocation;
import net.minecraft.item.Item;
import net.minecraftforge.fml.common.registry.GameRegistry;
public class BlockMinefus {
public static Block m_grass;
public static void init()
{
/**Block*/
m_grass = new BlockGeneric(Material.rock).setUnlocalizedName("m_grass");
}
public static void register()
{
GameRegistry.registerBlock(m_grass, "m_grass");
}
}
Et ma Classe BlockGeneric:
package com.degraduck.modminefus.block;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
public class BlockGeneric extends Block {
public BlockGeneric(Material materialIn) {
super(materialIn);
this.setBlockUnbreakable();
this.setResistance(600000);
}
Voilà première fois que je part vraiment de rien pour créer mon mod j’espère qu’il n’y à pas trop d’erreurs.