zMobFighter addon - Fireball icon

zMobFighter addon - Fireball -----

Sample addon for the zMobFighter plugin



This is an example of an addon for the zMobFighter plugin. The system is still under development. If you have any suggestions you can send them to me on discord: https://discord.groupez.dev/

This addon allows you to send fireballs randomly during a fight.
You must put the addon in the folder plugins/zmobfighter/addons

[​IMG]

Code (Java):

package fr.maxlego08.fireball ;

import java.util.ArrayList ;
import java.util.List ;
import java.util.Random ;
import org.bukkit.entity.Entity ;
import org.bukkit.entity.Fireball ;
import org.bukkit.entity.LivingEntity ;
import org.bukkit.event.EventHandler ;
import org.bukkit.event.Listener ;
import org.bukkit.event.entity.EntityExplodeEvent ;
import org.bukkit.potion.PotionEffect ;
import org.bukkit.potion.PotionEffectType ;
import org.bukkit.util.Vector ;
import fr.maxlego08.mobfighter.api.Arena ;
import fr.maxlego08.mobfighter.api.Duel ;
import fr.maxlego08.mobfighter.api.Fighter ;
import fr.maxlego08.mobfighter.api.addons.JavaAddon ;
public class FireBallAddon extends JavaAddon implements Listener {
    private long lastAttackSend = 0 ;
    private List <Fireball > fireBalls = new ArrayList <Fireball > ( ) ;
    @Override
    public void onEnable ( ) {
        System. out. println ( "Enable !" ) ;
        this. registerListener ( this ) ;
    }
    @Override
    public void onDisable ( ) {
        System. out. println ( "Disable !" ) ;
    }
    @Override
    public void duelStart (Duel duel, Arena arena, Fighter first, Fighter second ) {
        // TODO Auto-generated method stub
    }
    @Override
    public void duelStop (Duel duel, Arena arena, Fighter first, Fighter second ) {
        // TODO Auto-generated method stub
    }
    @Override
    public void duelWin (Duel duel, Arena arena, Fighter first, Fighter second ) {
        // TODO Auto-generated method stub
    }
    @Override
    public void duelTick (Duel duel, Arena arena, Fighter first, Fighter second ) {
        if ( System. currentTimeMillis ( ) > lastAttackSend && first. getLocation ( ). distance (second. getLocation ( ) ) > 5 ) {
            Random random = new Random ( ) ;
            Fighter fighter = random. nextBoolean ( ) ? first : second ;
                   
            LivingEntity entity = fighter. getEntity ( ) ;
           
            entity. addPotionEffect ( new PotionEffect (PotionEffectType. SLOW, 20, 150 ) ) ;
           
            Fireball fireball = entity. launchProjectile (Fireball. class ) ;      
           
            Vector vector = fireball. getVelocity ( ) ;
            fireball. setVelocity (vector ) ;
           
            fireBalls. add (fireball ) ;
            lastAttackSend = System. currentTimeMillis ( ) + ( 1000 * (random. nextInt ( 2 ) + 1 ) ) ;
        }
    }
    @EventHandler
    public void onEntityExplode (EntityExplodeEvent event ) {
        Entity entity = event. getEntity ( ) ;
        if ( this. fireBalls. contains (entity ) ) {
            event. setCancelled ( true ) ;          
            this. fireBalls. remove (entity ) ;
        }
    }
}

 
Resource Information
Author:
----------
Total Downloads: 144
First Release: Sep 19, 2021
Last Update: Sep 19, 2021
Category: ---------------
All-Time Rating:
0 ratings
Find more info at discord.groupez.dev...
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings