Créer un Block similaire au Block Barrier
-
Il faut que tu utilises les jsons (il y a tuto sur le forum) pour mettre ta texture.
Envoyé via mobile
-
@‘AymericRed’:
Il faut que tu utilises les jsons (il y a tuto sur le forum) pour mettre ta texture.
Envoyé via mobile
Mais le problème c’est que le block à déjà un json, je veux dire la texture est déjà mise sur le block, que ce soit dans le models ou dans blockstates les json du block y sont donc aurai-je oublier un autre jsons ?
-
Regardes dans les logs, car si la texture est violette et noire, c’est que tu as du te tromper dans le nom d’un fichier.
-
@‘AymericRed’:
Regardes dans les logs, car si la texture est violette et noire, c’est que tu as du te tromper dans le nom d’un fichier.
Je vois bien qu’il y a un problème dans les textures mais je sais pas c’est dû à quoi et comment le régler, tient si tu veux un passage de la log montrant la texture qui ne charge pas. Peux-tu me dire pourquoi celle-ci ne charge pas et comment régler ça ?
[12:23:35] [Client thread/ERROR] [FML]: Exception loading model for variant adamantium:BlockLumineux#visible=false for blockstate “adamantium:BlockLumineux[visible=false]”
net.minecraftforge.client.model.ModelLoaderRegistry$LoaderException: Exception loading model adamantium:BlockLumineux#visible=false with loader VariantLoader.INSTANCE, skipping
at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:153) ~[ModelLoaderRegistry.class:?]
at net.minecraftforge.client.model.ModelLoader.registerVariant(ModelLoader.java:241) ~[ModelLoader.class:?]
at net.minecraft.client.renderer.block.model.ModelBakery.loadBlock(ModelBakery.java:145) ~[ModelBakery.class:?]
at net.minecraftforge.client.model.ModelLoader.loadBlocks(ModelLoader.java:229) ~[ModelLoader.class:?]
at net.minecraftforge.client.model.ModelLoader.setupModelRegistry(ModelLoader.java:146) ~[ModelLoader.class:?]
at net.minecraft.client.renderer.block.model.ModelManager.onResourceManagerReload(ModelManager.java:28) [ModelManager.class:?]
at net.minecraft.client.resources.SimpleReloadableResourceManager.notifyReloadListeners(SimpleReloadableResourceManager.java:132) [SimpleReloadableResourceManager.class:?]
at net.minecraft.client.resources.SimpleReloadableResourceManager.reloadResources(SimpleReloadableResourceManager.java:113) [SimpleReloadableResourceManager.class:?]
at net.minecraft.client.Minecraft.refreshResources(Minecraft.java:799) [Minecraft.class:?]
at net.minecraftforge.fml.client.FMLClientHandler.finishMinecraftLoading(FMLClientHandler.java:338) [FMLClientHandler.class:?]
at net.minecraft.client.Minecraft.startGame(Minecraft.java:561) [Minecraft.class:?]
at net.minecraft.client.Minecraft.run(Minecraft.java:386) [Minecraft.class:?]
at net.minecraft.client.main.Main.main(Main.java:118) [Main.class:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_101]
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_101]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_101]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_101]
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.12.jar:?]
at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.12.jar:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_101]
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_101]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_101]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_101]
at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [start/:?]
at GradleStart.main(GradleStart.java:26) [start/:?]
Caused by: net.minecraft.client.renderer.block.model.ModelBlockDefinition$MissingVariantException
at net.minecraft.client.renderer.block.model.ModelBlockDefinition.getVariant(ModelBlockDefinition.java:78) ~[ModelBlockDefinition.class:?]
at net.minecraftforge.client.model.ModelLoader$VariantLoader.loadModel(ModelLoader.java:1183) ~[ModelLoader$VariantLoader.class:?]
at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:149) ~[ModelLoaderRegistry.class:?]
… 24 more -
Le truc est que tu as te states différents qui ne sont pas spécifiés dans ton fichier json de blockstates, il faut que tu mettes une ligne pour visible=false et une pour visible=true. (On peut aussi ignorer le state au rendu mais je n’ai pas le code sous la main)
Envoyé via mobile
-
En gros comme a dit Aymeric il faut que ton JSON ressemble à ça :
{ "variants": { "visible=true": { "model": "modid:tonModel" }, "visible=false": { "model": "modid:tonModel" } } }Je ne crois pas m’être trompé, je n’ai pas vérifié mais ça devrait aller
-
Ou alors il faut lui indiquer d’ignorer l’état de bloc visible. Il y a une fonction pour ça mais je ne me souvient pas de son nom.
-
Je crois que c’est ModelLoader.setCustomStateMapper(Block, IStateMapper)
-
@‘BrokenSwing’:
Je crois que c’est ModelLoader.setCustomStateMapper(Block, IStateMapper)
Du coup je fais comme vous pouvez m’expliquer ? par ce que le blockstate je vois pas comment faire du coup ?
parce que pour le visible=false ça marche comment ?
{
“variants”: {
“visible=true”: {
“model”: “adamantium:BlockLumineux”
},
“visible=false”: {
“model”: “???”
}
}
} -
Tu met un bloc avec une texture transparente
-
Normalement la fonction getRenderType permet déjà de ne plus rien rendre si le return est EnumBlockRenderType.INVISIBLE.
-
@‘BrokenSwing’:
Tu met un bloc avec une texture transparente
ça ne marche toujours pas même si je remplace par un block qui est invisible, ça reste la même chose
-
@‘BrokenSwing’:
Tu met un bloc avec une texture transparente
Bon la texture visible apparait mais la invisible ne fonctionne pas donc le block reste toujours visible
-
Il y a bien un changement de state lorsque tu prend le bloc dans tes mains et que tu l’enlève ? Pour tester mais des messages de debug. As-tu des messages d’erreur dans tes logs ?
-
@‘BrokenSwing’:
Il y a bien un changement de state lorsque tu prend le bloc dans tes mains et que tu l’enlève ? Pour tester mais des messages de debug. As-tu des messages d’erreur dans tes logs ?
Non je ne vois pas de changement de state , et toujours des messages de ce genre dans la logs :
[17:15:34] [Client thread/ERROR] [FML]: Exception loading model for variant adamantium:Texture#normal for blockstate “adamantium:Texture”
net.minecraftforge.client.model.ModelLoaderRegistry$LoaderException: Exception loading model adamantium:Texture#normal with loader VariantLoader.INSTANCE, skipping
at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:153) ~[ModelLoaderRegistry.class:?]
at net.minecraftforge.client.model.ModelLoader.registerVariant(ModelLoader.java:241) ~[ModelLoader.class:?]
at net.minecraft.client.renderer.block.model.ModelBakery.loadBlock(ModelBakery.java:145) ~[ModelBakery.class:?]
at net.minecraftforge.client.model.ModelLoader.loadBlocks(ModelLoader.java:229) ~[ModelLoader.class:?]
at net.minecraftforge.client.model.ModelLoader.setupModelRegistry(ModelLoader.java:146) ~[ModelLoader.class:?]
at net.minecraft.client.renderer.block.model.ModelManager.onResourceManagerReload(ModelManager.java:28) [ModelManager.class:?]
at net.minecraft.client.resources.SimpleReloadableResourceManager.notifyReloadListeners(SimpleReloadableResourceManager.java:132) [SimpleReloadableResourceManager.class:?]
at net.minecraft.client.resources.SimpleReloadableResourceManager.reloadResources(SimpleReloadableResourceManager.java:113) [SimpleReloadableResourceManager.class:?]
at net.minecraft.client.Minecraft.refreshResources(Minecraft.java:799) [Minecraft.class:?]
at net.minecraftforge.fml.client.FMLClientHandler.finishMinecraftLoading(FMLClientHandler.java:338) [FMLClientHandler.class:?]
at net.minecraft.client.Minecraft.startGame(Minecraft.java:561) [Minecraft.class:?]
at net.minecraft.client.Minecraft.run(Minecraft.java:386) [Minecraft.class:?]
at net.minecraft.client.main.Main.main(Main.java:118) [Main.class:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_101]
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_101]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_101]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_101]
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.12.jar:?]
at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.12.jar:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_101]
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_101]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_101]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_101]
at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [start/:?]
at GradleStart.main(GradleStart.java:26) [start/:?]
Caused by: net.minecraft.client.renderer.block.model.ModelBlockDefinition$MissingVariantException
at net.minecraft.client.renderer.block.model.ModelBlockDefinition.getVariant(ModelBlockDefinition.java:78) ~[ModelBlockDefinition.class:?]
at net.minecraftforge.client.model.ModelLoader$VariantLoader.loadModel(ModelLoader.java:1183) ~[ModelLoader$VariantLoader.class:?]
at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:149) ~[ModelLoaderRegistry.class:?]
… 24 more -
Tu as un bloc qui s’appelle Texture ?
-
@‘BrokenSwing’:
Tu as un bloc qui s’appelle Texture ?
Euh oui j’ai un Block qui s’appelle Texture c’est pour un test
-
Fait un debug de la fonction getActualState avec des print de partout puis dit-nous ce qui ne va pas
-
Mets ton curseur sur le bloc, appuies sur F3, l’état de bloc visible vaut quelle valeur ?
-
@‘robin4002’:
Mets ton curseur sur le bloc, appuies sur F3, l’état de bloc visible vaut quelle valeur ?
visible : false