1.12.2 Evenements



  • Bonjour je cherche a créer une méthode avec en paramètre l'event PlayerTickEvent , qui s'adapterait à mon code, j' ai fait ça:
    Mais je n'y arrive pas :

    ClasseEvenement:

    package fr.dodo.rainbow.events;
    
    import fr.dodo.rainbow.CSMMMain;
    import net.minecraftforge.common.MinecraftForge;
    import net.minecraftforge.fml.common.gameevent.TickEvent;
    
    public class ClasseEvenements {
        public static void event(TickEvent.PlayerTickEvent event)
        {
            MinecraftForge.EVENT_BUS.register(new CSMMMain());
        }
    
    }
    
    

    et voila mon code :

    package fr.dodo.rainbow.items;
    
    import fr.dodo.rainbow.CSMMMain;
    import fr.dodo.rainbow.init.ModItems;
    import net.minecraft.entity.player.EntityPlayer;
    import net.minecraft.inventory.EntityEquipmentSlot;
    import net.minecraft.item.Item;
    import net.minecraft.item.ItemArmor;
    import net.minecraft.item.ItemStack;
    import net.minecraft.potion.Potion;
    import net.minecraft.potion.PotionEffect;
    import net.minecraft.world.World;
    import net.minecraftforge.common.MinecraftForge;
    import net.minecraftforge.fml.common.gameevent.TickEvent;
    
    public class RainbowHelmet extends ItemArmor {
        public RainbowHelmet(String name, ArmorMaterial materialIn, int renderIndexIn, EntityEquipmentSlot equipmentSlotIn) {
            super(materialIn, renderIndexIn, equipmentSlotIn);
            this.setRegistryName(name);
            this.setUnlocalizedName(name);
            ModItems.INSTANCE.getItems().add(this);
            setCreativeTab(CSMMMain.modtab);
    
        }
    
    
        @Override
        public void onArmorTick(World world, EntityPlayer player, ItemStack itemStack) {
            
            if (player.inventory.armorItemInSlot(3) != null && player.inventory.armorItemInSlot(3).getItem() == ModItems.rainbow_helmet
                    && player.inventory.armorItemInSlot(2) != null && player.inventory.armorItemInSlot(2).getItem() == ModItems.rainbow_chestplate
                    && player.inventory.armorItemInSlot(1) != null && player.inventory.armorItemInSlot(1).getItem() == ModItems.rainbow_leggings
                    && player.inventory.armorItemInSlot(0) != null && player.inventory.armorItemInSlot(0).getItem() == ModItems.rainbow_boots) {
                        player.capabilities.allowFlying = true;
            }
            else if (!player.capabilities.isCreativeMode)
            {
                player.capabilities.allowFlying = false;
            }
            player.addPotionEffect(new PotionEffect(Potion.getPotionById(16), 20*1, 1, false, false));
            player.addPotionEffect(new PotionEffect(Potion.getPotionById(3), 20*1, 3, false, false));
            player.addPotionEffect(new PotionEffect(Potion.getPotionById(13), 20*1, 5, false, false));
    
        }
    
    
    
    }
    
    
    

    ce que je cherchait à faire au début c'était d'enpecher le timed out quand on met le casque en multi.

    Merci de m'aider

    -Dodo


  • Moddeurs confirmés Rédacteurs Administrateurs

    Bonsoir, tu ne peux pas enregistrer une classe d'event dans un event c'est n'importe quoi.

    Et il va falloir clarifier ta problématique car je ne la comprends pas 😕



  • Il faudrait sans doute apprendre le java pour comprendre ce que l'on fait. 😉


Log in to reply