Et voila, comme vous l'attendiez, un tutoriel pour apprendre à mettre un pseudo sur le mob. Ce tutoriel est assez cours.
1. Dans votre fichier d'ENTITY, rajoutez ce qui est en vert :
__________________________________
package net.minecraft.src;
import java.util.List;
import net.minecraft.client.Minecraft;
import org.w3c.dom.Entity;
public class EntityMob extends EntityLiving
{
public String npcName;
public EntityMob(World world)
{
super(world);
texture = "/mod/texture.png";
moveSpeed = 5.0F;
health = 20;
npcName = "Naito [Mineur]";
}
public EntityMob(World world, double d, double d1, double d2, float f)
{
this(world);
setPosition(d, d1 + 1.0F, d2);
motionX = 0.0D;
motionY = 0.0D;
motionZ = 0.0D;
prevPosX = d;
prevPosY = d1;
prevPosZ = d2;
}
public void writeEntityToNBT(NBTTagCompound nbttagcompound)
{
super.writeEntityToNBT(nbttagcompound);
}
public void readEntityFromNBT(NBTTagCompound nbttagcompound)
{
super.readEntityFromNBT(nbttagcompound);
}
protected int getDropItemId()
{
{
return Item.porkCooked.shiftedIndex;
}
}
public int getMaxHealth()
{
return 0;
}
}
______________________________
2. Dans le fichier RENDER de votre mob, pareil ajoutez ces lignes et lettre :
__________________________________
package net.minecraft.src;
import org.lwjgl.opengl.GL11;
public class RenderMob extends RenderBiped (ou Quadruped, sa marche aussi)
{
protected void preRenderScale(EntityNaito entity, float f)
{
GL11.glScalef(1.0F, 1.0F, 1.0F);
}
public RenderNaito(ModelNaito modelbiped, float f)
{
super(modelbiped, f);
modelBipedMain = modelbiped;
}
public void renderMobA(EntityNaito entity, double d, double d1, double d2, float f, float f1)
{
super.doRenderLiving(entity, d, d1, d2, f, f1);
if(entity.npcName.length() > 0 && entity.npcName != "")
{
renderLivingLabel(entity, entity.npcName, d, d1, d2, 64);
}
}
public void doRenderLiving(EntityMob entityliving, double d, double d1, double d2,
float f, float f1)
{
super.doRenderLiving((EntityMob) entityliving, d, d1, d2, f, f1);
}
public void doRender(Entity entity, double d, double d1, double d2, float f, float f1)
{
renderNaitoA((EntityMob)entity, d, d1, d2, f, f1);
}
protected void preRenderCallback(EntityLiving entityliving, float f)
{
preRenderScale((EntityMob)entityliving, f);
}
}
____________________
Examinons les ajouts dans le code Render:
if(entity.npcName.length() > 0 && entity.npcName != "")
{
renderLivingLabel(entity, entity.npcName, d, d1, d2, 64);
}
Ce "if" permet de dire au fichier render que le mob sera comme un "joueur NPC Multi"
A = Cette lettre s'ajoute comme indiqué dans le code, elle sert aussi à forcer le mob à avoir un pseudo sur la tête.
Examinons les ajouts dans le code ENTITY :
public String npcName; = Cette constante déclare le type "npcName"
-
npcName = "Tralala";
Comme son nom l'indique, c'est le type qui va ajouter le pseudo au dessus du mob, j'ai mis "Tralala", donc "Tralala" sera affiché au dessus de sa tête
Voili, voilou Et je montrerai aussi comment créer un projectile pour compléter une partie du tuto
1. Dans votre fichier d'ENTITY, rajoutez ce qui est en vert :
__________________________________
package net.minecraft.src;
import java.util.List;
import net.minecraft.client.Minecraft;
import org.w3c.dom.Entity;
public class EntityMob extends EntityLiving
{
public String npcName;
public EntityMob(World world)
{
super(world);
texture = "/mod/texture.png";
moveSpeed = 5.0F;
health = 20;
npcName = "Naito [Mineur]";
}
public EntityMob(World world, double d, double d1, double d2, float f)
{
this(world);
setPosition(d, d1 + 1.0F, d2);
motionX = 0.0D;
motionY = 0.0D;
motionZ = 0.0D;
prevPosX = d;
prevPosY = d1;
prevPosZ = d2;
}
public void writeEntityToNBT(NBTTagCompound nbttagcompound)
{
super.writeEntityToNBT(nbttagcompound);
}
public void readEntityFromNBT(NBTTagCompound nbttagcompound)
{
super.readEntityFromNBT(nbttagcompound);
}
protected int getDropItemId()
{
{
return Item.porkCooked.shiftedIndex;
}
}
public int getMaxHealth()
{
return 0;
}
}
______________________________
2. Dans le fichier RENDER de votre mob, pareil ajoutez ces lignes et lettre :
__________________________________
package net.minecraft.src;
import org.lwjgl.opengl.GL11;
public class RenderMob extends RenderBiped (ou Quadruped, sa marche aussi)
{
protected void preRenderScale(EntityNaito entity, float f)
{
GL11.glScalef(1.0F, 1.0F, 1.0F);
}
public RenderNaito(ModelNaito modelbiped, float f)
{
super(modelbiped, f);
modelBipedMain = modelbiped;
}
public void renderMobA(EntityNaito entity, double d, double d1, double d2, float f, float f1)
{
super.doRenderLiving(entity, d, d1, d2, f, f1);
if(entity.npcName.length() > 0 && entity.npcName != "")
{
renderLivingLabel(entity, entity.npcName, d, d1, d2, 64);
}
}
public void doRenderLiving(EntityMob entityliving, double d, double d1, double d2,
float f, float f1)
{
super.doRenderLiving((EntityMob) entityliving, d, d1, d2, f, f1);
}
public void doRender(Entity entity, double d, double d1, double d2, float f, float f1)
{
renderNaitoA((EntityMob)entity, d, d1, d2, f, f1);
}
protected void preRenderCallback(EntityLiving entityliving, float f)
{
preRenderScale((EntityMob)entityliving, f);
}
}
____________________
Examinons les ajouts dans le code Render:
if(entity.npcName.length() > 0 && entity.npcName != "")
{
renderLivingLabel(entity, entity.npcName, d, d1, d2, 64);
}
Ce "if" permet de dire au fichier render que le mob sera comme un "joueur NPC Multi"
A = Cette lettre s'ajoute comme indiqué dans le code, elle sert aussi à forcer le mob à avoir un pseudo sur la tête.
Examinons les ajouts dans le code ENTITY :
public String npcName; = Cette constante déclare le type "npcName"
-
npcName = "Tralala";
Comme son nom l'indique, c'est le type qui va ajouter le pseudo au dessus du mob, j'ai mis "Tralala", donc "Tralala" sera affiché au dessus de sa tête
Voili, voilou Et je montrerai aussi comment créer un projectile pour compléter une partie du tuto