[Chest] Problème TileEntity chest sur serveur forge
-
Ah j’ai oublié mon autre question est que mon coffre quand je le place ils se met toujours dans le même sens ils ne veut pas faire une rotation voici mon blockstates
{ "variants": { "normal": { "model": "crown:kingonium_block" } "facing=east": { "model": "crown:copper_chest" }, "facing=west": { "model": "crown:copper_chest" }, "facing=north": { "model": "crown:copper_chest" }, "facing=south": { "model": "crown:copper_chest" } } -
@SideOnly sert à indiquer à forge de supprimer la fonction si le runtime n’est pas celui indiqué.
Donc quand tu mets un @SideOnly(Side.CLIENT) la fonction qui se trouve en dessous est supprimé lors du chargement de mod.Pour la rotation, il faut ajouter dans le code de ton TileEntitySpecialRenderer un GlStateManager.rotate en fonction du bloc state.
-
@SideOnly(Side.CLIENT) public class RenderCopperChest extends TileEntitySpecialRenderer<TileEntityCopperChest> { private static final ResourceLocation TEXTURE = new ResourceLocation(Crown.MODID + ":textures/block/copper_chest.png"); private final ModelCopperChest MODEL = new ModelCopperChest(); @Override public void render(TileEntityCopperChest te, double x, double y, double z, float partialTicks, int destroyStage, float alpha) { GlStateManager.enableDepth(); GlStateManager.depthFunc(515); GlStateManager.depthMask(true); ModelCopperChest model = MODEL; if (destroyStage >= 0) { this.bindTexture(DESTROY_STAGES[destroyStage]); GlStateManager.matrixMode(5890); GlStateManager.pushMatrix(); GlStateManager.scale(4.0F, 4.0F, 1.0F); GlStateManager.translate(0.0625F, 0.0625F, 0.0625F); GlStateManager.matrixMode(5888); } else this.bindTexture(TEXTURE); GlStateManager.pushMatrix(); GlStateManager.enableRescaleNormal(); GlStateManager.translate((float)x, (float)y + 1.0F, (float)z + 1.0F); GlStateManager.scale(1.0F, -1.0F, -1.0F); GlStateManager.translate(0.5F, 0.5F, 0.5F); GlStateManager.translate(-0.5F, -0.5F, -0.5F); float f = te.prevLidAngle + (te.lidAngle - te.prevLidAngle) * partialTicks; f = 1.0F - f; f = 1.0F - f * f * f; model.chestLid.rotateAngleX = -(f * ((float)Math.PI / 2F)); model.renderAll(); GlStateManager.disableRescaleNormal(); GlStateManager.popMatrix(); GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F); if (destroyStage >= 0) { GlStateManager.matrixMode(5890); GlStateManager.popMatrix(); GlStateManager.matrixMode(5888); } } }J’ai le GlStateManager et normalement ils doit faire la rotation mais ils ne le fait pas
-
Hum non, je ne vois aucun GlStateManager.rotate dans ton code.
-
Alors j’ai oublier j’ai une classe model
extends ModelBase { public ModelRenderer chestKnob; public ModelRenderer chestLid; public ModelRenderer chestBelow; public ModelCopperChest() { this.textureWidth = 64; this.textureHeight = 64; this.chestBelow = new ModelRenderer(this, 0, 19); this.chestBelow.setRotationPoint(1.0F, 6.0F, 1.0F); this.chestBelow.addBox(0.0F, 0.0F, 0.0F, 14, 10, 14, 0.0F); this.chestKnob = new ModelRenderer(this, 0, 0); this.chestKnob.setRotationPoint(8.0F, 7.0F, 15.0F); this.chestKnob.addBox(-1.0F, -2.0F, -15.0F, 2, 4, 1, 0.0F); this.chestLid = new ModelRenderer(this, 0, 0); this.chestLid.setRotationPoint(1.0F, 7.0F, 15.0F); this.chestLid.addBox(0.0F, -5.0F, -14.0F, 14, 5, 14, 0.0F); } public void renderAll() { this.chestKnob.rotateAngleX = this.chestLid.rotateAngleX; this.chestLid.render(0.0625F); this.chestKnob.render(0.0625F); this.chestBelow.render(0.0625F); } } -
Pour la rotation moi j’ai ça par exemple pour un block à moi:
{ "variants": { "facing=east,half=bottom,shape=straight,hside=left,sneak=false": { "model": "cubeplus:block/acacia_planks_stairs_4steps" }, "facing=west,half=bottom,shape=straight,hside=left,sneak=false": { "model": "cubeplus:block/acacia_planks_stairs_4steps", "y": 180, "uvlock": true }, "facing=south,half=bottom,shape=straight,hside=left,sneak=false": { "model": "cubeplus:block/acacia_planks_stairs_4steps", "y": 90, "uvlock": true }, "facing=north,half=bottom,shape=straight,hside=left,sneak=false": { "model": "cubeplus:block/acacia_planks_stairs_4steps", "y": 270, "uvlock": true },Du coup pour toi ça devrais donner un truc du genre:
{ "variants": { "normal": { "model": "crown:kingonium_block" } "facing=east": { "model": "crown:copper_chest" }, "facing=west": { "model": "crown:copper_chest", "y": 180, "uvlock": true }, "facing=north": { "model": "crown:copper_chest", "y": 270, "uvlock": true }, "facing=south": { "model": "crown:copper_chest", "y": 90, "uvlock": true } }A supposer que le facing=east sois la position de base
! -
Maintenant j’ai cette erreur je pense que le chest je vais le supprimer si sa continue
FML]: Exception loading model for variant crown:copper_chest#normal for blockstate "crown:copper_chest" net.minecraftforge.client.model.ModelLoaderRegistry$LoaderException: Exception loading model crown:copper_chest#normal with loader VariantLoader.INSTANCE, skipping at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:161) ~[ModelLoaderRegistry.class:?] at net.minecraftforge.client.model.ModelLoader.registerVariant(ModelLoader.java:235) ~[ModelLoader.class:?] at net.minecraft.client.renderer.block.model.ModelBakery.loadBlock(ModelBakery.java:153) ~[ModelBakery.class:?] at net.minecraftforge.client.model.ModelLoader.loadBlocks(ModelLoader.java:223) ~[ModelLoader.class:?] at net.minecraftforge.client.model.ModelLoader.setupModelRegistry(ModelLoader.java:150) ~[ModelLoader.class:?] at net.minecraft.client.renderer.block.model.ModelManager.onResourceManagerReload(ModelManager.java:28) [ModelManager.class:?] at net.minecraft.client.resources.SimpleReloadableResourceManager.registerReloadListener(SimpleReloadableResourceManager.java:121) [SimpleReloadableResourceManager.class:?] at net.minecraft.client.Minecraft.init(Minecraft.java:560) [Minecraft.class:?] at net.minecraft.client.Minecraft.run(Minecraft.java:422) [Minecraft.class:?] at net.minecraft.client.main.Main.main(Main.java:118) [Main.class:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_231] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_231] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_231] at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_231] 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_231] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_231] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_231] at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_231] at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [start/:?] at GradleStart.main(GradleStart.java:25) [start/:?] Caused by: net.minecraft.client.renderer.block.model.ModelBlockDefinition$MissingVariantException at net.minecraft.client.renderer.block.model.ModelBlockDefinition.getVariant(ModelBlockDefinition.java:83) ~[ModelBlockDefinition.class:?] at net.minecraftforge.client.model.ModelLoader$VariantLoader.loadModel(ModelLoader.java:1175) ~[ModelLoader$VariantLoader.class:?] at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:157) ~[ModelLoaderRegistry.class:?] ... 21 more [18:08:01] [Client thread/ERROR] [FML]: Exception loading blockstate for the variant crown:copper_chest#normal: java.lang.Exception: Could not load model definition for variant crown:copper_chest at net.minecraftforge.client.model.ModelLoader.getModelBlockDefinition(ModelLoader.java:269) ~[ModelLoader.class:?] at net.minecraft.client.renderer.block.model.ModelBakery.loadBlock(ModelBakery.java:121) ~[ModelBakery.class:?] at net.minecraftforge.client.model.ModelLoader.loadBlocks(ModelLoader.java:223) ~[ModelLoader.class:?] at net.minecraftforge.client.model.ModelLoader.setupModelRegistry(ModelLoader.java:150) ~[ModelLoader.class:?] at net.minecraft.client.renderer.block.model.ModelManager.onResourceManagerReload(ModelManager.java:28) [ModelManager.class:?] at net.minecraft.client.resources.SimpleReloadableResourceManager.registerReloadListener(SimpleReloadableResourceManager.java:121) [SimpleReloadableResourceManager.class:?] at net.minecraft.client.Minecraft.init(Minecraft.java:560) [Minecraft.class:?] at net.minecraft.client.Minecraft.run(Minecraft.java:422) [Minecraft.class:?] at net.minecraft.client.main.Main.main(Main.java:118) [Main.class:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_231] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_231] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_231] at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_231] 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_231] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_231] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_231] at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_231] at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [start/:?] at GradleStart.main(GradleStart.java:25) [start/:?] Caused by: java.lang.RuntimeException: Encountered an exception when loading model definition of 'crown:copper_chest' from: 'crown:blockstates/copper_chest.json' in resourcepack: 'FMLFileResourcePack:Crown Mod' at net.minecraft.client.renderer.block.model.ModelBakery.loadModelBlockDefinition(ModelBakery.java:246) ~[ModelBakery.class:?] at net.minecraft.client.renderer.block.model.ModelBakery.loadMultipartMBD(ModelBakery.java:223) ~[ModelBakery.class:?] at net.minecraft.client.renderer.block.model.ModelBakery.getModelBlockDefinition(ModelBakery.java:208) ~[ModelBakery.class:?] at net.minecraftforge.client.model.ModelLoader.getModelBlockDefinition(ModelLoader.java:265) ~[ModelLoader.class:?] ... 20 more Caused by: com.google.gson.JsonSyntaxException: java.io.EOFException: End of input at line 7 column 6 path $.null at com.google.gson.Gson.fromJson(Gson.java:897) ~[Gson.class:?] at com.google.gson.Gson.fromJson(Gson.java:852) ~[Gson.class:?] at com.google.gson.Gson.fromJson(Gson.java:801) ~[Gson.class:?] at com.google.gson.Gson.fromJson(Gson.java:773) ~[Gson.class:?] at net.minecraftforge.client.model.BlockStateLoader.load(BlockStateLoader.java:80) ~[BlockStateLoader.class:?] at net.minecraft.client.renderer.block.model.ModelBlockDefinition.parseFromReader(ModelBlockDefinition.java:42) ~[ModelBlockDefinition.class:?] at net.minecraft.client.renderer.block.model.ModelBakery.loadModelBlockDefinition(ModelBakery.java:242) ~[ModelBakery.class:?] at net.minecraft.client.renderer.block.model.ModelBakery.loadMultipartMBD(ModelBakery.java:223) ~[ModelBakery.class:?] at net.minecraft.client.renderer.block.model.ModelBakery.getModelBlockDefinition(ModelBakery.java:208) ~[ModelBakery.class:?] at net.minecraftforge.client.model.ModelLoader.getModelBlockDefinition(ModelLoader.java:265) ~[ModelLoader.class:?] ... 20 more Caused by: java.io.EOFException: End of input at line 7 column 6 path $.null at com.google.gson.stream.JsonReader.nextNonWhitespace(JsonReader.java:1393) ~[JsonReader.class:?] at com.google.gson.stream.JsonReader.doPeek(JsonReader.java:482) ~[JsonReader.class:?] at com.google.gson.stream.JsonReader.hasNext(JsonReader.java:414) ~[JsonReader.class:?] at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:214) ~[ReflectiveTypeAdapterFactory$Adapter.class:?] at com.google.gson.Gson.fromJson(Gson.java:887) ~[Gson.class:?] at com.google.gson.Gson.fromJson(Gson.java:852) ~[Gson.class:?] at com.google.gson.Gson.fromJson(Gson.java:801) ~[Gson.class:?] at com.google.gson.Gson.fromJson(Gson.java:773) ~[Gson.class:?] at net.minecraftforge.client.model.BlockStateLoader.load(BlockStateLoader.java:80) ~[BlockStateLoader.class:?] at net.minecraft.client.renderer.block.model.ModelBlockDefinition.parseFromReader(ModelBlockDefinition.java:42) ~[ModelBlockDefinition.class:?] at net.minecraft.client.renderer.block.model.ModelBakery.loadModelBlockDefinition(ModelBakery.java:242) ~[ModelBakery.class:?] at net.minecraft.client.renderer.block.model.ModelBakery.loadMultipartMBD(ModelBakery.java:223) ~[ModelBakery.class:?] at net.minecraft.client.renderer.block.model.ModelBakery.getModelBlockDefinition(ModelBakery.java:208) ~[ModelBakery.class:?] at net.minecraftforge.client.model.ModelLoader.getModelBlockDefinition(ModelLoader.java:265) ~[ModelLoader.class:?] ... 20 more -
Tu peux envoyer le contenu de
assets/crown/blockstates/copper_chest.json?
Le contenu json semble invalide. -
Tien

{ "variants": { "normal": { "model": "crown:copper_chest" } "facing=east": { "model": "crown:copper_chest" }, "facing=west": { "model": "crown:copper_chest", "y": 180, "uvlock": true }, "facing=north": { "model": "crown:copper_chest", "y": 270, "uvlock": true }, "facing=south": { "model": "crown:copper_chest", "y": 90, "uvlock": true } } -
Il manque une dernière accolade de fermeture (tout à la fin) et une virgule à la fin de la ligne 3
-
{ "variants": { "normal": { "model": "crown:copper_chest" }, "facing=east": { "model": "crown:copper_chest" }, "facing=west": { "model": "crown:copper_chest", "y": 180, "uvlock": true }, "facing=north": { "model": "crown:copper_chest", "y": 270, "uvlock": true }, "facing=south": { "model": "crown:copper_chest", "y": 90, "uvlock": true } } }Comme ça ?
-
Alors j’ai essayer mais quand je met j’ai ça et le bloc na plus de texture
net.minecraftforge.client.model.ModelLoaderRegistry$LoaderException: Exception loading model crown:copper_chest#normal with loader VariantLoader.INSTANCE, skipping at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:161) ~[ModelLoaderRegistry.class:?] at net.minecraftforge.client.model.ModelLoader.registerVariant(ModelLoader.java:235) ~[ModelLoader.class:?] at net.minecraft.client.renderer.block.model.ModelBakery.loadBlock(ModelBakery.java:153) ~[ModelBakery.class:?] at net.minecraftforge.client.model.ModelLoader.loadBlocks(ModelLoader.java:223) ~[ModelLoader.class:?] at net.minecraftforge.client.model.ModelLoader.setupModelRegistry(ModelLoader.java:150) ~[ModelLoader.class:?] at net.minecraft.client.renderer.block.model.ModelManager.onResourceManagerReload(ModelManager.java:28) [ModelManager.class:?] at net.minecraft.client.resources.SimpleReloadableResourceManager.registerReloadListener(SimpleReloadableResourceManager.java:121) [SimpleReloadableResourceManager.class:?] at net.minecraft.client.Minecraft.init(Minecraft.java:560) [Minecraft.class:?] at net.minecraft.client.Minecraft.run(Minecraft.java:422) [Minecraft.class:?] at net.minecraft.client.main.Main.main(Main.java:118) [Main.class:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_241] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_241] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_241] at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_241] 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_241] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_241] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_241] at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_241] at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [start/:?] at GradleStart.main(GradleStart.java:25) [start/:?] Caused by: net.minecraftforge.client.model.ModelLoaderRegistry$LoaderException: Exception loading model crown:block/copper_chest with loader VanillaLoader.INSTANCE, skipping at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:161) ~[ModelLoaderRegistry.class:?] at net.minecraftforge.client.model.ModelLoader$WeightedRandomModel.<init>(ModelLoader.java:658) ~[ModelLoader$WeightedRandomModel.class:?] at net.minecraftforge.client.model.ModelLoader$VariantLoader.loadModel(ModelLoader.java:1176) ~[ModelLoader$VariantLoader.class:?] at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:157) ~[ModelLoaderRegistry.class:?] ... 21 more Caused by: com.google.gson.JsonSyntaxException: com.google.gson.stream.MalformedJsonException: Expected name at line 5 column 6 path $.textures.texture at com.google.gson.internal.Streams.parse(Streams.java:60) ~[Streams.class:?] at com.google.gson.internal.bind.TreeTypeAdapter.read(TreeTypeAdapter.java:65) ~[TreeTypeAdapter.class:?] at net.minecraft.util.JsonUtils.gsonDeserialize(JsonUtils.java:435) ~[JsonUtils.class:?] at net.minecraft.client.renderer.block.model.ModelBlock.deserialize(ModelBlock.java:51) ~[ModelBlock.class:?] at net.minecraft.client.renderer.block.model.ModelBakery.loadModel(ModelBakery.java:338) ~[ModelBakery.class:?] at net.minecraftforge.client.model.ModelLoader.access$1400(ModelLoader.java:115) ~[ModelLoader.class:?] at net.minecraftforge.client.model.ModelLoader$VanillaLoader.loadModel(ModelLoader.java:861) ~[ModelLoader$VanillaLoader.class:?] at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:157) ~[ModelLoaderRegistry.class:?] at net.minecraftforge.client.model.ModelLoader$WeightedRandomModel.<init>(ModelLoader.java:658) ~[ModelLoader$WeightedRandomModel.class:?] at net.minecraftforge.client.model.ModelLoader$VariantLoader.loadModel(ModelLoader.java:1176) ~[ModelLoader$VariantLoader.class:?] at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:157) ~[ModelLoaderRegistry.class:?] ... 21 more Caused by: com.google.gson.stream.MalformedJsonException: Expected name at line 5 column 6 path $.textures.texture at com.google.gson.stream.JsonReader.syntaxError(JsonReader.java:1559) ~[JsonReader.class:?] at com.google.gson.stream.JsonReader.doPeek(JsonReader.java:505) ~[JsonReader.class:?] at com.google.gson.stream.JsonReader.hasNext(JsonReader.java:414) ~[JsonReader.class:?] at com.google.gson.internal.bind.TypeAdapters$29.read(TypeAdapters.java:738) ~[TypeAdapters$29.class:?] at com.google.gson.internal.bind.TypeAdapters$29.read(TypeAdapters.java:739) ~[TypeAdapters$29.class:?] at com.google.gson.internal.bind.TypeAdapters$29.read(TypeAdapters.java:714) ~[TypeAdapters$29.class:?] at com.google.gson.internal.Streams.parse(Streams.java:48) ~[Streams.class:?] at com.google.gson.internal.bind.TreeTypeAdapter.read(TreeTypeAdapter.java:65) ~[TreeTypeAdapter.class:?] at net.minecraft.util.JsonUtils.gsonDeserialize(JsonUtils.java:435) ~[JsonUtils.class:?] at net.minecraft.client.renderer.block.model.ModelBlock.deserialize(ModelBlock.java:51) ~[ModelBlock.class:?] at net.minecraft.client.renderer.block.model.ModelBakery.loadModel(ModelBakery.java:338) ~[ModelBakery.class:?] at net.minecraftforge.client.model.ModelLoader.access$1400(ModelLoader.java:115) ~[ModelLoader.class:?] at net.minecraftforge.client.model.ModelLoader$VanillaLoader.loadModel(ModelLoader.java:861) ~[ModelLoader$VanillaLoader.class:?] at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:157) ~[ModelLoaderRegistry.class:?] at net.minecraftforge.client.model.ModelLoader$WeightedRandomModel.<init>(ModelLoader.java:658) ~[ModelLoader$WeightedRandomModel.class:?] at net.minecraftforge.client.model.ModelLoader$VariantLoader.loadModel(ModelLoader.java:1176) ~[ModelLoader$VariantLoader.class:?] at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:157) ~[ModelLoaderRegistry.class:?] ... 21 more -
Ce que tu as envoyé est bien valide (tu peux vérifier ici : https://jsonlint.com/ )
par contre les logs indique toujours que ce n’est pas le cas. Vérifies que le fichier est bien modifié et sauvegardé. -
Il est modifié et sauvegarde mais je n’arrive plus a y comprendre
-
Ce message a été supprimé ! -
Alors mon bloc ne tourne toujours pas j’ai corriger mon model qui été défectueux et toujours aucun rotation
-
Hello !
Bah il faut que ta classe gère le paramètre FACING, moi en 1.14 c’est dans la fonction fillStateContainer du block que j’ajoute les paramètres, je sais pas si c’est comme ça aussi en 1.12 vue que je taff pas en 1.12 ^^'.
-
Ouais je vois y’a moyen que tu me montre la classe ? pour que je regarde comment tu as fait
