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

      En mettant plusieurs resourcelocation et en faisant un bind d’une texture différente en fonction des ticks / autres choses ça doit être faisable oui.

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

        Merci pour le tutoriel, mais ma texture ne se render pas inventory tu peux m’aider ?
        :::

        package com.harrypotter.sosoh.common;
        
        import net.minecraft.block.Block;
        import net.minecraft.block.material.Material;
        import net.minecraft.creativetab.CreativeTabs;
        import net.minecraft.tileentity.TileEntity;
        import net.minecraft.world.IBlockAccess;
        import net.minecraft.world.World;
        
        public class BlockChaudron extends Block{
        
        protected BlockChaudron(Material Material) {
        super(Material);
        this.setCreativeTab(CreativeTabs.tabBlock);
        // TODO Auto-generated constructor stub
        }
        
            @Override
            public TileEntity createTileEntity(World world, int metadata)
            {
                return new TileEntityChaudron();
            }
        
            @Override
            public boolean hasTileEntity(int metadata)
            {
                return true;
            }
        
            public boolean isOpaqueCube()
            {
                return false;
            }
        
            public boolean renderAsNormalBlock()
            {
                return false;
            }
        
            public int getRenderType()
            {
                return -1;
            }
        
            public void setBlockBoundsBasedOnState(IBlockAccess world, int x, int y, int z)
            {
                this.setBlockBounds(0.1F, 0.0F, 0.1F, 0.9F, 0.8F, 0.9F);
            }
        }
        
        package com.harrypotter.sosoh.client;
        
        import org.lwjgl.opengl.GL11;
        
        import com.harrypotter.sosoh.common.ModHarryPotter;
        
        import net.minecraft.block.Block;
        import net.minecraft.client.Minecraft;
        import net.minecraft.client.renderer.RenderBlocks;
        import net.minecraft.world.IBlockAccess;
        import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
        
        public class TESRInventoryRenderer implements ISimpleBlockRenderingHandler {
        
            @Override
            public void renderInventoryBlock(Block block, int metadata, int modelId, RenderBlocks renderer)
            {
                if(block == ModHarryPotter.blockChaudron && metadata == 0)
                {
                    GL11.glPushMatrix();
                    GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F);
                    GL11.glTranslatef(0.0F, -1.0F, 0.0F);
                    GL11.glRotatef(180F, 0.0F, 1.0F, 0.0F);
                    Minecraft.getMinecraft().getTextureManager().bindTexture(TileEntityChaudronSpecialRenderer.texture);
                    TileEntityChaudronSpecialRenderer.model.renderAll();
                    GL11.glPopMatrix();
                }
            }
        
            @Override
            public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer)
            {
                return false;
            }
        
            @Override
            public boolean shouldRender3DInInventory(int modelId)
            {
                return true;
            }
        
            @Override
            public int getRenderId()
            {
                return ClientProxy.tesrRenderId;
            }
        }
        
        package com.harrypotter.sosoh.client;
        
        import org.lwjgl.opengl.GL11;
        
        import com.harrypotter.sosoh.common.ModHarryPotter;
        import com.harrypotter.sosoh.common.TileEntityChaudron;
        
        import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher;
        import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
        import net.minecraft.tileentity.TileEntity;
        import net.minecraft.util.ResourceLocation;
        
        public class TileEntityChaudronSpecialRenderer extends TileEntitySpecialRenderer {
        
        public static ModelChaudron model = new ModelChaudron();
            public static ResourceLocation texture = new ResourceLocation(ModHarryPotter.MODID, "textures/models/blocks/model_block_chaudron.png");
        
            public TileEntityChaudronSpecialRenderer()
            {
                this.func_147497_a(TileEntityRendererDispatcher.instance);
            }
        
            @Override
            public void renderTileEntityAt(TileEntity tile, double x, double y, double z, float partialRenderTick)
            {
                this.renderTileEntityChaudronAt((TileEntityChaudron)tile, x, y, z, partialRenderTick);
            }
        
            private void renderTileEntityChaudronAt(TileEntityChaudron tile, double x, double y, double z, float partialRenderTick)
            {
                GL11.glPushMatrix();
                GL11.glTranslated(x + 0.5D, y + 1.5D, z + 0.5D);
                GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F);
                GL11.glRotatef((90F * tile.getDirection()) + 180F, 0.0F, 1.0F, 0.0F);
                this.bindTexture(texture);
                model.renderAll();
                GL11.glPopMatrix();
            }
        }
        
        package com.harrypotter.sosoh.common;
        
        import net.minecraft.nbt.NBTTagCompound;
        import net.minecraft.network.NetworkManager;
        import net.minecraft.network.Packet;
        import net.minecraft.network.play.server.S35PacketUpdateTileEntity;
        import net.minecraft.tileentity.TileEntity;
        
        public class TileEntityChaudron extends TileEntity {
        
            private byte direction;
        
            @Override
            public void readFromNBT(NBTTagCompound compound)
            {
                super.readFromNBT(compound);
                this.direction = compound.getByte("Direction");
            }
        
            @Override
            public void writeToNBT(NBTTagCompound compound)
            {
                super.writeToNBT(compound);
                compound.setByte("Direction", this.direction);
            }
        
            public byte getDirection()
            {
                return direction;
            }
        
            public void setDirection(byte direction)
            {
                this.direction = direction;
                this.worldObj.markBlockForUpdate(this.xCoord, this.yCoord, this.zCoord);
            }
        
            public Packet getDescriptionPacket()
            {
                NBTTagCompound nbttagcompound = new NBTTagCompound();
                this.writeToNBT(nbttagcompound);
                return new S35PacketUpdateTileEntity(this.xCoord, this.yCoord, this.zCoord, 0, nbttagcompound);
            }
        
            public void onDataPacket(NetworkManager net, S35PacketUpdateTileEntity pkt)
            {
                this.readFromNBT(pkt.func_148857_g());
                this.worldObj.markBlockRangeForRenderUpdate(this.xCoord, this.yCoord, this.zCoord, this.xCoord, this.yCoord, this.zCoord);
            }
        
        }
        
        //Date: 16/11/2014 16:27:03
        
        //Template version 1.1
        //Java generated by Techne
        //Keep in mind that you still need to fill in some blanks
        //- ZeuX
        
        package com.harrypotter.sosoh.client;
        
        import net.minecraft.client.model.ModelBase;
        import net.minecraft.client.model.ModelRenderer;
        
        public class ModelChaudron extends ModelBase
        {
        //fields
         ModelRenderer Base;
         ModelRenderer Pied1;
         ModelRenderer Pied2;
         ModelRenderer Pied3;
         ModelRenderer Pied4;
         ModelRenderer Shape1;
         ModelRenderer Shape2;
         ModelRenderer Shape3;
         ModelRenderer Shape4;
        
        public ModelChaudron()
        {
         textureWidth = 64;
         textureHeight = 64;
        
           Base = new ModelRenderer(this, 0, 0);
           Base.addBox(0F, 0F, 0F, 10, 1, 10);
           Base.setRotationPoint(-5F, 22F, -5F);
           Base.setTextureSize(64, 64);
           setRotation(Base, 0F, 0F, 0F);
           Pied1 = new ModelRenderer(this, 55, 3);
           Pied1.addBox(0F, 0F, 0F, 1, 1, 1);
           Pied1.setRotationPoint(5F, 23F, -6F);
           Pied1.setTextureSize(64, 64);
           setRotation(Pied1, 0F, 0F, 0F);
           Pied2 = new ModelRenderer(this, 55, 0);
           Pied2.addBox(0F, 0F, 0F, 1, 1, 1);
           Pied2.setRotationPoint(-6F, 23F, 5F);
           Pied2.setTextureSize(64, 64);
           setRotation(Pied2, 0F, 0F, 0F);
           Pied3 = new ModelRenderer(this, 55, 0);
           Pied3.addBox(0F, 0F, 0F, 1, 1, 1);
           Pied3.setRotationPoint(5F, 23F, 5F);
           Pied3.setTextureSize(64, 64);
           setRotation(Pied3, 0F, 0F, 0F);
           Pied4 = new ModelRenderer(this, 55, 3);
           Pied4.addBox(0F, 0F, 0F, 1, 1, 1);
           Pied4.setRotationPoint(-6F, 23F, -6F);
           Pied4.setTextureSize(64, 64);
           setRotation(Pied4, 0F, 0F, 0F);
           Shape1 = new ModelRenderer(this, 27, 30);
           Shape1.addBox(0F, 0F, 0F, 12, 11, 1);
           Shape1.setRotationPoint(-6F, 12F, 5F);
           Shape1.setTextureSize(64, 64);
           setRotation(Shape1, 0F, 0F, 0F);
           Shape2 = new ModelRenderer(this, 0, 30);
           Shape2.addBox(0F, 0F, 0F, 12, 11, 1);
           Shape2.setRotationPoint(-6F, 12F, -6F);
           Shape2.setTextureSize(64, 64);
           setRotation(Shape2, 0F, 0F, 0F);
           Shape3 = new ModelRenderer(this, 0, 43);
           Shape3.addBox(0F, 0F, 0F, 1, 11, 10);
           Shape3.setRotationPoint(5F, 12F, -5F);
           Shape3.setTextureSize(64, 64);
           setRotation(Shape3, 0F, 0F, 0F);
           Shape4 = new ModelRenderer(this, 23, 43);
           Shape4.addBox(0F, 0F, 0F, 1, 11, 10);
           Shape4.setRotationPoint(-6F, 12F, -5F);
           Shape4.setTextureSize(64, 64);
           setRotation(Shape4, 0F, 0F, 0F);
        }
        
        public void renderAll()
        {
        Base.render(0.0625F);
        Pied1.render(0.0625F);
        Pied2.render(0.0625F);
        Pied3.render(0.0625F);
        Pied4.render(0.0625F);
        Shape1.render(0.0625F);
        Shape2.render(0.0625F);
        Shape3.render(0.0625F);
        Shape4.render(0.0625F);
        }
        
        private void setRotation(ModelRenderer model, float x, float y, float z)
        {
         model.rotateAngleX = x;
         model.rotateAngleY = y;
         model.rotateAngleZ = z;
        }
        
        }
        
        package com.harrypotter.sosoh.client;
        
        import com.harrypotter.sosoh.common.CommonProxy;
        import com.harrypotter.sosoh.common.TileEntityChaudron;
        
        import cpw.mods.fml.client.registry.ClientRegistry;
        import cpw.mods.fml.client.registry.RenderingRegistry;
        
        public class ClientProxy extends CommonProxy
        {
           public static int tesrRenderId;
           @Override
           public void registerRender()
           {
               System.out.println("méthode côté client");
        
               tesrRenderId = RenderingRegistry.getNextAvailableRenderId();
               RenderingRegistry.registerBlockHandler(new TESRInventoryRenderer());
        
               ClientRegistry.bindTileEntitySpecialRenderer(TileEntityChaudron.class, new TileEntityChaudronSpecialRenderer());
           }
        }
        

        :::

        Developpeur d'Hogsmod, un mod implémentant le Monde d'Harry Potter dans Minecraft!

        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

          Et une dernière modification, dans la classe de votre bloc, modifiez le return -1 dans la fonction getRenderType par return ClientProxy.tesrRenderId.

          Dans ta classe BlockCauldron :

              public int getRenderType()
              {
                  return -1;
              }
          

          Devrait être :

             public int getRenderType()
             {
                 return ClientProxy.tesrRenderId;
             }
          
          1 réponse Dernière réponse Répondre Citer 0
          • sosohS Hors-ligne
            sosoh
            dernière édition par

            Merci ^^ C’est bon c’est ok ! 🙂

            Developpeur d'Hogsmod, un mod implémentant le Monde d'Harry Potter dans Minecraft!

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

              Hello, superbe tuto. Je doit avouer que c’est quelques choses de très utilise dès qu’on souhaite faire un peu plus que de l’ajout de block/item basique.

              Sinon, j’aurai une petite question. Je n’ai jamais vraiment trop causé sur le forum, malgré le temps que j’y ai passé… Mais, voila, j’aimerai savoir, si on souhaite faire un rendu d’un escalier en modifiant son block bounds, comment faire pour qu’il y ai encore la jointure dans les angles ?

              Ça fait un bout de temps que je cherche mais je n’ai jamais réussi a résoudre mon problème. Et disons que passer par un rendu TESR, ça me parait lourd pour juste un escalier 😕

              En espérant trouver une réponse,

              Salutation a vous,
              0xPic0.

              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

                Pour un escalier custom passe plutôt par un rendu ISBRH (il y a un tutoriel 1.6, il n’y a pas beaucoup de différence).
                Il suffit d’adapter le rendu en fonction des blocs autours (avec world.getBlock(x, y, z +1) == TaClassePrincipale.tonEscalier par exemple)

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

                  Okay, merci robin. Mon rendu tourne déjà en ISBRH, c’est pour cela que je demandais si TESR était mieux ^^ . Je vais essayer de corriger mon soucis d’angle dans ce cas. Si j’y arrive alors j’arriverai a résoudre le rendu de l’escalier quand il est mit a l’envers 😉

                  Je reviendrai vers vous si jamais je ne m’en sort pas mais ça devrait aller

                  Merci beaucoup.

                  0xPic0

                  Edit: Heu, je devait avoir la tête ailleurs, m’enfin, ce que tu m’a proposé est déjà en place. Là ou je pêche, c’est sur le rendu vers le haut et les angles. Physiquement, Steve ressent l’angle, seulement, graphiquement, ce n’est pas correct. Quand au bloc a l’envers, c’est l’affichage qui ne se fait pas. J’ai chercher dans la classe BlockStairs mais, :fuuuu: qu’est-ce que c’est le bordel toutes des méthodes sans doc et sans nomination intelligente ^^, j’espère trouver 😄

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

                    Plop! 🙂

                    J’ai comme qui dirait un p’tit problème avec TESR : ma méthode renderTileEntityAt(TileEntity, double, double, double, float) n’est jamais appelée…

                    J’ai vérifié avec des System.out.println, c’est bien à partir de là que ça marche pas; le bloc est là, la hitbox est visible, mais aucun rendu, aucune texture, il est totalement invisible…


                    Mon code


                    Mon ClientProxy
                    :::

                    package sasukz.htmc.proxy;
                    
                    import sasukz.htmc.blocks.tileentities.TECopperCable;
                    import sasukz.htmc.client.rendering.TESRCopperCable;
                    import cpw.mods.fml.client.registry.ClientRegistry;
                    
                    public class ClientProxy extends CommonProxy {
                    @Override
                    public void registerRender() {
                    System.out.println("[DEBUG] TESR chargé");
                    ClientRegistry.bindTileEntitySpecialRenderer(TECopperCable.class, new TESRCopperCable());
                    }
                    }
                    

                    :::

                    Mon TileEntity
                    :::

                    package sasukz.htmc.blocks.tileentities;
                    
                    import java.util.ArrayList;
                    
                    import net.minecraft.block.Block;
                    import net.minecraft.world.World;
                    import net.minecraftforge.common.util.ForgeDirection;
                    import sasukz.htmc.blocks.tileentities.utils.TEElectrical;
                    import sasukz.htmc.common.HTMC;
                    
                    public class TECopperCable extends TEElectrical {
                    public ArrayList <forgedirection>getConnections() {
                    System.out.println("[DEBUG] Méthode getConnections() appelée");
                    ArrayList <forgedirection>r = new ArrayList<forgedirection>();
                    Block cc = HTMC.t_CopperCable;
                    World w = getWorldObj();
                    if (w.getBlock(xCoord, yCoord+1, zCoord).equals(cc))
                    r.add(ForgeDirection.UP);
                    if (w.getBlock(xCoord, yCoord-1, zCoord).equals(cc))
                    r.add(ForgeDirection.DOWN);
                    if (w.getBlock(xCoord+1, yCoord, zCoord).equals(cc))
                    r.add(ForgeDirection.EAST);
                    if (w.getBlock(xCoord-1, yCoord, zCoord).equals(cc))
                    r.add(ForgeDirection.WEST);
                    if (w.getBlock(xCoord, yCoord, zCoord+1).equals(cc))
                    r.add(ForgeDirection.SOUTH);
                    if (w.getBlock(xCoord, yCoord, zCoord-1).equals(cc))
                    r.add(ForgeDirection.NORTH);
                    return r;
                    }
                    
                    @Override
                    public int getMaxEnergy() {
                    return 128;
                    }
                    
                    @Override
                    public int getMinPower() {
                    return 2;
                    }
                    
                    @Override
                    public int getMaxPower() {
                    return 64;
                    }
                    }
                    

                    :::

                    Mon TESR
                    :::

                    package sasukz.htmc.client.rendering;
                    
                    import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
                    import net.minecraft.tileentity.TileEntity;
                    import net.minecraft.util.ResourceLocation;
                    
                    import org.lwjgl.opengl.GL11;
                    
                    import sasukz.htmc.blocks.tileentities.TECopperCable;
                    import sasukz.htmc.common.HTMC;
                    import sasukz.htmc.models.ModelCopperCable;
                    
                    public class TESRCopperCable extends TileEntitySpecialRenderer {
                    public static ModelCopperCable model = new ModelCopperCable();
                    public static ResourceLocation texture = new ResourceLocation(HTMC.MODID,
                    "textures/models/blocks/copper_cable.png");
                    
                    @Override
                    public void renderTileEntityAt(TileEntity te, double x, double y, double z,
                    float partialRenderTick) {
                    System.out.println("[HTMC] Méthode renderTileEntityAt() appelée");
                    GL11.glPushMatrix();
                    GL11.glTranslated(x + 0.5D, y + 1.5D, z + 0.5D);
                    GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F);
                    bindTexture(texture);
                    model.renderAll((TECopperCable)te);
                    GL11.glPopMatrix();
                    }
                    }
                    

                    :::


                    Merci d’avance :)</forgedirection></forgedirection></forgedirection>

                    Mes mods :

                    • Cookie Ore (1.7.10)

                    Mod en cours : **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

                      Ton bloc ? Ta classe principale ?

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

                        Mon bloc
                        :::

                        package sasukz.htmc.blocks;
                        
                        import net.minecraft.block.Block;
                        import net.minecraft.block.material.Material;
                        import net.minecraft.tileentity.TileEntity;
                        import net.minecraft.world.World;
                        import sasukz.htmc.blocks.tileentities.TECopperCable;
                        import sasukz.htmc.common.HTMC;
                        
                        public class BlockCopperCable extends Block {
                        public BlockCopperCable(Material m) {
                        super(m);
                        setHardness(0.5F);
                        setResistance(0.0F);
                        setBlockName("copper_cable");
                        setCreativeTab(HTMC.ctab_mach);
                        }
                        
                        @Override
                        public boolean hasTileEntity() {
                        return true;
                        }
                        
                        @Override
                        public TileEntity createTileEntity(World world, int metadata) {
                        return new TECopperCable();
                        }
                        
                        @Override
                        public boolean isOpaqueCube() {
                        return false;
                        }
                        
                        @Override
                        public boolean renderAsNormalBlock() {
                        return false;
                        }
                        
                        @Override
                        public int getRenderType() {
                        return -1;
                        }
                        }
                        

                        :::

                        Ma classe principale
                        :::

                        package sasukz.htmc.common;
                        
                        import net.minecraft.block.Block;
                        import net.minecraft.block.material.Material;
                        import net.minecraft.creativetab.CreativeTabs;
                        import net.minecraft.item.Item;
                        import sasukz.htmc.blocks.BlockCombiner;
                        import sasukz.htmc.blocks.BlockCopperCable;
                        import sasukz.htmc.blocks.BlockMacerator;
                        import sasukz.htmc.blocks.BlockOreAluminum;
                        import sasukz.htmc.blocks.BlockOreCopper;
                        import sasukz.htmc.blocks.BlockOreLead;
                        import sasukz.htmc.blocks.BlockOreSilicon;
                        import sasukz.htmc.blocks.BlockOreSilver;
                        import sasukz.htmc.blocks.BlockOreTin;
                        import sasukz.htmc.blocks.BlockOreUranium;
                        import sasukz.htmc.blocks.tileentities.TECombiner;
                        import sasukz.htmc.blocks.tileentities.TECopperCable;
                        import sasukz.htmc.blocks.tileentities.TEMacerator;
                        import sasukz.htmc.generation.HTMCWorldGen;
                        import sasukz.htmc.items.ItemAluminumPlate;
                        import sasukz.htmc.items.ItemBasicCircuit;
                        import sasukz.htmc.items.ItemDustAluminum;
                        import sasukz.htmc.items.ItemDustCopper;
                        import sasukz.htmc.items.ItemDustLead;
                        import sasukz.htmc.items.ItemDustSilver;
                        import sasukz.htmc.items.ItemDustTin;
                        import sasukz.htmc.items.ItemIngotAluminum;
                        import sasukz.htmc.items.ItemIngotBronze;
                        import sasukz.htmc.items.ItemIngotCopper;
                        import sasukz.htmc.items.ItemIngotLead;
                        import sasukz.htmc.items.ItemIngotSilver;
                        import sasukz.htmc.items.ItemIngotTin;
                        import sasukz.htmc.items.ItemSilicon;
                        import sasukz.htmc.items.ItemWrench;
                        import sasukz.htmc.network.HTMCGUIHandler;
                        import sasukz.htmc.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.network.NetworkRegistry;
                        import cpw.mods.fml.common.registry.GameRegistry;
                        import cpw.mods.fml.relauncher.Side;
                        import cpw.mods.fml.relauncher.SideOnly;
                        
                        @Mod(modid="htmc", name="HTMC Mod", version="MC 1.7.10")
                        public class HTMC {
                        @Instance("htmc")
                        public static HTMC instance;
                        
                        @SidedProxy(clientSide="sasukz.htmc.proxy.ClientProxy", serverSide="sasukz.htmc.proxy.CommonProxy")
                        public static CommonProxy proxy;
                        
                        public static final String MODID = "htmc";
                        
                        public static HTMCWorldGen worldgen = new HTMCWorldGen();
                        
                        public static Block t_TinOre;
                        public static Block t_CopperOre;
                        public static Block t_SilverOre;
                        public static Block t_UraniumOre;
                        public static Block t_LeadOre;
                        public static Block t_AluminumOre;
                        public static Block t_SiliconOre;
                        public static Block t_Combiner;
                        public static Block t_Macerator;
                        public static Block t_CopperCable;
                        
                        public static Item i_CopperIngot;
                        public static Item i_TinIngot;
                        public static Item i_SilverIngot;
                        public static Item i_LeadIngot;
                        public static Item i_AluminumIngot;
                        public static Item i_BronzeIngot;
                        public static Item i_Silicon;
                        public static Item i_AluminumPlate;
                        public static Item i_BasicCircuit;
                        public static Item i_Wrench;
                        public static Item i_CopperDust;
                        public static Item i_TinDust;
                        public static Item i_AluminumDust;
                        public static Item i_LeadDust;
                        public static Item i_SilverDust;
                        
                        public static CreativeTabs ctab_mat = new CreativeTabs("htmc_materials") {
                           @Override
                           public Item getTabIconItem() {
                               return HTMC.i_CopperIngot;
                           }
                        
                           @SideOnly(Side.CLIENT)
                           public int func_151243_f() {
                                return 0;
                           }
                        };
                        public static CreativeTabs ctab_comp = new CreativeTabs("htmc_components") {
                        @Override
                        public Item getTabIconItem() {
                        return HTMC.i_BasicCircuit;
                        }
                        
                        @SideOnly(Side.CLIENT)
                        public int func_151243_f() {
                        return 0;
                        }
                        };
                        public static CreativeTabs ctab_mach = new CreativeTabs("htmc_machines") {
                        @Override
                        public Item getTabIconItem() {
                        return Item.getItemFromBlock(HTMC.t_Combiner);
                        }
                        
                        @SideOnly(Side.CLIENT)
                        public int func_151243_f() {
                        return 0;
                        }
                        };
                        
                        @EventHandler
                        
                        public static void preInit(FMLPreInitializationEvent e) {
                        GameRegistry.registerWorldGenerator(worldgen, 0);
                        
                        // BLOCKS –-
                        
                        t_TinOre = new BlockOreTin(Material.rock);
                        GameRegistry.registerBlock(t_TinOre, "ore_tin");
                        
                        t_CopperOre = new BlockOreCopper(Material.rock);
                        GameRegistry.registerBlock(t_CopperOre, "ore_copper");
                        
                        t_SilverOre = new BlockOreSilver(Material.rock);
                        GameRegistry.registerBlock(t_SilverOre, "ore_silver");
                        
                        t_UraniumOre = new BlockOreUranium(Material.rock);
                        GameRegistry.registerBlock(t_UraniumOre, "ore_uranium");
                        
                        t_LeadOre = new BlockOreLead(Material.rock);
                        GameRegistry.registerBlock(t_LeadOre, "ore_lead");
                        
                        t_AluminumOre = new BlockOreAluminum(Material.rock);
                        GameRegistry.registerBlock(t_AluminumOre, "ore_aluminum");
                        
                        t_SiliconOre = new BlockOreSilicon(Material.rock);
                        GameRegistry.registerBlock(t_SiliconOre, "ore_silicon");
                        
                        t_Combiner = new BlockCombiner(Material.rock);
                        GameRegistry.registerBlock(t_Combiner, "combiner");
                        
                        t_Macerator = new BlockMacerator(Material.rock);
                        GameRegistry.registerBlock(t_Macerator, "macerator");
                        
                        t_CopperCable = new BlockCopperCable(Material.iron);
                        GameRegistry.registerBlock(t_CopperCable, "copper_cable");
                        
                        // ITEMS ---
                        
                        i_CopperIngot = new ItemIngotCopper();
                        GameRegistry.registerItem(i_CopperIngot, "ingot_copper");
                        
                        i_TinIngot = new ItemIngotTin();
                        GameRegistry.registerItem(i_TinIngot, "ingot_tin");
                        
                        i_SilverIngot = new ItemIngotSilver();
                        GameRegistry.registerItem(i_SilverIngot, "ingot_silver");
                        
                        i_LeadIngot = new ItemIngotLead();
                        GameRegistry.registerItem(i_LeadIngot, "ingot_lead");
                        
                        i_AluminumIngot = new ItemIngotAluminum();
                        GameRegistry.registerItem(i_AluminumIngot, "ingot_aluminum");
                        
                        i_Silicon = new ItemSilicon();
                        GameRegistry.registerItem(i_Silicon, "silicon");
                        
                        i_BasicCircuit = new ItemBasicCircuit();
                        GameRegistry.registerItem(i_BasicCircuit, "basic_circuit");
                        
                        i_AluminumPlate = new ItemAluminumPlate();
                        GameRegistry.registerItem(i_AluminumPlate, "aluminum_plate");
                        
                        i_Wrench = new ItemWrench();
                        GameRegistry.registerItem(i_Wrench, "wrench");
                        
                        i_CopperDust = new ItemDustCopper();
                        GameRegistry.registerItem(i_CopperDust, "dust_copper");
                        
                        i_TinDust = new ItemDustTin();
                        GameRegistry.registerItem(i_TinDust, "dust_tin");
                        
                        i_BronzeIngot = new ItemIngotBronze();
                        GameRegistry.registerItem(i_BronzeIngot, "ingot_bronze");
                        
                        i_AluminumDust = new ItemDustAluminum();
                        GameRegistry.registerItem(i_AluminumDust, "dust_aluminum");
                        
                        i_LeadDust = new ItemDustLead();
                        GameRegistry.registerItem(i_LeadDust, "dust_lead");
                        
                        i_SilverDust = new ItemDustSilver();
                        GameRegistry.registerItem(i_SilverDust, "dust_silver");
                        }
                        
                        @EventHandler
                        public static void init(FMLInitializationEvent e) {
                        proxy.registerRender();
                        
                        GameRegistry.registerTileEntity(TECombiner.class, MODID+":combiner");
                        GameRegistry.registerTileEntity(TEMacerator.class, MODID+":macerator");
                        System.out.println("[DEBUG] TileEntity enregistré.");
                        GameRegistry.registerTileEntity(TECopperCable.class, MODID+":copper_cable");
                        
                        HTMCRecipes.addRecipes();
                        HTMCRecipes.addSmeltings();
                        }
                        
                        @EventHandler
                        public static void postInit(FMLPostInitializationEvent e) {
                        NetworkRegistry.INSTANCE.registerGuiHandler(instance, new HTMCGUIHandler());
                        }
                        }
                        

                        :::

                        Mes mods :

                        • Cookie Ore (1.7.10)

                        Mod en cours : **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

                          Je ne vois aucun problème, essaye de créer un nouveau monde puis de replacer des blocs.
                          Le seul truc que je trouve étrange, c’est que tes fonctions init, preInit sont statics dans ta classe principale, normalement il n’y a pas besoin.

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

                            ça marche toujours pas 😞

                            Je suis certain que le problème vient de mon TESR, la méthode est jamais appelée.

                            Mes mods :

                            • Cookie Ore (1.7.10)

                            Mod en cours : **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

                              Pourtant ton TESR est bien enregistré dans le client proxy, à la limite envoie un zip de ton dossier src, je vais regarder quand j’aurai le temps.

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

                                Bonjour,

                                J’ai donc ajouté un rendu Techne à mon bloc grâce au super tuto de robin mais j’ai un soucis quand je regarde mon block dans mon mod je lag énormément …

                                Par déduction je pense que ceci vient du nombre de tick par seconde et je voudrais savoir si il était possible de le diminuer.

                                et si oui comment.

                                Merci d’avance

                                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

                                  Il me semble pas que ce soit possible de réduire ça.
                                  Ton modèle ressemble à quoi ? Car j’ai jamais eu de grosse chute de fps à cause d’un TESR …

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

                                    Arf mon modèle est petit mais à 240 parties sous techne …

                                    Tu pense que le problème vient de la ?

                                    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

                                      Surement oui, 240 ça fait beaucoup.

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

                                        Pas d’autre moyen de créer un block avec un modèle techne ?

                                        Car passer par un Tilentity alors que mon block n’a rien de particulier apart le modèle…

                                        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

                                          Il y a les rendus ISBRH mais ça ne passe par un modèle.

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

                                            Après avoir testé avec un modèle moins détaillé, le problème disparaît malheureusement ^^

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

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB