Résolu Problème affichage de texture
-
Bonjour
J’ai crée un bloc simple, quand le bloc est dans ma hotbar (donc sous forme d’item) la texture s’affiche. En revanche quand le bloc est placé la texture ne s’affiche pas. Voila mes fichiers JSON :
Le blockstates
{ "variant":{ "normal":{ "model": "modid:ruby_block" } } }
Le model/block
{ "parent": "block/cube_all", "textures": { "all": "modid:blocks/ruby_block" } }
-
Salut,
Il faut aussi faire un json dans model/item
-
Ah oui j’en ai fais un aussi :
{ "parent": "modid:block/ruby_block" }
Mais ca ne marche toujours pas
-
Dans ton code tu as mis la fonction
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(<tonBlock>), <metadata>, new ModelResourceLocation("<nom du fichier json", "inventory"))
?Il là faut, dans l’event
ModelRegistryEvent
. -
@robin4002 Oui je viens de regarder elle est bien là, que faire ?
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(Block), 0, new ModelResourceLocation(new ResourceLocation(Refs.MODID, Block.getUnlocalizedName().substring(5)), "inentory"));
-
@Gregoirelpv a dit dans Problème affichage de texture :
inentory
Tu as une erreur ici. Cela devrait être inventory
-
@robin4002 Merci, maiiis ça n’a rien changé
-
Tu peux envoyer la classe complète où se trouve ta fonction setCustomModelResourceLocation ?
-
package com.kowze.kowzemodv1.init; import java.util.List; import com.google.common.collect.Lists; import com.kowze.kowzemodv1.blocks.loadBlock; import com.kowze.kowzemodv1.utils.Refs; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.block.model.ModelResourceLocation; import net.minecraft.item.Item; import net.minecraft.item.ItemBlock; import net.minecraft.util.ResourceLocation; import net.minecraftforge.client.event.ModelRegistryEvent; import net.minecraftforge.client.model.ModelLoader; import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; import net.minecraftforge.fml.common.registry.GameRegistry; public class ModBlocks { public static final ModBlocks INSTANCE = new ModBlocks(); public static Block ruby_block; public static Block dark_iron_block; public static Block ruby_ore; private List<Block> Blocks; public void init() { Blocks = Lists.newArrayList(); ruby_block = new loadBlock("ruby_block", Material.IRON, 5.0F, 10.0F, 1, "pickaxe"); dark_iron_block = new loadBlock("dark_iron_block", Material.IRON, 5.0F, 10.0F, 1, "pickaxe"); ruby_ore = new loadBlock("ruby_ore", Material.IRON, 5.0F, 10.0F, 2, "pickaxe"); } @SubscribeEvent public void registerModels(ModelRegistryEvent e) { for(Block b : Blocks) { registerModel(b); } } public void registerModel(Block Block) { ItemBlock ib = new ItemBlock(Block); ib.setRegistryName(Block.getRegistryName()); GameRegistry.findRegistry(Item.class).register(ib); ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(Block), 0, new ModelResourceLocation(new ResourceLocation(Refs.MODID, Block.getUnlocalizedName().substring(5)), "inventory")); } public List<Block> getBlocks() { return Blocks; } }
-
Comme dit dans l’autre discussion le problème est le même ici, ta classe n’est surement pas enregistré comme classe d’event, donc ModelRegistryEvent n’est jamais appelé.