Forge 11.15.1 Minecraft 1.8.9


  • Administrateurs

    Version de Forge : 1.8.9-11.15.1.1722
    Version de Minecraft : 1.8.9
    Téléchargements :

    Toute l'équipe de Forge a travaillé vraiment dur pour cette nouvelle version de Minecraft, une grande partie du dé-compilateur, du système de rendu, des intractions entre mods, du registre et de beaucoup d'autres ont été réécrits. L'équipe de Forge est fière de vous présenter la première version recommandée de Forge 1.8.9. Une fois que Lex sera de retour du Pax South, il sera prêt à publier autant de corrections qu'il faudra et à faire une nouvelle version recommandée. Cependant l'API de cette version est assez stable.
    De nombreux moddeurs ont déjà mis à jour leurs mods pour Minecraft 1.8.9 et les mods conçus pour Minecraft 1.8.9 devraient fonctionner avec Minecraft 1.8.9.
    Certains des nouveaux systèmes sont très mals documentés, car Lex n'est pas très bon à l'écriture de documentations ! Donc si vous êtes un moddeur et que vous avez besoin de documentation à propos de l'un des nouveaux systèmes, demandez dans la section support pour les moddeurs ou sur l'IRC (anglais). Des personnes pourront vous aider. L'équipe de Forge espère aussi que la documentation va être complétée par les moddeurs https://github.com/MinecraftForge/Documentation

    Changelog de Minecraft Forge 11.15.1 :

    Nouveautés :

    • Nouvel évènement pour changer les valeurs des carburants (pour le four) de Minecraft Vanilla.
    • Activation d'interface liste de mods en jeu. Permet la modification des configurations en jeu.
    • Nouvelles fonctionnalités pour les messages IMC pour permettre plus de flexibilité des fonctions inter-mods.
    • Fusion de l'event bus de Forge et FML, simplifie la gestion des événements pour les moddeurs.
    • API semi-terminée pour la barre de progression. Les moddeurs peuvent ajouter des éléments dans cette dernière.
    • Nettoyage majeur de registre du jeu (GameRegistry), code plus flexible permettant des potentiels modifications par les moddeurs.
    • Nouvelle intégration pour JLine permettant de compléter automatiquement des commandes avec la touche tab et l'affichage des couleurs dans la console.
    • Nouveau registre pour les potions, afin de ne plus utiliser les id.
    • Potion.isBadEffect est désormais disponible côté client et serveur.
    • Augmentation du spam de la console quand des mods font des choses STUPIDES (exemple : Coremods contenant un API)
    • Nouvelle méthode 'onLoad' dans les TileEntity appelée après que le TileEntity ait été ajouté dans le monde.
    • Ajout de EMERALD et SILVERFISH à l’évènement GenerateMineable.
    • Modification pour forcer les moddeurs à utiliser les noms des fluides au lieu des IDs des fluides.
    • Nouveau hook permettant aux blocs de déterminer quelles faces des blocs voisins doivent être masquées.
    • Nouveau hook permettant des effets de potion 'invisible' qui ne sont pas rendus dans l'inventaire.
    • Nouveau hook dans les items pour modifier le texte de l'info bulle.
    • Nouveau hook (Block.addLandingEffects) pour ajouter des effets lorsque quelque chose tombe sur un bloc.
    • Augmentation des interactions entre l'ancien et le nouveau système de modèle.
    • Nouveau modèle de seau universel permettant le rendu d'un seau pour n'importe quel fluide. Cela permet également aux créateurs de packs de ressources de contrôler la plupart des seaux avec seulement une texture. Il y a une option pour l'activer, mais c'est désactivé par défaut.
    • Désormais les blocs d'un mod ne sont plus supprimés du registre du monde si le mod n'est pas présent. Cela signifie que les blocs d'un mod seront potentiellement conservés si un mod est retiré temporairement. Actuellement, les données des TileEntity associés aux blocs seront supprimées.
    • Ajout d'une nouvelle capacité permettant d'enregistrer des variantes d'item ne terminant pas par "#inventory". Ça devrait permettre de regrouper plusieurs modèles d'items dans un même Json.
    • Nouveau hook pour personnaliser les particules d’apparition du slime.
    • Ajout d'une valeur par défaut pour @SideProxy, @ClientProxy et @ServerProxy directement dans la classe principale.
    • Nouvelles fonctions get/setRegistryName pour les items et les blocs, et nouvelles fonctions d'aide dans GameRegistry. ARRÊTEZ D'UTILISER LE NOM NON LOCALISÉ !
    • Nouveau système de dépendances contenues, c'est-à-dire qu'on peut maintenant inclure des dépendances directement dans les mods. Ce qui rend le DepLoader encore plus redondant.
    • Ajout du chargeur de modèle sur la barre de chargement.
    • Implémentation des faces cachées pour les modèles d'item, améliore les performances.
    • WrongMinecraftVersionException et ModSortingException sont désormais plus faciles à lire dans les fichiers de logs.
    • Les mods utilisant les noms SRG placés dans le dossier mods lors du développement sont désormais chargés correctement. L'intégration de mods devrait être maintenant plus simple.
    • Nouvel événement GuiScreenEvent.BackgroundDrawnEvent permettant de dessiner par dessus le fond.
    • Nouveau hook pour permettre au joueur de dormir sans être au dessus d'un lit.
    • Passage de la vérification de la charge de serveur lors du chargement des mods, cela devrait éviter que le serveur se coupe après un chargement long de mods.
    • Nouvelle capacité IItemHandler pour purger les interactions d'item avec les TileEntities.
    • Nouvel événement EntityTravelToDimensionEvent.
    • Nouveau système d'animation des modèles !

    Bogues Corrigés :
    Voir la version original : http://www.minecraftforge.net/forum/topic/36117-forge-11151-minecraft-189/

    Nouvelles fonctionnalités majeures :
    Système de capacité :

    • Nouveau système de capacité permettant une meilleur gestion des caractéristiques d'objets du monde.

      Combiné avec @Optional cela devrait régler tous les problèmes de dépendances mods/apis.
      Cela aborde également la question des fonctionnalités dynamiques dans les TileEntities/Entities.

      Possibilités actuelles : TileEntity, Entity, ItemStack

      Ajout également de INBTSerializeable, une interface générique pour les objets qui peuvent être écrits dans les tags NBT.

      Des ajouts pour le jeu vanilla vont bientôt arriver, en fonction des demandes.

      Donc faites vos demandes (sur le github) pour les fonctionnalités Vanilla/Forge.

    • IItemHandler :
      Voir ce Commit (anglais) pour plus de détails et des exemples.

    package net.minecraftforge.items;
    
    import net.minecraft.item.ItemStack;
    
    public interface IItemHandler
    {
        /**
         * Returns the number of slots available
         *
         * @return The number of slots available
         **/
        int getSlots();
    
        /**
         * Returns the ItemStack in a given slot.
         *
         * The result's stack size may be greater than the itemstacks max size.
         *
         * If the result is null, then the slot is empty.
         * If the result is not null but the stack size is zero, then it represents
         * an empty slot that will only accept* a specific itemstack.
         *
         *
    
         * IMPORTANT: This ItemStack MUST NOT be modified. This method is not for
         * altering an inventories contents. Any implementers who are able to detect
         * modification through this method should throw an exception.
         *
    
         * SERIOUSLY: DO NOT MODIFY THE RETURNED ITEMSTACK
         *
         * @param slot Slot to query
         * @return ItemStack in given slot. May be null.
         **/
        ItemStack getStackInSlot(int slot);
    
        /**
         * Inserts an ItemStack into the given slot and return the remainder.
         * Note: This behaviour is subtly different from IFluidHandlers.fill()
         *
         * @param slot     Slot to insert into.
         * @param stack    ItemStack to insert
         * @param simulate If true, the insertion is only simulated
         * @return The remaining ItemStack that was not inserted (if the entire stack is accepted, then return null)
         **/
        ItemStack insertItem(int slot, ItemStack stack, boolean simulate);
    
        /**
         * Extracts an ItemStack from the given slot. The returned value must be null
         * if nothing is extracted, otherwise it's stack size must not be greater than amount or the
         * itemstacks getMaxStackSize().
         *
         * @param slot     Slot to extract from.
         * @param amount   Amount to extract (may be greater than the current stacks max limit)
         * @param simulate If true, the extraction is only simulated
         * @return ItemStack extracted from the slot, must be null, if nothing can be extracted
         **/
        ItemStack extractItem(int slot, int amount, boolean simulate);
    }
    

    Système d'animation :
    Nouveau système d'animation permettant aux blocs et aux rendus TESRs d'avoir un système d'animation plus universel.

    • IAnimationStateMachine - machine d'état pour les animations; peut être chargé depuis un json.
    • AnimationTESR - TESR automatique pour les modèles animés.
    • AnimationModelBase - même chose mais pour les entités.
    • ITimeValue - valeur variant dans le temps, utilisez-la pour contrôler les paramètres d'animation.
    • TESRs peuvent maintenant être dosés - jetez un oeil à TESR.renderTileEntityFast et à TE.hasFastRenderer.
    • RegionRenderCache n'est pas accessible aux TESRs et autres logiques client seulement. À la place il faut utiliser MinecraftForgeClient.getRegionRenderCache.

Verrouillé