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

Shooting SnowBall

Discussion in 'Development' started by DanielYTK, Mar 12, 2017.

  1. DanielYTK

    DanielYTK Zombie

    Messages:
    227
    Can I play a snowball with a sword in my hand?
     
  2. robske_110 (Tim)

    robske_110 (Tim) Wither Skeleton Poggit Reviewer

    Messages:
    1,342
    GitHub:
    robske110
    Do you mean shooting a snowball if you attack with a sword?
     
  3. DanielYTK

    DanielYTK Zombie

    Messages:
    227
    I need do this with PlayerInteractEvent
     
  4. DanielYTK

    DanielYTK Zombie

    Messages:
    227
  5. Thunder33345

    Thunder33345 Moderator Staff Member

    Messages:
    2,137
    GitHub:
    Thunder33345
    you need to give use more info
    like rephrase the Top Post
     
  6. DataSyncError

    DataSyncError Silverfish

    Messages:
    20
    GitHub:
    idirtniverse
    I think he meant like when player right click ( hold screen ) they will shoot out snowball ( using PlayerInteractEvent )
     
  7. DanielYTK

    DanielYTK Zombie

    Messages:
    227
  8. PocketKiller

    PocketKiller Slime

    Messages:
    83
    GitHub:
    iPocket
    I have some old code I used.
    Not sure if it works at this pmmp version, but it worked before.
    PHP:
    public function onPacketRecieve(DataPacketReceiveEvent $event){
            if(
    $event->getPacket() instanceof UseItemPacket){
                
    $player $event->getPlayer();
                if(
    $player->getInventory()->getItemInHand()->getId() == Item::STONE_SWORD/*You should change this!*/){
                        
    $namedTag = new CompoundTag("", [
                                
    "Pos" => new EnumTag("Pos", [
                                    new 
    DoubleTag(""$player->x),
                                    new 
    DoubleTag(""$player->$player->getEyeHeight()),
                                    new 
    DoubleTag(""$player->z)
                                ]),
                                
    "Motion" => new EnumTag("Motion", [
                                    new 
    DoubleTag("", -sin($player->yaw 180 M_PI) * cos($player->pitch 180 M_PI)),
                                    new 
    DoubleTag("", -sin($player->pitch 180 M_PI)),
                                    new 
    DoubleTag(""cos($player->yaw 180 M_PI) * cos($player->pitch 180 M_PI))
                                ]),
                                
    "Rotation" => new EnumTag("Rotation", [
                                    new 
    FloatTag(""$player->yaw),
                                    new 
    FloatTag(""$player->pitch)
                                ]),
                            ]);

                        
    $e = new Snowball($player->chunk$namedTag$player);
                        
    $e->setMotion($e->getMotion()->multiply(3/*For example*/));
                        
    $e->spawnToAll();
                        return;
                }
            }
        }
    Well, you can just use PlayerInteractEvent, but this code was meant for a fishing rod...
     
    asyven and HimbeersaftLP like this.
  9. DanielYTK

    DanielYTK Zombie

    Messages:
    227
    Thanks man
     
  10. Matthew

    Matthew Baby Zombie

    Messages:
    167
    GitHub:
    matthww
    omg your old ShootingRod plugin :O
     
  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.