MFF

    Minecraft Forge France
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes
    • Forge Events
      • Automatique
      • Foncé
      • Clair
    • S'inscrire
    • Se connecter

    Ajouter un rendu avancé à votre bloc via TESR

    Planifier Épinglé Verrouillé Déplacé Les blocs
    1.7.x
    109 Messages 23 Publieurs 38.6k Vues 3 Watching
    Charger plus de messages
    • Du plus ancien au plus récent
    • Du plus récent au plus ancien
    • Les plus votés
    Répondre
    • Répondre à l'aide d'un nouveau sujet
    Se connecter pour répondre
    Ce sujet a été supprimé. Seuls les utilisateurs avec les droits d'administration peuvent le voir.
    • robin4002R Hors-ligne
      robin4002 Moddeurs confirmés Rédacteurs Administrateurs
      dernière édition par

      Salut,
      GameRegistry.registerTileEntity(TileEntityCone.class, null);
      devrait être :
      GameRegistry.registerTileEntity(TileEntityCone.class, Reference.MOD_ID + “:cone”);

      1 réponse Dernière réponse Répondre Citer 0
      • ? This user is from outside of this forum
        Invité
        dernière édition par

        @‘robin4002’:

        Salut,
        GameRegistry.registerTileEntity(TileEntityCone.class, null);
        devrait être :
        GameRegistry.registerTileEntity(TileEntityCone.class, Reference.MOD_ID + “:cone”);

        Aucun changement.

        1 réponse Dernière réponse Répondre Citer 0
        • robin4002R Hors-ligne
          robin4002 Moddeurs confirmés Rédacteurs Administrateurs
          dernière édition par

          Tu peux envoyer ta classe client proxy ?

          1 réponse Dernière réponse Répondre Citer 0
          • ? This user is from outside of this forum
            Invité
            dernière édition par

            @‘robin4002’:

            Tu peux envoyer ta classe client proxy ?

            Elle y est

            1 réponse Dernière réponse Répondre Citer 0
            • robin4002R Hors-ligne
              robin4002 Moddeurs confirmés Rédacteurs Administrateurs
              dernière édition par

              Ah oui en effet, j’avais pourtant vérifié deux fois x)

              Tu as essayé de replacé les blocs après avoir corrigé l’enregistrement du tile entity ?
              Car je ne vois pas d’autres problèmes dans ton code.

              1 réponse Dernière réponse Répondre Citer 0
              • ? This user is from outside of this forum
                Invité
                dernière édition par

                @‘robin4002’:

                Ah oui en effet, j’avais pourtant vérifié deux fois x)

                Tu as essayé de replacé les blocs après avoir corrigé l’enregistrement du tile entity ?
                Car je ne vois pas d’autres problèmes dans ton code.

                Je test et je te tient au courant?

                1 réponse Dernière réponse Répondre Citer 0
                • ? This user is from outside of this forum
                  Invité
                  dernière édition par

                  J’ai cette erreur dans la console :

                  [17:36:26] [Server thread/ERROR] [FML]: A TileEntity type fr.baptiste.notifia.TileEntity.TileEntityCone has throw an exception trying to write state. It will not persist. Report this to the mod author
                  java.lang.RuntimeException: class fr.baptiste.notifia.TileEntity.TileEntityCone is missing a mapping! This is a bug!
                  at net.minecraft.tileentity.TileEntity.writeToNBT(TileEntity.java:96) ~[TileEntity.class:?]
                  at net.minecraft.world.chunk.storage.AnvilChunkLoader.writeChunkToNBT(AnvilChunkLoader.java:395) [AnvilChunkLoader.class:?]
                  at net.minecraft.world.chunk.storage.AnvilChunkLoader.saveChunk(AnvilChunkLoader.java:204) [AnvilChunkLoader.class:?]
                  at net.minecraft.world.gen.ChunkProviderServer.safeSaveChunk(ChunkProviderServer.java:287) [ChunkProviderServer.class:?]
                  at net.minecraft.world.gen.ChunkProviderServer.saveChunks(ChunkProviderServer.java:340) [ChunkProviderServer.class:?]
                  at net.minecraft.world.WorldServer.saveAllChunks(WorldServer.java:863) [WorldServer.class:?]
                  at net.minecraft.server.MinecraftServer.saveAllWorlds(MinecraftServer.java:370) [MinecraftServer.class:?]
                  at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:113) [IntegratedServer.class:?]
                  at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:485) [MinecraftServer.class:?]
                  at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:752) [MinecraftServer$2.class:?]
                  
                  1 réponse Dernière réponse Répondre Citer 0
                  • robin4002R Hors-ligne
                    robin4002 Moddeurs confirmés Rédacteurs Administrateurs
                    dernière édition par

                    Ton tile entity n’est toujours pas enregistré correctement.

                    1 réponse Dernière réponse Répondre Citer 0
                    • ? This user is from outside of this forum
                      Invité
                      dernière édition par

                      Dans le game registry :

                      GameRegistry.registerTileEntity(TileEntityCone.class, Reference.MOD_ID + ":cone");
                      

                      À quoi correspond le “:cone” ?

                      1 réponse Dernière réponse Répondre Citer 0
                      • AymericRedA Hors-ligne
                        AymericRed
                        dernière édition par

                        Au non qui sera utilisé pour sauvegarder et charger ton TileEntity, afin d’avoir toujours le même.
                        Et vérifiés que cette fonction soit bien appelée.

                        Si je vous ai aidé, n'oubliez pas d’être heureux, j'aiderai encore +

                        AymericRed, moddeur expérimenté qui aide sur ce forum et qui peut accepter de faire un mod Forge rémunéré de temps en temps.

                        Mes tutos : Table de craft, plugin NEI, plugin JEI, modifier l'overlay
                        Je suis un membre apprécié et joueur, j'ai déjà obtenu 6 points de réputation.

                        1 réponse Dernière réponse Répondre Citer 0
                        • ? This user is from outside of this forum
                          Invité
                          dernière édition par

                          @‘AymericRed’:

                          Au non qui sera utilisé pour sauvegarder et charger ton TileEntity, afin d’avoir toujours le même.
                          Et vérifiés que cette fonction soit bien appelée.

                          Je ne comprends pas ce qui bloque… Meme avec un gameregistry correct cela ne fonctionne pas…

                          1 réponse Dernière réponse Répondre Citer 0
                          • AymericRedA Hors-ligne
                            AymericRed
                            dernière édition par

                            Ton GameRegistry est placé où ?

                            Si je vous ai aidé, n'oubliez pas d’être heureux, j'aiderai encore +

                            AymericRed, moddeur expérimenté qui aide sur ce forum et qui peut accepter de faire un mod Forge rémunéré de temps en temps.

                            Mes tutos : Table de craft, plugin NEI, plugin JEI, modifier l'overlay
                            Je suis un membre apprécié et joueur, j'ai déjà obtenu 6 points de réputation.

                            1 réponse Dernière réponse Répondre Citer 0
                            • ? This user is from outside of this forum
                              Invité
                              dernière édition par

                              @‘AymericRed’:

                              Ton GameRegistry est placé où ?

                              Dans mon Init de ma classe racine

                              1 réponse Dernière réponse Répondre Citer 0
                              • FlowF Hors-ligne
                                Flow
                                dernière édition par

                                J’ai un petit problème en 1.11.2, je ne sais pas pourquoi mais le rendu dans le monde est très noir comparé à la véritable texture 😕 De plus j’ai l’impression que les jsons ne fonctionne, sauriez vous m’aider pour la 1.11.2 ?

                                Voici dans l’inventaire et dans la main alors que mon json pour l’item block

                                {
                                  "parent": "builtin/entity",
                                  "display": {
                                      "thirdperson": {
                                           "rotation": [ 10, -45, 170 ],
                                           "translation": [ 0, 1.5, -2.75 ],
                                           "scale": [ 0.375, 0.375, 0.375 ]
                                      }
                                  }
                                }
                                

                                le json du block :

                                {
                                  "parent": "builtin/entity",
                                  "textures": {
                                      "particle": "economy:blocks/block_atm"
                                  }
                                }
                                

                                et mon blockstate

                                {
                                   "variants": {
                                       "normal": {
                                           "model": "economy:block_atm" }
                                       }
                                   }
                                

                                Pour ce qui est du rendu dans le monde je ne sais pas trop /:

                                Des idées ?

                                Oui ce gif est drôle.

                                1 réponse Dernière réponse Répondre Citer 0
                                • L Hors-ligne
                                  Le_Vrai_GG
                                  dernière édition par Le_Vrai_GG

                                  voici ma classe principal:

                                  package ch.gonin.guillaume.ZombieCubeFree.common;
                                  
                                  import ch.gonin.guillaume.ZombieCubeFree.Proxy.CommonProxy;
                                  import cpw.mods.fml.common.Mod;
                                  import cpw.mods.fml.common.Mod.EventHandler;
                                  import cpw.mods.fml.common.Mod.Instance;
                                  import cpw.mods.fml.common.SidedProxy;
                                  import cpw.mods.fml.common.event.FMLInitializationEvent;
                                  import cpw.mods.fml.common.event.FMLPostInitializationEvent;
                                  import cpw.mods.fml.common.event.FMLPreInitializationEvent;
                                  import cpw.mods.fml.common.registry.GameRegistry;
                                  import net.minecraft.block.Block;
                                  import net.minecraft.block.BlockGravel;
                                  import net.minecraft.block.material.Material;
                                  import net.minecraft.creativetab.CreativeTabs;
                                  import net.minecraft.item.Item;
                                  
                                  @Mod(modid = "zombiecubefree", name = "Zombie Cube Free", version = "1.0.0")
                                  /**
                                   * @author Guillaume
                                   *
                                   */
                                  public class main {
                                  
                                  	@Instance("zombiecubefree")
                                  	public static main instance;
                                  	public static final String MODID = "zombiecubefree";
                                  
                                  	@EventHandler
                                  
                                  	public void preInit(FMLPreInitializationEvent event)
                                  
                                  	{
                                  		blockTutoriel = new BlockTutoriel(Material.rock).setBlockName("blockTutoriel")
                                  				.setBlockTextureName(MODID + ":block_tutoriel").setCreativeTab(CreativeTabs.tabBlock)
                                  				.setCreativeTab(ZombieCubeFreeCreativeTabs);
                                  		GameRegistry.registerBlock(blockTutoriel, "block_tutoriel");
                                  		blockTutorielTiles = new BlockTutorielTiles(Material.rock).setCreativeTab(CreativeTabs.tabBlock)
                                  				.setBlockName("tutorielTiles").setBlockTextureName(MODID + ":block_tutoriel_tiles")
                                  				.setCreativeTab(ZombieCubeFreeCreativeTabs);
                                  		GameRegistry.registerBlock(blockTutorielTiles, "block_tutoriel_tiles");
                                  		blockMetadata = new BlockMetadata().setBlockName("blockMetadata").setHardness(1.5F).setResistance(10.0F)
                                  				.setCreativeTab(CreativeTabs.tabBlock).setCreativeTab(ZombieCubeFreeCreativeTabs);
                                  		GameRegistry.registerBlock(blockMetadata, ItemblockMetadata.class, "block_metadata");
                                  
                                  		itemTutoriel = new ItemTutoriel().setUnlocalizedName("itemTutoriel")
                                  				.setTextureName(main.MODID + ":item_tutoriel").setCreativeTab(CreativeTabs.tabBlock)
                                  				.setCreativeTab(ZombieCubeFreeCreativeTabs);
                                  		GameRegistry.registerItem(itemTutoriel, "item_tutoriel");
                                  
                                  		cuisiniere = new Cuisiniere(Material.rock).setBlockName("cuisiniere").setCreativeTab(CreativeTabs.tabBlock)
                                  				.setCreativeTab(ZombieCubeFreeCreativeTabs);
                                  		GameRegistry.registerBlock(cuisiniere, "cuisiniere");
                                  		tele = new Tele(Material.rock).setBlockName("tele").setCreativeTab(CreativeTabs.tabBlock)
                                  				.setCreativeTab(ZombieCubeFreeCreativeTabs);
                                  		GameRegistry.registerBlock(tele, "tele");
                                  
                                  		
                                  		itemShowInfo = new ItemShowInfo().setUnlocalizedName("itemShowInfo")
                                  				.setTextureName(main.MODID + ":item_show_info").setCreativeTab(CreativeTabs.tabBlock)
                                  				.setCreativeTab(ZombieCubeFreeCreativeTabs);
                                  		GameRegistry.registerItem(itemShowInfo, "item_show_info");
                                  		itemGaz = new ItemGaz().setUnlocalizedName("itemGaz").setTextureName(main.MODID + ":item_gaz")
                                  				.setCreativeTab(CreativeTabs.tabBlock).setCreativeTab(ZombieCubeFreeCreativeTabs);
                                  		GameRegistry.registerItem(itemGaz, "item_gaz");
                                  
                                  	}
                                  
                                  	@SidedProxy(clientSide = "ch.gonin.guillaume.ZombieCubeFree.Proxy.ClientProxy", serverSide = "ch.gonin.guillaume.ZombieCubeFree.Proxy.CommonProxy")
                                  
                                  	public static CommonProxy proxy;
                                  
                                  	@EventHandler
                                  
                                  	public void init(FMLInitializationEvent event)
                                  
                                  	{
                                  		proxy.registerRender();
                                  		GameRegistry.registerTileEntity(TileEntityBlockTutorielTiles.class, MODID + ":blockTutorielTiles");
                                  		GameRegistry.registerTileEntity(TileEntityTele.class, MODID + ":tele");
                                  	}
                                  
                                  	@EventHandler
                                  
                                  	public void postInit(FMLPostInitializationEvent event)
                                  
                                  	{
                                  	}
                                  
                                  	public static Block blockTutoriel;
                                  	public static Block blockTutorielTiles;
                                  	public static Block blockMetadata;
                                  
                                  	public static Item itemTutoriel;
                                  
                                  	public static Block cuisiniere;
                                  	public static Block tele;
                                  
                                  	public static Item itemShowInfo;
                                  	public static Item itemGaz;
                                  
                                  	public static CreativeTabs ZombieCubeFreeCreativeTabs = new ZombieCubeFreeCreativeTabs("Zombie Cube Free");
                                  
                                  }
                                  

                                  la classe de mon model:

                                  package ch.gonin.guillaume.ZombieCubeFree.client;
                                  
                                  import net.minecraft.client.model.ModelBase;
                                  import net.minecraft.client.model.ModelRenderer;
                                  import net.minecraft.entity.Entity;
                                  
                                  public class ModelTele extends ModelBase
                                  {
                                    //fields
                                      ModelRenderer Shape1;
                                      ModelRenderer Shape2;
                                      ModelRenderer Shape3;
                                      ModelRenderer Shape4;
                                      ModelRenderer Shape5;
                                      ModelRenderer Shape6;
                                      ModelRenderer Piece1;
                                    
                                    public ModelTele()
                                    {
                                      textureWidth = 64;
                                      textureHeight = 32;
                                      
                                        Shape1 = new ModelRenderer(this, 3, 12);
                                        Shape1.mirror = true;
                                        Shape1.addBox(-6F, -1F, -1.5F, 16, 1, 4);
                                        Shape1.setRotationPoint(6F, 24F, -0.5F);
                                        Shape1.setTextureSize(64, 32);
                                        setRotation(Shape1, 0F, 0F, 0F);
                                        Shape2 = new ModelRenderer(this, 0, 0);
                                        Shape2.mirror = true;
                                        Shape2.addBox(-2F, -0.5F, -2F, 4, 1, 3);
                                        Shape2.setRotationPoint(8F, 22.5F, 0F);
                                        Shape2.setTextureSize(64, 32);
                                        setRotation(Shape2, 0F, 0F, 0F);
                                        Shape3 = new ModelRenderer(this, 0, 0);
                                        Shape3.mirror = true;
                                        Shape3.addBox(0F, 0F, 0F, 2, 3, 1);
                                        Shape3.setRotationPoint(7F, 19.73333F, -1F);
                                        Shape3.setTextureSize(64, 32);
                                        setRotation(Shape3, 0F, 0F, 0F);
                                        Shape4 = new ModelRenderer(this, 4, 21);
                                        Shape4.mirror = true;
                                        Shape4.addBox(0F, 0F, 0F, 18, 4, 1);
                                        Shape4.setRotationPoint(-1F, 16.5F, 0F);
                                        Shape4.setTextureSize(64, 32);
                                        setRotation(Shape4, 0F, 0F, 0F);
                                        Shape5 = new ModelRenderer(this, 4, 3);
                                        Shape5.mirror = true;
                                        Shape5.addBox(0F, 0F, 1F, 6, 3, 1);
                                        Shape5.setRotationPoint(5F, 16.8F, -2F);
                                        Shape5.setTextureSize(64, 32);
                                        setRotation(Shape5, 0F, 0F, 0F);
                                        Shape6 = new ModelRenderer(this, 0, 0);
                                        Shape6.mirror = true;
                                        Shape6.addBox(0F, 0F, 0F, 22, 8, 1);
                                        Shape6.setRotationPoint(-3F, 14.5F, 1F);
                                        Shape6.setTextureSize(64, 32);
                                        setRotation(Shape6, 0F, 0F, 0F);
                                      Piece1 = new ModelRenderer(this, "Piece1");
                                      Piece1.mirror = true;
                                      Piece1.setRotationPoint(4F, 0F, -0.5F);
                                      setRotation(Piece1, 0F, 0F, 0F);
                                    }
                                    
                                    public void renderAll()
                                    {
                                      Shape1.render(0.0625F);
                                      Shape2.render(0.0625F);
                                      Shape3.render(0.0625F);
                                      Shape4.render(0.0625F);
                                      Shape5.render(0.0625F);
                                      Shape6.render(0.0625F);
                                      Piece1.render(0.0625F);
                                    }
                                    
                                    private void setRotation(ModelRenderer model, float x, float y, float z)
                                    {
                                      model.rotateAngleX = x;
                                      model.rotateAngleY = y;
                                      model.rotateAngleZ = z;
                                    }
                                  
                                  }
                                  

                                  celle de mon block:

                                   package ch.gonin.guillaume.ZombieCubeFree.common;
                                  
                                  import net.minecraft.block.Block;
                                  import net.minecraft.block.material.Material;
                                  import net.minecraft.entity.player.EntityPlayer;
                                  import net.minecraft.tileentity.TileEntity;
                                  import net.minecraft.util.ChatComponentTranslation;
                                  import net.minecraft.world.World;
                                  
                                  public class Tele extends Block{
                                  
                                  	protected Tele(Material material) {
                                  		super(material);
                                  		// TODO Auto-generated constructor stub
                                  	}
                                  	@Override
                                  
                                  	public TileEntity createTileEntity(World world, int metadata)
                                  
                                  	{
                                  
                                  		return new TileEntityTele();
                                  
                                  	}
                                  
                                  	@Override
                                  
                                  	public boolean hasTileEntity(int metadata)
                                  
                                  	{
                                  
                                  		return true;
                                  
                                  	}
                                  
                                  	   public boolean isOpaqueCube()
                                  
                                  	    {
                                  
                                  	        return false;
                                  
                                  	    }
                                  
                                  	 
                                  
                                  	    public boolean renderAsNormalBlock()
                                  
                                  	    {
                                  
                                  	        return false;
                                  
                                  	    }
                                  
                                  	    public int getRenderType() {
                                  	        return -1;
                                  	    }
                                  }
                                  celle de l'entité de mon block:
                                  
                                  * package ch.gonin.guillaume.ZombieCubeFree.common;
                                  
                                  import net.minecraft.tileentity.TileEntity;
                                  
                                  public class TileEntityTele extends TileEntity {
                                  
                                  }
                                  

                                  celle de l’entité spécial de mon block:

                                  package ch.gonin.guillaume.ZombieCubeFree.common;
                                  
                                  import org.lwjgl.opengl.GL11;
                                  
                                  import ch.gonin.guillaume.ZombieCubeFree.client.ModelTele;
                                  import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
                                  import net.minecraft.tileentity.TileEntity;
                                  import net.minecraft.util.ResourceLocation;
                                  
                                  public class TileEntityTeleSpecialRenderer extends TileEntitySpecialRenderer {
                                  
                                  	@Override
                                  	public void renderTileEntityAt(TileEntity tile, double x, double y, double z, float partialRenderTick) {
                                  		// TODO Auto-generated method stub
                                  		this.renderTileEntityTeleAt((TileEntityTele) tile, x, y, z, partialRenderTick);
                                  	}
                                  
                                  	private void renderTileEntityTeleAt(TileEntityTele tile, double x, double y, double z, float partialRenderTick) {
                                  
                                  		ModelTele model = new ModelTele();
                                  
                                  		ResourceLocation texture = new ResourceLocation(main.MODID,
                                  				"model_tele");
                                  		
                                  		GL11.glPushMatrix();
                                  
                                          GL11.glTranslated(x + 0.5D, y + 1.5D, z + 0.5D);
                                  
                                          GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F);
                                  
                                          this.bindTexture(texture);
                                  
                                          model.renderAll();
                                  
                                          GL11.glPopMatrix();
                                  	}
                                  }
                                  

                                  et enfin mon clientProxy:

                                  
                                  import ch.gonin.guillaume.ZombieCubeFree.common.TileEntityTele;
                                  import ch.gonin.guillaume.ZombieCubeFree.common.TileEntityTeleSpecialRenderer;
                                  import cpw.mods.fml.client.registry.ClientRegistry;
                                  
                                  public class ClientProxy extends CommonProxy {
                                  
                                      	@Override
                                  
                                      	public void registerRender()
                                  
                                      	{
                                  
                                  		System.out.println("méthode côté client");
                                  		ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTele.class, new TileEntityTeleSpecialRenderer());
                                  
                                  	}
                                  
                                  }
                                  

                                  3320a220-a6a2-4153-a1ec-aae447f0c776-image.png

                                  b34519da-d37f-4e60-9d9d-81cb7e2b68de-image.png
                                  je sais pas de où vient le problème mais la texture ne s’affiche pas
                                  qqn peut ?

                                  1 réponse Dernière réponse Répondre Citer 0
                                  • robin4002R Hors-ligne
                                    robin4002 Moddeurs confirmés Rédacteurs Administrateurs
                                    dernière édition par robin4002

                                    Salut,

                                    ResourceLocation texture = new ResourceLocation(main.MODID, “model_tele”);

                                    Devrait être :
                                    ResourceLocation texture = new ResourceLocation(main.MODID, "textures/blocks/model_tele");

                                    L 1 réponse Dernière réponse Répondre Citer 0
                                    • L Hors-ligne
                                      Le_Vrai_GG @robin4002
                                      dernière édition par

                                      @robin4002 j’ai aussi un problème de collision le premier block n’a pas de collision tandis que selui de droite a les collision sur tous le cube

                                      1 réponse Dernière réponse Répondre Citer 0
                                      • robin4002R Hors-ligne
                                        robin4002 Moddeurs confirmés Rédacteurs Administrateurs
                                        dernière édition par

                                        Ça c’est normal, le système de collision de Minecraft permet pas de faire un bloc de plus de 1x1x1.
                                        Si tu veux un bloc plus grand il faut faire une structure multi-bloc.

                                        L 1 réponse Dernière réponse Répondre Citer 0
                                        • L Hors-ligne
                                          Le_Vrai_GG @robin4002
                                          dernière édition par

                                          @robin4002 ok merci par contre le probléme de texture n’est pas régler, t’aurais une idée?

                                          1 réponse Dernière réponse Répondre Citer 0
                                          • robin4002R Hors-ligne
                                            robin4002 Moddeurs confirmés Rédacteurs Administrateurs
                                            dernière édition par

                                            C’est toujours rose / noir ?
                                            Si oui, vérifies le chemin du fichier.

                                            L 1 réponse Dernière réponse Répondre Citer 0
                                            • 1
                                            • 2
                                            • 3
                                            • 4
                                            • 5
                                            • 6
                                            • 5 / 6
                                            • Premier message
                                              Dernier message
                                            Design by Woryk
                                            ContactMentions Légales

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB