Résolu Clic Droit Potion de Heal
-
Bonjour, je crée un item et je voudrais savoir comment summon une potion de heal en faisant un clic droit ?
Je n’ai pas trouvé en cherchant sur internet.package com.avonia.mod.init.objects; import com.avonia.mod.Main; import com.avonia.mod.init.ItemInit; import com.avonia.mod.util.IHasModel; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.projectile.EntityPotion; import net.minecraft.init.Items; import net.minecraft.init.SoundEvents; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.ActionResult; import net.minecraft.util.EnumActionResult; import net.minecraft.util.EnumHand; import net.minecraft.util.SoundCategory; import net.minecraft.world.World; public class PotionGun extends Item implements IHasModel { public PotionGun(String name) { setUnlocalizedName(name); setRegistryName(name); setCreativeTab(Main.avoniaTab); setMaxDamage(29); setMaxStackSize(1); ItemInit.ITEMS.add(this); } @Override public void registerModels() { Main.proxy.registerItemRederer(this, 0); } @Override public ActionResult<ItemStack> onItemRightClick(World worldIn, EntityPlayer playerIn, EnumHand handIn) { ItemStack itemstack = playerIn.getHeldItem(handIn); worldIn.playSound((EntityPlayer)null, playerIn.posX, playerIn.posY, playerIn.posZ, SoundEvents.ENTITY_SPLASH_POTION_THROW, SoundCategory.PLAYERS, 0.5F, 0.4F / (itemRand.nextFloat() * 0.4F + 0.8F)); if (!worldIn.isRemote) { EntityPotion entitypotion = new EntityPotion(worldIn, playerIn, new ItemStack(Items.SPLASH_POTION)); entitypotion.shoot(playerIn, playerIn.rotationPitch, playerIn.rotationYaw, -20.0F, 0.5F, 1.0F); worldIn.spawnEntity(entitypotion); } return new ActionResult<ItemStack>(EnumActionResult.SUCCESS, itemstack); } }
-
Quelques pistes :
- Tu overrides la fonction de clic droit de ton item
- Tu récupères le Player et utilise
addPotionEffet(PotionEffet)
deEntityLivingBase
- Constructeur:
PotionEffet(Potion p[, int duration[, int amplifier[, boolean ambient, boolean showParticles]]])
- Tu peux récupérer les potions dans la class
Potion
ou via la commande in-game/effect
Tu peux déjà essayer cela, en espérant que ça t’aides
-
UP :backhand_index_pointing_up_light_skin_tone:
-
Bonjour, il se passe quoi actuellement avec ton code ? Ça fait apparaître une potion ?
-
Regarde comment Minecraft le fait avec les Splash potions
-
j’ai regardé mais il vérif selon l’item (ce que je n’ai pas)
-
Quelques pistes :
- Tu overrides la fonction de clic droit de ton item
- Tu récupères le Player et utilise
addPotionEffet(PotionEffet)
deEntityLivingBase
- Constructeur:
PotionEffet(Potion p[, int duration[, int amplifier[, boolean ambient, boolean showParticles]]])
- Tu peux récupérer les potions dans la class
Potion
ou via la commande in-game/effect
Tu peux déjà essayer cela, en espérant que ça t’aides