chaos90

Membre
  • Compteur de contenus

    278
  • Inscription

  • Dernière visite

  • Days Won

    8

chaos90 last won the day on 28 juillet 2015

chaos90 had the most liked content!

Réputation sur la communauté

41 Réputation

2 abonnés

À propos de chaos90

  • Rang
    Pro
  • Date de naissance 11/12/98

Jeux

  • Minecraft
    Chaos90

Autres informations

  • Genre
    Male

Visiteurs récents du profil

1766 visualisations du profil
  1. Bonjour Chaos90,

    Pourrez-vous m'envoyer les source de spigot 1.7.10 ou craftbukkit 1.7.10.

    Cela serais pour du développement MCP car en réinitialisant mon PC je les ai perdu :/.

    Merci d'avance

    Cordialement MrCraftgaming

  2. Hey! chaos90 sa serais pour te demander comment faire un ToggleSprint ?

  3. 1.x

    Merci j'ai corrigé ^^ Il y a plus beaucoup de suggestions donc si vous avez des choses a proposer en tutoriel, je veux bien les executer :)
  4. 1.x

    pas besoin de le mettre coté serveur ^^ EDIT : j'ai modifier des choses :)
  5. 1.x

    oui je vois merci pour ta proposition
  6. 1.x

    Mettre une description sur un item Cette oeuvre est mise à disposition selon les termes de la Licence Creative Commons Attribution - Pas dUtilisation Commerciale - Pas de Modification 3.0 non transposé . Tout partage implique que vous citiez l'auteur original. -[iNTRODUCTION]- Salut tout le monde ! Dans ce tutoriel nous allons voir comment ajouter une description sur un item -[SOMMAIRE]- 1] Ajouter la description 2] Ajouter une touche pour voir la description 3] Mettre une description d'un item sans description 4] Bonus d'amélioration a] pouvoir changer la touche 1] Ajouter la description Pour ajouter une description sur un item rien de bien compliquer nous allons aller dans Item.java et chercher public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) {} Ensuite dans les accolade nous allons tout simplement ajouter un IF - ELSE avec une conditions qui va récupérer l'item en choisi comme ceci : public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { if (par1ItemStack.getItem() == Items.diamond_sword) // on cherche l'item par3List.add("Description"); // on ajoute la description } Voici un screen : 2] Ajouter une touche pour voir la description Alors pour le moment nous avons ça : public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { if (par1ItemStack.getItem() == Items.diamond_sword) // on cherche l'item par3List.add("Description"); // on ajoute la description } Mais nous velons que quand on appuis sur LSHIFT par exemple que ça affiche la description nous nous allons rajouter un autre IF une condition de KeyBinding comme ceci : public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { if(Keyboard.isKeyDown(42)) { // si la touche LSHIFT est pressée alors ça execute if (par1ItemStack.getItem() == Items.diamond_sword) // on cherche l'item par3List.add("Description"); // on ajoute la description } else par3List.add("Appuyez sur LSHIFT pour voir la description"); // si la touche LSHIFT n'est pas pressée alors on affiche ceci } Donc la si on appuis pas ça affiche rien et si on appuis ça affiche la description sauf qu'il faut prévenir les personne d'appuyer sur LSHIFT donc nous allons tout simplement faire un ELSE qui va rajouter une description mais just pour nous prévenir comme ceci voila donc pour le moment nous avons ceci: un petit screen : 3] Mettre une description d'un item sans description Maintenant nous avons notre description quand on appuis sur LSHIFT mais tout les items on aussi la phrase "Appuyez sur LSHIFT pour voir la description" sauf que ensuite ça n'affiche rien donc nous allons rajouter une else après le if de l'item choisi comme cela : public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { if(Keyboard.isKeyDown(42)) { // si la touche LSHIFT est pressée alors ça execute if (par1ItemStack.getItem() == Items.diamond_sword) // on cherche l'item par3List.add("Description"); // on ajoute la description else par3List.add("Aucune description pour cet item"); // on ajoute la description de tout les items non défini } else par3List.add("Appuyez sur LSHIFT pour voir la description"); // si la touche LSHIFT n'est pas pressée alors on affiche ceci } Et voila nous avons terminé le tutoriel pour ajouter une description à un item, 4] Bonus d'amélioration a] pourvoir changer la touche Alors pour changer la touche du keybinding il nous faut aller dans GameSettings.java et ajouter une variable d'un KeyBinding : public KeyBinding keyDescription; Ensuite dans le constructeur GameSettings nous allons ajouter : this.keyDescription = new KeyBinding("Description Item", 42, "key.categories.misc"); // this.keyDescription = new KeyBinding("NOM", touche par défaut, "catégorie"); Ensuite nous voyons this.keyBindings = (KeyBinding[])((KeyBinding[])ArrayUtils.addAll(new KeyBinding[] {this.keyBindAttack, this.keyBindUseItem, this.keyBindForward, this.keyBindLeft, this.keyBindBack, this.keyBindRight, this.keyBindJump, this.keyBindSneak, this.keyBindDrop, this.keyBindInventory, this.keyBindChat, this.keyBindPlayerList, this.keyBindPickBlock, this.keyBindCommand, this.keyBindScreenshot, this.keyBindTogglePerspective, this.keyBindSmoothCamera, this.keyBindSprint}, this.keyBindsHotbar)); avec tout les keybinding, donc nous on va rajouter le notre comme ceci : this.keyBindings = (KeyBinding[])((KeyBinding[])ArrayUtils.addAll(new KeyBinding[] {this.keyDescription/* <---- */, this.keyBindAttack, this.keyBindUseItem, this.keyBindForward, this.keyBindLeft, this.keyBindBack, this.keyBindRight, this.keyBindJump, this.keyBindSneak, this.keyBindDrop, this.keyBindInventory, this.keyBindChat, this.keyBindPlayerList, this.keyBindPickBlock, this.keyBindCommand, this.keyBindScreenshot, this.keyBindTogglePerspective, this.keyBindSmoothCamera, this.keyBindSprint}, this.keyBindsHotbar)); Ensuite on va chercher l'autre constructeur GameSettings et on peu remarquer que c'est exactement la même chose donc tout simplement vous faire parreil ! Voila vous avez crée votre keyBinding mais maintenant il faut l'ajouter a notre code donc on retourne dans Item.java et notre if(Keyboard.isKeyDown(42)) va se transformer en if(Keyboard.isKeyDown(Minecraft.getMinecraft().gameSettings.keyDescription.getKeyCode())) // on récupère la touche du keyBinding en int Petit screen : Mais maintenant il nous faut récupérer le nom de la touche pour que ça l'affiche en description au lieu de mettre un text simple. Donc on va remplacer ce code : par3List.add("Appuyez sur LSHIFT pour voir la description"); par ceci : par3List.add("Appuyez sur " + Minecraft.getMinecraft().gameSettings.getKeyDisplayString(Minecraft.getMinecraft().gameSettings.keyDescription.getKeyCode()) /* on récupère le nom de la touche */ + " pour voir la description"); Et voilà ! Vous avez un keybinding fontionnel et stylay ! si je change le touche en A par exemple voici ce que ça donne : Merci d'avoir lu ce tutoriel et on se retrouve plus tard ! :)
  7. et bien il faut apprendre les base du java , déjà il faut que tu mettent ça dans un JPanel et ensuite tu devrai trouver sur internet
  8. Hum je pense que personne va te repondre car ces sources sont extrement nul à chier, bourré de boucle infini qui bousille ton processeur, enfin bref passons des détaille. Ce que ne te conseil de faire c'est de suivre le tutoriel de TheShark34.
  9. Vanilla

    mais pourquoi faire un autre matérial ? on peu tout simplement utiliser le Material.anvil sur le client et le Material.HEAVY sous craftbukkit ça évite de faire du changement partout ^^
  10. Vanilla

    Ce tuto peut-être très utile je l'accorde !
  11. Item qui fait spawn un mob en Vanilla -[iNTRODUCTION]- Bonjour à tous ! Dans ce tutoriel, nous allons faire un Item qui fait spawn un mob, commençons sans attendre -[sOMMAIRE]- 1]Création d'un classe ordinaire 2]Création d'une méthode onItemUse 3]Faire spawner le mob 4] Craftbukkit 1]Création d'une classe ordinaire Commençons par créer une class ordinaire. package fr.tonnom.tonmod; public class ItemMob { public ItemMob() { } } Puis nous allons ajouter le stack maximum (pour moi ce sera 1), sa durabilité (pour moi ce sera 5) et l'emplacement dans l'inventaire creatif. Nous allons donc ajouter ces deux lignes : this.setCreativeTab(CreativeTabs.tabMisc); this.setMaxDamage(5); this.setMaxStackSize(1); dans le " public void ItemMob() " 2] Création d'une méthodeonItemUse Commençons par créer notre méthode en boolean, qui va s'éxécuter lors de l'utilisation de l'item. public boolean onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int par4, int par5, int par6, int par7, float par8, float par9, float par10) return true; } Ensuite ajoutons-y ce qu'il nous faut, c'est à dire récupérer les informations du bloc clicker public boolean onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int par4, int par5, int par6, int par7, float par8, float par9, float par10) { par1ItemStack.damageItem(1, par2EntityPlayer); // ici nous faisons en sorte que la durabilité baisse de 1 après un click droit if (par3World.isClient) // si le mon est Client alors... { return true; // ... ça renvoi true ... } else // ... sinon ... { Block var11 = par3World.getBlock(par4, par5, par6); // on récupère le bloc par4 += Facing.offsetsXForSide[par7]; // ------ par5 += Facing.offsetsYForSide[par7]; // | -- on récupère les coordonnées par6 += Facing.offsetsZForSide[par7]; //------- double var12 = 0.0D; if (par7 == 1 && var11.getRenderType() == 11) { var12 = 0.5D; } Entity var14 = spawnCreature(par3World, 2, (double)par4 + 0.5D, (double)par5 + var12, (double)par6 + 0.5D); if (var14 != null) { if (var14 instanceof EntityLivingBase && par1ItemStack.hasDisplayName()) { ((EntityLiving)var14).setCustomNameTag(par1ItemStack.getDisplayName()); } } return true; } } 3] Faire spawner le mob Ici nous allons créér notre méthode " spawnCreature "en static public static Entity spawnCreature(World par0World, int par1, double par2, double par4, double par6) { } Puis nous allons mettre tout ce qu'il nous faut à lintérieur, c'est à dire la récupération du mob. public static Entity spawnCreature(World par0World, int par1, double par2, double par4, double par6) { Entity var8 = null; for (int var9 = 0; var9 < 1; ++var9) // nous créons une boucle " for " { var8 = EntityList.createEntityByID(50, par0World); // ici nous allons faire spawner un creeper qui a l'id " 50 " donc nous récupérons le mob. if (var8 != null && var8 instanceof EntityLivingBase) // donc si le mob n'est pas = à null et qu'il instance bien EntityLivingBase alors ... { EntityLiving var10 = (EntityLiving)var8; var8.setLocationAndAngles(par2, par4, par6, MathHelper.wrapAngleTo180_float(par0World.rand.nextFloat() * 360.0F), 0.0F); // --------------------------------- var10.rotationYawHead = var10.rotationYaw; // | // on défini les positions du mob. var10.renderYawOffset = var10.rotationYaw; //------------- var10.onSpawnWithEgg((IEntityLivingData)null); par0World.spawnEntityInWorld(var8); // on fait spawn l'entité var10.playLivingSound(); // on émet son bruit. } } return var8; } ce qui nous donne au final : package fr.tonnom.tonmod; public class ItemMob extends Item { public ItemMob() { this.setCreativeTab(CreativeTabs.tabMisc); this.setMaxDamage(5); this.setMaxStackSize(1); } public boolean onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int par4, int par5, int par6, int par7, float par8, float par9, float par10) { par1ItemStack.damageItem(1, par2EntityPlayer); if (par3World.isClient) { return true; } else { Block var11 = par3World.getBlock(par4, par5, par6); par4 += Facing.offsetsXForSide[par7]; par5 += Facing.offsetsYForSide[par7]; par6 += Facing.offsetsZForSide[par7]; double var12 = 0.0D; if (par7 == 1 && var11.getRenderType() == 11) { var12 = 0.5D; } Entity var14 = spawnCreature(par3World, 2, (double)par4 + 0.5D, (double)par5 + var12, (double)par6 + 0.5D); if (var14 != null) { if (var14 instanceof EntityLivingBase && par1ItemStack.hasDisplayName()) { ((EntityLiving)var14).setCustomNameTag(par1ItemStack.getDisplayName()); } } return true; } } public static Entity spawnCreature(World par0World, int par1, double par2, double par4, double par6) { Entity var8 = null; for (int var9 = 0; var9 < 1; ++var9) { var8 = EntityList.createEntityByID(50, par0World); if (var8 != null && var8 instanceof EntityLivingBase) { EntityLiving var10 = (EntityLiving)var8; var8.setLocationAndAngles(par2, par4, par6, MathHelper.wrapAngleTo180_float(par0World.rand.nextFloat() * 360.0F), 0.0F); var10.rotationYawHead = var10.rotationYaw; var10.renderYawOffset = var10.rotationYaw; var10.onSpawnWithEgg((IEntityLivingData)null); par0World.spawnEntityInWorld(var8); var10.playLivingSound(); } } return var8; } } 4] Craftbukkit Pour le craftbukkit c'est le même concept donc je vous donne le code directement : 1.7.2 : package net.minecraft.server; public class ItemMob extends Item { public ItemMob(){ this.maxStackSize = 1; this.setMaxDurability(5); } public boolean interactWith(ItemStack itemstack, EntityHuman entityhuman, World world, int i, int j, int k, int l, float f, float f1, float f2) { itemstack.damage(1, entityhuman); if (world.isStatic || itemstack.getData() == 48 || itemstack.getData() == 49 || itemstack.getData() == 63 || itemstack.getData() == 64) { return true; } else { Block block = world.getType(i, j, k); i += Facing.b[l]; j += Facing.c[l]; k += Facing.d[l]; double d0 = 0.0D; if (l == 1 && block.b() == 11) { d0 = 0.5D; } Entity entity = a(world, 2, (double) i + 0.5D, (double) j + d0, (double) k + 0.5D); if (entity != null) { if (entity instanceof EntityLiving && itemstack.hasName()) { ((EntityInsentient) entity).setCustomName(itemstack.getName()); } } return true; } } public static Entity a(World world, int i, double d0, double d1, double d2) { return spawnCreature(world, i, d0, d1, d2, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.SPAWNER_EGG); } public static Entity spawnCreature(World world, int i, double d0, double d1, double d2, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason spawnReason) { Entity entity = null; for (int j = 0; j < 1; ++j) { entity = EntityTypes.a(50, world); if (entity != null && entity instanceof EntityLiving) { EntityInsentient entityinsentient = (EntityInsentient) entity; entity.setPositionRotation(d0, d1, d2, MathHelper.g(world.random.nextFloat() * 360.0F), 0.0F); entityinsentient.aO = entityinsentient.yaw; entityinsentient.aM = entityinsentient.yaw; entityinsentient.a((GroupDataEntity) null); world.addEntity(entity, spawnReason); entityinsentient.r(); } } return entity; } } 1.7.10 : package net.minecraft.server; public class ItemMob extends Item { public ItemMob(){ this.maxStackSize = 1; this.setMaxDurability(5); } public boolean interactWith(ItemStack itemstack, EntityHuman entityhuman, World world, int i, int j, int k, int l, float f, float f1, float f2) { itemstack.damage(1, entityhuman); if (world.isStatic || itemstack.getData() == 48 || itemstack.getData() == 49 || itemstack.getData() == 63 || itemstack.getData() == 64) { return true; } else { Block block = world.getType(i, j, k); i += Facing.b[l]; j += Facing.c[l]; k += Facing.d[l]; double d0 = 0.0D; if (l == 1 && block.b() == 11) { d0 = 0.5D; } Entity entity = a(world, 2, (double) i + 0.5D, (double) j + d0, (double) k + 0.5D); if (entity != null) { if (entity instanceof EntityLiving && itemstack.hasName()) { ((EntityInsentient) entity).setCustomName(itemstack.getName()); } } return true; } } public static Entity a(World world, int i, double d0, double d1, double d2) { return spawnCreature(world, i, d0, d1, d2, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.SPAWNER_EGG); } public static Entity spawnCreature(World world, int i, double d0, double d1, double d2, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason spawnReason) { Entity entity = null; for (int j = 0; j < 1; ++j) { entity = EntityTypes.a(50, world); if (entity != null && entity instanceof EntityLiving) { EntityInsentient entityinsentient = (EntityInsentient) entity; entity.setPositionRotation(d0, d1, d2, MathHelper.g(world.random.nextFloat() * 360.0F), 0.0F); entityinsentient.aO = entityinsentient.yaw; entityinsentient.aM = entityinsentient.yaw; entityinsentient.prepare((GroupDataEntity) null); world.addEntity(entity, spawnReason); entityinsentient.r(); } } return entity; } } Et voilà merci d'avoir suivi ce tutoriel et je vous dit à bientôt ! 10/07/2015 21:24 Corrigé et mis en page par Zetsyog 11/07/2015 12:27 Fautes criminelles de convention corrigées par TheShark34
  12. Je suis désolé mais tout le monde dit : (wow c'est cher !) Mais allez voir d'autres dev qui font un travail plus merdique que nous et qui font payer le tout pour 200 et ca je peu vous dire qu'il y en a plein des gens qui vendent leur launcher minecraft 100% perso pour 75 à 100 . Je trouve ça un peu désolant de critiquer les gens comme ça les traiter comme des veilles chausettes alors que les autres ne font que copier le code des autres. Donc si vous êtes pas comptent evitez de partager vos humeurs sur le CV des gens pour les critiquer car vous vous croyez meilleur merci.
  13. Vanilla

    Oui avec livre c'est possible