• Génération

    Résolu 1.10.x
    16
    0 Votes
    16 Messages
    2k Vues
    robin4002R
    Replaces par : generate(world1, random1, new BlockPos(blockXPos + random1.nextInt(16), posY, blockZPos + random1.nextInt(16)));
  • Orientation

    Résolu 1.9.4
    3
    0 Votes
    3 Messages
    1k Vues
    TituyaT
    Un ENORME merci ! Le reste des problemes ont été corrigé par ce que tu ma dit, le suite de mon message était bizarre c’est vrai x)
  • Block orientable

    Résolu 1.9.4
    3
    0 Votes
    3 Messages
    2k Vues
    TituyaT
    Non, mes textures sont bien appliquer, juste l’orientation ! C’est un peu dérangeant une machine si on voit pas la face principal ^^
  • Faire changer un item avec un clique droit sur un block

    Résolu 1.9.4
    39
    0 Votes
    39 Messages
    6k Vues
    DeletedD
    onBlockActivated -> Clic droit onBlockClicked -> Clic gauche
  • Block orientable

    Résolu 1.9.4
    3
    0 Votes
    3 Messages
    1k Vues
    BrokenSwingB
    Il te faut simplement un property et suivants sa valeur, tu effectue une rotation du modèle depuis le fichier JSON
  • Les Armures

    Résolu 1.10.x
    6
    0 Votes
    6 Messages
    2k Vues
    G
    Merci à tous j’ai réussi !
  • Minérais n'apparaissant pas sur sponge (coremods ou pas)

    Résolu 1.10.x
    9
    0 Votes
    9 Messages
    2k Vues
    DeletedD
    Oui bien-sûr. Là je recompile tout un code un peu modifié, à la sauce de M-Ore, surprise j’ai envie de dire ! EDIT = On dirait que ça marche. En gros, la seule importante modif effectuée est l’ajout d’un nouveau WorldGenMinable, avec quelque différence. Merci à vous tous en tout cas, et désolé du bug un peu “grotesque” !
  • Access Transformer constructeur

    Résolu 1.10.x
    3
    0 Votes
    3 Messages
    915 Vues
    DeletedD
    C’est bon, j’ai trouvé la solution avec les AT En gros au lieu de mettre le nom de la méthode obfusquée, du genre func…. Il faut remplacer par <init>, et dans n’importe quel cas ça restera <init>. Et juste indiquer qu’il s’agit du type primitif void. A part ça rien ne change. Poste un peu useless, désolé du dérangement et merci Aymeric !</init></init>
  • Erreur du log en fabriquant un block

    Résolu 1.10.x
    14
    0 Votes
    14 Messages
    2k Vues
    BrokenSwingB
    Pour chisel, c’est plutôt simple, voilà un exemple d’utilisation : https://github.com/MFFbrokenSwing/roadstuff/blob/master/src/main/java/net/killermapper/roadstuff/common/init/Chisel.java Et tu as l’API ici : https://github.com/Chisel-Team/Chisel/tree/1.10/dev/src/main/java/team/chisel/api
  • Problème de durabilité

    Résolu 1.10.x
    4
    0 Votes
    4 Messages
    1k Vues
    BrokenSwingB
    Gugu : c’est ISpecialArmor#damageArmor donc il est obligé de la ré-écrire en implémentant l’interface Aypristyle : essai @Override public void damageArmor(EntityLivingBase entity, ItemStack stack, DamageSource source, int damage, int slot) { stack.damageItem(damage, entity); if(stack.getItemDamage() >= stack.getMaxDamage()) { stack.stackSize -= 1; } } Ou un truc comme ça. En 1.11 la documentation est la suivante : /** * Applies damage to the ItemStack. The mod is responsible for reducing the * item durability and stack size. If the stack is depleted it will be cleaned * up automatically. * * @param entity The entity wearing the armor * @param stack The ItemStack of the armor item itself. * @param source The source of the damage, which can be used to alter armor * properties based on the type or source of damage. * @param damage The amount of damage being applied to the armor * @param slot The armor slot the item is in. */ public abstract void damageArmor(EntityLivingBase entity, @Nonnull ItemStack stack, DamageSource source, int damage, int slot);
  • Un petit probleme [Json]

    Résolu 1.9.4
    10
    0 Votes
    10 Messages
    2k Vues
    PchomP
    Dans ton .json pour ton item, tu dois avoir une partie display contenant une partie ground contenant le paramètre scale, définit par [X, Y, Z], pour le redimentionner. http://minecraft-fr.gamepedia.com/Modèles
  • Probleme d'importation

    Résolu 1.10.x
    6
    0 Votes
    6 Messages
    1k Vues
    G
    Bon bah je vous remercie j’ai réussi a trouver la solution.
  • OnMessage : récupérer une tileEntity

    Résolu 1.10.x
    6
    0 Votes
    6 Messages
    1k Vues
    AymericRedA
    Ah d’accord ^^ Tu me diras cest vrai que j’aime pas avoir 36 000 paquets non plus. Je dirais que si Mc est bien fait oui mais en fait je sais pas ^^
  • IIcon à changer, block avec textures différentes

    Résolu 1.9.4
    4
    0 Votes
    4 Messages
    727 Vues
    robin4002R
    Tu as bien mis un json pour l’item ?
  • OnEntityCollidedWithBlock ne fonctionne pas

    Résolu 1.10.x
    10
    0 Votes
    10 Messages
    2k Vues
    robin4002R
    Ah bon ? Donc la fonction ne fonctionne pas exactement comme il me semblait.
  • Détection de hauteur d'un joueur

    Résolu 1.9.4
    5
    0 Votes
    5 Messages
    885 Vues
    TituyaT
    Ce n’est pas si dérangeant que ça, la plupart de temps j’écris avec un ordi mais c’était juste pour savoir !
  • Choix entre deux random

    Résolu 1.9.4
    7
    0 Votes
    7 Messages
    1k Vues
    TituyaT
    ça marche, je ferme le sujet merci de vos réponse !
  • Équiper une Entité custom (armure + objets dans les mains) aux travers d'une GUI

    Résolu 1.10.x
    4
    0 Votes
    4 Messages
    1k Vues
    MajorSquirrelM
    Bonsoir ! J’ai résolu mon problème. Et je ne sais pas trop comment … Après avoir fait plusieurs tests, il s’avère que je n’utilise plus d’Iterable<itemstack> mais j’appelle directement les méthodes EntityLiving#getItemStackFromSlot et EntityLiving#setItemStackFromSlot pour mettre à jour correctement l’InventoryBasic et mon Entity (pour faire la passerelle correctement entre les deux quoi). Voici le code qui fonctionne, si jamais quelqu’un passe après moi. EntityNPCDialog: public class                EntityNPCDialog extends EntityLiving { //    private static final DataParameter <integer>TEXTURE_INDEX = EntityDataManager.<integer>createKey(EntityNPCDialog.class, DataSerializers.VARINT);    public                  EntityNPCDialog(World worldIn) {        super(worldIn);    }    @Override    protected void          initEntityAI() {        super.initEntityAI();        this.tasks.addTask(0, new EntityAISwimming(this));        this.tasks.addTask(1, new EntityAIWatchClosest(this, EntityPlayer.class, 16.0F, 42.0F));        this.tasks.addTask(2, new EntityAILookIdle(this));    }    @Override    public boolean          canBePushed() {        return (false);    }    @Override    public boolean          isPushedByWater() {        return (false);    }    @Override    protected boolean       canDespawn() {        return(false);    }    @Override    public void             addVelocity(double x, double y, double z) {}    @Override    public boolean          canRiderInteract() {        return (false);    }    @Override    public boolean          isEntityInvulnerable(DamageSource source) {        return (false);    }    @Override    public boolean          isPotionApplicable(PotionEffect potioneffectIn) {        return (false);    }    @Override    public boolean          isImmuneToExplosions() {        return (false);    }    @Nullable    @Override    protected SoundEvent    getAmbientSound() {        return (CraftAndConquerSounds.NPCDialogSoundEvent);    }    @Nullable    @Override    protected SoundEvent    getHurtSound() {        return (CraftAndConquerSounds.NPCDialogSoundEvent);    }    @Nullable    @Override    protected SoundEvent    getDeathSound() {        return (CraftAndConquerSounds.NPCDialogSoundEvent);    }    @Override    protected SoundEvent    getFallSound(int heightIn) {        return (CraftAndConquerSounds.NPCDialogSoundEvent);    }    @Override    protected SoundEvent    getSwimSound() {        return (CraftAndConquerSounds.NPCDialogSoundEvent);    }    @Override    protected SoundEvent    getSplashSound() {        return (CraftAndConquerSounds.NPCDialogSoundEvent);    } //    public static ThreadDownloadImageData   getDownloadImageSkin(ResourceLocation resourceLocationIn) { //        TextureManager          textureManager = Minecraft.getMinecraft().getTextureManager(); //        ThreadDownloadImageData threadDownloadImageData; // //        threadDownloadImageData = new ThreadDownloadImageData(null, "http://imgur.com/Z0pbA3P.png", DefaultNPCSkin.getDefaultSkin(), new ImageBufferDownload() { // //            @Override //            public BufferedImage    parseUserSkin(BufferedImage image) { //                return (image); //            } // //        }); // //        textureManager.loadTexture(resourceLocationIn, threadDownloadImageData); // //        return (threadDownloadImageData); //    } } ContainerNPCInventory: public class                ContainerNPCInventory extends Container {    public static final EntityEquipmentSlot[]   VALID_EQUIPMENT_SLOTS = new EntityEquipmentSlot[] {            EntityEquipmentSlot.HEAD,            EntityEquipmentSlot.CHEST,            EntityEquipmentSlot.LEGS,            EntityEquipmentSlot.FEET,            EntityEquipmentSlot.MAINHAND,            EntityEquipmentSlot.OFFHAND    };    private EntityNPCDialog         entityNPC;    private final InventoryPlayer   playerInventory;    private InventoryBasic          entityInventory;    public                  ContainerNPCInventory(EntityPlayer playerIn, EntityNPCDialog entityNPC) {        this.entityNPC = entityNPC;        this.playerInventory = playerIn.inventory;        this.entityInventory = new InventoryBasic("NPC Inventory", true, ContainerNPCInventory.VALID_EQUIPMENT_SLOTS.length);        for (int index = 0; index < ContainerNPCInventory.VALID_EQUIPMENT_SLOTS.length; ++index) {            this.entityInventory.setInventorySlotContents(index, entityNPC.getItemStackFromSlot(ContainerNPCInventory.VALID_EQUIPMENT_SLOTS[index]));        }        for (int index = 0; index < 4; ++index) {            final EntityEquipmentSlot   equipmentSlot = ContainerNPCInventory.VALID_EQUIPMENT_SLOTS[index];            this.addSlotToContainer(new Slot(this.entityInventory, index, 8, 8 + index * 18) {                @Override                public void onSlotChanged() {                    entityNPC.setItemStackToSlot(equipmentSlot, this.getStack());                    super.onSlotChanged();                }                @Override                public boolean  isItemValid(@Nullable ItemStack stack) {                    return (stack != null && stack.getItem().isValidArmor(stack, equipmentSlot, entityNPC));                }                @Override                public int      getSlotStackLimit() {                    return (1);                }                @Nullable                @Override                public String   getSlotTexture() {                    return (ItemArmor.EMPTY_SLOT_NAMES[equipmentSlot.getIndex()]);                }            });        }        this.addSlotToContainer(new Slot(this.entityInventory, 4, 77, 8) {            @Override            public void onSlotChanged() {                entityNPC.setItemStackToSlot(ContainerNPCInventory.VALID_EQUIPMENT_SLOTS[4], this.getStack());                super.onSlotChanged();            }        });        this.addSlotToContainer(new Slot(this.entityInventory, 5, 95, 8) {            @Override            public void onSlotChanged() {                entityNPC.setItemStackToSlot(ContainerNPCInventory.VALID_EQUIPMENT_SLOTS[5], this.getStack());                super.onSlotChanged();            }            @SideOnly(Side.CLIENT)            @Nullable            @Override            public String   getSlotTexture() {                return ("minecraft:items/empty_armor_slot_shield");            }        });        for (int index = 0; index < 9; ++index) {            this.addSlotToContainer(new Slot(this.playerInventory, index, 9 + index * 18, 112));        }    }    @Override    public boolean          canInteractWith(EntityPlayer playerIn) {        return (true);    } } Cela fonctionne également en multiplayer. :D</integer></integer></itemstack>
  • ########## GL ERROR ##########

    Résolu 1.10.x
    9
    0 Votes
    9 Messages
    2k Vues
    GabsG
    Ah, non j’utilise pas de rendu 3d pour les blocs par contre pour les items oui avec les .json mais je penses pas que c’est ça qui cause le problème. Mais moi avant j’avais cette erreur et quand je réduise la taille de la texture de mon bloc ou item genre avant c’était du 512512 et quand  je mettais du 128128 ou 64*64 l’erreur disparaissait, c’est bizarre… Edit: A j’ai trouvé c’est bon finalement c’était une texture en (128*128) qui causer problème…
  • Supprimer un certain nombre d'item dans l'inventaire du joueur

    Résolu 1.10.x
    8
    0 Votes
    8 Messages
    4k Vues
    GabsG
    Oui désolé… merci!