Résolu Création de dynamite
-
RendererDynamite
import org.lwjgl.opengl.GL11; import net.minecraft.client.renderer.Tessellator; import net.minecraft.client.renderer.entity.Render; import net.minecraft.entity.Entity; import net.minecraft.util.MathHelper; import net.minecraft.util.ResourceLocation; public class RenderDynamite extends Render { public RenderDynamite() { pitch = 40F; } public void renderDynamite(DynamiteEntity entityarrow, double d, double d1, double d2, float f, float f1) { bindEntityTexture(entityarrow); GL11.glPushMatrix(); GL11.glTranslatef((float)d, (float)d1, (float)d2); GL11.glRotatef(entityarrow.rotationYaw + 90F, 0.0F, 1.0F, 0.0F); GL11.glRotatef(entityarrow.prevRotationPitch + (entityarrow.rotationPitch - entityarrow.prevRotationPitch ) * f1, 0.0F, 0.0F, 1.0F); Tessellator tessellator = Tessellator.instance; int i = 0; float f2 = 0.0F; float f3 = 0.5F; float f4 = (float)(0 + i * 10) / 32F; float f5 = (float)(5 + i * 10) / 32F; float f6 = 0.0F; float f7 = 0.15625F; float f8 = (float)(5 + i * 10) / 32F; float f9 = (float)(10 + i * 10) / 32F; float f10 = 0.05625F; GL11.glEnable(32826); float f11 = -f1; if(f11 > 0.0F) { float f12 = -MathHelper.sin(f11 * 3F) * f11; GL11.glRotatef(f12, 0.0F, 0.0F, 1.0F); } GL11.glRotatef(45F, 1.0F, 0.0F, 0.0F); GL11.glScalef(f10, f10, f10); GL11.glTranslatef(-4F, 0.0F, 0.0F); GL11.glNormal3f(f10, 0.0F, 0.0F); tessellator.startDrawingQuads(); tessellator.addVertexWithUV(-7D, -2D, -2D, f6, f8); tessellator.addVertexWithUV(-7D, -2D, 2D, f7, f8); tessellator.addVertexWithUV(-7D, 2D, 2D, f7, f9); tessellator.addVertexWithUV(-7D, 2D, -2D, f6, f9); tessellator.draw(); GL11.glNormal3f(-f10, 0.0F, 0.0F); tessellator.startDrawingQuads(); tessellator.addVertexWithUV(-7D, 2D, -2D, f6, f8); tessellator.addVertexWithUV(-7D, 2D, 2D, f7, f8); tessellator.addVertexWithUV(-7D, -2D, 2D, f7, f9); tessellator.addVertexWithUV(-7D, -2D, -2D, f6, f9); tessellator.draw(); for(int j = 0; j < 4; j++) { GL11.glRotatef(90F, 1.0F, 0.0F, 0.0F); GL11.glNormal3f(0.0F, 0.0F, f10); tessellator.startDrawingQuads(); tessellator.addVertexWithUV(-8D, -2D, 0.0D, f2, f4); tessellator.addVertexWithUV(8D, -2D, 0.0D, f3, f4); tessellator.addVertexWithUV(8D, 2D, 0.0D, f3, f5); tessellator.addVertexWithUV(-8D, 2D, 0.0D, f2, f5); tessellator.draw(); } GL11.glDisable(32826); GL11.glPopMatrix(); } public void doRender(Entity entity, double d, double d1, double d2, float f, float f1) { renderDynamite((DynamiteEntity)entity, d, d1, d2, f, f1); } protected ResourceLocation getEntityTexture(Entity entity) { return WeaponModResources.Textures.dynamite; } public float pitch; }
ClientProxy
import cpw.mods.fml.client.registry.RenderingRegistry; import ma.Yeyvo.Paladium.common.Dyna.DynamiteEntity; import ma.Yeyvo.Paladium.common.Dyna.DynamiteEntity2; import ma.Yeyvo.Paladium.common.Dyna.RenderDynamite; public class ClientProxy extends CommonProxy { @Override public void registerRender() { RenderingRegistry.registerEntityRenderingHandler(DynamiteEntity.class, new RenderDynamite()); RenderingRegistry.registerEntityRenderingHandler(DynamiteEntity2.class, new RenderDynamite()); } }
-
return WeaponModResources.Textures.dynamite;
Quelle est la valeur de cette variable ?
-
@‘robin4002’:
return WeaponModResources.Textures.dynamite;
Quelle est la valeur de cette variable ?
import net.minecraft.util.ResourceLocation;
public abstract class WeaponModResources
{
public static abstract class Textures
{public static final ResourceLocation dynamite = new ResourceLocation(“textures/entity/dynamite.png”);
public Textures()
{
}
}public WeaponModResources()
{
}
} -
new ResourceLocation(“textures/entity/dynamite.png”);
–->
new ResourceLocation(ClasseDeTonMod.modid, “textures/entity/dynamite.png”); -
Par contre pourquoi avoir déclaré la variable ResourceLocation dans cette classe et pas directement dans la fonction getEntityTexture ?
-
il faut pas un “:” avant le “texture/…”
-
@Plaignon
sa a fix la texture mais il n’y a toujours pas ni de particule ni de dégât …@Robin
car dans le futur j’aurai plusieurs type de dynamite et sa me permettra de mieux m’organiserEDIT= Ahh!! oui la dynamite la moin puissante se lance d’une façons chelou
-
[font=Ubuntu, sans-serifse lance d’une façons chelou]
C’est-à-dire ?
Et pour les particules et les dégâts, refais clairement une classe Entity de 0, ça sera mieux, car là, à partir d’un extends EntityArrow, déjà POO parlant, ça fait pas pro, car y’a aucune caractéristiques communes entre EntityArrow et ton entity dymanite…Sa sert à rien de l’extends pour ensuite te retapper 50 fonctions à override, tu vois ? Et les particules et dégâts seront à gérer dans la méthode onLivingUpdate, si collision il y a
-
youpi T.T
je dois refaire mes 2 entityje mis mets maintenant mais la il me faudra de l’aide (beaucoup)
je la lance elle se lance derrière ou …
-
Bah sois + précis, sur quoi penses-tu galérer ?
-
Resolu merci a tout le monde