Résolu Probléme Texture
-
Bonjour, (c’est re moi )
J’ai créé aujourd’hui un 2éme block en copia,t le code du premier mais le block apparait sans la texture (j’ai un probléme avec les textures :))
Voici l’erreur : Model definition for location modtest:evil_ore#inventory not found
Je me doute que lors du démarrages il ne trouve pas evil_ore “inventory” mais après avoir cherché pas mal de temps et comparé avec mon autre block je n’ai trouvé aucune faute
Ma classe BlocksMod :
package fr.jupiter.mod.blocks; import fr.jupiter.mod.ModTest; import net.minecraft.block.Block; import net.minecraft.block.Block.SoundType; import net.minecraft.block.BlockGrass; import net.minecraft.block.material.Material; import net.minecraft.client.resources.model.ModelResourceLocation; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; import net.minecraftforge.client.model.ModelLoader; import net.minecraftforge.fml.common.registry.GameRegistry; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; public class BlocksMod { public static final Block FallenDirt = new BlockFallenDirt(Material.grass).setCreativeTab(CreativeTabs.tabBlock).setHardness(1.0F).setResistance(65.0F).setUnlocalizedName("fallen_dirt"); public static final Block EvilOre = new BlockFallenDirt(Material.rock).setCreativeTab(CreativeTabs.tabBlock).setHardness(1.5F).setResistance(8.0F).setUnlocalizedName("evil_ore"); public static void registerBlocks(){ GameRegistry.registerBlock(FallenDirt, "fallen_dirt") ; GameRegistry.registerBlock(EvilOre, "evil_ore") ; } @SideOnly(Side.CLIENT) public static void registerBlocksModels(){ ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(FallenDirt), 0, new ModelResourceLocation(ModTest.MODID + ":fallen_dirt", "inventory")); ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(EvilOre), 0, new ModelResourceLocation(ModTest.MODID + ":evil_ore", "inventory")); } }
Ma classe BlockEvilOre :
package fr.jupiter.mod.blocks; import java.util.Random; import fr.jupiter.mod.items.ItemsMod; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.block.state.IBlockState; import net.minecraft.item.Item; public class BlockEvilOre extends Block{ public BlockEvilOre(Material materialIn) { super(materialIn); this.setHarvestLevel("pickaxe", 4); } @Override public Item getItemDropped(IBlockState state, Random rand, int fortune) { return ItemsMod.EvilSword ; } }
Mon fichier model evil_ore.json :
{ "parent": "block/cube_all", "textures": { "all": "modtest:blocks/evil_ore" } }
Merci d’avance !
-
Regarde mon tutoriel sur les jsons qui est dans les tutoriels des membres, j’explique tout dedans
-
Je n’y ai pas trouvé la réponse à mon probléme
-
Salut
Pour les blocks, tu dois avoir 3 fichiers .json : un dans dans le dossier blockstates, un dans le dossier models/block et un dans le dossier models/block. Le json que tu as donné correspond à celui qui doit être placé dans models/item. Il t’en manque deux. -
Celui qu’il a donné est le modèle du bloc et non celui de l’objet
-
Purquoi devrais-je avoir un json dans models/item ? Mon autre blocs marche trés bien sans …
-
@‘BrokenSwing’:
Celui qu’il a donné est le modèle du bloc et non celui de l’objet
Ah oui, désolé c’est que les deux se ressemblent
@‘Jupiter41’:
Purquoi devrais-je avoir un json dans models/item ? Mon autre blocs marche trés bien sans …
Pour qu’il ait un rendu dans l’inventaire. Sinon, ça fait un block violet/noir
-
Le fonctionnement est le suivant :
Quand tu crée un bloc tu as besoin de 2 fichiers JSON pour dire ce qu’il faut afficher :- Le fichier d’état de bloc : il se trouve dans le package assets.modid.blockstates et a le nom sous lequel tu a enregistré ton bloc
- Le fichier du modèle de ton bloc : il se trouve dans le package assets.modid.models.block et a le nom que tu as renseigné dans le fichier d’état de bloc. Ce fichier est celui que tu as donné dans ton premier message.
Ceci est le strict minimum pour avoir un bloc qui soit bien rendu. Si tu veux aussi que ton bloc soit bien affiché dans l’inventaire il te faut mettre dans le package assets.modid.models.item un fichier avec le nom sous lequel est enregistré ton bloc, tu doit aussi enregistrer le rendu de l’item avec ModelLoader.
Pour savoir quoi mettre dans les fichiers il y a mon tutoriel, et tout ce que je viens de dire je le dis aussi dans mon tutoriel
-
Ah oui merde j’avais pas testé juste en posant le bloc
Merci !