think.rpgitems.power.trigger.BeamHit Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of rpgitems Show documentation
Show all versions of rpgitems Show documentation
The legacy RPGItems continues. (fork)
package think.rpgitems.power.trigger;
import org.bukkit.entity.Player;
import org.bukkit.event.Event;
import org.bukkit.inventory.ItemStack;
import think.rpgitems.event.BeamEndEvent;
import think.rpgitems.event.BeamHitBlockEvent;
import think.rpgitems.event.BeamHitEntityEvent;
import think.rpgitems.power.PowerBeamHit;
import think.rpgitems.power.PowerResult;
public class BeamHit extends Trigger {
BeamHit(Class tEventClass, Class tResultClass, Class returnClass, String name) {
super(tEventClass, PowerBeamHit.class, tResultClass, returnClass, name);
}
@Override
public PowerResult run(PowerBeamHit powerBeamHit, Player player, ItemStack i, TEvent event) {
if (event instanceof BeamHitBlockEvent event1){
return (PowerResult) powerBeamHit.hitBlock(player, i, event1.getLocation(), event1);
}else if (event instanceof BeamHitEntityEvent event1){
return (PowerResult) powerBeamHit.hitEntity(player, i, event1.getEntity(), event1.getDamage(), event1);
}else if (event instanceof BeamEndEvent event1){
return (PowerResult) powerBeamHit.beamEnd(player, i, event1.getLocation(), event1);
}else {
return PowerResult.fail();
}
}
}