Résolu Problème de direction quand ont pose le block à terre.
-
Bonjour à tous,
je suis toujours à la recherche d’une solution pour la direction de mon block, c’est a dire quand je pose mon block a terre et que sa soit le nord, ouest, est ou sud et que la texture (devant)soit en face à moi.Je sais que c’est un problème de metadata (et j’ai du mal avec les metadata justement), donc je viens recueillir votre aide.
Quelles photo pour info de ce que je veut :![](http://bountycraft.power-heberg.com/Images perso/mods.png)
![](http://bountycraft.power-heberg.com/Images perso/mods1.png) ![](http://bountycraft.power-heberg.com/Images perso/mods2.png)
Merci d’avance…
[mon code]
package crepi.mod; import java.util.List; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.ItemStack; import net.minecraft.util.Icon; public class BlockComptoir1 extends Block { public BlockComptoir1(int par1, Material par2Material) { super(par1, par2Material); this.setCreativeTab(ModBuild.CreativeTabAccessoire); } private Icon bottomIcon; // dessus private Icon topIcon; // dessous private Icon sideIcon; // face private Icon frontIcon; // devant private Icon rearIcon; // dos @SideOnly(Side.CLIENT) public Icon getIcon(int par1, int par2) { if(par1 == 0 && par2 == 0){return this.bottomIcon; // dessous } else if (par1 == 1 && par2 == 0){return this.topIcon; // dessus } else if (par1 == 2 && par2 == 0){return this.rearIcon; // dos } else if (par1 == 3 && par2 == 0){return this.frontIcon; // devant } else if (par1 == 4 && par2 == 0){return this.bottomIcon; // gauche } else if (par1 == 5 && par2 == 0){return this.bottomIcon; // droite } else{ return this.sideIcon;} } @Override @SideOnly(Side.CLIENT) public void registerIcons(IconRegister reg) { this.blockIcon = reg.registerIcon("comptoir1"); this.topIcon = reg.registerIcon("comptoir_dessus"); // haut this.bottomIcon = reg.registerIcon("comptoir_coter"); // bas this.sideIcon = reg.registerIcon("comptoir_coter"); // droite & gauche this.frontIcon = reg.registerIcon("comptoir1"); // devant this.rearIcon = reg.registerIcon("comptoir_logo1"); // dos } public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase living, ItemStack stack) { int direction = MathHelper.floor_double((double)(living.rotationYaw * 4.0F / 360.0F) + 2.5D) & 3; world.setBlockMetadataWithNotify(x, y, z, direction, 2); } }
Merci d’avance pour votre aide.
Je vais encore survoler le forum voir si j’aurais pas oublié de voir quelques info à ce sujet.Bounty…
-
public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase living, ItemStack stack) { int direction = MathHelper.floor_double((double)(living.rotationYaw * 4.0F / 360.0F) + 2.5D) & 3; world.setBlockMetadataWithNotify(x, y, z, direction, 2); }
Sans ce code ça peut pas fonctionner.
Et sinon => http://www.minecraftforgefrance.fr/showthread.php?tid=115 -
Re,
J’ai placer le code suivant le topic Direction de bloc à l’adresse que tu ma donné, mais il me souligne en rouge EntityLivingBase et la je vois pas il me demande de créer la class EntityLivingBase ou de refaire les paramètre.
![](http://bountycraft.power-heberg.com/Images perso/entity.png).
Je suis encore en ver. 1.5.1
Bounty…
-
Clique sur “Change to ‘EntityLiving’”
-
Re bonjour à tous,
Merci tout d’abord à Robin4002 et Elias54 pour leur aide qui ma été d’un grand secours,
sans les quelles je devrait dire que j’y serait encore sur mon script.je me suis permis de reposer mon (code) rectifier car je ne savez pas trop s’il fallait
le rééditer.package crepi.mod; import java.util.List; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; import net.minecraft.block.BlockDirectional; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.EntityLiving; import net.minecraft.item.ItemStack; import net.minecraft.util.Icon; import net.minecraft.util.MathHelper; import net.minecraft.world.World; public class BlockComptoir1 extends BlockDirectional{ public BlockComptoir1(int par1, Material par2Material) { super(par1, par2Material); this.setCreativeTab(ModBuild.CreativeTabAccessoire); } // - Mes4Texures - // private Icon iconfront; // LeDevant private Icon icontop; // LeDessous private Icon iconbottom; // LeDessus private Icon iconrear; // LeDos @SideOnly(Side.CLIENT) public Icon getIcon(int side, int metadata) { return side == 1 ? this.icontop : (side == 0 ? this.iconbottom : (metadata == 2 && side == 2 ? this.iconfront : (metadata == 3 && side == 5 ? this.iconfront : (metadata == 0 && side == 3 ? this.iconfront : (metadata == 1 && side == 4 ? this.iconfront : this.blockIcon))))); } @Override @SideOnly(Side.CLIENT) public void registerIcons(IconRegister iconRegister) { blockIcon = iconRegister.registerIcon("comptoir_coter"); iconfront = iconRegister.registerIcon("comptoir1"); // LeDevant icontop = iconRegister.registerIcon("comptoir_dessus"); // LeHaut iconbottom = iconRegister.registerIcon("comptoir_coter"); // LeBas iconrear = iconRegister.registerIcon("comptoir_logo1"); // LeDos } public void onBlockPlacedBy(World world, int x, int y, int z, EntityLiving living, ItemStack stack) { int direction = MathHelper.floor_double((double)(living.rotationYaw * 4.0f / 360.0f) + 2.5D) & 3; world.setBlockMetadataWithNotify(x, y, z, direction, 2); } }
Une dernière chose encore sur mon code j’aurais voulu que le derrière de mon cube est un autre
texture (iconrear), car la elle la (blockIcon) et je ne vois pas entre qui je dois la mettre.
Et si vous pouviez m’aider encore une fois svp.public Icon getIcon(int side, int metadata) { return side == 1 ? this.icontop : (side == 0 ? this.iconbottom : (metadata == 2 && side == 2 ? this.iconfront : (metadata == 3 && side == 5 ? this.iconfront : (metadata == 0 && side == 3 ? this.iconfront : (metadata == 1 && side == 4 ? this.iconfront : this.blockIcon))))); }
Merci d’avance.
Bounty…
-
public Icon getIcon(int side, int metadata) { return side == 1 ? this.icontop : (side == 0 ? this.iconbottom : (metadata == 2 && side == 2 ? this.iconfront : (metadata == 3 && side == 5 ? this.iconfront : (metadata == 0 && side == 3 ? this.iconfront : (metadata == 1 && side == 4 ? this.iconfront : (metadata == 2 && side == 3 ? this.iconbehind : (metadata == 3 && side == 4 ? this.iconbehind : (metadata == 0 && side == 2 ? this.iconbehind : (metadata == 1 && side == 5 ? this.iconbehind : this.blockIcon))))))))); }
-
Bonjour à tous,
Merci encore, problème entièrement résolu.
Bounty…