1. The forums will be archived and moved to a read only mode in about 2 weeks (mid march).

How can change a weapons damage.

Discussion in 'Development' started by Remarkabless, Dec 3, 2017.

  1. Remarkabless

    Remarkabless Slime

    Messages:
    83
    GitHub:
    Remakem
    I have a Rogue Plugin which is used for HCF, dont need to show that code because it isnt relevant to what imma ask. Lets say i have a stone sword how can I make it so that every hit takes away 5 hearts from the player its hitting? How can I set a weapons damage basically! Thanks
     
  2. DaPigGuy

    DaPigGuy Slime

    Messages:
    86
    GitHub:
    DaPigGuy
    On EntityDamageEvent, check if it's an instanceof EntityDamageByEntityEvent.
    PHP:
    public function onDamage(EntityDamageEvent $event)
    {
         
    $entity $event->getEntity();
         if(
    $event instanceof EntityDamageByEntityEvent) {
              
    //check if damager is instanceof Player
         
    }
    }
    Then check if the damager is instanceof Player.
    PHP:
    public function onDamage(EntityDamageEvent $event)
    {
         
    $entity $event->getEntity();
         if(
    $event instanceof EntityDamageByEntityEvent) {
              
    $damager $event->getDamager();
              if(
    $damager instanceof Player) {
                  
    //check for iron sword
              
    }
         }
    }
    If so, check if the item in the damager's hand is a stone sword.
    PHP:
    public function onDamage(EntityDamageEvent $event)
    {
         
    $entity $event->getEntity();
         if(
    $event instanceof EntityDamageByEntityEvent) {
              
    $damager $event->getDamager();
              if(
    $damager instanceof Player) {
                  if(
    $damager->getInventory()->getItemInHand()->getId() == Item::STONE_SWORD) {
                       
    //set damage
                  
    }
              }
         }
    }
    If they do, set the damage.
    PHP:
    public function onDamage(EntityDamageEvent $event)
    {
         
    $entity $event->getEntity();
         if(
    $event instanceof EntityDamageByEntityEvent) {
              
    $damager $event->getDamager();
              if(
    $damager instanceof Player) {
                  if(
    $damager->getInventory()->getItemInHand()->getId() == Item::STONE_SWORD) {
                       
    $event->setDamage(damage);
                  }
              }
         }
    }
     
    Last edited: Dec 3, 2017
    jasonwynn10 likes this.
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.