Partage
  • Partager sur Facebook
  • Partager sur Twitter

minecraft mod recuperer l item dans la main

    2 décembre 2023 à 17:52:31

    Bonjour, je me tourne vers vous car vous êtes la communauté la plus active, et je ne connais pas d'autre endroit où l'on peut m'aider. Je débute en développement avec JavaScript (JSVA) et surtout sur les mods Minecraft. Je ne comprends pas comment faire fonctionner le code suivant : normalement, le code devrait permettre, à chaque tick du jeu, de savoir quel est l'objet dans la main du joueur. Cependant, je n'arrive pas à le faire fonctionner; il plante avant de se lancer, et je ne sais pas pourquoi. Merci à vous en tout cas. Si vous connaissez un forum pour les développeurs de mods Minecraft, je suis preneur. Merci encore.

    package net.nekogrile.mending_auto_repair.mixin;
    
    import net.fabricmc.fabric.api.event.player.UseItemCallback;
    import net.minecraft.entity.player.PlayerEntity;
    import net.minecraft.item.ItemStack;
    import net.minecraft.util.ActionResult;
    import net.minecraft.util.TypedActionResult;
    
    public class ItemStackHandler {
    
        private ItemStack lastLeftHandItem = ItemStack.EMPTY;
    
        public ItemStackHandler() {
            // Utilisez le callback de tick pour détecter chaque tick
            UseItemCallback.EVENT.register((player, world, hand) -> {
                return onPlayerTick(player);
            });
        }
    
        private TypedActionResult<ItemStack> onPlayerTick(PlayerEntity player) {
            ItemStack mainHandItem = player.getMainHandStack();
    
            // Vérifiez si l'item dans la main gauche a changé
            if (!areItemsEqualIgnoreTags(mainHandItem, lastLeftHandItem)) {
                // Mettez à jour l'inventaire et faites d'autres actions nécessaires
                updateLeftHandItem(mainHandItem);
    
                // Mettez à jour l'item dans la main gauche pour le prochain tick
                lastLeftHandItem = mainHandItem.copy();
            }
    
            return TypedActionResult.pass(mainHandItem);
        }
    
        private boolean areItemsEqualIgnoreTags(ItemStack stack1, ItemStack stack2) {
            // Comparez les types d'items
            if (stack1.getItem() != stack2.getItem()) {
                return false;
            }
    
            // Vous pouvez ajouter d'autres comparaisons ici selon vos besoins
    
            return true;
        }
    
        private void updateLeftHandItem(ItemStack leftHandItem) {
            // Mettez ici le code pour gérer l'item dans la main gauche
            // Vous pouvez effectuer des actions spécifiques en fonction de l'item détecté
            // (par exemple, vérifier s'il a l'enchantement "Mending", etc.)
            System.out.println("Item dans la main gauche : " + leftHandItem.getItem().getTranslationKey());
        }
    }
    



    • Partager sur Facebook
    • Partager sur Twitter

    minecraft mod recuperer l item dans la main

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    • Editeur
    • Markdown