MFF

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

    Problème avec ma dynamite

    Planifier Épinglé Verrouillé Déplacé Résolu 1.12.x
    1.12.2
    7 Messages 4 Publieurs 321 Vues 4 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.
    • DeansD Hors-ligne
      Deans
      dernière édition par robin4002

      Bonjour,

      Voici deux problèmes que je rencontre avec ma dynamite. D’un la dynamite ne ce lance pas dans la direction que je souhaite elle reste à mes pieds et explose sous mes pieds. L’autre problème est que le model n’apparaît pas lors du lancement de la dynamite c’est un cube blanc sans son model.

      Voici les codes :

      import net.minecraft.entity.Entity;
      import net.minecraft.entity.EntityLivingBase;
      import net.minecraft.entity.projectile.EntityThrowable;
      import net.minecraft.util.EnumParticleTypes;
      import net.minecraft.util.datafix.DataFixer;
      import net.minecraft.util.math.RayTraceResult;
      import net.minecraft.world.World;
      import net.minecraftforge.fml.relauncher.Side;
      import net.minecraftforge.fml.relauncher.SideOnly;
      
      public class EntityDynamite extends EntityThrowable
      {
      	public EntityDynamite(World worldIn) 
      	{
      		super(worldIn);
      	}
      	
      	public EntityDynamite(World worldIn, EntityLivingBase throwerIn) 
      	{
      		super(worldIn, throwerIn);
      	}
      	
      	@SideOnly(Side.CLIENT)
      	public EntityDynamite(World worldIn, double x, double y, double z) 
      	{
      		super(worldIn, x, y, z);
      	}
      	
      	public static void registerFixesDynamite(DataFixer fixer) 
      	{
      		EntityThrowable.registerFixesThrowable(fixer, "Dynamite");
      	}
      	
      	@Override
      	public void onImpact(RayTraceResult result) 
      	{
      		     if (result.entityHit instanceof Entity)
      		     {
      		            int i = 1;
      		     }
      		     if (!world.isRemote) 
      		     {
      		    	 this.world.createExplosion(this, posX, posY, posZ, 2.0F, true);
      		         this.world.setEntityState(this, (byte)1);
      		         this.setDead();
      		     }
      	}
      
      
      	@Override
      	public void onUpdate() 
      	{
      		super.onUpdate();
      		if (this.world.isRemote && !this.inGround) 
      		{
      			this.world.spawnParticle(EnumParticleTypes.LAVA, this.posX, this.posY, this.posZ, 0.0D, 0.0D, 0.0D, new int[0]);
      		}
      	}
      }
      
      import org.lwjgl.opengl.GL11;
      
      import fr.vesperia.vesperiamod.References;
      import fr.vesperia.vesperiamod.entity.EntityDynamite;
      import fr.vesperia.vesperiamod.entity.model.ModelDynamite;
      import net.minecraft.client.renderer.entity.Render;
      import net.minecraft.client.renderer.entity.RenderManager;
      import net.minecraft.util.ResourceLocation;
      
      public class RenderDynamite extends Render<EntityDynamite>
      {
      	private static final ResourceLocation DYNAMITE = new ResourceLocation(References.MODID + ":textures/entity/dynamite.png");
      	private ModelDynamite model = new ModelDynamite();		
      	
      	public RenderDynamite(RenderManager renderManager) 
      	{
      		super(renderManager);
      	}
      	
      	@Override
      	protected ResourceLocation getEntityTexture(EntityDynamite entity) 
      	{
      		return DYNAMITE;
      	}
      	
      	@Override
      	public void doRender(EntityDynamite entity, double x, double y, double z, float entityYaw, float partialTicks) 
      	{
      		GL11.glPushMatrix();
      		bindTexture(DYNAMITE);
      		GL11.glTranslated(x, y, z);
      		GL11.glRotatef(180, 0, 0, 1);
      		model.render(entity, 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F);
      		GL11.glPopMatrix();
      	}
      }
      
      public class ModelDynamite extends ModelBase
      {
      	ModelRenderer e1;
      	
      	public ModelDynamite() 
      	{
              textureWidth = 64;
              textureHeight = 64;
              e1 = new ModelRenderer(this, 0, 47);
              e1.addBox(0F, 0F, -8F, 16, 16, 1);
              e1.setRotationPoint(0F, 0F, 8F);
              e1.setTextureSize(64, 64);
              e1.mirror = false;
              setRotation(e1, 0F, 0F, 0F);
          }
      	
      	public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) 
      	{
              super.render(entity, f, f1, f2, f3, f4, f5);
              setRotationAngles(f, f1, f2, f3, f4, f5, entity);
              e1.render(f5);
          }
      
      	private void setRotation(ModelRenderer model, float x, float y, float z) 
      	{
              model.rotateAngleX = x;
              model.rotateAngleY = y;
              model.rotateAngleZ = z;
          }
      	
      	public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity)
      	{
              super.setRotationAngles(f, f1, f2, f3, f4, f5, entity);
          }
      }
      
      import fr.vesperia.vesperiamod.VesperiaMod;
      import fr.vesperia.vesperiamod.entity.EntityDynamite;
      import fr.vesperia.vesperiamod.init.ModItems;
      import net.minecraft.entity.player.EntityPlayer;
      import net.minecraft.init.SoundEvents;
      import net.minecraft.item.Item;
      import net.minecraft.item.ItemStack;
      import net.minecraft.stats.StatList;
      import net.minecraft.util.ActionResult;
      import net.minecraft.util.EnumActionResult;
      import net.minecraft.util.EnumHand;
      import net.minecraft.util.SoundCategory;
      import net.minecraft.world.World;
      
      public class ItemDynamite extends Item 
      {
      	public ItemDynamite(String name)
      	{
      		setRegistryName(name);
      		setUnlocalizedName(name);
      		setMaxStackSize(16);
      		setCreativeTab(VesperiaMod.Modtab);
      		
      		ModItems.instance.getItems().add(this);
      	}
      	
      	@Override
          public ActionResult<ItemStack> onItemRightClick(World worldIn, EntityPlayer playerIn, EnumHand handIn)
      	{
              ItemStack itemstack = playerIn.getHeldItem(handIn);
              if (!playerIn.capabilities.isCreativeMode) 
              {
                  itemstack.shrink(1);
              }
      
              worldIn.playSound((EntityPlayer)null, playerIn.posX, playerIn.posY, playerIn.posZ, SoundEvents.ENTITY_TNT_PRIMED, SoundCategory.NEUTRAL, 0.5F, 0.4F / (itemRand.nextFloat() * 0.4F + 0.8F));
              playerIn.getCooldownTracker().setCooldown(this, 20);
              
              if (!worldIn.isRemote)
              {
                  EntityDynamite dynamite = new EntityDynamite(worldIn, playerIn);
                  worldIn.spawnEntity(dynamite);
              }
      
              playerIn.addStat(StatList.getObjectUseStats(this));
              return new ActionResult(EnumActionResult.SUCCESS, itemstack);
          }
      }
      

      Merci d’avance

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

        J’ai déjà réussi à réglé le problème quand je lance ma dynamite, mais il ne reste que le model de la dynamite qui n’apparaît pas.

        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

          Bonsoir,
          En général le rectangle blanc ça veut dire que le rendu n’est pas enregistré (ou pas correctement).

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

            je crois qu’il faut que tu aille dans le client proxy de ton mod et que tu enregistre le model comme pour les entité

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

              Oui c’est bon j’ai réussi à réglé le problème, mais merci de votre aide.

              FeedBackF 1 réponse Dernière réponse Répondre Citer 0
              • FrostBrekerF Hors-ligne
                FrostBreker
                dernière édition par

                de rien

                1 réponse Dernière réponse Répondre Citer 0
                • FeedBackF Hors-ligne
                  FeedBack @Deans
                  dernière édition par

                  @Deans Qu’est ce que c’est la soluce stp ?

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

                  MINECRAFT FORGE FRANCE © 2024

                  Powered by NodeBB