• Effet surbrillance / enchantement.

    Résolu 1.8
    3
    0 Votes
    3 Messages
    893 Vues
    Douille'D
    Bonsoir Robin4002, merci à toi de ta réponses. Et, pour les formules de politesse, je sais que nous sommes sur un forum, mais trouves tellement plus agréable à lire, vous prenez quand même 5 petites minutes de votre temps, vous n’êtes pas obliger de la faire. Merci à toi. Sans formule de politesse alors.
  • Problème ajout d'ItemStack dans l'inventaire

    Résolu 1.8
    4
    0 Votes
    4 Messages
    863 Vues
    BrokenSwingB
    Ah bah oui, ça marche sans le !world.isRemote, c’est tout bête. Merci EDIT : player.inventory.markDirty() ne marche pas, j’avais déjà essayé
  • Création de minerai

    Résolu 1.8
    13
    0 Votes
    13 Messages
    3k Vues
    robin4002R
    C’est ça, l’int fortune est le niveau de l’enchantement. Mais pour dropper plus il faut utiliser la fonction quantityDropped et non celle-ci.
  • Gui et ExtendedEntityProperties

    Résolu 1.8
    6
    0 Votes
    6 Messages
    1k Vues
    T
    Merci c’était ça en effet ^^. Je passe en résolu.
  • Collision sur blocs non cubiques

    Résolu 1.8
    6
    0 Votes
    6 Messages
    2k Vues
    L
    Merci à tous pour les infos, j’ai donc été voir la classe pour la plaque de pression et j’ai trouvé. En fait dans ma classe je surchargeait la méthode onEntityCollidedWithBlock avec le prototype suivant :      public void onEntityCollidedWithBlock(World worldIn, BlockPos pos, Entity entityIn) { } Il fallait utiliser le prototype :     public void onEntityCollidedWithBlock(World worldIn, BlockPos pos, IBlockState state, Entity entityIn) {} En faisant des tests, je me suis aperçu que si on surcharge la méthode setBlockBoundsBasedOnState alors c’était la méthode onEntityCollidedWithBlock(World worldIn, BlockPos pos, IBlockState state, Entity entityIn) qui est appelée, sinon c’était la méthode onEntityCollidedWithBlock(World worldIn, BlockPos pos, Entity entityIn) qui est appelée. C’est étrange, mais bon  package com.loops.tutorial.blocks; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.block.state.IBlockState; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.util.BlockPos; import net.minecraft.util.ChatComponentText; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; public class DiamondPlate extends Block {  public DiamondPlate(Material materialIn)  { super(materialIn);  }  public void setBlockBoundsBasedOnState(IBlockAccess worldIn, BlockPos pos)  {    this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.0625F, 1.0F);      }  public void onEntityCollidedWithBlock(World worldIn, BlockPos pos, IBlockState state, Entity entityIn)  {    if (entityIn instanceof EntityPlayer)    {        EntityPlayer player = (EntityPlayer)entityIn;      player.addChatMessage(new ChatComponentText("Collision avec le bloc"));    }  }  public boolean isOpaqueCube()  {      return false;  }  public boolean isFullCube()  {      return false;  } } En tout cas merci pour votre aide. Je met le sujet en résolu.
  • Créer une structure composée de plusieurs blocs

    Résolu 1.8
    6
    0 Votes
    6 Messages
    2k Vues
    SCAREXS
    Voilà une petite aide : https://github.com/SleepyTrousers/EnderIO/tree/master/src/main/java/crazypants/enderio/machine/power tu trouveras dedans tout ce qu’il te faut sur les capacitors banks qui est une structure multi-block
  • Chaise

    Résolu 1.8
    19
    0 Votes
    19 Messages
    4k Vues
    DiangleD
    passe par les axis ou direction.
  • Génération de minerai dans le Nether

    Résolu 1.8
    13
    0 Votes
    13 Messages
    2k Vues
    H
    Après plusieurs essais ça a finalement marché, bizarre …
  • Rotation de bloc

    Résolu 1.8
    7
    0 Votes
    7 Messages
    1k Vues
    robin4002R
    Escalier c’est en effet plus complexe. Il faut un deuxième blockstate pour haut / bas. Un extends BlockStairs c’est en effet pas très propre, il faudrait plutôt prendre le code en rapport avec la position haut/bas.
  • Bloc sans item associé

    Résolu 1.8
    23
    0 Votes
    23 Messages
    4k Vues
    SpookyS
    Ok , c’est alphabetique il me semble, c’est peu con comme système, si minecraft cherchais tout simplement l’ordre défini dans createBlockState() j’aurais pas à refaire tout les fichiers …
  • Problème dimension /:

    Résolu 1.8
    20
    0 Votes
    20 Messages
    4k Vues
    FlowF
    Merci j’en prend note
  • Rendu des TileEntity en 1.8

    Résolu 1.8
    17
    0 Votes
    17 Messages
    3k Vues
    FlowF
    @‘jglrxavpok’: Ça fait presque un an qu’on gueule sur LexManos, et c’est que maintenant qu’il le fait… Mieux vaut tard que jamais? Sent from my GT-I9000 using Tapatalk 2 xDD En tout cas il suffisait que je demande , I’m a king and if I want something , I fucking get it !
  • Tenir un item comme un arc en train de charger

    Résolu 1.8
    10
    0 Votes
    10 Messages
    2k Vues
    elias54E
    Bon, après être lassé de chercher pendant plusieurs heures, j’ai fini par y arriver ! [image: f868a4af3b.png] J’ai tout simplement (je dois dire que ça m’embête mais tant pis) repris le code de l’API pour l’intégrer au mod, et visiblement ça a fonctionné. Je passe donc le sujet en résolu. Si des personnes souhaiteraient avoir les bouts de code que j’ai utilisé, il suffit de demander !
  • Model pour une armure

    Résolu 1.8
    3
    0 Votes
    3 Messages
    1k Vues
    XeimaiX
    Arf… on voit que le modding 1.8 c’est pas encore ça… j’avais vu dans plusieurs tutos que tout ce qui était lié aux textures et aux Models se faisait en Json maintenant… du coup comme un *** j’ai suivit ça au pied de la lettre -_- C’était bien ça le problème ^^" Bon par contre elles sont devenues toutes petites et sont au niveau des jambes du perso mais en modifiant le modèle ça devrait se gérer ^^ Je met en Résolu et j’éditerais si j’y arrive pas X) En tout cas merci beaucoup et bonne journée à toi ^^
  • Problème de json

    Résolu 1.8
    7
    0 Votes
    7 Messages
    1k Vues
    FlowF
    @‘robin4002’: Problème 1 : tu as dans certains json le modid écrit avec des majuscules. Problème 2 : les fichier json doivent avoir le même nom que celui dans gameRegistry.registerItem. Donc        mesher.register(ItemRegister.itemCPU, 0, new ModelResourceLocation(DinoCraft.MODID + “:itemCPU”, “inventory”)); ->        mesher.register(ItemRegister.itemCPU, 0, new ModelResourceLocation(DinoCraft.MODID + “:item_CPU”, “inventory”)); Afin de correspondre à        GameRegistry.registerItem(itemCPU, “item_CPU”); Le nom du json doit bien sûr aussi être changé. Idem pour les autres items. Je reconnais que la 1.8 est assez chiante. Assez ? Merci je vais modifier tout ca et je te dis si ca marche On sait jamais  ^^ EDIT : Ca ne marche pas cher moi , j’ai bien tout changer comme tu as dis …
  • Spawn Egg custom

    Résolu
    5
    0 Votes
    5 Messages
    2k Vues
    FlowF
    Ca servira pour ceux qui cherche En tout cas merci à Scarex j’ai utilisé la réflection
  • Créer une zone

    Résolu 1.8
    7
    0 Votes
    7 Messages
    2k Vues
    AmaA
    Pour cette méthode le mieux serait de passer par un event ou d’appeler et d’enregistrer le tout dans le WorldSavedData ?
  • Faire spawn un block ou une structure

    Résolu 1.8
    6
    0 Votes
    6 Messages
    2k Vues
    AxaurusA
    Je ferai plutôt une for qui commence à y et qui augmente y jusqu’à trouver de l’aire et de l’herbe. Ensuite tu poses le bloc et tu break Je n’ai pas vraiment compris. Sinon, je vais expliquer pourquoi j’ai mis ce code et comment je l’ai interprété : A l’époque de la 1.7, le code était comme ça et marchait : package This_is_Halloween.Generation; import java.util.Random; import net.minecraft.init.Blocks; import net.minecraft.world.World; import net.minecraft.world.gen.feature.WorldGenerator; public class WorldGenPumpkinLantern extends WorldGenerator { @Override public boolean generate(World world, Random random, int x, int y, int z) { boolean isAir = world.isAirBlock(x, y , z); if((world.getBlock(x, y - 1, z) == Blocks.grass && isAir)|| (world.getBlock(x, y - 1, z) == Blocks.dirt && isAir)||(world.getBlock(x, y - 1, z) == Blocks.sand && isAir)||(world.getBlock(x, y - 1, z) == Blocks.stone && isAir)||(world.getBlock(x, y - 1, z) == Blocks.snow && isAir)||(world.getBlock(x, y - 1, z) == Blocks.monster_egg && isAir)||(world.getBlock(x, y - 1, z) == Blocks.cobblestone && isAir)|| (world.getBlock(x, y - 1, z) == Blocks.gravel && isAir)||(world.getBlock(x, y - 1, z) == Blocks.ice && isAir)||(world.getBlock(x, y - 1, z) == Blocks.mycelium && isAir)||(world.getBlock(x, y - 1, z) == Blocks.obsidian && isAir)||(world.getBlock(x, y - 1, z) == Blocks.sandstone && isAir)||(world.getBlock(x, y - 1, z) == Blocks.stonebrick && isAir)||(world.getBlock(x, y - 1, z) == Blocks.monster_egg && isAir)|| (world.getBlock(x, y - 1, z) == Blocks.end_stone && isAir)|| (world.getBlock(x, y - 1, z) == Blocks.netherrack && isAir)) { world.setBlock(x, y, z, Blocks.lit_pumpkin, 4, 2); return true; } else { return false; } } } Au passage à la 1.8, ça me demandait d’enelever l’Override et de mettre les méthodes non-implémentées (un autre generate, mais à la place de int x, int y, int z mettre BlockPos pos) J’ai donc modifié la première méthode en remplaçant par BlockPos pos. Mais à l’intérieur de la méthode, les x, y et z n’étaient plus initialisées. J’ai donc passer des jours à réfléchir comment je pourrais faire (j’ai en parralèlle continuer le reste du mod). j’ai finalement trouvé, et j’ai mis ça : (mon interprétation sera en commentaire) package This_is_Halloween.Generation; import java.util.Random; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.block.state.IBlockState; import net.minecraft.init.Blocks; import net.minecraft.util.BlockPos; import net.minecraft.world.World; import net.minecraft.world.gen.feature.WorldGenerator; public class WorldGenPumpkinLantern extends WorldGenerator { @Override public boolean generate(World world, Random random, BlockPos pos) { for(int x = pos.getX(); x == pos.getX();) //comme le x n'était plus initialisée, je l'ai fait comme ça. Au départ, je comprenait : pour x égale à la postion x qui est égale à x (donc à la postion x (j'étais obligé de faire comme ça, sion erreur)) { for(int y = pos.getY(); y == pos.getY();) //pareil { for(int z = pos.getZ(); z == pos.getZ();) //pareil { boolean isAir = world.isAirBlock(new BlockPos(x, y, z)); if((world.getBlockState(new BlockPos(x, y - 1, z)) == Blocks.grass && isAir)) //Ca vérifie si le block à la position était le block "énoncé" (ici de l'herbe) (j'ai enlevé presque tout les blocks par rapport à la 1.7, je les remettrais quand ça remarchera { System.out.println("CITROUILLE"); world.setBlockState(new BlockPos(x, y, z), Blocks.lit_pumpkin.getDefaultState()); //Si la condition est vérifié, ça fait spawner une citrouille aux coordonnées données (ici, juste au-dessus de l'herbe). Sinon, ça ne fait rien return true; } else { System.out.println("pas citrouille"); return false; } } return false; //Je pensait qu'il faillait mettre un return pour chaque for. } return false;//Pareil } return false;//Pareil + c'est le return de la méthode } } Moi, j’ai compris comme ça. Mais a ce que j’ai lue au dessus, j’ai mal interprétées certaines choses, nottemment les for. EDIT : J’ai trouvé, ça remarche. Il suffit d’ajouter (IBlockState) avant le block à vérifier dans la condition et .getDefaultState après. Voilà la classe : package This_is_Halloween.Generation; import java.util.Random; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.block.state.IBlockState; import net.minecraft.init.Blocks; import net.minecraft.util.BlockPos; import net.minecraft.world.World; import net.minecraft.world.gen.feature.WorldGenerator; public class WorldGenPumpkinLantern extends WorldGenerator { @Override public boolean generate(World world, Random random, BlockPos pos) { boolean isAir = world.isAirBlock(new BlockPos(pos.getX(), pos.getY(), pos.getZ())); if((world.getBlockState(new BlockPos(pos.getX(), pos.getY() - 1, pos.getZ())) == (IBlockState) Blocks.grass.getDefaultState() && isAir)) { System.out.println("CITROUILLE"); world.setBlockState(new BlockPos(pos.getX(), pos.getY(), pos.getZ()), Blocks.lit_pumpkin.getDefaultState()); return true; } else { System.out.println("pas citrouille"); return false; } } } (ligne 23 la modif)
  • Augmenter la vitesse du joueur

    Résolu 1.8
    3
    0 Votes
    3 Messages
    1k Vues
    T
    Merci Robin de ta réponse rapide, ta méthode est aussi efficace mais j’ai pu trouver que le problème était seulement que Minecraft n’arrivait pas a détecter la collision, j’ai donc changer les Bounds du block et ça fonctionne maintenant Merci en tous cas ^^ Je met en resolu
  • Problème pour la texture des items

    Résolu 1.8
    14
    0 Votes
    14 Messages
    3k Vues
    AxaurusA
    Salut J’ai rallumé Eclipse, Minecraft et toutes les textures s’affichent à nouveau. Je ne saurai pas comment expliquer, je ne sais pas si c’est en déplaçant ce que Robin m’a dit qui a fait marché ou pas, mais en tout cas, merci à vous deux.